MIPI D-PHYv2.5笔记(17) -- Global Operation Flow Diagram、数据速率依赖参数

news2024/11/25 3:08:04

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

Global Operation Flow Diagram

图1  Data Lane Module State Diagram

 图2 Clock Lane Module State Diagram

Data Rate Dependent Parameters (Informative)

        D-PHY的高速数据传输速率可以被编程为特定的实现方案所指定的值。在SoT和Eot序列之前的任何独立的数据传输,比如在一个固定的速率上进行。但是重新编程D-PHY高速传输的数据速率在某些点上是被允许的,这些点包括:初始化的时候、在从ULP状态退出过程开始之前或者在Stop状态中HS clock没有运行的任意时间点。

        规范中有许多时间参数的值都被指定为了一个固定时间和一个特定数量的高速UI(Unit Interval)的和。如果数据速率发生了变化(UI值也因此变化),这些参数需要重新计算。这些参数和其所允许的值,请参考规范的Table18和Table19,或者前面的笔记:

MIPI D-PHYv2.5笔记(13) -- Global Operation Timing Parameters_亦枫Leonlew的博客-CSDN博客图1和图2截图自规范的Table18和Table19。这两张表列举了LP mode - HS mode操作和ALP mode - HS mode操作中的所有时序参数。表格中的值会假设UI变化的范围是。注:UI表示单位间隔(Unit Interval),它的值等于Clock Lane上任意HS状态的持续时间。所定义的(图3,也是规范的Table42)。https://blog.csdn.net/vivo01/article/details/129952280?spm=1001.2014.3001.5502

只包含了UI值的参数

        T_{CLK-PRE}T_{ALP-CLK-PRE}是Master处于HS mode中被重启之后以及任何数据传输可以开始之前,Master必须在Clock Lane上所发送的高速时钟周期的最小数量。如果在Slave侧有某个特殊的协议要求比 T_{CLK-PRE}T_{ALP-CLK-PRE}更多的周期,那么Master侧的协议要确保满足Slave的要求。

包含了时间和UI值的参数

        部分参数被定为一个显式的时间(explicit time)加上一个UI数的和。显式的时间总体来说,来源是,在给定的具体驱动电压和线路端接(Line termination)值时,需要用来充电和放电互连电路到指定值的时间。可以想象要使用一个模拟的计时器(analog timer)加上一个HS时钟计数器之和来保证实现方案满足这些参数。如果这些显式的时间值仅仅通过数HS时钟周期来实现,那么计数值会是一个关于数据速率的函数,因此,当数据速率发生变化时这些时间值也必须被改变。

        T_{D-TERM-EN}是从Dn跨过V_{IL,MAX}的时候开始测量的,用来使能Data Lane接收器线路端接(Line termination)的时间。

        T_{HS-PREPARE}是在Data Lane上开始HS传输之前,驱动LP-00的时间。

        T_{HS-PREPARE}+T_{HS-ZERO,MIN}是用于准备HS传输的启动过程中的驱动LP-00的时间,加上发送HS-0的时间,即:在发送SoT Sync序列之前,打开线路端接并使用HS驱动器驱动互连电路的时间。

        T_{HS-TRAIL}是在发送器发送了一次HS传输burst的最后一个载荷数据bit之后,发送器必须驱动最后一个数据bit翻转后的bit的时间。

        T_{HS-SKIP}是接收器必须“back up”并跳过数据的时间,目的是忽略掉EoT序列的切换周期。

        T_{CLK-POST,MIN}是跟在一个HS传输burst后的最后一条Data Lane切换到LP模式之后,发送器要继续发送HS时钟的最小时间。如果某个特殊的接收器实现上要求比T_{CLK-POST,MIN}更多的时钟周期,那么发送器必须要提供足够多的时钟数来满足接收端。

        对于ALP操作来说,存在类似的参数:T_{ALP-HS-ZERO}T_{ALP-HS-TRAIL}T_{ALP-CLK-POST}。另外,也引入了一些新的参数,它们的时序同时具有绝对和相对的部分:T_{ALP-HS-SETTLE,MIN},T_{ALP-TA-GO}T_{ALP-TASURE}T_{ALP-TA-GET}

