1~3 简介/术语/参考文档
这三章属于介绍性内容,包括缩略语等名词术语解释内容,不再赘述。
直接进入以下正文部分
4 D-PHY概述
D-PHY描述了一种Source同步、高速、低功耗、低成本的PHY,特别适用于移动应用。这个D-PHY规范主要是为了将相机(camera不是CSI吗?)和显示器应用程序连接到主机处理器而编写的。然而,它可以应用于许多其他应用。可以设想,相同类型的PHY也将用于更通用的通信网络中的互连的双单工配置中。由于链路两侧之间的主从关系,链路的操作和可用数据速率是不对称的。不对称设计显著降低了链路的复杂性。一些功能,如双向、半双工操作是可选的。利用这一特性对于具有不对称数据业务需求的应用程序以及当用于返回信道的单独互连的成本过高时是有吸引力的。虽然此功能是可选的,但对于没有返回流量要求或希望应用物理上不同的返回通信信道的应用程序,它避免了强制性的开销成本。
4.1 PHY功能概述
D-PHY提供主设备和从设备之间的同步连接。一种实用的PHY配置由时钟信号和一个或多个数据信号组成。时钟信号是单向的,起始于主设备,终止于从设备。数据信号可以是单向的,也可以是双向的,这取决于所选择的选项。对于半双工操作,反向带宽是正向带宽的四分之一(为什么带宽是四分之一,是因为只有data0可以反向操作吗?)。令牌传递用于控制链路的通信方向。
链路包括用于快速数据业务的高速信令模式和用于控制目的的低功耗信令模式。可选地,低功耗退出模式可用于低速异步数据通信。高速数据通信出现在具有任意数量的有效载荷数据字节的突发中。
PHY每个数据通道使用两根导线,时钟通道使用两根电线。这为最小PHY配置提供了四条导线。在高速模式下,每条Lane的两侧都端接,并由低摆幅差分信号驱动。在低功耗模式下,所有电线均为单端和非端接操作。由于EMI原因,该模式的驱动器应进行转换速率控制和电流限制。
高速模式下实际可实现的最大比特率由发射机、接收机和互连实现的性能决定。因此,在本文档中没有指定最大比特率。然而,本规范主要旨在定义一种解决方案,该解决方案适用于每通道80 to 1500 Mbps的数据速率范围(无去偏移校准)、1500 to 2500Mbps的去偏移校准以及2500 to 4500Mbps的均衡。当实现支持大于1500 Mbps的数据速率时,还应支持去偏斜能力。当PHY实现支持超过2500 Mbps的数据速率时,它还应支持均衡,并且应提供扩频时钟。尽管PHY配置不限于此范围,但实际限制使其成为最适合预期应用的范围。对于固定的时钟频率,可以通过使用更多的数据通道来增加PHY配置的可用数据容量(能无限扩容吗?)。通过采用突发模式通信可以降低有效的数据吞吐量。低功耗模式下的最大数据速率为10Mbps。
本规范引入的特征(扩频时钟、传输均衡和去偏移)可以应用于任何HS数据速率。
4.2 强制性功能
本文件中规定且第5.5节中未明确说明的所有功能应适用于所有D-PHY配置。
5 架构
本节描述PHY的内部结构,包括其在行为层面的功能。此外,给出了几种可能的PHY配置。每个配置都可以被认为是一组基本模块的合适组合。
5.1 Lane模块
PHY配置包含时钟通道模块和一个或多个数据通道模块。这些PHY通道模块中的每一个都通过两条线路与通道互连另一侧的互补部分通信。
每个通道模块由一个或多个同时使用两条互连线的差分高速功能、一个或更多个单独在每条互连线上操作的单端低功耗功能以及控制和接口逻辑组成。所有功能的概述如图1所示。高速信号具有低电压摆动,例如200mV,而低功耗信号具有大摆幅,例如1.2V。高速功能用于高速数据传输。低功耗功能主要用于控制,但也有其他可选用例。I/O功能由通道控制和接口逻辑块控制。该块与协议接口,并确定通道模块的全局操作。
高速功能包括差分发射机(HS-TX)和差分接收机(HS-RX)。
通道模块可以包含HS-TX、HS-RX或两者。在正常操作期间,单个通道模块内的HS-TX和HS-RX永远不会同时启用(不是全双工吗,为什么不能同时发收?--->因为是单通道内)。启用的高速功能应在第9.1.1节和第9.2.1节中定义的通道互联一侧端接通道。如果车道模块中的高速功能未启用,则应将该功能置于高阻抗状态。
低功耗功能包括单端发射机(LP-TX)、接收机(LP-RX)和低功耗竞争检测器(LP-CD/Contention-Detector)。低功耗功能总是成对存在,因为这些功能是在两条互连线中的每一条上单独操作的单端功能。LP-TX可以支持可选的低电压低功耗(LVLP/Low Voltage Low Power)操作,其中与正常低功耗模式相比,最大电压是有限的。符合第9.2.2节VIH规范的LP-RX支持LVLP操作。
高速和低功耗功能的存在是相关的。也就是说,如果车道模块包含HS-TX,它也应包含LP-TX。类似的约束适用于HS-RX和LP-RX。
如果包含LP-RX的通道模块通电,该LP-RX应始终处于活动状态,并持续监测线路电平。LP-TX只能在驱动低功耗状态时启用。LP-CD功能仅用于双向操作。如果存在,则启用LP-CD功能以在LP-TX驱动低功耗状态时检测争用情况。LP-CD在线路上驱动除ULPS(超低功耗状态/Ultra-Low Power State)之外的新状态之前检查竞争。
LP-TX、HS-TX和HS-RX在单个通道模块中的活动是互斥的,除了一些短的交叉周期。有关线路侧时钟和数据信号以及HS-TX、HS-RX、LP-TX、LP-RX和LP-CD功能的详细规范,请参阅第9章和第10章。
为了正确操作,必须匹配通道互连两侧的通道模块中的一组功能。这意味着,对于车道互连一侧的每个HS和LP发送或接收功能,另一侧必须存在互补的HS或LP接收或发送功能。此外,在任何结合TX和RX功能的通道模块中都需要一个竞争检测器(谁与谁竞争?HS-TX/HS-RX/LP-TX/LP/RX之间,还是说只是在LP-TX/LP-RX之间?)。
5.2 Master和Slave
每个链路(链路包含一个时钟通道和至少一个数据通道的两个设备之间的连接,链路由至少两个PHY和两个通道互连组成)都有一个Master和一个Slave。Master向时钟通道提供高速DDR时钟信号,是主要数据source。Slave在clock Lane接收时钟信号,是主要的数据sink。数据通信的主要方向,从source到sink,表示为正向。相反方向的数据通信称为反向传输。只有双向数据通道才能在反向方向上传输。在所有情况下,时钟通道都保持在正向,但双向数据通道可以反转,从Slave端sourceing数据。
5.3 高频时钟生成
在许多情况下,PLL时钟乘法器(基本工作原理是什么,倍频?)需要用于在Master产生高频时钟。D-PHY规范使用架构模型,其中PHY外部的单独时钟乘法器单元生成PHY所需的高频时钟信号。这个时钟乘法器单元在实践中是否集成在PHY内部,由实施者决定。
5.4 时钟通道、数据通道和PHY协议接口
除了通道模块外,完整的链路还包含一个PHY适配层,该层将所有通道、时钟乘法器单元和PHY协议接口连接在一起。图2显示了具有两个数据通道和一个单独的时钟乘法器单元的链路的PHY配置示例。PHY适配器层虽然是PHY的一个组件,但不在本规范的范围内。
每个单独通道的逻辑PHY协议接口(PPI/PHY-Protocol interface)包括一组信号以覆盖该通道的功能。如图2所示,时钟信号可用于所有通道。时钟乘法器单元的参考时钟和控制信号不在本规范的范围内。
5.5 可选通道选项
PHY配置由一个时钟通道和一个或多个数据通道组成。所有数据通道应支持正向的高速传输和Escape模式。
数据通道主要有两种类型:
- 双向(具有折返和一些反向通信功能)
- 单向(无折返或任何类型的反向通信功能)
双向数据通道应包括以下反向通信选项中的一个或两个:
- 高速反向数据通信
- 低功耗反向Escape模式(包括或不包括LPDT/Low-Power Data Transmission)
所有通道应包括对ULPS(超低功耗状态)和正向触发器的Escape模式支持。其他Escape模式功能是可选的;第6.6节描述了所有可能的Escape模式功能。应用程序应定义需要哪些额外的Escape模式功能,对于双向通道,应分别为每个方向选择Escape模式功能。
这导致了完整PHY配置的许多选项,自由度为:
- 单个或多个数据通道
- 双向和/或单向数据通道(每个通道)
- 支持的反向通信类型(每条通道)
- Escape模式支持的功能(每个通道的每个方向)
- 数据传输可以使用8位原始数据(默认)或8b9b编码符号(见附录C)
图3是选项选择过程的流程图。实际配置示例见第5.7节。
Figure 3 Option Selection Flow Graph
5.6 通道模块类型
通道模块中所需的功能取决于通道类型以及通道模块位于通道互连的哪一侧。主要有三种通道类型:时钟通道、单向数据通道和双向数据通道。可以使用这些通道类型来构造若干PHY配置。有关选择通道选项的更多信息,请参见图3。
图4显示了通用通道模块图,其中对CIL功能的内部功能进行了全局概述。此通用模块可用于所有通道类型。“控制和接口逻辑”(CIL/Control and Interface Logic)功能的要求取决于通道类型和通道侧。第6章和附件A隐含地规定了CIL功能的内容。实际实现留给实现者。
当然,只支持特定通道类型所需功能的通用通道模块的精简版本也是可能的。这些精简版本由表1中的首字母缩略词标识。出于简化的原因,四个识别字符中的任何一个都可以用X代替,这意味着这可以是任何可用的选项。例如,CIL-MFEN因此是单向通道Master侧的精简CIL功能,仅在前进方向具有Escape模式功能。CIL-SRXX是用于通道Slave侧的CIL功能,支持双向高速通信和任何允许的Escape模式子集。
注意,CIL-XFXN表示单向链路,而CIL-XRXX或CIL-XXXY块表示双向链路。请注意,时钟通道的前向“Escape”(ULPS)条目与数据通道的Escape模式条目不同。
推荐的PHY协议接口包含字节格式的数据输入和数据输出、输入和/或输出时钟信号和控制信号。控制信号包括请求、握手、测试设置和初始化。附录A中描述了逻辑内部接口的建议。虽然不是要求,但使用建议的PPI可能非常有用。对于IC上的外部使用,一种实现方式可以在相同引脚上多路复用许多信号。然而,由于功率效率的原因,PPI通常在IC内。
5.6.1 单向数据通道
对于单向数据通道,Master模块应至少包含HS-TX、LP-TX和CIL-MFXN功能。Slave侧应至少包含一个HS-RX、一个LP-RX和一个CIL-SFXN。
5.6.2 双向数据通道
双向数据通道模块包括某种形式的反向通信;高速反向通信、反向Escape模式或两者兼有。所需的功能取决于通道模块中包含的反向通信方法。
5.6.2.1 无高速反向通信的双向数据通道
无高速反向通信的双向数据通道模块应包括反向Escape模式。Master侧通道模块包括HS-TX、LP-TX、LP-RX、LP-CD和CIL-MFXY(双向不应该是R吗,为什么是F?--->只针对High-Speed Capabilities)。Slave端包括HS-RX、LP-RX、LP-TX、LP-CD和CIL-SFXY。
5.6.2.2 具有高速反向通信的双向数据通道
具有高速反向通信的双向数据通道模块应包括反向Escape模式。Master侧通道模块包括HS-TX、HS-RX、LP-TX、LP-RX、LP-CD和CIL-MRXX。Slave侧包括HS-RX、HS-TX、LP-RX、LP-TX、LP-CD和CIL-SRXX。
这种类型的通道模块似乎对于Master侧和Slave侧都适用,但由于链路的不对称性(不对称性具体是指?),一侧应配置为Master侧,另一侧应配置为Slave侧。
5.6.3 时钟通道
对于时钟通道,仅使用一组有限的线路状态。然而,对于时钟传输和低功耗模式,需要与单向数据通道相同的TX和RX功能。因此,用于Master侧的时钟通道模块包含HS-TX、LP-TX和CIL-MCNN功能,而Slave侧模块包含HS-RX、LP-RX和CIL-SCNN功能。
请注意,时钟通道所需的功能与单向数据通道相似,但并不完全相同。高速DDR时钟与数据信号以正交相位传输(图2所示的I和Q,为什么要这样做,为了读写错开半个周期?),而不是同相传输。此外,时钟通道Escape模式条目与用于数据通道的条目不同。此外,由于时钟通道仅支持ULPS,因此不需要Escape模式进入代码。
具有适当相位的内部时钟信号在PHY外部生成并传送到各个通道。时钟生成单元的实现不在本规范的范围内。内部时钟信号的质量应足以满足第10章中规定的信号时序要求。
5.7 配置
本节概述了几种常见的PHY配置,但不应被视为所有可能安排的详尽列表。任何其他不违反本文件要求的配置也是允许的。
为了创建抽象级别,通道模块在本节中由通道模块符号表示。图5显示了符号的语法和含义。
对于多个数据通道,可以进行多种配置。图6显示了不同通道类型的符号表示概述。每种通道类型的首字母缩略词都以简短的方式表示了每个模块的功能。这也为每个模块内的CIL功能设置了要求。
5.7.1单向配置
所有单向配置都由时钟通道和一个或多个单向数据通道构成。可以区分两种基本配置:单数据通道和多数据通道。为了完整起见,还显示了Dual Simplex配置。在PHY级别,Dual Simplex配置和两个独立的单向配置之间没有区别。
5.7.1.1 具有单个数据通道的PHY配置
此配置包括一个时钟通道和一个从Master设备到Slave设备的单向数据通道。因此,只能在前进方向上进行通信。图7显示了一个没有LPDT的配置示例。这种配置需要四条互连信号线。
5.7.1.2 具有多个数据通道的PHY配置
此配置包括一个时钟通道和从Master到Slave的多个单向数据通道。带宽得到了扩展,但通信只能在正向上进行。PHY规范并不要求所有数据通道同时处于活动状态。事实上,协议层单独控制所有数据通道。图8显示了三个数据通道的此配置示例。如果N是数据通道的数量,则此配置需要2*(N+1)条互连线。
5.7.1.3 双单工(具有单向通道的两个方向)
这种情况与两个独立(双)、单向(单)链路相同:每个方向一个链路。每个方向都有自己的时钟通道,可以包含单个或多个数据通道。请注意,对于两个不同方向而言Master侧和Slave侧是相反的。每个方向的PHY配置应符合D-PHY规范。由于两个方向在概念上是独立的,所以每个方向的比特率不必匹配。然而,对于实际实现,只要两个链路都满足外部的所有规范,匹配速率并共享一些内部信号是有吸引力的。图9显示了这种双PHY配置的示例。
5.7.2 双向半双工配置
双向配置包括一个时钟通道和一个或多个双向数据通道。半双工操作实现了共享互连线之间的双向通信。与Dual Simplex配置相比,此配置节省了导线。但是,链路上的时间在正向和反向流量以及链路调转(Link Turnaround)之间共享。根据定义,反向方向上的高速比特率是正向方向上的比特率的四分之一。LPDT在正向和反向方向上可以具有相似的速率(低速正反向一样,高速反向是正向的四分之一,为什么要这样定义?--->为了下面讲的数据流量不对称场景?)。这种配置对于数据流量不对称的情况尤其有用。
5.7.2.1 具有单个数据通道的PHY配置
该配置包括一个时钟通道和任何类型的双向数据通道中的一个。这允许在正向和反向两个方向上进行时间复用的数据业务。图10显示了具有数据通道的该配置,该数据通道支持双向高速和Escape(无LPDT)通信。其他可能性是仅支持一种类型的反向通信,或者在一个或两个方向上也包括LPDT。所有这些配置都需要四条互连线。
5.7.2.2 具有多个数据通道的PHY配置
此配置包括一个时钟通道和多个双向数据通道。每个通道都可以在前进和后退方向上进行通信。最大可用带宽随每个方向的通道数而变化。PHY规范不要求所有数据通道同时活动,甚至不要求在同一方向上操作。事实上,协议层单独控制所有数据通道。图11显示了具有两个数据通道的示例配置。如果N是数据通道的数量,则此配置需要2*(N+1)条互连线。
5.7.3 混合数据通道配置
PHY配置可以组合不同的单向和双向数据通道类型,而不是仅使用一种数据通道类型。图12显示了一个具有一个双向和一个单向数据通道的示例配置,这两个通道都没有LPDT。
6 通用操作
本节规定了D-PHY的操作,包括信令类型、通信机制、操作模式和编码方案。所需电气功能的详细规范见第9节。
6.1 传输数据结构
在高速或低功耗传输期间,链路将协议层提供的有效载荷数据传输到链路的另一侧。本节规定了对发送和接收的有效载荷数据的限制。
6.1.1 数据单元
最小有效载荷数据单元应为一个字节。提供给TX和从任何通道上的RX获取的数据应为整数字节。此限制适用于任何方向的高速和低功耗数据传输。
6.1.2 位顺序、串行化和反串行化
对于串行传输,数据应在传输PHY中串行化,并在接收PHY中解串行化。PHY不承担传入和传出数据的特定含义、值或顺序(PHY层只管串行解串0和1信号,信号含义由上层解释?)。
6.1.3 编码和解码
本规范不要求线路编码。但是,如果使用线路编码,则应按照附录C执行。
6.1.4 数据缓冲
根据协议请求进行数据传输。一旦通信开始,只要不停止传输请求,传输侧的协议层就应提供有效数据。对于使用线路编码的通道,也可以在传输中插入控制符号。接收端的协议应在接收PHY交付后立即获取数据。信令概念,因此PHY协议握手,不允许数据节流。用于此目的的任何数据缓冲都应在协议层内(数据缓冲是上层协议层的事?)。
6.2 通道状态和线路水平
发射器功能通过驱动某些线路电平来确定通道状态。在正常操作期间,或者HS-TX,或者LP-TX在通道上驱动。HS-TX始终以差分的方式驱动通道。两个LP-TX独立和单端驱动一个通道的两条线。这导致了两种可能的高速通道状态和四种可能的低功耗通道状态。高速通道状态为Differential-0和Differential-1。低功耗通道状态的解释取决于操作模式。LP接收器应始终将两种高速差分状态解释为LP-00。
“stop”状态具有非常独特的中心功能。如果线路电平在所需的最短时间内显示停止状态,则PHY状态机应返回到停止状态,而不考虑之前的状态。根据最近的操作方向,可以处于RX或TX模式。表2列出了正常运行期间通道上可能出现的所有状态。电平的详细规格见第9节。
所有LP状态周期的持续时间应至少为TLPX。状态转换应平稳,并排除故障影响。时钟信号可以通过对Dp线和Dn线进行异或来重构。理想情况下,重建的时钟具有至少2*TLPX的持续时间,但由于信号斜率和跳闸电平(trip levels)的影响,可能具有50%以外的占空比。
6.3 操作模式:Control、High-Speed和Escape
在正常操作期间,数据通道将处于Control或High-Speed模式。高速数据传输以BURST方式发生,从Stop状态(LP-11)开始并结束,根据定义,Stop状态处于Control模式。通道仅在数据突发期间处于High-Speed模式。进入High-Speed模式的顺序为:LP-11、LP-01、LP-00,此时数据通道保持在High-Speed模式,直到接收到LP-11。Escape模式只能通过控制模式中的请求进入。数据通道应始终退出Escape模式,并在检测到Stop状态后返回Control模式。如果未处于High-Speed或Escape模式,数据通道应保持在Control模式。对于数据通道和时钟通道,Stop状态充当一般待机状态,并可能持续任何>TLPX时间。从Stop状态开始的可能事件有高速数据传输请求(LP-11、LP-01、LP-00)、Escape模式请求(LP-11、LP-10、LP-00、LP-01、LP-00)或调转请求(LP11、LP-10、LP-00、LP-10、LP-00)。
6.4 高速数据传输
高速数据传输以突发方式发生。为了帮助接收机同步,数据突发应在发射机侧使用前导(leader)和尾部(trailer)序列进行扩展,并在接收机侧消除。因此,只能在传输线上观察到这些前导序列和尾序列。
发射机从Stop状态开始并以Stop状态结束。在两次突发之间的中间时间内,数据通道应保持在Stop状态,除非通道上出现Turnaround或Escape请求。在HS数据突发期间,时钟通道应处于High-Speed模式,为Slave端提供DDR时钟。
6.4.1 突发有效载荷数据
突发的有效载荷数据应始终代表整数个有效载荷数据字节,最小长度为一个字节。注意,对于短突发,“开始”和“结束”开销比有效载荷数据的实际传输消耗更多的时间。PHY没有隐含的最大字节数。然而,在PHY中,在HS数据突发期间没有自主的错误恢复方式,并且实际BER不会为零。因此,对于每个单独的协议,考虑最大突发长度的最佳选择是什么是很重要的。
6.4.2 传输开始
在传输请求之后,数据通道离开Stop状态,并通过传输开始(SoT/Start-of-Transmission)过程为High-Speed模式做准备。表3描述了TX和RX侧的事件序列。
6.4.3 传输结束
在数据突发结束时,数据通道离开高速传输模式,并通过传输结束(EoT/End-of-Transmission)程序进入Stop状态。表4显示了EoT过程中可能发生的一系列事件。注意,EoT处理可以由协议或D-PHY来处理。
6.4.4 HS数据传输突发
图14显示了数据突发传输期间的事件序列。对于任何通道,传输都可以通过协议独立地开始和结束。然而,对于大多数应用程序,通道将同步启动,但由于每个通道传输的字节数量不等,可能会在不同的时间结束。附件A中描述了与协议层的握手。
图15显示了表5中描述的高速数据传输的状态机。
6.5 双向数据通道调转(Turnaround)
双向数据通道的传输方向可以通过链路调转程序进行交换。此过程允许在与当前方向相反的方向上传输信息。从前进方向更改为倒档或从倒档更改为前进方向的过程相同。请注意,Master侧和Slave侧不得通过调转进行更改。链路调转应完全在控制模式下处理。表6列出了调转期间的事件顺序。
(后续章节有时间再完善)