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

news/2024/7/7 20:20:58

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

 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

 


http://lihuaxi.xjx100.cn/news/1027325.html

相关文章

Isolate microTask event Isolate.spawn() compute

我们的flutter应用启动的时候就会开辟一个独立的ioslate,这里面包含了一个独立的内存空间和一个携带 event loops的单一线程和 microTask queue(微任务队列),这个单一线程只处理事件循环。 使用Isolate.spawn()或Flutters compute()函数新建独立的ioslat…

把多列的迭代次数问题化简为单列问题

前已有实验表明,当训练集只有一列的时候,收敛迭代次数与训练集分布的标准差成反比。分布越均匀迭代次数越大。如果可以把多列问题化简为单列问题,比较迭代次数的大小顺序就会变得很简单。 ( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络来…

今年又是一年自媒体高峰期你是否抓住了

影视剪辑容易遇到哪些问题: 1、视频格式格式不对,剪辑软件不支持; 2、视频封面不会做; 3、PR导出视频时,没办法做其他事,效率不高; 4、自己配音不好听,配音软件又不好找&#xf…

合创视觉科技平面设计师的职业路线

平面设计师很有必要在一个时期中找到自己的目标,为自己规划一条适合自己的职业规划   确定志向   设定职业生涯目标   制定行动计划与措施   求知欲、设计习惯与坚持   平面设计是一个创意工作,它包含海报、书籍画册、LOGO等设计&am…

React 的源码与原理解读(六):reconcileChildren 与 DIFF 算法

写在专栏开头(叠甲) 作者并不是前端技术专家,也只是一名喜欢学习新东西的前端技术小白,想要学习源码只是为了应付急转直下的前端行情和找工作的需要,这篇专栏是作者学习的过程中自己的思考和体会,也有很多参…

adb环境变量配置

adb环境变量配置Android一. 简介二. 环境变量配置1.JDK安装2.SDK安装3. 资源共享4. 配置环境变量4.1 方式一:4.2 方式二:5. adb常用命令的使用6. 结果Android List of ADB Commands and Fastboot Commands for Android 如果你是一个android用户&#xf…

单片机addr2line的使用说明

1,单片机程序挂死了,无法用jlink调试时,我们一般怎么定位呢,我们一般借助外来工具addr2line工具来调式。 当程序挂死时,我们首先编译时选择c99, 编译后烧写相应的bin文件/csf文件到单片机,烧写后 发现程序挂死&#x…

AutoHotkey1的录制器Pulover‘s Macro Creator

1、前置 使用录制器之前先使用AutoHotkey:AutoHotkey的helloworld 2、下载Pulover’s Macro Creator 访问sourceforge或者Github下载 安装时不要选择语言,安装完成使用时会自动使用中文显示界面。 ‼注意安装捆绑,卸载webcompanion‼ 3、…