Tina F133调试5寸RGB,整体图像很淡,有抖动波纹,今天终于踩完坑了。
-
1、前序
- 前几天,买了个显示屏,5寸的RGB(800*480),遇到了个奇葩的问题,用了芒果的F133(MQ-R)板子,然后开启了lvgl的demo程序,发现屏幕整体图像很淡,有抖动波纹,有种撕裂的感觉,不信你看 。可能不是很清晰,如下:
2、过程
- 当时出现了这个问题的时候,我首先看了设备树,发现设备树该改的都改了呀,也没看出啥毛病,然后一直在哪里乱调,群里问了大佬,得到了一点点的灵感,看来还是要上RGB显示屏的手册才行,如下图所示。
- 接着对着手册改,发现改了也没用,然后用了示波器测量dclk,发现时钟频率是48Mhz,哇,这么嗨高,手册显示最高也就27Mhz,以是我想了想,要不把频率降下来看看,然后打了两个补丁:
0001-disp-support-dynamic-adjust-tcon_div.patch: 放置到 lichee/linux-5.4 目录中执行 git apply 0001-disp-support-dynamic-adjust-tcon_div.patch 0001-disp-support-dynamic-adjust-tcon_div-uboot.patch: 放置到 lichee/brandy-2.0/u-boot-2018 目录中执行 git apply 0001-disp-support-dynamic-adjust-tcon_div-uboot.patch
补丁在这个全志服务平台上:https://open.allwinnertech.com/#/sdk/0?menuID=36
如图所示:
- 接着依旧于事无补,没用啊,算了,打了补丁就不管了,过了两天,带着板子到公司的示波器上测测波形,靠,还是48Mhz,无语,只能看看有没有同步吧,接着在uboot命令行下用了fdt print命令看了一下设备树的参数,发现和内核的设备树一样,这下扯淡了,证明改的设备树内啥问题啊,都更新进去了,于是我还是不死心,坚决拿uboot的设备树开刀,改成了和内核的参数一样,烧录进去,啪,示波器测量,24Mhz,成了。没了,请看下一集。
贴图贴图,收工。
贴个内核设备树(uboot也是一样的)上来给大家看看:
&lcd0 { lcd_used = <1>; lcd_driver_name = "default_lcd"; lcd_backlight = <50>; lcd_if = <0>; lcd_x = <800>; lcd_y = <480>; lcd_width = <108>; lcd_height = <65>; lcd_dclk_freq = <22>; lcd_pwm_used = <1>; lcd_pwm_ch = <9>; lcd_pwm_freq = <50000>; lcd_pwm_pol = <0>; lcd_pwm_max_limit = <255>; lcd_hbp = <12>; lcd_ht = <816>; lcd_hspw = <4>; lcd_vbp = <12>; lcd_vt = <496>; lcd_vspw = <4>; lcd_lvds_if = <0>; lcd_lvds_colordepth = <1>; lcd_lvds_mode = <0>; lcd_frm = <0>; lcd_io_phase = <0x0000>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; deu_mode = <0>; lcdgamma4iep = <22>; smart_color = <90>; pinctrl-0 = <&rgb18_pins_a>; pinctrl-1 = <&rgb18_pins_b>; };
// 记得改uboot的设备树,一定、一定、一定,重要的事情要说三遍!!!
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号