LRTE是一个可选的CSI-2特性,它能够促使系统达到最优的传输效率,以便支持新兴的图像应用。LRTE有个部分:
Interpacket Latency Reduction (ILR),包间延迟降低
Enhanced Transport Effeciency,传输效率增强
根据D-PHY物理层和C-PHY物理层的规范,CSI-2的短包之间和长包之间通过EoT,LPS和SoT包分隔符分开。一些高级的图像应用,比如PDAF(Phase Detection Auto Focus,相位检测自动对焦),Sensor Aggregation以及机器视觉应用,通过降低这些分隔符的开销,能够使这些应用能够极大地受益于有效速度的提升。

如上图所示,通过将传统的EoT, LPS和SoT包分隔符替换为更加高效的包分隔符(Efficient Packet Delimiter, EPD)信号机制后,可以达到降低包间延迟的目的。EPD避免了HS-LPS-HS的状态转换过程。一个EPD由PHY层和/或Protocol层的多个元素构成。PHY产生的EPD元素被称为“Packet Delimiter Quick(PDQ)”。Protocol层产生的EPD称为Spacers,Spacers可以任意地放到PDQ之前。
LRTE要求EPD能够在PHY处于高速信号(high-speed signaling)状态时被插入到相邻的CSI-2包之间,但不允许将EPD插入到刚好在PHY EoT之前的一个CSI-2包的后面。但在某些特殊情况下,对于一个刚好在PHY EoT之前的CSI-2包,后面可以插入Spacers,但没有PHY产生的PDQ信号。
C-PHY物理层的EPD由一个或多个PHY生成和使用的用于PDQ(Packet Delimiter Quick)的7-UI Sync Word构成,前面是任意的CSI-2 Protocol生成和使用的Spacer字。PDQ由发送者物理层生成,接收者物理层使用,其作用是作为一个健壮的CSI-2包分隔符来使用。图像传感器应该在PPI(PHY Protocol Interface) 处重复使用“TxSendSyncHS”,以便通过C-PHY发送器生成PDQ控制码。在C-PHY接收器收到PDQ控制码的时候,应用处理器应该在PPI处重复使用“RxSyncHS”,以便通知CSI-2协议层。7-UI PDQ控制码的持续时间正比于C-PHY符号速率(Symbol rate)。
用于C-PHY接收器的EPD,也能从PDQ前的Spacer插入行为中受益(Spacer插入是CSI-2 protocol生成和使用,属于协议可选项),因为这会为图像应用程序带来最优的包间延迟。CSI-2 C-PHY的Spacer Word值是0xFFFF,当存在Spacer Word时,在一条链路中所有Lane都要产生Spacer Word。
图像传感器(发送器,发送者)要有下面的两个16-bit寄存器来促使达成图像应用的最优包间延迟:
1. TX_REG_CSI_EPD_EN_SSP(EPD Enable and Short Packet Spacer)寄存器
| 这个寄存器的最高有效位(MS bit)用来使能EPD,在两个CSI-2包之间插入7-UI PDQ,以及可选的用于短包和长包之间的Spacer插入行为
|
| 如果C-PHY EPD使能,该寄存器的剩余15位(bits[14:0])用来指定CSI-2短包之后,每条Lane要插入的Spacer Word的最小数量(值最多到32,767) |
2. TX_REG_CSI_EPD_OP_SLP(Long Packet Spacer)寄存器
| 这个寄存器的最高有效位(MS bit)保留给未来使用 |
| 如果C-PHY EPD使能,该寄存器的剩余15位(bits[14:0])用来指定CSI-2长包之后,每条Lane要插入的Spacer Word的最小数量(值最多到32,767) |
如果C-PHY EPD使能,两个EPD寄存器的低有效15位配置例子:
发送器对于TX_REG_CSI_EPD_EN_SSP和TX_REG_CSI_EPF_OP_SLP这两个寄存器,每个寄存器至少要支持Spacer insertion count字段的1个可用非零值。
没有PDQ信号的Spacer Words,只有在C-PHY EPD使能并且TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit 7设置为1的时候,才可以插入到一个刚好在C-PHY EoT之前的CSI-2包的后面,寄存器详细描述参考“LRTE寄存器表”。如果这个bit没有被图像传感器所实现,本规范要求其内容要当做0处理。TX_REG_CSI_EPD_EN_SSP和TX_REG_CSI_EPD_OP_SLP寄存器的低15有效位决定了要插入到刚好在C-PHY EoT之前的Spacer Word的最小数量。
C-PHY EPD,以及不带PDQ信号的Spacer Word,和C-PHY ALP模式高速burst传输是完全兼容的。

