一文了解各平台RGB565和RGB888区别

用过AM335x平台的小伙伴应该知道,OK335xS开发平台的LCD接口是RGB888模式的,而OK335xD开发平台的LCD接口是RGB565模式的。如果把xS的镜像烧写到xD平台上,那么LCD会显示颜色异常。

这是为什么呢?

难道RGB565和RGB888的对应关系不是下图这样的吗?

一文了解各平台RGB565和RGB888区别

为此,我特意查看了AM335x的datasheet,找到如下说明:

一文了解各平台RGB565和RGB888区别

从图中可看出,虽然RGB565和RGB888模式的高位对应的都是LCD[15:0],但是R[7:3]和B[7:3]对应的LCD数据位是相反的,xD和xS开发平台使用的模式不同,底板上这两组信号线正好做了交换,因此,会导致xS的镜像放到xD平台上,显示颜色异常。

那么其他平台RGB565和RGB888模式的对应关系又是怎样的呢?

请继续往下看。

首先来看i.MX6UL平台,从CPU的datasheet中可以找到:

一文了解各平台RGB565和RGB888区别

从图中可看出,RGB565模式使用的是LCD_D[15:0],RGB888模式使用的是LCD_D[23:0]。OKMX6UL-C底板采用的是RGB888的模式,如果想减少走线数量,改用RGB565模式,千万要弄清楚LCD数据位与RGB的对应关系,否则会花屏。

接下来我们看看i.MX6DL/i.MX6Q开发平台,从CPU的datasheet中可以找到:

一文了解各平台RGB565和RGB888区别

一文了解各平台RGB565和RGB888区别

从图中可看到,RGB565模式有三种配置,用户可根据实际的引脚复用情况选择合适的配置方式。

最后,我们来看一下AM5718平台,从CPU的datasheet中可以找到:

一文了解各平台RGB565和RGB888区别

从图中可看到,AM5718平台的RGB565模式和RGB888两种模式的配置方式和 iMX6UL平台类似。

综上,我们梳理了AM335x、i.MX6系列及AM5718平台LCD显示部分RGB565和RGB888模式的区别。

大家在用LCD显示时,一定要弄清楚RGB模式与LCD引脚间的对应关系。

猜你喜欢

转载自blog.51cto.com/14771003/2485303