文献标识码: B
文章编号: 0258-7998(2011)02-0078-04
利用超声波对路桥等建筑进行结构检测时通常都需要在大空间范围内进行数据采集,传统的数据采集方式是将远端各个传感器的模拟信号通过电缆引入近端数据采集板卡,由具有多路A/D转换功能的数据采集板卡进行模数转换并送入上位机。长距离的传输模拟信号容易引入较大的噪声,降低系统的精度。随着嵌入式以太网技术的发展,可以将数据采集节点直接放在各个传感器附近进行数据采集,将转换完的数字信号通过TCP/IP协议传入中心控制节点。本文设计了一个基于TCP/IP协议的高精度多路数据采集系统,该系统以TMS320VC5X系列的DSP器件为主控芯片,可以进行大空间范围的高精度数据采集。另外,超声回波信号通常具有较大的动态范围,基于传统运放的放大技术不能对信号的动态范围进行限制,这使得A/D转换的精度降低。本文提出了一种基于预采样的自动增益电路,可以将输入信号调整到A/D转换器的最佳输入范围内,提高了A/D转换的精度。
1 系统总体设计和性能
1.1 系统的总体设计
本系统分为中心控制节点和若干数据采集节点。系统的拓扑结构为总线型结构,节点间以TCP/IP协议进行通信。系统开始工作后首先由中心节点以UDP广播报的形式向所有的数据采集节点发出开始采集命令,数据采集节点接到命令后同步开始数据采集,采集完一个包的数据后按照预定的格式以UDP报的形式将数据发送给中心控制节点。为解决总线型结构通信中常遇到的网络拥塞问题,本系统将每个数据采集节点所发送的第一个包设计为不同的长度,分支节点1在采集完n1个点后发送,分支节点2在采集完n2个点后发送,…分支节点N在采集完nN个节点后发送。以后的数据包都是等长的,这就分散了网络的负载,使得发生网络拥堵的几率大大降低[3]。中心控制节点负责将接收到的数据保存入SD卡中。系统的总体框图如图1所示。
1.2 系统性能指标
根据实际需要,本数据采集系统的技术指标如下:(1)数据采集节点数 1~48道可调;(2)每个通道最大采样率:大于100 KS/s;(3)采样精度:24位;(4)道间串扰抑制比:大于70 dB;(5)采集信号动态范围:120 dB; (6)每通道的最大传输速率:10 Mb/s;(7)仪器噪声:最大15 μV。
2 系统硬件设计
2.1数据采集节点硬件设计
数据采集节点采用TMS320VC5402A DSP芯片作为主控芯片,其最高处理能力可以达到160 MIPS,具有16 K×16 bit的片上RAM,片上配置了3个多通道缓冲串口(可配置为SPI模式),具有快速的中断响应能力,同时具有多种低功耗模式,这些特性满足了系统实时性和低功耗的要求,同时其价格相对低廉,有利于降低系统的成本。模数转换芯片采用24位高精度A/D转换芯片AD7767,AD7767采用SPI接口,最高采样频率可达128 kS/s,在最高工作频率下的功耗仅为15 mW。网络通信芯片采用RTL8019AS芯片,将RTL8019AS芯片的AUI接口与同轴电缆驱动芯片DP8392连接,可实现基于10Base2的细同轴电缆通信。数据采集节点的框图如图2所示。
2.2 自动增益模块设计
在很多场合下,例如超声检测,地质勘探都需要达到很高的采集精度,目前的24位A/D转换芯片实际上并不能真正的达到24位,同时输入的模拟信号往往具有很大的动态范围,不能处于A/D转换芯片的最佳转换范围,因此,本系统采用了基于预采样和可编程放大器的自动增益电路,以提高系统的转换精度。前端自动增益模块的框图如图3所示。
要采集的模拟信号首先经过放大倍数为1的高精度运放OPA227,以提高信号的输入阻抗,减小A/D转换器对信号的影响。然后将信号送入8位的高速A/D转换器TLC5510,进行预采样,将转换完的结果送入CPLD进行编码,小信号对应较大的放大阶码,大信号对应较小的放大阶码。用此放大阶码控制可编程增益放大器PGA103,达到自动增益的目的。同时DSP读取CPLD产生的放大阶码,和AD7767采得的数据一起保存,提高采集的精度。
2.3 中心控制节点的设计
中心控制节点主要实现控制各个数据采集节点、接收采集的数据并保存入SD卡的功能。中心控制节点的设计框图如图4所示。
由于中心控制节点要承担较为繁杂的控制任务,并且要保存较大的数据, 所以它的主控芯片采用TMS320VC5509 ADSP芯片。TMS320VC5509A可以在200 MHz的主频下稳定工作,具有128 KB的片上RAM,同时可以扩展4 M×16 bit的片外SDRAM,具有支持SD模式和DMA传输的SD卡控制器,有利于系统的集成,减小系统的体积。网络通信接口的设计与数据采集节点相同。
3 系统软件设计
3.1 中心控制节点软件设计
中心控制节点的软件设计主要包括两点,一是控制数据采集节点的开始与停止,二是接收并保存数据采集节点发送的数据。由于系统的通信采用的是基于面向无连接的UDP数据报协议,并且系统所挂的分支数据采集节点数是可选择的,所以为了确保数据的正确传输和确定系统所挂的分支节点数,在工作开始的阶段增加了一个握手的过程。首先数据采集节点在上电初始化后向中心节点发送建立连接请求,中心节点在接收到连接请求后保存该节点的IP地址,并检测是否有足够的内存资源,若内存够,则向相应节点发送连接成功数据报,若内存资源不够,则发送连接失败数据报。握手过程进行后中心控制节点发送开始采集广播报,随后各个数据采集节点开始数据采集。为了及时接收数据采集节点的数据,中心节点将接收子程序放入中断中,在非中断期间进行SD卡的写操作。中心控制节点的软件流程图如图5所示。为了保证系统的实时性,在对SD卡的操作中并未应用文件系统,而是将DSP中各个缓冲区的内容依次写入SD卡的相邻地址中,这样若系统所挂的数据采集节点为N个,则第i个节点的两帧数据中间相隔N-1个数据帧。在读取SD的上位机中编写相应的软件便可正确读取每一个数据采集节点的数据。
3.2 数据采集节点软件设计
3.2.1 数据格式的设计
每一个采样点的数据采用32位长整形来存储,包括24 bit的A/D采样转换结果,4 bit的放大阶码,其余位用0填充。UDP报除去数据链路层的包头,有效的负载为46~1 500 B,再除去UDP的首部8 B和IP的首部20 B,这样一个UDP帧的有效最大负载为1 472 B。因为在中心节点写入SD卡的过程中没有采用文件系统,所以需要在数据帧中添加必要的辅助信息,为此在每个包后附加一个8 bit的节点号信息和和一个24 bit的数据包号信息,这样除每个数据采集节点发送的第一帧为避免冲突而采用不同的帧长度外,每一个UDP帧发送45个采样点的数据,具体的数据格式如图6所示。
3.2.2 数据采集节点工作流程
数据采集节点的软件设计主要包括按照中心控制节点的命令进行采集以及将采集到的数据进行封装并发送到中心控制节点。首先在上电初始化后,和中心节点进行握手,握手成功后,等待开始采集命令,接到开始采集命令后开始采集,在A/D转换完成中断中进行转换数据和放大阶码的读取,在非中断期间发送数据到中心控制节点。由于A/D转换芯片输出两次转换数据的时间间隔较小,并不能保证在这段时间中数据被完全发送,新的转换数据可能会覆盖掉未发送的数据。因此采用“乒乓”操作技术,在分支节点的DSP中开辟两个发送缓冲区,当一个发送缓冲区满的时候将A/D转换数据写入另一个数据缓冲区,同时发送此缓冲区中的数据。这样,数据只要在两个缓冲区同时写满之前发送完成就不会造成数据的丢失。具体的流程图如图7所示。
4 实验结果及结论
为了验证本系统的性能,对已知的正弦波信号源进行采集,并和MPS-140801多路数据采集卡进行对比。MPS-140801采集卡在一块板卡上集成了八路数据采集通路,将远端传感器的模拟信号引到近端经过放大后进行采集。
实验时数据传输的距离为50 m。测试信号是峰值为2 V,频率为20 kHz的正弦波。
图8为本文设计的数据采集系统的采集结果,图9为MPS-140801数据采集卡的采集结果。
通过采集到的波形可以明显看出,经过长距离的传输后,MPS-140801数据采集卡采集的数据混入了较多的噪声。计算得出本文设计的数据采集系统信噪比比MPS-140801数据采集卡的信噪比提高了近20 dB,从而验证了本系统较传统的数据采集卡具有较高的精度。
本文设计的基于TCP/IP协议的数据采集系统实现了数据采集和传输的全程数字化,同时采用基于预采样的自动增益处理技术,大大提高了系统的精度,从而具有较高的实用价值。
参考文献
[1] 王霞,李淑民,裴培,等. 基于ADS8364的数据采集系统设计[J]. 电子技术应用,2009,35(7):95-97.
[2] 黄超,李俊,林锦国. 基于DSP的多通道数据采集电路[J]. 仪表技术与传感器,2008,26(10):83-87.
[3] 游雪峰,文玉梅,李平. 以太网分布式数据采集同步和实习传输研究[J]. 仪器仪表学报,2006,27(4):384-388.
[4] 李宏佳,徐晓晓,魏权利. 基于ARM和SD卡的嵌入式文件系统研究与设计[J]. 电子设计应用, 2007(7): 92-94.
[5] 薛红娟,江河海,张飞军. 基于DSP和ADS8615的数据采集系统[J]. 数据采集与处理, 2009,24(10):286-289.