收藏 分销(赏)

基于NVMe的超高速多通道遥感相机模拟源设备研制.pdf

上传人:自信****多点 文档编号:2054537 上传时间:2024-05-14 格式:PDF 页数:10 大小:11.41MB
下载 相关 举报
基于NVMe的超高速多通道遥感相机模拟源设备研制.pdf_第1页
第1页 / 共10页
基于NVMe的超高速多通道遥感相机模拟源设备研制.pdf_第2页
第2页 / 共10页
基于NVMe的超高速多通道遥感相机模拟源设备研制.pdf_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 21 卷 第 9 期2023 年 9 月太赫兹科学与电子信息学报Journal of Terahertz Science and Electronic Information TechnologyVol.21,No.9Sept.,2023基于NVMe的超高速多通道遥感相机模拟源设备研制张亮,何品权,张青林,夏巧桥*(华中师范大学 物理科学与技术学院,湖北 武汉 430079)摘要:针对当前遥感卫星电荷耦合器件(CCD)相机幅宽越来越大,速率越来越高,现有相机模拟源设备数据输出带宽不足的问题,提出并实现了一种基于非易失性存储器 Express(NVMe)的超高速多通道遥感相机模拟源设备。该设

2、备利用现场可编程逻辑门阵列(FPGA)实现 4 组 NVMe SSD 主机控制器,完成对固态硬盘(SSD)的读写操作;同时利用 DMA 控制器读取 DDR4 中缓存数据,数据经封装处理后通过光纤接口输出。实验结果表明:NVMe 主机控制器的写平均速率可以达到 1.7 GBps,读平均速率达到 3.2 GBps。模拟源系统整体存储容量 8 TB,对外输出带宽高达80 Gbps,支持 8 路光纤接口输出。该模拟源具有较强的稳定性及良好的可扩展性,已成功应用在某遥感卫星 CCD 相机模拟源系统中,为数传等设备的测试以及调试提供了充分保障。关键词:模拟源;非易失性存储器Express;现场可编程逻辑门

3、阵列;CCD相机;光纤中图分类号:TP73 文献标志码:Adoi:10.11805/TKYDA2021231Development of an ultrahigh-speed multi-channel remote sensing camera Development of an ultrahigh-speed multi-channel remote sensing camera simulator based on NVMesimulator based on NVMeZHANG Liang,HE Pinquan,ZHANG Qinglin,XIA Qiaoqiao*(School of

4、 Physical Science and Technology,Central China Normal University,Wuhan Hubei 430079,China)AbstractAbstract:Aiming at the problem that the current remote sensing satellite Charge Couple Device(CCD)camera has an increasing width and speed,and the output bandwidth of existing camera simulator is insuff

5、icient,an Non-Volatile Memory express(NVMe)based ultrahigh-speed multi-channel remote sensing camera simulator is proposed and implemented.This simulator employs a Field Programmable Gate Array(FPGA)to implement four groups of NVMe SSD host controllers and complete the read and write operations on t

6、he Solid State Drive(SSD).The Direct Memory Access(DMA)controller is utilized to read the cache data in DDR4,and the data is output through the optical fiber interface after being encapsulated.Experimental results show that the average write rate of the NVMe host controller can reach 1.7 GBps,and th

7、e average read rate can reach 3.2 GBps.The overall storage capacity of the simulator is 8 TB,the external output bandwidth is up to 80 Gbps,and it supports eight-way optical fiber interface outputs.This simulator with strong stability and good scalability,has been successfully applied in a remote se

8、nsing satellite CCD camera simulator system,which provides sufficient guarantee for the testing and debugging of device such as data transmission.KeywordsKeywords:simulator;Non-Volatile Memory express;Field Programmable Gate Array;CCD camera;optical fiber作为卫星综合电子分系统的重要组成部分,遥感卫星 CCD 相机完成遥感图像的拍摄,并将图像输

