APP下载

基于FPGA的高精度弹载压力数据采集系统

2017-09-28范君健吴国东王志军

兵器装备工程学报 2017年9期
关键词:时序控制器传感器

范君健,吴国东,王志军,张 冲

(中北大学 机电工程学院, 太原 030051)

【信息科学与控制工程】

基于FPGA的高精度弹载压力数据采集系统

范君健,吴国东,王志军,张 冲

(中北大学 机电工程学院, 太原 030051)

以FPGA为核心,设计了一种由传感器、信号调理电路、数据采集控制以及存储器组成的小型弹载数据采集系统;采用8515C-50型压力传感器和AD7606芯片采集压力数据,而后通过FPGA进行数据处理与存储,并且提供上位机接口便于数据导出;对主要模块进行测试与仿真,结果表明:采集精度与速度满足设计要求,FPGA各模块设计功能完整,验证了该方案的可行性;为新型智能弹药的测控系统设计奠定了技术基础,具有重要的工程实用价值。

数据采集;FPGA;乒乓操作;弹载测试;表面压力

现代战争向着智能化与信息化方向不断发展,使得高技术武器层出不穷。随着当今电子技术和传感器技术不断取得突破性进展,奠定了新一代自动测试系统的技术基础,军事科技领域正在迎来一系列重大变革,世界主要军事强国都在大力进行先进武器装备的研究。弹丸在大气中飞行时,其飞行姿态、射程以及稳定性等直接受空气动力大小的影响,因此准确测量弹丸在飞行时其表面的气压对于研制智能弹药有着重要的参考价值。

目前,针对高铁、飞行器进行的表面空气动力参数的相关研究较多[1]。而对于飞行弹丸的空气动力研究主要通过理论计算、数值仿真、风洞实验等手段[2-4],所得数据虽然有很高的参考价值,但与实际飞行控制所需精度仍有一定差距,而且并非实时测量。因此,本设计采用弹载测试系统的方式进行弹体表面的压力测量,对于常用的以单片机为核心的系统[5]进行优化升级,选用一套片状微型压力传感器作为敏感部分,其厚度小,贴装于弹丸表面,对于弹丸表面的气流流场的影响很小,可达到高精度、高速度的测量要求。

本文介绍了一种以Spartan-6系列FPGA为核心的弹载测试系统,可以实时测量弹体表面压力并进行数据处理及存储。该系统具有安装简单、抗过载能力强等特点,可将测量数据通过USB端口导出,以便进一步进行数据分析与研究。

1 总体方案

高精度弹载压力数据采集系统实时记录弹丸在飞行过程当中四路测试点的表面压力,并且通过计算相对两路的压力差,经数据处理后,为后级的控制系统提供触发信号,进而控制飞行姿态。该系统在设计当中加入USB接口,以便在实验结束后将采集数据导出,为系统的进一步分析优化提供支持。

系统主要由四路压力传感器与放大器组成的采集板、ADC芯片AD7606、调零DAC芯片AD5689、Spartan-6 FPGA主控制器、SDRAM数据缓冲器、NAND Flash数据存储器、USB2.0接口以及电源模块和相关按键、开关等组成。整体结构框图如图1。

图1 系统整体结构框图

根据设计要求和实验目的,该数据采集系统的整体功能有:

1) 电源模块采用7.4V锂电池,为模拟电路的数据采集板和数字电路的FPGA核心板提供相应的多路电源;

2) 压力传感器的信号经放大滤波后送交ADC芯片进行模数转换,四路的采集速度均可达到200ksps;

3) 选用FPGA作为主控制器,可实现四路数据的同步处理,并且计算1-1与1-2号和2-1与2-2号传感器的输出电压差值;

4) 为了保证数据传输的高速可靠,采用SDRAM设计“乒乓操作”,达到用低速模块处理高速数据流的效果,从外部看输入数据流和输出数据流都是连续的,没有任何停顿;

5) 对于采集的压力数据,存储于NAND FLASH当中,在通过USB2.0接入上位机时可以导出;

6) DAC调零模块在系统初始化时可将相对的两路传感器信号自动调零,保证所计算压力差真实可靠。

2 系统设计

2.1 前端数据采集电路

该设计选用Endevco公司的8515C-50微型、高灵敏度压阻式压力传感器,厚度仅为0.76 mm,直径6.3 mm。具有高过载能力,高频率响应,极低基座应变灵敏度和出色的温度特性。在10 V电源激励的作用下,该传感器满量程输出200 mV,其电子结构为四臂可变压阻电桥。

