MIPI D-PHY的初始化(MIPI Alliance Xilinx)

    DPHY的基本介绍及使用已有很多文章,基本是基于《MIPI Alliance Specification for D-PHY 》的内容,学习时也以此为准,可参考CSDN上的文章。着重讲述MIPI D-PHY的初始化部分

1 D-PHY的功能及使用

        下面的文章讲的不错,既有理论,又有实际示波器抓取的波形。此处不再赘述。

MIPI 系列之 D-PHY_爱洋葱的博客-CSDN博客

2 初始化问题

2.1 Xilinx DPHY使用

在Vivado中使用MIPI D-PHY时,发现slave的clock lane进入ULPS,导致不能正常接收clock(通过ILA抓取IP的ulps指示信号)。

2.2 spec中的状态图

根据spec中的状态图,clk lane比data lane更容易进入ULPS。(贴图两者进入ULPS的图)

2.3 MIPI的初始化要求

    根据mipi dphy spec V1.1中需要master先完成init并驱动总线LP-11,slave再进行初始化可等到足够长的LP-11.

    在xilinx MIPI中 提到了系统级的复位初始化时序。LP-11最少要求100us:master可采用1ms,slave可采用100us。

解决方法:在master init完成后,再对slave DPHY复位初始化(同时在GUI中去掉对ULPS的支持)。若slave先初始化,总线上状态不确定,可能会造成IP进入ULPS而无法退出。

2.4 Xilinx DPHY退出ULPS的TX、RX时序

2.5 在Xilinx DPHY的GUI中去掉ULPS

        在Vivado中DPHY IP GUI中可以去掉对ULPS的支持,精简资源。避免异常进入。

2.6 在Xilinx DPHY的复位要求

3 校准问题

3.1 MIPI SEPC中关于校准

D-PHY 1.1的速率支持到1.5G,且不支持协议自动deskew,仅能通过硬件布线、FPGA中手动增加idelay的方式保证时钟/数据lane的对其关系。

速率更高时spec标准中规定需要校准,且有校准的流程。每次进入HS发送数据前都需要校正,校正模型先发送16'hffff,后接长的010101...(长度根据RX的要求,如2^13 UI),接收端根据01自动调整采样位置。

Xilinx DPHY中<=1.5G在7系列中的IP内,有idelay的参数可以调节,KU+的IP中没有提供。在KU+的IP中当速率>1.5G 时才有deskew的选项,且要求校准模型长度2^13 UI.

4 重点内容梳理

4.1  spec中6.13节的操作流程图

spec中的图,描述了data lane 和clock lane的完整工作流程。从LP进入/推出HS。

 时钟通道

 数据通道

4.2 数据通道与时钟通道的不同

图片来源见水印,原图中应该有笔误,已修正如下(data双向,clk单向)。

1)data 有Escape mode(其中又细分为UPLS,LPDT,Trigger等),进入时序比较复杂。此模式下不要clk lane,时钟从独热码的LP数据中可以恢复;clk lane只有UPLS且进入时序简单;

2)data可以双向,有turnaround,slave发数据给master(速率最大10M/4=2.5M,);clk只能由Master发给slave,单向。

3)数据进入HS时有SOT,即在HS-0保持一段时间后+同步字节(在PHY中同步后剥离,不进入CSI-2)。退出时要根据最后一个数据bit翻转后保持一段时间后LP-11;clk进入HS-0后仅保持一段时间可发时钟,退出时也可保持HS-0即可。

4.3 Data lane 进入ESCAPE mode

1)trriger 模式类似中断,通过在LP模式时发送固定的字节,触发一个事件,如复位;

2)LPDT模式可以发送任意字节的数据;

3) trigger模式,ULP模式退出时要先进入wait模式;

4)进入ESCAPE时有专门的cmd,一个字节的数据。比clk lane进ULPS复杂。

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

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

相关文章

Oracle drop删除表如何恢复

