CSI及CPHY的学习知识点

2023-09-21 11:45:55

1.CPHY不需要line coding

8b/10b这些线路编码是不需要的,CPHY的三线编码本身就解决了连续0/1的情况。

2.CPHY的三线编码使用状态跳变传递信息的

        有六个线态(wire state),每一个当前线态都可以跳变到另外5个线态。每一次跳变对应3bit symbol【跳变有5种可能,用3bit表示,所以3bit数有不用的】,每7个symbol对应16bit原始数据。可以理解为7个symbol需要3线共传输21bit,共传输16bit原始数据。16/21=76%.比DPHY的50%效率要高【两个差分bit传1bit原始数据】。

        线态之间有5种变化,所以最多能传输log2(5)=2.3219bit数据,连续7个跳变最多能传输log2(5)×7=16.2533bit数据,所以选择用7个symbol表示16bit数据

3.CPHY也正是通过线态的电压改变完成了时钟恢复

        无论何时,线上传输的相邻线态【wire state】都是不同的,而正是线态的变化对应为编码数据,同时由不停的变化可以方便的恢复时钟

4.CPHY基本上完全重用DPHY的低功耗模式

        异步escape传输和LP mode和DPHY一样,Escape和control mode信号和DPHY PPI一致,除了没有clklane的ulps相关信号

5.无需clklane,所以正反向传输可以达到相同的速率,DPHY反向速率是正向最大1/4

6.HS mode两边都端接,LP是单端且无端接

7.LP或ESC是三线是什么状态?

8.和DPHY相同的HS/LP/LPCD

9.PPI接口大部分和DPHY的PPI复用,会有一些特殊

  • cphy ppi的DataHs可以支持16bit也可以支持32bit,对应wordClkHs【DPHY是ByteClkHs】symbolClkHs的1/7和1/14. 
  • CPHY比DPHY多了2bit的T/RxWordValidHS[1:0],0bit表示DataHs[15:0]有效,1bit表示DataHS[31:16]有效。
  • CPHY可以选择只支持16bit Data或32bitdata,也可以同时支持16/32bit可配----TxDataWidthHs
  • 多了发送同步及同步类型选择TxSendSyncHs[1:0], TxSyncTypeHS0[2:0]和TxSyncTypeHS1[2:0]-------Rx增加对应的信号
  • Rx多了一个RxInvalidCodeHS[1:0]:用来表示收到的连续7个symbol不是有效symbol。在syncWord和ALP时无效
  • 多了ALP code发送和ALP类型选择以及ALP Nibble data三组信号TxSendALPHS[1:0], TxALPCodeHS0/1[3:0]和TxALPNibble0/1[3:0]------Rx增加对应的信号
  • SyncWord和ALP是32bit还是16bit和DataHS的规格一致
  • Escape信号和DPHY一致
  • control mode比DPHY少了clklane的ulps信号,多了一个ALPWakeState[2:0]:ALP-暂停唤醒线态,配置ALP-暂停唤醒状态时线态值。默认为+x。

10.HS的同步及同步类型

如果是32bit的dataHS,为什么会有TxSendSyncHs[1:0]两bit ?分别对应低16bit数据和高16bit数据?

TxSyncTypeHS0[2:0]和TxSyncTypeHS1[2:0]也有两个,32bit数据应该在一个数据包里发送,一个数据包怎么会有两种同步类型?

TxSendSyncHS[1:0]:两种情况下发送syncWord:

  • 用发送的syncWord来分开packet header的副本
  • 在HS data发送之前即SOT阶段发送syncWord

对应Rx也有两种情况:

  • 在RxActiveHS上升沿拉高一个RxWordClkHS
  • 在收到冗余packet headers时候拉高

11.ALP是什么,比DPHY新增的东西

ALP:alternative low power 【替代低功耗模式】

TxSendALPHS[1:0] :至少看出是在HS传输时发送

TxALPNibble0/1[3:0]:在HS发送,TxSendALPHS有效且TxALPCodeHS0/1[3:0]=4'b1010的时候用来选择LPDT的Nibble code。【所以和LPDT有什么关系

什么时候发起?和LP有何区别?为什么要增加ALP

RxALPValidHS[1:0]在以下两种情况下拉高:

  • 收到normal preamble
  • 收到calibration preamble

12.和DPHY一样PPI TX的data支持反压,PPI RX不支持反压

13.HS command包括发送Sync Word和ALP Code 和 Post pattern?

        什么是HS command?干什么的?

        在发送HS command的时候,DataHS上就传输SyncWord或ALP code? HS command可以打断正常图像数据的传输?

更多推荐

传导和辐射EMI有什么区别?