只包含了时间值的参数

        部分参数只通过显式的时间值所指定。如上一小节所述,这些显式的时间值一般是源自充放电互连电路所需要的时间,因此和数据速率是独立的。可以想象会使用一个模拟计时器或一个HS时钟计数器来保证实现方案满足这些参数要求。但是如果这些时间值只是通过数HS时钟周期来实现,则计数值是一个关于数据速率的函数,因此当数据速率变化时,这些值也要进行修改。

         本小节所描述的参数如下:

  •         T_{HS-SKIP,MIN}
  •         T_{CLK-MISS,MAX}
  •         T_{CLK-TRAIL,MIN}
  •         T_{CLK-TERM-EN}
  •         T_{CLK-PERPARE}
  •         T_{ALP-CLK-MISS,MAX}
  •         T_{ALP-CLK-SETTLE}
  •         T_{ALP-CLK-TRAIL,MIN}
  •         T_{ALP-CLK-ZERO,MIN}
  •         T_{ALP-ED-WAKE,MAX}
  •         T_{ALP-HS-SETTLE,MIN}

只包含关联于数据速率的时间值的参数

        在“Global Operaiton Timing Parameters”笔记中的图1(规范的表格18)中剩下的参数即使是当High-Speed时钟关闭的情况下其时间也要严格被遵守。这些参数包括了Low-Power和初始化状态维持的时间,以及LP信令间隔(LP signaling intervals)。尽管这些参数是和HS数据速率独立的,有些D-PHY的实现方案也需要在数据速率发生改变时进行调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】线程概念详析

我们已经了解了Linux操作系统进程部分相关知识: 博主有关Linux进程相关介绍的文章: 💥[Linux] 系统进程相关概念、系统调用、Linux进程详析、进程查看、fork()初识 💥[Linux] 进程状态相关概念、Linux实际进程状态、进程优先级 …

【超算/先进计算学习】日报1

目录今日已完成任务列表遇到的问题及解决方案任务完成详细笔记Darknet框架优化介绍darknet介绍YOLO高性能计算与超级计算机简介算力超级计算机概念与体系结构并行编程技术Linux常用操作命令Linux操作系统与指令使用机器信息查询文件、目录和权限文件内容查看环境变量使用对自己…

15.枚举

枚举 枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造方法、定义成员变量和方法,也能实现接口,但枚举类不能继承其他类。枚举是一个被命名的整型常数的集合,用于声明一组…

Linux系统下安装zookeeper教程