9、出到系统后级数传、压缩等设备进行相关处理操作。当测试数传、压缩等相关设备的功能完整时,设备需反复与相机进行迭代调试。由于遥感相机内部构造复杂,对使用环境较为苛刻,并且具有一定的空间特殊性,因此需要一种在调试阶段能够替换遥感相机的模拟源设备。该设备可根据协议输出特定格式的图像帧,实现模拟多种遥感文章编号:2095-4980(2023)09-1178-10收稿日期:2021-06-03;修回日期:2021-07-12基金项目:湖北省自然科学基金资助项目(2020CFB474);华中师范大学中央高校基本科研业务费资助项目(CCNU20ZT002)*通信作者:夏巧桥 email:第 9 期张亮等:基于

10、NVMe的超高速多通道遥感相机模拟源设备研制CCD 相机的功能,并能够与数传、压缩等设备进行交互,配合其完成调试工作。遥感相机模拟源设备降低了卫星综合电子分系统的调试成本与难度,提高了系统的研制效率,因此国内学者在此领域进行了大量研究工作。目前国内遥感相机模拟源设备基本使用 FPGA 作为主控制芯片,主要区别在于存储介质与输出接口的选择上有所不同。唐瑞等使用 Xilinx Virtex-7 系列 FPGA 作为主控芯片,使用 DDR3 SDRAM 作为数据缓存,通过Camera Link 与 CoaxPress(CXP)接口进行数据回放1。栗明明等将 Xilinx Virtex-5 系列 FP

11、GA 作为主控芯片,使用NAND FLASH 存储数据,通过低电平差分信号(Low-Voltage Differential Signaling,LVDS)接口回放数据2。刘朔等采用 Xilinx Virtex-7 系列 FPGA 作为控制芯片,使用 NI 公司的 PXIe 高速数据硬盘存储数据,输出接口为TLK27113。兰功盾等采用 Xilinx Kintex-7 系列 FPGA 作为控制芯片,使用 DDR3 SDRAM 作为缓存,数据通过Camera Link 接口输出4。张敏等使用 FPGA 作为主芯片,采用由 16 片 FLASH 组成的阵列存储图像数据,通过TLK2711,Came

12、ra Link 接口进行数据回放5。张卓等采用 Xilinx Virtex-2 系列 FPGA 作为控制芯片,使用 FLASH 存储图像数据,采用 RS422、LVDS 接口作为数据回放通道6。朱雨等使用 Xilinx Virtex-5 系列 FPGA 作为主控芯片,存储介质采用 FLASH 阵列,数据通过 LVDS 接口进行输出7。杨兆君等采用主控芯片为 FPGA 的 PXIe 机箱作为硬件平台,使用 FLASH 阵列作为存储单元,回放数据通过 LVDS 接口输出8。王譞等采用型号为 Altera Stratix-系列 FPGA 作为控制单元,使用包含 4 块 SATA SSD 的硬盘阵列作

13、为存储单元,回放数据通过 LVDS 与射极耦合逻 辑(Emitter Coupled Logic,ECL)接 口 输 出9。张 贵 祥 等 使 用 FPGA 作 为 主 控 制 芯 片,数 据 存 储 到 NAND FLASH,并通过 LVDS 接口输出10。鲁琴等使用 Xilinx Virtex-4 系列 FPGA 作为主控芯片,存储介质采用 NAND FLASH11。随着航天科技极速发展,遥感卫星 CCD 相机幅宽迅速增加,输出速率不断提高。上述使用 SATA SSD与 NAND FLASH 作为存储介质的相机模拟源设备在读写速度与存储容量上已无法满足当前相关数传设备的调试需求,且 LVD

14、S、TLK2711 等输出接口由于自身的限制,导致系统的带宽无法继续提升,因此当前较多新型高速遥感相机均采用高速光纤接口作为输出接口。针对上述问题,本文设计并实现了一种基于非易失性存储器 Express(NVMe)的超高速多通道遥感相机模拟源设备。该设备在 FPGA 内部实现 4 组 NVMe 主机控制器,完成对 NVMe SSD 的读写访问。使用 DMA 控制器搬移DDR4 中缓存数据,数据格式化处理后通过 8 路光纤接口输出。实验测试表明:NVMe 主机控制器写平均速率可以达到 1.7 GBps,读平均速率达到 3.2 GBps,模拟源系统存储容量 8 TB,整体对外输出带宽 80 Gbp

