MIPI CSI-2 RX Subsystem IP和D-PHY基本调试

时间:2025-04-28  作者:Diven  阅读:0

DPHY初始化

MIPI CSI-2 RX Subsystem IP和D-PHY基本调试

DPHY需要完成初始化, 当clock lane和data lane的init_done置高, 以及stopstate拉高, 标志着初始化完成。 见下图。

给到DPHY的Core_clk需要时200MHz, free-running的时钟, 这个时钟可以来自版上时钟晶振, 或者FPGA内单独的MMCM/PLL, 但该时钟不能来自与两个级联的MMCM。

另外需要注意的是, 所有给到DPHY的时钟需要满足+/-100PPM, 不满足该要求可能会导致数据出错或者重复数据。

Core_rst, 如图所示, 需要assert至少四十个dphy_clk_200M cycle, 然后才能释放。

在上电后, 当master DPHY发给slave D-PHY的cp/cn(clock lane)和dp/dn(data lane)保持在LP-11超过T_INIT时间, 初始化完成. T_INIT必须大于100us。

MIPI CSI-2 RX Subsystem时钟要求

当line rate < 1500Mbps, video_aclk1 = Line Rate(Mb/s)*Data Lanes/(8*4), 同是, 还需要满足输出的带宽大于等于输入带宽, video_aclk2 = (Line Rate(Mb/s)*Data Lanes) /(Pixels per Clock*Number of Bits Per Pixel). 因此, video_aclk需要同时大于这两个数值。

当line rate> 1500Mbps, 只需要满足输出的带宽大于等于输入带宽, video_aclk >= (Line Rate(Mb/s)*Data Lanes) /(Pixels per Clock*Number of Bits Per Pixel)。

当没有VFB并且line rate < 1500Mbps, video_aclk >= Line Rate(Mb/s)*Data Lanes/(8*4)。

当没有VFB并且line rate > 1500Mbps, video_aclk >= rxbyteclkhs。

对于UltraScale +, 满足timing的Video_aclk最大值是250MHz, 7 series是150MHz, 如果需要提高吞吐量, 可以增加pixel per clock。

Lite_aclk应该小于等于video_aclk。

Demo例程

PG232提供了几个demo, 如下, 这些demo可以用来作为参考和帮助debug。

Debug建议

下图是DPHY的流程图, 在PHY完成初始化后,clock lane切换到HS mode, 然后data lane切换到HS mode, 开始接收数据。

初始化完成后,可以读MIPI CSI-2 RX subsystem IP的所有寄存器。比如,Core Configuration Register (0x00)的bit 0 (Core Enable)有没有打开。

Timing有没有满足。

Video_aclk有没有IP要求。

Interrupt Status Register (0x24) bit 21(Incorrect Lane configuration)有没有置高。

Interrupt Status Register (0x24) line buffer full有没有置位,如果是,一般是输入快于输出, 可以考虑增加pixels per clock, 降低line rate。

如果MIPI CSI-2 RX Subsystem没有收到packets, 那么可能sensor没有发数据, 或者, Frame end packets没有收到, 或者ECC校验没有通过.这时候可以观测DPHY的DL_STATUS Register的PKT_CNT,确认packets有没有增加. 如果没有增加, 进一步检查DPHY的输入和输出.检查MIPI CSI-2 RX Subsystem的Interrupt Status Register的ECC错误, 如果看到很多的ECC 2-bit错误, 那么就是ECC检验没有通过。

如果看到SoT Error, SoT sync Error或者 ECC 1-bit, ECC 2-bit, CRC错误, 一个可能是sensor和MIPI CSI-2 RX Subsystem Lane position mismatch,需要检查是否first byte of the packet在lane 0, 然后next byte在lane 1. 另外一个就可能是sensor的输出timing问题, 可以尝试调整DPHY的HS_SETTLE,当然, 也有可能是SI问题。

编辑:黄飞

 

猜您喜欢

1.引言近年来,随着电子技术的飞速发展,复杂可编程逻辑器件(CPLD)得到了越来越广泛的应用。CPLD由一个“门”阵列和一个“或”阵列组成,任意一个组合逻辑都...
2020-07-27 18:14:00

路由器作为网络连接的核心设备,其应用领域十分。在家庭中,路由器为智能家居设备提供了稳定的网络支持,使得用户能够方便地控制智能灯光、安防摄像头和温控系统等。在企业...
2008-03-07 00:00:00

贴片电阻断裂是一种常见故障,精准检测断裂原因很重要。以下几种方法结合使用,能有效提高检测准确性:目视检查: 使用放大镜或显微镜观察电阻表面,查找是否存在明显的裂...
2024-11-29 10:26:07

2013-01-28 00:00:00

电池,作为电子产品的心脏,其性能直接影响着我们的使用体验。良好的电池管理不仅能够延长电池寿命,还能保障设备的稳定运行,提升使用效率。那么,电池管理究竟包含哪些内...
2024-10-16 00:00:00

单点液位传感器和多点液位传感器的区别在于第一种是可以一个传感器检测一个液位,另外一个则可实现一个传感器检测多个液位,以此来适用于不同的应用环境。能点科技的多点...
2024-01-10 16:57:00

断丝取出器是专门用于去除断裂丝头的工具,应用于机械维修、钓鱼、缝纫等领域。主要优势体现在以下几个方面:断丝取出器的设计精巧,能够轻松进入狭小空间,帮助用户快速定...
2020-08-11 00:00:00

电解电容和薄膜电容是常见的电容器。两者在电子电路中用途很广。了解的区别是很重要的。本文将详细讲述这两种电容的不同之处。基本结构不同电解电容通常用铝或钽作为电极。...
2025-03-24 03:30:35

动态随机存取存储器(DRAM)作为现代计算机系统中不可少的内存类型,具有多项显著优势。DRAM的存储密度较高,能够在较小的物理空间内存储大量数据,这使其成为高效...
2011-02-10 00:00:00

作者:Paolo Novellini,赛灵思首席工程师从金融、电信、工业、消费到航空航天与国防以及汽车,如今,“同步”这个概念,在所有行业无处不在。众多应用...
2021-07-23 17:22:00