由于传感器的输出信号为mV级的差分信号,因此在传感器的输出端通过仪表放大器进行精密放大。选用轨到轨输出仪表放大器AD8226设计放大电路。采用单电源+12 V供电,将信号放大20倍,便于AD转换器的采集。四路传感器信号的放大电路完全相同,其原理如图2所示,其中基准源REF由FPGA控制的DAC芯片提供,用以放大器调零;SENSOR通过SMA接头与传感器连接。根据系统的采样频率设定,在放大器的输入端与输出端均加入RC低通滤波电路,滤波器根据以下关系式对输入信号的带宽加以限制:

(1)

(2)

其中CD≥ 10CC,DIFF表示差动信号,CM表示共模信号。R为输入端的串联电阻,CC为输入端与地之间电容,影响共模信号;CD为正负输入端之间电容,影响差动信号。

2.2 AD转换电路

根据本设计采样速度与精度的要求,选择AD7606作为AD转换芯片。该芯片是一款完全集成的多通道数据采集系统[6],有8路同步采样输入,内置16位、双极性ADC,所有通道转换速度均达到200 ksps,并通过数字滤波器提供过采样功能AD7606提供高速串行接口、并行接口和并行字节接口,方便与FPGA直接连接[7]。以ADC为核心,前端与数据采集模块连接的原理如图3所示。ADIN1到ADIN4为四路传感器的输入端,根据官方手册,选用外部基准芯片ADR421作为2.5 V基准源。

图2 信号放大电路

图3 前端数据采集电路

为保证采集数据的实时性与同步性,将两个CONVST引脚连在一起,设置AD7606为通道同步采样模式,此公用CONVST的上升沿启动对所有模拟通道的同步采样。AD7606的同步采样时序图如图4所示。

图4 AD7606通道同步采样,使用并行模式

图5 AD7606与FPGA连接图

FPGA设计的AD控制器主要功能:数字滤波、采样频率控制、通道选择切换、数据传输等[8]。使用Verilog语言设计的AD控制模块如图6所示。

图6 AD控制模块

2.3 DA调零模块

调零电路由FPGA和AD5689共同组成。AD5689是一款低功耗、双通道、16位缓冲电压输出数模转换器(DAC),可编程输出调零范围。该芯片采用多功能串行外设接口,时钟速率高达50 MHz,兼容SPI接口,方便与控制器件相连。

在调零系统中,系统初始化后FPGA接收预采集的传感器信号,计算相对两路的电压差,如果没有达到零位,通过AD5689将计算后的偏置电压发送到电压较高一路所对应的放大器AD8226,通过改变其基准电压将相关放大电路调零[9]。AD5689具有两路模拟输出端口,要调零四路传感器信号,采集系统共采用两片DAC,采用菊花链方式操作,其中SDO引脚与另一片的SDIN引脚相连,其中一路的原理如图7所示。

图7 调零电路原理图

2.4 SDRAM数据缓存模块

在该气压测试系统当中,由于实时高速的数据采集和后端的数据处理速度不同,因此需要读写速度快、存储容量大的缓存器。SDRAM具有价格低廉、数据读写速度快、容量大的优点,是作为随机存储器的首选。但其逻辑复杂、时序要求严格、接口方式与其他存储器差异很大。因此,需要设计一个专门的控制器以实现数据的高效传输。SDRAM是高速的动态随机存取存储器,它的同步接口和完全流水线的内部结构使其拥有极大的数据速率,SDRAM的时钟频率可以达到100 MHz以上,一片16位数据宽度的SDRAM的读写数据带宽达1.6 Gbit/s。SDRAM部分的原理图如图8。

图8 SDRAM原理图

该系统采用Verilog语言设计SDRAM的控制器,分为一个顶层模块和3个子模块[10],设计思路简单清晰。顶层模块主要用来接口控制,不做时序逻辑只做组合逻辑,向上做成一个简单的封装,向下把3个子模块连接起来;时序控制模块根据芯片手册完成SDRAM的初始化以及定时刷新、读写控制;命令控制模块根据时序模块的各个状态对接口进行赋值,发送相应的控制指令;数据读写模块将数据总线的数据读写到相应的地址。SDRAM控制器以状态机的形式实现,其原理如图9所示[11]。

由于前端数据采集和后端数据存储的时钟域是50 MHz,而缓存在SDRAM中设置的时钟域是100 MHz,数据在不同的时钟域间传递,很容易引起亚稳态问题,同时为了在读写时无需操作复杂的SDRAM时序,设计一个读FIFO和一个写FIFO来缓冲数据,并且只要读写这两个FIFO,程序就能将数据写入到SDRAM或者从SDRAM读出。