15、s。目前已成功运用于某遥感卫星 CCD 相机模拟源系统中,为数传等设备的调试与验证提供了保障。1模拟源系统硬件设计模拟源设备结构如图 1 所示,设备使用 VPX 总线标准,VPX 总线是 VME 国际贸易协会组织于 2007 年在其VME 总线基础上提出的新一代高速串行总线标准。将 Xilinx Zynq UltraScale+MPSoC XCZU19EG 作为 FPGA 主芯片,该芯片资源充足,包括 522 720 个显示查找表(Look-Up-Table,LUT),984 个块随机存储器(Block RAM,BRAM),1 760 个输入输出(Input/Output,I/O),48 个高

16、速收发器以及 5 个 PCIe 硬核。模拟源设备同时外接DDR4、EMMC、Flash 等芯片。设备硬件板卡实物图如图 2 所示。设备通过 RJ-45 接口接收上位机图像数据文件,数据经 DDR4 缓存后由 FPGA 存储到 NVMe SSD 中。当需要数据回放时,相关设备通过 RJ-45 接口或 RS-422 接口控制模拟源设备开启输出功能。数据输出时,FPGA 读取Fig.1 Structure of simulator图1 模拟源设备结构Fig.2 Physical image of simulator board图2 模拟源板卡实物图1179太赫兹科学与电子信息学报第 21 卷SSD

17、中存储数据并进行相应帧格式封装,封装后数据通过 2 路四通道 SFP(Quad Small Form-factor Pluggable,QSFP)接口输出,1 路 QSFP 物理接口支持 4 通道光纤接口。2模拟源系统程序设计2.1 系统程序框架程序设计主要分为两部分:处理系统(Process System,PS)端嵌入式程序设计;可编程逻辑(Process Logic,PL)端 FPGA 程序设计。PS 端程序包含存储控制、文件管理、网络控制 3 个模块,主要负责工作模式设置、文件管理、数据上传等功能。PL 端程序主要包含 NVMe 主机控制器、DMA 控制器、载荷封装、Aurora GT

18、4 个模块,主要完成 NVMe SSD 读写、DDR4 数据搬移、数据封装以及发送等功能。系统程序框架如图 3 所示。模拟源设备根据控制设备的存储指令,将上位机图像数据文件通过 DDR4 进行缓存,然后 PS 端发送 NVMe写命令。NVMe 主机控制器接收命令后,通过控制 XDMA 将 DDR4 中数据搬移至 SSD。图像数据文件为相机真实图像数据或按照约定帧格式预生成的图像数据,可模拟多种不同型号遥感相机的图像帧格式。当接收到控制设备的回放输出指令时,PS 端发送 NVMe 读命令。NVMe 主机控制器控制 XDMA 将 SSD 中指定区域数据搬移至DDR4。然后 PS 端根据当前链表配置

19、 DMA 控制器,配置完成后 DMA 控制器读取 DDR4 中缓存数据,并写入载荷封装模块。载荷封装模块按照约定协议对配置数据进行封装处理,处理后将数据写入 Aurora GT 模块。该模块采用 Aurora 协议将数据通过 QSFP 接口输出。下面分别介绍 PL 端 NVMe 主机控制器、DMA 控制器、载荷封装以及 Aurora GT 4 个模块的功能实现。2.2 NVMe 主机控制器NVMe 主机控制器框架如图 4 所示。控制器基于 NVMe 协议实现,完成对 NVMe SSD 的读写操作。对外接口为 AXI Lite Slave、AXI Memory Mapped Slave 以 及

20、AXI Lite Master 接 口。控 制 器 内 部 包 括 5 个 模 块:Buffer_RAM、Host_Command_Transceiver、AXI-MM-Slave 2Host、Host2 AXI-Lite-Master、State_Track。Fig.3 Framework of system program图3 系统程序框架Fig.4 Block diagram of NVMe host controller图4 NVMe主机控制器结构框图1180第 9 期张亮等:基于NVMe的超高速多通道遥感相机模拟源设备研制2.2.1 Buffer_RAM模块内部基于 BRAM 资源实