摘要&#xff1a; 在 Oracle 数据库管理中&#xff0c;DROP 命令的误操作可能导致数据不可挽回的丢失。然而&#xff0c;Oracle 提供了回收站&#xff08;recycle bin&#xff09;功能&#xff0c;允许用户在删除对象后的一段时间内恢复它们。本文将介绍如何查询、启用和管理回…

iOS swift5 扫描二维码

文章目录 1.生成二维码图片2.扫描二维码&#xff08;含上下扫描动画&#xff09;2.1 记得在info.plist中添加相机权限描述 1.生成二维码图片 import UIKit import CoreImagefunc generateQRCode(from string: String) -> UIImage? {let data string.data(using: String.En…

重要变更 | Hugging Face Hub 的 Git 操作不再支持使用密码验证

在 Hugging Face&#xff0c;我们一直致力于提升服务安全性&#xff0c;因此&#xff0c;我们将修改 Hugging Face Hub 的 Git 交互认证方式。 从 2023 年 10 月 1 日 开始&#xff0c;我们将不再接受密码作为命令行 Git 操作的认证方式。我们推荐使用更安全的认证方法&#xf…

可后悔贪心 -- 解题报告

反悔贪心_Elicsyd的博客-CSDN博客 感觉普通贪心是每一个维度都是平等的&#xff0c;没有优先级。而可后悔贪心是存在某个维度是不可变的&#xff0c;不能直接用排序或者堆进行维护&#xff0c;常常需要经过某种处理&#xff0c;通过挖掘出题目中关于不可变维度的特殊性质&…

架构:C4 Model

概念 C4说穿了就是几个要素&#xff1a;关系——带箭头的线、元素——方块和角色、关系描述——线上的文字、元素的描述——方块和角色里的文字、元素的标记——方块和角色的颜色、虚线框&#xff08;在C4里面虚线框的表达力被极大的限制了&#xff0c;我觉得可以给虚线框更大…

A Mathematical Framework for Transformer Circuits—Part (1)

A Mathematical Framework for Transformer Circuits 前言Summary of ResultsREVERSE ENGINEERING RESULTSCONCEPTUAL TAKE-AWAYS Transformer OverviewModel SimplificationsHigh-Level ArchitectureVirtual Weights and the Residual Stream as a Communication ChannelVIRTU…

AWK语言第二版 1.2简单输出

1.2 简单输出 本章的后续部分&#xff0c;包含了一系列简单但典型的Awk程序样例&#xff0c;都是对前面的emp.data文件进行操作。为防遗忘&#xff0c;这里把emp.data文件再发一遍&#xff1a; Beth 21 0 Dan 19 0 Kathy 15.50 10 Mark 25 20 M…

Ubuntu18.04:ORB-SLAM3使用数据集构建地图和保存点云地图

文章目录 保存地图方法一&#xff1a;使用ORB-SLAM3自带的保存方法&#xff08;oea后缀文件&#xff09;保存地图方法二&#xff1a;使用PCL库保存为PCD类型地图文件安装PCL库&#xff1a;取巧方法&#xff1a;CMakeLists.txt 文件修改内容&#xff1a;&#xff08;向该文件内添…

常见的CSS定位技术及使用

目录 1.相对定位&#xff08;Relative Positioning&#xff09; 2.绝对定位&#xff08;Absolute Positioning&#xff09; 3.子绝父相 4.固定定位&#xff08;Fixed Positioning&#xff09; 5.粘性定位&#xff08;Sticky Positioning&#xff09; 6.弹性盒子布局&…

跳出Lambda表达式forEach()循环解决思路

背景 在一次需求开发时&#xff0c;发现使用Lambda的forEach()跳不出循环。如下示例代码&#xff0c;想在遍历满足条件时跳出循环。 public static void main(String[] args) {List<Integer> list Arrays.asList(1, 4, 5, 7, 9, 11);list.forEach(e -> {if (e % 2 …

