LVDS 源同步接口

传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图1所示。系统同步传输方式使各器件处于同步工作模式,但器件之间传输数据的传输时延难以确定,当系统时钟频率增加后,数据接收接口同步电路难以实现,因此系统同步传输方式不适用于高速数据传输。

图1 系统同步结构图

为便于在接收端实现数据同步,提高数据传输速率,业界提出了采用源同步接口传输的解决方案。源同步结构框图如图2所示,允许时钟和多个数据通道同时传输,时钟信号和数据保持确定的相位关系,同时由发送端传输至接收端。接收端利用对端传送来的时钟信号作为采样时钟,对数据位进行采样。在采样过程中,只要保证接收端时钟信号与接收数据满足一定的建立/保持时间,数据即可被正确接收。

图2 源同步结构框图

相对于系统同步接口,源同步接口通常存在于两个芯片之间,其时钟和数据之间的关系是局部的,时延关系相对精确简单,因此非常适合高速数据传输。随着数据接口速度和带宽需求的不断增长,源同步接口逐渐成为主流,广泛应用在高速信号传输领域,如SPI-4.2、XGMII和DDR SDRAM等。

LVDS具有传输速率快和抗干扰性强的特点,正逐渐成为宽带高速系统设计的主流接口标准。目前广泛应用在高速信号传输领域的源同步接口,大部分采用LVDS作为接口电平。例如,系统包接口SPI-4.2采用1对LVDS时钟信号加16对数据信号同时传送数据。

1 源同步偏斜分析

相对于系统同步传输技术,源同步技术可以支持较高的传输速率,但当数据传输速率非常高时,同样存在无法正确接收数据的问题。在源同步接口设计中,接收端对多位数据(如16位)进行并行接收,要求数据和时钟到达保持同步。在理想情况下,时钟沿在各数据信号有效窗口的中间时刻到达,以提供最大的时序余量,但由于PCB走线传输路径的不同,导致数据与数据之间存在偏斜。当数据传输速率较高时,数据有效采样窗口越来越小,时序余量无法满足,导致接收端无法采集到正确数据。

偏斜的产生受静态和动态因素影响,静态因素包括电路板走线长度变化、连接器使用和芯片I/O引脚的传输时延差异等;动态因素包括PCB制作工艺、板卡电压和温度的变化等。源同步接口的偏斜分为“位偏移”和“字偏移”。采样时钟沿不在各数据窗口的中心位置采样,可能会导致数据采样保持时间不够长,易发生采样到的数据比特位瞬间突变,从而导致接收数据不稳定,称为位偏移。图7中三个数据通道的时钟沿都没在数据眼图中心位置采样,即为位偏移。采样接收后的各数据信号之间不同步,使得同时在发送端发送的数据在接收端不能同时被采样,导致接收的数据无效,称为字偏移。图3中以数据通道1的数据为基准,数据通道2的数据有-1个时钟周期的偏移,数据通道3有+1个时钟周期的偏移,存在字偏移。

图3 数据偏移示意图

2 去偏斜解决方案

在源同步接口设计中,随着数据接口速度和带宽的不断提高,数据有效窗口不断缩减,时序余量很难得到保证,可采用去偏斜方案解决源同步设计的难题。如图8所示为高速总线中的去偏移示意图,去偏移设计的目的就是将图4(a)中受到位偏移和字偏移影响的数据总线波形调整为4(b)中的理想波形,在去偏移过程中需调整位偏移和字偏移。

图4 高速总线中的去偏斜示意图

目前解决偏斜的方案包括静态相位调整和动态相位调整技术。

2.1 静态相位调整

静态相位调整(StaticPhase Alignment,SPA)可以从调整物理路径开始,通过调整时钟线和数据线长度,使时钟和数据、数据和数据传输线尽可能等长,受外部环境的影响较为接近,各数据线之间的传输差异可相互抵消,因此能较好保证正确的信号采样。考虑到时钟和数据信号经过不同物理路径传输,时钟和数据的相位存在不确定性,时钟采样点不在所有数据信号窗的中心位置,因此需对时钟的相位进行调整,使得采样时钟能稳定在数据信号的中心位置采样数据。

