1、JESD204协议概述

ADC、DAC技术即模数、数模转换技术,在军用和民用领域广泛应用,如现在常用的有微信语音、网络电话、其典型数据处理流程:

语音输入->ADC采样->调制->基站->无线传输->基站->解调->DAC->语音输出

采样率在100MSPS以下的ADC芯片,通常采用LVCMOS电平的接口进行数据传输。而当采样时钟频率进一步提升到100MHz,数据有效间隔缩短,ADC芯片的多位并行数据线间的相对偏移变大,数据间的同步变得更加困难,所以在转换速率高于100MHz时,通常采用多个LVDS差分对,以SDR或DDR方式进行数据传输,但这种方式仍然是基于数据的并行传输,并要求多个LVDS差分对间严格等长,当ADC芯片的采样频率再进一步升高,也不可避免会出现并行数据间的偏移与同步问题。

面对这样的问题,JESD204应运而生,JESD204B协议基于CML电平,充分借鉴了SRIO、PCIE协议,采用串行数据链路,旨在减少高速数据转换器与FPGA等处理器之间的数据传输接口,采用JESD204协议的ADC电路如图所示:

相比以往的并行数据接口(如CMOS、LVDS等),采用JESD204的优点主要有:

  • 简化了系统设计。使用并行的CMOS、LVDS接口时,ADC的引脚数多,ADC与FPGA之间的布线非常密集,容易造成数据串扰,这一情况在多个ADC通道下更加糟糕。
  • 减少引脚数目。
  • 由于布线简单、引脚数目更小,因此使用JESD204将会使得封装更小、简单。
  • 采用CML电平后,高速的ADC、DAC器件的单位功耗更小。

2、JESD204协议分析

JESD204协议并没有严格规定协议的分层结构,根据惯例,通常将电气特性,如接口形式、偏置电压、匹配阻抗等,以及串行数据的发送器和接收器归为物理层,而与编码、校验等功能称为链路层。

2.1JESD204物理层分析

JESD204物理层采用CML电平,CML电平采用低压差分信号传输方式,典型的差分摆幅(peak-to-peak)为800mV,与LVDS电平相比,其因输出差分摆幅更大,所以传输速率更高,通信距离更远。

链路层处理流程如图所示,主要包含帧填充、8B/10B 编码/解码以及加/解扰码(scrambling)功能等功能,可由逻辑(软件)实现。

2.2帧填充

JESD协议规定,若ADC器件采样位宽不足16bit时,低位补随机数至16bit,完成组帧操作再进行8B/10B编码。若一个ADC的采样位宽为12bit,假设其采样的为word[11:0],则其高八位即word[11:4]组成一个字节,而其低四位即[3:0]与补的随机数tail_bit[3:0]组成另一个字节,经过8B/10B编码后,由并行8bit数据变为10bit数据,分别以SYSBOL_n[9:0]表示,SYSBOL_0[9:0]和SYSBOL_1[9:0]组成采样数据的第1帧,以FRAME0表示,SYSBOL_2[9:0]和SYSBOL_3[9:0]组成采样数据的第2帧,以FRAME1表示,依次类推。

2.3 8B/10B编/解码

8B/10B编码最初由IBM公司提出,并应用于ESCON项目。

该算法的基本思想是将一个8位字节划分成5位和3位两部分,对5位部分进行5B/6B编码,对3位部分进行3B/4B编码.相当于一次编码一个8比特,分为两部分进行编码在硬件上更易实现。通过两部分分别编码,最终8比特被编码为10比特。

编码后的10位中所有1或0的个数不会超过6个,并且连续的0或1的个数不会超过5个,即每5个连续的0或1后必须插入一位0或1,以保证DC平衡。

除了正常数据的8B/10B编码外,8B/10B编码中还利用一些特殊的字符(称为K码),用于串行数据的同步及查错。

8B/10B编码可以分为字符映射和编码两部分。

字符映射:

将8位二进制数据映射为Dxx.y或Kxx.y。若待编码字符为正常数据,则命名为Dxx.y(D=Data);若待编码字符为专用控制字符,则命名为Kxx.y(K= Control Character),K和D为字符类型。8位待编码字符分为两段,低5位和高3位,低5位数据以十进制表示并编码为xx,xx的取值范围为[0:31],高3位以十进制表示并编码y,取值范围为[0:7],即Dxx.y或Kxx.y中xx.y的由来,如8位二进制数据0b00001010,经字符映射后,变为D10.0,二进制数据0b00101111,经字符映射后,变为D15.1。

