LT9211C PCR unstable问题分析与调试方法
本文针对LT9211C芯片在MIPI RX输入时出现的PCR不稳定问题,提供系统性调试方法。主要症状表现为TX无法输出信号,根本原因是源端输出timing与芯片配置不一致或MIPI源自身timing不稳定。调试步骤包括:检测源端Vtotal值稳定性、检查时钟配置、调整RX PLL分频配置,以及修改PCR模块相关寄存器参数(粗调和细调)。通过实际案例(如GEO GW6 ISP和MAX96714F解串
概要
LT9211C在MIPI RX输入信号时,经常会出现pcr unstable的问题,尤其是对于CSI信号。这里主要提供系统性的调试方法,帮助工程师定位和解决 PCR 不稳定的问题。
主要症状与根本原因
LT9211C的log显示PCR unstable,TX无法输出信号
根本原因是源端输出的timing没有和LT9211C的代码中配置的保持一致,首先需要确保一致。其次,有的MIPI源自身输出timing不稳定,需要修改相关参数保证timing稳定输出。
分步调试方法
- 检测源端的Vtotal
LT9211C提供寄存器读取输入源的行时间以及帧时间,先向0x8690写0x18,再读取行时间:0x8668、0x8669,帧时间:0x866a、0x866b、0x866c,如果值跳变范围较大,说明源端输出的timing不稳,要调源的参数。比如可以调大h blanking看看是否有效果。
5a ff 86 00
5a 90 18 00
5a 68 02 ff //一行的时间
5a 6a 03 ff //一帧的时间,vtotal = 一帧/一行
- 检查时钟配置
mipi时钟可以参考如下计算公式:
MIPI clk = pclk*bpp/lane_num/2(RGB888,bpp=24;YUV422;bpp=16)
Byteclk = pclkbpp/8/lane_num(RGB888,bpp=24,YUV422,bpp=16)
pclk = htotalvtotal*frame rate
有的源端soc会根据timing信息自动计算出mipi时钟,有的主控也可以单独配置,可以用示波器量mipi clock,一般情况下,要比上述公式计算的值大一点比较好。
- RX PLL分频配置
LT9211C根据不同的输入像素时钟来调整分频器的设置,从而计算PCR的M/K值。分频器的档位有:
22M--44M 11 div=16
44M--88M 10 div=8
88M--176M 01 div=4
176M--352M 00 div=2
有时,输入pixel clock可能卡在临界值左右,比如pixel clock = 87M,对应的div = 8,如果pcr不稳定的话且确定源端稳定输出的话,将频率分档改到div = 4试试。对应的修改位置在LT9211C的Drv_MipiRx_DesscPll_Set()函数里面。
- PCR模块配置
在上述调试没有效果的情况下,可以对LT9211C的PCR模块进行寄存器修改。首先,介绍一下pcr相关寄存器,pcr分为粗调和细调,
| 寄存器 | 说明 |
|---|---|
| 0xd087 | pcr稳定的判断条件,bit4为1表示粗调稳定,bit3为1时表示细调稳定 |
| 0xd025 | line limit,值越大条件越严格,这是进入细调的条件1 |
| 0xd02a | step in limit,值越大条件越宽松,这是进入细调的条件2 |
| 0xd021 | bit[3:0] 粗调的幅度 |
| 0xd022 | bit[7:0] 粗调的幅度 |
| 0xd023 | 细调的幅度 |
调试步骤:
- 如果 PCR 一直处于粗调阶段,说明粗调都不稳定,此时,可以降低进入细调的两个条件0xd025/0xd02a,或者降低粗调调节的幅度 0xd021 bit[3:0] & 0xd022 bit[7:0]。
- 如果 PCR 一直处于细调阶段,即 0xd087 bit4 为 1(粗调稳定),bit3 为 0(细调不稳定),则需要降低细调调节的幅度 0xd023 bit[7:0]。
成功调试案例
- ISP(GEO GW6)输出CSI给LT9211C,增大h-blanking后,pcr stable
- 美信MAX96714F解串器输出CSI信号给LT9211C,增大h-blanking及pcr粗调条件以及细调的幅度。
小结
出现PCR unstable,首先需要排查timing设置是否和LT9211C一致,其次确定mipi输出timing是否稳定(用LT9211C的寄存器检测),最后再调整timing或者pcr相关寄存器。
更多推荐



所有评论(0)