近场无线光通信中高帧频跟踪系统设计

2022-05-12 07:42王琛蒋蔚杨乾远
广东通信技术 2022年4期
关键词:光通信光斑速率

[王琛 蒋蔚 杨乾远]

1 引言

近场无线光通信是一种利用激光作为信息载体在近距离空域通信的通信方式,与电磁波相比有速率高、保密性好、使用方便的优点[1],可用在一些通信基站、高铁站、机场、飞机试验场和武器试验基地等,用来传输大量数据(语言、图像、高清视频、文件等);目前,这些领域采用大多采用wifi、4G 网络、5G 网络[2,3]或者是人工拷贝的方式,在大容量数据转存情况下,不仅速率慢,而且安全性低,无法满足用户高效传输数据的需求,而近场无线光通信技术恰好能克服以上缺点和不足,能满足大容量数据传输要求[4]。

由于近场无线光通信系统应用环境复杂,温湿度变化大,像高铁站、机场和飞机试验场存在较大的震动,要能保存稳定的通信速率,对无线光通信设备的跟踪精度有较高的要求,而传统的通信设备定位算法精度不够,帧频低,很难保证足够的跟踪精度和稳定性,这些因素导致通信设备难以适用;为了满足近场无线光通信设备对跟踪精度和稳定性的需求,高帧率采集和高精度定位成为解决上述问题的关键技术。因此,基于FPGA 和DSP 平台设计了一套CMOS 传感器高帧频跟踪系统[5,6],并通过实验分析了相机帧频、亚像素光斑定位算法对系统跟踪精度和稳定性的影响,对近场无线光通信设备的研制具有重要指导意义。

2 系统总体方案设计

系统结构原理图如图1所示,由TI 的多核定点/浮点DSP TMS3206678、Xilinx Kintex-7 FPGA、CMOS 图像传感器、二维云台和上位机组成。

图1 系统结构原理图

TMS320C6678 是TI KeyStone 架构8 核DSP 处理器[7],当内核主频为1.4 GHz 时,理论上具有179.2 GFLOP 和358.4 GMAC 的处理性能;每个核都有32 KB 一级缓存L1 和512 KB 二级缓存L2,具备4 MB 的多核共享存储器MSM(multicore share memory)SRAM,DDR2(double data rate 2)最大支持8GB;内部集成了RapidIO、千兆以太网,性能强,外设丰富,能满足图像处理和传输需求;FPGA 型号为XC7K325T-2FFG900I,具有478 K 逻辑单元,34 Mb 块RAM,1920 DSP 片,2845 GMAC/s DSP性 能,32 个收发器,10 个MMCMs(mixed-mode clock manager)和PLL(phase locked loop),500 个I/O 引脚,速度等级为2,支持12.5 Gbit/s 收发器速度,800 Gbit/s 串行带宽,运行频率最大470.37 MHz,能满足高帧频图像采集和传输需求;图像传感器采用比利时Xenics 公司的Wildcat 640 系列InGaAs 相机,默认分辨率为640×512,位宽为16 bit,帧频达220 Hz。

系统利用FPGA 对CMOS 图像传感器进行开窗、采集、图像乒乓缓存,通过SRIO(serial rapidIO)接口发送给DSP,DSP 进行目标跟踪和亚像素质心定位,再通过RS422 输出给电机驱动控制云台跟踪目标,最后用网口输出处理后的图像至上位机显示。

3 系统功能模块设计

3.1 高帧频采集模块设计

高帧频采集模块是通过对图像传感器开窗来提高帧频,然后按照时序进行图像采集;相机开窗模式由内部4 个16 位寄存器控 制,分别为RoiXStart、RoiYStart、RoiXSize、RoiYSize,可通过RS232 接口设置开窗的起始位置、宽度和高度,默认分辨率为640×512 的帧频可达220 fps,开窗为80×80 时帧频大于10 000 fps。

相机图像采集依据相机的帧有效标识FVAL 和行有效标识LVAL 进行采集,FVAL 上升沿表示一帧图像开始输出,在FVAL 为高电平期间,LVAL 上升沿表示一行图像开始输出;在LVAL 为高电平期间,每个时钟(80 MHz)周期上升沿输出一个像素,一行输出完,LVAL 变低电平,间隔一个行消隐时间TLB后LVAL 变高电平,开始下一行输出;当LVAL 为低电平时,输出无效像素;当一帧图像输出完成后,FVAL 变低电平,间隔一个帧消隐时间TFB后,FVAL 再次有效,开始下一帧图像输出。读取一幅图像的时间等于帧消隐时间加上读取一行的时间再加上各行消隐时间。一帧图像的输出周期可以表示为:

其中TFB和TLB分别为帧消隐和行消隐时间,Nrow、Ncol分别为行数和列数,Tclk为时钟周期。

