[⑦ADRV902x]: JESD204学习笔记

news2024/11/17 7:54:28

前言

JESD204B/C基于SERDES(SERialization/DESerialization)技术,也就是串化和解串,在发送端将多位并行的数据转换为1 bit的串行数据,在接收端将串行数据恢复成原始的并行数据。
在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成印制板的成本上升。 而JESD204接口是串行接口,能有效减少数据输出的差分对,能最大限度的简化Layout。 因此JESD204是高密度板不可或缺的接口。但因其需要进行严格的同步和以及时延的测量, 接口的逻辑会比LVDS接口复杂很多。

ADRV902x系列射频芯片支持JESD204B/C,用来在transceiver和baseband processor(FPGA)之间传输ADC和DAC的samples数据,最高serial lane rate可达24.33 Gbps。

逻辑分层

JESD204是一种高速的串行接口协议,它规定了收发双方的同步机制,告警机制及其告警后处理机制。 任何 一种复杂的接口协议都将遵从逻辑架构分层来进行描述。 JESD204也是如此,遵从如下的逻辑分层:

  • Application Layer:通过应用层可以实现特殊用户配置,接收端和发送端必须以相同方式进行配置,以便正确传输和解读数据

  • Transport Layer:传输层的功能是将ADC/DAC采集到的samples数据映射到非扰码的8-bit数据
    映射模式:
    1 . a single converter to a single-lane link
    2 . multiple converters in the same device to a single-lane link
    3 . a single converter to a multi-lane link
    4 . multiple converters in the same device to a multi-lane link
    上述的四种模式是两个对象(converter,link)的几种组合,一个是数据转换器(converter)的个数,另外一个是对应的link的个数。 数据转换器就是对应的I/Q的数据组,例如无线系统中都是采用complex数据,有16-bit 的I和16-bit的Q,那么对应的转换器个数就是2,就类似I数据需要一个转换器来完成,Q数据需要另一个转换器来完成(注意这里的转换器的个数和我们通常所说的物理的ADC/DAC个数有区别,可以抽象为一个吞吐数据器件)。 通常情况下转换器的个数都是多个(多通道),这些转换器的数据可以一起来建链称之为single-lane link,也可以分组建链称之为multi-lane link。
    例:一个ADC可以映射到一个单通道链路,或者映射到一个多通道链路,采样速率决定是否使用多个通道,以便符合对通道速率的限制。

  • Scrambling Layer:按照实际的运用可以选择对8-bit数据数据加扰或者不加扰,加扰的主要目的是去除数据相关性。

  • Data Link Layer:链接层在再整个JESD204中占有及其重要核心的地位。 它包含了 8-bit/10-bit JESD204B的编码过程 (64-bit/66-bit JESD204C), Tx和 Rx link的建立,同步和维护。
    8B/10B编码的状态机和码表如下图所示。 编码的目的就是去除数据中的DC-unbalance(CML电平中会增加直流偏置,利用8B/10B编码,可以实现平均而言包含等量1和0的平衡序列),8-bit变为10-bit。 例如我们通常所说的 K28.5, 8-bit的时候为10111100,编码后变成 0011111010。
    在这里插入图片描述

  • Physical Layer:物理层包含了完成高速并/串转换的SDRDES模块, 时钟及时钟数据恢复模块(CDR) 。物理层也规定了接口的物理电器特性。

下图为ADRV902x中JESD204发射/接收逻辑分层框图:

下图显示了从发射器件(ADC)到接收器件(FPGA)的简化JESD204B链路,数据从一个ADC经由一个通道传输:

在这里插入图片描述

JESD204链路建立

JESD204链路建立包括三个阶段(CGS,ILAS和用户数据),下面简单介绍下:

  • 代码组同步(Code Group Synchronization)
    1 . 接收器通过拉低SYNC~引脚,发出一个同步请求。
    2 . 发送器发送未加扰的K28.5符号(标准中称为K字符)。
    3 . 当接收器收到至少4个无错误的连续K28.5符号时同步,然后将SYNC~引脚拉高,CGS阶段结束,ILAS阶段开始,否则同步将失败,链路留在CGS阶段。
    在这里插入图片描述
  • 初始通道对齐序列(Initial Lane Alignment Sequence):ILAS的主要作用是对齐链路的所有通道,验证链路参数,以及确定帧和多帧边界在接收器的输入数据流中的位置。ILAS由4个或更多多帧组成,无论启用加扰链路参数与否,ILAS始终是无加扰传输。

    Multi-frame 1:以R字符K28.0开始,以A字符K28.3结束。
    Multi-frame 2:以R字符K28.0开始,后接Q字符K28.4,然后是14个链路的配置参数,最后以A字符K28.3结束。
    Multi-frame 3:与Multi-frame 1相同。
    Multi-frame 4:与Multi-frame 1相同。
  • 用户数据:CGS和ILAS阶段完成后,发送器开始送出ADC数据。在这一阶段,用户数据根据链路参数的定义,以流形式从发送器传输到接收器。
    在这里插入图片描述

