MIPI协议(下)

MIPI协议(下)GOON…完成mipi信号通道分配后,需要生成与物理层对接的时序、同步信号: MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以…

大家好,又见面了,我是你们的朋友全栈君。

MIPI协议(下)

GO ON…完成mipi信号通道分配后,需要生成与物理层对接的时序、同步信号: 

MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以需要一定等待时间,需要缓存,我们用寄存器代替FIFO,每通道128Byte。 

串行时钟与数据差分传输的过渡时间关系如下: 

MIPI协议(下)

MIPI协议(下)

MIPI协议(下)

各个时间参数需要满足以下的要求: 

MIPI协议(下)
MIPI协议(下)
MIPI协议(下)
UI 的值: 

MIPI协议(下)

MIPI协议(下)

数据与时钟的相位关系: 

MIPI协议(下)
 
根据mipi差分信号原理。 
CLKp是高电平,CLKn是低电平的时候,差分信号表现为高电平。 
CLKn是高电平, CLKp是低电平的时候,差分信号表现为低电平。 
所以结果就可以等效成红线描述的正弦。 
从正弦可以看出,data在clk的高电平和低电平都有传输数据。

数据通道进入和退出SLM(即睡眠模式)的控制: 

MIPI协议(下)
mipi信号传输分为单端和差分传输。例如: 
LP-00, LP-01, LP-10, LP-11 (单端) 
HS-0, HS-1 (差分) 

Ultra-Low Power State entry command: 00011110 是差分传输,读取方法和上面提到的clk是一样的,需要注意的是Dp和Dn如果同时是高电平或同时是低电平的时候是无效数据,这个时候大概对应的是clk正弦的峰值,只有其中一个是高一个是低才是有效的差分数据。

MIPI协议(下)

总结: 
对应于同步信号完成并串转换; 
*HS 状态为高速低压差分信号,传输高速连续串行数据; 
*LP 状态为低速低功耗信号,传输控制信号和状态信号; 
*MIPI要求HS 工作在1GHz 的频率下,完成共模信号为0.2v 差模信号为0.2v 的差分 
信号的传输; 
*LP 传递控制信号,要求高电平为1.2v 低电平为0的电平信号输出; 
*HS 及LP 状态下,输出信号的电学特性要求非常苛刻,具体电学性能的要求可见 
附带文档表格。 
*MIPI是双向可选的,可以高速发送,也可以进行高速接收,或收发功能同时具备, 
我们目前根据需求仅做了发送功能;

*MIPI的HS模式(0.2V),传送图像数据,速度为80Mbps ~ 1000Mbps; 
*MIPI的LP模式(1.2V),可以用于传送控制命令,最高速度为10Mbps;

*MIPI规定,任一个MIPI设备必须Escape Mode,此为Low Power Data 
Trabsmission Mode,LP模式中的一种,此模式下可低速传输图像或其他数据。

*MIPI规定了Low Power Mode、 Ultra Low Power Mode的电压范围、以及它们 
之间、它们与HS模式之间的相互切换方式或相关要求;

*MIPI D-PHY是各个MIPI工作组共用的物理层规范; 

最后,需要注意一点: 
BTA:bus turn around,用来host接受外设发送命令或应答信号用的,如果host DPHY设置了这个, 但是lcd不支持的话,就有可能有问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132608.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springboot项目搭建流程_spring boot 项目

    springboot项目搭建流程_spring boot 项目文章目录1.问题描述2.解决方案2.1新建Springboot项目(1)file->new->project(2)点击next(第一个)(3)点击next(第二个)(4)点击next(第三个)2.2springboot默认生成三个文件2.2.1.pom.xml2.2.2application.properties2.2.3启动类文件(SptestApplication.j…

    2022年10月13日
    2
  • spdlog linux编译出错,【C++】spdlog–log4cxx有点笨重,试一试spdlog

    spdlog linux编译出错,【C++】spdlog–log4cxx有点笨重,试一试spdlogspdlog是什么linuxFastC++logginglibrary按照官方介绍,是一个高性能的C++日志组件,支持跨平台,兼容C++11。原来项目中使用的是log4cxx,我感受稍微有点笨重,而且好久没有更新了。ios在新项目中,我只须要一款轻量级的日志组件,能:git存文件按照天数切分快速的浏览了spdlog,知足个人需求,因而开搞!githubspdlog快速入门如下内容来自spd…

    2022年6月23日
    51
  • 数学函数图像处理_matlab基本图像处理

    数学函数图像处理_matlab基本图像处理文章目录1.imdilate2.imresize3.imfinfo4.imcomplement总结1.imdilate功能:进行膨胀操作介绍用法:IM2=imdilate(IM,SE)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。SE为由strel函数生成的结构元素对象。IM2=imdilate(IM,NHOOD)对灰度图像或二值图像IM进行膨胀操作,返回结果图像IM2。参量NHOOD是一个由O和1组成的矩阵,指定邻域。IM2=imdilate(…,SHAPE)对图

    2022年10月5日
    3
  • 1MB,1GB,1TB等于多少字节或比特?(理解B与b的区别)「建议收藏」

    1MB,1GB,1TB等于多少字节或比特?(理解B与b的区别)「建议收藏」首先,数据量最小单位比特,bit,(b)即一个比特位为0或1;然后,一个字节,Byte(B)等于8个比特位;1B=8bit.与字节搭配时,K,M,G,T为二进制单位,因为1000与1024相近,即2^10=1K;所以:1KB=1024Byte,所以1MB=10241024=1048576字节1MB=1024KB1GB=1024MB1TB=1024GB与比特搭配时,K,M,…

    2022年5月25日
    75
  • PHP程序员如何突破成长瓶颈(php开发三到四年)

    PHP程序员如何突破成长瓶颈(php开发三到四年)

    2021年10月16日
    44
  • servlet的运行原理_高铁怎么运行的原理

    servlet的运行原理_高铁怎么运行的原理Servlet在容器中的执行过程1.浏览器向服务器发出GET请求2.服务器上的Tomcat接收到该url,根据该url判断为Servlet请求,此时Tomcat将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)3.Tomcat根据url找到目标Servlet,且创建一个线程4.Tomcat将刚才创建的请求对象和响应对象传递…

    2022年10月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号