一款mipi转lvds的lcd调试(lt8912b)

article/2025/8/30 17:41:49

一款mipi转lvds的lcd调试(lt8912b)


客户调试一款mipi转lvds的屏,使用的转换芯片是lt8912b。现将调试过程做个记录。
这款芯片之前在别的客户项目上调试过,但是这个客户的板子上存在如下问题:配置好设备树和驱动后,i2c读取lt8912b的寄存器0x9c-9f一直是ffff。咨询龙讯的FAE,原因就是没有识别到正确的MIPI信号。

根据LT8912B的调试文档,如果HDMI 或者LVDS 没有图像输出,则首先应该check是否正确的接收到MIPI 信号,并稳定的恢复了时钟信号。
1.确认是否接收了正确的MIPI信号,通过读Video check 寄存器。
2.确认是否稳定的恢复了时钟信号,通过读Pixel Clock 寄存器。
在这里插入图片描述
在这里插入图片描述

分析过程:
(1) 开始怀疑MIPI信号问题,测试MIPI clk是正常的:
下面是HS mode 和LP mode的时钟波形:
在这里插入图片描述
频率有219Mhz,这个和使用的屏的参数有关。
在这里插入图片描述
bootable\bootloader\lk\dev\gcdb\display\include\panel_lt8912b_lvds480p.h中
static struct lane_configuration lt8912b_lvds480p_lane_config = {
4, 0, 1, 1, 1, 1, 1 //比mipi接口的lcd多了一个1
};
最后一个参数的定义:uint8_t force_clk_lane_hs; 是要来配置MIPI CLK为HS模式的。
默认的mipi屏不需要配置这个参数,比如:
static struct lane_configuration nt35521_720p_video_lane_config = {
4, 0, 1, 1, 1, 1
};
LT8912B 要求MIPI Clock Lane 是连续的,不要进入LP mode。

(2) 排除器件的影响,更换lt8912b后问题还是存在。
(3) 检查硬件,发现客户埋了个坑:把mipi的lane0正负接反了。
正常的寄存器数据如下:

[ 13.005051] <<-lt8912b->> [135]0x48 0xc1 = c1
[ 13.009326] <<-lt8912b->> [139]0x49 0xc1 = 0
[ 13.013383] <<-lt8912b->> [897]Enter read_para
[ 13.018072] <<-lt8912b->> [902][0x48] [09c] = 0x36
[ 13.031915] <<-lt8912b->> [902][0x48] [09d] = 0x63
[ 13.036251] <<-lt8912b->> [902][0x48] [09e] = 0xd
[ 13.040945] <<-lt8912b->> [902][0x48] [09f] = 0x2
[ 13.054823] <<-lt8912b->> [908][0x49] [0c] = 0xd3
[ 13.058967] <<-lt8912b->> [908][0x49] [0d] = 0x92
[ 13.080403] <<-lt8912b->> [908][0x49] [0e] = 0x29
[ 13.084488] <<-lt8912b->> [908][0x49] [0f] = 0x0
[ 13.091227] <<-lt8912b->> [912][0x49][0x13] mipi lane = 0x0
[ 13.110251] <<-lt8912b->> [914][0x49][0x15] lane swap = 0x20

识别到正确的mipi信号后,画面基本就出来了。剩下就是参数的优化了。如果lcd画面抖动的话,需要细调LCD参数。参考如下:

#ifdef MIPI_WXGA //1366x768
//H_act	 V_act	H_total	V_total	H_BP	H_sync	V_sync	V_BP
//{1366,768,	1500,	800,	64,	56,	3,	28};
// 1366x768 VESA Timing
static int mipi_dig_set_res(struct lt8912_data *data)
{int rc = 0;lt_debug("Enter mipi_dig_set_res MIPI_1366*768");data->lt8912_client->addr = 0x49;rc = lt8912_i2c_write_byte(data, 0x18, 0x38); // hsync width 56if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x19, 0x04); // vsync width 4if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x1c, 0x56); // Panel width LSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x1d, 0x05); // Panel width MSB-1366if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x2f, 0x0c); // FIFO Buff Length 12 --?if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x34, 0xDC); // H-TOTAL LSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x35, 0x05); // H-TOTAL MSB 1500if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x36, 0x20); // V-TOTAL LSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x37, 0x03); // V-TOTAL MSB 800if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x38, 0x1C); // VBP LSB 28if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x39, 0x00); // VBP MSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3a, 0x00); // VFP LSB 0if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3b, 0x00); // VFP MSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3c, 0x40); // HBP LSB 64if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3d, 0x00); // HBP MSBif (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3e, 0x0C); // HFP LSB 12if (rc)return rc;rc = lt8912_i2c_write_byte(data, 0x3f, 0x00); // HFP MSBif (rc)return rc;lt_debug("End   mipi_dig_set_res MIPI_1366*768");return 0;
}
#endif