在640×512 分辨率下,根据公式(1)可计算输出一帧所耗时间为:

通过开窗,将图像分辨率设置为80×80 时,根据公式(1)可计算输出一帧所耗时间为:

3.2 SRIO 核间高速通信模块设计

串行RapidIO 协议[8~10](Serial RapidIO,简称SRIO)是新一代嵌入式高性能互连技术,与传统PCIE 总线、CPU 访问总线相比,引脚数少、时延低、软件开销低、打包效率高,支持1x、2x 与4x 三种模式,可选1.25 Gbit/s、2.5 Gbit/s、3.25 Gbit/s 和5 Gbit/s 四种速度。SRIO 主 要有两种传输机制:一是直接IO/DMA(Direct IO/ Direct Memory Access)机制,主设备知道被访问设备的存储器映射地址,不经处理器直接读写存储器,主要由硬件实现,因此延迟小;另一种是消息传递(message passing)机制,通过源ID、目标ID 与存储器的地址映射,将数据拷贝到相应存储区,软件开销大;所以选用直接IO/DMA 机制;传输中仅用SWRIT、ENREAD 和DOORBEL 3种事务。

如图2 所示,为FPGA 和DSP 之间的SRIO 传输流程,首先对FPGA 的SRIO IP 核和DSP 的SRIO 模块配置和初始化,配置成相同速率才能通信;FPGA 采样速率为1.1 Gbit/s(640×512×16 bit×220 f/s/8/1 024/1 024),因此配置速率必须远大于1.1 Gbit/s;因为SRIO 物理层存在8 b/10 b 编解码,实际速率约为1.0 Gbit/s、2.0 Gbit/s、2.5 Gbit/s、4.0 Gbit/s,所以将SRIO 配置为1×2.5G 模式,才能满足要求,如图3 所示,为SRIO 1x 模式,连接方式简单;当SRIO IP 核的port_initialized 端口信号为高时,表示FPGA 和DSP 连接成功,可传输数据;FPGA 采集图像通过SWRITE 事务包发向DSP 中DDR2 的地址,DSP接收到SWRITE 包后以DMA 的方式将图像存入DDR2;在FPGA 写DDR2 时,DSP 不可访问相应存储区;写完一帧数据后,发送一个DOORBELL 事务通知DSP,DSP接收到DOORBELL 包后响应中断进入中断函数处理图像,保证了FPGA 与DSP 同步;FPGA 发送完DOORBELL 便准备下一次发送,DSP 响应中断后,清空中断响应标志,等待下次中断。

图2 SRIO 传输流程

图3 SRIO 1x 模式

在测试中,作为从端的DSP 只需要运行SRIO 建立连接的代码,响应主设备请求,由作为主端的FPGA 发起SWRITE 事务包;在1×2.5G 模式下进行数据传输测试,实际速率达到1.86 Gbit/s,数据打包效率达93%,能够满足1.1 Gbit/s 的图像数据传输。

3.3 乒乓缓存模块设计

上节解决了高速传输图像的带宽问题,而图像处理大多以帧为单位,一些相关跟踪算法还涉及多帧同时处理,FPGA 无法存下整幅图像,需扩充外部存储器空间,同时必须保证对外部存储器有足够的读写速率和带宽;采用两块基本数据缓存单元为16 bit 的DDR2 存储器完成数据高速缓存,在200 MHz 主频下,数据率最高可达200×2×2=800 MB/s,能够满足系统图像的实时读写要求。

要在FPGA 和DSP 之间共享存储[11],需在FPGA 工程中添加IP 核MPMC(multi-port memory controller),FPGA 通过NPI 接口(MPMC 本地端口接口)可访问DDR2,同时DSP 通过SRIO 与FPGA 建立互连后,也能通过NPI 接口读写DDR2;实现了共享存储。使用两片DDR2 以乒乓方式对缓存图像,过程是将图像交替存入DDR2_1 和DDR2_2;图像在写入DDR2_1 的同时读取DDR2_2 中图像;同理,图像写入DDR2_2 的同时读取DDR2_1 中图像,如此乒乓交替读写实现数据流输入输出无缝缓冲,提高了图像存储、传输和处理的速度。乒乓读写 DDR2 的原理如图4 所示,实线和虚线表示轮流执行。经过验证分析,FPGA 和DSP 设计的数据缓存模块能在400 MHz 数据率下正常传输数据。

图4 乒乓读写原理图

3.4 目标跟踪定位模块设计

采用一种针对光斑图像的算法,首先用形心法计算出光斑中心,然后以中心像素点分别进行在水平曲线拟合和垂直曲线拟合,得到二次曲线的顶点坐标,便可计算出光斑亚像素中心。

首先介绍形心法,形心法常用于定位图像中的光斑中心,基本原理如下[12,13]。

其中R为目标区域,(χc,yc)为R的形心,i,j是像素坐标,I(i,j)是像素灰度值。

