github上hamsternz/FPGA_DisplayPort 的VHDL源码分析(三)

idle_pattern_inserter.v

没有视频数据时,发送idle pattern。根据协议要求每8192个符号重复一次。所以idle_count位宽为13位。每次+2是因为本模块每次发送2个符号。

一次idle pattern发送的数据见协议Figure 2-12: VB-ID, Mvid7:0, and Maud7:0 Packing over the Main-Link,该模块能同时支持1/2/4lane的情况

开机时即使有视频流,以及链路准备好,也要发送64K的idle pattern。这是代码里表现出来的,协议我没读完,暂时没看到这个要求

协议table2-7表明视频速率低于物理层线路速率时,可以使用idle pattern填充

当源及链路都准备好,发送完64K的idle pattern后,要等到in_data(72)= '1' and idle_switch_point = '1'才能进入发送视频流的模式。

idle_switch_point为1发生在插入有效idle pattern后的dummy字段时

in_data(72)为源码分析(一)中提到的switch_point,意义为“一帧有效数据发送完成后的每行头800个像素switch_point为1,其他时刻为0”

猜你喜欢

转载自blog.csdn.net/m0400220334/article/details/84944075