DisplayPort--Link training之Clock Recovery (CR)

前言

之前,在芯片原厂搞过这个,把知道的分享给大家(其实就是帮大家翻译下协议!!)

介绍

DisplayPort(DP-1.2)的Clock Recovery(CR)是TX和RX建立同步的第一道训练。

目的,为了让RX从字符串中恢复出时钟(DP接口其实就相当于是一个serdes),只有正确恢复出时钟(即RX和TX的时钟保持同步),才能从数据流中正确锁定字符,恢复出正确的数据。

可以看下图,这是DP-1.2协议中的CR training的流程图。

CR training流程

首先,CR训练发送的是D10.2数据符号(训练pattern:TPS1),而且训练时必须禁用加扰(需要注意)。发射器必须在电压摆幅为0,预加重为0(记为:(0,0)挡位)的挡位。

开始发送训练pattern之前,需要设置好RX和TX的lane数和link速率。

S1:配置RX设备的TRAINING_PATTERN_SET位(DPCD地址102h),设置训练的pattern为TPS1(值为21h);并将RX当前训练的挡位设置为0即:电压摆幅为0,预加重为0(0,0)),其配置对应TRAINING_LANEx_SET字节(DPCD寄存器的103h〜106h)。

注意,如果RX的CDR(时钟和数据恢复)单元已实现并保持频率锁定时,RX才会在DPCD链路状态字段中设置LANEx_CR_DONE位,将其值设为1

S2:TX开始发送TPS1训练pattern,必须至少等待TRAINING_AUX_RD_INTERVAL中指定的时间后,才能读取接收器DPCD寄存器的LANEx_CR_DONE位的值。(CDR恢复时钟需要一定的时间,所以要等待TRAINING_AUX_RD_INTERVAL时间后,才能去读LANEx_CR_DONE位的值)

如果,读出所有lane的LANEx_CR_DONE的值都为1,则CR训练成功,结束CR训练。

如果,所有lane的LANEx_CR_DONE位的值,在连续读取了4次后,依然不全为1即:如果4条lane,只有3条lane为1,也叫失败),则CR锁定失败,开始步骤S3。

S3:CR锁定失败,RX将会自动将所有的LANEx_CR_DONE的值保持清零。同时RX会将合适训练的差分电压摆幅和预加重电平的挡位(假设为:(2,3)挡位),更新到ADJUST_REQUEST_LANEx_x字节中。

S4:接着,将ADJUST_REQUEST_LANEx_x字节的差分电压摆幅和预加重电平的挡位((2,3)挡位),更新到RX的TRAINING_LANEx_SET字节中。

然后,重新从步骤S2开始,如果重复读取4次后,CR还是没有锁定,则CR训练失败,接着需要降低link速率,去重新开始训练。

注意,大部分的IP和协议的描述基本一致,让我们去读取ADJUST_REQUEST_LANEx_x中差分电压摆幅和预加重电平的值,然后按这个挡位值重新开始训练。如果训练成功则成功,失败就需要降低link速率重新开始训练。从我的实际经验来看,这个流程其实并不适用。

我们从(0,0)挡位开始训练,如果失败,我们将采用ADJUST_REQUEST_LANE的挡位(2,3),其实(2,3)挡位也不是能保证百分白成功(我的经验来看,基本很难成功,因为每次更新的值都不一样),而且很多显示器不是很正规,因此靠这个满足兼容性测试完全不够。

因此,如果(0,0)挡位失败了,建议切到(0,1)挡位开始下一次训练,最好遍历所有的挡位后,才采取降低link速率开始下一次训练。

不要因为ADJUST_REQUEST_LANE的挡位训练不通过,就盲目降低速率去训练。

 S5:当遍历所有档位后,CR还是没有锁定,则需要降低link速率去训练。重新训练,则重新从步骤S2开始训练。

S6:当link速率降低到RBR(1.62Gbps)后,CR还是没有锁定,则需要减少lane数,从新开始训练(这个步骤是DP-1.4以上的内容,不再展开,都是从步骤S2重复开始)

S7:一旦所有通道的LANEx_CR_DONE位被置起(值为1),则CR训练成功。接收器将会继续进行下一个阶段的训练,即 Channel Equalization (EQ训练)。

CR训练注意事项

1. 训练时,TX和RX必须禁用加扰。

2. 训练时,TX和RX的训练pattern必须保持一致。

3. 训练时,TX和RX的lane数和link速率必须保持一致。

4. 训练时,TX和RX的训练挡位必须保持一致

EDP训练注意

每个EDP屏的lane数和link速率,默认是固定的。因此只需要训练不同的挡位即可,不需要去改动lane数和link速率。

DisplayPort Link Training(显示端口链路训练)是为了确保有效的数据传输而发生的一系列通信过程。当连接一个显示器(或其他显示设备)到计算机时,DisplayPort会自动进行链路训练过程来最优化信号传输。下面是DisplayPort Link Training的主要步骤: 1. 插入:将DisplayPort连接器插入计算机的显示输出端口,并将另一端插入显示器的接口。 2. 握手:计算机和显示器之间进行一次初始化的握手,以建立通信。 3. 发现:计算机会读取显示器的EDID(扩展显示标识数据)以了解显示器的类型、分辨率和刷新率等信息。 4. 链路配置:根据显示器的EDID信息,计算机会选择符合最佳配置参数的链路设置。这些参数包括带宽、色彩深度和分辨率等。 5. 频道等化:在链路配置之后,计算机会发送一系列数字模式来调整和优化信号传输。这个过程称为频道等化,目的是减少信号传输中的失真和干扰。 6. 再握手:在频道等化之后,计算机和显示器再次进行握手以确认链路的稳定性,并确保两者的信号传输能力匹配。 7. 数据传输:一旦完成链路配置和频道等化,计算机就可以通过DisplayPort发送图像和音频数据到显示器,从而实现高质量的图像显示。 总的来说,DisplayPort Link Training是一系列用于优化和稳定显示器信号传输的过程,确保计算机和显示器之间的连接能够实现最佳的图像显示效果。这个过程中会根据显示器的特性和要求进行链路配置和频道等化,从而最大程度上提供高质量的图像显示体验。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

垮掉一代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值