TI论坛
直播中

王玉宁

7年用户 245经验值
私信 关注

AM335 LCD 部分的硬件设计及软件配置

本帖最后由 一只耳朵怪 于 2018-6-5 15:14 编辑

AM335X作为一颗高性价比的cortex-a8芯片,其广泛应用的一个应用就是人机界面。而在人机界面中,LCD接口是必不可少的。
这里,我们就讨论一下关于LCD接口设计的一些问题。
首先,介绍下AM335X的LCD controller的一些feature。详细的feature,大家可以参考AM335X technical reference manual(TRM) 的第13章节。
简单来说,其大致概况一下特点:
(1)有24条LCD数据线,所以支持RGB888,RGB565。当然也支持RGB666。不支持LVDS(ti有高性价比的RGB转LVDS的芯片可以配套)
(2)TRM上写的最大分辨率支持2048x2048。而实际受限于总线带宽等因素,最大分辨率为1366x768。
(3)支持Active mode(TFT屏)和passive mode(STN屏)
接下来以目前常用的TFT屏进行讨论。
TFT屏:
(1)目前常见的屏有4.3寸,5寸,7寸,10寸屏,而其模式通常有sync模式,DE模式。(有些屏sync和DE模式都兼容,通过管脚进行配置选择)
(2)驱动电路。对于我所了解的常见4.3寸屏来说,其驱动比较简单。只需要3.3v或5v作为LCD供电。同时搭配背光电路即可。
而7寸屏则会复杂一些。基本上看到常用的7寸屏,都需要偏置电路进行驱动。 其偏置(bias)电路会提供多种电压,如AVDD(10v),VDDG(18V),VEFG(-7V),VCOM(6V)。这些电压要求都可以在LCD屏的数据手册中查阅到。
对于上述bias和backlight电路,有如下TI的方案可供推荐。
TPS61040 Low cost bias
TPS65150 high cost performance
tps61165 backlight
(3)LCD信号
典型的,除了RGB或者BGR信号排列外,sync模式下还有会vsync、hsync、PCLK、EN, DE 模式下会有PCLK, DE信号。
在此,需要有两个问题需要注意:
1)由于AM335X LCD部分的bug,此在勘误表中有列出。其RGB888和RG565两种模式下,LCD信号线的分组不同。设计时需要注意。

2)如果需要RGB666的模式,此时可以设置LCD为RGB888模式,硬件设计时,RGB的低2位接地。

驱动:
由于TI SDK已更新至SDK08.00(内含的Linux为3.14)。且今后会长期维持在此版本(LTS)。所以建议新设计的朋友使用该版本。
该版本下linux使用device-tree进行板级配置。其中LCD部分的配置比较简单。
配置可以参考linux/arch/ARM/boot/dts/am335x-evm.dts中的LCD配置(7寸屏,800x480)
或者参考该路径下的am335x-evmsk.dts(4.3寸屏,480x272)
配置主要包含两部分:
1)参数部分:具体参考可以直接在LCD屏的数据手册上查阅到。
2)pinmux部分。
以下列出am335x-evm.dts中关于LCD的部分供参考。
lcd_pins_default: lcd_pins_default [
pinctrl-single,pins = <
0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */
0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */
0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */
0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */
0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */
0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */
0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */
0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */
0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */
0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */
0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */
0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */
0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */
0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */
0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */
0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */
0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
>;
];

panel [
compatible = "ti,tilcdc,panel";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&lcd_pins_default>;
panel-info [
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <32>;
fdd = <0x80>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
];
display-timings [
800x480p62 [
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hfront-porch = <39>;
hback-porch = <39>;
hsync-len = <47>;
vback-porch = <29>;
vfront-porch = <13>;
vsync-len = <2>;
hsync-active = <1>;
vsync-active = <1>;
];
];
];

回帖(4)

范逊敏

2018-6-4 06:57:37
hfront-porch = <39>;
hback-porch = <39>;
hsync-len = <47>;
vback-porch = <29>;
vfront-porch = <13>;
vsync-len = <2>;
hsync-active = <1>;
vsync-active = <1>;


对这几个参数的配置很迷糊
LCD手册上都没有明确给出,有的时候全靠猜
举报

吴思莹

2018-6-4 07:09:06
引用: rfffwef 发表于 2018-6-4 06:57
hfront-porch = <39>;
hback-porch = <39>;
hsync-len = <47>;

这几个参数的配置要根据LCD屏幕的手册来进行的。
我帮客户配的时候,有些屏幕的手册上确实给的很模糊,不过至少还是会给消影timing的总时间,所以保证前后消影总和在允许范围内,剩下的只能实测了。
举报

h1654156194.5000

2018-6-4 07:16:40
请问,在RG565模式下,如何做RGB to LVDS的转接,帮忙推荐下转接芯片。
举报

杨梅

2018-6-4 07:23:55
请问3.1.1里面的两张图在哪个手册里,我从官网下载的5000页的手册里面没有找到这两张图
举报

更多回帖

发帖
×
20
完善资料,
赚取积分