当我们设计原型或使用开发板时,通常可以忽略电磁干扰。但EMI在现实生活中的电子设备和系统中是一个重要的主题,工程师有责任确保电路能够在预期的EMI水平下正常运行,并且不会产生过多的EMI。我倾向于将EMI与无线干扰联系起来,考虑到名称,这并不令人惊讶:它被称为电磁干扰,我们自然将其与电磁辐射联系起来。但正如您从本文标题

实在智能携手40+央企,探索财务大模型及数智化实践与应用

“这次培训给我一个最大的感触就是,过去以为AI智能化、大模型技术是很高深的事情。但现在,我们通过RPA等数字化工具,自主根据自己的工作岗位,完成业务自动化流程的开发和设计。AI技术没有想象中的那么难入门。”这是一位参加了“财务大模型及AI+RPA数智化实践与应用”专题研修班的学员,培训后有感而发的心得。探索财务数智化落

基于矩阵分解算法的智能Steam游戏AI推荐系统——深度学习算法应用(含python、ipynb工程源码)+数据集(三)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.数据预处理2.模型构建1)定义模型结构2)优化损失函数3.模型训练及保存1)模型训练2)模型保存4.模型应用1)制作页面2)模型导入及调用3)模型应用代码相关其它博客工程源代码下载其它资料下载前言本项目采用了矩阵分解算法,用于对玩家已游玩的数据进行深入分析。它

10年经验之谈 —— 如何做接口测试呢?接口测试有哪些工具?

回想入职测试已经10年时间了,初入职场的我对于接口测试茫然不知。后来因为业务需要,开始慢慢接触接口测试。从最开始使用工具进行接口测试到编写代码实现接口自动化,到最后的测试平台开发。回想这一路走来感触颇深,因此为了避免打算学习接口测试的同学走冤枉路,特此分享我的学习经验。之前我已经在知乎做过几次接口的分享一、接口的重要性

5W2H分析法

1.概念它的历史可以追溯到二战时期的美国陆军兵器修理部,虽然具体由谁发明可能存在争议,但可以肯定的是,这种方法在当时被广泛应用,并被证明是一种非常有效的创新和问题解决方法。5W2H分析法以五个以W开头的英语单词和两个以H开头的英语单词为线索,帮助人们发现问题,寻找解决方案,进行设计构思,从而创新和发明新的项目。它与其他

QT Day5

目录1.针对登入框,新加入了注册功能,使用数据库存储账号密码信息widget.hwidget.cppsecond.hsecond.cpp2.思维导图1.针对登入框,新加入了注册功能,使用数据库存储账号密码信息widget.h#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>#

7.1 实现进程内存块枚举

在Windows操作系统中,每个进程的虚拟地址空间都被划分为若干内存块,每个内存块都具有一些属性,如内存大小、保护模式、类型等。这些属性可以通过VirtualQueryEx函数查询得到。该函数可用于查询进程虚拟地址空间中的内存信息的函数。它的作用类似于Windows操作系统中的TaskManager中的进程选项卡,可以

安达发|APS软件多工厂架构引领生产管理新革命

APS多工厂架构是一种生产管理系统,它通过将多个工厂的生产过程进行整合和优化,实现了生产效率的提高和成本的降低。在APS多工厂架构中,每个工厂都有自己的生产线和生产计划,但是它们之间可以进行协调和协作,以确保整个生产过程的顺利进行。APS多工厂架构的核心是生产计划和调度。在生产过程中,需要对各个工厂的生产计划进行协调和

java正则表达式

用于模式匹配,例如查询串中的数字、验证邮箱是否符合要求等。在java中主要实现类有Pattern类、Matcher类。Pattern类没有公共构造方法由静态方法Pattern.compile()构建,主要用于构造正则表达式并创建Matcher类。Matcher类是对输入字符串进行解释和匹配的引擎。实例演示//创建Pat

7.2 通过API创建新进程

创建新的进程是Windows程序开发的重要部分,它可以用于实现许多功能,例如进程间通信、并行处理等。其中,常用的三种创建进程的方式分别是WinExec()、ShellExecute()和CreateProcessA(),这三种创建进程的方式各有特点。如果需要创建简单进程或从其他程序启动新进程,可以使用WinExec()

qq邮箱smtp要怎样设置开启状态?

qq邮箱smtp是一个重要的发信服务,不仅适用于企业也适用于个人用户。为了提高邮件的触达率和有效性,开启qq邮箱smtp服务是必须的。那么,怎样开启qq邮箱smtp服务?怎么设置?下面蜂邮就给大家介绍一下。一、开启qq邮箱smtp服务qq邮箱smtp是qq的高级邮箱服务之一,需要先开启高级功能才可以使用。开启操作如下:

热文推荐