可以使用i2c工具直接去修改寄存器来实时修改,观察参数的效果。


http://chatgpt.dhexx.cn/article/bCFUc64s.shtml

相关文章

Linux下lt9211调试总结

LT9211支持mipi转lvds&#xff0c;参考原理图如下 先拿到代码移植好后&#xff0c;接上屏幕看效果。 一开机&#xff0c;屏幕在不断的刷红绿蓝的图片&#xff0c;参考lcd的datasheet&#xff0c;如果没有检测到lvds信号&#xff0c;就在屏幕的测试模式。 说明&#xff0c;背光…

Linux下lt9611调试总结

lt9611是一款mipi转hdmi的芯片&#xff0c;项目中有使用到&#xff0c;分享下调试经验。 参考设计 要先拿到源码&#xff0c;然后进行调试。刚好代码默认有一份驱动&#xff0c;那不就折腾了。适当修改后&#xff0c;接hdmi屏幕进行测试&#xff0c;i2c能正常通信&#xff0c;…

正线性稳压器 (LDO)—— LT1763

正线性稳压器 (LDO) LT1763 500mA、低噪声、LDO 微功率稳压器 先上百科&#xff1a;LT1763百度百科 LT1763 LT1763 系列是微功率、低噪声、低压差稳压器。这些器件能够提供 500mA 的输出电流和一个 300mV 的压差电压。该系列专为在电池供电型系统中使用而设计&#xff0c;30…

第一颗国产HDMI 1.4 至 TTL / 2 端口 LVDS 芯片LT8619C

1. 说明 Lontium 的 LT8619C 是一款高性能 HDMI / 双模 DP 接收器芯片&#xff0c;符合 HDMI 1.4 规范。TTL 输出可支持 RGB、BT656、BT1120&#xff0c;输出分辨率可支持高达 4Kx2K30Hz。为了便于实现多媒体系统&#xff0c;LT8619C 支持 8 通道高质量 I2S 音频或 SPDIF 音频输…

互联网指标

1、LT arpu值、lt、ltv LT&#xff1a;Life Time&#xff0c;即生命周期。 理论上的计算&#xff1a; 互联网公司中&#xff0c;需要获取用户的“生命周期”&#xff0c;即用户使用该产品的时长&#xff0c;该时长应该是所有用户的平均时长&#xff08;天数&#xff09;。 …

html使用的特殊符号lt; gt: amp;等 意义对照

html使用的特殊符号< &gt: &amp;等 意义对照

软件需求跟踪矩阵例子

1&#xff0c;例子 2&#xff0c; 3 4&#xff0c;

PMP-5.项目范围管理-需求跟踪矩阵

需求跟踪矩阵是把产品需求从其来源连接到能满足需求的可交付成果的一种表格。使用需求跟踪 矩阵&#xff0c;把每个需求与业务目标或项目目标联系起来&#xff0c;有助于确保每个需求都具有商业价值。需求跟 踪矩阵提供了在整个项目生命周期中跟踪需求的一种方法&#xff0c;有…

目标跟踪入门

1.视觉目标跟踪基本流程与框架 视觉目标&#xff08;单目标&#xff09;跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下&#xff0c;预测后续帧中该目标的大小与位置。 输入初始化目标框&#xff0c;在下一帧中产生众多候选框&#xff08;Motion Model&#xff0…

【测试】26.用户需求规格跟踪矩阵

1. 需求跟踪矩阵&#xff08;RTM&#xff09;有什么作用 a) 在需求变更、设计变更、代码变更、测试用例变更时&#xff0c;需求跟踪矩阵是目前经过实践检验的进行变更波及范围影响分析的最有效的工具。如果不借助RTM&#xff0c;则发生上述变更时&#xff0c;往往会遗漏某些连…

