> 文章列表 > MIPI D-PHYv2.5笔记(14) -- Initialization

MIPI D-PHYv2.5笔记(14) -- Initialization

MIPI D-PHYv2.5笔记(14) -- Initialization

        声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看

初始化

        所有PHY都支持LP模式。如果ALP模式也支持,则链路是用LP初始化流程还是ALP初始化流程,由系统实现者决定。

LP Initialization

        在上电后,Slave侧PHY要在Master PHY驱动了一个Stop状态(LP-11)并维持超过T_{INIT}时间的时候进行初始化。第一个超过这个指定T_{INIT}时间的Stop状态被称为初始化周期(Initialization period)。Master PHY自身通过系统或协议层输入信号(PPI)来被初始化。Master侧要保证在Master被初始化之前,信号线上不会出现一个超过T_{INIT}的Stop状态。Slave侧在初始化周期之前的一段未指定长度的时间内,要忽略所有的信号线状态。

        需要注意T_{INIT}是一个依赖于协议层的参数,因此T_{INIT,MASTER}T_{INIT,SLAVE}的具体要求是被定义在协议层规范中的。但D-PHY规范对T_{INIT,MASTER}T_{INIT,SLAVE}的最小长度是有要求的,规范上要求不小于100us。使用D-PHY规范的协议层规范可以指定任意大于这个值的值,比如T_{INIT,MASTER} \\geq 1 ms,T_{INIT,SLAVE}在500到800us之间。

图1 LP Initialization States 

ALP Initialization

        在上电后,Slave侧PHY要在Master PHY发送了一个ALP Wake脉冲并维持超过T_{INIT}时间的时候进行初始化。 发送这个脉冲紧跟一个转换到ALP Stop状态的序列被称为初始化周期(Initialization period)。链路要被配置为Slave PHY上电和就绪的时间要在Master PHY发送初始化序列之前。Master PHY自身通过系统或协议层输入信号(PPI)来初始化。Master PHY要确保其在初始化之前,在Lane上不会出现周期超过T_{INIT}的ALP-01 Lane状态。Slave侧在初始化周期之前的一段未指定长度的时间内,要忽略所有的信号线状态。

         当Slave PHY在Master PHY之前进入到Init状态时,Dp和Dn没有被Master PHY所驱动。Slave PHY要让它的差分端接(differential termination)Z_{ID}保持启用状态,直到观察到一个ALP Wake脉冲,这样做是用来避免它的接收器输入管脚处的不受控制的电压影响,这可能会导致错误的ALP-ED检测触发。当Master PHY上电时,它的发送器可能会在线路上临时产生一个差分电压毛刺(differential voltage glitch)。这个电压毛刺要限制到ALP-ED阈值V_{IDTL\\_ALP}之下来避免导致错误的ALP-ED检测触发。Master PHY在Init状态中不能使用Half Swing模式。

         需要注意T_{INIT}是一个依赖于协议层的参数,因此T_{INIT,MASTER}T_{INIT,SLAVE}的具体要求是被定义在协议层规范中的。但D-PHY规范对T_{INIT,MASTER}T_{INIT,SLAVE}的最小长度是有要求的,规范上要求不小于100us。使用D-PHY规范的协议层规范可以指定任意大于这个值的值,比如T_{INIT,MASTER} \\geq 1 ms,T_{INIT,SLAVE}在500到800us之间。Slave PHY要在T_{INIT,SLAVE}周期中禁用掉它的端接(termination)。

 

图2 ALP Initialization States  

 

 图3 Example of Initialization Period after Power-Up