摘要:为了提升串行数据接口在传输速率性能及转换处理误码性能,本文选取FPGA作为数据接口处理器,通过JESD204B协议传输数据信息,搭建了高速串行数据接口。实验测试结果表明,该设计方案数据信息传输满足同步性要求,未出现数据传输乱码情况,可以作为高速数据传输工具。
关键词:数据接口设计;JESD204B协议;FPGA
随着科学技术的发展,扩大了电子设备发展空间的同时,提高了设备数据传输与转换处理速率要求[1]。传统的数据转换器已经无法满足设备性能提升需求,因而ADC/DAC高速串行数据转换及传输设备应运而生,发展空间较大,借助核心控制器,开发数据接口设备[2]。目前,应用比较多的传输协议为JESD204B,符合FPGA处理器通信处理要求[3]。因此,本文选取JESD204B协议,提出高速串行数据接口设计研究。
一、基于FPGA的高速串行数据接口总体框架结构设计
本文提出的数据接口设计方案选取FPGA芯片作为核心处理器,因该处理器性能较为稳定,且运行速度较快,支持JESD204B通信协议。因此,本研究在数模转换器和模数转换器之间添加了JESD204B接口,向该接口发送sysref信号,按照JESD204B通信协议,对数据进行读取和转换处理,并将经过处理后的信号从接口端发送出去。如图1所示为数据接口总体框架结构设计方案。
图1数据接口总体框架结构设计方案
图1中设计方案左侧和右侧转换器的部署呈对称结构,以FPGA为核心处理器,向4个转换器分别发送数据处理命令,从而实现数据信息的高速处理与传输。FPGA处理器内部集成了高速信息处理收发装置,共计80组,线上传输数据速度最大值为13.1Gb/s。所以选取的通信协议数据传输速率不得高于此数值,本方案选取的JESD204B协议最大数据传输效率为12.5Gb/s,符合数据接口开发要求。
二、串行数据接口通信
1、JESD204B协议
JESD204B协议由数据传输层、物理层、应用层、链路层4部分构成[4]。其中,物理层作为数据生成和数据处理两条链路连接端,通过发送同步信号,实现数据信息的串口通信。如图2所示为JESD204B协议数据传输结构。
图2 JESD204B协议数据传输结构
图2中,数据在应用层生成,经过传输层,对数据信息进行扰频处理,传输至链路层,将数据信息拆分为多条链路,按照高8位和低8位发送方式,将数据信息发送至物理层。数据从发送端达到接收端,而后经过链路层后,按照高8位和低8位排列,采取解扰频处理后达到数据传输层,在应用层对数据加以处理。其中,物理层的数据发送端和接收端为双向通信,从接收端向发送端输送的信号为同步信号,即监控画面生成的锯齿波形,以便核对数据信息。
2、数据传输同步机制
本设计方案串口通信的速率可以通过数据传输同步情况得以体现,所以构建了传输同步机制。具体设计步骤如下:
第一步:在接收端发送请求信号,即SYNC信号为低电平;
第二步:检测发送端是否接收到接收端发送来的请求信号,如果检测到,则开启连续发送模式,控制信号参数K28.5/字符,如果没有接收到请求信号,则继续读取并检测信号内容;
第三步:判断接收端收到K28.5/字符信号是否达到了4个,如果达到数量要求,则取消发送请求信号指令,反之继续发送指令;
第四步:本地帧时钟上升沿信号转入初始化状态,标志着帧同步阶段开始。
三、数据传输方案
本设计方案综合考虑数据样本采样率的精准控制、串行数据通信最大数据传输速率,将数据串口传输拆分为两个lane,分别对高8位数据信息和低8位数据信息进行传输,在接收通道整合数据信息,生成最终数据接收结果。
Lane0传输方案设计:将此传输通道拆分为4条链路,分别记为S0_HB、S1_HB、S2_HB、S3_HB,用于传输[15:8]8位数据信息,即将S0[15:8]、S1[15:8]、S2[15:8]、S3[15:8]数据通过JESD204B协议传输至frame0、frame1、frame2、frame3,以待数据整合处理。
Lane1传输方案设计:同样将此传输通道拆分为4条链路,分别记为S0_LB、S1_LB、S2_LB、S3_LB,用于传输[7:0]8位数据信息,即将S0[7:0]、S1[7:0]、S2[7:0]、S3[7:0]数据通过JESD204B协议传输至frame0、frame1、frame2、frame3,以待数据整合处理。
四、实验测试分析
本次实验通过向数据接口装置发送数据,观察装置输出的数据结果,是否与输入相同。如果相同,则认为本文提出的数据接口装置设计方案满足精度要求。采用AXI-LITE接口配置链路参数,按照设计方案搭建数据传输接口框架结构,测试设备显示器输出结果,判断采样本设计方案数据转换与传输的同步性和精准性。
假设采样点位宽参数为12,输入表1中的测试码。为了便于统计,用a1代替555,a2代替aaa,a3代替fff。
表1 实验测试发送数据
在测试架构中布设2个lane,分别传输高8位数据和低8位数据,每个lane数据传输端口位宽均为32bit,所以数据串口接收端布设的数据位宽为64bit,此位宽中含有样本点数量为4个。因此,FPGA处理器将数据转换和传输链路拆分为4路,生成4条锯齿波形,结果如图3所示。
图3 数据接收端测试结果
通过对比图3中的测试结果和表1中输入的发送数据可知,本接口方案可以准确转换数据格式,高效发送数据信息,各条链路输出数据均同步,满足数据同步发送要求。对比各组数据并无错误数据生成,所以本设计方案数据转换与传输精准度为100%,符合数据接口控制装置开发要求。
总结
本文围绕高速串行数据接口设计问题展开研究,选取FPGA作为数据接口装置核心处理器,按照JESD204B协议传输数据信息,构建了一套高速串行数据接口方案。测试结果表明,本设计方案数据转换与传输精准度为100%,各条链路输出数据均同步,符合高速串口数据处理要求。
参考文献
[1]张芳健,王晗,蔡念,等.基于FPGA的绝对式光栅尺接口通讯设计与实现[J].仪表技术与传感器,2018,420(1):39-43.
[2]王红亮,曹京胜.基于JESD204B协议的数据采集接口设计与实现[J].电测与仪表,2018, 55(7):87-91.
[3]蒋林,衡茜,张春茗,等.基于3GS/s12bit ADCs的高速串行接口控制层电路的设计与实现[J].电子技术应用,2018,44(008):47-51.
[4]董伟涛,伊小素,曾华菘,等.基于FPGA的SpaceFibre-USB3.0接口卡设计[J].仪表技术与传感器,2019(8):27-31.