MIPI CSI-2学习数据格式长包短包用DI来判断数据类型测试帧率如用1G的示波器下面的代表这是一张图片,用帧间隙来测试YUV422视频的帧率fps10hz的外同步HS-0状态是不是差分低电平的状态.差分信号的本质 MIPI 数据通道Data Lane由两根线组成D和 D-。它不靠绝对的电压高低来表示0或1而是靠这两根线之间的电压差来表示。2.HS-0的具体电平 当处于 HS-0状态时 D线被拉低接近0V 或地电平。 D-线被拉高接近200mV 的共模电压。 电压差 VD− VD−0负值。 因为 D的电平低于 D-所以它代表逻辑上的 “0”被称为差分低电平。3.对比记忆HS-1状态 为了加深理解你可以顺便记住它的对立面 HS-1差分高电平 D线被拉高接近200mV。 D-线被拉低接近0V。 电压差 VD− VD−0正值。 代表逻辑上的 “1”。4.在时序中的作用 结合我们刚才聊的 LP 到 HS 的切换过程 当发送端TX结束 LP-00Bridge状态准备发送同步序列SoT前必须强制将 D拉低、D-拉高进入 HS-0状态并保持一段时间也就是 THS−ZERO 。这段时间在物理波形上就表现为一段持续的“差分低电平”MIPI 高速模式下是通过 D 和 D- 两根线交叉拉高/拉低产生“正差分电压”和“负差分电压”来分别表示逻辑 1 和逻辑 0 的唯一的例外LP-00 桥接状态在整个 MIPI 传输过程中单根线对地电压真正出现 0V绝对低电平 的情况是在 LP 切换到 HS 模式时的LP-00Bridge状态。在这个状态下D 和 D- 会被同时拉低到 0V用来给接收端的端接电阻Terminator提供放电和预充电的时间为后续 200mV 级别的差分信号做铺垫THS-ZERO 是发送端的什么时间THS_SETTLE是接收端的什么时间需要满足什么关系在 MIPI D-PHY 协议中THS-ZERO 和 THS-SETTLE 是 LP低功耗切换到 HS高速模式时最核心的两个时序参数。它们分别由发送端TX和接收端RX控制具体含义和关系如下THS-ZERO发送端 TX 的时间定义它是发送端在结束 LP-00Bridge/准备状态后正式发送高速同步序列SoT即 00011101之前必须持续保持 HS-0差分低电平状态的时间。作用相当于发送端在进入高速模式前给接收端留出的一个“缓冲期”。因为此时线路刚从 1.2V 的 LP 模式切换到 200mV 的 HS 模式信号需要时间稳定下来。THS-SETTLE接收端 RX 的时间定义它是接收端从检测到 LP-00 状态开始到它真正开始采样和解析高速数据识别 SoT 序列之前必须保持“静默”并忽略所有电平跳变的时间窗口。作用由于接收端的端接电阻刚刚启用线路尚未完全稳定可能会产生非预期的毛刺或振荡。THS-SETTLE 强制接收器在这个窗口内“闭上眼睛”等信号彻底稳定后再“睁开眼睛”去抓同步码。两者必须满足的关系为了保证高速链路能够可靠地建立接收端的静默时间必须被发送端的缓冲时间所覆盖。它们需要满足以下严格的数学关系HS−SETTLE T HS−PREPARE T HS−ZERO通俗解释接收端“闭上眼睛”的时间THS-SETTLE必须小于发送端“准备时间 缓冲时间”THS-PREPARE THS-ZERO的总和。工程调试原则在实际调试 MIPI 接口时通常要求 Host 端接收端的 THS-SETTLE 必须大于 Slave 端发送端/Sensor的 THS-SETTLE。如果时序不满足会怎样如果 THS-SETTLE 设置得太长超出了 THS-PREPARE THS-ZERO 的范围接收端就会把发送端发出的有效同步码SoT也当成毛刺给忽略掉导致无法同步出现 SoT Error 或 ECC Error。如果 THS-SETTLE 设置得太短接收端在信号还没稳定时就提前“睁开眼睛”就会采到毛刺同样会导致解析同步码失败引发 ECC Error在连续时钟模式下时钟通道“高枕无忧”不受 LP/HS 切换时序的影响。数据通道依然需要严格遵守 THS-PREPARE THS-ZERO 和 THS-SETTLE 的时序配合。调试 MIPI 连续时钟模式时如果数据通道出现 SoT/ECC 错误排查思路与非连续时钟模式完全一样依然是检查数据通道的 settle_cnt即 THS-SETTLE是否设置得太长或太短settle_cnt 0xE,高通设置的这个的单位是什么在高通Qualcomm平台的 Camera 驱动中settle_cnt0xE这个参数的单位是 PHY Timer Clock 的时钟周期数Clock Cycles。 为了让你彻底明白这个值是怎么来的我们从以下几个维度来拆解1.它的物理含义是什么 settle_cnt 本质上就是我们在 MIPI D-PHY 协议中常说的 T H S − S E T T L E T HS−SETTLE 接收端建立时间。 它的作用是告诉高通 SoC 内部的 MIPI PHY 接收器在检测到 LP-00状态后必须“闭上眼睛”等待多少个 PHY 时钟周期然后才能“睁开眼睛”去抓取高速同步序列SoT。2.它是怎么计算出来的 根据高通的官方文档 T H S − S E T T L E T HS−SETTLE 的计算公式为 T H S − S E T T L E85ns6× U I T t i m e r _ c l k −10T HS−SETTLE T timer_clk 85ns6×UI −1085ns6× U I85ns6×UI 这是 MIPI 规范要求的发送端Sensor进入高速模式前的准备时间 T H S − P R E P A R ET H S − Z E R O T HS−PREPARE T HS−ZERO 。 T t i m e r _ c l k T timer_clk 这是高通芯片内部 PHY 接口的操作时钟周期例如300MHz 对应3.3ns400MHz 对应2.5ns。-10高通硬件内部预留的固定补偿周期。 所以settle_cnt 并不是一个绝对的时间而是相对于内部 PHY 时钟频率的周期计数值。3.0xE代表多少时间0xE是十六进制转换成十进制是14。 这意味着高通的 MIPI 接收器会等待14个 PHY Timer Clock 周期。 假设你的高通芯片 PHY Timer Clock 是400MHz周期为2.5ns那么14×2.5ns35ns14×2.5ns35ns 假设你的 PHY Timer Clock 是300MHz周期为3.3ns那么14×3.3ns46.2ns14×3.3ns46.2ns4.工程调试中的“试错法” 在实际的高通平台调试中settle_cnt 往往不是直接算出来的而是调出来的。 高通的调试指南通常建议采用“边界测试法” 逐步增加 settle_cnt直到相机画面出现异常此时说明等待时间太长把有效的 SoT 信号给错过了。记下这个最大值Max。 逐步减小 settle_cnt直到相机画面出现异常此时说明等待时间太短还没等信号稳定就采样采到了毛刺。记下这个最小值Min。 取两者的平均值作为最终的 settle_cnt。 你看到的0xE(14)很可能就是工程师在特定 Sensor 和特定 MIPI 速率下调试出来的一个“黄金平衡点”
郑州网站建设
网页设计
企业官网