SerDes 简单介绍

如果你是一个搞通信的开发工程师,不管是硬件的还是驱动的,对这个肯定是很熟悉了;如果你是搞汽车电子的,可能相对来说陌生一点,但是没关系,随着车上的信号速率越来越高,很快你就需要了解它了;如果是搞自动驾驶的硬件设计,然后你还不是很熟悉,那么这个东西越快了解越好。

一般来说Serdes相关的高速信号问题,都归类到信号完整性,但是传统的信号完整性的知识讲的又都是偏重电路设计,而我们今天要说的重点可能在发送和接收端的均衡技术,更偏重现在的应用。

一 什么是SerDes

SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称 ,为什么这个词能成为一个专门的称呼呢?这个要从硬件信号的发展来说。最开始的高速信号传输效率提升,一定是从在同样的时钟频率下,多加数据线的来实现的,这就是并行信号,比如以前的DDR(之所以说以前的,是因为DDR5已经在增加一些串行技术进去了),MII,GMII ,等;

系统同步和源同步

在SerDes流行之前,芯片之间的互联通过系统同步或者源同步的并行接口传输数据。

GMII接口

GMII 接口,8个发送数据,8个接收数据,125M时钟实现1G的信号传输。(实际上RGMII就是GMII的串行化,把串并转换做在了芯片内部)。

但是,随着信号传输的数据量和速率越来越高,并行信号受限数据和时钟信号skew ,时钟周期抖动,同步开关噪声等(测试过DDR信号的工程师应该不陌生),信号速率很难提升。DDR是个还在坚持的例外,了解的同学也可以知道DDR提升的艰辛。

后来技术发展出了CDR,能从数据中恢复出时钟,这就太方便了。SerDes在接收端集成了CDR(Clock Data Recovery)电路,利用CDR从数据的边沿信息中抽取时钟,并找到最优的采样位置。SerDes不传送时钟信号,这也是SerDes最特别的地方,SerDes采用差分方式传送数据。

SerDes 接口

相比源同步接口,SerDes的主要特点包括:

1 在数据线中时钟内嵌,不需要传送时钟信号。

2 通过加重/均衡技术可以实现高速长距离传输,如背板。

3 使用了较少的芯片引脚.

很多接触Serdes的工程师,都会被各种加重/均衡技术搞晕,哪些是发送端的,哪些是接收端的,如何实现的?

二 SerDes 技术框图

典型的SerDes模块

从上面的图中我们可以看到,信号在芯片内部经过一个并转串,然后是FFE 均衡器,Driver 发送出去,接收端有DFE,CDR 串转并。两个问题来了,没接触过的会问,这些都是什么意思?接触过的问,预加重呢?没关系 ,我们分为发送端和接收端,分别来说。

三 发送端均衡技术

由于串行信号速率太高,必须有信号均衡Equalizer技术来保证信号完整性。

FFE(Feed Forward Equalization前向反馈均衡)

发送侧均衡器设计为一个高通滤波器(HPF), 目标是让到达接收端的信号为一个干净的信号,这就是FFE。FFE的实现方式有很多,一个典型的例子如图:

三阶FFE

其实FFE 是一个比较偏数学或者说是频域的概念,具体到电路层次,从时域信号来看,一般又叫加重器(emphasis)。加重分为去加重(de-emphasis)和预加重(pre-emphasis)。De-emphasis 降低差分信号的摆幅(swing)。Pre-emphasis增加差分信号的摆幅。、由于目前芯片都需要追求降低功耗,所以大部分使用de-emphasis的方式,加重越强,信号的平均幅度会越小。

预加重

去加重

如果你用过博通的芯片,那么这部分可能会叫做:pre cursor/ post cursor,而且新的技术会有很多阶,通过各种调,你才能调出一个符合规范要求的眼图。

发送端均衡器也就是说FFE的大概效果是什么样子呢?前面说过,频域上讲,FFE相当于一个高通滤波器,调节滤波器的系数可以改变滤波器的频响,以补偿不同的信道特性,一般可以动态配置。以10Gbps线速率为例,图为FFE频率响应演示。可以看到,对于C0=0,C1=1.0,C2=-0.25的配置,5GHz处高频增益比低频区域高出4dB,从而补偿信道对高频频谱的衰减(高频衰减大)。(习惯看示波器的同学,边沿的上升就是对高频的增益加大,去加重和预加重的效果相同,只是信号摆幅一个小一个大)

频响曲线

