高速大容量双冗余机载雷达数据记录仪设计
2017-03-28张志伟崔建峰李祖博
张志伟,靳 鸿,崔建峰,王 健,李祖博
(1.中北大学 电子测试技术国家重点实验室,山西 太原 030051;2.中北大学 仪器科学与动态测试教育部重点实验室,山西 太原 030051;3.北方自动化控制技术研究所,山西 太原 030006)
高速大容量双冗余机载雷达数据记录仪设计
张志伟1,2,靳 鸿1,2,崔建峰1,2,王 健3,李祖博1,2
(1.中北大学 电子测试技术国家重点实验室,山西 太原 030051;2.中北大学 仪器科学与动态测试教育部重点实验室,山西 太原 030051;3.北方自动化控制技术研究所,山西 太原 030006)
针对高速机载雷达数据传输速度快、数据量庞大的特点,设计了一种基于FPGA的高速大容量双冗余载雷达数据存储系统。系统以FPGA为逻辑控制中心,采用高速FIFO和Flash流水线操作实现了高速雷达数据无缝缓存和连续高速存储,并采用二维无效块检测列表刷新算法保证了双冗余数据的可靠性,减少了FPGA内部资源的占用。试验结果表明:系统工作稳定,记录数据完整准确,能够实现对传输速率为24 MiB/s高速并行雷达数据的双冗余存储。
飞行器仪表、设备;机载雷达数据;双冗余;高速FIFO;Flash流水线操作
机载雷达能够准确地探测相关目标的距离、速度、方位等状态参数,在保证飞机器的飞行安全方面起着重要的作用。在飞行器飞行试验中,机载雷达数据存储系统作为重要的记录设备,记录着飞行器的重要工作环境参数和飞行动态参数,为飞行器机载雷达的改进设计提供了可靠的试验依据。随着机载雷达数据传输速度以及数据量的不断增加,要求记录仪具有存储容量大、存储速度块、存储数据完整度高等特点[1-3]。针对相关课题的技术指标及要求,设计了一种基于FPGA的高速大容量双冗余机载雷达数据存储系统。
1 系统总体设计
某机载雷达回波数据的发送接口采用了驱动芯片DS90LV047A;雷达回波数据的发送形式为:8位并行数据DB[7∶0]、1位时钟信号CLK和1位写使能信号wren;所有数据都采用LVDS低压差分形式进行传输,数据传输速率为24 MiB/s;要求数据以字节为单位进行存储,存储容量不小于30 GiB,且双冗余存储。雷达回波数据发送时序如图1所示,wren跳变与时钟上升沿之间的延迟时间tp≤20 ns。
雷达回波数据存储系统实现的功能是:接收8位并行LVDS数据,通过LVDS接口电路转换为TTL电平形式的8位并行数据,数据经过隔离后由控制单元FPGA内部的FIFO接收缓存,然后在FPGA的控制下写入Flash存储介质中。雷达回波数据存储系统结构框图如图2所示。
2 系统硬件设计
2.1 接口电路设计
由于雷达回波数据的发送接口采用了驱动芯片DS90LV047A,所以接口电路的数据接收芯片选用了3片与之匹配的DS90LV048A,其中2片用来接收8位并行LVDS数据,另外一片接收1位时钟信号CLK和1位写使能控制信号wren。为了保证信号源数据传输的稳定性,DS90LV048A输出的信号通过数字隔离芯片ADUM3440数字隔离处理后,最后输入FPGA。
2.2 控制模块设计
设计采用FPGA作为系统内部的核心控制单元,主要用来实现数据接收与存储过程的逻辑控制、无效块检测列表以及数据缓存FIFO的构建等功能,而这些功能都需要开发FPGA内部的逻辑资源,通过硬件描述语言来实现。
2.3 存储模块设计
按照要求,并行雷达回波数据传输速率为24 MiB/s,存储容量不小于30 GiB。因此,采用16片NAND型Flash芯片K9WBG08U1M作为存储介质[4-5],其中8片K9WBG08U1M存储芯片作为主存,每4片K9WBG08U1M组成一组16 GiB的存储单元,每组采用流水线操作进行扩展,两组按顺序存储方式存储,存储容量共32 GiB满足存储容量不小于30 GiB的要求。另外8片Flash存储芯片为备份,同步存储。
K9WBG08U1M一页的存储容量是4 KiB。芯片的存储时间分为加载时间和编程时间两部分,写满一页所需的命令、地址和数据的加载时间总共为102.5 μs,编程的典型时间为200 μs,最大编程时间为700 μs[6],若采用顺序存储方式,对单片Flash而言,单片存储速率介于5.1~13.54 MiB/s之间,无法实现24 MiB/s传输速率的连续存储。由于每片K9KAG08U1M由两片K9KAG08U0M组成,故每组16 GiB存储单元共由8片K9KAG08U0M组成,为了最大限度提高Flash芯片的存储速度,每组存储单元采用了流水线技术[7-8],流水线技术的原理图如图3所示。
每组存储单元共需要进行8次加载操作,后面7次的加载时间一共为7×102.5 μs=717.5 μs,大于最大编程时间700 μs,因此每组存储单元的存储速率为4 KiB÷102.5 μs≈39.96 MiB/s,满足24 MiB/s的存储速度要求。
3 FPGA逻辑控制器设计
3.1 接口控制程序设计
系统启动记录后,FPGA将接口芯片DS92LV048A的使能管脚EN拉高,使3片DS92LV048A同时进入接收状态,当FPGA判断到写使能信号wren处于高电平时,8位并行LVDS数据在时钟信号CLK的驱动下发送到接收芯片DS92LV048A的数据输入端口,经过DS92LV048A转换为8位并行TTL数据输出。并行雷达数据接收时序设计如图4所示。
3.2 缓存模块设计
为了保证传输数据的连续性,在采集过程中,采用FPGA内部的两片独立的高速FIFO实现对DS92LV048A输出的8位LVDS并行数据无缝缓冲。Flash写操作是以页(1页容量为4 KiB)为单位进行,故设置FIFO的容量为4 096×8位,深度为N=4 096,两片FIFO构成了乒乓机制,一片FIFO接收并行雷达数据的同时另一片FIFO发送并行雷达数据。系统上电后,先对FIFO1和FIFO2进行初始化处理,清空两片FIFO中的数据,当wren处于高电平时,首先使FIFO1写使能有效,以写入时钟FWR(FWR=24 MHz)将8位并行雷达数据选择分配到FIFO1中;若检测到FIFO1的全满标记信号FF1为高,则使FIFO2写使能有效,雷达数据缓存到FIFO2,同时Flash进入开始页编程状态,并以30 MHz写时钟tWC加载FIFO1中的数据;同理,若检测到FIFO2的全满标记信号FF2为高,再次缓存到FIFO1,同时Flash进入下一页编程状态,并以30 MHz的时钟加载FIFO1中的数据,实现了并行雷达数据的无缝缓存。
3.3 Flash控制关键程序设计
3.3.1 二维无效块信息列表算法设计
Flash在出厂时本身就存在无效块,而且在使用过程中还会不断地产生新的无效块。按照“判一块写一块”方法[9-10]严重影响Flash的写入速度,无法实现高速存储。另外,针对大容量双冗余的存储要求,使用多个无效块信息列表,无疑增加FPGA内部的逻辑资源和程序操作的复杂度。
针对上述问题,以及为了保证双冗余数据的可靠性,设计了一种二维无效块信息列表刷新算法,在执行无效块检测之前,创建一个无效块信息列表,用来标记无效块信息,且列表地址与存储单元块地址保持相同。该无效块检测流程图如图5所示。
系统初始化完成后,无效块信息列表的内容都为有效块,之后依次对两组存储单元的主存和备份执行无效块检测,检测的结果进行“或”运算后,标记在对应的无效块信息表地址上,这样就保证在写入时跳过相同地址的存储块,程序操作保持同步。
K9WBG08U1M内部有8 192×2个存储块,那么每组Flash存储单元的主存或备份就有8 192×8=65 536个存储块,每组无效块检测结果需要1位二进制数(“1”代表无效块,“0”代表有效块)来标记,所以两组共需要建立一个存储容量为65 536×2 bit的二维无效块信息列表来存放每组坏块的标记信息。利用FPGA内部的逻辑资源开辟了一个容量为65 536×2 bit的RAM,低位代表第1组的无效块检测结果,高位则代表第2组的无效块检测结果。整个64 GiB存储单元只需要建立一个二维无效块检测列表,极大地减少了FPGA内部资源的占用。
3.3.2 双冗余存储逻辑设计
系统采用了双冗余设计思想,系统上电后进行初始化,初始化完成后,若FPGA内部的FIFO1或者FIFO2产生全满标志信号,则开始将产生全满标志信号的FIFO中的数据读出,同时写入一组Flash的主存与备份里,再进行写操作流程判断。双冗余存储逻辑设计流程图如图6所示。
4 试验结果分析
4.1 FIFO无缝缓存可行性分析
FPGA内部FIFO1写满,则输出全满标志信号FF1,Flash逻辑控制模块检测到FF1信号后,Flash进入页加载状态,经过页编程的命令(80h)、地址加载及tADL之后,开始以tWC为写时钟加载FIFO1中存储的数据。数据加载完毕后,经过页编程的命令(10h)加载和tWB之后,Flash进入编程状态,此时改变Flash存储芯片的存储地址,然后去检测FIFO2的全满标志信号FF2。K9WBG08U1M芯片页编程操作部分时序图如图7所示。
1)页编程所有的命令和地址加载时间t1为
t1=7tWC
tADL=5tWC
3)Flash页编程对FIFO1中全部数据的加载时间t2为
t2=NtWC
4)在FIFO1中的所有数据写满Flash一页的过程中,页编程所有命令、地址和数据的加载到时间t3为
t3=t1+tADL+t2+tWB≤135.66 μs
5)FIFO2写满需要的时间t为
t3 4.2 流水线操作可行性分析 图8为某次测试试验时,使用SignalTapⅡ Logic Analyzer软件对Flash页编程操作的在线仿真时序图,逻辑分析器的采样时钟fs为2 MHz。由图可以估算出写满一页所需的命令、地址和数据的加载时间tLOAD需要采样时钟个数N1=762-491=271,则 每组存储单元共进行8次加载操作,后面7次的加载时间为7×135.5 μs=948.5 μs,大于最大编程时间700 μs,满足流水线操作要求。 一组16 GiB存储单元流水线操作的存储速率v1为 满足24 MiB/s的存储速度要求。 4.3 双冗余功能试验结果及分析 采用地面试验平台对记录仪进行测试。设置某一频率为0.75 MHz的方波信号经过12 MHz时钟频率采样、16位分辨率A/D转换、低8位和高8位依次传输和LVDS电平转换后,模拟传输速率为24 MiB/s的8位并行雷达回波数据。记录完毕后,对第1组Flash存储单元的主存和备份数据都进行回读分析,经上位机软件回读后的部分测试数据如图9、10所示,图中标记部分为帧尾和帧计数,帧格式为32×16。 从图9、10的数据可知,第1组Flash存储单元的主存和备份数据完全相同,且帧数据记录完整,帧计数连续,结构完整,验证了记录仪的双冗余功能。 图11为上位机软件回读主存数据后的波形,横坐标代表采样点数(十进制),采样频率为24 MHz,纵坐标代表采样信号的bit值(十进制),从图中可以算出,一个周期采样点数N2为32,其中16个最大值3 487和最小值200分别对应图7中一帧数据的连续16个9F0D和连续16个C800,且一个周期采样点数N2为 从而验证了存储数据与信号源数据的一致性。 通过改变方波信号的幅值和频率,对记录仪进行多次试验,记录仪均能正常工作,且实现数据可靠的双冗余存储功能。 笔者介绍了一种基于FPGA的高速大容量双冗余机载雷达数据记录仪,实现对传输速率为24 MiB/s的8路并行机载雷达回波数据采集并实时存储,重点介绍了FIFO无缝缓存、流水线操作和二维无效块检测列表刷新算法3项关键技术。经试验测试,存储速度达到28.83 MiB/s,且双冗余存储数据准确,满足技术指标及要求,为高速机载雷达数据的采集存储提供了一种全新的实现手段。该记录仪具有存储容量大,存储速度快、存储数据完整度高等特点,具有广阔的应用前景。 References) [1]孟令军,李加超,文波,等.基于NiosⅡ的LVDS图像数据存储转发系统的设计[J].火力与指挥控制,2015,40(5):143-145. MENG Lingjun,LI Jiachao,WEN Bo,et al.Design of LVDS image datastorage and retransmit system based on NiosⅡ[J]. Fire Control & Command Control,2015,40(5):43-145.(in Chinese) [2]梁永刚,张会新.基于LVDS的高速远程图像采集存储系统[J].科学技术与工程,2013,13(20):6001-6006. LIANG Yonggang,ZHANG Huixin.The acquisition and storage system design of high-speed remote image data based on LVDS[J].Science Technology and Engineering, 2013,20(12):6001-6006. (in Chinese) [3]王欢,靳鸿,陈昌鑫,等.模块化和柔性化的机载数据记录仪设计[J].工程设计学报,2014,21(4):373-377. WANG Huan,JIN Hong,CHEN Changxin,et al.Design of airborne data recorder based on modular and flexible[J].Journal of Engineering Design,2014,21(4):373-377. (in Chinese) [4]魏敏,刘文怡,王金陵,等.基于交叉双平面技术的图像采集存储系统[J].电视技术,2013,37(15):63-66. WEI Min,LIU Wenyi,WANG Jinling,et al.Acquisition and storage system design of image data based on interleave two-plane page program technology[J].Video Engineering,2013,37(15):63-66. (in Chinese) [5]梁永刚,崔永俊,郇弢.基于NAND型FLASH的双备份固态存储系统[J]. 科学技术与工程,2013,13(26):7675-7682. LIANG Yonggang,CUI Yongjun,HUAN Tao. Double backup solid-state storage system design based on the NAND-type flash[J].Science Technology and Enginee-ring,2013,13(26):7675-7682. (in Chinese) [6]刘玮,崔永俊,张昊.基于LVDS的高速数字图像存储采集系统[J].仪表技术与传感器,2014(12):75-77. LIU Wei,CUI Yongjun,ZHANG Hao. High speed digital image acquisition and storage system based on LVDS[J].Instrument Technique and Sensor,2014(12):75-77. (in Chinese) [7]任勇峰,张凯华,程海亮.基于FPGA的高速数据采集存储系统设计[J].电子器件,2015,38 (1):135-139. REN Yongfeng,ZHANG Kaihua,CHENG Hailiang. Design of high-speed acquisition and storage system based on FPGA[J].Chinese Journal of Electron Devices,2015,38 (1):135-139. (in Chinese) [8]任敏,张艳兵,王欢,等.基于硬件控制的双通道机载数据记录仪[J].探测与控制学报,2014,36(3):82-85. REN Min,ZHANG Yanbing,WANG Huan,et al. A dual channel airborne radar data recorder based on hardware control[J]. Journal of Detection & Control,2014,36(3):82-85. (in Chinese) [9]曹翱翔,张会新,刘文怡,等.一种高速数字视频信号记录装置关键技术研究[J].电子技术应用,2015,41(4):87-90. CAO Aoxiang,ZHANG Huixin,LIU Wenyi,et al. Key technology research of a high-speed digital video signal recorder[J].Application of Electronic Technique,2015,41(4):87-90. (in Chinese) [10]刘雪飞,马铁华,刘廷辉,等.基于Nios II的新型弹载双备份数据记录仪[J].火炮发射与控制学报,2015,36(4):59-63. LIU Xuefei,MA Tiehua,LIU Tinghui,et al. New double backup missile-borne data recorder based on NiosⅡ[J].Journal of Gun Launch & Control,2015,36(4):59- 63. (in Chinese) High Speed and Large Capacity Double Redundancy Airborne Radar Data Recorder ZHANG Zhiwei1,2,JIN Hong1,2,CUI Jianfeng1,2,WANG Jian2,LI Zubo1,2 (1.National Key Laboratory for Electronic Measurement Technology,NUC, Taiyuan 030051, Shanxi,China;2.Key Laboratory of Electronic Science & Dynamic Measurement of Ministry of Education,NUC,Taiyuan 030051,Shanxi,China;3.North Automatic Control Technology Institute,Taiyuan 030006,Shanxi,China) In response to the characteristics of high-speed transmission and huge amount of airborne radar data, designed was a high speed and double redundancy airborne radar data storage system based on FPGA.The core of the system was FPGA logic control, which makes use of high speed FIFO and Flash pipeline operation to achieve high-speed seamless and continuous high speed storage, and makes use of two dimensional invalid block detection list refresh algorithm to ensure the reliability of double redundancy data and reduce the occupation of the internal resources of FPGA. Test results show that the system is stable and the record data is complete and accurate, which is competent for the realization of double redundancy storage of the transmission rate of 24 MiB/s high speed parallel radar data. instrument and equipment of aerocraft;airborne radar signal;double redundancy;high speed FIFO;Flash pipeline operation 10.19323/j.issn.1673-6524.2017.01.013 2016-03-17 国家自然科学基金项目(61471385) 张志伟(1991—),男,硕士研究生,主要从事智能仪器技术研究。E-mail:zzw18234139510@163.com TP33 A 1673-6524(2017)01-0063-065 结束语