21、现 4 个 32 bit 位宽、深度可配置的伪双口 RAM,对外数据位宽 128 bit。利用此RAM 实现 NVMe 协议中的提交队列(Submission Queue,SQ)与完成队列(Completion Queue,CQ),同时缓存部分管理命令执行过程中发送与返回的数据信息。2.2.2 Host_Command_TransceiverFPGA 设计的优势在于并行处理。当遇到需要顺序执行的场景时,可利用有限状态机通过状态间的切换实现串行处理操作。NVMe 命令收发模块主要基于读写 2 个状态机来模拟 NVMe 命令执行流程。图 5 为一次 NVMe 命令执行流程。NVMe 命令处理流程包

22、括 8 个步骤:a)主控写命令到提交队列;b)主控写提交队列门铃寄存器;c)SSD 获取命令;d)SSD 执行命令;e)SSD 返回命令 完 成 报 文(Completion Queue Entry,CQE);f)SSD 触发中断;g)主控处理完成报文;h)主控写完成队列门铃寄存器。命令处理流程基本为主机控制器与 SSD 之间的读写访问操作。因此使用读写状态机可保证命令按照既定顺序执行,主机控制器能够与 SSD 正常通信。读状态机包含 7 个状态,写状态机包含 11 个状态。图 67 分别为读、写状态机时序转换图。读写状态主要分为两种:第一种为 PS 端对主机控制器的读写操作;第二种为主机控制

23、器对 SSD 的读写操作。NVMe 命令包括 IO、Admin 两种。在控制器模块中,通过 Admin 与 IO 寄存器数组存放对应命令以及状态执行信息。将命令当前执行状态与提交队列/完成队列空间信息作为状态转移条件,实现状态扫描切换。当 NVMe 主机控制器接收到完成报文时,根据解析状态对提交队列/完成队列地址指针进行修改,完成队列状态的更新。进入状态机后完成以下 3 个步骤:a)空闲状态;b)地址解析;c)访问对应地址空间,结束后回到空闲状态。当回到写空闲状态时,首先查询命令,完成报文的处理状态;处理完毕,则写完成队列门铃寄存器,结束此次命令处理流程。否则,继续等待地址有效。当写通道完成地

24、址更新并被有效接收时,解析该地址。根据解析结果跳转到不同的状态,完成对指定区间的数据填充。Fig.5 Processing flow of NVMe command图5 NVMe命令处理流程Fig.6 Transition diagram of the read state machine图6 读状态机转换图Fig.7 Transition diagram of the write state machine 图7 写状态机转换图1181太赫兹科学与电子信息学报第 21 卷写控制器内部存储单元:完成命令参数缓存以及状态信息更新。定义命令触发寄存器,访问此寄存器时,SSD 获取命令,并通过 XD

25、MA 完成对应地址区域数据的搬移。写 NVMe SSD 内部控制寄存器:初始化 NVMe SSD,建立主机控制器与 SSD 之间的通信链路。读状态机与写状态机类似。通过读相应地址区间,获取控制器内部各单元当前状态以及 SSD 初始化信息。控制器中 IO Regs 分为以下四类。1)Wr Regs:记录 NVMe 命令格式中数据指针(Data Pointer,DPTR)、逻辑区块地址(Logical Block Address,LBA)、逻辑区块数量等参数。同时定义命令触发寄存器,写此寄存器开启新的一次 NVMe 命令执行流程。2)Rd Regs:记录队列空满等状态信息。3)Track Regs

26、:记录 NVMe 命令完成状态。4)Cmd Regs:记录 NVMe 命令种类、所属 SQ 以及访问 SSD ID 等信息。如果此次访问寄存器为命令触发寄存器,则查询 Cmd Regs 获取相应信息,然后判断命令类型。为 Admin 命令:状态直接跳转到 WRITE_SQ_Doorbell,此时命令已缓存在队列中;为 IO 命令:首先判断队列空满,未满时状态跳转到 Write_SQ,同时将命令参数信息根据物理区域页寻址方式、分散/聚集列表寻址方式的不同,组成对应格式的命令提交报文(Submission Queue Entry,SQE),并写入到 SQ 中。当访问 Track Regs 获取对应