以在FPGA中实现静态相位调整为例,可以使用DCM、PLL或MMCM的相位调整功能,产生多个不同相位的采样时钟,观察哪些相位能准确地采集到输入数据,然后选择可以正确采样数据的时钟作为正常工作时的采样时钟。例如,可以通过PLL时钟管理器产生 0°、45°、90°、135°、…、315°共8个相位时钟,若检测到90°、135°、180°这3个相位的时钟都可以正确采样数据,则选择中间的135°时钟作为采样时钟,使得采样数据信号具有更大的时序余量。

SPA调整过程需耗费大量时间和精力,才能得到较好的调整结果,而且调整的效果和粒度较粗,因此SPA可适用的采样时钟频率在200MHz左右。由于SPA设定的静态参数只针对板卡当前的物理状态,所以静态调整参数一旦配置后就不再变化,不能适应由 PCB制作工艺、电压、温度变化引起的传输线偏差。当外部物理条件发生变化后,SPA设定的参数通常需重新调整,需要再次进行静态相位调整。综上所述,SPA方法对消除静态因素引起的偏移效果较好,但对动态因素引起的偏移无法有效消除。

2.2 动态相位调整

动态相位调整(DynamicPhase Alignment,DPA)是指根据当前各数据线的物理状态,实时对各数据线进行去偏移操作,使得采样时钟始终位于数据窗口的中心位置。DPA技术根据周期性发送的训练序列(在SPI-4.2中的训练序列为“00000000001111111111”)对数据进行对齐和相位调整,初次调整过程可以消除当前物理环境参数引起的偏移,此后间隙性发送训练序列,对数据线相位进行实时调整,可以很好地消除由环境参数变化导致的偏移。

Altera StratixGX或StratixIIFPGA中集成有专用的DPA模块,内部产生8个不同的相位时钟分别对数据进行采样,根据采样结果选择最佳的相位,作为本通道的最终采样时钟。在Xilinx公司的Virtex系列FPGA中,每个I/O引脚都带有输入/输出延迟单元 IODELAY,并有高速串并转换器ISERDES核,通过上述IP核可以对接收数据进行实时动态相位调整,详细的DPA实现过程会在第7节重点介绍。

DPA技术消除了由时钟到数据或数据到数据的偏移引发的信号对齐问题,简化了印制电路板(PCB)的设计。DPA技术使通信接口能够不断适应外部环境的变化,避免由于相位偏移而导致的数据采样错误,保证了数据的可靠传输。相对于静态相位调整,DPA技术调整的偏斜粒度更小,且具有实时偏斜检测功能,在接口传输过程中可以随时进行 DPA操作,实时消除环境变化造成的偏斜变化,因此越来越多的高速源同步接口都采用了DPA技术。

动态相位调整(DynamicPhase Alignment,DPA)是指根据当前各数据线的物理状态,实时对各数据线进行去偏移操作,使得采样时钟始终位于数据窗口的中心位置。DPA技术根据周期性发送的训练序列(在SPI-4.2中的训练序列为“00000000001111111111”)对数据进行对齐和相位调整,初次调整过程可以消除当前物理环境参数引起的偏移,此后间隙性发送训练序列,对数据线相位进行实时调整,可以很好地消除由环境参数变化导致的偏移。

Altera StratixGX或StratixIIFPGA中集成有专用的DPA模块,内部产生8个不同的相位时钟分别对数据进行采样,根据采样结果选择最佳的相位,作为本通道的最终采样时钟。在Xilinx公司的Virtex系列FPGA中,每个I/O引脚都带有输入/输出延迟单元 IODELAY,并有高速串并转换器ISERDES核,通过上述IP核可以对接收数据进行实时动态相位调整,详细的DPA实现过程会在第7节重点介绍。

