基于DSP的声压与振动数据采集系统的设计
2017-08-30肖邵予
肖邵予
(中国舰船研究设计中心 船舶振动噪声重点实验室,武汉 430064)
基于DSP的声压与振动数据采集系统的设计
肖邵予
(中国舰船研究设计中心 船舶振动噪声重点实验室,武汉 430064)
针对传统数据采集系统功能单一,抗干扰能力差,精度低,内存小,速度慢无法处理大量数据的问题,设计了一款基于DSP处理器的声压与振动数据采集系统;仪器内置的FPGA保障了高速数据采集,DSP处理器和大容量DDR2存储器使得系统可以不依赖上位机而直接在设备底层进行FFT计算,以太网接口有效地提高了数据传输的安全性和可靠性;环境试验结果显示该系统性能稳定,适用于如高温、低温、盐雾、高冲击等恶劣环境下的数据采集,可以满足声压和振动信号的采样和分析要求。
数据采集;恶劣环境;以太网
0 引言
在飞机、汽车、大型船舶、精密机床、工业测量等领域,对设备状态的及时有效的的监测是一项重要而复杂的工作。例如在水下环境中,潜艇的声压和振动就是非常重要的性能指标[1]。对振动信号进行采集和分析可以实现危险预报、故障诊断、性能分析等多项功能。而传统的数据采集系统囿于成本,大都采用8位或16位的ADC,分辨率较低;主控单元通常用低端的MCU,内存小,无法存储大量的数据,加之CPU的主频不高,难以应对高速数据采集,更无法处理大量数据运算(如FFT 、IFFT等)。
随着半导体技术和信息技术的迅速发展,数字信号处理器的性能越来越强,速度越来越快,功能也日益丰富。由于DSP的快速发展有效地弥补了传统的微控制器的不足,本项目采用FPGA和TI公司的C6000系列高性能DSP处理器作为数控核心,每台设备有5个卡槽,每个卡槽可以连续监测8个通道,并且内置完善的EMC和ESD保护电路,提供多通道同步采集、振级、声压级、数据列表、时域波形、频谱图、1/3倍频程谱、事件触发等监测和分析功能。此外,本系统配套的上位机软件操作简单功能丰富,可设置时域采集参数和频域计算参数,用户既可以按默认配置运行上位机软件,也可以手动设置各个参数。上位机可以在无人值守的情况下自动搜索设备并启动采集,无需额外的繁琐操作。采集到的数据也会自动保存,用户可以根据需要查询各个时段的时域和频域数据。
1 系统硬件设计
设备硬件由前端调理电路、高精度模/数转换电路、数字单元、时钟电路、通讯接口电路和电源等部分组成。FPGA负责前端光耦和ADS1278的控制,以及与上位机软件的通信,DSP处理器专注于信号处理。传感器输出的信号经过前端的运放电路调理后输入到ADC进行模数转换。仪器完全由基于Windows的上位机软件通过LAN总线操作,使系统能够实现远程控制和数据读取。仪器还内置EMI滤波器以防止浪涌电压冲击对设备的损坏,保障仪器在工业环境中的正常使用。系统结构框图如图1所示。
图1 系统框图
1.1 调理电路
前端调理电路在数据采集系统中有着至关重要的作用。如果信号在输入到模数转换器之前没有经过合理的处理,例如电路中没有缓冲级,那么信号就会在前级产生不小的损耗,若高频噪声没被滤除就会叠加到实际信号中,这些情况都会严重地影响到ADC采集的精度和系统的动态范围,因此在信号输入到ADC之前必须经过必要的处理才能进行采集。
在本设备中,前端调理电路由TI公司的高精度运放OPA140与低功耗差分运放THS4521组成。其中,OPA140用作电压跟随器[2]以提高输入阻抗,正负15V供电,THS4521输出差分信号以获得最优性能,正5V供电。为改善信号调理的精度,电路中的电阻电容等元件均为高精密器件。设计了低通滤波器,可以有效地消除高频噪声进入采集单元。信号的切换采用高可靠性的光耦以降低功耗,且光耦的噪声低,非常适合在调理电路中做切换。传感器的信号首先经光耦切换至电压跟随器中,经过缓冲后输入到THS4521进行滤波降噪和差分输出[3]。根据采集需求,每通道共有直流、交流和ICP三种耦合方式,且每通道都有各自的ICP电源,互不干扰。调理电路如图2所示。
图2 前端调理电路框图
1.2 模数转换电路
对数据采集系统而言,除了具备高精度的前端信号调理电路外,采样速度、分辨率、动态范围、带宽、量程、采集的信号类型、接口协议等参数都是设计者必须考虑的问题[4],而这些参数都直接与模数转换器有关,因此一个符合需求的模数转换器也是最重要的器件之一。本项目采用的ADC为24位工业级模数转换器ADS1278,采样率最高144kSPS,支持8通道同步采集,且每个通道可独立开启或关闭,互不影响。ADS1278内部集成有8个独立的6阶斩波稳定调制器、低纹波线性相位FIR滤波器、输入多路复用器等功能。ADS1278使用方法简单,可直接配置相应的I/O口来操作它,省去了繁琐的对寄存器编程操作。ADS1278的工作模式由MODE[1:0]两根引脚设定,共有高速、高分辨率、低功耗和低速4种模式可供选择。ADS1278转换的噪声小,信噪比很高因而满足了声压和振动信号的采集需求。
ADS1278转换后的数据通过串行接口输出,并支持SPI和Frame-Sync两种接口协议。每个通道的数据可以通过各自通道的DOUT引脚并行输出,或者所有通道的数据通过DOUT1串行输出。接口协议和数据输出格式的选择是由FORMAT[2:0]引脚确定。在TDM数据输出模式中,数据的输出顺序可以选择固定位置格式或动态位置格式。在固定位置格式下,所有通道的数据严格按通道顺序输出,其中已关闭的通道会强制输出0并占据数据流里相应的位置;在动态位置格式下,被关闭的通道将不产生数据输出,即输出的数据流全部是已开启通道的有效数据。考虑到本系统的数据量较大,因此采用效率更高的时分复用动态位置格式和Frame-Sync接口协议。ADS1278与FPGA的连接如图3所示。
图3 ADS1278与FPGA的连接
电源的稳定性直接关系到模数转换器的工作状态。在本系统中,为向ADS1278稳定地供电,ADS1278的所有电源网络均配置了完善的滤波电路。ADS1278的AVDD为5 V,IOVDD为3.3 V,由于用到了144kSPS的最高采样率,故DVDD为2.1 V。
一个高性能的电压基准对精密数据采集系统是必不可少的[5]。为此,本系统专门搭载了低温漂、超低噪声的ADR440B作为基准源,其噪声低至1.2 μVp-p,温漂低至3 ppm/℃。可在-40~125 ℃的宽温度范围内工作。为避免干扰,ADR440B在PCB上布局靠近ADS1278,且周围没有其他的走线。
1.3 数字单元
本系统的数字单元由FPGA和DSP组成。其中,FPGA负责前端ADS1278数据的读取和控制,DSP则专注于数据的处理。DSP通过集成的uPP(通用并行接口)与FPGA通信,保障了数据的高速传输。
由于舰船的结构特殊,构造范围广,监测点分散在各处,很多监测项目又具有实时性的特点,因此对于各部位监测数据需要非常准确的时间同步,即所有的通道都应在同一个时刻采集,一旦出现微小偏差,不仅会造成监测结果的不准确,还严重影响了对舰船状态的研究分析,后果很严重。因此,为了实现同步,每个卡槽的FPGA和ADS1278均使用由设备统一提供的高精度的同步时钟信号;DSP使用外接的24 MHz工业级晶振,且扩展了Flash和DDR存储器。FPGA与DSP的连接如图4所示。
图4 FPGA与DSP的连接
1.4 通信接口
本系统通过以太网实现下位机与上位机的数据交互。PHY芯片采用100 Mb/s的W5300。该芯片内部集成10/100 M以太网控制器,支持固件TCP/IP协议,适用于高性能的嵌入式领域,与FPGA采用8/16位并行总线接口。根据通信需求,W5300配置为16位数据总线直接地址模式。此外,为满足IEEE 802.3电气隔离要求,无失真地传输以太网信号,通信接口电路中还配备了网络变压器电路[6]。FPGA与W5300的连接如图5所示。
图5 FPGA与W5300连接图
2 软件设计
2.1 数据通信
本系统要求数据实时上传,因此以太网能否顺利传输数据很重要。以8通道,144 kSPS采样率(此为最大数据量的配置)为例,每个卡槽每秒采集到的数据量为8×24×144 000 = 27.648 Mb/s,远低于100 Mb/s,因此以太网完全满足本系统的数据传输需求。
由于嵌入式系统对实时性要求较高,故系统采用速度较快的UDP网络协议。通信过程中,时域数据包与频域数据包的长度和编码格式不同以便上位机软件识别与解析。
2.2 软件流程
本系统的底层代码设计包括DSP和FPGA两部分。其中,FPGA负责原始数据的采集,并将原始数据传输到上位机和DSP。DSP则专注于频域处理并将计算后的结果回传至FPGA。
设备上电后,DSP配置uPP为接收端以便接收来自FPGA的配置命令或采样数据;FPGA则初始化网口,并默认配置ADS1278为144 k采样率,所有通道全部使能和交流输入模式。此后就等待上位机发出命令。若收到配置命令,则执行相应的命令;若收到开始采集命令,则开始采集并实时上传数据。DSP每隔10分钟对10秒内的数据进行处理,待FFT计算完成后再将数据回传到FPGA,随后FPGA将频域数据分包上传至上位机。
因数据量较大,为了使FPGA与DSP之间的数据传输效率更高,不仅采用了uPP并行口,而且还开启了DSP自带的DMA功能以搭配uPP接口传输数据,使得CPU不用干预uPP的数据传输过程,将资源分配于其他的任务,显著地减轻了CPU的负担。此外,为了优化DSP的程序,底层软件针对系统的存储空间和程序要实现的功能,合理地分配了内存空间。程序流程图如图6所示。
图6 程序流程图
2.3 算法改进
在底层软件中进行FFT计算是本系统的一大特色功能。传统的数据采集系统都是在上位机做频域计算,不仅对PC配置要求高,耗费资源,而且使得上位机软件体积庞大,开发和维护复杂[7]。为改善这种不足,本项目将频域计算移到专门配备的高性能DSP处理器中,并开发了改进型的高效率FFT算法。
传统的FFT算法通常假定输入是复数输入[8],然而很多实际应用中只有时域的实数数据输入,如ADC采集到的就只有时域数据。解决这个问题的典型办法是将长度为N的实输入信号扩充为长度为N,虚部为0的复输入信号。
xreal= { 1, 2, 3, ... }
xcplx= { 1, 0, 2, 0, 3, 0, ... }
这种方法简单但明显效率不高。为提高频域计算的效率,特在底层软件开发了无须扩充输入信号序列的算法,该算法主要有两大优势——节省存储空间和缩短计算时间。
改进型算法中,假定g(n)是一个长度为N个点的实序列(N是偶数),要得到长度为N的复FFT结果,只需用到长度为N/2的FFT计算。具体步骤如下:
1) 构建长度为N/2个点的复数值序列x(n) =x1(n) +jx2(n),其中,x1(n) =g(2n),x2(n) =g(2n+1);
2)对复数值序列x(n)做N/2点的复FFT计算,得到X(k)=FFT{x(n)};
3)经过额外的运算,从X(k)得到G(k),
Gr(k)=Xr(k)Ar(k)-Xi(k)Ai(k)+Xr(N/2-k)Br(k)+Xi(N/2-k)Bi(k),
Gi(k)=Xi(k)Ar(k)+Xr(k)Ai(k)+Xr(N/2-k)Bi(k)-Xi(N/2-k)Br(k),
其中,k= 0, 1, ...,N/2-1,X(N/2)=X(0),A(k)和B(k)分别是正弦系数和余弦系数。
上式只计算了G(k)的前N/2个点,因为实序列的FFT具有对称性,G(k)余下的N/2个点可按如下公式计算;
Gr(N/2) =Xr(0)-Xi(0)
Gi(N/2) = 0
Gr(N-k) =Gr(k),k= 1, 2, ...,N/2-1
Gi(N-k) =-Gi(k)
经过以上步骤,一个完整的N点FFT计算就已完成。
2.4 上位机软件
本数据采集系统有配套的上位机软件,因而用户可以远程控制设备的运行和读取数据。上位机软件实时存储测量数据,即使因断电导致监测中断,中断之前的数据也会自动保存。软件具有定时测量功能,用户可以根据实际需要提前设好测试参数与间隔时间,让仪器在无人值守下自动定时测量,为监测提供方便。抗混滤波器可实时关闭、打开,缺省以分析频率抗混,可实时编辑抗混频率。上位机软件截图如图7和图8所示。
图7 时域波形截图
3 试验结果与分析
为了验证系统的性能,进行了本底噪声测试、DC电压测试、AC电压测试、通道串扰测试、IEPE测试、共模抑制比测试等多组试验。
设备运行在52 kHz采样率时,以PCB手持式校准仪作为振动源,振源为有效值1 g,频率159.2 Hz的正弦信号,以PCB振动传感器352C33作为信号输入源,其灵敏度为101.2 mV/g。测量数据如表1所示。
表1 IEPE测试数据
CMRR(共模抑制比)测试,输入正负极短接作为共模信号输入正极,设备地作为共模信号的负极,标准信号源输入1 kHz信号,以最大不失真信号的有效值为准,将采集显示的不失真最大有效值与实际信号源输入的有效值对比,取20常用对数,即为共模抑制比。CMRR测试数据如表2所示。
表2 共模抑制比测试数据
由以上表格数据可见,本系统采集精度高,线性度好,实现了稳定的振动信号采集。
4 结论
普通的数据采集系统在高温、低温或盐雾等恶劣环境下采集精度不高甚至不能运行。相较于普通的数据采集系统,本系统更注重功能的多样性以及在恶劣环境下的可靠性和精度。在硬件方面,本系统全部使用工业级芯片和精密器件(如精密电阻和工业级基准源芯片),并有相应的防潮防冲击等工艺,通过严格的环境试验表明这些器件和工艺确保了每个物理环节在恶劣环境下都能正常运行。在软件方面,频域数据的计算由设备底层的DSP处理器完成,并且为了提高程序的效率还改进了FFT的算法,使得上位机软件能够免去繁琐的FFT计算,减轻了上位机的负担。上位机软件高度智能化,占用资源少,可以在无人值守时自动保存并分析数据,无需额外的操作。实验结果表明,本套数据采集系统有着出色的性能和可靠性,操作简单功能丰富,能在恶劣的环境下稳定地运行,具有重要的工程实际应用价值。
[1] 陈志敏,黄映云,彭 敏,周音.基于ADAMS的船舶隔振系统性能研究[J]. 振动与冲击,2007,26(8):101 - 103.
[2] 申 晶,张晓林.一种低功耗CMOS并行双频低噪声放大器[J].吉林大学学报(工学版), 2013, 43(2):485 - 490.
[3] 陈轶旭,李儒章,石立春.一种用于Σ—Δ A/D转换器的运算放大器设计[J].微电子学,2011,41(1):27 - 33.
[4] 朱康生,洪赢政,黄 斌. ADS1278在高精度数据采集系统中的应用[J]. 电子设计工程, 2009,17(4): 24 - 28.
[5] 许育森,胡 炜.一种新型全CMOS低功耗基准源的设计[J].微电子学,2013,43(6):742-746.
[6] 李 珏,赵继德. 一种工业控制数据采集系统硬件平台设计[J].计算机测量与控制,2009,17(8):1648 - 1650
[7] 应 龙,何 琳,黄映云,汪玉. 限位器对隔振系统抗冲击性能的影响[J].振动与冲击,2005,24(2):71-76.
[8] 李维嘉,曹青松. 船舶振动主动控制的研究进展与评述[J].中国造船. 2007,48(2):68 - 79.
Design of Data Acquisition System Based on DSP for Acoustic Pressure and Vibration
Xiao Shaoyu
(Key Laboratory of Ship Vibration and noise, China Shipbuilding Research and Design Center, Wuhan 430064,China)
In view of the deficiencies such as single functionality, poor anti-interference ability, low precision, small memory space and low speed of traditional data acquisition systems, a DSP-based data acquisition system for acoustic pressure and vibration was developed to cope with this problem. A built-in FPGA inside the instrument ensured the high-speed data acquisition, and the combination of DSP and DDR2 made the system can get efficient FFT computation from the embedded software rather than the program running on the remote host. Furthermore, the Ethernet protocol greatly improved the reliability and safety during data transfer progress. The result of environment test showed that the data acquisition system had a stable performance and was especially suitable for the applications in severe conditions such as high temperature, low temperature, sharp shock, salt spray environment, and completely met the requirements of sampling and analyzing acoustic pressure and vibration signals.
data acquisition; severe environment; Ethernet
2016-12-22;
2017-02-06。
肖邵予(1979-),男,主要从事振动噪声与控制方向的研究。
1671-4598(2017)07-0209-04
10.16526/j.cnki.11-4762/tp.2017.07.052
TP274
A