GMII、SGMII和SerDes的区别和联系?
GMII和SGMII区别,上一篇已经介绍了,这一篇重点介绍SGMII和SerDes区别。
GMII和SGMII
SGMII接口
SGMII和SerDes
终于到了今天的猪脚-SerDes,为什么拿SGMII和SerDes进行对比,主要原因是,SerDes是一个串行接口,和SGMII很像,和GMII几乎没有什么交集,所以两者对比就没有什么实际意义,所以只进行SGMII和SerDes进行对比。
由于SerDes在PCIe部分起着非常重要的作用,所以这部分详细内容会放到PCI-e部分详解,这里只是简单介绍一下:
SerDes,是SERializer(串行器)和DESerializer(解串器)的简称,是一种点对点的高速串行通信技术,串口协议跟IIC、SPI等总线协议还是有很大差别的,最大的特点就是点对点收发、没有随路时钟,它的速率是隐含在协议里的,双方必须按照约定好的波特率进行数据的发送和接受才能正确的完成通信,SPI则是主机向从机发送时钟,从机在这个时钟的上升沿采样数据、下降沿发送数据,最开始人们为了提高通信速率的思路有两条:提高随路时钟频率、增加数据通路位宽,这都很好理解,举个栗子就是四线SPI(Qspi),但逐渐地这种思路就遇到瓶颈!
第一、时钟频率的不断增加,时钟抖动和偏斜的因素变得更加明显,也增加了时钟质量的要求,为了充分利用时钟,工程师们还想到了利用下降沿,没错,就是DDR!第二、数据总线的增加意味着管脚数的增加,这会引起PCB布局布线的灾难。人们又开始把思路回到不用时钟线的串口协议上。先看看串口收发器的伪代码!
//串口收发器 SerialTransceiver
module serialTR(
input sys_clk,
input