27、 NVMe 命令的执行状态时,状态跳转到 Read_Track。将此次访问 Track Regs 对应命令 ID 写入 State_Track 模块。模块在处理完成后返回查询命令的执行状态。2.2.3 AXI-MM-Slave2Host此模块完成 AXI-MM-Slave 到控制器内部的接口转换。AXI-MM-Slave 接口通过 AXI 连接至 XDMA 的 AXI-MM-Master 接口。NVMe SSD 通过 AXI-MM-Master 接口获取控制器内部发送缓存中 SQE。命令执行结束后返回的 CQE 通过 XDMA 的 AXI-MM-Master 接口写入主机控制器内部接收缓存中。

28、2.24 Host2AXI-Lite-Master该模块实现控制器内部接口转 AXI-Lite Master 接口的功能。转换后的 AXI-Lite Master 接口通过 AXI 连接至XDMA 的 AXI-MM-Slave 接口,控制器通过 XDMA 访问 NVMe SSD 内部控制寄存器。2.2.5 State_Track此模块解析 NVMe 命令执行后返回的 CQE,并将相应完成状态记录至内部 RAM 中。此 RAM 基于 BRAM 资源实现。模块的工作流程为:1)判 断 CQE 类 型,为 I/O CQE 时,解 析 报 文 获 取 Status Field,Command Iden

29、tifer,SQ Head Pointer,CQ Tail Pointer 等参数信息;2)缓存解析参数至对应的 RAM 中;3)根据输入命令 ID 查询 RAM 中对应状态缓存信息,查询结束后擦除。当出现同时读写 RAM 某地址的情况时,写优先。先解析 CQE 进行数据更新,然后结束此次查询操作。2.3 DMA 控制器数据回放时,PS 端首先发送 NVMe 读命令读取 SSD 中图像配置数据,数据由 DDR4 进行缓存;然后通过DMA 控制器将 DDR4 中数据写入载荷封装模块。将 DMA 控制器设置为分散-收集(Scatter-Gather,SG)模式,同时配置单次传输大小为 4 MB,此

30、时 DMA 控制器与 NVMe 主机控制器协作效率较高,不会出现缓存区数据溢出情况。SG-DMA 通过链表记录存储上不连续的地址空间,当数据需要输出回放时,PS 端通过查询链表地址配置DMA 控制器,完成对指定区域数据的搬移。一次 NVMe 读操作最多可搬移 2 MB,由于 NVMe 读盘速度会在传输过程中产生微小的波动,因此可能会存在某段时间内,数据缓存区域没有足够的数据进行回放。系统开启回放功能之前,采取提前从 NVMe SSD 中取出一定量的数据到数据缓存区中的措施,保证缓存区在整个回放过程中有足够的数据,避免数据传输中断的情况产生。在此系统中将预取数据量设置为 512 MB。为避免重复

31、配置链表的情况,开启 SG-DMA 的循环模式。在循环模式下,将 DDR4 按地址分成块,每块大小为 4 MB,并记录在链表中。在执行回放操作时,当某一小块的数据全部回放后,产生中断。PS 端接收中断后,从 SSD 中取出新的数据来更新此小块内的数据。同时 SG-DMA 继续回放下一块的数据。每一个小块均会产生一次中断。整个 DDR4 遍历一次后,不用重复配置链表地址,地址指针自动回到链表首部,进行新的一次数据传输,此时 DDR4 中数据已全部完成更新。1182第 9 期张亮等:基于NVMe的超高速多通道遥感相机模拟源设备研制2.4 载荷封装模块数据经 DMA 控制器读出后,写入载荷封装模块。

