I.MX6UL裸机开发(十一)—— RGBLCD

1、LCD简介
(1)分辨率
     分辨率有720P、1080P、2K、4K等。相同尺寸的LCD屏,分辨率越高,效果越清晰。
(2)像素格式
     I.MX6U使用RGB8888像素格式,即8bits的Alpha(透明)、8bits的红、8bits的绿和8bits的蓝,总共24bits,4字节组成的像素点。
(3)LCD屏幕接口
     LCD屏幕有很多种接口,比如在显示器上常见的VGA、HDMI、DP等等。但是I.MX6U-ALPHA开发板不支持这些接口。I.MX6U-ALPHA支持RGB接口的LCD。
(4)LCD时间参数
     HBP、HFP、VBP、VFP。
(5)RGB LCD屏幕时序
(6)像素时钟
     ATK1016屏幕的像素时钟是51.2MHz。
(7)显存
     ARGB8888格式的话一个像素需要4个自己的内存来存放像素数据,那么1024*600分辨率就需要1024*600*4=2457600B≈2.4MB内存。 RGB LCD内部没有内存,所有需要DDR3中
     分出一段内存作为RGB LCD屏幕的显存,显示图片直接操作这部分显存即可。

2、eLCDIF接口
   eLCDIF是I.MX6U自带的液晶屏幕接口,用于连接RGB LCD接口的屏幕,eLCDIF接口特性如下:
   ①、支持RGB LCD的DE模式。
   ②、支持VSYNC模式以实现高速数据传输。
   ③、支持ITU-R BT.656格式的4:2:2的YCbCr数字视频,并且将其转换为模拟TV信号。
   ④、支持8/16/18/24/32位LCD。
(1)MPU接口
     MPU接口用于在I.MX6U和LCD屏幕直接传输数据和命令,这个接口用于6080/8080接口的LCD屏幕。
(2)VSYNC接口
     VSYNC接口时序和MPU接口时序基本一样,只是多了VSYNC信号来作为帧同步。
(3)DOTCLK接口(使用此接口)
     DOTCLK接口就是用来连接RGB LCD接口屏幕的,它包括VSYNC、HSYNC、DOTCLK、和ENABLE(可选的)这四个信号,这样的接口通常被称为RGB接口。
(4)eLCDIF寄存器
     ①、LCDIF_CTRL:控制寄存器
     ②、LCDIF_CUR_BUF:当前帧缓冲区
     ③、LCDIF_NEXT_BUF:下一帧缓冲区

3、I.MX6U的eLCDIF接口驱动ALIENTEK的ATK7016这款屏幕,配置步骤如下:
(1)初始化LCD所使用的IO
     首先肯定是初始化LCD所示使用的IO,将其复用为eLCDIF接口IO。
(2)设置LCD的像素时钟
     查阅所使用的LCD屏幕数据手册,或者自己计算出的时钟像素,然后设置CCM相应的寄存器。
(3)配置eLCDIF接口
     设置LCDIF的寄存器CTRL、CTRL1、TRANSFER_COUNT、VDCTRL0~4、CUR_BUF、NEXT_BUF。根据LCD的数据手册设置相应的参数。
(4)编写API函数
     驱动LCD屏幕的目的就是现实内容,所有需要编写一些基本的API函数,比如画点、画线、画圆函数,字符串现实函数等。


 

你可能感兴趣的:(I.MX6UL)