基于FPGA实现JESD204B高速接口设计
2018-02-22曹鹏飞
曹鹏飞
摘 要:JESD204B接口是高速ADC和DAC芯片采用的数据通信接口之一,具有传输速率高,抗干扰能力强,芯片间同步方便等优点。目前国内JESD204B 接口应用多由国外集成芯片提供,缺乏自主性和灵活性。为了加强JESD204B 接口自主设计,文章阐述了基于FPGA GTX高速收发器实现JESD204B接口通信的方法,详细说明了JESD204B接口的FPGA设计实现方案、同步化处理机制等内容。利用多通道JESD204B接口实现高速串行数据的传输,有效解决了传统并行数据采集存在的问题,满足实际工程的应用需求。
关键词:JESD204B;FPGA;高速串行传输;数据采集
模数转换器(Analog-to-Digital Converter,ADC)和数模转换器(Digital to Analog Converter,DAC)在众多领域中应用非常广泛,随着工艺的发展和实际应用的需要,采样速率和采样精度越来越高,采用传统的CMOS接口和LVDS接口已经无法满足设计的要求,而采用基于CML的JESD204B接口可以很好地解决这一问题,接口单通道速率可达12.5 Gb/s。在ADC/DAC与FPGA处理芯片之间实现JESD204B接口,可以有效完成芯片间的高速数据传输,并且具有减少器件管脚和封装尺寸,减少占用布局空间,降低功耗等优点。
1 JESD204B概述
JESD204B接口包括3个子类,分别为子类0、子类1和子类2。JESD204B接口包括3个子类,分别为子类0、子类1和子类2。3个子类的区别主要体现在同步方式各不相同。子类0不支持确定性延迟,而子类1和子类2能够支持确定性延迟,可实现片间的数据同步。子类1通过SYSREF信号在芯片内部产生帧时钟和本地多帧时钟(Local Multiframe Clock,LMFC),同步传输数据并在数字信道上实现已知和确定性延迟。子类2利用SYNC信号实现同样的目的。目前在实际应用中,大部分的ADC和DAC主要采用的是子类1方式。
在JESD204B接口中定义了一些关键性的变量,其中比较重要的包括,M:转换器数;L:每个转换器的通道数;N:转换器的分辨率;N:每个样本的总位数;F:每帧的8位字数;K:每个多帧的帧数。通过设置不同变量的参数值,可以满足不同类型的JESD204B接口应用的要求[1]。
2 FPGA接口实现设计方案
ADC或DAC芯片可以通过JESD204B接口与FPGA相连。设计采用XILINX 7系列FPGA芯片,内部串行高速收发器包括4种类型,分别是GTP,GTX,GTH和GTZ。4种类型的收发器能够支持的最高线速率不同。使用GTX串行收发器能够提供的线速率最高可达12.5 Gb/s,可以满足JESD204B接口速率的要求。
JESD204B收发系统结构如图1所示。
FPGA内部JESD204B发送数据和接收数据逻辑框图如图2所示。
SYNC是同步指示信号,低电平有效。发送控制器负责通过控制信号对各模块加以管理以完成数据的发送操作。初始通道序列生成器主要负责完成4个初始化多帧数据的产生。采样数据Data信号可以设置为经过扰码处理或不经过扰码处理。为了进一步保证数据流具有同步检测功能,在数据帧和多帧的帧尾利用字符对齐生成器完成特殊字符的替换。通过复用器完成对发送数据流的选择和切换,再将数据送给GTX TX模块。
在Xilinx GTX TX模块中首先完成物理层8B/10B数据编码,每个字节(8位)转换的10位编码数据包括“+”码和“-”码。10位编码数据通过“+”码和“-”码的交叉使用,数据流中0和1的數量基本保持相等,从而保证传输信号达到直流平衡,同时有利于接收端通过时钟恢复电路在线路数据中提取恢复时钟。编码完成后进行数据并串变换,经过CML线路接口将串行bit流数据发送出去。
高速串行bit流数据在接收端首先被送给Xilinx GTX RX模块,GTX RX模块经过SERDES串并变换电路处理后得到并行数据,利用8B/10B解码器完成并行数据解码处理,解码之后得到8 bit数据,再将数据完成字符对齐和多通道对齐检测操作。在数据接收过程中利用帧对齐检测模块完成帧同步处理,将被特殊字符替换的数据重新还原回来。根据扰码设置选择对数据进行解扰或非解扰操作,之后即可进行正常数据接收,最后按照JESD204B帧数据结构将有效数据Data信号提取出来进行重组并送给后续处理电路[2]。
3 JESD204B链路同步机制
3.1 字符同步
在链路上电初始化期间,系统处于失步状态,链路进入字符同步(CGS)阶段,发送端检测接收端发送的同步指示信号SYNC,当检测到SYNC信号为低电平时开始发送/K28.5/字符。
对于多通道数据传输,JESD204B接口中每条通道通过移位寄存器检测到连续的4个/K28.5/字符,即在数据流中检测到数据位为“BCBCBCBC”,控制位为“F”时,说明当前通道数据流中字符获得同步。在数据传输过程中当处于失步状态时,会发送连续的/K28.5/字符,可设移位寄存器进行状态判断,当1~L路通道字符都获得同步后,此时同步指示信号SYNC即可拉高,表示发送端在下一个LMFC时钟周期边界可以开始发送初始通道对齐序列(Initial Channel Alignment Sequence,ILAS)。
3.2 通道对齐同步
ILAS如图3所示。
初始通道对齐序列利用8B/10B编码里的特殊字符对数据进行处理。8B/10B编码可以分成特殊字符和数据字符。在初始通道对齐序列中,除了D代表普通数据字符以外,其他代表特殊字符。其中,A为/k28.3/,是线路对准符号;K为k28.5/,用于同步;C代表链路的配置数据;R为/k28.0/,表示一个序列的开始;Q为/k28.4/,表示链路配置数据的开始。图4为4通道对齐发送序列时序。
在初始通道对齐序列同步期间,FPGA接收端利用高速SERDES收发器对链路接收数据进行串并变换,当并行接口取32位时,接口通过32位移位寄存器进行ILAS多帧判断。首先查找多帧1的R字符/k28.0/,当在数据流中检测到数据位为“1C”,对应控制位为1时,即可判定检测到多帧1起始字节。8位R字符/k28.0/在32位数据的出现位置有4种可能,因此,需要通过4位寄存器进行标识,作为多帧起始字节的判定标志。当特殊字符出现在7:0位时,用“0001”表示,当数据出现在15:8位时,用“0010”表示,以此类推。
根据对JESD204B接口设置,在确认帧头标记后,需要在32位并行数据流中进行多帧周期计数并在周期结束确认多帧帧尾/k28.3/。此时帧尾判决结果受到数据位宽、K值、F值的影响。对于ILAS多帧信号,每一帧应该能够检测到确定的帧头和帧尾,否则返回到失步状态。当连续正常检测到4个多帧后,即可以判定初始通道同步[3]。
当JESD204B接口由多路通道组成时,受PCB走线等因素影响,各通道传输线路之间的路径时延可能存在偏差,接收端各通道初始通道对齐序列完成时刻无法保证完全一致。利用FPGA内部的BLOCK RAM资源构成多路FIFO缓冲器来完成多路通道的信号对齐,由各通道同步对齐指示信号作为写使能信号,根据最后一路完成通道同步对齐的指示信号和LMFC多帧时钟产生读使能信号。通过对FIFO的读写操作控制,可以完成所有通道之間的初始通道对齐序列同步。对于一些ADC采样芯片,可以在发送端采样点的控制位添加多帧数据标志位,FPGA在接收端将数据送入FIFO数据缓存器,通过查找多帧数据标志位可以实现芯片通道间多帧数据同步化处理[4]。图5为4通道对齐接收序列时序。
3.3 控制字符替换
为了保证线路能够实时的保持同步状态,除了字符同步和初始通道对齐序列同步以外,JESD204B接口还需要通过控制字符替换的方式实时检测线路的同步状态,一旦线路检测中发现控制字符有误,接口将重新启动同步初始化处理流程。控制字符替换分为扰码数据处理和非扰码数据处理两种类型[5]。
4 结语
随着数据采集系统传输速率越来越高,ADC/DAC通过并行接口传输数据存在着诸如串扰明显、PCB布线困难等一系列问题,无法满足高速数据传输的要求。基于Xilinx FPGA高速GTX收发器接口实现JESD204B协议,可实现高速数据的串行化传输,解决了并行数据传输存在的问题,满足实际工程的应用需求。
[参考文献]
[1]田瑞,刘马良.JESD204B协议的高速串行转换器接口[J].西安电子科技大学学报,2017(4):69-74.
[2]吕志鹏,马小兵,禹卫东.JESD204BSubclass1模式时钟设计与调试[J].电子技术应用,2018(4):56-60.
[3]吴志勇,王杰,程琦.基于AD9250的高速数据接口设计[J].电子制作,2018(2):11-12.
[4]张峰,王占江.基于JESD204协议的A/D采样数据高速串行传输[J].电讯技术,2014(2):174-177.
[5]李武建,吴兵,彭卫.基于AD9680的高速数据接口设计[J].山东工业技术,2016(17):109.
Abstract:JESD204B interface is one of the data communication interfaces used by high-speed ADC and DAC chips. It has the advantages of high transmission rate, strong anti-interference ability and convenient synchronization between chips. At present, the application of JESD204B interface in China is mostly provided by foreign integrated chips, lacking autonomy and flexibility. In order to strengthen the self-design of JESD204B interface, this paper describes the method of realizing JESD204B interface communication based on the GTX high-speed transceiver of FPGA, and describes in detail the implementation scheme of JESD204B interface based on the FPGA, synchronization processing mechanism and so on. Using multi-channel JESD204B interface to achieve high-speed serial data transmission, effectively solve the problems of traditional parallel data acquisition, and meet the application requirements of practical projects.
Key words:JESD204B; FPGA; high speed serial transmission; data acquisition