[需求管理-2]:什么是需求以及需求的收集与识别

作者主页(文火冰糖的硅基工坊)&#xff1a;文火冰糖&#xff08;王文兵&#xff09;的博客_文火冰糖的硅基工坊_CSDN博客 本文网址&#xff1a;[需求管理-2]&#xff1a;什么是需求以及需求的收集与识别_文火冰糖的硅基工坊的博客-CSDN博客 目录 第1章 什么是需求识别 第2章…

目标跟踪综述 (持续更新)

这几天对目标跟踪挺感兴趣的&#xff0c;但是在CSDN和知乎上面找的相关介绍资料都看的一知半解&#xff0c;所以自己找了一篇 2022-04-26 发表的综述文章作下笔记学习下。 目录 一、基于相关滤波的目标跟踪算法 1、相关滤波视频目标跟踪算法的框架 2、相关滤波目标跟踪算法…

如何进行需求分析?

这篇文章是软件工程系列知识总结的第四篇&#xff0c;前面的几篇文章聊了软件工程的基础理论和项目管理相关的知识。这篇文章&#xff0c;我会将软件工程中关于需求分析相关的知识进行总结梳理&#xff0c;并以自己理解的方式进行阐述。 需求分析在分析什么 做技术的同学对于…

问题需求跟踪工具ActionView

本文是应网友要求而写&#xff0c;ActionView 主要用于问题、需求的跟踪&#xff0c;适用的人群包括但不限于管理人员、开发人员、分析人员、测试人员和其他人员。 关于工具的说明 在群晖上安装 Docker &#xff0c;目前老苏主要用了两种方法&#xff1a; 群晖的 Docker 管理…

跟踪任何目标(想跟踪什么就跟踪什么)

结果展示 介绍 该项目是一个简单的跟踪工具&#xff0c;可以用于跟踪任何你感兴趣的东西。它提供了一个基于Web的界面&#xff0c;让用户可以轻松地创建和管理跟踪列表&#xff0c;同时也提供了一个RESTful API&#xff0c;可以方便地进行数据交互。 项目的原理是将用户需要跟…

需求管理二:需求的建模与跟踪

(原创文章&#xff0c;欢迎转载&#xff0c;请注明出处) 上回说到需求分析的一些内容。这回我总结总结我对需求建模和跟踪方面方法。 需求也是有模型的&#xff0c;有很多UML语言支持需求的建模&#xff0c;它不是UML的标准视图&#xff0c;而是扩展的视图。我喜欢用UML的En…

【项目管理】聊聊需求管理跟踪

在实际项目开发过程中&#xff0c;实现用户的需求的过程并非是按部就班一切按计划推进。特别是面对用户不确定性的需求变更导致开发实施推进的进度和成本增加的风险出现。因此如何有效管理需求&#xff0c;将管理用户需求的风险造成的损失降到可控范围之内&#xff0c;需要用到…

解密需求跟踪矩阵

解密需求跟踪矩阵 需求跟踪是需求管理的一项重要内容&#xff0c;具体指跟踪一个需求使用期限的全过程。在需求跟踪过程中&#xff0c;记录每个需求同系统元素之间联系的文档&#xff0c;我们称之为《需求跟踪矩阵》。 《需求跟踪矩阵》的作用 《需求跟踪矩阵》连接了需求与需…

目标跟踪技术

一、角跟踪 早期角跟踪雷达的精度依赖于所使用的波束的尺寸&#xff0c;现代大多是雷达系统通过利用单脉冲跟踪技术获得更优的角度测量结果。 跟踪雷达利用雷达波束内目标角度相对于天线主轴角度的偏移量来产生一个误差信号&#xff0c;这个误差信号去驱动伺服系统跟踪目标。 …

需求跟踪管理

一、产品包需求 在IPD流程中&#xff0c;产品包和产品包需求是非常重要的概念&#xff0c;贯穿产品包实现这条主线&#xff0c;所谓产品包是产品开发团队对客户或下游环节所交付物的统称。 产品包需求是对最终要交付给客户&#xff08;内部客户、外部客户&#xff09;的产品包…