刘静军,贺小军
长光卫星技术股份有限公司
随着遥感相机技术的快速发展,其数字化后的图像数据量随之增大,目前常用图像输出接口为TLK2711高速串行接口,而地面存储测试设备接口相对单一,只配置常规接口,比如PCIE接口、以太网接口、SFP(small formfactor pluggable optical)光模块接口等,不能直接对相机数据进行存储测试[1-2]。
考虑到PCIE接口不能远距离传输,以太网接口传输速率有限,不方便扩展。随着光纤通信技术的发展,光纤通信可以实现吉比特高带宽的数据传输和千米级长距离传输,方便地面测试,同时不易受周围的电磁环境干扰[3-4]。
基于以上考虑,本文提出了多通道遥感图像高速光纤传输系统,设计一种多路TLK2711 接口图像采集与 SFP光纤接口数据传输系统。系统以Kintex-7系列现场可编程门阵列(field-programmable gate array,FPGA)为载体,对图像进行采集和处理,最后传输给存储设备。通过地面实验,光纤传输速率可达10 Gbit/s,远高于前端相机的传输速率,使相机图像能够快速、稳定、可靠地传输至存储系统。降低了研发成本,提高了不同系统间互通性。
高速光纤图像数据传输系统使用Kintex-7系列FPGA作为主控制器[5-6]。如图1所示,系统与相机通过TLK2711高速串并转换芯片连接,每台相机由一路TKL2711接口连接,用来采集相机输出的图像数据,使用100 MHz作为系统时钟,数据位宽为16 bit,最高速率可达1.6 Gbit/s。系统有4路TLK2711接口,可同时或分时采集4台相机输出的数据,输出端通过SFP接口光纤连接地面存储设备,光纤传输速率可达10 Gbit/s。FPGA内部有多通道TLK2711图像采集模块,将采集的图像数据经过多路图像数据分时调度处理模块、 基于Aurora64/66b协议光纤传输模块,将图像数据通过光纤接口输出给存储系统。
图1 光纤高速传输系统框图
2.1 TLK2711模块电路设计
TLK2711是一种串并转换的高速收发器,支持数据率从1.6~2.7 Gbps的高速双向数据通信[7]。图2为TLK2711数据接收的原理框图,通过一对串行差分信号线DINRXP和DINRXN接收相机输出的图像数据,芯片内部通过comma检测和aurora8b/10b解码器将串行信号转换成16 bit位宽并行数据RXD0~RXD15、控制码RKMSB和RKLSB、恢复时钟RX_CLK。FPGA需要给芯片提供使能信号和100 MHz的系统时钟。本系统4路TLK2711接收电路相同,如图2所示。
图2 TLK2711数据接收原理框图
2.2 光纤模块电路设计
使用FPGA的高速串行收发器GTX与SFP光模块连接[8]。如图3所示,FPGA输出的串行差分对SFP_TX_P和SFP_TX_N与光模块连接,SFP光模块将电信号转换成光信号进行数据传输,数据率可达10 Gbps。FPGA 通过控制 TX_DISABLE信号可禁止SFP光模块工作,当接收端需要暂停接收数据时,可通过该信号控制。TX_FAULT为发送故障指示,可检测SFP发送器是否正常工作。SCL和SDA是I2C总线的时钟和数据线,可与SFP模块中控制器进行通信和配置。
图3 光纤传输接口原理框图
3.1 多路数据采集单元
4台相机与光纤图像传输系统通过TLK2711连接,图像数据采集模块并行接收4路TLK2711传输的图像数据,如图4所示,TLK2711经过串并转换输出成16 bit数据,同时例化4路图像接收模块,4路异步FIFO模块,4路数据重构模块,有效利用传输带宽资源。
图4 图像采集单元框图
TLK2711图像接收模块状态机如图5所示,系统首先在IDLE状态等待接收使能指令,如果收到数据接收指令,即Photo_en为1,则进入SOP状态,在该状态下搜索数据,直到数据为数据帧头5CFB,同时控制码RKMSB和RKLSB都为1时,进入DATA状态,这样能够剔除同步字符,接收有效数据。在DATA状态,开始计数到1 024拍,即接收一整帧数据后,跳转到End状态,停止接收数据,跳转到IDLE状态,等待下一帧数据。
图5 TLK2711图像接收模块状态机
将接收到的16 bit有效数据传输给异步变宽FIFO缓存,该异步FIFO可对数据进行跨时钟域处理,由于多路TLK2711解码输出图像数据的参考时钟为外部时钟,时钟相位不一致,需要将外部时钟转换成本地参考时钟,如果不对外部时钟进行处理,可能引起系统亚稳态,造成系统采集数据混乱。同时FIFO还能够将数据进行位宽变换处理,将16 bit数据转换成64 bit数传给下级数据重组模块。
数据重组模块主要功能是将数据进行打包组帧处理,根据通道来源添加相机标识、流水号和帧头等信息,通过判断FIFO将空信号高低来选择是否读数据,如果FIFO非空后级OFULL非将满,则读FIFO数据,并将打包后的数据传输给后级多通道分时调度单元。
3.2 多通道分时调度单元
多通道分时调度单元是将4个来源不同的图像数据进行多选一输出,按照轮询调度方式完成数据流读写,后端可按照一种数据源来处理。由于后端光纤通道带宽较高,远高于前端多个通道的带宽总和,此方式能够充分利用高带宽资源,同时解决负载不均衡问题。图6为该模块状态机图,初始状态为Idle状态,当后级将满状态(OFULL)为1时,在Idle状态等待,当后级将满状态(OFULL)为0进入CH1_Ask状态,询问通道1是否有数据,如果通道1有数据则进入CH1_Output状态,该状态进行数据输出,持续输出256拍、数据位宽为64 bit的数据后进入CH1_End状态,在CH1_End状态停顿一拍后跳转至CH2_Ask状态,如果通道1没有数据则直接跳转至CH2_Ask状态,询问通道2是否有数据。以此类推,按顺序扫描询问4路通道数据,并进行选择判断后输出,这种方式可以解决前端负载不均衡问题,即使前端4路相机不同时开或者只开1个也可以正确接收图像数据。多通道分时调度单元最终将数据输出给aurora光纤数据发送单元。
图6 轮询调度状态机
3.3 图像光纤发送单元
图像光纤发送单元将分时调度单元处理好的图像数据发送给存储系统。光纤发送单元底层基于GTX高速串行收发器,使用aurora64B/66B协议作为上层通信协议,FPGA逻辑侧通过配置aurora64B/66B IP核实现高速数据传输。Aurora协议具有带宽高、可配置性强、低延迟等特点,可支持全双工和单工通信,数据可以灵活组帧,也可以使用流模式传输数据,用户接口采用标准的AXI-ST接口,方便读写数据。
如图7所示,aurora64B/66B内核顶层例化了通道逻辑,包括TX AXI4-Stream模块用户接口、全局逻辑模块和收发器顶层封装,还包括顶层时钟逻辑和复位逻辑。本系统配置线速度为10 Gbps,由于使用aurora64B/66B协议对数据编码,会占用少量带宽,实际有效数据率为 9.7 Gbps,每路相机输入端的数据率为1.6 Gbit/s,4路相机总数据率为6.4 Gbit/s,光纤传输速率远远大于前端相机输入数据率,传输速率完全满足要求。
图7 光纤发送模块图
本系统使用流模式接口进行数据传输,数据链路位宽为64 bit,这种方式使用方便,操作简单,无数据帧概念,可利用FIFO流水式将数据输出。TX_data为64 bit数据,直接输入给TX_FIFO异步FIFO,由于输入数据时钟与aurora协议用户时钟不同,使用异步FIFO做跨时钟域处理,同时作为发送端数据缓存。根据aurora协议总线的ready信号和FIFO控制器的数据的empty信号,来判断数据是否可以发送,如果可以发送,则将数据传输给发送端用户接口,最终将并行数据转换成串行数据,通过GTX高速串行接口输出给光模块。
为了验证光纤高速数据传输的正确性和可靠性,在实验室环境下,使相机输出测试数据源,数据为16 bit循环累加递增数据。图8为光纤图像传输系统采集的相机输出的数据,使用chipscope工具抓取数据。
图8 Chipscope数据采集图
图片界面显示by_data为数据输出接口,数据为16进制显示,依次为C5BC同步字、5CFB帧头、累加递增的有效数据,compare_data为校验数据,从图8可以看出,校验数据和有效数据均呈递增状态,并且数据相同,error_cnt为错误标志,对校验数据和接收的有效数据进行比较判断,如果有错误error_cnt就加1,图8中error_cnt显示为0,即数据接收正确无误,pkt_cnt为接收的包计数,从图8可以看出已经接收到16 710 376包正确数据,充分验证了数据采集的准确性和可靠性。
通过光纤接口将数据输出给存储系统,在存储系统中判断数据接收的正确性和可靠性,如图9所示,在Vivado中通过ila抓取的信号,数据CHANNEL_UP拉高表示链接建立正常,rx_d_reg为在存储端接收到64 bit位宽有效数据,ck_data为校验数据,16 bit循环计数,数据递增累加,从图9可以看出校验数据和有效数据数据相同,err_cnt为错误标志,对校验数据和接收的有效数据进行比较判断,如果有错误err_cnt加1,图9中err_cnt显示为0,即数据接收正确无误,从图9可以看出数据从0001H累加至7105H,验证了光纤接口数据发送的准确性和可靠性。
图9 光纤数据图
将图像数据通过光纤传输给存储系统后,使用解图软件将图像数据解析得到原始影像。图10(a)为光纤图像传输系统传输给存储系统的递增数据源的图像,图像每个像素灰度值递增加1,从图10(a)可以看出图像灰度由暗渐变为亮,图像数据无误码。图10(b)为通过光纤图像传输系统传输的相机暗场图像,可以看出图像场景均匀,图像无特殊亮点,灰度值差异较小,验证了多通道遥感图像光纤传输系统数据采集、处理、传输设计的正确性及可靠性。
(a)相机递增数据图像
本文设计了多通道遥感图像高速光纤传输系统,介绍了系统组成,以及关键硬件模块和软件结构设计,研究了数据采集、数据调度、数据传输等原理及其实现方法。该设计具有速度高、可靠性高、使用灵活等特点,试验结果证明:系统能够通过光纤同时或者分时采集传输4路相机图像数据,并且运行稳定可靠,满足实际使用需求,并已成功应用,解决了现有图像数据不能直接存储的问题。
猜你喜欢 存储系统时钟光纤 别样的“时钟”数学小灵通·3-4年级(2021年9期)2021-10-12古代的时钟小学生学习指导(低年级)(2020年10期)2020-11-09分布式存储系统在企业档案管理中的应用哈尔滨轴承(2020年2期)2020-11-06FIBBR King-A系列HDMI光纤线家庭影院技术(2020年1期)2020-06-24高品质的忠实还原 FIBBR Ultra Pro2 HDMI光纤线家庭影院技术(2019年4期)2019-04-17天河超算存储系统在美创佳绩发明与创新·大科技(2019年12期)2019-03-17一条光纤HDMI线的诞生长飞/长芯盛FIBBR工厂走访实录家庭影院技术(2018年9期)2018-11-02全国产1550nm 窄脉宽光纤放大器电子制作(2017年13期)2017-12-15有趣的时钟数学大王·中高年级(2017年2期)2017-02-08时钟会开“花”学苑创造·A版(2016年4期)2016-04-16