DP/eDP协议学习--屏幕自刷新PSR

屏幕自刷新

对于source和sink来说,PSR属于可选功能。如果要实现PSR,双方都应该支持。自刷新的目的就是降低系统功耗,而且是eDP嵌入式应用最主要的节省功耗的方式。并且效果明显,当需要长时间显统一帧的时候就可以使用此功能。但是目前市面上支持自刷新的屏幕很少。据反映系统做的也不好,容易闪屏。但是这个功能真的不错,希望以后该应用能广泛应用。

下图为子刷新的状态转移图,这个图需要软硬件协同完成,软件需要指导状态机处于何处,硬件负责状态转移。

DP/eDP协议学习--屏幕自刷新PSR_第1张图片

启动自刷新

要启动PSR,source需要在垂直消隐区发送PSR SDP。假如sink端需要给相关资源上电,这个从上电到准备好捕获的video数据的时间叫做PSR建立时间。Sink端的DPCD寄存器要声明这个时间是多少,同时source也要读取这个时间,以保证发送PSR SDP与有效视频数据的间隔要大于PSR建立时间。如下图所示;
DP/eDP协议学习--屏幕自刷新PSR_第2张图片

Source可以选择关闭Main Link或者不关闭,假如需要关闭,那么就在下一帧的第9个BS那一行关闭。
通过source无法在一帧之内满足PSR建立时间的要求,就需要高速sink在Frame n+2捕获有效视频数据。同样在n+2 帧的第9个BS关闭Main Link。

退出自刷新

退出自刷新时分为两种情况,Main link关闭和Main link 开启。
(1):Main Link 关闭
首先source通过AUX配置DPCD(600h-0x01)来唤醒sink,当sink Main Link接收功能上电之后要回复ACK信号。此时sink会声明是否需要Link Training,当不需要Link Training, source 端可以发送Idle Patterns,并至少发送5组,然后在发送正常帧,这5组Idle Patterns 用于sink的时钟恢复。如下图所示:
DP/eDP协议学习--屏幕自刷新PSR_第3张图片

当需要进行Link Training 时,source接收到ACK之后就按流程进行Link Training, 完成之后同样也至少发送5组Idle Patterns,之后source有两个选择
a):source 继续发送Idle Patterns,此时sink的数据来源仍然是RFB;
b):source 发送有效video数据;
(2)Main Link不关闭
当Main Link 不关闭,source 可以发送Idle Patterns 或者发送有效video 数据,此时sink也要保持接收的状态。
source选择继续发送有效video数据,那么其需要在垂直消隐区发送PSR SDP,并且SDP要包含active属性。如果要退出,就发送inactive PSR SDP。所以,sink要监视所有PSR SDP。若sink连续两帧没有收到PSR SDP,sink就会主动退出PSR模式。
Source 选择选择继续发送Idle Patterns,此时source可以选择发或者不发PSR SDP,一旦sink收到Idle Patterns,sink就会忽略所有PSR SDP。

你可能感兴趣的:(高速接口,IC,视频,学习,TV)