一、原理分析
1、ARM系统中LCD体系架构
其中LCD驱动芯片和LCD显示器是连接在LCD模块上的,而LCD控制器则是在ARM处理器上的。
2、液晶工作原理
LCD控制器:为LCD驱动芯片提供必要的数据和控制信号。这是相当于大脑,LCD显示器就相当于器官。REGBANK里有寄存器组,调色板内存。LCDCDMA则是用来控制帧缓存(内存)里的数据到LCD显示器,不需要CPU干预。VIDPRCS则是像素数据,TIMEGEN则是控制时序的,与REGBANK密切相关。
3、显示过程
4、时序信号
信号说明:
二、代码
//端口控制寄存器
#define rGPCCON (*(volatile unsigned long *)0x56000020)
#define rGPDCON (*(volatile unsigned long *)0x56000030)
#define rGPGCON (*(volatile unsigned long *)0x56000060)
//LCD控制寄存器
#define rLCDCON1 (*(volatile unsigned long *)0x4D000000)
#define rLCDCON2 (*(volatile unsigned long *)0x4D000004)
#define rLCDCON3 (*(volatile unsigned long *)0x4D000008)
#define rLCDCON4 (*(volatile unsigned long *)0x4D00000C)
#define rLCDCON5 (*(volatile unsigned long *)0x4D000010)
//STN/TFT: 帧(frame)缓冲区开始地址寄存器
#define rLCDSADDR1 (*(volatile unsigned long *)0x4D000014)
#define rLCDSADDR2 (*(volatile unsigned long *)0x4D000018)
//STN/TFT:虚拟屏幕地址设置寄存器
#define rLCDSADDR3 (*(volatile unsigned long *)0x4D00001C)
//TFT :临时调色板寄存器
#define rTPAL (*(volatile unsigned long *)0x4D000050)
//VCLK就是屏幕手册中的DCLK
#define VSPW 9 //通过计算无效行数垂直同步脉冲宽度决定VSYNC 脉冲的高电平宽度<