引言
msp430系列单片机是由美国ti公司生产的新一代16位单片机,它具有处理能力强,运行速度快、资源丰富、开发方便等优点,具有很高的性价比,最近几年在国内得到了很广泛的应用。通用串行总线(usb)是现代数据传输的发展趋势,它具有高速、可热插拔、易扩展、接口通用、无需外接电源等优点在数据传输方面得到和广泛的应用。数据采集在工业测试系统中是一个很重要的环节,其精确性和可靠性是至关重要的,msp430和usb为此提供了理想的解决方案。本文以沥青桥面防水层检测仪为背景,阐述了基于msp430和usb的数据采集系统。
系统硬件设计
本系统采用ti公司的msp430f149和philips公司的usb接口芯片pdiusbd12。pdiusbd12符合通用串行总线usb1.1规范,是一款高性能的usb接口器件,它集成了sie、fifo存储器、收发器和电压变换器。sie完成usb协议层,并完成高速硬件连接,无需软件干预。此模块功能包括:同步模式识别、并串转换、位填充、解填充、crc校验/产生、地址识别和握手相应/产生等。msp430f149芯片片内包括一个12位的a/d转换器adc12、采样保持器和模拟多路器,adc12与一般的adc相比较,具有高速、通用的特点,适合于精密的数据采集和转换,能够对8个外部模拟通道和4个内部电压通道(包括内部温度传感器反馈的电压信号通道)进行a/d转换。adc12还提供了高性能的采样/保持电路,为用户提供了更多的采样触发方式和转换时钟周期的选择。adc12提供了4种转换模式:单通道单次转换,系列通道单次转换,单通道多次转换,多通道多次转换。数据采集流功能框图如图1所示。
本系统中msp430f149和pdiusbd12的硬件接口电路图如图2所示。pdiusbd12的8位并行数据接入msp430的p5口,传输数据或者命令。msp430的p17引脚接pdiusbd12的a0,作为pdiusbd12的命令或数据选择线。当a0=0,msp430向 pdiusbd12发送数据,当a0=1时,向pdiusbd12发送命令。它们之间的数据交换采取中断查询方式,通过查询p14(p14接 pdiusbd12的int_n引脚)是否为低电平来确定是否接受到上位机的数据或命令,再结合d12_wr和d12_rd引脚实现msp430与 pdiusbd12的数据交换。pdiusbd12的gl_n接led来对其进行监控,当usb设备接入pc机时,led亮,当在进行数据传输时,led 将不断闪烁。
msp430的p6口为其adc12模块8个外部通道的输入端,由于传感器输出的信号比较微弱,同时在沥青桥面测试现场存在着很多车辆噪声和工频信号的干扰,传感器采集到的数据需要经过一定的放大和低通滤波,才能被送到msp430的adc12模块进行采集和转换,信号调理电路如图3所示。
图3
主放大器我们选用美国adi公司的精密仪表放大器ad620。
图3中运放u2部分组成了一个二阶压控低通有源滤波器。传感器信号通过调节放大之后被送到滤波器的输入端,通过滤波后将干扰部分消除。其传递函数为:。其中为特征角频率。
由于传感器测量的是拉、压力信号,即放大滤波后输出的电压信号为双极性信号,范围约为-10v~+10v,必须将它转换为单极性信号,即对信号进行直流偏置,在此采用简单的电阻分压方式,如图3所示。所需要的+2.5v电压基准可以由msp430f149提供。
软件设计
本系统的软件设计主要包括单片机程序、usb驱动程序、pc机应用程序。单片机部分的程序也称为固件,它包括usb设备的连接、usb协议和中断处理等。 pdiusbd12可以按照usb1.1协议对数据进行封装,然后与pc机进行数据交换。msp430根据接受到的命令通过pdiusbd12与pc机的应用程序进行交互。
msp430向pdiusbd12发送数据/命令部分程序如下:
void outportb(unsigned char port, unsigned char val)
{
p1out&=0xbf; /使pdiusbd12的wr引脚为低电平
p5dir=0xff; /p5口为输出模式
if(port)
p1out|=a0; /a0为高电平,传输命令
else
p1out&=~a0; /a0为低电平,传输数据
p5out=val; /向pdiusbd12写数据
p1out|=~0xbf; /恢复pdiusbd12的wr引脚为高电平
}
msp430从pdiusbd12读取数据的部分固件程序如下:
unsigned char inportb(void)
{
unsigned char data=0x00;
p1out&= 0xdf; /使pdiusbd12的rd引脚为低电平
p5dir=0x00; / p5口为输入模式
data=p5in; /从pdiusbd12读取数据
p1out|=~0xdf; /恢复pdiusbd12的rd引脚为高电平
return i;
}
msp430中adc12模块提供了4种转换模式,在此采取序列通道单次转换模式,以方便上位机实时控制。四个通道a/d转换只须启动一次,最后一个通道转换完成后设置中断标志位。对转换模式、转换采样时序以及转换通道的设置如下:
adc12ctl0=adc12on+sht0_2+msc; /打开adc12并设置采样时间
adc12ctl1=shp+conseq_1; /序列通道单次转换模式
adc12mctl0=inch_0; /选择通道0
adc12mctl1=inch_1; /选择通道1
adc12mctl2= inch_2; /选择通道2
adc12mctl3= inch_3+eos; /选择通道3和序列结束标志
adc12ctl0|=enc; /启动ad转换
整个数据采集的过程都是由pc机为中心,pc机通过向msp430发送命令来控制a/d转换的开始和结束。对于msp430收到的控制数据(命令),我们在此规定:
字节1:0xff----启动a/d转换,0xfe----停止a/d转换
如果msp430收到的数据第一个字节是0xff,先设置标志adflag=1,然后启动a/d转换并设置相应其他的参数,当四个通道的数据采集和转换均完成,最后通过usb接口向pc发送采集到的数据。当msp430收到的数据的第一个字节是0xfe,则设置adflag=0,不启动a/d转换。
pc机端的应用程序是vb.net环境下开发,它主要完成对采集到的数据进行解封装、显示,控制整个数据采集系统的进行、停止、并设置相应的一些参数,以及最后的数据分析处理工作。上位机程序框图如图4所示。
图4
结语
桥面防水层测试仪对桥面沥青和水泥之间的防水层的测试包括拉拔、撕裂、剪切等试验,本系统将三种试验的电气硬件部分通用化,通过上位机软件的设置对不同试验的数据进行相应的解封装、显示和处理分析。在沥青桥面测试现场中,由于天气、温度、湿度等一些不确定的因素,对测试结果造成了一定的影响,这就要求测试周期应尽量短,试验点应尽量多,高速、实时、便携式、多通道测试仪的优点在此得到了充分的体现。试验表明,该系统应用到拉拔仪、剪切仪试验中,用户界面友好,操作简便,测试的精度、速度以及系统的可靠性完全满足要求。
西门子直流调速工作原理简单介绍
PCBA线路板应该选择怎么样的三防漆?
反相Buck变换器的工作原理
机器人大军进驻德意志银行 预计到2022年将取代1.8万名工人
SCADA系统的作用和优点
基于MSP430和USB的数据采集系统
泰克波形监测仪及同步信号发生器在广州亚运会中的应用
LG官宣48寸曲面OLED显示器
根本没什么NOKIA 8 不过却意外有一部“双摄新机”
功率放大器的输入阻抗和输出阻抗的关系
FTC机器人科技挑战赛获Qualcomm重点关注 意图培养未来科技新星
芯片和集成电路的区别
传感财经:信息安全芯片概念报跌;传感器概念报涨;光学传感器概念报跌
流浪者缓解PyTorch DDP的层次SGD
高通发布骁龙865支持的8K录制视频,拥有每秒20亿像素处理速度
【产品更新】基于最新P4可编程芯片的下一代汇聚分流设备(用于5G)
DC-DC转换器热仿真电路
谷歌全新AI架构,单芯片每秒1000万亿次运算
一维X向运动压电平台P66A.X30的特性、应用及参数
IBM新技术大幅缩短语音识别系统训练时间