声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看
规范本节只针对含有Reverse High-Speed Data Transmission的半双工Lane模块(Half-Duplex Lane Modules)为例进行说明。
Lane通过Link Turnaround过程进入到反向高速数据传输模式(Reverse High-Speed Data Transmission)。反向数据传输不是源同步的,时钟信号由Master侧驱动,Data Lane被Slave侧驱动。Slave侧发送器在每两个接收到的时钟信号周期发送一个数据bit。因此对于一个给定的时钟频率,反向数据速率是正向数据速率的1/4。此时bit周期被定为为。
需要注意在不同的传输bursts之间,时钟源频率可能会变化。但是,所有Data Lanes在时钟源频率修改之前都要处于Low-Power状态。
图1 Conceptual View of HS Data Transmission in Reverse Direction
Reverse Dierction中时钟和数据之间存在四种可能的相位关系。用于发送数据的时钟相位由Slave侧自行决定,但一旦选择后,整个数据传输burst器件都必须保持固定。互联组件的信号延迟,加上Master和Slave模块内部的信号延迟,会在Master模块内部接收到的(Reverse)数据和它自身的(Forward)时钟之间,造成一个固定的但未知相位关系。因此,在Master到达的反向流量可能和Forward Direction时钟的相位不对齐。
时钟和数据信号之间的同步,是通过Slave在SoT(Start of Transmission)器件所发送的Sync序列来实现的。在发送给Slave的时钟有瞬时UI变化的情况下,Master要包含足够用的功能来正确采样接收到的数据。
由Slave侧发起的反向传输的速度是Forward Direction的1/4。这个比率能够让Master侧轻松地找到一个合适的相位用于反向流量的数据恢复。
接收到的Sync序列的变化情况是已知的,它被用来选择合适的时钟信号相位,这个相位用于数据采样。因此,没有必要指定时钟源和数据的接收器之间的往返延迟(round trip delay)。
图2 Reverse High-Speed Data Transmission Timing at Slave Side