CSI-2 C-PHY的 LRTE EPD例子
CSI-2 D-PHY物理层有两种EPD选项,本小节会详细说明。
当EPD使能时,无论是哪种EPD选项,都要用最少的Filler字节对齐链路上所有Lane的数据。Filler字节的值是0x00。链路中对齐Lane数据的过程和CSI-2 C-PHY上的本地EOT对齐过程类似。
D-PHY EPD选项1由PHY生成和使用的D-PHY HS-Idle PDQ信号组成,PDQ前可以有任意被CSI-2 Protocol生成和使用的Filler字节(如果有需要的话)外加0个或多个Spacer字节。CSI-2 D-PHY的Spacer字节的值是0xFF,当存在时,Spacer字节在链路中所有链路上都要产生。PDQ由物理层的发送器生成,接收器所使用,作为一个健壮的CSI-2包分隔符使用。D-PHY接收器能够从Protocol生成和使用的Spacer中受益,因为针对PDQ信号,前向时钟被disable之前,可能需要额外的时钟周期来通过pipeline冲刷掉载荷内容(payload content)。要注意的是D-PHY HS-Idle并不被ALP模式所支持。
关于fowarded clock(前向时钟/转发时钟),参考这里
I/O时钟架构http://www.360doc.com/content/21/0326/19/99071_969139151.shtml
使用D-PHY EPD选项1时,EPD不可以插入到刚好处于D-PHY EoT之前的CSI-2包的后面,但不带PDQ的Spacer字节可以插入到这种包后面,这种情况TX_REG_CSI_EPD_MISC_OPTIONS的bit 7被设置为1。TX_REG_CSI_EPD_EN_SSP和TX_REG_CSI_EPD_OP_SLP寄存器中低有效15 bits决定了在D-PHY EoT之前所要插入的最少的Spacer字节数。寄存器详细描述见“LRTE寄存器表”。
图像传感器应该在PPI接口处使用“TxHSIdleClkHS”来通过D-PHY发送器产生PDQ序列。当D-PHY接收器收到了PDQ序列,应用处理器侧应当在PPI接口处使用“RXSyncHS”来通知CSI-2 协议层(protocol layer)。另外“RxClkActiveHS”也能被用来提供EPD的提前的指示信号。

CSI-2 D-PHY - Option 1的LRTE EPD示例
D-PHY EPD选项2限制只使用了CSI-2 protocol生成和使用的Filler字节外加0个或多个Spacer字节,这些字节插入到了多个背靠背(back-to-back)包传输之间,这些传输都在相同的D-PHY 高速busrt传输中(不使用PHY生成和使用的PDQ)。选项2主要是为了使用支持legacy LP或LVLP模式的不支持选项1的D-PHY。但它也可以和ALP模式搭配使用。根据使用场景不同(即被连接起来的CSI-2包的大小和数量),缺少D-PHY生成和使用的包分隔符可能会影响CSI-2链路的完整性。选项2本意并非完全终结掉D-PHY LP,LVLP或ALP模式的包分隔符。当使用D-PHY EPD选项2时,同样推荐在一个短包或长包之后,加入一个或多个Spacer。
D-PHY EPD选项2也可以被应用到和USL(Unified Serial Link)相关联的使用C-PHY或D-PHY Escape模式LPDT传输的包上。
在D-PHY Option 2情况下,一个EPD(即一个或多个Spacer)不会在任何高速burst或LPDT载荷中的最后一个CSI-2短包或长包后面立即被插入,包括EoTp短包。

