7 故障检测
有三种不同的机制来检测链路的故障。总线争用和错误检测功能包含在D-PHY中,这些功能应能检测许多典型故障。然而,有些故障无法在D-PHY内部检测,需要协议层的解决方案。因此,第三种检测机制是一组特定应用的看门狗定时器。
7.1 争用检测
如果在一条通道中组合了双向通道模块和单向模块,则只有单向功能可用。因为在这种情况下,双向PHY模块的额外功能无法从功能有限的PHY端可靠地控制,所以双向模块的双向功能应被安全地禁用。否则,在某些情况下,可能会发生死锁,只能通过系统断电和重新初始化来解决。
在正常操作期间,任何时候链路的一侧只能驱动一条通道,某些过渡期间除外。由于错误或系统故障,通道可能会处于不希望的状态,即通道被两侧驱动或完全不被驱动。这种情况最终会导致状态冲突,称为争用。
所有具有低功耗双向功能的通道模块应包括争用检测功能,以检测以下争用情况:
- 两侧的模块在同一条线上驱动相反的低功耗电平。在这种情况下,Line电压将稳定在VOL,MIN和VOH,MAX之间的某个值。因为VIL大于VIHCD,稳定值将始终高于VIHCD或低于VIL,或两者皆是。详见第8节。这确保了至少链路的一侧,可能两侧,都会检测到故障情况。
- 一侧的模块驱动低功耗高电平(LP-high),而另一侧在同一条线上驱动高速低电平(HS-low)。在这种情况下,线电压将稳定在低于VIL的值。争用应在发送低功耗高电平的一侧检测到。
第一种情况可以通过低功耗争用检测(LP-CD)和低功耗接收(LP-RX)功能的组合检测到。低功耗接收功能应能检测到第二种争用情况。有关低功耗争用检测和低功耗接收电气规格的详细信息,请参见第9节。除非前一个状态是发送超低功耗状态(TX-ULPS),否则在过渡到新状态之前应检查争用情况。在超低功耗状态中不需要检测争用,因为比特周期未定义且可能没有时钟。
在检测到争用后,协议应采取适当措施解决情况。
在ALP模式下不存在争用检测机制。
7.2 序列错误检测
如果由于任何原因导致通道信号损坏,接收PHY可能会检测到信号序列错误。PHY内部检测到的错误可以通过PPI(协议与PHY接口)传递给协议层。这种错误检测是可选的,但强烈推荐,因为它能增强可靠性。以下是可以区分的序列错误:
- SoT错误
- SoT同步错误
- EoT同步错误
- 逃逸模式进入命令错误
- 低功耗传输同步错误
- 错误控制错误
7.2.1 SoT错误
当不支持去斜时,高速传输开始的主导序列对任何单比特错误和某些多比特错误具有容错性。因此,同步可能是有用的,但对有效载荷数据的置信度较低。如果出现这种情况,则指示SoT错误。
当支持去斜时,主导序列中不允许出现比特错误。如果主导序列中有错误,则有效载荷数据不可靠。引起SoT错误的确切序列超出了本文档的范围。
7.2.2 SoT同步错误
如果SoT主导序列被破坏,以至于无法期望正确的同步,则指示SoT同步错误。引起SoT同步错误的确切序列超出了本文档的范围。
7.2.3 EoT同步错误
当传输的最后一位不匹配字节边界时,指示EoT同步错误。只有在检测到LP-11时进行EoT处理的情况下,才能指示此错误。
7.2.4 逃逸模式进入命令错误
如果接收的通道模块无法识别收到的逃逸模式进入命令,则指示逃逸模式进入命令错误。
7.2.5 低功耗传输同步错误
在低功耗数据传输过程结束时,如果数据不同步到字节边界,则指示逃逸同步错误信号。
7.2.6 错误控制错误
如果低功耗请求(LP-10)之后未跟随有效的逃逸或转向序列的其余部分,则指示错误控制错误。如果高速请求(LP-01)之后未正确跟随桥接状态(LP-00),也会指示此错误。
对于快速通道转向过程,如果Fast-BTA控制码之后未跟随高速尾序列,则会生成错误控制错误。
7.3 协议看门狗定时器(信息性内容)
PHY无法检测所有故障情况。因此,需要额外的协议层超时机制来限制某些模式和状态的最大持续时间。
7.3.1 高速接收超时(HS RX Timeout)
在高速接收模式(HS RX)下,如果在一定时间内未收到结束传输(EoT),协议应超时。超时时间可以是协议特定的。
7.3.2 高速传输超时(HS TX Timeout)
高速传输(HS TX)的最大传输长度是有限的。超时时间是协议特定的。
7.3.3 逃逸模式超时(Escape Mode Timeout)
设备可能在逃逸模式下超时。超时时间应大于另一设备的逃逸模式静默限制。超时时间是协议特定的。
7.3.4 逃逸模式静默超时(Escape Mode Silence Timeout)
设备在逃逸模式下的低功耗传输(LP TX-00)的长度可能是有限的,之后另一设备可能会超时。超时时间是协议特定的。例如,显示模块应有一个逃逸模式静默限制,之后主处理器可以超时。
7.3.5 转向错误(Turnaround Errors)
7.3.5.1 控制模式通道转向错误(Control Mode Lane Turnaround Errors)
转向过程总是从停止状态开始。过程以一系列低功耗状态开始,结束于桥接状态(LP-00),期间驱动侧交换。过程由另一侧驱动的转向状态和随后停止状态的响应完成。如果事件的实际顺序违反了正常的控制通道模式转向过程,则可能向协议标记“错误控制错误”。参见第7.2.6节。转向状态响应作为正确完成的控制通道模式转向过程的确认。如果在一定时间内未观察到确认,协议应超时并采取适当行动。该时间应大于特定系统的最大可能转向时间。PHY对这种情况没有超时机制。
7.3.5.2 快速通道转向错误(Fast Lane Turnaround Errors)
快速通道转向过程总是从ALP停止状态开始。过程以携带快速BTA控制码的控制突发传输开始,随后在高速尾序列(HS-Trail)完成后过渡到ALP-00,期间驱动侧交换。过程由另一侧驱动的响应完成,通常由远程控制器发送的确认包组成。如果事件的实际顺序违反了正常的快速通道转向过程,则可能向协议层标记“错误控制错误”。参见第7.2.6节。转向状态响应作为正确完成的快速通道转向过程的确认。如果在一定时间内未观察到确认,则协议层应超时并采取适当行动。该时间应大于特定系统的最大可能转向时间。PHY对这种情况没有超时机制。