基于msp430g2211实现的风速测试仪_第1页
基于msp430g2211实现的风速测试仪_第2页
基于msp430g2211实现的风速测试仪_第3页
基于msp430g2211实现的风速测试仪_第4页
基于msp430g2211实现的风速测试仪_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MSP430G2系列LAUNCHPAD开发板应用实例作品基于MSP430G2211实现的风速测试仪林凯美国德州仪器半导体技术上海(有限)公司西安电子科技大学MSP430单片机联合实验室2011年12月目录第一章概述111基本情况介绍112总体设计方案介绍1121硬件设计方案介绍1122软件设计方案2第二章硬件系统的设计321MSP430G2系列LAUNCHPAD开发板组成及硬件资源情况介绍322传感器选型和性能指标参数介绍523单元电路的介绍824系统组成原理图和器件清单15241系统组成框图15242系统组成原理图15243元器件清单1725PCB板的设计要求及注意事项说明18251原理图的绘图18252PCB的绘制1826硬件的安装、调试和测试25第三章软件系统的设计3431监控程序总体流程框图的介绍3432各功能子程序在CCS环境下的设计与调试35321工程的创建35322源文件、头文件的创建和源代码的编写3833程序的调试50第四章总结与思考60第一章概述11基本情况介绍本风速测试仪采用TI公司推出的LAUNCHPAD开发板上的MSP430G2211单片机作为主控芯片,利用光电传感器对CPU风扇的转动(风扇的转速可以通过调节电位器改变)进行信号采集,对输出的脉冲信号进行滤波和整形处理后形成脉冲送入单片机。但单片机的I/O对送入信号的上升沿进行实时捕获计数,并在设定的定时中断内由该计数值计算出当前风扇的转速,最后将转速值送由液晶显示。12总体设计方案介绍121硬件设计方案介绍风速测试仪的原理调节电位器使CPU风扇(实际上就是一个直流无刷电机)以一定的转速转动起来,由于电动机转子上设置了一个遮光板,这样电机每转过一圈,遮光板就会将发光二极管照射到光敏管上的光线阻断一次,光敏管的集电极上电压改变一次,这样便可得到反映电机转速的脉冲信号(含高频干扰窄脉冲)。对此脉冲信号进行滤波和整形后形成已滤除高频窄脉冲的脉冲信号输入单片机,此信号的上升沿产生使单片机产生I/O口中断并进行计数。因为设置了单片机定时器的1S定时中断,就可以中断程序内由计数值计算出当前的风扇转速,最终再将转速送予液晶模块显示。此过程中,调节电位器,电机将以不同的转速运转,液晶显示的转速值也将发生相应的变化。另外需要专门的电源模块为系统中各个模块供电,具体各模块框图如图11所示。G2211单片机CPU风扇(直流电机)光电传感器液晶显示电位器电源滤波电路整形电路图11风速测试仪硬件组成框图122软件设计方案如图12,首先初始化单片机的内部和外部资源和设备,这些设备包括看门狗、时钟、I/O、定时器和液晶模块,然后开启I/O上升沿中断和定时器的1S中断,之后程序进入等待中断状态。当I/O口捕捉到光电传感器输出的已经过滤波和整形后的脉冲信号的上升沿就进入IO中断,在中断内进行脉冲周期计数。当1S定时中断到达时由I/O中断得到的计数值计算风扇当前的转速、将计数值清0并调用液晶显示程序。、I/O、I/O、1S、I/O、1、0、图12风速测试仪程序框图第二章硬件系统的设计21MSP430G2系列LAUNCHPAD开发板组成及硬件资源情况介绍首先,LAUNCHPAD是一个完整的开发板。开发板上包括仿真器和目标芯片,通过仿真器我们可以在线控制CPU的运行以及查看硬件寄存器;目标芯片就是我们编写的代码要下载到的芯片。在图21所示的开发板照片中,照片中得黄色方框出来的是仿真器,蓝色方框出来的是目标板,也就是我们编写的代码最终要运行的地方。LAUNCHPAD开发板的内容包括如下(1)LAUCHPAD开发板(2)MINUSB电缆(3)两块MSP430G系列芯片MSP430G2231低功耗16位单片机,片上拥有10位8通道的ADC、2K容量的FLASH和128BYTES的RAMMSP430G2211低功耗16位单片机,包括一个片上比较器以及2K容量的FLASH和128BYTES的RAM(4)2排10针的排针和2排10针的插座(5)1只32768KHZ的晶体图21LAUNCHPAD开发板大家拿到开发板的时候可以看到在仿真器中最大的那块芯片也是一款1XX系列MSP430单片机,但我们的代码并不是在这块单片机上运行的,这块单片机其实是充当了仿真器的功能,代码真正还是在目标板上运行。在初学阶段不需要在仿真器上花时间,仅仅把它当做工具使用即可。通过图片可以看到,仿真器和目标板是通过跳线连接的,其实这暗示着LAUNCHPAD上的仿真器不止可以下载GXXX系列的芯片,它还可以调试下载EZ430RF2500T开发板、EZ4302012/F2013T开发板以及EZ430CHRONOS手表。他还有一个重要的功能就是提供了目标板串口到PC的链接,串口速率为9600。仿真器使用的是MINUSB接口,USB电缆在开发套件中包含。可以利用IARFORMSP430集成开发环境或者TI自己推出的CCSCODECOMPOSERSTUDIO对应用进行仿真、调试以及下载。仿真器对全速硬件断点以及单步执行是完全支持的。目标板介绍目标板上有一个20针的DIP插座可以用于更换MSP430单片机,芯片所有管脚全部通过开发板两侧的排阵引出,可以比较方便地进行拓展实验,比如焊上排阵插座后就可以使用触摸板(LAUNCHPAD套件本身不包含)。板上有2个LED和一个通用按键,还有一个按键旁边标有RESET是复位按键。板上有很多的跳线J1和J2是将IO引出的,J3是用于和EZ430开发板连接的跳线。J4是仿真器和目标板间连接跳线其功能如表21所示表21仿真器和目标板间连接的跳线跳线端子信号描述1TEST编程和测试期间JTAG引脚/SPYBIWIRE测试时钟输入的测试模式2RST复位/SPYBIWIRE测试数据输入/编程和测试期间输出3RXD通用异步收发器接收数据输入4TXD通用数据收发器发送数据输出5VCC目标板电源(功耗测试跳线端)J5选择MSP430的IO接口P10和P16与LED连接,J6可用于外部供电。具体的连接可以参考附录中的电路图(MSPEXP430G2LAUNCHPADEXPERIMENTERBOARDUSERSGUIDE的电路图部分)。22传感器选型和性能指标参数介绍查阅文献资料发现,现在市场上关于电机产品的测速最常用的有两种方案,一种是光电传感器,还有一种是霍尔传感器。本风速测试仪的设计采用单光束反射式光电传感器(ST188)1特点(1)采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。(2)检测距离可调整范围大,412MM可用。(3)采用非接触检测方式。(4)与方向判别电路ST288A相结合使用可判别被测物的运动方向及正反转速测量、行程测量等。2外形尺寸(单位MM)图22ST188外形尺寸和内部电路图3极限参数(TA25)表22ST188极限参数项目符号数值单位正向电流IF50MA反向电压VR6V输入耗散功率P75MW集射电压VCEO25V射集电压VECO6V输出集电极电压PC50MW工作温度TOPR2065储存温度TSTG30754光电特性表23ST188光电特性项目符号测试条件最小典型最大单位正向压降VFIF20MA_12515MA输入反向电流IRVR3V10UA集电极暗电流ICEOVCE20V1UAL3030MAL4040MA集电极亮电流ILVCE5VIF8MAL5050MA输出饱和压降VCEIF8MAIC015MA04VTR5US传输特性响应时间TFIF20MA,VCE5VRC1005S注集电极电流IL、饱和压降VCE、响应时间是在红外光电传感器前端面与亮检测面距离7MM处测得,其数值受亮检测面的表面光洁度及平整度影响。图23正向电流与正向压降关系说明图23为传感器典型曲线,仅供参考,具体的传感器与该曲线有一定差异。5应用电路GNDP1U3FT8、5VR02KC图24ST188测速应用电路图注由于刚开始并不知道所购的CPU风扇带有测速信号输出端,故设计了基于FT188的风扇测速电路,这是完全可行的但考虑到传感器的固定比较难的问题,最终决定采用风扇内部输出的测速信号,而放弃了此电路的使用。23单元电路的介绍1电机供电模块IN31OUT2ADJLM7RGVOUTINC0FPWS5E、图25电机供电电源如图25,J1为开关电源的插头,接上开关电源后将S1的可动端拨到2,这时开关电源指示灯亮,当将S1的可动端拨到3,开关电源停止对系统供电。R1为分压、限流作用,使LED上的导通电压、电流分别为18V和20MA。C2是用来滤除电源的高频尖峰,C1是用来滤除LM317输出端上的纹波电压。调节电位器R2,可使得LM317的输出电压在12102V之间变化,使电机的转速随着电位器的旋转而发生变化。2测速信号的处理模块6K4REQ_Q8GAL9CSDY图26电机速度信号处理上图FREQ接CPU风扇的转速脉冲的输出脚,由于该脚是一个开漏输出脚,所以用R5将其上拉至电源电压,然后经过简单的一阶RC低通滤波(截止频率为),输出类似三角波(曲边三角形)HZRCF24159012163的信号,经过三极管的整形后就成为已滤除高频窄脉冲干扰的脉冲信号。3核心板和扩展板供电电源模块INOUTGDLM7UFV_、图2733V电源产生模块本来可以使用LAUNCHPAD上下载程序时所用的USB电缆给板子供电,但这样板子得始终跟电脑相连,断开后就无法运行了,为了使用方便,故设计了由开关电源输出电压(12V)转33V供电模块,使板子在接通开关电源的情况下就可自行供电了。如图27,LM1117输入端接10UF的电容旁路到地,可以将12V开关电源输出电压中得高频“尖峰”滤除;在LM1117的输出端又用一大小为10UF的电容旁路到地这是为了滤除输出电压中的纹波。E图28电源滤波器图29电源指示灯将核心板上的电源引到扩展板上时需要用一个电源滤波电容,滤除干扰,使扩展板获得一个干净的供电电源。当然有一个电源指示灯的话,就能清楚的看到当前电源的供电是否正常。4核心板与扩展板连接模块1234567890PLEFTRIGHSIDCKNALV_ETGN、图210核心板与扩展板的连接扩展板需要与核心板进行信号和供电电源的传输,这里通过排针及其插槽将核心板的各引脚引入到扩展板上。512864液晶显示模块图211液晶显示模块接线端图212液晶模块V0和VEE引脚与电位器接法为了减少对IO的开销,这里选用了可以进行串行数据传输的型号为12864M1的点阵液晶模块,以下是关于该液晶模块的说明(1)实物图图21312864M1实物图(2)模块特性(A)可由动态方式驱动12864点阵显示。(B)低功耗,供电电压范围宽。(C)提供8位、4位及串行接口可选(D)6416位字符显示RAM(DDRAM最多16字符4行,LCD显示范围162行)(E)2M位中文字型ROM(CGROM),总共提供8192个中文字型(1616点阵)(F)16K位半宽字型ROM(HCGROM),总共提供126个西文字符(168点阵)(G)6416位字符产生RAM(CGRAM)(H)1516位总共240点得ICONRAM(ICONRAM)(I)自动复位(RESET)功能(J)绘图及文字画面混合显示功能(K)提供包括画面清除、游标归位、显示开/关、游标显示/隐藏、字符闪烁、游标移位、显示移位、垂直画面旋转、反白显示和睡眠模式等多功能指令。(3)引脚特性表24液晶模块各引脚说明管脚名称符号电平功能描述1VSS0V接地(GND)2VDD33V电源电压3V0接电位器液晶显示驱动电压调整端并口模式寄存器选择H数据,L指令4RS/CSH/L串口片选指令H有效,L失效并口模式H读L写5R/W/SIDH/L串口数据线并口读/写起始脚6E/SCLKH/L串口连续时钟输入710DB0DB3H/L数据低4位,4位并口及串口是悬空1114DB4DB7H/L数据高4位,串口时悬空,DB7可作BUSY标志15PSBH/LH8/4位数据接口模式L串行接口模式由硬件设置时,此脚悬空16NC悬空17RSTH/L复位信号,选择硬件复位时,此脚悬空18VEE接电位器液晶显示器驱动电压19BLA33V背光正20BLK0V背光负注本次设计中由于采用串口传送的方式可大大节省IO口的开销,只需将电源端和背光正引脚接正电源,接地引脚和背光负引脚接地,V0和VEE分别接1K电位器的可动端和一固定端,电位器的另一固定端接地。由于串口液晶采用的接口方式,CI2所以只需两个IO口作为串口数据和连续时钟输出端口即可。(4)原理图图214液晶模块原理图(5)最大工作范围A逻辑工作电压(VDD)5V10B电源地(GND)0VCLCD驱动电压(VOP)69VD输入电压0VDD(6)电气特性(测试条件TA25,VDD5010)(A)输入高电平(VIH)07VDDVDD(B)输入低电平(VIL)06VMAX(C)输出高电平(VOH)08VDDVDD(D)输出低电平(VOL)04VMAX(E)模块工作电流2230MA(不含背光)(F)底黄绿光工作电流250MAG侧白光工作电流30MA7串口时序图图215串行发送时序图图215中接线端子从1到9分别对应液晶模块上的VSS接地、VDD(接正电源)、V0(接图212中电位器引脚2,引脚3接地,如图所示)、CS(直接接高)、SID(串行数据传送口,接单片机IO)、SCLK(时钟信号输入,接单片机IO)、VEE(接电位器引脚1,引脚3接地,如图212所示)、BLA(接正电源)和BLK(接地)这些引脚。6CPU风扇模块45PFNVOUTGNDRQI图216CPU风扇在扩展板上的接线端该CPU的风扇都是3针连接线缆各条电缆的说明如下(1)FREQCPU风扇转速脉冲信号输出I/O,风扇每转一圈,会输出一个脉冲信号。另外它是一个开漏输出脚,需要一个电源上拉才能产生脉冲信号,否则是没有信号输出的,该端口与图26中的输入端相连接。(2)VOUT正电源,接图25中稳压器LM317的输出。(3)POWER接地。(4)VIN代替开关电源的12V外部电源的输入端。(5)GND代替开关电源的外部电源的接地端。24系统组成原理图和器件清单241系统组成框图系统的硬件组成框图如下图所示,具体说明见第一章,这里不再赘述。G2211单片机CPU风扇(直流电机)光电传感器液晶显示电位器电源滤波电路整形电路图217系统组成框图242系统组成原理图该基于TI公司的LAUNCHPAD(MSP430G2211为核心)的实例扩展板的最终原理图如下IN31OUT2ADJLM7RGVOUTINC0FPW6K4REQ5_Q8SGAL9EFH、CSDY图218基于MSP430G2211实现的风速测试仪的原理图243元器件清单表25项目元件清单25PCB板的设计要求及注意事项说明251原理图的绘图画原理图前先将自己构思的电路模块借助于MULTISIM或PROTEUS等电路仿真软件进行仿真,通过现象观察电路设计的可行性。仿真通过后,再将设计电路在万用板上焊接出来或是在面包板上搭建出来,有些信号、信号的处理和检测在PCB未出来之时是无法直接得到和实现的,这时可以借助稳压源、信号发生器、示波器和万用表等进行模拟和测试,等全部实验通过之后再进行原理图的绘制。当然,对于比较复杂的电路来说,通常是边绘制原理图,边进行仿真和实验,在这个过程中不断更改电路形式和电路中的参数,待仿真、实验都通过之时,原理图的绘制也宣告完毕。画原理图的过程实际将自己设计的各电路模块在图纸上呈现出来并带上相应元件的封装和相应管脚的电气连接的过程。PROTEL99SE或ALTIUMDESIGNER中的有自带的原理图库和封装库,当使用库中自带的元件或封装时,请注意检查、测量封装与实际所购元件的封装是否一致。有些元件及其封装库中没有,那就要养成一个良好的习惯创建属于自己的原理图库和封装库,然后将每次项目中用的元件和封装分别添加到这两个库中,积累多了以后,再设计原理图时好多元件和封装就手到拈来,效率就越来越快了当然为了使原理图看起来条理清理,各模块应分开放置,在模块间需要连接的管脚上放上相同的网标即可;为便于交流理解,可在相应的模块上加注文本说明。原理图中如果使用的是层次设计,那就要注意各个文件最后要连接为一个整体。还有就是原理图画完后要进行编译、查错,及时消除消除错误(不然等板子做好后焊接才发现问题那就太晚了),然后选择更新PCB文件,这样原理图(包括元件封装和电气连接)就倒成PCB了。252PCB的绘制通常的制版过程是这样的1制作物理边框在KEEPOUT层上用线根据电路板将来所要安装的机壳的尺寸或其他具体要求画出封闭的物理边框,这个物理边框就是我们进行后续元件布局和连线的基本平台。如果电路板制成后是要往机壳上安装的话,这时一定要注意测量和绘制的精确性,否则以后出现安装问题麻烦可就大了。还有就是拐角地方最好用圆弧,一方面可以避免尖角划伤工人,同时又可以减轻应力作用。2元件的布局元件的布局与走线对产品的寿命、稳定性、电磁兼容都有很大的影响,是应该特别注意的地方。一般来说应该有以下一些原则(1)放置顺序先放置与结构有关的固定位置的元器件,如电源插座、指示灯、开关、连接件之类,这些器件放置好后用软件的LOCK功能将其锁定,使之以后不会被误移动。再放置线路上的特殊元件和大的元器件,如发热元件、变压器、IC等。最后放置小器件。顺序是这样的,但大体上还是按照原理图上的模块来布局的,同一个模块的元件就近摆放,这样就不会无所规章,造成布局上无从下手(2)注意散热元件布局还要特别注意散热问题。对于大功率电路,应该将那些发热元件如功率管、变压器等尽量靠边分散布局放置,便于热量散发,不要集中在一个地方,也不要高电容太近以免使电解液过早老化。3布线布线(LAYOUT)是PCB设计者最基本的工作技能之一,走线的好坏直接影响到整个系统性能的好坏,这一点在高速PCB的设计中尤为重要。首先,先讲讲导线宽度与间距的选择与确定根据印制电路板电流的大小,尽量加粗电源线宽度,减少环路电阻。印制导线的最小宽度主要由导线与绝缘基扳间的粘附强度和流过它们的电流值决定。如当铜箔厚度为0050MM,宽度为115MM时,通过2A的电流,温度不会高于3,导线宽度为15MM可满足要求(PCB板的线宽、覆铜厚度与通过的电流对应的关系如表26所示)。对于集成电路,尤其是数字电路,通常选00203MM导线宽度。当然,只要允许,还是尽可能用宽线尤其是电源线和地线。表26PCB板的线宽、覆铜厚度与通过的电流的对应关系宽度(MM)电流(A)宽度(MM)电流(A)宽度(MM)电流(A)0150201505015070205502070209030803110113041104135041705135051705206160619062308208240828123126132122712312361532153515422424325125452551256覆铜1OZ(0035MM)覆铜15OZ(0050MM)覆铜2OZ(007MM)导线的最小间距主要由最坏情况下的线间绝缘电阻和击穿电压决定。对于集成电路,尤其是数字电路,只要工艺允许,导线间距可小至58MM。线宽太小,则印刷导线电阻大,线上的电压降也就大,影响电路的性能;线宽太宽,则布线密度不高,板面积增加,除了增加成本外,也不利于小型化地线,电源线,信号线之间的关系地线电源线信号线,通常信号线宽为0203MM,最细宽度可达005007MM,电源线为1225MM。对数字电路的PCB可用宽的地导线组成一个回路,即构成一个地网来使用模拟电路的地不能这样使用用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。但是对大电流的话,如果电流负荷以计算,当覆铜箔厚度05MM时,一2/0MA般为这么多则1MM约40MIL线宽的电流负荷为1A,因此,线宽取1254MM40100MIL能满足一般的应用要求,大功率设备板上的地线和电源,根据功率大小,可适当增加线宽,而在小功率的数字电路上,为了提高布线密度,最小线宽取0254127MM1015MIL就能满足按上面所说的计算,可以算出20A的电流要20MM,这是由于当电流密度确定后,线路的截面积必须与通过的电流成正比。当流通的电流过大时,线路将发热而缩短寿命,严重时会影响周边元器件的的稳定性,或者被烧断。然后,再介绍几种主要的走线方式及需要注意的地方(1)直线走线直角走线一般是PCB布线中要求尽量避免的情况,也成为衡量布线好坏的标准之一。从原理上说,直角走线会使传输线的线宽发生变化,造成阻抗的不连续。其实不光是直角走线,钝角、锐角走线都可能造成阻抗变化的情况。WW1414W0707WW1082W2613图219不同走线角度的的拐角线宽变化直角走线对信号的影响就是主要体现在三个方面A拐角可以等效为传输线上的容性负载,减缓上升时间;B阻抗不连续会造成信号的反射;C直角尖端产生的EMI。(2)差分走线差分走线和普通单端信号走线线相比,具有三方面的优势A抗干扰能力强,因为两根差分走线之间的耦合很好,当外界存在噪声干扰时,几乎是同时被耦合到两条线上,而接收端关心的只是两信号的差值,所以外界的共模噪声可以被完全抵消。B能有效抑制EMI,同样的道理,由于两根信号的极性相反,他们对外辐射的电磁场可以相互抵消,耦合的越紧密,泄放到外界的电磁能量越少。C时序定位精确,由于差分信号的开关变化是位于两个信号的交点,而不像普通单端信号依靠高低两个阈值电压判断,因而受工艺,温度的影响小,能降低时序上的误差,同时也更适合于低幅度信号的电路。差分走线的一般要求A等长。这是为了保证两个差分信号时刻保持相反极性,减少共模分量;B等距。这主要是为了保证两者差分阻抗一致,减少反射;C“尽量靠近原则”。差分线之间的间距尽量小有时也是差分走线的要求之一。(3)蛇形线蛇形线是布线时经常使用的一类走线方式,它的作用有阻抗匹配、滤波电感和调节延时,满足系统时序设计的要求。但是,蛇形线会破坏信号的质量,改变传输延时,所以尽量避免使用。在实际设计中,为了保证信号有足够的保持时间,或者减小同组信号之间的时间偏移,往往不得不故意进行绕线。(A)(B)(C)图220几种蛇形走线结构LPS图221蛇形走线模型蛇形走线时要注意的最关键的两个参数就是平行耦合长度(LP)和耦合距离(S),信号在蛇形走线上传输时,相互平行的线段之间会发生耦合,呈差模形式,S越小,LP越大,则耦合程度也越大。可能会导致传输延时减小,以及由于串扰而大大降低信号的质量。尽量增加平行线间的距离(S),至少大于3H,H指信号走线到参考平面的距离。通俗的说就是绕大弯走线,只要蛇形走线的线距倍的线宽且S足够大,就几乎能完全避免相互的耦合效应。减小耦合长度LP,当两倍的LP延时接近或超过信号上升时间时,产生的串扰将达到饱和。最后,补充一些布线时其他的通行原则(1)所有平行信号线之间要尽量留有较大的间隔,以减少串扰。如果有两条相近的信号线,最好在两线之间走一条地线,这样可以起到屏蔽作用。(2)双面板布线时,两面的导线宜相互垂直、斜交、或弯曲走线,避免相互平行,以减小寄生耦合;作为电路的输入及输出用的印制导线应尽量避免相邻平行,以免发生回授,在这些导线之间最好加接地线。(3)PCB板上若装有大电流器件,如继电器、指示灯、喇叭等,它们的地线最好要分开单独走,以减少地线上的噪声,这些大电流器件的地线应连到插件板和背板上的一个独立的地总线上去,而且这些独立的地线还应该与整个系统的接地点相连接。(4)大电流信号、高电压信号与小信号之间应该注意隔离(隔离距离与要承受的耐压有关,通常情况下在2KV时板上要距离2MM,在此之上以比例算还要加大,例如若要承受3KV的耐压测试,则高低压线路之间的距离应在35MM以上,许多情况下为避免爬电(在两个导电部分之间沿绝缘材料表面的最短距离),还在印制线路板上的高低压之间开槽。(5)如果板子上有小信号放大器,则放大前的弱信号线要远离强信号线,而且走线要尽可能地短,如有可能还要用地线对其进行屏蔽。(6)尽量减少过孔、跳线的使用。(7)与焊盘相连的线尽量画粗,能放泪滴就放泪滴。4覆铜所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。敷铜的意义在于,减小地线阻抗,提高抗干扰能力;降低压降,提高电源效率;还有,与地线相连,减小环路面积。如果PCB的地较多,有SGND、AGND、GND等等,就要根据PCB板面位置的不同,分别以最主要的“地”作为基准参考来独立覆铜,数字地和模拟地应分开来敷铜。同时在覆铜之前,首先加粗相应的电源连线50V、33V等等。这样一来,就形成了多个不同形状的多变形结构。覆铜需要处理好几个问题(1)不同地的单点连接,做法是通过0欧电阻或者磁珠或者电感连接;(2)晶振附近的覆铜,电路中的晶振为一高频发射源,做法是在环绕晶振敷铜,然后将晶振的外壳另行接地。(3)孤岛(死区)问题,如果觉得很大,那就定义个地过孔添加进去也费不了多大的事。另外,对于大面积覆铜好还是网格覆铜好,不好一概而论。为什么呢大面积覆铜,如果过波峰焊时,板子就可能会翘起来,甚至会起泡。从这点来说,网格的散热性要好些。通常是高频电路对抗干扰要求高的多用网格,低频电路有大电流的电路等常用完整的铺铜。覆铜面只在你设置的前提下才会与覆铜网络相同的焊盘和过孔连接。是不会和网络不同的导线焊盘连接的,但覆铜是PCB制作的后期工作,覆铜之后再对PCB进行修改就要注意短路问题了。5其他覆玩铜后,还有一些扫尾的事可以做,比如将板子的KEEPOUTLAYER的尺寸ALTIUMDESIGNER带有的测距工具标示出来。另外,为了焊接的方便,还可以将电阻、电容等原件的参数标注在板子上做完这些工作,板子设计基本完毕下面是本次设计最终产生的PCB图图222风速测试仪PCB图26硬件的安装、调试和测试一、元件的焊接和调试(按模块进行)1电机(CPU风扇)供电电源模块将开关电源插座J1、电源导通/关断开关S1、电源指示灯D1及限流电阻R1、滤波电阻C2和C1、稳压器U1和电位器R2依次安装到板子上并安装好,将拨动开关S1打到2端,观察指示灯是否亮起,若未亮,请检查开关电源是否插上,电源插座是否已焊接好,直到D1亮起。用万用表测量稳压芯片LM317输入端与地之间的压差,看是否为12V左右;继续测量稳压芯片的输出端对地电压,看是否有电压输出,手动调节电位器R2,观察输出端的电压是否发生变化,如果一切正常,输出电压应该在12102V之间变化。IN31OUTADJLM7RGVOUTINC0FPWS5E、图223风扇供电电源模块233V电源模块将33V电源模块包括滤波电容C3、C5、C6和稳压芯片LM111733安装并焊接到板子上,测量1117的输入端电压是否为12V左右,输出端电压是否为33V左右,再将电源指示灯D2和限流分压电阻9、滤波电容C3依次安装焊接,看到电源指示灯亮,C3非接地端的电压测量值为33V左右,则说明该模块一切正常。IN1OUT3GD2LM7C50UF6V_、AER9BC图22433V供电电源模块3电机和外部电源接线端将电机接线端P3焊接到板子上,然后将将CPU风扇的三根引出线转速信号线、电源线和地线分别通过排针接到排针P3相应的针脚(1、2和3)上,看电机是否转动,若未转动,请手动调节电位器,观察电机是否转动,若已转动,继续看转速是否发生变化,若随着电位器的旋动,电机的转速也同步发生变化,则说明一切正常,可以进行下一步的焊接了。这里,4和5针脚是在没有开关电源供电的情况下由外部输入12V的供电电压。PANOTREQI图225电机接线端4电机测速信号的调理整形模块R61KC4UFGNDREQ520V3_7Q8PSIGNAL9、OCSDY图226电机测速信号的调理整形电路由于风扇转速脉冲输出是开漏输出,所以由电阻R5将其上拉自33V电源电压是必须的。R5还有后面的一阶低通滤波R6和C4,然后就是三极管共射极电路的基极偏置电阻R7、三极管Q1、集电极上拉电阻R4和输出假负载R8,这些元件都安装和焊接完毕后,用示波器观察三极管集电极对地输出的波形,若该波形已滤除高频窄脉冲干扰的脉冲信号,则证明电路工作正常;调节前面讲到的电位器R2,从零点到满点,观察输出的脉冲频率是否从0HZ变化到90HZ左右,若达到该要求,说明该模块安装完毕、工作正常,若达不到要求,请逐一检查该模块的其他元件是否焊接完好,比如,上拉电阻R5如果没焊好或未焊上都会导致无信号输出。5液晶模块LIE图227液晶模块截取9脚排针焊接到电路板P4的位置,将1K的电位器焊接到R10的位置,分别用排线P4的1到9引脚接到液晶的VSS、VDD、VO、CS、SID、SCLK、VEE、BLA和BLK引脚,检查液晶的背光是否已亮起,若未亮起,启用螺丝刀旋动电位器R10改变其接入电路的阻值,直至背光明亮为止。6核心板和扩展板的连接端子截取两排10脚的排针,分别焊接在P1和P2的位置,完成之后观看LAUCHPAD(核心板)上的电源指示灯是否已经亮起,若已亮起,再将万用表打到二极管档,测试核心板上的P10、P11、P12分别和液晶上的SID、SCLK和电机的测速信号输出管脚,是否一一短路现象,若已观察到此现象,则说明电路焊接正常,接下来的工作就只剩下软件的调试了。1234567890PLEFTRIGHSIDCKNALV_ETGN图228扩展板和核心板的连接端子二、硬件的安装、调试和测试1核心板和扩展板的连接ABC图229核心板和扩展板的连接如图229AB和C所示,核心板和扩展板的连接是通过排针和排针插槽连接的。2核心板的从USB接口和PC机的主USB接口图230核心板和PC机的连接如图所示核心板和PC机的连接是通过USB数据线进行的。3开关电源与扩展板上的电源插座相连图231开关电源与扩展板的连接4CPU风扇与扩展板上的对应接线端子的连接AB图232CPU风扇和扩展板上的接线端子的连接如图CPU风扇和扩展板的相应的接线端子通过导线进行连接。5液晶模块和扩展板上的对应接线端子图233液晶模块和扩展板的连接扩展板上的P4接线端子的管脚19分别对应液晶模块上的GND、VCC、V0、CS、SID、SCLK、VEE、BLA、BLK管脚,安装时只需用排线将它们一一相连即可。6风速测试仪完整的硬件组装结果图234风速测试仪最终的组装结果7通过手动调节电位器(电源接通后)调节风扇的转速图235风扇转速的调节8测试将CPU风扇与核心板连接后,将示波器的探针一端接地(扩展板上任意一处地比如P3的管脚5),另一端负责接对测速信号进行整形的三极管的集电极(如图236(A)所示),在示波器上可以看到脉冲信号的图形。旋转电位器,改变风扇的转速,可以看到示波器显示的脉冲波形的频率也发生了变化(风速越大,电机转速越快,输出的脉冲波形的频率越高),如图236A和B所示分别为电机较低和较高转速下示波器上看到的波形,观察显示屏底部的频率项可以看到脉冲的频率(注意此频率并不是真正的电机转速,由于实际测试中发现,手动波动风扇每转过一周,示波器上输出两个周期的脉冲信号,所以此频率值的一半才是真正的电机转速)。ABC图236风速测试仪的测试第三章软件系统的设计31监控程序总体流程框图的介绍先对设备包括看门狗、时钟、IO口、定时器和液晶进行初始化,然后开启中断(P11上升沿中断和1S中断)接着就是等待中断的到来。当P11捕获到电机输出的转速信号的上升沿时,就将事先定义的一用于计数的变量加1,然后中断返回,待下次捕获到转速脉冲的上升沿再次进入中断。当1S定时中断到来的时候,就由上述的IO口的计数值计算电机在1MIN内转动的圈数,及RPM(REVOLUTIONPERMINUTE,每秒转动圈数),并将上述IO口中断中计数值清0,下次再次进入IO口中断时就从0重新开始计数,最后将计算得出的每分钟转速值送由液晶显示,然后中断返回,待下次1S中断到来时再次进入中断。、I/O、I/O、1S、I/O、1、0、图31风速测试仪流程图32各功能子程序在CCS环境下的设计与调试321工程的创建首先在D、E或F盘下新建一个名为WINDSPEEDTESTER的文件夹,再在此文件夹下建立一个名为CCS的文件夹,这里以在F盘下建立此文件夹作为例子来说明。双击CODECOMPOSERSTUDIOVXCOREEDITION图标,出现WORKSPACELAUNCHER窗口,提示你选择一个工作空间文件夹的路径,在该路径下用于存放新建的工程文件,如图32,新建工作空间文件夹的路径选择为FWINDSPEEDTESTERCODECCS,点击OK,然后进入到CCS编程环境界面,如图33。图32选择工作空间文件夹路径图33CCS编程环境界面在编程环境界面下,在菜单栏中依次选择FILENEWCCSPROJECT,新建一个工程(CREATANEWCCSPROJECT),将此工程命名为WINDSPEEDTESTER,如图34,点击NEXT进入一个提示选择工程类型SELECTATYPEOFPROJECT的窗口中如图35图34工程命名窗口图35选择工程类型窗口在上面的窗口中选择默认的MSP430这一类型。点击NEXT进入到提示为附加工程设置(ADDITIONALPROJECTSETTINGS)的窗口,如图36,保持默认设置,点击NEXT进入提示为工程设置(PROJECTSETTING)的窗口,如图37图36附加工程设置窗口图37工程设置窗口在上面的窗口中PROJECTSETTING的DEVICEVARIANT下的下拉框中选择MSP430GXXXFAMILY,在其右边的下拉框中选择MSP430G2211,其他的选项保持默认的设置,点击NEXT进入提示为工程模板(PROJECTTEMPLATES)的窗口,如图38图38工程模板窗口保持默认设置,点击FINISH这样一个新的工程就创建成功了322源文件、头文件的创建和源代码的编写右击C/CPROJECTS视窗中的工程文件名WINDSPEEDTESTERACTIVEDEBUG,在下拉菜单的NEW后选择SOURCEFILE,弹出的提示为创建一个新的源文件(CREATANEWSOURCEFILE)的窗口,如图39所示,在SOURCEFILE一栏中输入MAINC,点击FINISH,MAINC源文件创建成功,如图310同样的方法创建名为LCD_12864C的源文件。同样在下拉菜单的NEW后选择HEADFILE,弹出的提示为创建一个新的头文件(CREATANEWHEADERFILE)的窗口,如图311所示,在HEADERFILE一栏中输入LCD_12864H,点击FINISH,这样LCD_12864H的头文件就创建成功了图39新建一个新的源文件图310MAINC源文件的创建图311新建一个新的头文件源文件和头文件都创建成功后下面就开始往这些文件中输入应用代码了,写完一个子程序就可以点击工具栏的“编译活动的工程(BUILDACTIVEPROJECT)”图标进行编译了,该图标只是增量编译和单一已经修改的源文件的链接,要进行完全编译和所有的文件编译需要点击“重新编译活动工程(REBUILDACTIVEPROJECT)”图标。图312编译和调试(1)MAINC的编写在编写MAIN函数时,首先应在文件的开头加上两个头文件INCLUDE和INCLUDE“LCD_12864H“,前者的作用是将本MSP430G2211单片机的标准的寄存器和为定义包含到MAIN函数中,后者的作用是将LCD_12864C源文件中定义的一些变量和函数通过外部变量的形式包含到MAINC函数中,有了这两个头文件G2211单片机的寄存器和位还有LCD_12864C定义的函数和部分变量就可以在MAIN函数中使用了。同样在LCD_12864C中也应包含头文件INCLUDE,这样就可以对IO口的使用进行适当的宏定义了。在MAINC文件中在头文件的后面和MAIN()函数的前面,先定义两个全局变量NUM和SPEED,其中NUM为无符号字符型是对光电传感器输出的测速信号的上升沿进行捕获后的计数值,初值赋为0,SPEED为无符号整型是在定时中断中由NUM计算电机的分钟转速值。然后在MAIN函数中开始设备的初始化,以下是各种初始化函数WATCHDOG_CONFIG/“看门狗“配置CLOCKS_CONFIG/时钟配置GPIO_CONFIG/GPIO配置,P10液晶串行数据输出,P11液晶时钟输出/P12上升沿中断使能TIMERA0_CONFIG/“TIMERA0“配置,产生1S定时中断INIT_LCD/LCD配置接下来就是这些初始化函数的编写,这些函数及其中每条语句的作用见注释VOIDFAULTROUTINEVOID/时钟故障,进入此“陷阱“WHILE1/陷阱VOIDWATCHDOG_CONFIGVOID/“看门狗“配置WDTCTLWDTPWWDTHOLDVOIDCLOCKS_CONFIGVOID/时钟配置IFCALBC1_1MHZ0XFF|CALDCO_1MHZ0XFFFAULTROUTINE/如果校准数据被擦除,则运行FAULTROUTINEBCSCTL1CALBC1_1MHZ/设定范围/BCSCTL1/LFXT1模式选择低频模式(LOWFREQUENCYMODE)DCOCTLCALDCO_1MHZ/设定DCO步长调制BCSCTL3|LFXT1S_2/LFXT1VLO12KHZIFG1/清除OSC故障标志(OSCFAULTFLAG)BCSCTL2|SELM_0DIVM_3DIVS_3/DCO12MHZ,MCLKDCO/8,SMCLK/DCO/8VOIDGPIO_CONFIGVOID/I/O口配置P1DIR|BIT0BIT1/P10SID和P11SCLK输出P1DIR/P12输入风扇输出脉冲P1IES/上升沿中断P1IE|BIT2/中断使能VOIDTIMERA0_CONFIGVOID/05HZ52501HZ10500CCR0105001/每秒产生1次中断TACTL|TASSEL_1MC_1/时钟源ACLK,计数模式增计数CCTL0|CCIE/模块0中断使能接下来就要开启总中断了,_EINT/开总中断总中断开启后然后就是等待中断了,这里用WHILE1创建一个死循环,当有中断(前述的IO口上升沿中断或1S定时中断)到来时,死循环就被打断,然后跳到中断服务程序中执行相应的代码,执行完后返回到死循环中,等待下一次中断的到来。这样MAIN()函数编写就完成了,其完整的形式如下VOIDMAINWATCHDOG_CONFIG/“看门狗“配置CLOCKS_CONFIG/时钟配置GPIO_CONFIG/GPIO配置,P10液晶串行数据输出,P11液晶时钟输出/P12上升沿中断使能TIMERA0_CONFIG/“TIMERA0“配置,产生1S定时中断INIT_LCD/LCD配置_EINT/开总中断WHILE1下面是关于光电传感器输出的测速信号上升沿捕获中断和1S定时中断,程序和每条语句的作用见注释PRAGMAVECTORTIMERA0_VECTOR/定时中断向量声明_INTERRUPTVOIDTIMER_A0VOID/TIMERA01S定时中断服务程序SPEEDNUM30/计算风扇每分钟转速RPM,转速1S内上升沿个数/60(1分钟60秒)/2(风扇转一圈输出2周期脉冲)NUM0/脉冲上升沿计数清0LCD_DISPLAYSPEED/风扇转速送液晶显示/TACTL|TACLRPRAGMAVECTORPORT1_VECTOR/P1口中断源_INTERRUPTVOIDP1_ISRVOID/声明一个中断服务程序,名为P1_ISRIFP1IFG/中断处理程序来一个上升沿,计数值加1P1IFG0/清除P1所有中断标志位(2)LCD_12864C的编写首先将包含G2211单片机寄存器和位定义的头文件包括进来,以便后面进行IO输出宏定义。INCLUDE然后就是关于变量类型的定义,用TYPEDEF语句来声明一个新的类型来替代原有的类型,这里将UNSIGNEDCHAR定义成UCHAR,将UNSIGNEDINT定义成UINT,这样后面在定义变量时,其类型名也就简短多了TYPEDEFUNSIGNEDCHARUCHARTYPEDEFUNSIGNEDINTUINT以下是三条语句关于液晶模块屏幕中上、下半屏的字列起始地址以及液晶点阵的行起始地址的宏定义DEFINEX10X80/X1液晶屏上半屏的字列起始地址DEFINEX20X88/X2液晶屏下半屏的字列起始地址DEFINEY0X80/Y液晶屏点阵的行起始地址以下两条语句是关于命令和数据标志的宏定义DEFINECOMM0/COMM代表命令DEFINEDAT1/DAT代表数据以下四条语句是关于G2系列单片机与液晶模块相连的数据输出和时钟输出高低平和低电平的宏定义DEFINELCD_SID_SETP1OUT|BIT0DEFINELCD_SID_RESETP1OUTVOIDDELAYUINTUS下面是关于定义液晶屏将要显示的字符数组,将其类型定义为无符号字符常量(CONSTUCHAR)CONSTUCHARDISPLAY“当前转速是“/显示的物理量“0123456789“/显示的数值“RPM“/显示的物理量的单位/本项目液晶显示内容再下面是关于液晶初始化的程序,注意清屏指令后的延时必不可少,而且延时的时长不应短于16MS/初始化/VOIDINIT_LCDVOID/LCD_RST_SETWR_LCDCOMM,0X30/30基本指令动作WR_LCDCOMM,0X01/清屏,地址指针指向00HDELAY100/执行时间16MSWR_LCDCOMM,0X06/光标的移动方向显示向右移动,游标跟着移动WR_LCDCOMM,0X0C/开显示,关游标以下是关于向液晶写入指令或写入数据的子程序/VOIDWR_LCDUCHARDAT_COMM,UCHARCONTENTUCHARA,I,JDELAY50ACONTENT/要写入的内容LCD_SCLK_RESETLCD_SID_SET/数据操作FORI0IBREAKPOINT或选择TOOGGLEBREAKPOINT,这样鼠标右击处所在行断点设置就成功了,图314在IO口中断中设置断点图315程序执行到断点处由于是在DEBUG视窗下设置的断点,直接运行(点击RUN图标)程序,稍等片刻便会看到设置断点的行呈高亮状态,如图315,这说明程序执行过程中有IO口中断产生,即IO口中断服务程序有被执行。取消断点的方法和设置断点的方法一样,在行标6872的中任意一个数字上右击鼠标,选择选择TOOGGLEBREAKPOINT,刚刚设置的断点就消失了图316第68行断点取消后同样地,我们也可以在已经写好的1S定时中断内设置一个断点,观察

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论