编码:

由5B/6B编码和3B/4B编码组成,5B/6B、3B/4B编码通过查找表(Look Up Table,LUT)实现。在LUT中,除了原始8位输入数据,编码后的10位输出数据,还有一个编码极性(Running Disparity, RD)。

如表所示,Dx为经字符映射后的十进制数据,对应的二进制相应位由“EDCBA”表示,根据RD的初始值及当前数据的RD极性选择编码输出。

下图为编码中的特殊控制字符:

8B/10B编码在多种常见的总线中都有广泛应用,如Fibre Channel、PCIE、SRIO、SATA、Aurora等。

由于8B/10B编码将8bit数据编码为10bit数据,带来了2bit的位宽开销,导致带宽利用率只有原来的80%。

2.4 加/解扰码(Scrambling/De-Scrambling)

在无线通信中,通常存在一个加扰码处理环节,其原理是将需要发送的信息与一个线性反馈循环移位寄存器的值进行异或运算,再发送出去。接收方再进行同样的运算,得到原来的数据。扰码的产生通常是通过循环移位寄存器实现的,循环移位寄存器的结构由扰码生成多项式决定。

加扰操作,实质是将原始比特数据随机化,其优点有二:其一,根据FFT (Fast FourierTransformation)变换的原理,时域的周期信号对应于频域的离散信号,如单载波正弦信号,对应频域的一个频点,即频谐上的一根离散线,而这种频谱上过于突出离散线谱易造成对其他信号的干扰,即码间干扰,而通过加扰处理,可以将短周期信号变成长周期信号,甚至为前后独立的伪随机信号,信号频谱扩散并保持相对稳定,减少或避免了离线线谱的发生几率,增加了信号传输的稳定性:其二,突出的离散线谱易被监测侦听,不利于通信系统的保密性,而通过加扰措施,信号完全随机,再通过扩频编码,数据信息完全淹没在噪声之中,提高了通信链路的可靠性。

将扰码的思想引用到高速串行总线通信中,于是有了各种总线的加扰码的生成多项式,如JESD204加扰码的生成多项式为1+x^14+x^15。

2.5 JESD204协议接收状态机分析

JESD204协议实现分为发送端和接收端,针对ADC器件,其发送端由ADC器件厂家完成,用户只需要对JESD204协议接收端的解析;针对DAC器件,用户则需要完成JESD204协议发送端的解析,其接收端由DAC器件厂家完成。

对于ADC器件,为在串行的数据流恢复出ADC采样时的并行数据,必须在接收端实现符合JESD204协议的接受状态机,接受状态机包含初始化同步状态机以及连续同步状态机。

初始化同步状态机完成对串行传输的ADC采样数据的帧边界提取,确定采样原始帧数据。

连续同步状态机,用于接收端连续的对串行传输的ADC采样数据的边界再定位,防止因时钟抖动或累积的偏差造成的数据边界确认错误。

下图为初始化同步状态机的跳转状态,以及连续同步状态机:

JESD204B协议字对齐流程:

