李炳臻,李 杰,胡陈君,高 宁,高诗尧
(1.中北大学 电子测试技术重点实验室,山西 太原 030051;2.苏州中盛纳米科技有限公司,江苏 苏州 215123)
箭载测控系统通过采集、传输、解算、遥测、发射等过程获得和传输飞行过程中各重要传感器的精准数据,可以为运载火箭的姿态与性能分析、故障排除、新思路验证等提供真实详尽、全面可靠的依据.随着我国航天事业的飞速发展,新型运载火箭设计更加集成化、网络化、无缆化、高速化、智能化,对箭载测控系统也提出了新的要求:如何更加精准采集各路传感器的输出参数;如何在高过载,强电磁干扰下,将不同采样频率的高速实时信息精准传输.因此,设计一种新型高速采集与高速传输的电路对箭载测控系统尤为重要[1].传统的数据采集方法传输速度较慢,且受限于实际应用中比较恶劣的电磁环境,如果随意提升传输速度,信号传输的信道完整性往往无法保证,会遇到反射、地弹、串扰、传输线损耗以及EMI噪声等问题,因而大大影响了采集的精度,并造成数据解算错误.本文设计的高速串行采集传输系统考虑了这些实际问题,采集部分采用6路20 MS/s采样率的A/D数模转换器,高速传输采用GTX高速接口,传输速率可以达到3.6 Gbit/s,通过光纤传输,在提高传输速度的同时可以保证采样精度.
高速数据采集传输电路设计采用“前端采集+编帧预处理+GTX传输”的架构,由电源管理,信号预处理,A/D转换,主控模块等组成,系统整体结构组成如图 1 所示.
图 1 数据采集传输电路整体结构设计
高速数据采集传输系统的基本工作流程:系统采集来自惯性单元的6路模拟信号,经过前端调理电路,通过采集板的ADC,将模拟信号转化为数字信号,同时也以串行传输的方式采集其他两种不同传输速率的数字信号,在FPGA内部预处理编帧后,通过GTX高速串口,加Comma码,8/10译码后,以3.6 Gbit/s的速度传输.
信号采集电路对未知的电信号测量时,不能因为接入被测信号而与采集电路共地,从而改变采集电路的工作状态.因此,对于外部输入的模拟信号,必须经过必要的隔离和信号调理后才能进入A/D采集器,以保证采集电路安全[2].
基于以上设计要求,同时考虑到工作环境中可能存在较强的电磁环境,选用ADI公司的超低失真差分ADC驱动器ADA4938来设计信号调理模块.该型号运放拥有极低的谐波失真、快速过驱动回复时间、低输入电压噪声、外部可调增益,可完成单端至差分操作,同时其高输入阻抗和低输出阻抗表现出良好的电气特性.单端模拟信号经过ADA4938后,输出差分的模拟信号,原理图如图 2 所示.
图 2 信号调理模块电路设计
高速采集电路设计对于A/D模数转换器的要求较高,除了高采样率,宽带宽输入和良好的线性度更是十分重要.基于以上要求,本文选用ADI公司的AD9266型A/D转换器, 其功耗低,分辨率为16 bit,采样率为20 MS/s,带宽为700 MHz,完全可以胜任前端模拟信号的采集需求.同时,其具备的时钟路差分输入方式和数据路差分输入方式,极大地保证了线路的稳定性,也具有较强的抗干扰性[3-5].电路设计如图 3 所示.
图 3 A/D模数转换器电路图
为使A/D模数转换芯片达到预定的设计精度,必须在AD9266的外围电路中对数字信号与模拟信号以及相应的供电电路进行供电和传输上的数模隔离.在供电端口的相应连接处,大量使用钽电容作为旁路电容以增强纹波抑制;在整体布局布线中,尽量减少高频信号的传输距离以减少电磁干扰的影响.
GPS板卡和压力传感器为数字输出,输出采用RS-422传输方式,以差分形式传输数据,其传输速度较慢,因此,前端采用美信公司的MAX3490芯片,将RS-422电平转换为TTL电平,由FPGA端口完成串行接收.
高速采集电路除了对前端ADC模块有较高的要求,对主控模块也提出了很高的要求,不仅需完全实现高速ADC 20 MS/s采样率的控制,还需实现其他速率较低,且传输速率各异的传感器数据采集,同时也应该具备低功耗、小体积、高集成的特点[6].
经过综合考虑,FPGA为最佳的高速采集传输控制器,其IO口资源极为丰富,并且可配置多种接口协议,其内部逻辑资源配合HDL语言,开发周期短,使用灵活.
主控模块采用赛灵思公司的K7480TFFG901-1,芯片拥有477 760个逻辑单元,74 650个寄存器,最大955块36 KB的BlockRAM,400个IO口等充足的资源.除此之外,其拥有28个GTX高速接口,为高速传输提供了极为重要的物理资源.
高速电路传输速率非常高,在相同的信道环境下,相比普通电路,高速电路信号所受到的干扰会急剧上升,因此,在高速传输中必须考虑地弹、反射、串扰、传输线损耗以及EMI噪声等非理想因素的影响,传统的串口传输和LVDS传输已经不能满足高速传输的需求,必须选用一种新的接口[7].
本文设计所采用的赛灵思7系列FPGA内部的GTX高速接口,为板间高速传输提供了十分优秀的物理基础,采用单比特的数据线和差分电路设计可以有效抑制高速信号传输中的不利因素.GTX内部分为PCS和PMA模块,包含伪随机序列、8/10译码器、电路均衡器、通道绑定模块等,其内部结构如图 4 所示.
图 4 GTX高速接口结构
FPGA逻辑模块提供的数据,经过8/10编码模块,即为Comma码.将8 bit数据转化为10 bit的并行数据,以查找表的方式将数据码转换,编码原则是保证码流的“0” 和“1”均衡,很好地避免了串扰带来的不利影响,稳定了高速传输中的信号状态.
码流中包含数据码(D码)和控制码(K码),其中不仅包含数据信息,同时也包含时钟信息,这在接收端的Comma检测中至关重要,接收端基于此来进行数据的恢复和时钟恢复.
端口差分电路采用CML(电流模逻辑)接口电路,设定可调节的端源电阻为50 Ω,使得输出的差分摆幅达到800 mV,在接口处完成了阻抗匹配,较高的电压摆幅有效提高了信号的驱动能力,可以减少传输线路对高频信号的损耗[8].
GTX模块的时钟域,是由自己独立的QPLL/CPLL时钟域提供,输入为差分时钟,保证了时钟的稳定性.
K7480T内部集成的GTX高速接口,在不占用额外的逻辑资源的情况下即可完成高性能、高效率的接口设计,传输速率完全达到系统的设计要求.
考虑电路的使用环境和传输距离,采用的ADC采样频率为20 MS/s,那么高速接口的吞吐率接近20×106×(16×6+88),约为3.6 Gbit/s,所以采用的传输接口带宽必须达到这个要求.
基于传输线的低通滤波器效应分析,最终选择光纤传输,GTX高速接口的BANK上相应的差分引脚连接到光纤基座上,将电信号转化为光信号,通过光纤将信息传送给接收端, 见图 5[9].
图 5 光纤连接图
FPGA为控制模块,面对来自不同传感器的速率信息,需要通过合适的编码方式才能让数据信息通过GTX高速接口稳定传输,同时,GTX接口的复位过程也较为复杂,因此,FPGA必须有明确的控制流程,多线程同时运作才能完成高速采样和高速传输的过程.
考虑到需要同时采集3种不同频率的传感器信息,以及传输后端对信息的处理要求,采用编帧方式编码数据,即将不同的传感器信息结合编为一帧数据,以采样率最高的惯性数据为编帧速率基准,对于传输速率较慢的GPS导航卡信息和压力传感器信息,在信息接收时,加入更新状态字,即速率较慢的信息每更新1次,标志位置0,否则置1,基于此编为一帧完整的数据[10].
同时,为方便接收端在处理数据时判断接收数据的准确性将帧头加“EB90”,紧接着再加两个字节的帧计数,根据该字节累加的情况,方便后期数据回读后进行数据采集连续性的判断.
考虑到后端存储和解算系统的设计,在帧尾处加1位校验和,即前面所有数据和的低八位,如果解算系统处理数据时发现校验错误,则直接放弃对该帧数据的处理,确保解算系统对于传入数据的判断能力.完整数据帧格式见图 6.
图 6 编帧格式
由于GTX模块的结构设计,该模块的时钟域与FPGA内部的时钟域不同,为解决不同时钟域的数据传输问题,引入数据缓存模块,在解决跨时钟域传输问题的同时,也解决了位宽不匹配的问题.
Data_clk表示FPGA内部数据的同步时钟,User_clk表示GTX模块内部时钟域QPLL/CPLL产生的时钟,其工作频率大于Data_clk时钟频率,其内部并行数据传输位宽也大于带传输数据位宽,见图 7.
图 7 发送端缓存模块与编码模块设计图
缓存模块通过FPGA内部FIFO完成时钟域转换,由于输入的数据是并行的,需要经过串并转换然后差分发送,这就需要在接收端,对串行数据解串,串转并后才能继续.也就是,说接收端需要知道从某个位置开始将串行数据截取为一段段的并行数据,因此在传输端与接收端之间,会约定一个可识别的特殊序列,即Comma码,检测原理见图 8.
图 8 Comma码检测原题
Comma码分为数据码(D码)和标识码(K码).D码和K码在8/10编码器中对应不同的转换方式,在传输数据前首先发送标识码K码,约2 000个字节,以方便接收端的数据对齐,K码通常选K28.1,K28.5,K28.7.除此之外也需要在编好帧的数据前端再加一个K码,稳定接收端的数据对齐,即在读信号从缓存模块中读出数据后,要在编帧完成的数据前端加K28.5,转换为十六进制,即为8’HBC.
这样经过8/10译码器后,进行串并转换,由GTX前端差分发送,在接收端就可以正常识别,实现3.6 Gbit/s的高速传输.
在高速采集传输系统中,前端采集的传感器需要30 s左右的复位时间,采集电路在这期间有足够的时间完成对电路各模块的控制.系统上电后,内部控制流程见图 9.
图 9 内部控制流程
为完整验证系统的采集和存储过程,对采集前端加信号源,再通过光纤连接后端存储模块.通过实际电路连接测试,对线路的完整性进行动态测试,通过读数设备将后端存储模块中的部分数据读至计算机中,对数据进行处理;当帧头正确,各数据位按照编帧设计排列,最后校验和正确,即为解算完成,上位机界面以及数据解算分离情况见图 10.
图 10 上位机控制界面
经过上位机处理后,一帧数据被分为惯性数据、GPS卫星导航数据、压力传感器数据,在每一帧数据中都有帧计数以说明数据的连续性,帧头、帧计数以及惯性数据见图 11.
图 11 部分帧头+帧计数+惯性数据
通过帧头“EB90”可以清楚地将不同帧数据分开,图中方框标注部分即为不断累加的帧计数,可清楚判断帧计数是连续的,采集模块工作稳定,数据传输连续,可以实现预计采集要求.
通过实际的电路连接测试实验,得到部分采集数据如图 12 所示,图中分别为压力传感器数据和惯性传感器数据.压力传感器数据与当地实际气压值比对,结果相近;惯性传感器数据通过解算模块进一步计算分析,结果正确,数据准确完整,满足了设计要求.
图 12 部分采集数据
本文从采集电路的系统总体设计、硬件电路设计、FPGA编码设计三部分详细介绍了基于箭载测控系统的高速数据采集传输电路,通过连接前端传感器、后端存储与处理模块,并结合上位机完成了性能测试与实验验证,实验结果证明了该设计的可行性与稳定性.通过布局布线与选择高速传输模块不仅提高了传输速度,还有效避免了传统高速传输中地弹、反射、串扰、传输线损耗以及EMI噪声等非理想因素的影响.选择高采样率的A/D转换器大大提高了传感器的采集速率,可以为箭体姿态的准确分析提供可靠的数据.另外,该电路具有非常灵活的移植性,适用于各种高速数据采集环境,包括声呐、遥感、地质探测等诸多测控领域.