声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看
Master和Slave
每条链路(Link)上都存在一个Master侧和Slave侧。Master提供高速DDR时钟信号到Clock Lane,是主要的data source。Slave在Clock Lane上接收时钟信号,是主要的data sink。数据传输的主要方向是从source到sink,被称为正向(Forward Direction)传输,相反方向的数据通信被称为反向传输(Reverse Direction)。只有双向(Bi-directional) Data Lane能够反方向传输数据。无论是哪种情况,Clock Lane都保持为Forward Direction,Bi-directional Data Lane能够被反转为从Slave侧发送数据。
高频时钟生成
大多数情况下都需要一个PLL时钟倍频器来产生Master侧的高频时钟。D-PHY规范中所使用的架构模型中,有一个单独的时钟倍频器单元放置到了PHY的外部,它会为PHY产生所需要的高频时钟信号。实际实现上,这个时钟倍频器单元是否要集成到PHY内部由实现者自己决定。
Clock Lane,Data Lane和PPI(PHY-Protocol Interface)
一条完整的链路,除了Lane模块外,还包含一个PHY Adatper Layer用来将所有Lane绑到一起、一个时钟倍频器单元以及PHY Protocol Interface。下图例子展示了一条带有两个Data Lane外加一个独立的时钟倍频器单元的链路。
图1 Two Data Lane PHY配置
每条Lane的PPI逻辑接口包含了一组信号,这些信号覆盖了这条Lane的所有功能性需求。Clock信号被所有Lane所共享。
可选择的Lane选项
一个PHY配置(PHY Configuration)由一个Clock Lane和1个或多个Data Lane所组成。所有Data Lane,在Forward Direction中,要支持HS传输和Escape Mode。所有Lane可以选择支持ALP模式。
有两种主要的Data Lane类型:
- 双向的(Bi-directional),有Turnaround和一些反向通信功能
- 单向的(Unidirecitonal),没有Trunaround或任何反向通信功能
双向Data Lane要包含下面的一个或两个反向通信选项:
- High-Speed反向通信
- Low-Power Reverse Escape Mode(包含或不包含LPDT)
对于Forward Direciton里的ULPS和Triggers,所有Lane要支持Escape Mode,可选支持ALP mode。应用要定义所需的额外的Escap Mode或ALP Mode的功能有哪些,对于双向Lane来说,要为每一个方向单独选择Escap mode和(或)ALP mode功能。
对于完整的PHY配置来说,存在许多选项可用,这些自由度有:
- 单条或多条Data Lane
- 双向和(或)单向Data Lane(每条Lane)
- 支持的反向通信的类型(每条Lane)
- Escape Mode所支持的功能(每条Lane,每个方向)
- ALP Mode所支持的功能(每条Lane,每个方向)
- 8-bit raw数据(默认)传输或使用8b9b编码符号
下图是一个选项抉择过程的流程图
图2 选项选择流程图