比较好的网站建设论坛,wordpress ip 访问,威县做网站哪里好,林甸网站建设随着通信技术的飞速发展#xff0c;高速串行互连以其结构简单#xff0c;不需要传输同步时钟#xff0c;相比并行传输有更高数据传输效率的优点#xff0c;成为现代通信和数据传输的重要组成部分。随着对数据传输速率要求的不断提高#xff0c;SERDES应运而生。它是一种时… 随着通信技术的飞速发展高速串行互连以其结构简单不需要传输同步时钟相比并行传输有更高数据传输效率的优点成为现代通信和数据传输的重要组成部分。随着对数据传输速率要求的不断提高SERDES应运而生。它是一种时分多路复用(TDM)、点对点的通信技术即在发送端多路低速并行信号被转换成高速串行信号经过传输媒体(光缆或铜线)最后在接收端高速串行信号重新转换成低速并行信号。 SERDES(Serializer and Deserializer)接口作为高速串行通信的重要组成部分对其芯片的研究和设计一直是一个热点。SERDES接口由串行器(SER)和解串器(DES)两部分组成串行器由并串转换电路、发射器组成结构比较简单而解串器由接收器、串并转换电路和时钟与数据恢复电路CDR(Clock and Data Recovery)组成接VI中串行器的功能是将低速的并行信号转换成为高速低压差分信号LVDS(Low Voltage Differential Signaling)然后串化并发送出去而解串器的功能是接收高速串行LVDS信号并正确地转换为低速并行信号。在基本的SERDES模块中SERDES内部的时钟频率必须要大于外部参考时钟的频率。 其采用的一些技术也突破了传统并行I/O 接口的数据传输瓶颈比如一采用差分信号传输代替单端信号传输从而增强了抗噪声、抗干扰能力二采用时钟和数据恢复技术代替同时传输数据和时钟从而解决了限制数据传输速率的信号时钟偏移问题三采用了多路复用技术(TDM)增加了系统传输带宽给PCB 版图布线带来了极大的方便。
一、SerDes 接口常用构架 SerDes芯片广泛的应用于通信系统的信号传输中但是大多数通信系统设计者在选择SerDes芯片时往往只是考虑芯片的功耗和速度而忽略了SerDes芯片的工作机制和原理。SerDes芯片的内部构架看似不相关其实构架的不同决定了整个系统在设计时许多重要参数的不同例如系统的拓扑结构底层协议数据格式以及延迟时钟等要求都是需要考虑的。这些因素对系统的开销性能具有重要的作用。 现在主要由四种SerDes结构分别是并行时钟SerDes嵌入时钟SerDes位交错SerDes以及8b/10b SerDes下面分别介绍这四种SerDes结构。
1、并行时钟SerDes 并行时钟SerDes常常用于串行化“数据-地址-控制”并行总线例如PCIUTOPIA处理器总线控制总线等。这种SerDes架构不再用一个多路复用器去解决整个总线而是利用一组多路复用器N~1位去串行化并行数据每个多路复用器分别串行化一部分总线。串行数据连同一个附加的时钟信号并行到达接收端接收器用这个时钟信号锁存并恢复数据。 这里有多对时钟/数据对因此要确保对与对之间的偏移最小这样才能保证解串的正确性。尽管有多对串行线但是并行时钟SerDes仍旧拥有更小功耗更少的数据线更大的驱动能力更低的噪声等优点。并行时钟SerDes提供了一种性价比高的解决方案。
2、嵌入时钟SerDes 嵌入时钟 SerDes将数据总线和时钟转换为一个串行差分对进行传输。两个时钟位一低一高嵌入进数据流中作为每个时钟周期的数据帧结构的起始位和结束位并在串行数据流中产生周期性的时钟上升沿。 上电之后接收器自动搜索周期性的时钟上升沿。由于数据位的值随时间改变同时时钟位不变所以接收器能够唯一定位时钟沿及同步时钟沿。一旦锁定接收器就从串行流中恢复数据不管数据为何种形式。这种自动同步的能力通常称为“锁定随机数据(lock to random data)”,它不需要系统的外部干预。由于接收器是被锁定为接收的嵌入时钟没有外部的参考时钟则对时钟的抖动要求是相当宽松的对接收器和发送器都是同样的。相比于其他结构的SerDes 芯片嵌入时钟SerDes 的结构比较简单在系统级的应用也不复杂。
3、位交错SerDes 位交错 SerDes 复用低速的SONET/SDH 或8b/10b 串行数据流通过交差比特位转换为更快速的串行数据流。在接收端接收器解复用比特流转换为低速的码流。由于高速特性以及低抖动的要求位交错SerDes 要求非常精确的外部时钟。 位交错 SerDes 芯片常用于电信传输设备上例如分插复用器准光学转换器等以加强SONET/SDH 数据流通过电缆或光纤传输到核心网的能力。
4、8b/10b SerDes 8b/10b SerDes将并行数据映射为10 比特码再串行传输出去。8b/10b 的编码方式要求满足一个时钟的双沿传输和达到直流平衡。为了定位10 比特码的边沿发送器通过发送一种特殊的comma 字符来标记数据流的帧头这种特殊的comma 字符永远不会出现在普通的数据中这样在接收端利用Comma 检测器来检测串行码流中的特殊Comma 字符将串行码流划分成字边界正确的10bit 8b/10b 编码送到解码器进行解码得到和发送端相同的字节信息。8b/10b SerDes 对外部时钟的抖动要求较高。 8b/10b SerDes 适合传送字节数据许多标准都运用8b/10b 编码技术例如以太网光纤通道InfiniBand 等传输速率涉及1.0625Gbps、1.25Gbps、2.5Gbps、3.125Gbps 等。在相同的应用中8b/10b SerDes 的系统相对较复杂额外的非字节的控制信息必须用带buffer 缓冲再以字节的格式发送。 二、8b/10b SerDes典型结构 下面我们就重点探讨8b/10b SerDes的内部结构。 1、锁相环 SerDes作为一种高速串行传输的接口它需要高质量低抖动的时钟而且在将并行数据转换为串行数据时需要将并行数据的时钟频率提高10倍或20倍产生高速串行数据的时钟。因此我们有必要设计高质量的锁相环和频率合成器来保证提供的时钟具有高质量、高频率、低抖动。 锁相环总的来说是一个负反馈跟踪控制系统它完成了对压控振荡器VCO所产生频率的控制和稳定。通过这样一个系统压控振荡器产生的时钟就可以稳定的作为其他系统的时钟进行使用。锁相环最重要的一个应用就是产生稳定的时钟。
2、时钟数据恢复电路 CDR主要功能是接收输入高速串行信号并判断信号的相位从中提取出时钟信息。 实际的系统中当高速信号在PCB 板级电路或者线缆中传输时由于路径距离和寄生电容等因素影响信号从发送端到达接收端的时候已经产生了随机的延迟再加上传输过程中所引入的抖动和发送端和接收端同步时钟固有的频率偏差将会使接收端采样时钟的相位与接收数据 的相位发生了偏差。在高速条件下数据的码元周期都比较小一旦相位偏差超过一定的范围就会发生采样错误。为了能够正确的对输入数据进行采样满足系统传输误码率的指标要求CDR 模块必须能够根据本地时钟和输入数据的相位差来正确的调整本地采样时钟的相位以保证采样时钟的相位能够位于输入数据码元的中间位置。 下图描述了一个简化的时钟和数据恢复电路的原理时钟恢复电路检测输入数据的跳变沿并调整本地采样时钟的相位。数据恢复电路利用调相后的时钟对相位飘移的输入数据进行采样输出。理想情况下时钟采样时刻应该位于数据的中间位置假若时钟采样时刻位于数据跳变沿位置则容易产生采样错误。 3、LVDS 收发器 LVDS(Low Voltage Differential Signal) 信号标准是高速串行通信中常用的接口标准之是一种小振幅差分信号技术其电路如下 LVDS使用非常低的幅度信号(100450mV) ,通过一对平行的PCB 走线或平衡电缆传输数据。在两条平行的差分信号线上流经的电流方向相反,噪声信号同时耦合到两条线上,而接收端只关心两信号的差值,于是噪声被抵消。由于两条信号线周围的电磁场也互相抵消,故差分信号传输比单线信号传输电磁辐射小得多,从而提高了传输效率并降低了功耗。 此外除了LVDS接口标准现在少数厂商生产的SerDes芯片中还运用了CMLCurrent Mode Logic接口标准。虽然CML接口缺少严格的技术规范标准但是它的应用越来越广泛。由于CML的电路结构是所有高速数据接口形式中最简单的一种且它的数据传输率可以达到2.5 Gbps甚至更高较之CMOS电路CML电路可以在较低的电源电压条件下实现低摆幅、高频率的工作状态。
4、8B/10B 编码器 8B/10B 编码方式是1983 年由IBM 的A.X.Widmer 所提出其根据规定的映射机制将原来的8 比特数据转化成特定的10 比特数据。8B/10B 编码器通过均衡映射后的数据流中0 和1 的数量来获得直流平衡的码字而这些直流平衡的码字可以为后面的时钟恢复电路提供满足要求的状态翻转次数。 8B/10B 编码原理是将一组连续的8 位字节数据分解为2 组数据一组为3 比特另一组为5 比特。分别对2 组数据进行编码获得4 比特和6 比特数据然后组成10 比特数据。我们利用Dx.y 表示256 个数据字符利用Kx.y 表示12 个特殊控制字符。 下图表示出了具体的映射关系Dx.y 中x 用高3 位二进制表示y 用低5 位二进制表示8 比特并行数据中的高三位HGF 被编码成jhgf低5 位EDCBA 被编码成iedcba两组数组成编码后的10 位并行数据abcdeifghj。 同时为了保证数据流的DC 平衡在编码过程中还需要表示不平衡度的极性偏差值RDRunning Disparity。所有有效的8B/10B 码字中0 和1 的数量差只有3中情况0、2、-2。当码字中1 的个数比0 的个数多两个时RD 值为1,当0 的个数和1 的个数相等时RD 值为0而当0 的个数比1 的个数多两个时RD 值为-1。 为了维持数据流中的直流平衡性码字机制要求每个码字的RD 值须与前一个码字的RD 值互为相反值所以在对当前码字进行编码时需要参考前一个码字的RD 值来进行编码下表所示为下一时刻的RD 值与之前的RD 值和当前码字的RD值的关系 因为协议规定RD 的初始值为-1所以在编码过程中RD 只会出现1 和-1 两种情况从而需要编码的字符会根据2 种不同RD 值产生两种不同的编码结果并且将编码后更新的RD 用于下一个码字的编码。 用于编码的映射机制规定了268 种有效字节的对应方式其中包括针对256 个数据字符编码机制和12 个特殊控制字符的编码机制。如下表 上表的3B/4B 模块中出现Dx.7 的情况时需要特殊处理此时如果Dx.7 和5B/6B 模块中的Dx 组合在一起被编码时需要避免产生连续5 个0 或1 的情况。如果碰到连续5 个0 或1 的情况则认为是表征字符边界的comma 信号。 控制码字Kx.y 的映射关系8B/10B 标准使用12 个特殊的控制码字。在控制码字中K28.5、K28.7 为表征字符边界的comma 序列。 在接收端的8B/10B 解码模块实现的功能是编码的逆过程需要将编码后的10bit 数据根据映射表映射成8bit 的原始数据同时还需要实现错误字符的检测功能。