MIPI D-PHYv2.5笔记(16) -- Preamble Sequence、HS-Idle State、Sync Patterns

        声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看

 Preamble Sequence

        前导码序列(Preamble Seqence)的长度较短,它被插入到每个高速载荷的起始位置,目的是细调由于温度和电压变化导致的时钟到数据的偏斜(clock-to-data skew)。Preamble Sequence用于数据速率大于2.5Gbps的情况。

        Premble Sequence由一个可编程长度的Preamble模式(pattern),持续时间为T_{PREAMBLE},以及一个固定长度(T_{EXTSYNC})的扩展同步模式(Extended Sync pattern)两部分组成。Extended Sync pattern的作用主要是为了避免在Leader sequence中发生特定的2-bit错误导致Preamble pattern被检测为Leader sequence。

        对于大于2.5Gbps的发送器和接收器,要支持Preamble Sequence。这种情况下,Preamble Sequence在被启用的情况下,要被插入到每一个HS burst中。

        大于2.5Gbps的接收器,要检测Extended Sync pattern和Leader Sequence。发送器要允许以32 UI为步长,在T_{PREAMBLE}允许范围能能够进行Preamble pattern的配置。

        在发送Leader序列之前,所有的Preamble pattern后面都要跟着一个Extended Sync pattern。Preamble pattern是持续周期为T_{PREAMBLE}的101010模式所组成,默认要设置为typical值。

        发送器Preamble pattern长度要能够被配置,包括能够禁用Preamble和Extended Sync,只传输HS Burst的选项。Extended Sync pattern是长度为T_{EXTSYNC}的HS-1组成的序列。

 图1 Normal High Speed Burst with LP Mode

 图2 High Speed Burst and Preamble Sequence with LP Mode

图3  Preamble Timing Diagram (LP Mode)

 图4 Preamble Timing Diagram (ALP Mode)

 图5 Preamble Timing Parameters

 HS-Idle State

        对于LP-HS工作周期中的PHY来说,HS-Idle状态的支持是可选项。当使用ALP模式时,不支持HS-Idle状态。HS-Idle状态可以在两个HS Data Bursts之间被使用,此时能停留在HS信号模式中。当使用HS-Idle状态时,在两个HS Data Bursts之间没有切换到LP信号模式的过程。根据数据速率和HS-Idle的时序,两个HS Data Burst之间的延迟可以通过使用HS-Idle State来降低。HS-Idle状态包含HS-Idle-Post,HS-Idle-ClkHS0以及HS-Idle-Pre子状态,如下图所示:

 图6 HS-Idle State sub-states

        PHY可以让它的所有Data Lanes进入HS-Idle状态或LP Stop状态。

        在Hs-Idle状态中,Clock Lane在所有Data Lanes都已经完成了它们的Data Bursts并且已经切换到了HS-0状态之后,停在HS-0状态中。PHY要产生HS-Idle状态中的Clock Lane和Data Lanes的HS-0信号。当载荷数据被传输之后,所有Data Lanes要发起一个HS-0信号,无论最后一个载荷数据bit的极性是什么。如果Clock Lane接收端在T_{CLK-MISS}周期中没有检测到时钟活动并且所有Data Lanes都处于HS-0,RX状态机要切换到HS-Idle状态。当所有Data Lanes都处于LP-11状态时,RX状态机要切换到Stop状态。

 图7 HS-Idle State Machine Description

         Clock Lane在所有Lanes的HS Data Bursts完成之后,要继续保持输出T_{HS-IDLE-POST}时间,以便能够有足够多的时间去清空(flush)接收器的流水线。

        Clock Lane上的HS-0状态的持续时间为T_{HS-IDLE-CLKHS0}。在下一个HS Data Burst之前,Clock Lane要保持active的时间为T_{HS-IDLE-PRE}。HS-Idle状态

        HS-Idle状态要退出到SoT。下图展示了T_{HS-IDLE-POST}T_{HS-IDLE-CLKHS0}T_{HS-IDLE-PRE}的开始和结束。

图8  HS-Idle Timing Diagram Example

         这些时序参数的值定义如下图所示:

图9  HS-Idle State Timing Parameters

        发送器在启动(start-up)的时候要支持默认的时序值。系统集成者可以配置基于接收器能力来配置HS-Idle State参数为不同的值。

Sync Patterns

 图10 Sync Pattern Definition

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vivado IP核是Xilinx公司开发的一种可配置的IP核生成工具,可以用于快速生成各种功能的IP核。其中,MIPI D-PHY是一种用于手机、摄像头、显示器等设备的高速串行接口协议。 MIPI D-PHY测试可以通过使用Vivado IP核生成MIPI D-PHY核,并在FPGA平台上进行测试来完成。首先,我们需要在Vivado中创建一个新的项目,选择适当的FPGA型号和开发板。然后,通过Vivado IP核生成我们所需要的MIPI D-PHY核,并将其添加到我们的项目中。 在项目中添加MIPI D-PHY IP核后,我们可以对其进行配置,并将其连接到其他逻辑电路或外部设备。配置参数包括数据通道的位宽、时钟频率、电源电压等。我们还可以配置其他相关的设置,如时钟延迟、电源方案等。 完成配置后,我们可以执行仿真来验证MIPI D-PHY的功能。可以通过发送和接收模拟数据来模拟实际的通信过程,并检查传输的正确性和稳定性。仿真结果应该与预期的规格要求相符。 完成仿真后,可以通过将设计生成比特流文件并下载到FPGA平台上来进行硬件验证。在FPGA上运行实际的测试数据,观察MIPI D-PHY的性能指标,例如误码率、数据传输速率等。这些指标应该与设计规格及MIPI D-PHY协议相符。 总结来说,通过使用Vivado IP核生成MIPI D-PHY核,并在FPGA平台上进行测试,我们可以验证MIPI D-PHY核的功能和性能,确保其正常工作并符合规格要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦枫Leonlew

希望这篇文章能帮到你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值