第 2 章 嵌入式处理器
2.13 液晶显示控制器模块
液晶显示控制器(LCDC)为外部 LCD 面板提供显示数据(见图 2.2 中右)。控制器支持 黑白、灰度和被动彩色面板。控制器可以通过专用 DMA 从内部 SRAM 和外部存储器中 得到显示数据。
液晶显示控制器模块有如下特性:
l 显存可在内部SRAM 和外部存储器中选择 l 标准的面板接口
l 支持单色屏和STN 彩色 LCD 面板 l 最大显示面积640*512 像素
l 通用单色面板可选8/4/2/1 位数据总线;彩色面板 8 位数据总线 l 硬件闪烁光标,可编程最大为31*31 像素
l 支持自刷新LCD 面板 l 显存32 位宽度 DMA l 所有引脚可用作GPIO
注意,所有的 LCDC 寄存器只支持字模式读写。字节/半字模式读写可能引起不可预 料的错误。
2.13.1 引脚信号说明
液晶显示控制器(LCDC)模块的引脚信号如表 2.19 所示。
表2.19 液晶显示控制器(LCDC)模块的引脚信号
引脚名称 功能描述
LCLK LCD 时钟信号,移动像素数据到控制器的移位寄存器
LLP LCD 行脉冲,表示当前行数据结束并匹配移位行数据
LFLM LCD 第一行标记,表示当前显示页的第一行
LACD 交替晶体方向输出。在预编程的FLM 脉冲数目后锁定。用于防止 LCD 面板退化 LD[7:0] LCDC 传送像素数据到 LCDC 面板的数据总线
2.13.2 寄存器地址映射
液晶显示控制器(LCDC)模块的寄存器地址映射如表 2.20 所示。
表2.20 液晶显示控制器(LCDC)模块的寄存器地址映射表
地 址 位32~0 访问控制
0x00CA_0000 LCDC 屏幕起始地址寄存器(LSSAR) 超级/普通
0x00CA_0004 LCDC 虚窗口宽度寄存器(LVWWR) 超级/普通
续表
地 址 位32~0 访问控制
x00CA_0008 LCDC 屏幕尺寸寄存器(LSSR) 超级/普通
0x00CA_000C LCDC 光标 X 位置寄存器(LCXPR) 超级/普通
0x00CA_0010 LCDC 光标 Y 位置寄存器(LCYPR) 超级/普通
0x00CA_0014 LCDC 光标尺寸寄存器(LCSR) 超级/普通
0x00CA_0018 LCDC 光标闪烁控制寄存器(LCBCR) 超级/普通
0x00CA_001C LCDC 面板配置寄存器(LPCR) 超级/普通
0x00CA_0020 LCDC 扫描限时配置寄存器(LTCR) 超级/普通
0x00CA_0024 LCDC 扫描偏移寄存器(LPOR) 超级/普通
0x00CA_0028 LCDC 对比度控制寄存器(LCCR) 超级/普通
0x00CA_002C LCDC 灰度控制寄存器(LGCR) 超级/普通
0x00CA_0030 LCDC 控制寄存器(LCR) 超级/普通
0x00CA_0034 LCDC 中断状态寄存器(LISR) 超级/普通
0x00CA_0038 LCDC DMA 控制寄存器(LDCR) 超级/普通
0x00CA_003C~0x00CA_07FF 保留 超级/普通
0x00CA_0800~0x00CA_0BFF 显示查找表 超级/普通
2.13.3 寄存器功能描述
液晶显示控制器(LCDC)模块有一个屏幕起始地址寄存器,一个虚窗口宽度寄存器,
一个屏幕尺寸寄存器,一个光标 X 位置寄存器,一个光标 Y 位置寄存器,一个光标尺寸 寄存器,一个光标闪烁控制寄存器,一个面板配置寄存器,一个扫描限时配置寄存器,一 个扫描偏移寄存器,一个对比度控制寄存器,一个灰度控制寄存器,一个控制寄存器,一 个中断状态寄存器,一个DMA 控制寄存器和一个显示查找表。下面逐一描述这些寄存器。
1. LCDC 屏幕起始地址寄存器(LSSAR) LCDC 屏幕起始地址寄存器如图 2.62 所示。
l SSA[31:2]—LCDC 屏幕起始地址,LCDC 从 SSA[31:2]指定的地址处开始取新的 显示数据。SSA 地址是字边界对齐。
2. LCDC 虚窗口宽度寄存器(LVWWR) LCDC 虚窗口宽度寄存器如图 2.63 所示。
l VWW[7:0]—LCD 面板的虚窗口宽度,是一个显示虚行所需的 32 位字的数量。
VWW 用于计算每一个显示行的起始地址。VWW 必须是 4 字的倍数。
3. LCDC 屏幕尺寸寄存器(LSSR) LCDC 屏幕尺寸寄存器如图 2.64 所示。
l XSIZ[21:16]—16 像素倍数的屏幕宽度,此值等于屏幕实际宽度除以 16;黑白屏 XSIZ[16]被忽略,强迫屏幕宽度是 32 像素的倍数。
l YSIZ[8:0]—屏幕高度,指 LCD 面板的总行数。
地址:0x00CA_0000~0x00CA_0003
SSA26 SSA25 SSA24 SSA28 SSA27
SSA29 XSIZ20 XSIZ19
XSIZ21 XSIZ17 XSIZ16
YSIZ8
图2.64 LCDC 屏幕尺寸寄存器(LSSR)
4. LCDC 光标 X 位置寄存器(LCXPR)
l CH[4:0]—光标高度 4-0,指明硬件光标的高度(像素计数 1~31)。
CW4 CW3 CW1
0
BD7 BD6
CURC0
BLNEN CURC1 0 0 0 0
CUR_G3 CUR_R0
CUR_R2 CUR_R1 CUR_R3
CUR_B2
CUR_B3 CUR_B1 CUR_B0
CUR_G0 CUR_G2 CUR_G1
图2.68 LCDC 光标闪烁控制寄存器(LCBCR) l OPE—算术操作使能。
1—背景和光标间使能算术操作
0—禁止算术操作 ACDSEL ACLKD6
PIXPOL BPSIZ1
PBSIZ0 PBSIZ1
RSVD ERAMEN RSVD ACDPOL
FLMPOL LPPOL
COLOR-SEL
0 BPSIZ0
LCKPOL 0
ACLKD0 ACLKD1
ACLKD3 ACLKD2
0
00—1 位 01—2 位 10—4 位 11—8 位
l BPSIZ—每一像素的位尺寸,指明每一像素在存储器中所占的位数。
00—每一像素 1 位 01—每一像素 2 位 10—每一像素 4 位 11—每一像素 8 位 l PIXPOL—像素极性。
0—高有效 1—低有效
l FLMPOL—第一行标记极性。
0—高有效 1—低有效
l LPPOL—行脉冲极性。
0—高有效 1—低有效
l ACDPOL—ACD 极性。
0—高有效 1—低有效
l LCKPOL—LCD 移位时钟极性。
0—LCLK 上升沿有效 1—LCLK 下降沿有效 l RSVD—保留。
l ERAMEN—嵌入式 SRAM 是否为显存。
1—显存设置为内部 SRAM 0—显存设置为外部 SRAM l ACDSEL—ACD 时钟源选择。
1—用 LLP 作为 ACD 计数的时钟源 0—用 LFRM 脉冲作为 ACD 计数的时钟源
l ACLKD[6:0]—交替晶体方向控制,ACLKD 信号每隔 1~128(ACLKD 参数规定 的数值加1)个 FLM/LLP 周期锁定一次。
l PCLKD—像素时钟除数,像素时钟比是系统时钟除以 N(PCLKD 加 1)。像素时 钟比与 SCLK 比仅在 PBSIZ=00 时相等。PCLKD 必须大于等于 1 以便于有足够 的时钟边缘产生 SCLK 时钟输出。被动矩阵彩色面板的 PCLKD 必须大于或等 于2。
9. LCDC 扫描限时配置寄存器(LTCR)
l FRAME_DELAY[11:0]—帧延时,此值加一即为上一帧行结束与下一帧行开始间 的像素时钟数。
l EL_DELAY[7:0]—行间延时,一行结束到新一行开始的像素脉冲数。
l BL_DELAY[7:0]—行脉冲与下一行起始的延时,此值加上(面板总线/2+1)即为行 脉冲(LLP)结束与下一行起始间的像素时钟数。
l POFFSET[4:0]—扫描偏移,存储器中的数据处理前先左移 POFFSET 指定的位以
l CLKSRC[1:0]—时钟源,此位选择对比度控制计数器的时钟源。对比度控制器输 出频率等于输入时钟源频率除以256。
12. LCDC 灰度控制寄存器(LGCR)
对于四级灰度显示,全黑和全白是两种预定义的显示模式。其他两种介于两者间的灰 度明暗密度可通过LGCR 来调节。灰度控制寄存器如图 2.73 所示。
地址:0x00CA_002C~0x00CA_002F 读
1—使能帧结束中断
l LCDEN—LCD 使能,进入自刷新模式,LCLK 和 LD[7:0]保持为低,LFRM 和 LLP 正常工作。
EOF BOF
图2.75 LCDC 中断状态寄存器(LISR) 15. LCDC DMA 控制寄存器(LDCR)
LCDC 控制器中有一个 16×32 的行数据缓冲,存储了从内嵌 SRAM 中取到的数据。
此寄存器控制 DMA 脉冲长度,并决定还有多少数据留在 DMA 缓冲时触发 DMA 脉冲。
DMA 控制寄存器如图 2.76 所示。
地址:0x00CA_0038~0x00CA_003B
DMABL[3:0]和 DMATM[3:0]的设定值必须满足下列条件:
DMABL + DMATM <= 16 1<= DMABL <= 16
1<= DMATM <= 16
16. 显示查找表(0XCA_0800~0XCA_0BFF)
4 或 16 灰度级和被动彩色模式 LCD 面板显示需要一个 256×12 的查找表用作显示数 据匹配,显存中的数据用作表索引,表中输出的数据移到 LCD 驱动器中。灰度模式中 8 位索引用于数据搜索,4 位 0 加在 4 位像素数据前组成 8 位索引。查找表填充时用字作索 引。每像素 4 位模式显示,只用到前 16 个寄存器。查找表的填充由客户根据选择的显示 面板决定。