DPA技术消除了由时钟到数据或数据到数据的偏移引发的信号对齐问题,简化了印制电路板(PCB)的设计。DPA技术使通信接口能够不断适应外部环境的变化,避免由于相位偏移而导致的数据采样错误,保证了数据的可靠传输。相对于静态相位调整,DPA技术调整的偏斜粒度更小,且具有实时偏斜检测功能,在接口传输过程中可以随时进行 DPA操作,实时消除环境变化造成的偏斜变化,因此越来越多的高速源同步接口都采用了DPA技术。

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

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

相关文章

图解JVM出现的参数

参数说明-XX:UseParNewGC使用ParNew作为垃圾回收器-XX:HandlePromotionFailure设置如果老年代内存<新生代所有对象大小时要不要Full GC&#xff0c;如果没设置就要Fuul GC&#xff0c;设置了就不要Full GC&#xff0c;而是进一步检查。-Xmx, -Xms, -Xmn, -XX:PermSize, -XX:…

火山引擎VeDI:A/B测试平台指标能力升级,助力企业提升精细化运营效率

在数字化浪潮的推动下&#xff0c;数据分析与精细化运营已成为企业提升竞争力的关键。近日&#xff0c;火山引擎A/B测试DataTester完成了指标能力的全面升级&#xff0c;为企业在流量竞争激烈的市场中提供了更强大、更可信的数据支持。 此次升级亮点在于引入了“按某个属性去重…

局域网内访问vue3项目|Network: use --host to expose

背景 我希望在相同的局域网内&#xff0c;通过手机访问我在Vue 3项目中展示的效果 遇到的问题 使用Vue CLI的–host选项实现局域网内的应用程序测试 当使用Vue CLI在本地提供服务时&#xff0c;通过使用 --host 选项&#xff0c;你可以指定要公开应用程序的主机。默认情况下&a…

[Linux] 入门指令详解

目录 ls指令 pwd指令 whoami指令 cd指令 clear指令 touch指令 mkdir指令 rmdir指令 rm指令 man指令 cp指令 mv指令 cat指令 tac指令 more指令 less指令 head指令 tail指令 拓展&#xff1a;如何读取文件中间某一段内容&#xff1f; date指令 cal指令 fin…

代码随想录阅读笔记-动态规划【爬楼梯】

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2输出&#xff1a; 2解释&#xff1a; 有两种方法可以爬到楼…

Ubuntu上使用audit2allow解决Android Selinux问题

1.安装工具 sudo apt install policycoreutils 2.运行命令 提前用dmesg或者串口抓取kernel log 遇到错误&#xff0c;提示需要用-p指定policy file&#xff0c;然偶尝试创建一个policy空文件&#xff0c;用-p选项&#xff0c;遇到如下错误 3.规避问题 首先跟进错误log的堆栈…

快速安装redis各种版本

要在AlmaLinux 9.3 (Shamrock Pampas Cat)上通过rpm包安装Redis&#xff0c;可以考虑使用Remi存储库&#xff0c;这是一个广泛用于安装较新版本PHP和数据库软件的第三方存储库。以下是安装Redis的步骤&#xff1a; 1. 添加Remi存储库 首先&#xff0c;需要启用EPEL存储库&…

vue2响应式和vue3响应式

vue2响应式是基于Object.defineProperty实现的,在生命周期钩子函数beforeCreate,created之间收集依赖&#xff0c;将data中的每个属性递归设置上Object.definePropertyvue3响应式是基于ES6 Proxy 在生命周期钩子函数beforeCreate和created之间将data属性直接设置proxy&#xff…

C语言每日一题—约瑟夫问题

13个人围成一圈&#xff0c;从第1个人开始顺序报号1、2、3&#xff0c;凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。***输出提示&#xff1a;"\n出圈成员及顺序&#xff1a;" ***输出格式&#xff1a;"%3d" ***输出提示…