32、模块依照约定帧格式,对输入数据进行封装处理,模块内部框架如图 8 所示。待处理数据写入载荷封装模块后,首先进入一级缓存。反压模块利用一级缓存的状态,产生反馈信号,控制 DMA 控制器数据输入速率;然后经复接模块进行内外源选择后,进入源定制模块。源定制模块从辅助数据参数 RAM 中读取相关信息进行数据封装,同时插入校验和数据。数据格式化后进入二级缓存,然后写入速率控制模块。速率控制模块通过配置数据输出的正逆程来控制数据源的发送使能和发送速率,同时输出发送状态信息。正逆程与原始数据通道一一对应,每个数据通道配置 2 个 RAM。RAM1 用来存储正程信息,RAM2 用来存储逆程信息。正逆程控制信息

33、由 PS 端写入 RAM。当接口启动发送之后,首先读取正逆程数量参数,然后循环读取正逆程设定值,完成数据发送。RAM1 为 4 096 深度,支持多正程模式。RAM2 为 4 096 深度,支持多逆程以及随机逆程模式。数据通过速率控制模块后写入 AXI-Stream FIFO。最后利用 Aurora GT 模块进行 64B/66B 编码以及串并转换。转换后数据按照设定速度从 QSFP 接口输出。2.5 Aurora GT 模块Aurora GT 模块实现 AXI-Stream 接口至高速串行接口的转换。接口协议采用 Aurora 64B/66B 协议,该协议可用来进行点到点的串行数据传输,从而

34、满足高性能高带宽的数据传输需求。Aurora 64B/66B 协议基本架构如图 9所示。封装后的数据写入 Aurora GT 模块,由 Aurora GT 模块完成链路层编码和物理层处理。64B/66B 编码能够降低数据传输过程中的码间串扰,提高信道传输质量。本系统中,转换后串行信号通过光纤接口输出,传输速率为 10 Gbps。3模拟源系统测试与验证本章将分别测试 NVMe 主机控制器读写性能、系统回放带宽、传输误码率等指标,充分验证此遥感卫星CCD 相机模拟源设备的功能性以及稳定性。Fig.8 Structure of the payload package module图8 载荷封装模块结

35、构Fig.9 Basic architecture of Aurora 64B/66B protocol图9 Aurora 64B/66B协议基本架构1183太赫兹科学与电子信息学报第 21 卷3.1 NVMe 主机控制器模块测试NVMe SSD 主机控制器内部实现了硬盘读写命令收发逻辑。通过 PS 端调用相应的驱动函数向 FPGA 内部主机控制器模块发送 NVMe 读写指令。主机控制器接收指令后,完成对 SSD 指定地址区域的读写测试。3.1.1 控制器初始化 SSD图 10 为 NVMe 主机控制器在初始化阶段对 NVMe SSD 内部寄存器 AQA(Admin Queue Attribu

36、tes)、ASQ(Admin Submission Queue Base Address)、ACQ(Admin Completion Queue Base Address)进行配置的波形图。由 NVMe 协议可知,24h27h 地址区间为寄存器 AQA;30h37h 地址区间为寄存器 ACQ;28h2fh 地址区间为寄存器 ASQ,与波形显示结果吻合。初始化成功后可对 SSD 进行读写操作。3.1.2 SSD 获取 NVMe 命令图 11 为 PS 端向 NVMe 主机控制器发送 NVMe IO 命令后,NVMe SSD 通过 AXI-MM-Slave 获取控制器内部命令的波形图。接口数据位宽

37、为 128 bit,NVMe 命令为 64 byte。因此分 4 次进行 NVMe 命令传输。第一次配置命令NSID(Namespace Identifier)、CID(Command ID)、Opcode 等参数;第二次配置 DPTR 等参数;第三次配置 LBA 等参数;第四次配置逻辑区块数量等参数。图 11 为发送第一次 NVMe IO 命令时抓取的波形图。从图中可以看出,此时 DPTR 地址为 0 x80000000,对应工程中 DDR4 基地址。搬移逻辑块数量为 4 096,一个逻辑块为 512 byte,因此系统中一次 NVMe 命令搬移数据量为 2 MB。由波形图可知,控制器能够正