激光光斑成像像素灰度分布近似于高斯分布,高斯曲线可用公式(4)表示。

上式的积分计算复杂,对其两端取对数化简得到关于的二次曲线:

由上式可看出,只需针对目标进行曲线拟合,大大减少了计算量;以水平方向举例,可将(5)式表示成如下二次曲线形式:

通过下式计算出每个像素的灰度值:

上文形心法得出的坐标为(χc,yc),令其灰度值为g0χ,由式(7)可以得:

以该点为中心点,左右各取一个像素点分别为g-1χ和g1χ,由式(8)可以得:

根据(8)、(9)、(10)公式,得:

计算出曲线顶点横坐标值为:

用对数替代(11)式中的灰度值,便得到横坐标的亚像素中心为:

同理,可在垂直方向上进行曲线拟合,得到纵坐标上的亚像素中心值为:

上述计算利用了目标灰度特性和形状特性对图像目标进行处理,采用浮点运算确定与目标特征最稳定的位置,可实现优于整个像素精度的定位。如图5 所示,为光斑跟踪视频图像。

图5 光斑跟踪图像

3.5 UDP 巨型包传输

DSP 将处理后的图像通过网口发往PC 端,由于TCP存在流量控制机制,易出现卡顿现象,适合实时性不高,但内容完整的应用;而UDP 无连接、无重传确认、效率高、延时小,适合实时性高的应用。

在0 核上(NDK 仅支持0 核)建立UDP NDK 协议栈,C6678 基于SYS/BIOS 系统建立UDP/IP 服务端[14],用于发送图像,PC 端基于MFC 建立UDP/IP 客户端,用于接收图像。DSP 初始化CPPI,PA 等资源,配置并初始化协议栈,设置IP 地址,子网掩码,默认网关,发送缓存等,完成后开启网络功能,便能发送图像到PC 端。在NDK 默认配置下,UDP 数据包大小不能超过1 472 字节,导致通信速度仅有50 Mbit/s 左右,无法满足实时要求,需要采用UDP 巨型包(Jumbo Packet)传输提高网络速率,C6678 的UDP NDK 巨型包最大可配置成65 535 字节,可以大幅度提高网络使用率。

相机图像分辨率为640×512,帧率为220 fps,传输16 bit 图像理论速率在1 100 Mbit/s,已超过PC 端千兆以太网最大传输速率,为了减少数据量,同时便于在PC 端显示,DSP 将16 bit 图像转为8 bit 图像,此时理论速度在550 Mbit/s 左右。测试PC 端在接收20 000 个数据包后,继续接收1 000 个包,测出的速度为563 Mbit/s,与理论值相当。

4 实验测试与结果分析

实验CMOS 探测器像素边长为5μm,光学系统焦距为20 mm,空间分辨率为0.25 mrad:两台设备相距60 m进行实验,实验模拟场景设置频率为10 Hz,幅度为1 mrad的扰动,选择6 种不同帧频测试对跟踪精度的影响。如表1 所示,是实验数据,设光斑定位的标准差分别为σx和σy,令表示总的标准差,σ1表示采用传统形心法定位的标准差,σ2表示算法定位的标准差,从表中数据可以看出形心定位法随着帧率从220 f/s 提高到10 000 f/s,跟踪标准差从2.42 个像素降低到0.58 个像素,而本文采用的算法计算出的跟踪标准差从0.40 个像素降低到0.08 个像素,证明了提高帧率可以提高跟踪精度;仅用形心定位法比本文采用的算法标准差大2.02~0.5 个像素,说明定位算法的选取对跟踪精度有很大影响,针对性设计光斑中心定位算法可以显著改善跟踪效果。

表1 不同帧频定位标准差

5 结论

根据近场无线光通信设备对跟踪精度和稳定性的要求,采用不同方法提高速率,并介绍了其实现过程,使相机固定帧率提升近50 倍,使跟踪精度提高了4~5 倍,同时采用一种基于目标灰度特性和形状特性的亚像素光斑定位算法,相对于传统形心定位算法,跟踪精度提高了6~7倍,当帧频提高到10 000 f/s 以上时,定位误差小于0.1 个像素,是一种实用的高精度定位算法;该系统能有效地提高无线光通信设备的跟踪精度和跟踪稳定性,使近场无线光通信设备具备了实用性,可以取代特定场合的人工拷贝、4G 网络、5G 网络等数据转存方式。

猜你喜欢
光通信光斑速率
基于扰动观察法的光通信接收端优化策略
化学反应的速率和限度考点分析
第六届空间光通信与组网技术学术研讨会会议通知
第六届空间光通信与组网技术学术研讨会征文通知(第二轮)
“化学反应的速率与限度”知识与能力提升
有趣的光斑
主角光环
有趣的光斑
夏末物语
我国光通信技术和产业的最新发展