CSI-2 D-PHY 选项2的LRTE EPD示例
图像传感器(发送器)需要包含下面两个16-bit寄存器,用来为图像应用程序配置最优的包间延迟:
| TX_REG_CSI_EPD_EN_SSP (EPD Enable and Short Packet Spacer) | 这个寄存器的最高有效bit(MS bit)用于使能EPD插入到两个CSI-2包之间: 短包后插入可变长Spacer: 如果D-PHY EPD被使能,并且Option 1被选择(TX_REG_CSI_EPD_OP_SLP寄存器的bit 15为0)或Option 2被选择,同时TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit 5或bit 4为1 那么TX_REG_CSI_EPD_EN_SSP的bits[14:0]就指定了在CSI-2短包后每lane上实际插入的Spacer最小数量(寄存器值最大为32,767)。 各个短包之间每Lane实际插入的Spacer数量可以变化。对于D-PHY EPD选项2来说,TX_REG_CSI_EPD_EN_SSP寄存器的值和实际每Lane插入的Spacer数量都要是TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bits[5:4]的整数倍。 短包后插入固定长度Spacer: 如果D-PHY EPD被使能,并且使用了Option 2(TX_REG_CSI_EPD_OP_SLP寄存器的bit 15为1)同时TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit 5和bit 4都为0。 那么TX_REG_CSI_EPD_EN_SSP的bits[14:0]就指定了在CSI-2短包后每lane上实际插入的Spacer精确数量(寄存器值最大为32,767)。各个短包之间每Lane上插入的Spacer数量不会变化。 |
| TX_REG_CSI_EPD_OP_SLP (EPD Option and Long Packet Spacer) | 这个寄存器的最高有效bit(MS bit)用于选择D-PHY EPD选项: 长包后插入可变长Spacer: 如果D-PHY EPD被使能,并且Option 1被选择(TX_REG_CSI_EPD_OP_SLP寄存器的bit 15为0)或Option 2被选择,同时TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit 5或bit 4为1 那么TX_REG_CSI_EPD_EN_SLP的bits[14:0]就指定了在CSI-2长包后每lane上实际插入的Spacer最小数量(寄存器值最大为32,767)。 各个长包之间每Lane实际插入的Spacer数量可以变化。对于D-PHY EPD选项2来说,TX_REG_CSI_EPD_EN_SLP寄存器的值和实际每Lane插入的Spacer数量都要是TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bits[5:4]的整数倍。 短包后插入固定长度Spacer: 如果D-PHY EPD被使能,并且使用了Option 2(TX_REG_CSI_EPD_OP_SLP寄存器的bit 15为1)同时TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit 5和bit 4都为0。 那么TX_REG_CSI_EPD_EN_SSP的bits[14:0]就指定了在CSI-2长包后每lane上实际插入的Spacer精确数量(寄存器值最大为32,767)。各个长包之间每Lane上插入的Spacer数量不会变化。 |
下面的例子适用于两个EPD寄存器的低有效15位:
对于可变长度Spacer插入:
对于固定长度Spacer插入:
发送器对于TX_REG_CSI_EPD_EN_SSP和TX_REG_CSI_EPF_OP_SLP这两个寄存器,每个寄存器至少要支持Spacer insertion count字段的1个可用非零值。PDQ序列的持续时间和D-PHY链路速率成正比,通过D-PHY物理层的HS-Idle时序参数进行配置。
对于D-PHY EPD,对于支持Option 1下插入不带PDQ的Spacer、或Option 2下插入EoTp或可变数量Spacer字节的图像传感器(发送器)来说, TX_REG_CSI_EPD_MISC_OPTIONS寄存器是需要有的。如果寄存器没有具体实现,则视寄存器值为0.
需要注意的是,当使用Escape模式LPDT应用到USL发送的包时,TX_REG_CSI_EPD_EN_SSP,TX_REG_CSI_EPD_OP_SLP寄存器并不是用来控制图像传感器LRTE的。
在D-PHY EPD选项2下,CSI-2发送器在包之间插入可变长度的Spaver字节,要求CSI-2接收器能够检查出潜在的Spacer字节,而不是简单地通过计数方式来识别,这样才能不会将包头字节和Spacer字节混淆。由于Spacer字节要被分发到从Lane1开始的所有数据Lane上,CSI-2接收器可以通过只在Lane1上扫描包之间的值为0xFF的字节。但是,真正可靠的检测手段也要求这些字节是没有任何错误的,因为Lane 1上Spacer字节(值为0xFF)如果有1 bit错误,它就会看起来像是一个包头的DI(Data Identifier)字节。反过来也是,包头字节中如果有1 bit错误,它就会看起来像是一个Spacer字节。
如果CSI-2接收器将一批批的四个连续Spacer字节的Lane合并的分组当做潜在的32-bit的包头处理,那么ECC计算的结果就能够用来检测和修正Spacer字节中的错误了,因为这就像其处理包头字节的过程一样。这样做是有可能的,因为发送的每一组由4个Spacer字节组成的单元,其低有效6个bit的值为0x3F,这个值也正好是其高有效26个bit对应值0x3FFFFFF的6-bit ECC结果。
根据链路中数据Lane(N)的总数量不同,Spacer字节插入和检测机制的使用原则可能会有所不同。CSI-2的发送器所插入的Spacer字节,要求每Lane是M = LCM(N,4) / N个字节的整数倍,这里的LCM表示最小公倍数。要保证CSI-2接收器能观察到包之间的四个Spacer字节为单位的整数倍长度。

