基于FPGA的多通道点火数据采集系统设计∗
2023-08-04贾兴中
曹 浩 文 丰 贾兴中
(中北大学省部共建动态测技术国家重点实验室电子测试技术国家重点实验室 太原 030051)
1 引言
火工品是装有火药或者炸药,受外界刺激后燃烧或者爆炸,以引燃火药、引爆炸药或做机械功能的一次性使用的元器件[1]。火工品按照输入能量形式分类可以分为电火工品和化学火工品[2],本文研究对象为电火工品,而电火工品对测试条件的要求十分敏感[3],而一旦点火电压、电流超过安全阈值,不仅会导致火工品自身损坏,还极易引起设备和人员安全隐患。因此,能否准确获得箭(弹)上火工品的点火数据就尤为重要。传统的测试方法需用人工手持仪器对多个对象测量并记下测量结果[2],不仅效率低下且容易因人为原因造成误差。孙浩[4]等设计了一种点火电流测试仪可实现对点火电流的检测,但该仪器仅能测量单一火工品的电流参数,效率较低。针对上述问题,本文设计了一种基于FPGA 的多通道点火数据采集系统,通过FPGA控制模拟开关和单ADC芯片实现8路火工品点火电流、电压及脉宽的自动化采集。
2 总体设计方案
火工品点火数据采集系统整体硬件架构如图1 所示,本系统可分为电流信号处理模块、电压信号处理模块、通道选择电路、A/D 转换模块、FPGA模块、电源模块组成。电压调理模块负责实现将前端输入的点火电压信号通过分压、跟随等变换将点火电压信号调理在适宜后级电路工作的电压范围之内。流压转换电路用于将输入的点火电流转换成为电压之后再输出至后级电路。通道选择电路则通由FPGA 控制模拟开关选择对某路点火数据进行采集。AD驱动电路用于调理前级模拟开关输出的信号,使之成为更符合ADC 的输入要求的信号,并通过抗混叠滤波,提升模数转换准确度。电源模块则为本系统其他模块进行供电。FPGA模块控制模拟开关的选通、AD的采集、数据的缓存及传输。本系统通过以太网接口和上位机进行数据和命令传输。
3 硬件电路设计
3.1 电源模块设计
因在系统中各个模块共需要28V、5V、3.3V、2.5V、1.8V、1.0V 的直流电压供电其中28V 和5V 由背板提供。若每路直流电压都采用一种电源芯片单独供电,既提高成本,又浪费PCB 空间。针对上述情况,采用AD公司型号为LTM4644的DC-DC电源模块对整个系统进行供电。该电源模块可将输入范围在4V,至14V 的直流电压,其输出可通过配置外部高精度的反馈电阻进行设置[5],从而将5V转换为4 路0.6V~5.5V 范围内的直流电压输出,不仅符合本系统供电需求还节省了资源。仅需在该路的FB 引脚添加一个电阻RFB就可配置该路的输出电压,输出电压与RFB的关系如式(1)所示[6],表达式中Vout为该路所需输出的电压值:
由式(1)可计算出四路直流电压输出所需配置电阻RFB的值进行设置,其中一路的电源配置原理图如图2 所示,其余三路供电原理图仅电阻RFB阻值不同。
图2 单路供电原理图
在进行PCB设计时,所有供电和地均大面积铺铜保证该模块有良好的散热。此外,为避免不同供电电压之间相互影响,将PCB中的四种电源通过负片层切割电源的方法分区设置电源网络,不仅可以减小地弹现象,还可减小各电源的电流回路[7]。
3.2 电压信号处理模块
3.2.1 电压调理电路
因为点火正负母线电压可达±28V,而通常点火通路整体阻值非常小,因此在点火动作的瞬间会产生较大电流导致运放烧坏。故为保护后级电路笔者设计了点火电压调理电路。如图3 所示,电压调理电路由分压电路和电压跟随电路组成。
图3 单路点火电压调理电路
如图3 所示,28VB1+为点火电路的正母线,28VB1-为负母线,分压电路输出如式(2)所示,其中VB表示点火电压:
因点火电压最大28V,因此输入跟随电路的电压范围在0 到9.3V 之间。同时,电阻R1和R2并联后与电容C1 构成一阶低通滤波电路,滤波电路截止频率可通过以下表达式求出。
为节约PCB 布局面积,节约资源,选择单电源供电、四通道输入输出的运放芯片AD824作为调理电路的运算放大器芯片,该芯片供电范围为3V~30V,且有轨至轨输入输出的特点,符合设计需求。图3 所示仅为第一通道的电压调理电路,其余通道与之相同。
3.2.2 光耦隔离电路
因点火瞬间产生的电压脉冲和电流较大,必须采取隔离措施才能保证后级器件不受前级大电压的影响。因此,笔者在调理电路后级设计了光耦隔离电路。光耦隔离模块电路原理图如图4 所示,为提高最终转换精度,采用高精度线性光耦。如图4 所示,在线性光耦前级和后级均设计了由运放组成的调理电路用于提高线性光耦的线性度和稳定性。假设此时在AD824 的正端输入信号幅值增加,则会导致Iled增大、Ipd也会增大。但是由于PD1的正端接地,因此PD1的电压很快会回复到0V,由于运放输入电阻较大,因此流过R213的电流就和流过PD1的非常接近。因此可以得出以下关系:
图4 单路光耦隔离电路
由此可以看出在本电路中IPD1仅取决于输入电压和R213的值。由于光电二二极管的输入光功率和输出电流之间的关系是线性的,所以通过稳定和线性化PD1,光输出也会稳定和线性化,PD2也会稳定和线性化。
当前级信号从AD824的正端输入,线性光耦的LED便会发光,光信号会耦合到光电二极管PD1和PD2,PD1和PD2则会产生电流输出至下级电流,该电流会在R321和OPA4340 组成的跨阻放大器的作用下转换成电压信号输出给后级。由此可以得出本模块的输出电压的关系式:
定义线性光耦的传输增益为K,则
结合上面三个等式可以得出以下等式:
由于K是恒定的,并且输出电压VOUT和输入电压VIN之间也具有恒定关系,因此可以得出结论:光耦隔离电路的增益可以通过调节R321和R321实现。因AD824 的反馈源于光电二极管PD1,而光电二极管的输出相较于输入存在一定延迟,因此可能会引起AD824 和OPA4340 的振荡,所以在AD824 和OPA4340 的反馈端增加反馈电容,以提高反馈电路的稳定性。
3.3 电流信号处理模块
因设计所选用的模数转换芯片输入为电压信号,因此笔者设计了电流信号处理模块,本模块由电压-电流转换电路和电压跟随电路组成。电压-电流转换电路由霍尔传感器实现。霍尔传感器用于将流经霍尔传感器的电流成比例地转换为电压信号输出,后级电压跟随电路则用于隔离、缓冲。考虑到点火瞬间电流较大,故采用可承受±20A 的ACS714LLCTR-20A-T 型号霍尔线性电流传感器,其灵敏度为100mV/A,为使得进入运放的信号更稳定,在霍尔电流传感器输出端接电容。为节约PCB空间及资源,后级电压跟随器选用可单电源供电、集成四通道、输入输出轨至轨的运放OPA4340。
该模块电路原理图如图5 所示。霍尔传感器通过IP+、IP-串联在点火电路中,当点火命令下发后,点火电流会流过输入端IP+和IP-,霍尔传感器会因霍尔效应在输出端以100mV/A 的比例输出电压。为保护后级电路将霍尔传感器输出的电压信号经过电压跟随电路经缓冲后传输至后级模拟开关选通电路,如图6所示。
图5 电流-电压转换电路
图6 电压跟随电路
图7 模拟开关选通电路
3.4 通道选择电路
因为本设计采用的模数转换芯片输入为单通道,如果16 路信号采用并行输入的方式则需要16块ADC 芯片。因此为节省设计成本及PCB 空间及设计成本[8],采用16 通道模拟开关实现8 路点火电流信号及8 路点火电压信号的切换输出。选通电路的模拟开关选择ADI 公司的ADG706 型模拟开关,该开关切换时间为40ns,而本设计中火工品点火数据采样率为5KHz,符合设计需求。在硬件上,EN、A0、A1、A2、A3 接FPGA 的I/O 引脚,本系统通过FPGA控制模拟开关的使能和通道切换。
模拟开关的切换逻辑为将模拟开关的通道选择控制端A0、A1、A2、A3 编码为0000 至1111,这些编码分别对应16 个通道。当系统上电复位后FP⁃GA 的I/O 输出电平为0000,此时采集第一个通道,待采集完该通道后编码加1,开始对下个通道进行采集。
此外,为防止前级运放驱动容性负载能力不足而引起的过冲或振荡现象,在每个通道输入端接100 欧姆的补偿电阻保证模拟开关输出更为稳定[9]。
3.5 AD转换模块
AD转换模块由ADC驱动电路和A/D转换电路两部分组成。如图8所示为ADC驱动电路,该电路由分压调理、跟随缓冲、抗混叠滤波三部分组成。因AD7667 的输入电压范围为0~2.5V,故设计分压调理电路将前级输入的信号调理至0~2.5V 以内,方便AD7667实现模数转换。
图8 ADC驱动电路
此外,模拟信号多路开关切换后会有振荡或过冲现象,不利于A/D 转换的准确进行,为提高转换精度,在转换前端进行隔离缓冲设计。如图8 所示。
因为输入模数转换芯片的点火数据信号可能会受到其他模块带来的干扰,因此在信号进入AD芯片进行转换之前增加了由C219 和R279 组成低通抗混叠滤波电路[9],能有效抑制反冲噪声和带外噪声,提高信噪比[10]。因为如果ADC 芯片输入端串联一个大电阻会引入额外噪声,所以电阻选择为15Ω[11]。经过多次试验分析得出当电容容值为0.1uF时滤波效果最好[9],此时截止频率为
该频率大于有效信号的最高频率,符合设计需求。
如图9 所示为AD 转换电路,本系统选择16 位高速逐次逼近型的AD7667作为模数转换芯片。其中VIN为模拟信号输入端,D0~D7为数字量输出端和FPGA 的I/O 接口直接相连。具体转换流程在第4节介绍。
图9 模数转换电路
4 AD采集逻辑设计
4.1 AD采集逻辑设计
如图10 所示为模数转换芯片AD7667 工作时序图,MODE表示AD7667当前的工作模式,共有两种工作状态,其中ACQUIRE 表示采集状态,CON⁃VERT 表示模数转换状态。CNVST 为转换开始信号,该信号低电平时开始模数转换。BUSY 为转换标志信号,模数转换期间拉高,转换结束后拉低。如图10所示为采集过程流程图。
图10 模数转换过程时序图
当用户按下电源开关,系统即进入复位状态,在该状态下,模拟开关通道切换至第一个通道S0,并且将数模转换芯片的CNVST 引脚拉高,此时AD进行数据采集,采样率为5ksps。如果此时CNVST为高电平,则在CNVST 的下降沿到来之前一直处于采样保持状态,等CNVST 的下降沿到来开启模数转换。如果此时CNVST 为低电平,则立刻开始模数转换进程,同时拉高BUSY 信号,直到转换结束才拉低BUSY 信号,然后进行新一轮转换,并且在BUSY 的下降沿将数据锁存至AD 的片上锁存器,再通过D0-D7 将数字量输出至FIFO 中进行缓存。因为FIFO具有先进先出的特点,故由FPGA控制ADC 的BYTESWAP 引脚拉低,此时ADC 将先输出低八位,再输出高八位数据至FIFO。若FIFO 半满,则对FIF 中的数据进行读取并编帧后由以太网发送至上位机进行显示及处理。
帧格式如表1 所示,其中VB 为转换后的电压信号,VIB 为电流经霍尔传感器转换为电压后的电流数据。
表1 传输至上位机的帧格式
表2 模拟点火电压试验结果
4.2 脉宽判断逻辑设计
上位机主要作用在于将硬件采集模块采集到的数据帧进行分析和处理,从而得到设计期望的点火电压、电流、脉宽三个参数。由于在本设计中上位机对点火数据的分析是实时进行的,如果对每一帧的所有数据都进行分析,一方面整个过程的计算量较大,另一方面最终显示结果相对于输入有较大延迟。因此,在分析时取连续的三帧数据即可,并且每个帧仅仅取该帧中各参数的最后一个采样点的值和帧计数。然后分别计算第二帧和第一帧参数差值∆V1、二帧和第三帧参数差值∆V2若两者的差值都大于预设定值,则视为点火信号存在跳变。此时将第一帧的帧计数视作跳变开始的帧计数,记为Tbegin。如果这两个差值均小于预设定值则重复取三帧,直到达到要求;若∆V1小于18V,∆V2大于预设定值,则取第三帧的后一帧作为第三帧,原第一帧舍弃,原第二帧和第三帧视为第一帧和第二帧,不断重复取帧直到两个差值均大于预设定值。
图12 点火脉宽计算时序图
如果两个差值均小于18V,则认为点火信号跳变已经结束,将第三帧的帧计数视为Tend。若∆V1大于预设定值,∆V2小于预设定值,那么将第二帧和第三帧作为第一帧和第二帧,另取一帧作为第三帧,直到两个差值均小于预设定值,得到跳变结束的帧计数。
因为数据帧的帧率为1ms,所以脉宽可以由以下表达式求出:
脉宽判断的具体流程图如图11所示,其中Y表示判断阈值,Tb为跳变开始帧计数,Te为跳变结束时的帧计数。
图11 AD采集流程图
5 试验验证
为使得采集结果更准确,使用最小二乘法对本系统进行标定,将数字量和电压值进行拟合[12],求出K、B值。待标定完成后,使用信号发生器模拟点火动作对点火数据采集系统进行验证,具体试验方法为使用信号发生器输出不同脉宽、幅值的方波,在信号发生器输出端接两组线缆,一组接示波器,另一组接入点火数据采集输入通道,同时在回路中串接高精度数字万用表测量模拟点火回路中的电流。线缆连接完成后打开信号发生器输出开关,在示波器观察输出电压,待输入稳定后在上位机软件观察显示的电压值、电流值和脉宽。电压采集试验结果如表3所示,电流采集试验结果如表4所示。
表3 模拟点火电流试验结果
经试验验证可知,本系统实现了对8 路点火电压、电流、脉宽的采集。经标定后的电压采集精度高于0.43%;电流采集精度高于0.66%。满足设计需求。
6 结语
本文设计了一种火工品点火数据采集系统,该系统以FPGA 控制数据采集和模拟开关实现多通道点火电流、电压、脉宽的采集,克服了传统点火数据采自动化程度低且测量信号类型单一的问题。通过采集试验证明了设计思路的正确性,该系统模块已应用于某型号测试台上。