深入理解SERDES接口
http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html
理解SerDes
www.blog.sina.com.cn/fpgatalk
FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。从PCI到PCI Express,从ATA到SATA,从并行ADC接口到JESD204, 从RIO到Serial RIO,…等等,都是在借助SerDes来提高性能。SerDes是非常复杂的数模混合设计,用户手册的内容只是描述了森林里面的一棵小树,并不能够解释SerDes是怎么工作的。SerDes怎么可以没有传输时钟信号?什么是加重和均衡?抖动和误码是什么关系?各种抖动之间有什么关系?本篇小文试着从一个SerDes用户的角度来理解SerDes是怎么设计的, 由于水平有限,一定有不够准确的地方,希望对刚开始接触SerDes的工程师有所帮助。
Contents
1. SerDes的价值... 1
1.1并行总线接口... 1
1.2SerDes接口... 3
1.3中间类型... 4
2.SerDes结构(architecture) 4
2.1串行器解串器(Serializer/Deserializer) 6
2.2发送端均衡器( Tx Equalizer) 8
2.3接收端均衡器( Rx Equalizer) 9
2.4时钟数据恢复(CDR) 13
2.5 公用锁相环(PLL) 16
2.6SerDes编解码... 18
2.7SerDes收发Driver及差分接口转换... 19
2.8SerDes环回和调试... 19
3.抖动和信号集成( Jitter, SI ) 19
3.1时钟的抖动(clock jitter) 19
3.2.数据的抖动(data jitter) 20
4.信号集成(SI)及仿真... 23
4.1信道channel 23
4.2芯片封装Package. 24
4.3SI仿真... 24
5.结尾... 25
6.参考资料 了解更多的内容,可以阅读以下内容。...25
在SerDes流行之前,芯片之间的互联通过系统同步或者源同步的并行接口传输数据,图1.1演示了系统和源同步并行接口。
随着接口频率的提高,在系统同步接口方式中,有几个因素限制了有效数据窗口宽度的继续增加。
我们来做一些合理的典型假设,假设一个32bit数据的并行总线,
可以大致估计出并行接口的最高时钟 = 1/(50+50+100+250) = 2.2GHz (DDR)或者1.1GHz (SDR)。
要提高接口的传输带宽有两种方式,一种是提高时钟频率,一种是加大数据位宽。那么是不是可以无限制的增加数据的位宽呢?这就要牵涉到另外一个非常重要的问题-----同步切换噪声(SSN)。
SerDes采用差分方式传送数据。一般会有多个通道的数据放在一个group中以共享PLL资源,每个通道仍然是相互独立工作的。
l SerDes通过加重/均衡技术可以实现高速长距离传输,如背板。
SerDes的主要构成可以分为三部分,PLL模块,发送模块Tx,接收模块Rx。为了方便维护和测试,还会包括控制和状态寄存器,环回测试,PRBS测试等功能。见图2.1。
Figure2.1 Basic Blocks of a typical SerDes
一个SerDes通常还要具调试能力。例如伪随机码流产生和比对,各种环回测试,控制状态寄存器以及访问接口,LOS检测, 眼图测试等。
2.1串行器解串器(Serializer/Deserializer)
Serializer/Deserializer的实现采用双沿(DDR)的工作方式,利用面积换速度的策略,降低了电路中高频率电路的比例,从而降低了电路的噪声。
发送侧均衡器设计为一个高通滤波器(HPF),大致为信道频响H(f)的反函数H-1(f),FFE的目标是让到达接收端的信号为一个干净的信号。FFE的实现方式有很多,一个典型的例子如图2.5所示。
图2.7为DFE时域滤波效果的演示,以10Gbps线速率为例,一个UI=0.1 nS=100ps。演示的串行数据码流为二进制[00000000100001111011110000]。
深入理解SERDES接口相关推荐
- LVDS之一_理解SerDes
原文地址: http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html FPGA发展到今天,SerDes(Serializer-Deserializer) ...
- 深入浅出理解SerDes
我们平时使用的I2C.串口等其实都是串行总线,但是因为他们速度较低.时序简单,所以很少在高速串行总线时被提及.但是在高速时代的今天,一些高速总线,如LVDS.MIPI.SERDES.SATA.USB等 ...
- pcs和serdes_理解SerDes
理解 SerDes FPGA 发展到今天, SerDes(Serializer-Deserializer) 基本上是标配了. 从 PCI 到 PCI Express, 从 ATA 到 SATA ,从并 ...
- 深入理解Serdes 结构之 结构概览
前言 从PCI到PCI Express, 从ATA到SATA,从并行ADC接口到JESD204, 从RIO到Serial RIO,-等等,都是在借助SerDes来提高性能.SerDes是非常复杂的数模 ...
- 深入理解SerDes之一
我在2015年底到2016年初的时候,使用7 Series FPGA Transceivers完成了TS流数据的传输,当时使用的传输速度为3.125G,SerDes选取的是8b/10b编码方式,到最后 ...
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- java接口深入理解,深入理解Java接口
从java接口是什么到为什么,理解java接口,主要解决三个问题 1.java接口是什么 2.java接口为什么 3.java接口怎么用 java接口是什么 接口是方法的抽象,通过接口规定类需要实现那 ...
- Java Apache Commons Collection3.2.1 理解Transformer 接口
Java Apache Commons Collection3.2.1 理解Transformer 接口 引言 Transformer 接口 InvokerTransformer MapTransfo ...
- SerDes接口——架构与电路
随着通信技术的飞速发展,高速串行互连以其结构简单,不需要传输同步时钟,相比并行传输有更高数据传输效率的优点,成为现代通信和数据传输的重要组成部分.随着对数据传输速率要求的不断提高,SERDES应运而生 ...
最新文章
- LVM 逻辑卷的扩容/缩容
- vue-video-player文档_vue的video插件vue-video-player
- matlab fft简单小例子,matlabfft简单例子(A simple example of matlabfft).doc
- java11模块化开发_【JDK 11】关于 Java 模块系统,看这一篇就够了
- YBTOJ洛谷P4074:糖果公园(树上莫队)
- R语言学习笔记(八)判别分析
- post方式加载iframe
- 亿级APP支付宝在移动端的高可用技术实践
- 电脑突然出现成功连接网络但不能上网、网络受限(解决办法)
- 半导体物理与器件_2017级光信息专业本科生选修课程:半导体物理与器件
- 【灵感一剖】WPS简历助手使用反馈
- 全球光伏多晶硅价格上涨 中美贸易纠纷不断
- 关于Android开发中图片的三级缓存机制
- html 怎么检测ie浏览器的最高版本号,怎样在HTML代码里面判断IE版本?
- Mac远程控制Ubuntu黑屏
- mysql数据表操作_MySQL数据表基本操作实例详解
- 使用ffmpeg解码音频sdl(push)播放
- 怀念吗?那年下课回宿舍的日子
- 汇编语言实现七段数码管显示控制实验
- 抢先看:DHS和NIST发布IoT安全指南
热门文章
- 隆重介绍恩智浦MCU机器学习教育套件——OpenART
- python django 优势_那么多人选择Python,它的优势,缺点有哪些?
- l3fwd 是什么_服务器DPDK l3fwd性能测试
- ffpemg扩展 安装php_ThinkSwoole 教程(二)安装
- 在html游戏里添加计时,如何在计时器上运行后台任务 (HTML)
- python怎么后退_使python迭代器向后退?
- 平流式初沉池贮砂斗计算_给排水之市政污水处理构筑物:平流式、曝气式、旋流式三大沉砂池...
- python下三角代码分析_空间分析:2-3。用Python生成Delaunay三角形,23Python,德劳内
- FPGA之道(21)HDL语言的选择
- 【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(时域方法)