38、常工作,完成对 NVMe SSD 的正常访问。3.1.3 NVMe 主机控制器性能测试实验采用的 NVMe SSD 分别为三星 960PRO(2 TB),三星 970EVO(1 TB)以及三星 970EVOPLUS(2 TB),SSD 中每块扇区大小为 512 byte。图 1213 为 3 块 NVMe SSD 读写性能随单次传输大小增加的变化趋势,读写时间固定为 1 s。横坐标代表单次传输数据量大小,纵坐标代表平均读写速率。由图可知,3 块 NVMe SSD 读写速率随单次传输数据大小的增加而增加,当单次传输大小达到 256 kB 及以上时,速率达到一个较为稳定的值。图 1415 为 3

39、块 NVMe SSD 读写性能随读写数据量的变化趋势,单次传输大小固定为 1 MB,满盘测试。由图可知,3 块 NVMe SSD 读速率均较为稳定,三星 960PRO 写速度较为稳定,三星 970EVO 与三星 970EVO PLUS 随着写数据量超过 SSD 内部缓存大小,写速率有较大幅度下降,且由于采用颗粒的不同,在持续读写速度上970EVO PLUS 要优于 970EVO 以及 960PRO。利用此主机控制器完成对 NVMe SSD 的读写访问,硬盘读写速度较 SATA SSD 有极大的提升。模拟源设备主要性能参数为回放带宽,因此在综合考虑硬盘读速度与存储容量的情况下,选择三星 970E

40、VOPLUS 作为模拟源设备的存储介质,能够满足相机模拟源系统的各项要求。Fig.10 Initialization sequence图10 初始化时序Fig.11 Command acquisition sequence图11 命令获取时序1184第 9 期张亮等:基于NVMe的超高速多通道遥感相机模拟源设备研制3.2 模拟源带宽性能测试模拟源系统存储单元由 4 块容量为 2 TB 的三星 970EVOPLUS 组成。单块 SSD 读平均速度达到 3.2 GBps,写平均速度达到 1.7 GBps。模拟源设备通过 2 路 QSFP 接口进行回放,由于数据从 SSD 中被读出到通过光口输出中间

41、需要经过其他逻辑处理,因此回放带宽会有一定的衰减。经长时间测试可得:每路 QSFP 接口对外输出带宽达到 40 Gbps,因此模拟源设备对外整体回放带宽为 80 Gbps。3.3 系统整体测试为验证系统整体功能,将相机模拟源设备与解析采集设备通过千兆网络交换机与上位机连接,测试框架如图 16所示。上位机利用千兆网口发送图像配置文件至模拟源系统中进行数据存盘,存盘结束后发送回放指令。模拟源设备开启数据回放功能,将封装后的数据通过光口发送至解析采集设备。解析采集设备对输入数据进行采集,然后通过光口将数据发送给上位机进行存盘。上位机开启数据实时比对功能进行误码率的计算。采用以下 4 种方式进行模拟源

42、设备数据传输误码率测试,检测模拟源系统是否能够长时间连续正确传输数据。1)上位机输出的图像帧中包含帧计数参数,通过观察解析采集系统采集到的数据流中该参数是否连续,从而判8 16 32 64 128 256 512 1 024 2 048 signal transfer size/kB 3 500 3 000 2 500 2 000 1 500 1 000 500 0 960PRO(2 TB)970EVO(1 TB)970EVOPLUS(2 TB)transmission rate/(MBs-1)Fig.12 Read speed of NVMe SSD at fixed time图12 固定时

43、间下NVMe SSD读速度8 16 32 64 128 256 512 1 024 2 048 signal transfer size/kB 3 000 2 500 2 000 1 500 1 000 500 0 960PRO(2 TB)970EVO(1 TB)970EVOPLUS(2 TB)transmission rate/(MBs-1)Fig.13 Write speed of NVMe SSD at fixed time图13 固定时间下NVMe SSD写速度 0 500 1 000 1 500 2 000 data size/GB 3 000 2 500 2 000 1 500 1