Transceiver接收端

下面是ADRV902x transceiver接收端,SERDES framer(成帧器)的框图:

3个framer,最多4 lanes。

下面是JESD204的参数介绍,Desscription中参数的大小是针对ADRV902x的,意义具有通用性:

F:number of octets per frame

在ADRV902x中,为了让JESD204配置有效,lane rate(seial bit rate for one lane)必须在 3684.4 Mbps 到 16220.16 Mbps之间。lane rate的计算公式如下:

每个framer可以接收本地converter的samples数据然后将它们映射到high speed serial lanes. 映射关系取决于JESD204的配置,特别是lane的数量,converter的数量和samples per converter。
下面是AD给出的M = 2,L = 1,S =1的一个例子:

其中关于NG跟word的概念可以参考如下:
NGs (nibble groups):contain N’ bits
words:words padded with tail bits

在这里插入图片描述

Transceiver发射端

下面是ADRV902x transceiver发射端,SERDES deframer(解帧器)的框图:

2个deframer,最多4 lanes。
deframer接收来自deserializer的8B10B/64B66B encoded data,然后解码成converter的samples数据。下面是AD给出的M = 4,L = 2,S =1的一个例子:

ADRV902x JESD配置样例

下面是AD给出的JESD204B的配置样例,UseCase 13 for non-link sharing (non-link sharing的意思就是ORx和Rx的samples数据不在一个framer里)。其中使用了2个framer(framer0,framer1)和一个deframer(deframer0)。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1295340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

作业12.8

1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是…

PVE系列-LVM安装MacOS的各个版本及VNC加密隧道访问

PVE系列-LVM安装MacOS的各个版本 环境配置大概过程:详细步骤:1.建立安装环境和下载安装工具2. 重启后,执行osx-setup配置虚拟机3. 安装到硬盘,4.设定引导盘,以方便自动开机启动5.打开屏幕共享和系统VNC6.VNC加密的ssh隧…

Python 数据分析:日期型数据的玩转之道

更多资料获取 📚 个人网站:ipengtao.com 在数据分析的领域中,处理日期型数据是至关重要的一环。Python 提供了丰富的工具和库,使得对日期进行分析、处理、可视化变得更加轻松。本文将深入探讨 Python 中如何玩转日期型数据&#…

python之日志记录

1.导包 import logging2.设置日志基本信息 2.1设置日志级别 logger logging.getLogger("你的类名"|None) # 可以空参logger.setLevel(logging.DEBUG) # 也可以为loggin.INFO 2.2 设置日志输出格式 formatter logging.Formatter(%(asctime)s - %(name)s - %(level…

基于OpenCV的人脸识别系统案例

基于OpenCV的人脸识别系统案例 人脸识别简介代码实现案例应用情况 下面将介绍如何使用Python和OpenCV库构建一个简单但强大的人脸识别系统。人脸识别是计算机视觉领域的一个重要应用,具有广泛的实际用途,从安全门禁到娱乐应用。 人脸识别简介 人脸识别是…

vue中组件传值方法

父组件给子组件传值 一、 1.在子组件标签中写入父组件传递数据 向下传递prop 2.在子组件内声明props选项接收父组件传递的数据 props:[,,] 父组件&#xff1a; <Header :msgmsg ></Header> 子组件&#xff1a; props:[msg], 二、 provide i…

大三上实训内容

项目一&#xff1a;爬取天气预报数据 【内容】 在中国天气网(http://www.weather.com.cn)中输入城市的名称&#xff0c;例如输入信阳&#xff0c;进入http://www.weather.com.cn/weather1d/101180601.shtml#input 的网页显示信阳的天气预报&#xff0c;其中101180601是信阳的…

高级IO函数

1. 高级 I/O 函数 1.1 pipe #include <unistd.h> /* 成功返回0&#xff0c;失败返回-1设置error */ int pipe( int fd[2] );&#xff08;1&#xff09;fd[0] 只能从管道读&#xff0c;fd[1] 只能写&#xff0c;默认情况下这一对文件描述符都是阻塞的&#xff08;读空管…

甘草书店:#10 2023年11月24日 星期五 「麦田创业分享2—世界奇奇怪怪,请保持可可爱爱」

