数据采集系统设计研究论文
摘要:针对LabVIEW及MSP430F5529单片机构成的多路数据采集系统研究及设计,分为上位机和下位机两个主要模块来进行阐述。MSP430F5529作为前端数据采集系统进行数据采集,采集到的电压通过串口传到上位机LabVIEW界面。
关键词:MSP430F5529,单片机,数据采集,LabVIEW
LabVIEW程序设计方面相对来说比较简单,但是,Lab-VIEW的使用灵活性和功能完整性也很强大。MSP430F5529单片机多路电压数据采集系统的设计,从结构上来看比较简单,此类单片机工作电压区间比较低,耗能相对较低,内部集成了许多功能模块,功能完整性比较强大。结构简单的单片机系统与LabVIEW上位机的串行通信的功能结合,增加了系统灵活性。同时,又利用了MSP430F5529的超低耗功能,降低成本,使用简便。另外,虚拟仪器除了在物理形式上实现之外,也可以实现系统内的软件、硬件资源共享。将两者结合的多路电压数据采集系统无论是从运行效率还是编程方式,都展现了强大的优势。
1数据采集系统
1.1数据采集系统需求基于LabVIEW及单片机构成的多路电压数据采集系统研究和设计,其中MSP430F5529单片机、ADC转换器组成的下位机数据采集系统实现采集电压的功能;采集到的多路电压信号被发送至LabVIEW程序功能模块进行分析和处理,并显示数据处理的结果;研究电平的转换。下位机的TTL电平转换成上位机能够接收的RS232电平。首先系统进行初始化,然后单片机通过串口进行多路数据采集,打开ADC转换器,开始转换,读取转换结果。然后发送到上位机界面,显示得到的数据处理结果。1.2数据采集系统方案设计的采集系统以上位机数据显示界面和数据采集系统实物的.形式呈现,研究上位机与下位机的数据交互机制,实现数据的交互。方案:在上位机与下位机之间需要研究一个电平转换,采用MSP430系列单片机作为下位机采集模块,LabVIEW作为上位机处理模块;两个模块之间加入电平转换模块,采用的是CP2102转换芯片。此方案编程简单且方便,成本也相对较低,从整体来说也比较严谨。系统初始设计时,第一部分设计下位机单片机模块,启动A/D转换,得到的转换结果发送到单片机处理。并且加入了LCD显示模块;第二部分设计上位机LabVIEW程序处理模块,将采集到的结果上传到上位机显示。设计方案的流程图如图1所示。
2下位机采集系统设计此次设计采用
MSP430F5529Launchpad,MSP430F5529开发板内部集成A/D转换模块,多路电压采集系统下位机的重点在于A/D转换,所谓A/D转换即指模拟量等转换为数字量。MSP430F5529单片机可以自定义参考电压,此次设计的参考电压设计的是3.3V。所以本数据采集系统可采集的电压范围是0~3.3V。本设计是采集多路电压,转换的方法模式是采用转换速度较快的序列通道多次转换,提高转换速率。在程序设计里面是用ADC12CONSEQ_3来选择采样模式。同时,定义了ADC12SHP等于1,来定义信号的来源是采样定时器。ADCMEMx存储器用来存储转换结果。此类存储器是CSTARTADDx位定义的。参考电压和通道是需要经过定义才能工作的,一般是通过ADC12MCTLx寄存器。多路电压数据采集的下位机流程图如图2所示。首先执行端口初始化,第一步便是关闭看门狗,在MSP430单片机中,主程序首先要关闭看门狗,如果不关闭看门狗,程序执行一段时间后,可能会导致程序无法运行。因为看门狗有定期重置CPU的功能。然后端口定义,ADC转换和串口通信的工作模式的初始化,之后进入中断采集数据,在有信号输入的时候才会进入中断,如果没有外部电压信号的输入不会进行中段。采集电压信号后开始转换,转换完成之后数据被传送两个方向:一是传送到LCD显示,二是发送到上位机LabVIEW程序界面显示。在AD转换的过程中是进入中断进行数据测量的,此次多路数据采集系统的下位机设计的中断标志位采用ADC12IFG寄存器设置。MSP430单片机的中断可以说是非常大的一个亮点。想要有效提高程序运行的速率,在程序中加入中断便可实现。MSP430单片机的每个片上运行后,CPU便被唤醒,此时低功耗模式是不存在的,中断完成后,CPU脱离唤醒模式。此时的单片机回到低功耗状态。在下位机串口发送方面,U-CA0CTL控制寄存器来定义了时钟源,需要通过相应的时钟源来确定波特率,此控制寄存器的第0位是USCWRST,它具有软件复位的功能,在设计中需要使它置1,那么逻辑将会在复位状态一直保持。第6到7位的UCSSEL,用来选择时钟源,时钟源选择的是AMCLK,那么UCSSEL的状态是01,此时的波特率需要求出相应的分频细数来定义,AMCLK的频率是32768Hz。跟据定义,在低频时钟的情况下,分频参数是时钟频率与波特率的比重,此次设计的波特率是9600,因此可以得出的是分频参数是3.41,所以,UCA0BR0等于3。
3显示界面上位机设计
3.1上位机LabVIEW设计此次多路电压数据采集系统的上位机LabVIEW程序流程图如图3所示。上位机的部分,首先设计了单路的电压数据采集系统,其程序框图如图4所示。上位机LabVIEW的设计首先是配置串口参数,参数的配置与下位机端要保持一致,参数配置完成后要进入while循环中的VISAREAD,读取从下位机传来的数据。单路数据采集就是直接显示电压。加入while循环的目的是使程序可以一直运行,而且是直接只运行读取缓冲区数据部分,不用每次都配置串口参数,提高了程序运行速率。3.2TTI与RS232电平转换MSP430单片机输出的L电平与上位机接收的电平不是同一种,分别为TTL和RS232。所以上位机与下位机之间需要进行转换,15V~5V指的是RS232电平逻辑1时的状态,而逻辑0的话,是在+5V~+15V,而TTL电平逻辑0在0~0.8V之间,逻辑1在2.4V~5V之间,所以在TTL电平与RS232之间,需要进行正负逻辑的转换。在此次设计中选用的是主要由CP2102转换芯片构成的转换模块。同时里面也集成了MAX2485和MAX232通信芯片。CP2102是一种品质较好,工作比较稳定的且性能强大的转换芯片。整个转换模块体积小,便于移动。此次设计用MSP430F5529专门用于串口发送的P3.3口与RX引脚连接。如图5所示。CP2102的RX引脚专门用来接收TTL电平。CP2102的另一端与电脑相连,打开上位机LabVIEW程序,串口信息配置好之后,便可以显示采集的电压数据。
4多路电压数据采集系统测试
为了便于系统能够成功采集数据,采集的电压采取就近原则,直接采集单片机管脚电压,此次测试三次电压分别为:3.3V电源管脚电压、普通管脚电压(1.78V)以及GND管脚电压(0V)。由于误差作用,系统不能准确测到3.3V,以及3.3V会对旁边线路产生影响,所以第二路电压信号会从1.78V拉高到2.76V,第三路接地,所以是0.00V。除去显示结果以外,增加了波形显示,使采集到的电压变化变得一目了然。此外加入了串口工作灯指示,在串口正常工作的情况下,串口灯是绿色,在串口工作异常的情况下,串口灯是红色。改变某一路电压后,把第三路采集电压的管脚从接地端拔了下来,悬空时的电压是1.78V,同样会被3.3V的电压拉高,电压的变化直接在上位机界面呈现出来,直观明了,如图7所示。波形显示的坐标是可以自动变换的,根据数据的大小智能变换,改变采集管脚的电压后,如图8所示。
5结束语
基于MSP430F5529和LabVIEW进行多路电压数据采集系统,实际应用的结果,下位机与上位机的通信功能正常,操作也非常简单方便,完成了设计之初的要求,可以实现的功能有:①采集三路0V~3.3V的电压;②采集到的电压在LCD屏显示;③采集到的电压上传至LabVIEW上位机数据采集编写模块显示;④上位机LabVIEW界面显示电压数据及电压波形。研究并实现了MSP430F5529单片机的数据采集及处理、ADC转换、TTL电平转RS232电平、上位机与下位机之间的串口通信。同时,此次设计也存在些许不足:①只能采集三路数据;②不能调取历史采集数据。
参考文献
[1]陈美玉.基于单片机及LabVIEW的多路数据采集系统设计[J].企业技术开发,2017,36(1):69-71
[2]王克胜.系统软件设计及控制分析[J].科技与企业,2013(4):81-81
[3]段新燕.单片机液晶显示系统的设计[J].电子科技,2012,25(8):13
[4]周丽,裴东兴.基于MSP430单片机的超低功耗温度采集系统设计[J].电子测试,2011(10):35-38
【数据采集系统设计研究论文】相关文章:
本文来源:https://www.010zaixian.com/shiyongwen/2450853.htm