MIPI 详解:C-PHY

ops/2025/2/12 10:47:31/

提示:本文基于 MIPI Specification for C-PHY Version 1.2 – 26 November 2016

文章目录

  • 简介
  • C-PHY 概述
    • PHY 功能概述
      • Lane 信号状态概述
      • 高速模式下符号的表示
      • 高速信号状态表示
  • 体系结构
    • Lane 模块
    • 主机和从机
    • 高频时钟产生
    • 通道和物理协议接口
    • 可选择的通道选项
  • Global Operation
    • Transmission Data Structure
      • Data Units
      • Bit Order, Serialization, and De-Serialization
      • Encoding, Decoding, Mapping and De-Mapping
        • Wire States
        • Symbol Encoding and Decoding
          • Encoding
          • Decoding
        • 16-to-7 Mapping and 7-to-16 De-Mapping Circuit Implementation
          • Tx 16-Bit to 7-Symbol Mapper
          • Rx 7-Symbol to 16-Bit De-Mapper
      • Data Buffering
    • Lane States and Line Levels
      • HS and LP Mode Line States and Line Levels
      • ALP Mode Line States and Line Levels
    • Operating Modes: Control, High-Speed, and Escape
      • HS and LP Operating Modes
      • ALP Operating Modes
    • High-Speed Data Transmission
      • Burst Payload Data
      • Start-of-Transmission
      • End-of-Transmission
      • HS Data Transmission Burst
        • Sync Word for Packet Header Resynchronization
        • Sync Word Sync Type
      • Alternate Low Power (ALP) Mode Transmission Burst
        • Stop Code and ULPS Code
        • Trigger Codes
        • Spacer Code
        • LPDT Start Code and LPDT Nibble Code
        • Post2 Code
        • ALP Timing Parameters
        • ALP Operation State Diagram
        • Concurrent LP and ALP Operation
    • Bi-Directional Lane Turnaround
    • Escape Mode
      • Remote Triggers
      • Low-Power Data Transmission
      • Ultra-Low Power State
      • Escape Mode State Machine
    • Global Operation Timing Parameters
    • Global Operation Flow Diagram

简介

本文档描述了一种高速串行接口 C-PHY,它可以在带宽有限的通道上提供高吞吐量,用于连接外设,包括显示器和摄像机。

C-PHY 基于三相符号编码技术,通过三线三联传输每个符号 2.28 比特,目标是 2.5G symbols/s。C-PHY 与 D-PHY 有许多共同的特性;C-PHY 的许多部分改编自 D-PHY。C-PHY 被设计成能够与 D-PHY 共存于同一 IC 引脚上,从而可以开发双模器件。

C-PHY 概述

C-PHY 描述了一种高速、高效的 PHY,特别适用于信道速率限制的移动应用程序。速率受限信道的需求是通过使用三相符号编码技术来实现的,在三线导线组上,每个符号传递大约 2.28 比特。该 C-PHY 规范主要用于将摄像机和显示器连接到主机处理器。当然,它也可以应用于许多其他应用程序。

按照设想,C-PHY 有时将用于双工配置的互连。根据系统要求,正反方向的符号速率可以是相等的,也可以是不对称的。由于 C-PHY Lane 有一个嵌入式时钟,反向符号速率可以比正向符号速率快或慢。传输或接收高速反向数据的能力是可选的。对于具有非对称数据流量需求的应用程序,以及当返回通道的单独互连成本过高时,利用此特性非常有吸引力。虽然此特性是可选的,但对于没有返回通信需求或希望应用物理上不同的返回通信通道的应用程序,它避免了强制性的开销。

C-PHY 重用了 D-PHY 标准的许多部分。C-PHY 被设计成与 D-PHY 共存于同一 IC 引脚上,因此可以开发双模器件。C-PHY 高速数据编码与 D-PHY 时钟转发系统有很大的不同,尽管高速信号电平和终端有一些相似之处。D-PHY 的低功耗模式几乎完全被重用,并且从高速模式和低功耗模式之间的转换与 D-PHY 标准非常相似。

C-PHY 编码的主要特点是:

  • 使用一组三线,而不是传统的一对差分。由三根导线组成的组称为 Lane, Lane 中的单个线路称为 A、B 和 C。C-PHY 没有单独的时钟 Lane。
  • 在三线通道内,三根导线中的两根被驱动到相反的电平,第三根导线被终止到中间电平(在一端或两端),并且导线被驱动的电压在每个符号处都发生变化。
  • 多个比特被编码到每个符号 epoch 中,数据速率为 ~2.28 倍的符号速率。行编码没有额外的开销,比如 8b10b,这是不需要的。
  • 时钟时序被编码到每个符号中。这是通过要求驱动到导线上的电压组合必须在每个符号边界处改变来实现的。这简化了时钟恢复。
  • 信号由一组三个差分接收器接收。
  • C-PHY 接口可以与 D-PHY 接口信号共存于同一 pin/pads 上。

PHY 功能概述

C-PHY 提供主从之间的同步连接。一个实用的物理层结构由一个或多个三线通道组成。链路包括用于快速数据流量的高速信号模式和用于控制目的的低功耗信号模式。可选地,低功耗 Escape 模式可用于低速异步数据通信。高速数据通信以具有任意数量的有效载荷数据字节的突发形式出现。低功耗模式和 Escape 模式与 D-PHY 规范中的定义保持一致。

PHY 每 Lane 使用三根线,因此最小 PHY 配置需要三根线。在高速模式下,每个 Lane 在两侧端接,并由低摆幅三相信号驱动。在低功耗模式下,所有的线都是单端和非端接的。为了最小化 EMI,该模式的驱动器应采用慢速控制和电流限制。

高速模式下的最大可实现比特率是由发送器、接收器和互连实现的性能决定的。最大符号速率能力范围从 0.8 Gsps 到 3 Gsps,取决于特征和信道特性的组合。在第 10.3.3 节中描述了发送器、接收器和信道的不同组合的符号速率范围。对于固定的时钟频率,可以通过使用更多的 Lanes 来增加 PHY 配置的可用数据容量。采用突发模式通信可以降低有效数据吞吐量。低功耗模式下最大数据速率为 10 Mbps。

本规范所介绍的特性可适用于任何高速符号速率。

Lane 信号状态概述

图 1 显示了所有六个 Wire State 通过 Lane 的电流流向。下面的电路示例针对数据编码示例进行了简化;它们旨在说明三线链路上的基本信号状态。图 1 显示了左边的正极性 Wire States 和右边的负极性 Wire States。三种旋转状态(x,y 和 z)从上到下显示。C-PHY 通道上的六种驱动状态(称为 Wire States)称为:+x、-x、+y、-y、+z 和 -z。正极性 Wire States 与相应的负极性 Wire States 由相同的导线驱动,但导线上的极性相反。例如:+x 线态定义为 A 被高驱动 B 被低驱动,而 -x 线态定义为 B 被高驱动 A 被低驱动。当工作在较低的符号速率时,“非驱动” 导线可以是不驱动的;如果工作在较高的符号速率下,实际上是由在最高和最低驱动电平之间的电压的终端驱动的。
在这里插入图片描述
在这里插入图片描述

高速模式下符号的表示

