在区分串口和并口时会有如下的疑问:
1.串口只有一根线吗
2.串口需要时钟吗
其实区分串口和并口的既不是串口有多少跟线,也不是串口是否需要时钟。而是判断多bit信号之间是否有严格的时序对齐要求。比如有8bit数据需要传输:
有一个8bit并口,此时8bit同时在并口上传输,为了接收端能同一时钟正确的解析这8bit数据,就要求8bit数据在发送端偏斜在一定范围之内,且8跟传输线长度偏差在一定范围否则8bit信号走线延迟不同,会导致在接收端同一时钟不能正确解析8bit原数据。
而对于串口 假设有4个串口lane,在TX断首先将8bit按某一分配算法分配到4个串口lane上,每个串口lane独立的传输数据,最后在接收端独立的收到4条lane的8bit数据,这4条lane之间数据没有先后顺序。在接收端收到8bit数据之后在根据分配算法重新组成8bit原数据。
以上过程可以看到串口传输过程中也有并行的概念,但这个并行是指4条lane并行,而不是8bit并行。
在进一步解释:串口的每条lane里面并不一定只有1跟信号,在高速传输时常用差分线对,两根线在同一时刻传输差分信号来表示1个bit(差分传输可以抗电气干扰)。
串口传输可以有同步时钟也可以完全异步传输。比如MIPI DPHY的DSI LowPower传输(就是低速传输)就不需要时钟。而HighSpeed传输就需要差分时钟(差分时钟可以完成双沿传输DDR)。
最后串口一定比并口快吗? 可以参考下面知乎的高质量回答,也可以进一步理解串口和并口的区别。
为什么串口比并口快? - 知乎作为一个电路设计师,我整个职业生涯都花在接口电路上,串行并行都做过,且速度不慢(DDR3-1600Mbps, Ser…https://www.zhihu.com/question/27815296