今日继续分享麦田创业经验。 如果你问我&#xff0c;创业过程中是否想过放弃。那么答案是&#xff0c;有那么一次。 那时想要放弃的原因并不是辛苦没有回报&#xff0c;或是资金短缺&#xff0c;而是没能理解“异见者”。 其实事情非常简单&#xff0c;现在反观那时的自己&a…

AUTOSAR CP Port Driver简介

Port Driver 1 背景2 基于 EB 及 TC39X 配置3 Port API 使用1 背景 Port driver 在 AUTOSAR 中是一个比较冷门的模块,基本上在 MCAL 层级,关注的人也少,他由不像其他模块那样通用型比较强,Port 在每种内核的 MCU 的配置都有区别,甚至有些芯片直接没有 Port 模块,使用其他方…

Java多线程并发(二)

四种线程池 Java 里面线程池的顶级接口是 Executor&#xff0c;但是严格意义上讲 Executor 并不是一个线程池&#xff0c;而只是一个执行线程的工具。真正的线程池接口是 ExecutorService。 newCachedThreadPool 创建一个可根据需要创建新线程的线程池&#xff0c;但是在以前…

RFID在新能源工厂大放异彩

RFID在新能源工厂大放异彩 我国在十四五规划中提出了建设绿色低碳发展的目标&#xff0c;新能源产业成为了国家发展的重点领域之一&#xff0c;开始大力支持各种新能源厂商发展。各个厂商之间不仅比产品、比技术。也比生产想要降本增效&#xff0c;为了实现这一目标&#xff0…

多功能智能遥测终端机 5G/4G+北斗多信道 视频采集传输

计讯物联多功能智能遥测终端机&#xff0c;全网通5G/4G无线通信、弱信号地区北斗通信&#xff0c;多信道自动切换保障通信联通&#xff0c;丰富网络接口及行业应用接口&#xff0c;支持水利、环保、工业传感器、控制终端、智能终端接入&#xff0c;模拟量/数字量/信号量采集&am…

Mysql 日期函数大全

一、时间函数 &#xff08;一&#xff09;、获取当前时间 1、NOW() 获取当前日期和时间&#xff0c;在程序一开始执行便拿到时间 返回格式 YYYY-MM-DD hh:mm:ss eg&#xff1a; NOW() 得到 2023-12-03 12:20:02 NOW(),SLEEP(2),NOW() 得到 2023-12-03 12:20:02 | 0 | 2023-…

网安领域含金量最高的证书有哪些?看这1篇就足够了!

文章目录 一、前言二、CISP三、CISAW四、NISP五、为什么很多人考不下来 一、前言 现在想找网络安全之类的工作&#xff0c;光有技术是不够的&#xff0c;还得有东西证明自己&#xff0c;网安三大敲门砖&#xff1a;CTF、漏洞证明和专业证书。 对于CTF的话只是少数人能参加的&…

某度旋转验证码v2 逆向分析

v2主要依据是核心 JS 文件mkd_v2.js 版本&#xff0c;如下图所示&#xff1a; 第一次 https://passport.baidu.com/cap/init 接口&#xff0c;请求的 ak 是固定值&#xff0c;当然不同场景不同网站是不一样的&#xff0c;_ 时间戳&#xff0c;ver1&#xff0c;返回值 as、tk 都…

制作一个RISC-V的操作系统四-嵌入式开发介绍

文章目录 什么是嵌入式开发交叉编译查看一些GCC文件夹 调试器GDB相关语法命令 模拟器QEMUQEMU的安装和使用项目构造工具MakeMakeFile的构成make的运行 练习4-1练习4-2练习4-3 什么是嵌入式开发 程序跑到开发板上&#xff0c;或者说运行到硬件上 交叉编译 简单理解交叉编译来说…

12.8作业

1. 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是…

SQL Server——权限管理

一。SQL Server的安全机制 SQL Server 的安全性是建立在认证和访问许可两种安全机制之上的。其中&#xff0e;认证用来确定登录Sal Server 的用户的登录账户和密码是否正确&#xff0e;以此来验证其是否具有连接SQL Server 的权限;访问许可用来授予用户或组能够在数据库中执行哪…

这些接口自动化测试工具如果不知道,就真out了!

一、Postman Postman是一款广受欢迎的API测试工具&#xff0c;除了手动发送HTTP请求的基本功能&#xff0c;它还提供了自动化测试和脚本测试的功能&#xff0c;非常适合进行HTTP接口的自动化测试。 二、Rest-Assured Rest-Assured是一个Java库&#xff0c;专为REST服务的测试…