概念:
DSI协议spec支持总线控制权在master和slave之间发生交换,即通过bus turn around来实现;
BUS TURN AROUND:
BTA 的实现是通过controller—>cdphy的turnrequest信号来实现;
关于控制器发出turnrequest给phy,phy通过lvds/trio线输出turnaround sequence如下图中所示:
以上过程即为controller和phy(以TX为例)之间BTA的实现过程
但是DSI2协议在什么情况下会发起BTA?带着问题查阅spec发现:
Master发起BTA目的是需要Slave返回Acknowledge或short/long packet,那么在Tx发出什么包之后就会发起BTA呢,上述小节给出了答案。
-
Ack and error report可以作为任意command或read request的响应(在master向slave发起BTA之后),在Master发送完毕一个Transmission之后,如果检查到ECC err那么在Master发送一个read request包之后就会发起BTA,而Slave则会返回Ack and Err Report包。
-
同时在使用SNPS DSI2rx控制器的过程中发现,SNPS controller支持两种情况的TX行为下,Slave就会返回respons;
-
在发送set tear on 包(DCS短包),set tear scanling包(DCS长包)之后可以直接发起BTA从而使得Slave 返回respons
-
在发送read request包之后可以发起BTA从而使得Slave 返回respons
-
Acknowledge包的结构形式:
DSI2协议第8.9.4章节描述了