C++指针和动态内存分配细节,反汇编,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体&#xff0c;占用内存空间&#xff0c;逻辑上独立&#xff1b;引用是别名&#xff0c;与变量共享内存空间&#xff0c;逻辑上不独立。指针定义时可以不初始化&#xff1b;引用定义时必须初始化。指针的…

mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’

问题&#xff1a; mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’ 解决方法&#xff1a; 需要修改数据集加载的代码文件&#xff0c;数据集文件在路径configs/base/datasets/coco_detection.py里面&#xff0c;需要增加meta…

【GD32F470紫藤派使用手册】第五讲 PMU-低功耗实验

5.1 实验内容 通过本实验主要学习以下内容&#xff1a; PMU原理&#xff1b; 低功耗的进入以及退出操作&#xff1b; 5.2 实验原理 5.2.1 PMU结构原理 PMU即电源管理单元&#xff0c;其内部结构下图所示&#xff0c;由该图可知&#xff0c;GD32F4xx系列MCU具有三个电源域…

驱动丹佛斯比例电磁铁放大器

驱动丹佛斯比例电磁铁是一种用于实现对液压系统连续且精确控制的通电带磁性装置。比例阀由直流比例电磁铁和液压阀两部分组成。其中&#xff0c;比例电磁铁是其核心部件&#xff0c;负责将输入的电信号转换成力和位移输出&#xff0c;从而控制液压阀的工作状态。比例电磁铁通过…

c语言实现十进制(整数,小数)转N进制

文章目录 先来说一下整数转N进制小数转N进制栈和队列代码地址← 今天实现了c语言整数和小数转换为对应的N进制 先来说一下整数转N进制 我们只需要不断的取模然后判断num/N是否等于0就可以了,同时我们还要保存每一组的余数 这里我们的余数是从下往上输出的,是不是就相当于后算出…

海外盲盒小程序:探索世界,发现无限可能

在数字时代&#xff0c;我们渴望突破地域的界限&#xff0c;体验不同文化&#xff0c;感受世界的多彩。为了满足这一需求&#xff0c;我们隆重推出“海外盲盒小程序”——一个让你足不出户&#xff0c;就能探索世界、发现无限可能的神奇平台。 一、独特的盲盒体验 打开“海外盲…

[力扣题解]45. 跳跃游戏 II

题目&#xff1a;45. 跳跃游戏 II 思路 贪心法&#xff1b; 只需记录2个变量&#xff0c;当前点能达到的最远距离&#xff0c;和上一步能到达的最远距离&#xff1b; &#xff08;真有意思&#xff0c;代码随想录给出的是curDistance&#xff0c;nextDistance2个&#xff0c;…

NetApp数据恢复—WAFL文件系统下raid数据恢复案例

NetApp存储数据恢复环境&故障&#xff1a; 某公司NetApp存储设备&#xff0c;人为误操作导致NetApp存储内部分重要数据被删除&#xff0c;该NetApp存储采用WAFL文件系统&#xff0c;底层是由多块硬盘组成的raid阵列。 NetApp存储数据恢复过程&#xff1a; 1、将NetApp存储设…

VBA在Excel中注册登录界面的应用

VBA在Excel中注册登录界面的应用(V潘谆白说VBA) 文章目录 前言一、如何注册登录?二、注册登录界面截图三、操作思路四、运行代码1.注册2.登录3.注册登录界面赋值4.隐藏工作表方法5.显示工作表方法6.打开、关闭工作薄前操作前言 Excel工作表也可以像其他小程序一样,输入账号…

【3D基础】坐标转换——地理坐标投影到平面

汤国安版GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影&#xff08;Web Mercator Projection&#xff09;&#xff1a; 优点&#xff1a; 在 Web 地图中广泛使用&#xff0c;易于显示并与在线地图服务集成。在…

【Linux学习笔记】一篇文章彻底搞定 “Linux同步与互斥“ !

本章重点 1. 学会线程同步。 2 学会使用互斥量&#xff0c;条件变量&#xff0c;posix信号量&#xff0c;以及读写锁。 1、进程线程间的互斥相关背景概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的…