符号到 Wire States 编码规则之一是在每个符号边界都存在状态转换。这个规则的原因是它需要在符号内编码时钟时序,这有很多优点。

对于六种可能的 Wire States(如图 1 和表 1 所示),总是有 5 种可能的从任何当前 Wire States 到下一个 Wire States 的转换。图 2 中的状态图说明了可能的状态转换。符号值由 Wire States 值从一个 UI 到下一个 UI 的变化来定义。请注意,每个符号可以编码超过 2-bit 的信息(实际上是 log2(5) = 2.3219 bits)。7 个连续的符号被用来传送 16-bit 的信息。(注意,在 7 个连续的符号中有 5^7 = 78,125 个排列,有 5 种可能的 Wire State 转换来定义每个符号。用七个符号编码的信息足以表示一个 16-bit 二进制值,2^16 = 65,536。
在这里插入图片描述

高速信号状态表示

图 3 显示了将 16-bit 数据从发送端传输到接收端的所有过程。发送端的 16-bit 数据由映射器转换为 7 个信道符号。然后将这 7 个符号串行化,一次发送一个符号给符号编码器和三线驱动器,该驱动器驱动发送端 Lane (A、B、C 线)的三个信号。在接收端,有三个差分接收器,分别接收 A-B、B-C 和 C-A。差分接收器的数字输出连接到符号解码器和时钟恢复电路。符号解码器的输出被发送到串并转换器,由符号解码器输出的每组 7 个符号被呈现给反映射器,在那里它们被转换回 16-bit 数据。Mapper、Symbol Encoder、Symbol Decoder 和 De-Mapper 的功能细节在第 6.1.3 节中描述。
在这里插入图片描述

体系结构

本节介绍物理层的内部结构,包括物理层在行为层的功能。此外,还给出了几种可能的 PHY 配置。每个配置都可以看作是一组基本模块的合适组合。

Lane 模块

一个 PHY 配置由一个或多个 Lane 模块组成。每个 PHY Lane 模块通过三条线路与 Lane Interconnect 另一侧的互补部分通信。
在这里插入图片描述
每个 Lane 模块由一个或多个高速功能组成,同时使用三根互连线,一个或多个单端低功耗功能分别在每根互连线上运行,以及控制和接口逻辑。图 4 显示了所有功能的概述。高速信号具有低电压摆幅,例如 200mv,而低功耗信号具有大电压摆幅,例如 1.2v。High Speed 功能用于高速数据传输。Low Power 功能主要用于控制,但也有其他可选的用例。I/O 功能由 Lane Control 和 Interface Logic 块控制。该模块与上层协议单元连接,并决定 Lane 模块的全局操作。

高速功能包括一个差分发射器(HS-TX)和一个差分接收器(HS-RX)。

一个 Lane 模块可以包含一个 HS-TX,一个 HS-RX,或者两者都包含。如果一个 Lane 模块同时包含 HS-TX 和 HS-RX,在正常工作时,它们不会同时使能。启用的高速功能应在第 9.1.1 节和第 9.2.1 节中定义的 Lane 互连的其一侧终止 Lane。如果 Lane 模块中的高速功能未启用,则该功能应置于高阻抗状态。

低功耗功能包括单端发送器(LP-TX)、接收器(LP-RX)和低功耗竞争检测器(LP-CD)。低功耗功能总是与 Lane 相关联,因为这些是在所有三个互连线上单独操作的单线功能。LP-TX 可能支持可选的 LVLP (Low Voltage Low Power)操作,与普通的 Low Power 模式相比,LVLP 模式对最大电压进行限制。满足章节 9.2.2 中 VIH 规范的 LP-RX 支持 LVLP 操作。

高速和低功耗功能的存在是相关的。也就是说,如果一个 Lane 模块包含一个 HS-TX,那么它也应该包含一个 LP-TX。HS-RX 和 LP-RX 也存在类似的约束。

如果包含 LP-RX 的 Lane 模块通电,则该 LP-RX 应始终处于活动状态并持续监控 Line 电平。只有在驱动低功耗状态时才使能 ALP-TX。只有双向操作时才需要配置 LP-CD 功能。如果存在,则启用 LP-CD 功能,以在 LP-TX 驱动低功耗状态时检测竞争情况。LP-CD 在线上驱动新状态之前检查竞争,但在 ULPS 中除外。

LP-TX、HS-TX 和 HS-RX 在单个 Lane 模块中的活动是互斥的,除了一些短暂的交叉期。Line-side 信号以及 HS-TX、HS-RX、LP-TX、LP-RX 和 LP-CD 功能的详细规格请参见第 9 节和第 10 节。

为了正常工作,Lane Interconnect 两侧的 Lane 模块中的一组功能必须匹配。这意味着对于通道互连一侧的每个 HS 和 LP 发送或接收功能,必须在另一侧存在互补的 HS 或 LP 接收或发送功能。此外,在结合 TX 和 RX 功能的任何 Lane 模块中都需要一个竞争检测器。

主机和从机

每个链路都有一个主端和一个从端。对于只能在一个方向上发送 HS 数据的链路,Master 是主数据源,Slave 是主数据接收器。数据通信的主要方向,从源到接收,称为前向。相反方向的数据通信称为反向传输。只有双向通道可以反向传输。双向通道可以转过来,这样它们就可以从从站获取高速数据,并在主站接收数据。

高频时钟产生

在许多情况下,锁相环时钟乘法器需要在主端产生高频时钟。C-PHY 规范使用一种体系结构模型,其中 PHY 外部的单独时钟乘法器单元为 PHY 生成所需的高频时钟信号。这个时钟乘法器在实际中是否集成在物理层中留给实现者控制。

图 5 显示了反向链接的时钟源的一些示例。
在这里插入图片描述

通道和物理协议接口

除了 Lane 模块之外,一个完整的链路还包含一个将所有 Lane、时钟乘法器单元和物理协议接口连接在一起的 PHY 适配器层。图 6 显示了具有三个通道和一个单独时钟乘法器单元的链路的 PHY 配置示例。PHY 适配器层虽然是 PHY 的一个组件,但不在本规范的范围内。

每个通道的逻辑物理协议接口(PPI)包括一组覆盖该通道功能的信号。如图 6 所示,时钟信号可以在所有通道上共享。时钟乘法器单元的参考时钟和控制信号不在本规范的范围内。
在这里插入图片描述

可选择的通道选项

一个 PHY 配置由一个或多个 Lane 组成。所有通道应支持高速传输和正向 Escape 模式。

有两种主要类型的通道:

  • 双向(具有反转和一些反向通信功能)
  • 单向(没有反转或任何类型的反向通信功能)

双向通道应包括以下一种或两种反向通信选项:

  • 高速反向数据通信
  • 低功耗反向 Escape 模式(包括或不包括 LPDT)

所有通道都应包括对前向 ULPS 和触发器的 Escape 模式支持。其他 Escape 模式功能是可选的;所有可能的 Escape 模式特性将在第 6.6 节中描述。应用程序应定义需要哪些额外的 Escape 模式功能,对于双向通道,应分别为每个方向选择 Escape 模式功能。

这就产生了用于完整 PHY 配置的许多选项。自由度为:

  • 单通道或多通道
  • 双向和/或单向通道(每通道)
  • 支持的反向通信类型(每通道)
  • Escape 模式支持的功能(每个方向,每通道)

Global Operation

介绍 C-PHY 的操作,包括信号类型、通信机制、操作模式和编码方案。所需电气功能的详细规格见第 9 节。

Transmission Data Structure

在高速或低功耗传输期间,链路将协议层提供的有效载荷数据传输到链路的另一端。本节规定了传输和接收有效载荷数据的限制。

Data Units

高速传输模式的最小有效载荷数据单元应为一个 16-bit 字。在高速模式下运行的任何 Lane 上,提供给 TX 和从 RX 获取的数据应该是 16-bit 字的整数。

低功耗传输模式的最小有效载荷数据单位应为一个字节。在低功耗模式下运行的任何 Lane 上,提供给 TX 和从 RX 获取的数据应为整数字节。

Bit Order, Serialization, and De-Serialization

对于串行传输,数据应在发送 PHY 中序列化,在接收 PHY 中反序列化。为了实现高速数据传输,PHY 将 16-bit 字映射成一组 7 个符号,如第 6.1.3.3 节所述。符号 s6 定义为七个符号组中最高的符号,符号 s0 定义为最低的符号。这组 7 个符号应按以下顺序发送:s0, s1,s2,s3,s4,s5,s6,其中 s0 应首先发送。符号 s1 在符号 s0 之后的 UI 中发送,s2 在 s1 之后的 UI 中发送,以此类推,s6 在 s5 之后的 UI 中发送。下一组 7 个符号中的第 s0 个符号应在本组第 s6 个符号之后立即在 UI 中传输。

Encoding, Decoding, Mapping and De-Mapping

C-PHY 采用两层编码,中间是序列化和反序列化,如图 3 所示:

  1. 映射和反映射 —— 映射器将要传输的 16-bit 数据单元转换成由 7 个传输符号组成的一组。反映射器将一组 7 个接收到的符号转换成一个 16-bit 的数据单元。
  2. 串行化和反串行化 —— 一个并串转换器从映射器接受一组 7 个符号,并每次向符号编码器呈现一个符号。串并转换器每次从符号解码器接收一个符号,并向反映射器提供一组 7 个符号。
  3. 编码和解码 —— 符号编码器根据当前 3-bit 符号值和之前 UI 中传输的 Wire State 将一个符号转换为通过 Lane 发送的 Wire State。符号解码器基于当前 UI 中接收到的 Wire State 和先前 UI 中接收到的 Wire State 计算接收到的符号值。
Wire States

在高速单元间隔(UI)期间,六种可能的高速线路状态之一应被驱动到通道上。通道的每条线路应被驱动到三个信号电平中的一个:低、中或高。在一些实现中,中间信号电平可能是发送端不驱动信号的结果。一个 Lane 中的三条 Line 中的每一条都应处于不同于其他两条 Line 的信号电平。这六种线路状态由驱动不同信号电平的 Lane 的三条 Line 的六种可能的排列组成,每条 Line 上的信号电平不同。

六个 Wire state 分别称为 +x,-x,+y,-y,+z 和 -z,定义如表 3 所示。图 1 和表 1 显示了 Wire state 的示例。

定义为具有正极性的电线状态是:+x,+y 和 +z。定义为具有负极性的导线状态是:-x,-y 和 -z。
在这里插入图片描述

Symbol Encoding and Decoding

每个符号应使用一个 3-bit 数字表示,该数字具有以下五个值之一:000、001、010、011 和 100。符号值基于 Wire state 之间的特定转换,如图 2 所示。这些转换是从 3-bit 符号值派生出来的,其中每个位定义了一个特定的 Wire State 更改参数:翻转、旋转和极性。翻转、旋转和极性位对 Wire State 的影响如下:

  • 3-bit 符号值的最低有效位是极性(Polarity),表示极性是否从前一个符号改变状态。当极性为 “一” 时,在符号间隔 N 期间传输的 Wire State 的极性与符号间隔 N-1 期间传输的 Wire State 的极性相反(即从正:+x,+y,+z 到负:-x,-y,-z;或从负到正);否则,如果极性为 “零”,则在符号间隔 N 期间传输的 Wire State 的极性与符号间隔 N-1 期间传输的 Wire State 的极性保持相同。
  • 3-bit 符号值的下一个最低有效位是旋转(Rotation),表示从符号间隔 N-1 传输的 Wire State 到符号间隔 N 传输的 Wire State 的旋转方向。当 Rotation 为 “一” 时,则旋转方向为顺时针方向;否则,当旋转为 “零” 时,旋转方向为逆时针。
  • 3-bit 符号值的最高有效位是翻转(Flip),这表明在下一个符号中只有极性变化,但 Wire State 不会旋转到不同的相位。翻转导致状态在 +x 和 -x 之间,+y 和 -y 之间,或 +z 和 -z 之间的转换。翻转转换由图 2 中的蓝色箭头表示。当翻转为 “一” 时,相位与前一个符号相同,但极性与前一个符号的极性相反。另外,当翻转为 “一” 时,相同对应符号的 Rotation 和 Polarity 的值被忽略,并且都被设置为 “零” 。

图 2 中显示了所有 30 个状态转换的翻转、旋转和极性位。

Encoding

符号编码按照表 4 进行,表 4 定义了符号编码算法。表 4 中定义的转换基于当前的 3-bit 符号值和之前 UI 中传输的 Wire State,将一个 3-bit 符号值转换为通过 Lane 发送的 Wire State。表 4 表示了图 2 状态图中的每个转换。当前的 Wire State 由之前的 Wire State 和符号输入值决定。例如:如果 3-bit 符号值为 011(无翻转,连续旋转,极性相反),前一个 Wire State 为 +y,则下一个 Wire State 为 -z。
在这里插入图片描述
传输编码器和驱动电路示例如图 17 所示。图 17 中表示以前和现在的 Wire State 的 3-bt 二进制值的存在只是为了使示例更容易理解。这是为了将示例中的过程分解为两个步骤:传输符号编码逻辑和传输预驱动控制逻辑。Wire State 二进制值是符号编码器和发送器电路的内部,因此在这些块中描述 Wire State 的值是一种实现选择。例如:实际的逻辑电路可以使用解码的 6-bt 预驱动值 [PU_A,PD_A,PU_B,PD_B,PU_C,PD_C] 来定义当前的 Wire State 值(仅使用 64 个可能值中的 6 个),而不是使用中间的 3-bt Wire State 值。
在这里插入图片描述
在这里插入图片描述
请注意,此处显示的传输预驱动控制逻辑表只是为了说明将 Wire State 转换为驱动控制信号的逻辑功能。实际实现可能需要精心设计路由和信号门控,以精确控制 Lane 的 A,B 和 C 线之间的 skew。

Decoding

符号解码功能按表 6 所示执行。表 6 表示了图 2 状态图中的每个转换。请注意,没有到相同状态的转换(因为在每个符号边界处总是有一个 Wire state 转换),因此表中显示 “n/a” 表示这些转换不适用。符号值确定基于之前的过渡线状态(间隔 N-1)到当前线间隔时间(间隔 N)。例如:如果前面的 Wire State +y 导致 “010” 在接收器的输出(prev_Rx_AB = 0,prev_Rx_BC = 1,prev_Rx_CA = 0)和现在 Wire State -z 导致 “110” 在接收器的输出(Rx AB = 1,Rx BC = 1,Rx CA = 0),符号值是 “011” 代表:没有翻转,连续旋转,极性变化。“011” 的符号值位于表 6 中 “+y” 列和 “-z 状态” 行相交的地方。(“y” 到 “z” 是连续旋转,“+” 到 “-” 是极性变化。)
在这里插入图片描述

具有符号解码的接收器电路示例如下图 18 所示。
在这里插入图片描述

16-to-7 Mapping and 7-to-16 De-Mapping Circuit Implementation

Mapper 和 De-Mapper 是 C-PHY 数字编码系统中最外层的功能。Mapper 是在发送端执行的第一个函数,而 De-Mapper 是在接收端执行的最后一个函数。函数的顺序如图 3 所示。映射器在发送端把一个 16-bit 的字转换成一组 7 个符号。在接收端,一个 7-to-16 De-Mapper 将一组 7 个符号转换回 16-bit 字。映射过程将在 6.1.3.3.1 节中描述,反映射过程将在 6.1.3.3.2 节中描述。

16-to-7 Mapper 和 7-to-16 De-Mapper 在 16-bit 输入/输出值和一组 7 个符号之间执行映射和反映射功能。Mapper 和 De-Mapper 应符合图 19 中定义的流程。

7 个符号组由 7 个 3-bit 符号值组成。每个符号由一个翻转,旋转和极性位组成,所以对于任何特定的符号,n, sn = [翻转[n],旋转[n],极性[n]](sn = [Flip[n], Rotation[n], Polarity[n]])。

为每个可能的 16-bit Mapper 输入值定义一个 7 个符号的 Mapper 输出值。然而,并非所有可能的 7 个符号序列都对应于一个 16-bit 映射器输入值。当向 De-Mapper 的输入提供无效的 7 个符号组时,De-Mapper 的输出没有定义。一个无效的 7 个符号组被定义为值为 “4”(Flip[6:0] 的状态)的符号集合,它不对应于图 19 中定义的 28 个映射区域之一。没有为这些无效的 7 个符号组指定 De-Mapper 输出,因此当向 De-Mapper 提供无效的 7 个符号组时,De-Mapper 输出应该是一个实现选择。

由于映射和反映射函数完全是前向反馈函数,如果有必要,可以在中间阶段之间插入 pipeline 寄存器,以减少在高符号率系统中运行的时间限制。
在这里插入图片描述

图 19 指定了 16-bit 字到 7 个符号组的映射。16-bit 字的值显示在左侧,范围从底部的 0x0000 到顶部的 0xffff。右方括号内的向量显示了旋转和极性值与 16-bit 字中特定位的对应关系。7 个符号的 7 个翻转位定义了 16-bit 范围内 28 个不同区域中的一个。一个区域包含 16,384 个值,7 个区域每个包含 4,096 个值,20 个区域每个包含 1,024 个值。使用这些不同大小的区域简化了映射功能。

Tx 16-Bit to 7-Symbol Mapper

Mapper 将根据图 19 中定义的映射函数将 16-bit 值转换为 7 个符号组。

图 20 显示了 16-to-7 Mapper 示例的顶层图,图 21 显示了 Mapper 示例的底层实现。
在这里插入图片描述
在这里插入图片描述

图 21 显示了图 20 的框图中 16-to-7 Mapper 示例的底层电路,它执行将要传输的 16-bit 数据字转换为 7 个连续的符号。图 21 示例中的 “Tx Mux Control logic” 的逻辑功能如下表 7 所示。
在这里插入图片描述

Rx 7-Symbol to 16-Bit De-Mapper

De-Mapper 将根据图 19 中定义的映射函数将 7 个符号组转换为 16-bit 值。

图 22 显示了一个 7-to-16 反映射电路示例的顶层图。De-Mapper 示例的详细底层实现如图 23 所示。
在这里插入图片描述
在这里插入图片描述

图 23 中 “Rx Mux Control logic” 的逻辑功能如下表 8 所示。
在这里插入图片描述

Data Buffering

根据协议请求进行数据传输。一旦通信开始,发送端的协议层只要不停止其传输请求,就应该提供有效的数据。对于使用 Line 编码的 Lane,也可以在传输中插入控制符号。接收端的协议层应在接收 PHY 发送数据后立即接收数据。信号概念,因此 PHY 协议握手,不允许数据节流。为此目的的任何数据缓冲都应该在协议层内。

Lane States and Line Levels

发送端功能通过驱动某些线路电平来决定线路状态。系统应在两种不同的模式下运行,这两种模式由每种模式中使用的线路电平组合来定义。主模式采用 HS 差分信号和 LP 模式单端高压信号的组合。备用低功耗(ALP)模式仅使用具有特殊状态的差分信号,其中信号可以停止切换并坍缩为零。

HS and LP Mode Line States and Line Levels

在 HS 和 LP 模式的正常操作中,HS-tx 或 LP-tx 驱动 Lane。HS-TX 总是差分驱动 Lane。三个 LP-TX 驱动一个 Lane 的三个独立的单 Line。这导致六种可能的高速通道状态和四种可能的低功耗通道状态:LP-000,LP-001,LP-100 和 LP-111。高速通道状态是:+x,-x,+y,-y,+z 和 z。低功耗通道状态的解释取决于运行模式。LP-Receiver 应始终将六种高速状态中的任何一种解释为 LP-000。
在这里插入图片描述

停止状态具有非常排他性和中心的功能。如果 Line 电平显示停止状态所需的最小时间,则无论以前的状态如何,PHY 状态机都应返回到停止状态。这可以是 RX 或 TX 模式,取决于最近的操作方向。表 9 列出了在正常运行期间 Lane 上可能出现的所有状态。电气电平的详细规格见第 9 节。

所有 LP 状态周期的持续时间应至少为 tLPX。状态转换应该是平滑的,并排除小故障的影响。时钟信号可以通过 A 线和 C 线的异环重构。理想情况下,重构的时钟持续时间至少为 2 * tLPX,但由于信号斜率和行程电平的影响,可能具有 50% 以外的占空比。
在这里插入图片描述

ALP Mode Line States and Line Levels

ALP 模式通过传输仅用于 Lane 信号事件的唯一码字来取代高压线路电平。这些唯一的码不会由第 6.1.3 节中描述的三相映射函数产生,因此接收方对这些码的解释不会产生歧义。高速车道状态是:+x,-x,+y,-y,+z,-z。

在 ALP 模式下,某些独特码字的传输与在 ALP 模式下传输 LP 脉冲序列的功能完全相同。停止状态有一个特殊的序列,由一个唯一的码字(Post2)组成,然后将 Lane 的所有三条线的电压设置为相同的值。这种行状态称为 ALP-Pause,可以进一步定义为 ALP-Pause Stop 或 ALP-Pause ULPS。“ALP-Pause Stop” 和 “ALP-Pause ULPS” 是由线路级别的关系定义的:VA = VB = VC,VOD_AB = VOD_BC = VOD_CA = 0。为了最大限度地减少功耗,而 Lane 活动已停止在一个 ALP-Pause 状态,一个特殊的接收机与偏移输入阈值电压被用来检测在差分电平之间的 ALP-Pause 状态(VOD = 0)和 ALP-Pause 唤醒状态(VOD = |VOD| Strong)。高速信号的 Line 级别,即 ALP-Pause 和 ALP-Pause 唤醒状态,如图 25 所示。
在这里插入图片描述
在这里插入图片描述

Operating Modes: Control, High-Speed, and Escape

HS and LP Operating Modes

在 HS 和 LP 模式下正常运行时,通道将处于控制模式或高速模式。高速数据传输以突发的方式进行,从停止状态(LP-111)开始到结束,根据定义,停止状态为控制模式。Lane 仅在数据爆发时处于高速模式。进入高速模式的顺序为:LP-111,LP-001,LP-000,此时 Lane 将一直处于高速模式,直到收到 LP-111。Esacpe 模式只能在控制模式下通过请求进入。通道在检测到停止状态后,应始终退出 Esacpe 模式并返回控制模式。如果不在高速或 Esacpe 模式,通道应保持在控制模式。停止状态作为一般的待机状态,可以持续任何一段时间。从 “停止” 状态开始可能发生的事件有:高速数据传输请求(LP-111、LP-001、LP-000)、Esacpe 模式请求(LP-111、LP-100、LP-000、LP-001、LP-000)或转向请求(LP-111、LP-100、LP-000、LP-100、LP-000)。

ALP Operating Modes

在正常的 ALP 模式下,Lane 会处于 “ALP- pause” 状态、“ALP- pause Wake” 状态和 “高速数据传输” 模式。高速数据传输从 ALP-Pause 状态开始到结束。Lane 仅在数据突发和 ALP 信号期间处于高速模式。对于数据突发或 ALP 信号,进入高速模式的顺序是:ALP-pause Wake,后跟一个由全部 1 或全部 3 符号组成的包头。如图 30 所示。在包头之后发送的码字将定义该突发的具体目的。所有用于 ALP 信号的代码都作为相应的 LP 模式状态或 Escape 模式脉冲序列执行相同的功能。Lane 在检测到 Post2 编码(稍后描述)后,应始终退出高速模式并返回到 ALP-Pause 状态。如果不是高速模式,通道将保持在 ALP-Pause 状态。ALP-Pause 状态作为一般的备用状态,可以持续任意一段时间 > t3-ALP-PAUSE(TX)。任何事件都可能从 ALP-Pause Stop 或 ALP-Pause ULPS 状态之一开始。注意,与转向过程等价的 ALP 模式还没有定义。

High-Speed Data Transmission

高速数据传输以突发形式发生。为了帮助接收器同步,数据突发应该在发送端用一个前导和后导包头进行扩展。高速发送器的影响应通过检测某些事件来消除接收端,这些事件被设计为由接收端检测,因此它可以忽略模式转换期间的模糊操作状态。因此,这些前导和后导包头只能在传输线上观察到。

传输从停止状态开始,并以停止状态结束。在爆发之间的中间时间内,通道应保持停止状态,除非通道上提出转向或 Escape 请求。在 HS 数据突发期间,通道应处于高速模式,并且将根据编码规则不断切换,从而为接收器提供高速数据时序。

Burst Payload Data

突发的有效载荷数据应始终表示有效载荷数据字的整数,最小长度为一个字。请注意,对于短突发,Start 和 End 开销比实际传输有效负载数据消耗更多的时间。PHY 没有隐含的最大字数。然而,在物理层中,在 HS 数据突发期间没有自动的错误恢复方法。实际的符号错误率几乎为零。重要的是要考虑每个协议的最大突发长度的最佳选择是什么。

Start-of-Transmission

在发送请求后,Lane 离开停止状态,并通过启动传输(SoT)过程为高速模式做准备。表 11 描述了 TX 和 RX 端的事件顺序。
在这里插入图片描述

End-of-Transmission

在数据突发结束时,Lane 离开高速传输模式,通过传输结束(EoT)过程进入停止状态。表 12 显示了 EoT 过程中可能的事件序列。EoT 处理可以由协议层或 C-PHY 执行。
在这里插入图片描述

HS Data Transmission Burst

图 26 显示了数据突发传输期间的事件序列。协议层可以对任何 Lane 独立地开始和结束传输。然而,对于大多数应用程序,Lane 将同步启动,但可能在不同的时间结束,因为每个 Lane 传输的字节量不相等。与协议层的握手在附件 A 中描述。

从停止状态 LP-111 开始,信号转换到 LP-001,然后是 LP-000,表明高速数据传输即将开始。t3-PREPARE 结束时,低功耗驱动关闭,高速驱动同时开启。为了使测试设备能够一致地测量 t3-PREBEGIN 值,TX 状态机应该在每个数据突发的 t3-PREBEGIN 开始时传输与第一个高速线状态相同的线状态。这并不对应于任何特定的符号值,因为在它之前没有先前的 HS Wire State。很可能在高速接收器上看不到 t3-PREBEGIN 间隔的前几个 Wire State。这是因为高速驱动器在 t3-PREBEGIN 开始时达到所需的信号电平会有一些延迟,并且高速接收器将启用并在某个点开始产生输出到 t3-SETTLE 结束。当接收电路在 t3-PREBEGIN 期间能够可靠地解码 “3” 符号时,接收电路应在 t3-SETTLE 结束时启用。不能保证在 t3-SETTLE 结束时哪个符号时钟生成和符号解码开始。t3-PREBEGIN 字段通常由多组 7 个 “3” 符号组成,为上层协议提供足够数量的时钟,以便在接收数据之前初始化任何 pipeline 阶段。t3-PREBEGIN 的长度是在发送器中设置的可编程值。

如果使用可编程序列使能位(如 12.5.3 节中描述的控制寄存器的 MSB)使能,则在包头的 t3-PROGSEQ 期间发送器可以输出可编程序列。在可编程序列中传输的符号值,或者是否使用可编程序列,是系统设计者的选择。

图 26 显示了带有和不带有可编程序列的包头的示例。在发送同步字之前,在 t3-PREEND 期间发送值为 “3” 的七个符号。

发送器的前置输出长度应该是一个可调值,表 24 下的注释中对此进行了说明。

接收端所需的最小包头总长度 t3-PREAMBLE 取决于 C-PHY 接收器和协议接收器电路的具体实现。因此,t3-PREAMBLE 的最小长度应在接收设备的数据手册中规定,这个最小总包头长度是用来评估接收机最小性能的合适参数。

同步字精确地识别数据包数据的开始,也识别数据包数据中单词边界的定时对齐。同步字包含五个 “4” 符号的序列,这些符号不会出现在映射器生成的任何符号序列中。同步字也可以稍后在突发中传输,以标记由上层协议传输的冗余包头的开始。

在 t3-POST 中,包数据的结束由唯一的 “4” 符号序列标识。当接收端检测到由 7 个连续的 “4” 符号组成的序列时,就表示数据包数据的结束。Post 字段通常由多组 7 个 “4” 符号组成,为上层协议提供足够数量的时钟,以清除可能包含接收数据的任何管道阶段。Post 字段的长度是在发送器中设置的可编程值,例如:第 12.5.4 节中描述的寄存器的 Post 长度字段。

在 t3-POST 结束时,高速驱动关闭,低功耗驱动同时开启,通道的三个信号一起高驱动到 LP-111 停止状态。

发送器输出的 Post 长度应该是一个可调值,表 24 下的注释对此进行了说明。

接收端所需的最小 Post 长度 t3-POST 取决于 C-PHY 接收器和协议接收器电路的具体实现。因此,在接收设备的数据手册中应规定 t3-POST 的最小长度,该最小 Post 长度是评估接收设备最小性能的合适参数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sync Word for Packet Header Resynchronization

给定的 C-PHY Wire State 链路错误会导致两个符号解码错误。如果错误的 Wire State 也与它之前和/或之后的 Wire State 匹配,那么 C-PHY 接收器的时钟和数据恢复电路将丢失一个或两个符号时钟,从而导致 7 个符号字对齐的丢失。如果不加以纠正,这种字对齐的丢失可能会导致接收到的数据包有效负载的其余部分出现大量的反映射错误。

为了方便恢复传输的字对齐,本规范定义了一个未映射的 7 个符号同步字,它可以由 C-PHY 发送器通过 PPI 在协议层指定的点插入。同步字的 7 个符号值是 [344444x],这与第 6.4.4 节中描述的同步字的值相同。

C-PHY 发送器直接将同步字编码成一系列 7 个 Wire States,绕过通常处理 16-bit 包有效负载字的符号映射块。

C-PHY 接收器通过检测符号解码器输出端的五个连续 {4) 符号紧跟着一个 {3) 符号的任何序列来识别同步字;即不需要检测同步词的最低有效符号。忽略后一个符号实际上使同步字检测更健壮,因为在同步字之前的 7 个符号有效负载字的最高有效符号期间发生的 Wire State 错误也会导致同步字的最低有效符号损坏。有关同步字检测的示例,请参见图 28。

在符号反映射块之前,C-PHY 接收器直接在符号解码器的输出处检测同步字。符号反映射块响应同步字而产生的任何 16-bit 字都将被忽略,并且不传递给接收协议层。

检测到同步字后,C-PHY 接收器将重置 7 个符号的字对齐,从同步字检测后的第一个符号开始(即 {3} 符号后的第一个符号)。字重新排列点显示在图 28 的同步单词检测示例中。

所有 C-PHY 接收器应支持同步字检测和调整。虽然此规范本身不需要 C-PHY 发送器来支持同步字插入,但可能需要与发送器一起使用的协议层规范。
在这里插入图片描述

Sync Word Sync Type

同步字可以是五种可能的符号序列中的任何一种,其中六个最高的符号是 344444,最低的符号(首先传输)可以是 0 到 4 之间的任何符号值。换句话说:表 15 中所示的五个可能的符号序列中的任何一个都是有效的同步字。发送方应能够发送五种可能的同步字中的任何一种,接收方应能够将五种可能的同步字中的任何一种检测为有效的同步字。
在这里插入图片描述
附录 A 中描述的 PPI 定义了 TxSyncTypeHS0 和 TxSyncTypeHS1 字段,以允许传输协议单元选择对应于特定同步类型的特定同步字序列。类似地,对于接收方操作,附录 A 中描述的 PPI 定义了 RxSyneTypeHS0 和 RxSyncTypeHS1 字段,以通知接收协议单元接收到特定的同步类型值。

连续中的第一个同步字,即在正常包头或校准包头之后的同步字,应是同步类型 3,即 3444443。第一个同步字由 C-PHY 自动传输,而不是作为 PPI 中的 TxSendSyncHS 信号的结果传输。在传输协议单元的控制下,高速分组数据中传输的后续同步字(在第一个同步字之后)可以是表 15 中描述的五种可能的同步类型值中的任何一种。图 29 显示了在 Packet Data 字段中传输具有不同 Sync Type 值的同步字示例。
在这里插入图片描述

Alternate Low Power (ALP) Mode Transmission Burst

图 30 显示了 ALP 模式的一般突发格式。通道以 ALP-Pause Stop 或 ALP-Pause ULPS 状态启动,其中通道的所有三条线都被驱动到同一电平。此时,VA = VB = VC, VOD_AB = VOD_BC = VOD_CA = 0。ALP-Pause Stop 和 ALP-Pause ULPS 状态分别与 LP Mode Stop 和 ULPS 状态非常相似。发送器驱动 +x 状态或其他高速状态之一一段延长的时间来唤醒接收器,然后发送器开始发送包头。包头由数据突发或 ALP 命令突发或校准突发中的全 1 符号序列组成。在任何突发事件结束时,发送器发送以下内容之一:

  • 停止码,后接 Post2 序列,通知接收方链路将立即返回到 ALP-Pause Stop 状态
  • ULPS 码,后接 Post2 序列,通知接收方链路将立即返回到 ALP-Pause ULPS 状态

在 PHY 协议级别上,ALP-Pause Stop 状态和 ALP-Pause ULPS 状态之间的唯一区别是接收器被赋予较长的时间从 ALP-Pause ULPS 状态唤醒。通过较长的唤醒时间,接收器在 ALP-Pause ULPS 状态下的功耗通常比在 ALP-Pause Stop 状态下的功耗低。
在这里插入图片描述

图 31 显示了在单个 Lane 中使用高速和 ALP-Pause 唤醒接收器的示例。使用三个高速接收器接收 A-B、B-C 和 C-A 对。当系统从 ALP-Pause Stop 状态唤醒时,使用具有偏移(非零)输入阈值电压的低功率接收器检测 A-B 对上的 ALP-Pause 唤醒信号。当系统从 ALP-Pause ULPS 状态唤醒时,使用一个具有偏移输入阈值电压的类似低功率接收器来检测 A-B 对上的 ALP-Pause 唤醒信号。电路设计者可以选择通过使用具有可切换偏置的单个低功率差分接收器来优化两个 ALP-Pause 唤醒接收器的实现。
在这里插入图片描述

图 32 显示了用于发送高速数据或 ALP 命令或两者组合的不同类型突发的示例。
在这里插入图片描述

传输 ALP 码时,表 16 中的七符号码序列应使用。在适用的情况下,描述相应的 LP 模式或 Escape 模式动作。
在这里插入图片描述

Stop Code and ULPS Code

Stop Code 或 ULPS Code 应是在 Post2 之前在突发中传输的最后一个代码。这些代码的主要目的是通知接收方,在 Post2 字段之后链接将关闭。发送 Post2 后的 Stop Code 后,接收端进入 ALP-Pause Stop 状态。发送完 ULPS Code 后,接收端进入 ALP-Pause ULPS 状态。

Trigger Codes

Trigger Code 是一种根据发送端的协议层的请求向接收端的协议层发送标志的机制。这既可以在前进方向,也可以在反向方向,这取决于操作方向和可用的 Escape 模式功能。ALP 模式下的 Trigger Code 与 Escape 模式下定义的远程触发器具有相同的功能,但是 PPI 为 ALP Trigger Code 和 Escape 模式远程触发器的发送和接收定义了不同的信号。

Trigger Code 有:Trig 1 Code、Trig 2 Code、Reset Trig、Trig 3 Code、Trig 4 Code 和 Trig 5 Code。这些代码执行与 Escape 模式脉冲序列相同的功能:Escape 模式进入 + 未定义 1 触发,Escape 模式进入 + 未定义 2 触发,Escape 模式进入 + 复位触发 [远程应用],Escape 模式进入 + 未定义 3 触发,Escape 模式进入 + 未定义 4 触发和 Escape 模式进入 + 未定义 5 触发。通过 PPI 从上层发送协议单元接收发送 Trigger Code 的命令。当接收方接收到任何 Trigger Code 时,它通过 PPI 向上层接收协议单元报告 Trigger Code 的身份。

Spacer Code

Spacer Code 可以在包头之后和 Stop Code 或 ULPS Code 传输之前的任何时间传输。Spacer Code 在接收器中没有特定的功能。Spacer Code 的目的是为发送器提供一种在其他代码之间插入延迟的方法,或者能够传输代码,而不是暂时暂停通道计时。

LPDT Start Code and LPDT Nibble Code

LPDT Start Code 和 LPDT Nibble Code 一起执行与 Escape 模式脉冲序列相同的功能:Escape 模式进入 + LP数据传输命令,后跟 LP 数据。发送器应使用一系列 LPDT Nibble Code 传输 LP 数据。LP 数据的字节顺序应该是先传输最低有效的 nibble,然后是最高有效的 nibble。当传输 LPDT Start Code 时,下一个 LPDT Nibble Code 应对应于正在传输的字节数据的最低有效 nibble。换句话说,LPDT Start Code 重置字节对齐。包头的传输也重置字节对齐,以便在包头之后传输的第一个 LPDT Nibble Code 应对应于正在传输的字节数据的最低有效 nibble。虽然不使用 LPDT Start Code 也可以传输 LP 数据,但强烈建议在传输 LPDT Nibble Code 序列之前立即传输 LPDT Start Code,以消除对 LP 起始码字节对齐解释中的任何歧义。表 17 描述了 LP 数据如何编码成 LPDT Nibble Code 序列 S1 04444 S0,其中 S0 为第一个传输的最低有效位符号,S1 为最后一个传输的最高有效位符号。
在这里插入图片描述

Post2 Code

Post2 Code 应按照 Stop Code 或 ULPS Code 传输。发送器应能够以 7 个单位间隔(UI)的增量控制 t3-POST2 的长度。t3-POST2 的长度在发送器中可调,最小为一组 7 UI,最大为 64 组 7 UI。该字段在发送器和接收器中的长度见表 18。Post2 Code 的目的是为接收方提供足够数量的时钟来处理 Stop Code 或 ULPS Code,并为接收方准备关闭到 ALP-Pause Stop 状态或 ALPPause ULPS 状态。接收机所需的时钟数量取决于设计,并通过调整表 18 中的时序参数来解决。发送方需要设定 Post2 的持续时间以确认接收方的需求。

ALP Timing Parameters

ALP 模式的时序参数如表 18 所示。
在这里插入图片描述

ALP Operation State Diagram

Lane 运行的总体状态图,包括高速模式、校准模式和 ALP 模式,如图 33 所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Concurrent LP and ALP Operation

图 33 中的高速状态机描述了与高速数据的发送和接收以及校准突发相结合的 ALP 模式命令的处理。如第 6.5 节和 6.6 节所述,使用 LP 模式处理的函数在不同的状态机中分别执行,因此可以同时处理 LP 和 ALP 信号。

LP 和 ALP 命令处理规则如下:

  • 应支持LP操作
  • 应支持LP操作
  • 系统应配置为上电时 LP 操作。初始化时,系统可以配置为仅限 LP 操作、仅限 ALP 操作或并发 LP-ALP 操作

当系统支持并发 LP-ALP 操作时,LP-111 LP 模式线路条件将优先迫使系统进入停止状态。

Bi-Directional Lane Turnaround

双向通道的传输方向可以通过链路转换过程进行交换。这个过程可以使信息在与当前方向相反的方向上传递。无论是从正向更改到反向,还是从反向更改到正向,过程都是相同的。请注意,主从端不能在转向时更改。链路转向应完全在控制模式下处理。表 20 列出了转向期间的事件顺序。
在这里插入图片描述
在这里插入图片描述

图 34 以图形方式显示了转向过程。
在这里插入图片描述

链路两端的低功耗时钟时序不必相同,但可以不同。然而,低功耗状态周期之间的比率 tLPX 是受限的,以确保适当的转向行为。tLPX(MASTER)与 tLPX(SLAVE)的比值见表 24。

如果通道尚未通过驱动停止状态而进入 TX-LP-Yield 状态,则转向过程可以被中断。驱动停止状态将中止转向过程并使通道返回到停止状态。PHY 应确保在 TX-TA-Rqst、RX-TA-Rqst 或 TX-TA-GO 结束后不中断该过程。一旦 PHY 驱动 TX-LP-Yield,它不应中止转向过程。如果协议层确定由于转向过程没有在一定时间内完成而发生了错误,则可以采取适当的行动。参见第 7.3.5 节了解更多细节。图 35 显示了转向状态机,如表 21 所示。
在这里插入图片描述
在这里插入图片描述

Escape Mode

Escape 模式是使用低功耗状态的通道的特殊操作模式。Escape 模式仅适用于 LP 操作模式。在第 6.4.4.2 节中描述的 ALP 模式也有类似的功能。有了这种模式,一些额外的功能就可用了。在正方向上应支持 Escape 模式操作,在反方向上可选。如果支持,Escape 模式不必包括所有可用的功能。

Lane 应通过 Escape 模式进入程序(LP-111、LP-100、LP-000、LP-001、LP-000)进入 Escape 模式。一旦在线路上观察到最终的桥状态(LP-000),通道将进入空间状态(LP-000)的 Escape 模式。如果在最终桥接状态(LP-000)之前的任何时间检测到 LP-111,则退出模式进入过程将被中止,接收方将等待或返回到停止状态。

一旦进入 Escape 模式,发送器将发送一个 8-bit 的进入命令来指示请求的操作。表 22 列出了当前所有可用的Escape 模式命令和操作。保留所有未分配的命令以供将来扩展。

停止状态应使用用于退出 Escape 模式,并且由于 spaced-one-hot 编码,在 Escape 模式操作期间不能发生。停止状态立即将通道返回到控制模式。如果输入命令与支持的命令不匹配,则忽略特定的 Escape 模式动作,接收端等待,直到发送端返回到停止状态。

Escape 模式下的 PHY 应采用 spaced-one-hot 编码进行异步通信。因此,在这种模式下,Lane 的操作不依赖于单独的时钟信号。Trigger-Reset 命令的完整 Escape 模式操作如图 36 所示。
在这里插入图片描述

spaced-one-hot 编码意味着每个标记状态与一个空格状态交织在一起。因此,每个符号由两个部分组成:一个 one-hot 相位(Mark-0 or Mark-1)和一个 space 相位。TX 发送 Mark-0 后加空格来发送一个 “零比特”,发送 Mark-1 后加空格来发送一个 “一比特”。标记后面没有空格就不代表一个位。在退出具有停止状态的 Escape 模式之前的最后一个阶段应该是 Mark-1 状态,它不是通信位的一部分,因为它后面没有空间状态。时钟可以通过异或功能从 A 和 C 两条线信号中导出。每个 LP 状态周期的长度至少为 tLPX,MIN。
在这里插入图片描述

Remote Triggers

触发信号是根据发送端的协议层的请求,向接收端的协议层发送一个标志的机制。这既可以在前进方向,也可以在反向方向,这取决于操作方向和可用的 Escape 模式功能。触发信号要求具有 Escape 模式功能,并且在接口的两端至少有一个匹配的 Trigger Escape entry 命令。

图 36 显示了一个 Escape Mode Reset-Trigger 操作的示例。Lane 通过 Escape 模式进入程序进入 Escape 模式。如果输入命令模式与 Reset-Trigger 命令匹配,则通过逻辑 PPI 将 Trigger 标记到接收端的协议层。在触发命令之后但在行进入停止状态之前收到的任何位都将被忽略。因此,可以将虚拟字节连接起来,以便向接收端提供时钟信息。

请注意,包括 Reset-Trigger 在内的 Trigger 信号是一个通用的消息传递系统。触发器命令不影响 PHY 本身的行为。因此,协议层可以将触发器用于任何目的。

Low-Power Data Transmission

如果在 Escape 模式进入过程之后加上 LPDT (Low-Power Data Transmission)进入命令,则协议层可以低速传输数据,而 Lane 保持在低功耗模式。

数据应在行上使用与输入命令相同的 spaced-one-hot 编码。数据由应用的位编码时钟,不依赖于补充时钟信号。Lane 可以在使用 LPDT 时暂停,方法是在行上保持一个空格状态。线路上的 Stop 状态停止 LPDT,退出 Escape 模式,并将 Lane 切换到控制模式。停止状态之前的最后一个阶段应该是 Mark-1 状态,它不代表一个数据位。图 37 显示了一个两字节的传输,两个字节之间有一个暂停期。
在这里插入图片描述

使用 LPDT,提供给发送端的低功率(位)时钟信号(fMOMENTARY < 20MHz)用于传输数据。数据接收由位编码自定时。因此,可以允许可变时钟速率。在 LPDT 结束时,通道应返回到停止状态。

Ultra-Low Power State

如果在 Escape 模式进入命令后发送超低功耗状态进入命令,则 Lane 将进入超低功耗状态(ULPS)。该命令将被标记为接收端协议。在此状态下,行处于空间状态(LP-000)。超低功耗状态通过一个长度为 tWAKEUP 的 Mark-1 状态退出,随后是一个停止状态。附件 A 描述了一个退出过程的示例和一个控制在 Mark-1 状态中花费的时间长度的过程。

Escape Mode State Machine

Escape 模式操作的状态机如图 38 所示,如表 23 所示。
在这里插入图片描述
在这里插入图片描述

Global Operation Timing Parameters

表 24 列出了本节中使用的所有定时参数的范围。表中的值假设 UI 在 △UI 定义的范围内发生变化(见表 52)。

发送器应支持表 24 中定义的所有发送器特有的定时参数。

接收器应支持表 24中 定义的所有特定于接收器的定时参数。

还要注意的是,虽然没有为每个发送器特定参数定义相应的接收器公差,但接收器还应支持接收表 24 中所有发射机特定时序参数的所有允许的一致性值,所有 HS UI 值直至并包括接收器数据表中指定的最大支持 HS 符号速率。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Global Operation Flow Diagram

所有先前描述的操作方面,包括或不包括可选部件,都包含在 Lane 模块中。图 43 显示了 Lane 模块的操作流程图。在 TX 和 RX 中,可以区分出五个主要进程:高速传输、Escape 模式、转向、ALP-Pause (ALP-Pause Stop 和 ALP-Pause ULPS)和初始化。
在这里插入图片描述


http://www.ppmy.cn/ops/157751.html

相关文章

使用OBS推流,大华摄像头 srs服务器播放

说明&#xff1a; ffmpeg可以推流&#xff0c;但是是命令行方式不太友好&#xff0c;还可以使用主流的OBS开源推流软件&#xff0c;可从官网Open Broadcaster Software | OBS 下载最新版本&#xff0c;目前很多网络主播都是用它做直播。该软件支持本地视频文件以及摄像头推流。…

郭羽冲IOI2024参赛总结

非常荣幸能代表中国参加第 36 36 36 届国际信息学奥林匹克竞赛&#xff08; I O I 2024 IOI2024 IOI2024&#xff09;。感谢 C C F CCF CCF 为我们提供竞赛的平台&#xff0c;感谢随行的老师们一路上为我们提供的帮助与支持。 在每场比赛的前一个晚上&#xff0c;领队、副领…

杜绝遛狗不牵绳,AI技术助力智慧城市宠物管理

在我们的生活中&#xff0c;宠物扮演着越来越重要的角色。然而&#xff0c;随着养宠人数的增加&#xff0c;一系列问题也随之而来&#xff0c;如烈性犬伤人、遛狗不牵绳、流浪犬泛滥等。这些问题不仅影响了社会秩序&#xff0c;也给宠物本身带来了安全隐患。幸运的是&#xff0…

Kafka 的消费offset原来是使用ZK管理,现在新版本是怎么管理的?

目录 基于 ZooKeeper 管理消费 offset 原理 缺点 新版本基于内部主题管理消费 offset 原理 优点 示例代码(Java) 在 Kafka 早期版本中,消费者的消费偏移量(offset)是存储在 ZooKeeper 中的,但由于 ZooKeeper 并不适合高频读写操作,从 Kafka 0.9 版本开始,消费偏…

探秘Hugging Face与DeepSeek:AI开源世界的闪耀双子星

目录 一、引言&#xff1a;AI 开源浪潮的澎湃二、Hugging Face&#xff1a;AI 开源社区的基石&#xff08;一&#xff09;起源与发展历程&#xff08;二&#xff09;核心技术与特色&#xff08;三&#xff09;在 AI 领域的广泛应用 三、DeepSeek&#xff1a;东方崛起的 AI 新势…

android的Lifecycle简介

嗯&#xff0c;我现在需要了解Android的Lifecycle组件。Lifecycle是Jetpack的一部分&#xff0c;对吧&#xff1f;听说它帮助管理Activity和Fragment的生命周期&#xff0c;避免内存泄漏。那它具体是怎么工作的呢&#xff1f; 首先&#xff0c;LifecycleOwner和LifecycleObser…

28、Spring Boot 定时任务:轻松实现任务自动化

引言 在实际的项目开发中&#xff0c;我们常常会遇到需要定时执行某些任务的场景&#xff0c;比如每天凌晨自动备份数据、每小时更新缓存信息等。Spring Boot 为我们提供了便捷的方式来实现定时任务&#xff0c;本文将全面介绍 Spring Boot 定时任务的相关知识&#xff0c;包括…

从零开始:使用Jenkins实现高效自动化部署

在这篇文章中我们将深入探讨如何通过Jenkins构建高效的自动化部署流水线&#xff0c;帮助团队实现从代码提交到生产环境部署的全流程自动化。无论你是Jenkins新手还是有一定经验的开发者&#xff0c;这篇文章都会为你提供实用的技巧和最佳实践&#xff0c;助你在项目部署中走得…