【JESD204B】基于JESD204B协议的ADC、DAC数据传输相关推荐

  1. python中基于tcp协议的通信(数据传输)

    tcp协议:流式协议(以数据流的形式通信传输).安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层.数据 ...

  2. BC26基于MQTT协议的阿里云数据传输

    一:MQTT的初始化 1 利用AT+QMTCFG指令为阿里云配置设备信息 其后面有五个参数,如果要进行阿里云的设备配置那么第一个参数是固定的一定是"ALIAUTH",第二个参数是W ...

  3. 用udp实现可靠传输python_一种基于UDP协议实时可靠图像传输方案的制作方法

    本发明设计属于数据传输与通信技术领域,具体涉及一种基于UDP协议(User Datagram Protocol)实时可靠图像传输方案. 背景技术: 随着网络技术的高速发展,无线数据传输在通信.控制等领 ...

  4. 基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法

    0 引言 随着数字化信号处理技术的不断进步,对数字信号 的处理已经成为当前大多数工程应用的基本方法.由于 模拟信号才是现实生活中的原始信号,为了工程研究实 现的可能,需将模拟信号转换为数字信号才能在工 ...

  5. DA FMC子卡学习资料:基于JESD204B的4路1Gsps AD 4路1.25Gsps DA FMC子卡

    基于JESD204B的4路1Gsps AD 4路1.25Gsps DA FMC子卡 一.板卡概述 板卡为标准FMC 接口子卡,  ADC采用两片TI的ADS54J60, 4通道1Gsps,16bit, ...

  6. FPGA项目开发:基于JESD204B的LMK04821芯片项目开发经验分享

    大侠好,阿Q来也,今天头一次和各位见面,请各位大侠多多关照.今天给各位大侠带来一篇项目开发经验分享"基于JESD204B的LMK04821芯片项目开发",这是本人实打实的项目开发经 ...

  7. 高可靠性领域如何选取处理器系统和ADC/DAC?

    出品 21ic中国电子网 付斌 网站:21ic.com 芯片和元器件处在不同环境之下,对参数要求均各有差异.消费级产品侧重于性价比,工业级产品侧重于性能,汽车级产品侧重于安全. 那么"飞上天 ...

  8. 高速ADC/DAC的测试方法

    演讲内容 大家好,我是今天做分享的任彦楠,非常荣幸能和大家交流,今天我分享的内容是within我的knowledge, 也希望将我不懂的地方向大家请教. 今天我要和大家分享的是高速ADC/DAC的测试 ...

  9. 基于STM32F4:多通道ADC采集,采用DMA的形式,亲测有效

    基于STM32F4的多通道ADC采集 单片机源程序如下: #include "sys.h" #include "delay.h" #include " ...

  10. 基于蓝牙协议的无线网络化传感器设计

    以传感器接口标准IEEE1451. 2为基础,介绍了无线网络化传感器实现的一些具体技术要点,提出了一种基于蓝牙协议的无线网络化传感器结构模型,并给出了基于该模型开发的一个实验室远程测温装置的具体软.硬 ...

最新文章

  1. [转] MySQL和MongoDB设计实例对比
  2. Java变量的修饰符
  3. 【Matlab 控制】矩阵、图像操作基础
  4. SAP CRM IBASE structure的读取逻辑
  5. ios html 转义字符串,ioS html的转义
  6. python画图猪_用Python的turtle画一只小猪乔治【刚学python两天,记念一下】
  7. python爬取微博内容_请问该如何通过python调用新浪微博的API来爬取数据?
  8. Java 算法 陶陶摘苹果2
  9. javascript基础知识系列:eval()
  10. 深入研究RocketMQ生产者发送消息的底层原理
  11. fastdfs返回的url_FastDFS上传文件Demospringboot实现
  12. PostgreSQL 为什么不要滥用unlogged table hash index
  13. 台式电脑连接电脑主机与显示器
  14. 游戏能给QQ一个未来吗?
  15. 常用接口整理(HDMI接口、VGA接口、DP接口、DVI接口、SDI接口 ) 2021-06-15
  16. 打造新引擎,重构“芯”动力|龙芯生态论坛——安恒明御综合日志审计分析平台应用迁移
  17. edge 浏览器打开总跳向 hao.360
  18. java Selenium 发送126邮件 解决element not visible
  19. Si24R2F+超低功耗高性能2.4GHz无线射频NTC测温单发射芯片 兼容Si24R2E
  20. python you-get下载视频下载到哪里_python you-get下载哔哩哔哩视频

热门文章

  1. 跟我一起走进内联汇编的世界
  2. 消息中间件:简述消息队列(MessageQueue)
  3. python 数据集中随机选择作为测试集、验证集
  4. (APP测试三板斧)第一板:Xposed+JustTrustMe绕过SSL Pining
  5. 【建议收藏】产品经理面试真题大全
  6. texlive2020 安装_texlive测试是否安装成功
  7. 康佳android 9tv,汇总:康佳电视机型与软件对应关系速查表 附电视升级方法
  8. mysql 存储 海量图片_数据库中存储大量图片设计
  9. Unity官方文档(英文)
  10. ae渲染出现错误是什么问题_AE渲染输出总是损坏怎么办-解决AE渲染输出被损坏的方法 - 河东软件园...