对于一个 0000 0000 1000 0111 1011 1100 00 的10Gbps速率信号,我们来看下他在3阶FFE的调整下是如何变化的。

FFE input

C0=0.125 C1 =1.0 C2=-0.25

从图中可以看到,高频部分得到增强,低频部分压低,经过信道之后,可以想象接收端可能会是一个0.8左右的眼图(高频衰减多,低频衰减少)。所以,如果你拿高速示波器在发送端测试眼图,多数会一个翘的眼图:

这个用的预加重

关于眼图呢,完全可以另外在开一个话题,有感兴趣的朋友,我们可以以后写一下。以下两个图借用说一下去加重的效果。

没有加发送均衡,眼睛睁开小

加了去加重,最大摆幅小了,但是眼睛睁的大了,好

再举一个例子,无FFE均衡时发送波形和接收眼图如下:

借用一博科技的图,他们在信号完整性方面积累很多

实时示波器波形

再来看加了均衡的效果

眼睛睁开了

注意0电平门限的值不一样,这跟后面接收端的处理有关

很显然,有了均衡技术之后,高速信号的传输就能支持更高速率,更远距离了。

好了,发送端的均衡技术就介绍到这。本来想一次把发送和接收都介绍了,但是时间有限,改天有时间再写接收端的技术,也是重头,CDR ,DFE, CTLE 啥的。

本文的图片很多借用了网上一个《SerDes 详解》的文章,源出处不详了,写的非常好,我把其中一些明显的小错误给改了下,以便理解。还有一博科技和其他地方的图片,一并感谢!原作者如有意见请直接指出,多谢

### Simulink 中的 SerDes 仿真概述 在Simulink环境中,可以通过特定的工具集和模块来实现SerDes(Serializer/Deserializer)系统的建模、仿真以及分析。以下是关于如何利用Simulink中的功能完成SerDes仿真的详细介绍。 #### 使用 SoC Blockset 进行硬件架构建模 SoC Blockset™ 提供了一组强大的Simulink®模块和可视化工具,允许用户针对ASIC、FPGA和片上系统(SoC)的硬件与软件架构进行建模、仿真和分析[^1]。这些工具支持构建复杂的内存模型、总线模型和I/O模型,从而帮助工程师更精确地描述目标系统的特性。对于SerDes的设计而言,可以借助此类模块化方法定义其发送端(Tx)、接收端(Rx)以及其他相关组件的行为特征。 #### 创建简单 SerDes 模型实例 为了快速入门,可以从一个基础示例出发——即通过脚本 `simpleSerDesModel.m` 来建立基本框架。此脚本会在Simulink界面下生成包含FFE(前馈均衡器)在内的发射机部分,同时也涵盖了具备CTLE(连续时间线性均衡器)、DFE(判决反馈均衡器)及CDR(时钟数据恢复单元)等功能模块构成的接收机侧配置[^2]: ```matlab % 调用函数以初始化默认设置并打开预设好的模型窗口 simpleSerDesModel; ``` 执行上述命令之后即可看到完整的拓扑图展示出来,其中各子系统均已按照标准通信链路形式连接起来以便进一步调整参数或者扩展复杂度更高的场景应用需求。 #### 导入信号完整性通道信息至项目当中 除了搭建好初始版本之外还需要考虑外部因素影响比如信道效应等问题因此有必要把实际测量得到的数据文件加载进来作为输入源之一参与到整个流程之中去评估不同条件下性能表现差异情况等等。具体操作方式可能涉及读取S参数矩阵或者其他格式类型的文档内容后再将其转换成适合当前环境使用的表达形式最后再关联到对应的节点位置上去形成闭环控制回路结构。 #### 关于 IBIS-AMI 建模的重要性说明 当涉及到更高频率范围内的高速串行接口设计时候往往离不开IBIS(Interface Bus Specification)-Advanced Model Interface (AMI)技术的支持因为只有这样才能更加贴近真实世界里的物理现象规律进而做出更为精准可靠的预测结果出来[^3]。所以在开展任何有关这方面的工作之前务必要深入学习掌握相关的理论基础知识同时也要熟悉各种主流EDA平台所提供的配套资源选项才能更好地满足项目进度安排方面的要求。 ```matlab function setupComplianceTest() % 定义合规性测试的具体逻辑... end ``` 以上就是围绕着怎样运用Matlab/Simulink来进行SerDes类课题研究的一些核心要点总结希望能对你有所帮助! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值