44、 000 500 960PRO(2 TB)970EVO(1 TB)970EVOPLUS(2 TB)transmission rate/(MBs-1)Fig.14 Read speed of NVMe SSD at a fixed single transfer size图14 固定单次传输大小下NVMe SSD读速度 0 500 1 000 1 500 2 000 data size/GB 3 000 2 500 2 000 1 500 1 000 500 960PRO(2 TB)970EVO(1 TB)970EVOPLUS(2 TB)transmission rate/(MBs-1)Fig.

45、15 Write speed of NVMe SSD at a fixed single transfer size图15 固定单次传输大小下NVMe SSD写速度Fig.16 Test framework图16 测试框架1185太赫兹科学与电子信息学报第 21 卷断数据传输的连续性;2)图像发送数据流中每一帧均包含校验和,解析采集设备接收回放数据时同时进行相关计算,可以判断数据在传输过程中是否产生误码;3)图像帧载荷数据区符合图像相应格式规范;4)上位机通过采集软件比对采集数据,并将校验错误计数值进行实时显示。经充分测试,设备在 24 h 不间断工作下,数据传输无误码。并且已成功运用到某遥感

46、相机模拟源系统中,系统如图 17 所示。3.4 本文所研制模拟源与已有设备对比根据已有文献梳理现有相机模拟源设备存储容量以及输出带宽等特性,得出表 1 所示结果。从表 1 可以看出,在存储容量上本文设计的模拟源设备大于除文献9外的其他模拟源设备,在数据输出带宽上也远优于其他设备。同时数据通过高速接口进行输出,解除了低速接口对于模拟源设备性能的限制。4结论随着遥感卫星 CCD 相机幅宽愈来愈大,传输速率愈来愈高,现有模拟源设备输出带宽已无法满足相关数传设备的测试要求。针对这一问题,本文设计并实现了一种基于 NVMe 的超高速多通道遥感相机模拟源设备。系统利用 FPGA 实现了 4 组 NVMe

47、SSD 主机控制器,完成对 NVMe SSD 的读写访问,解决了已有模拟源设备采用SATA 协议对于数据输出带宽的限制。在保证模拟源设备存储容量的同时,极大提高了数据回放速度。模拟源设备整体对外回放带宽高达 80 Gbps,系统结构稳定,可移植性强,且具有较低的功耗,能够满足当前数传设备的各种需求,已成功运用于某遥感相机模拟源系统中,具有较高的实际应用价值。参考文献:1 唐瑞.高速图像模拟源的研究与实现D.绵阳:西南科技大学,2019.(TANG Rui.Research and implementation of high-speed image simulation resourceD.M

48、ianyang,China:Southwest University of Science and Technology,2019.)2 栗明明.遥感卫星有效载荷数据模拟系统研制D.哈尔滨:哈尔滨工业大学,2019.(LI Mingming.Development of payload data simulation system for remote sensing satelliteD.Harbin,China:Harbin Institute of Technology,2019.)3 刘朔.1 200 Mbps码速率的载荷数据模拟源研制D.哈尔滨:哈尔滨工业大学,2017.(LIU S

49、huo.Development of payload data simulator with a rate of 1200 MbpsD.Harbin,China:Harbin Institute of Technology,2017.)4 兰功盾.基于 FPGA 的 PCIe-Camera Link 图像信号模拟源研究D.哈尔滨:哈尔滨工业大学,2017.(LAN Gongdun.Research on PCIe-camera link image signal generator based on FPGAD.Harbin,China:Harbin Institute of Technolo

50、gy,2017.)5 张敏,金龙旭,李国宁,等.基于TDICCD空间相机图像模拟源系统设计J.液晶与显示,2016,31(2):208-214.(ZHANG Min,JIN Longxu,LI Guoning,et al.Design of image simulation system of TDICCD space cameraJ.Chinese Journal of Liquid Crystals and Displays,2016,31(2):208-214.)6 张卓,任家峪,安然,等.一种基于NAND FLASH基带数据模拟源的设计与实现J.太赫兹科学与电子信息学报,2016,14

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服