Linux下lt9611调试总结

lt9611是一款mipi转hdmi的芯片,项目中有使用到,分享下调试经验。

参考设计

 

 要先拿到源码,然后进行调试。刚好代码默认有一份驱动,那不就折腾了。适当修改后,接hdmi屏幕进行测试,i2c能正常通信,也能正确解码前端的mipi信号,感觉成功了一半。屏幕也提示检测到了hdmi信号,但黑屏。先让ic进入自测试模式,看输出正不正常,屏幕提示超出范围。

看log,有如下不正常打印

[  211.152990] [LT9611] lt9611_pll() hdmi pll unlocked, reset pll
[  211.163594] [LT9611] lt9611_pll() hdmi pll unlocked, reset pll
[  211.172848] [LT9611] lt9611_pll() hdmi pll unlocked, reset pll
[  211.182127] [LT9611] lt9611_pll() hdmi pll unlocked, reset pll
[  211.193973] [LT9611] lt9611_pll() hdmi pll unlocked, reset pll

后来,测量27M的晶振,发现没有正常起振(27M的正旋波),跟参考设计对比,发现贴的电容不是15pF,导致不能起振。

修改后,ic自测显示正常,屏幕也能显示正确的内容。

测试的时候,又出现的随机黑屏的情况,估计得重试调ic的参数。这一步得留给fae了,因为拿不到寄存器说明手册。

硬件检查点:

2k的精密电阻要贴上

27M的晶体要正常起振,由于示波器的探针跟地相当于一个小电容,测量1M电阻的波形时,相当于在15pF的电容处又并了一个电容,会导致波形出不来,当然手上的示波器比较低端,不确定高端的示波器能不能量出来。

参考正确的打印

[ 1475.290967] [LT9611] lt9611_mipi_input_digtal() lt9611 set mipi lanes = 0
[ 1475.302923] [LT9611] lt9611_mipi_input_digtal() lt9611 set mipi ports = 1
[ 1475.309880] [LT9611] lt9611_mipi_input_digtal() lt9611.mipi_mode = dsi
[ 1477.356611] [LT9611] lt9611_video_check() lt9611.mipi_mode = dsi
[ 1477.363822] [LT9611] lt9611_video_check() h_act_a = 1920, h_act_b = 0, v_act = 1080, v_tal = 1125:
[ 1477.372935] [LT9611] lt9611_video_check() mipi_video_format: a
[ 1477.378984] [LT9611] lt9611_video_check() Video_Check = video_1920x1080_60Hz
[ 1477.386249] [LT9611] lt9611_pll() set rx pll = 148500
[ 1477.398933] [LT9611] lt9611_pll() pcr_m = 37, hdmi_post_div = 2
[ 1477.412925] [LT9611] lt9611_pll() hdmi pll locked
[ 1477.417829] [LT9611] lt9611_mipi_pcr()  POL = 0, 0
[ 1477.428349] [LT9611] show_timing() video_format:1920X1080, pclk_khz:148500
[ 1477.435381] [LT9611] show_timing() hfp:88, hbp:148, hs:44, htotal:2200
[ 1477.442130] [LT9611] show_timing() vfp:4, vbp:36, vs:5, htotel:1125
[ 1477.458495] [LT9611] lt9611_audio_init() Audio inut = I2S 2ch
[ 1477.498075] [LT9611] lt9611_init() ############lt9611 initial End##################
[ 1477.507443] [LT9611] lt9611_init() Detect hpd High
[ 1477.588316] [LT9611] lt9611_frequency_meter_byte_clk() port A byte clk = 126270

 

为了调试 RK3568 和 LT6911C,您需要按照以下步骤进行操作: 1. 首先,确保您已经成功连接好 RK3568 开发板和 LT6911C 模块。通过正确连接供电、数据线等设备,确保两者之间能够正常通信。 2. 确认你的开发板上已经安装好了运行 RK3568 的操作系统,比如 Android 或者 Linux 等。可以通过连接显示器和键盘来确认系统是否正常启动,并且可以进行操作。 3. 打开调试工具。RK3568 开发板通常配备了相应的调试工具,你可以通过 USB 调试接口连接到开发机上或使用网络调试工具。 4. 在开发板上运行调试工具,并确保成功与 LT6911C 模块建立起通信。根据不同的调试工具,你可能需要输入一些命令或参数来设置连接参数。 5. 确保 LT6911C 模块正确接收 RK3568 发送的指令。这涉及到硬件电路的配置和连接,例如检查引脚是否正确连接、电源是否稳定等。 6. 在调试工具上发送测试指令给 LT6911C 模块,观察模块是否按照预期进行响应。例如,你可以发送一些基本的读取或写入指令来测试模块的功能。 7. 根据需要,可以进行参数调整和配置测试。例如,你可以改变 LT6911C 模块的工作频率、数据传输速率等参数,然后观察模块的输出。 8. 在整个调试过程中,可以参考 RK3568 和 LT6911C 的技术文档和相关资料,查找问题的解决方法或称呼技术支持寻求帮助。 总之,调试 RK3568 和 LT6911C 主要依赖于正确的连接、设置适当的参数、发送指令和观察模块的响应。通过仔细排查和调整,您应该能够成功进行调试
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值