“乒乓操作”是一个常应用于数据流控制的处理技巧,典型的乒乓操作方法如图10所示。基本操作流程为:在第一个缓冲周期,将输入数据缓存到“数据缓冲模块1”。在第二个缓冲周期,将输入数据缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”中的数据通过“输出数据流选择单元”的选择,送到“数据流运算处理模块”进行数据处理。在第3个缓冲周期,通过“输入数据流选择单元”再次将输入数据缓冲到“数据缓冲模块1”,并将“数据缓冲模块2”中在第2个缓冲周期的数据送交数据处理,依次循环操作。

图9 SDRAM控制器状态机

图10 典型乒乓操作方法

一般所指的乒乓操作主要针对两片存储器芯片,在该设计当中由于PCB板的面积限制,并且减小布局布线压力,简化设计流程,利用分时复用的方法对一片SDRAM的不同Bank进行读写乒乓操作。在该设计当中,当一次数据采集完成后,程序判断数据是否已全部写入SDRAM当中。如果是“是”的话写入的Bank地址交换;另外判断数据是否从SDRAM读出,如果是“是”的话读出的Bank地址也交换。SDRAM读写Bank交换的同时,产生一个wr_load和rd_load信号用以复位SDRAM的读写地址和读写FIFO。

2.5 NAND FLASH数据存储模块

对于采集的大量数据需要可靠的存储器将其存储,便于进一步的数据导出与分析。现阶段最常用的是使用NAND Flash作为存储芯片,其拥有极高的单元密度,写入和快擦除速度很快。最大擦写次数可达一百万次,价格便宜,拥有极高的性价比。但由于NAND Flash采用I/O接口复用方式操作,一般最多需要16个引脚,因而在程序设计方面要相对复杂。在进行其他操作之前,需要先将驱动程序写到NAND Flash中去[12-13]。

该设计的NAND Flash控制器包括主控制模块和ECC(错误检查和纠正)模块。这两个模块相互独立。ECC功能模块位于主控制模块与NAND Flash之间。主控制器的外部接口与SDRAM的类似,包括ID读取、重置、块擦除与读取、页编程与读写操作等。ECC功能模块主要包括校验码生成模块、纠错模块、状态控制模块3个部分。

3 测试分析

完成系统初步设计之后,对相关模块进行时序仿真、逻辑分析、数据采集,以验证该系统的采集精度和可靠性,主要包括AD数据采集模块测试、SDRAM时序分析以及接入传感器测试。

3.1 AD采集模块测试

在FPGA设计完成AD控制模块后,将其设定其为全速采样模式。上电后将采集的电压通过串口送交电脑显示,通过ChipScope Pro软件对AD控制模块的时序进行分析,如图11所示。由图可见其同时输出8个通道数据,控制时序与图4所示同步采样时序相符。

图11 AD功能模块分析

3.2 SDRAM时序测试

采用Modelsim软件对SDRAM的初始化和“乒乓操作”进行时序仿真。图12所示为SDRAM的初始化时序,可以看到经过200us的输入稳定期后,SDRAM进行预充电,对应SDRAM_CMD为10010,然后是8次刷新操作,对应SDRAM_CMD为10001。在201 μs时设置模式寄存器(MRS),命令为10000。SDRAM时钟频率为100 MHz,同时与FPGA控制器的100 MHz时钟存在相位差。在控制器的时钟上升沿产生控制命令,然后在随后的SDRAM时钟上升沿命令已经稳定。这样方便了SDRAM顺序的取得命令。

图12 SDRAM初始化时序

如图13所示,为“乒乓操作”时序,可以看出写Bank与读Bank的地址在Bank0与Bank3之间不停切换。向SDRAM的Bank0写入第一组数据,当第一组数据写入完成后进入乒乓操作阶段。

3.3 气压测试

接入8515C-50型传感器进行测试,放大电路中RG为2.61 k,实际放大倍数19.93倍。通过瞬态信号采集仪采集信号的电压与该系统采集电压进行对比,两者的测量结果基本一致。其中500个采集点的数据对比如图14,数据统计如表1所示。可见相对于采集仪的数据,该系统采集结果更加稳定,方便系统进一步的调零与控制。

图13 SDRAM不同Bank的乒乓操作

总数均值标准差最小值中位数最大值采集仪500720.57823.9280702.8720.5731.4AD7606500719.85880.1725718.6719.6720.2

图14 传感器输出电压测试数据

根据所用传感器测试报告,传感器输出电压与所测气压呈线性关系,根据关系式计算得气压数据:

p=2.465×U+3.353

(3)

其中:U为传感器输出电压(mV);p为所测气压(kPa)。气压测量结果对比如图15所示。

图15 气压测量数据

4 结论