如上表所示,M可能的值只有1,2,4,可以通过TX_REG_CSI_EPD_MISC_OPTIONS寄存器的bit[5:4]进行配置。
有一点值得注意的是,CSI-2接收器只需要在Lane 1上检查每M个潜在的Spacer字节中的1个字节的数据完整性,即只要一组M字节里的在Lane 1上第一个字节被确认是Sapcer字节,剩余的M-1个字节就能够被安全地被CSI-2接收器所忽略,因为它可以提前知道这些字节在被插入的M个Spacer字节里。

一般场景:启用健壮的Spacer字节检测(Robust Spacer Byte Detection)
然而,对于N > 4的情况,是可以配置CSI-2发送器让它总是在每lane插入任意数量的Spacer字节(即M 设置为1)的,此时CSI-2接收器检查前四个Lane的数据并且在Lane1中确认了有一个Spacer字节,忽略剩下Lane的字节。(此处为个人理解记录,可能有误,请结合规范出处英文辅助理解)

特殊场景:启用健壮的Spacer字节检测
使用D-PHY EPD选项2时,当多个CSI-2包通过一次单独的D-PHY高速(HS, high-speed)burst载荷中传输时,需要host在所有情况下,都要能有正确的操作来可靠地检测出burst中的最后一个CSI-2包。在很多实现方案中,这要求CSI-2 host协议接收器在HS trailer bits、以及其他来自D-PHY物理层接收器的bits上执行额外的End-of-Transimission(EoT)处理。
如果HS trailer bits后面跟着非常少但数量未知的bits,这些bits的值也难以确定,这种情况下EoT的处理会更加复杂。具体的例子有:D-PHY HS到LP的过程中,或LVLP电压转换过程中。
对于D-PHY EPD选项2,EoTp短包(End-of-Transmission Short Packet)通过在D-PHY高速burst载荷中对最后一个CSI-2包引入没有歧义的信号的方式,去掉了CSI-2协议接收器进行EoT处理的需要。
EoTp短包的字段定义如下:
关于EoTp,还有一些其他规则要遵守:

EoTp使用案例
在许多应用中,EPD可以和LVLP或ALP Mode信号一起使用,以便能够从CSI-2 ILR和增强信道传输(enhanced channel transport)中受益。

EPD和LVLP或ALP Mode信号一起使用


