瑞芯微Rockchip开发者社区
直播中

h1654155272.9717

8年用户 1261经验值
擅长:电源/新能源
私信 关注
[经验]

rk3288 imx6ull的LCD控制器模块学习

一、LCD控制器模块学习
1.1 芯片手册的概要信息
#资料是IMX6ULLRM.pdf
The eLCDIF block supports the following:
• Displays with an asynchronous parallel MPU interface for command and data transfer to an integrated frame buffer. (8080接口)
• Displays that support moving pictures and require the RGB interface mode (DOTCLK interface). (TFT-RGB接口)
• VSYNC mode for high-speed data transfers. (MPU+VSYNC信号)
• Digital video encoders that accept ITU-R BT.656 format 4:2:2 YCbCr digital component video and convert it to analog TV signals.
1.1 硬件框图
在imx6ull的datasheet里有硬件框图,如下所示:

从显存中读取数据
AXI Master会主动把数据读入
然后AXI Master把数据存入FIFO
经过一些处理后,传给LCD接口
最后,传给外面的LCD
我们需要设置对应的寄存器,把数据的读入和转换需要的寄存器配置,LCD接口的输出寄存器配置。
从上图中还能得到的信息:
LCD控制器有两个时钟域: 外设总线时钟域、LCD像素时钟域
外设时钟域让LCD控制器正常工作,LCD像素时钟域则负责控制电子枪移动。
1.2 数据传输与处理


如果一个16位的bpp图像,转换成24bpp的LCD显示转换流程:
首先存储时,需要设置LCDIF_CTRL的LCD_DATABUS_WIDTH、WORD_LENGTH,设置读入数据的格式。
然后在LCDIF_CTRL的INPUT_DATA_SWIZZLE设置,输入的数据格式顺序给LCD控制器
把数据以FIFO的顺序给LCD控制器,期间会有格式输出
当发送前需要设置一些时序,电平
发送的数据还要设置数据个顺序
二、LCD寄存器
2.1 LCDIF_CTRLn




2.2 LCDIF_CTRL1n
无关的寄存器不写了,只写DOTCLK模式相关的:

2.3 LCDIF_TRANSFER_COUNT

2.4 LCDIF_VDCTRL0

2.5 LCDIF_VDCTRL1

2.6 LCDIF_VDCTRL2

2.7 LCDIF_VDCTRL3

2.8 LCDIF_VDCTRL4

2.9 LCDIF_CUR_BUF

2.10 LCDIF_NEXT_BUF



原作者:习惯就好zz

更多回帖

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