将下载好的zookeeper上传到linux服务器上,这里使用的是FileFilla 解压:[rootcentos7964 software]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz 进入刚刚解压后的文件夹,创建一个名字为data的文件夹,如下: [rootc…

分库分表--shardingjdbc

文章目录前言一、shardingjdbc简介作用二、如何使用1.我有个表现在体量太大了,我想做分库分表2.开始改造1 引入shardingjdbc2 更改yml文件3 测试看效果3.旧数据迁移4.其他分库类型5 部分配置说明总结前言 当项目开始的时候,没有想到后续的分库分表的话,其实对于后续的分库分表…

MYSQL学习 - DDL数据库操作

前言 从今天开始, 健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。 ------------------------------前戏已做完,精彩即开始---…

【数据结构】树和二叉树——堆

目录 🍉一.树的概念及结构🍉 1.树的概念 2.树的相关术语 3.树的表示 4.树在实际中的应用 🍊二.二叉树的概念和结构🍊 1.二叉树的概念 2.特殊的二叉树 2.1.满二叉树 2..2.完全二叉树 3.二叉树的性质 4.二叉树的存储结构 …

限流算法(计数器、滑动时间窗口、漏斗、令牌)原理以及代码实现

文章目录前言1、计数器(固定时间窗口)算法原理代码实现存在的问题2、滑动时间窗口算法原理代码实现存在的问题3、漏桶算法原理代码实现存在的问题4、令牌桶算法原理代码实现最后本文会对这4个限流算法进行详细说明,并输出实现限流算法的代码示…

一文了解Java ArrayList (源码逐行解析)

介绍 ArrayList 是最常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从 Arr…

c++积累5-lock_guard使用

1、std:mutex 在了解lock_guard之前,需要先学习下std:mutex,因为lock_guard内部就是使用的std:mutex std:mutex:是一个用于保护共享数据不会同时被多个线程访问的类,它叫做互斥量。我们可以把它看作一把锁,基本使用如下&#xff…

【致敬未来的攻城狮计划】— 连续打卡第四天:e2 studio 使用教程

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 文章目录 系列文章目录 文…

Flutter成不了“顶流明星”的7大理由

Flutter是一款由Google推出的跨平台移动应用开发框架,近年来备受关注。尽管Flutter在某些方面表现出色,但仍然有一些人对它的发展前景表示怀疑。近期一些文章针对Flutter的发展提出了不少质疑和批评,称其难以成为移动应用开发的“顶流明星”&…

【计算机网络—— 安装packet tracer的教程,管理MAC地址和配置路由器的实验步骤以及心得体会】

文章目录安装packet tracer的教程管理MAC地址实验目的 :管理MAC地址实验内容及过程记录(一)运行Cisco Packet Tracer软件(二)选择PC终端(三)运行终端(四)按表内容对交换机…

Spring Cloud Nacos使用总结

目录 安装Nacos服务器 服务发现与消费 服务发现与消费-添加依赖 服务发现-配置文件 服务发现-注解 服务发现-Controller 服务消费-配置文件 服务消费-注解与Ribbon消费代码 服务消费-运行 配置管理 配置管理-添加依赖 配置管理-配置文件 配置管理-注解 配置管理-…

Raft一致性算法(精简和扩展)

raft一致性算法 文章目录raft一致性算法一、raft简介1.1 raft涉及到的名词1.2 Rpc请求1.3 复制状态机二、raft⼀致性算法2.0 摘要2.0.1 所有服务器需遵守的规则2.0.2 跟随者2.0.3 候选⼈2.0.4 领导人2.0.5 状态2.0.6 特性2.1 raft基础2.2 leader选举2.2.1 集群启动时选举2.2.2 …

微电网两阶段鲁棒优化经济调度方法(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

清华大学ChatGLM-6B部署运行

一、模型介绍 开源项目: GitHub - THUDM/ChatGLM-6B: ChatGLM-6B:开源双语对话语言模型 | An Open Bilingual Dialogue Language Model ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构&…

PLC高精度定时器(T法测速功能块)

S7-200 SMART PLC时间间隔指令BGN_ITIME,和CAL_ITIME采用的是系统自带的1ms高精度定时器,PLC里只能调用一次。T法测速和M法测速应用时,都需要高精度时序定时器的支持(当然你也可以采用定时中断的方式获取高精度时序),时间间隔指令请参看下面的博客文章: SMART PLC时间间…

keil5使用c++编写stm32控制程序

keil5使用c编写stm32控制程序一、前言二、配置图解三、std::cout串口重定向四、串口中断服务函数五、结尾废话一、前言 想着搞个新奇的玩意玩一玩来着,想用c编写代码来控制stm32,结果在keil5中,把踩给我踩闷了,这里简单记录一下。…

FlinkSQL的Watermark机制和Checkpoint机制

Watermark机制 Watermark机制,就是水印机制,也叫做水位线机制。就是专门用来解决流式环境下数据迟到问题的。 MonotonousWatermark(单调递增水印) package day05;import lombok.AllArgsConstructor; import lombok.Data; impor…