LVDS 源同步接口

news2024/11/26 2:32:37

传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图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.coloradmin.cn/o/1669398.html

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

相关文章

Remix 集成 MUI

Remix 如何接入 MUI 组件库,MUI 官网提供了一个 Remix 接入 MUI 的例子,用的是老的 Remix版本,如何接入新的 Vite 版本呢? 由于 MUI 支持 SSR,只需要改造对应的 Client 和 Server 即可实现。安装 MUI 组件组件库&…

实现字符串复制(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i 0;char a[100], b[100];//获取字符串&#xff1b;printf("请为数组a输入字符串…

如何在外网访问内网共享文件?

在日常工作和生活中&#xff0c;我们经常会遇到外网访问内网共享文件的需求。我们可能需要远程访问公司内部的共享文件夹&#xff0c;或者与不同地区的合作伙伴共享文件。由于网络安全的限制&#xff0c;外网访问内网的共享文件并不是一件容易的事情。 为了解决这个问题&#x…

java项目之车辆管理系统(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的车辆管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 车辆管理系统的主要使用者分…

Python 旋转立方体

文章目录 效果图运行环境完整代码实现思路1. 导入库和定义常量2. 创建Cube类3. 实现Cube类的draw方法4. 实现主函数 效果图 运行环境 python版本&#xff1a;python3.x 依赖包&#xff1a; $ pip install pygame $ pip install numpy完整代码 import numpy as np # 导入 N…

【YOLOv8模型网络结构图理解】

YOLOv8模型网络结构图理解 1 YOLOv8的yaml配置文件2 YOLOv8网络结构2.1 Conv2.2 C3与C2f2.3 SPPF2.4 Upsample2.5 Detect层 1 YOLOv8的yaml配置文件 YOLOv8的配置文件定义了模型的关键参数和结构&#xff0c;包括类别数、模型尺寸、骨干&#xff08;backbone&#xff09;和头部…

单调栈问题

原理 单调栈的核心原理是&#xff1a;在栈内保持元素的单调性&#xff08;递增或递减&#xff09; 单调递增栈&#xff1a; 用于处理“下一个更小的元素”问题。当新元素比栈顶元素小或等于时&#xff0c;直接入栈&#xff1b;否则&#xff0c;一直从栈顶弹出元素&#xff0c…

会声会影2024中文汉化补丁器附免费激活码序列号

会声会影是一款由加拿大Corel公司发布的视频编辑软件&#xff0c;它以其功能丰富和用户友好的界面而闻名。会声会影2024是该系列的最新版本&#xff0c;它不仅继承了之前版本的强大功能&#xff0c;还引入了一系列新的特性和工具&#xff0c;使得视频编辑更加简单、高效且富有创…

【简单讲解下Fine-tuning BERT】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

【图解计算机网络】TCP 重传、滑动窗口、流量控制、拥塞控制

TCP 重传、滑动窗口、流量控制、拥塞控制 TCP 重传超时重传快速重传 滑动窗口流量控制拥塞控制慢启动拥塞避免拥塞发生快速恢复 TCP 重传 TCP重传是当发送的报文发生丢失的时候&#xff0c;重新发送丢失报文的一种机制&#xff0c;它是保证TCP协议可靠性的一种机制。 TCP重传…

【Oracle篇】rman物理备份工具的基础理论概述(第一篇,总共八篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&am…

试衣不再有界:Tunnel Try-on开启视频试衣应用新纪元

论文&#xff1a;https://arxiv.org/pdf/2404.17571 主页&#xff1a;https://mengtingchen.github.io/tunnel-try-on-page/ 一、摘要总结 随着虚拟试衣技术的发展&#xff0c;消费者和时尚行业对于能够在视频中实现高质量虚拟试衣的需求日益增长。这项技术允许用户在不实际穿…

云计算十三课

centos安装 点击左上角文件 点击新建虚拟机 点击下一步 点击稍后安装操作系统&#xff0c;下一步 选择Linux&#xff08;l&#xff09;下一步 设置虚拟机名称 点击浏览选择安装位置 新建文件夹设置名称不能为中文&#xff0c;点击确定 点击下一步 设置磁盘大小点击下一步…

修改MTU值解决Linux下运行top命令卡死问题

上周明月的Linux服务器上运行top命令总是莫名的出现卡死现象&#xff0c;甚至是CtrlC都无法终止进程&#xff0c;今天终于抽空找到了解决办法&#xff0c;原来是需要修改Linux的MTU值&#xff0c;将服务器操作系统数据包调小&#xff0c;加上VxLAN数据包小于1500即可。 top命令…

HCIP【BGP综合实验】

目录 一、实验拓扑图&#xff1a; 二、实验要求&#xff1a; 三、实验思路&#xff1a; 四、实验步骤&#xff1a; 1、进行网段的子网划分&#xff08;整个实验总共有19条网段&#xff09;&#xff1a; (1)首先&#xff0c;根据实验要求&#xff0c;将172.16.0.0/16全部划…

英伟达发布AM-RADIO高效视觉基础模型,推理速度提升6倍,性能超CLIP、DINOv2、SAM

前言 近年来&#xff0c;视觉基础模型 (VFM) 在众多下游任务中取得了巨大成功&#xff0c;例如图像分类、目标检测和图像生成等。然而&#xff0c;现有的 VFM 通常专注于特定领域&#xff0c;例如 CLIP 擅长零样本视觉语言理解&#xff0c;DINOv2 擅长语义分割&#xff0c;SAM…

C控制语句:分支和跳转

1.1if语句 //colddays.c --找出0摄氏度以下的天数占总天数的百分比 #include <stdio.h>int main(void) {const int FREEZING 0;float temperature;int cold_days 0;int all_days 0;printf("Enter the list of daily low temperature.\n");printf("Use…

C++内存管理new/delete和new[ ]/delete[ ]

1.c/c内存分布 首先看一段代码 int globalVar 1; static int staticGlobalVar 1; void Test() { static int staticVar 1; int localVar 1; int num1[10] { 1, 2, 3, 4 }; char char2[] "abcd";const char* pChar3 "abcd"; //这里不加const会导致…

整理好的宁夏光伏发电数据集(2007-2020年)

1、包含指标&#xff1a;采样结束时刻、采样起始时刻、时间间隔、气温、方位角、云层不透明度、露点温度、DHI&#xff08;太阳散射辐射指数&#xff09;、DNI&#xff08;太阳直接辐射指数&#xff09;、GHI&#xff08;太阳总水平辐射&#xff09;、GTI&#xff08;固定倾角辐…

06-Fortran基础--Fortran模块化编程

06-Fortran基础--Fortran模块化编程 1 模块的定义和使用2 接口和模块间通信3 模块化编程的优势&#xff1a;4 模块使用示例5 结语 Fortran的模块化编程是一种组织和管理代码的方法&#xff0c;它包括模块的定义和使用、接口和模块间通信以及模块化编程的优势。 1 模块的定义和…