java怎么拦截某个对象
304
2022-10-28
串行接口的设计与实现
HighSpeedDigital通常都是串行接口,也可以说正是因为它是串行的,速度才会变得那么高,因为它把芯片内部并行总线上的数据变成串行的发送出去,比如以上提到的QSFP40G它也是通过10G*4x达成,但是为什么一定要这样做呢?高速数字信号在PCB上的SI问题是非常复杂的,很难设计,为什么不能直接把芯片内部的并行数据直接发出来呢?我们一起来了解下!
图示了同样一段走线长度,高速IO已经翻转了几个周期了,低速IO才经历了一个上升沿
所以这时候我们不能再用以前那种系统级同步的方式了,因为整板用同一个clk同步,但是这个clk到各个IC的距离不同,是铁定无法同步的了,除非平稳且完全对称,走线完全等长,那我想这种板子应该完全卖不出去!
不,这些方案都不够好,真正好的方案应该是简洁且有效的。既然同时发送clk和data也不那么灵活,那能不能只发data,然后在接收端从data里面摘出clk的信息呢?这样既不需要数据跟clk做同步,也不需要对clk进行时钟域的搬移!
答案是可以的,高速数字io的每一个部分,都是服务于这个目的:有效地解析出data和clk,再搬到内部的差分总线上,这些模块所增加的芯片面积,跟封装多了几十个pin的成本比起来根本不算个事,是不是觉得发明高速串行接口的人太变态了,能用钱解决的事,非要靠智慧,让我们这些普通人跟进起来多吃力!
简单而言,高速数字接口的结构可以简化成下面这张图:
PLL按照Rxpin上收到的信号的最快频率恢复出来,然后再跟Rx与一下,就成了内部的Rx数据!
现在数据和时钟都有了,是我们所谓的那些协议发挥作用的时候了。在协议里我们定义了一些databit的组合作为flag,在接收端接收到这些flag时,来判断接下来这些数据是data,还是control,还是idle!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~