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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python按位取反_python赋值运算符

    python按位取反_python赋值运算符Python中的~(按位取反)运算的理解:按照我平时的理解,当我使用~按位取反运算的时候,计算机会将操作数所对应的二进制表达式的每一个位进行取反计算,取反后所得到的值就是~按位取反的运算结果(这点没问题)例如,假如我的计算机是32位的,我接下来要计算~5的值,计算过程如下:5的二进制表达式为:00000000000000000000000000000101执行~运算…

    2022年8月14日
    10
  • 如何更好的组织代码「建议收藏」

    如何更好的组织代码「建议收藏」一、组织代码的原因或意义代码的编写应当首先让其他人能够看懂,其次才是让机器能够执行。合理组织代码的目的并不是让计算机理解你的代码,而是让其他人能够很好地读懂你所编写的代码,进而在某种程度上高效而自信

    2022年8月3日
    8
  • CAS单点登录与部署

    CAS单点登录与部署

    2021年8月24日
    58
  • DropDownList1_SelectedIndexChanged方法中改变了索引后没有反应「建议收藏」

    DropDownList1_SelectedIndexChanged方法中改变了索引后没有反应「建议收藏」这是因为DropDownList1中的AutoPostBack也就是自动回发没有设置为True,在默认的情况下,为了降低服务器默认,它的值是False.转载于:https://www.cnblogs.com/jany/archive/2009/12/29/1634623.html…

    2022年7月18日
    13
  • Laravel 中config的用法

    Laravel 中config的用法

    2021年10月23日
    43
  • 使用activiti总结–bpmn画流程图

    节期结束,赶紧总结一下前几天使用的Activiti工作流的一些方法简单介绍一下Activiti:Activiti一套完整的方便的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。开发人员可以通过插件直接绘画出业务。开发工具:IDEA画流程图插件:actiBPM(在IDEA插件管理中安装就可以了)BPMN…

    2022年4月3日
    247

发表回复

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

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