ip route get ip地址 应用案例

应用场景 在做虚拟化实验用的虚拟机和实际的ECS云主机一般都会有多个网卡&#xff0c;网络的联通性是经常碰到的问题。比如在一个VM上有3个网卡&#xff0c;分别为ens160(和寄主机进行桥接的网卡10.0.0.128)、ens224&#xff08;连接仅主机网络10.0.0.0/24的网卡10.0.0.128&…

C++中几种处理函数返回值的方式

目录 C中几种处理函数返回值的方式&#xff1a;值返回引用返回指针返回总结 C中几种处理函数返回值的方式&#xff1a; 值返回 函数可以返回一个具体的值&#xff0c;例如整数、浮点数、结构体、类对象等。返回值被复制到函数调用点&#xff0c;在调用点可以直接使用或赋给其…

C语言面试题值反转字符串

知识捡漏本 1.C语言优先级 &#xff1a;左高于高于 右 2.定义宏函数product&#xff0c;调用product后&#xff0c;里面的i和i都是加两次1&#xff0c;i就是两个加2后的i相乘&#xff0c;i是开始的i和1后的i相乘。 3.用i (j4,k 8,m 16);这种定义方法&#xff0c;最终i和最后一…

2023最新Python重点知识万字汇总

这是一份来自于 SegmentFault 上的开发者 二十一 总结的 Python 重点。由于总结了太多的东西&#xff0c;所以篇幅有点长&#xff0c;这也是作者"缝缝补补"总结了好久的东西。 **Py2 VS Py3** * print成为了函数&#xff0c;python2是关键字* 不再有unicode对象…

AI图像行为分析算法 opencv

AI图像行为分析算法通过pythonopencv深度学习框架对现场操作行为进行全程实时分析&#xff0c;AI图像行为分析算法通过人工智能视觉能够准确判断出现场人员的作业行为是否符合SOP流程规定&#xff0c;并对违规操作行为进行自动抓拍告警。OpenCV是一个基于Apache2.0许可&#xf…

【Linux】多路IO转接问题-select

select&#xff1a; 首先设置一个lfd绑定服务端地址结构&#xff0c;用于监听新的连接。select函数调用&#xff0c;用于对整个fd数组进行监听&#xff0c;该数组最大限制1024&#xff0c;通过遍历&#xff0c;来确定是哪个fd有变化&#xff1a; 1.如果是lfd&#xff1a;那么可…

Python编程练习与解答 练习93:在终端窗口居中一个显示字符串

编写一个函数&#xff0c;以字符串s作为第一个参数&#xff0c;以窗口的字符宽度w作为第二个参数。函数将返回一个新字符串&#xff0c;其中包括所需的前导空格&#xff0c;以便在打印时新字符串s在窗口居中显示。新字符串的构造方法如下&#xff1a; 如果s的长度大于或等于窗口…

Python基础以及代码

Python基础以及代码 1.第一个代码如下&#xff1a; # 项目&#xff1a;第一个项目 # 作者&#xff1a;Adair # 开放时间&#xff1a; 2023/8/15 21:52print("Hello,world!!")如图所示&#xff1a; 2.数字的代码如下&#xff1a; # 项目&#xff1a;演示第一个项…

自然语言处理(六):词的相似性和类比任务

词的相似性和类比任务 在前面的章节中&#xff0c;我们在一个小的数据集上训练了一个word2vec模型&#xff0c;并使用它为一个输入词寻找语义相似的词。实际上&#xff0c;在大型语料库上预先训练的词向量可以应用于下游的自然语言处理任务&#xff0c;为了直观地演示大型语料…

Kubernetes技术--k8s核心技术 Secret

1.概述 Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret可以以 Volume 或者环境变量的方式使用。 作用 加密数据存储在/etc中,使得pod容器以挂载volume方式进行访问。在进行的数据存储中是以base64加密的方式…