本文提出的基于FPGA的弹载压力数据采集系统,可以实现压力数据的实时高速采集与存储。采用仪表放大器AD8226和AD芯片 AD7606采集传感器数据,以Spartan-6系列FPGA作为主控制器,控制数据流的采集、处理、存储,四通道同步采样速率可达200 ksps,存储容量为16 M×16 bit。通过对各主要模块的测试,验证了该设计方案的可行性。随着半导体技术与传感器技术的高速发展,为各类智能弹药的高速度高精度测量与控制奠定了技术基础,具有重要的工程应用价值。该系统的抗干扰性能与信号完整性有待进一步的验证与分析,下一步将继续优化PCB的布局布线,提高系统可靠性,增强整个系统的通用性与实用性。

[1] 程虎.高速列车表面压力测试系统设计及应用[D].成都:西南交通大学,2011.

[2] 李婧伟.头部偏转修正弹技术研究[D].太原:中北大学,2015.

[3] 李岩,邓学蓥,王延奎.静态压力测量系统在风洞实验中的应用[J].兵工自动化,2010,29(2):81-84.

[4] 张博,徐豫新,曹梦雨,等.弹头偏转弹体风洞实验设计[J].实验室研究与探索,2014,33(4):18-21.

[5] 宁润果,吴国东,王志军,等.基于C8051F380的弹丸表面压力数据采集系统[J].兵器装备工程学报,2016,37(1):113-116.

[6] 陶海军,张一鸣,曾志辉.基于AD7606的多通道数据采集系统设计[J].工矿自动化,2013,39(12):110-113.

[7] 于克泳,孙建军.新一代16位8通道同步采样ADC-AD7606在智能电网中的应用[J].电子产品世界,2010,17(10):63-65.

[8] 杨炜新.基于FPGA的多通道数据采集系统设计[D].太原:中北大学,2014.

[9] 王冰.基于STM32和FPGA的多通道多功能数据采集器[D].成都:西南交通大学,2012.

[10] 侯宏录,张文芳.基于FPGA的SDRAM控制器设计方案[J].兵工自动化,2012,31(2):57-60.

[11] 项力领,刘智,杨阳,等.单片SDRAM的数据读写乒乓操作设计[J].长春理工大学学报(自然科学版),2013(5):140-143.

[12] 冯明发,卢锦川.基于FPGA的NAND Flash控制器设计[J].煤炭技术,2010,29(11):201-202.

[13] 胡茂力,李艳春,肖南峰.基于物联网的多传感器数据采集系统研究[J].重庆理工大学学报(自然科学),2016(10):108-117.

[14] 魏国.NAND Flash控制器的FPGA验证[D].合肥:合肥工业大学,2013.

(责任编辑杨继森)

OnboardHighPrecisionPressureDataAcquisitionSystemBasedonFPGA

FAN Junjian, WU Guodong, WANG Zhijun, ZHANG Chong

(College of Mechatronic Engineering, North University of China, Taiyuan 030051, China)

Aiming at the high speed and high precision requirements of adaptive-ammunition’s flight data acquisition, but the problem of traditional MUC system’s slowly speed, measurement accuracy is not enough, anti-interference ability is poor, we designed a small onboard data acquisition system consists of sensors, signal conditioning circuit, data acquisition controller and memory. Using pressure sensor 8515C-50 and AD7606 acquire pressure data, and then using the FPGA to data processing and storage, and it can export data through host computer interface. The main modules are tested and simulated, and the results show that the acquisition accuracy and speed meet the design requirements, each module of the FPGA designed function is complete, and finally we verify the feasibility of the design. For the measurement and control system design of the new intelligent ammunition, it lids the technical foundation and has important engineering practical value.

data acquisition; FPGA; Ping-Pong operation; onboard testing; surface pressure

2017-04-25;

:2017-05-29

:山西省研究生联合培养基地人才培养资助项目(20160033)

范君健(1993—),男,硕士,主要从事弹药、武器系统相关测试研究。

10.11809/scbgxb2017.09.021

format:FAN Junjian, WU Guodong, WANG Zhijun, et al.Onboard High Precision Pressure Data Acquisition System Based on FPGA[J].Journal of Ordnance Equipment Engineering,2017(9):102-107.

TP274.2

:A

2096-2304(2017)09-0102-06

本文引用格式:范君健,吴国东,王志军,等.基于FPGA的高精度弹载压力数据采集系统[J].兵器装备工程学报,2017(9):102-107.

猜你喜欢

时序控制器传感器
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
工商业IC卡控制器改造为物联网控制器实践
康奈尔大学制造出可拉伸传感器
你不能把整个春天都搬到冬天来
简述传感器在物联网中的应用
PLC可编程控制器相关外置的选择计算研究
跟踪导练(三)2
光电传感器在自动检测和分拣中的应用