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
安森美M3S EliteSiC MOSFET让车载充电器升级到 800V 电池架构
陶氏化学工厂爆炸 牵动半导体关键耗材生产
一位以linux为例的嵌入式大神的学习心得总结(干货)
华为mate10什么时候上市?华为mate10来临之际,还有哪些黑科技值得关注?
Python怎么玩转JS脚本
Linux下lt9611调试总结
微软应用商店已经发布PowerShell 7.1
浅谈汽车应用中网络安全的挑战
铝线焊线机超声波驱动焊接电源发生器
工业作业场所选择便携式气体检测仪的优势是什么
索尼一份专利申看到了在电竞领域流露出了全新的野心
车辆控制器的电磁兼容存在问题及解决办法
视障人士的Arduino辅助技术说明
一种消除系统温漂和时漂的设计和实现
华为荣获2022年度金融技术与平台奖项
什么是高频率超声波清洗机?
百望云携手兰格集团签订战略合作协议 赋能钢铁行业数字化变革
东元伺服电机 东元电机怎么样
浅析高频与射频信号及视频压缩的编码
烟花爆竹生产环境监测解决方案的详细说明