再上一篇:5.6.3 LCD 模块
上一篇:5.6.4 LCD 外部调色板和帧缓冲器
主页
下一篇:5.7 串行口
再下一篇:5.7.2 I2C 总线接口单元
文章列表

5.6.5 寄存器

嵌入式系统(修订本)——Intel XScale 结构与开发 陈章龙 著

LCD 控制器包含四个控制寄存器、10 个 DMA 寄存器、一个状态寄存器和一个 256 单 元的调色板RAM。表5-24 列出了所有的LCD 寄存器,它们都必须以32 位方式访问。

表 5-24 LCD 寄存器

地址

名称

描述

0x4400 0000

LCCR0

LCD 控制器控制寄存器0

0x4400 0004

LCCR1

LCD 控制器控制寄存器1

0x4400 0008

LCCR2

LCD 控制器控制寄存器2

0x4400 000C

LCCR3

LCD 控制器控制寄存器3

0x4400 0020

FBR0

DMA 通道0 帧转移寄存器

0x4400 0024

FBR1

DMA 通道1 帧转移寄存器

0x4400 0038

LCSR

LCD 控制器状态寄存器

0x4400 003C

LIIDR

LCD 控制器中断ID 寄存器

0x4400 0040

TRGBR

TMED RGB 种子寄存器

0x4400 0044

TCR

TMED 控制寄存器

0x4400 0200

FDADR0

DMA 通道0 帧描述器地址寄存器

0x4400 0204

FSADR0

DMA 通道0 帧源地址寄存器

0x4400 0208

FIDR0

DMA 通道0 帧ID 寄存器

0x4400 020C

LDCMD0

DMA 通道0 命令寄存器

0x4400 0210

FDADR1

DMA 通道1 帧描述器地址寄存器

0x4400 0214

FSADR1

DMA 通道1 帧源地址寄存器

0x4400 0218

FIDR1

DMA 通道1 帧ID 寄存器

0x4400 021C

LDCMD1

DMA 通道1 命令寄存器

一、LCD 控制寄存器

14. LCCR0

位31~22:保留
位21:OUM——输出FIFO 下溢出屏蔽

0=FIFO 下溢出可产生中断

1=FIFO 下溢出不产生中断 位20:BM——跳转屏蔽

0=在跳转至下一个新的帧时产生中断

0=在跳转开始(BS)条件不产生中断 位19~12:PDD——调色板DMA 请求延迟

值(0~255)指出在请求下一次传送调色板数据前的等待的内部总线时钟 数。在第一个写入输入FIFO 时开始减1 计数。

PDD=0 禁止此功能。

位11: QDM——LCD 快速禁止屏蔽。

0=在快速禁止后屏蔽

1=快速禁止(QD)状态不产生中断。 位10: DIS——LCD 禁止。

0=不禁止LCD 控制器。

1=禁止LCD 控制器

位9: DPD——双倍像点数据(DPD)引脚方式。 在被动单色单屏方式,

0=使用L_DD3~0 在每个像点时钟跳变发送4 个像点值。

1=使用L_DD7~0 在每个像点时钟跳变发送8 个像点值。 位8:保留

位7:PAS——被动/主动显示选择。

0=允许被动(或STN)显示方式

1=允许主动(或TFT)显示方式 位6:EFM——帧结束屏蔽

0=在帧结束时产生中断

1=帧结束(EOF)条件下不产生中断 位5:IUM——输入FIFO 下溢出屏蔽

0=FIFO 下溢出产生中断

1=FIFO 下溢出不产生中断 位4:SFM——帧开始屏蔽

0=开始一个新帧(在装入帧描述器时)产生中断

1=帧开始(SOF)条件不产生中断 位3:LDM——LCD 禁止完成屏蔽

0=LCD 禁止完成(LDD)条件中断

1=LCD 禁止完成(LDD)条件不产生中断 位2:SDS——单/双屏显示方式

0=允许单屏显示

1=允许双屏显示

位1:CMS——彩色/单色选择

0=允许彩色操作

1=允许单色操作

位0:ENB——LCD 控制器允许

15. LCCR1


位31~24:BCW——行开始信号时钟等待计数。
值(0~255)指出在传送行的第一组像点前插入的像点时钟周期数。

BOL=BLW+1

位23~16:ELW——行结束像点时钟等待计数。
值(0~255)指出在一行传送结束开始行时钟前的像点时钟周期数。 EOL=ELW+1 在被动显示方式,像点时钟在行结束等待周期保持为非有效状态。在主动 显示方式,它取反。
位15~10:HSW——水平同步时钟宽度。 值(0~63)指出在每行结束后的行时钟宽度(像点时钟周期数)。HSYNC 脉冲宽度=HSW+1.
位9~0:PPL:每行像点数。
它指出LCD 显示的每行像点数。实际每行像点数=PPL+1。

16. LCCR2


位31~24:BFW——帧开始行时钟等待计数。
对主动方式(LCCR0 的 PAS=1),值(0~255)指出在一帧的开头发送第 一组像点前插入的行时钟周期数。在插入的行时钟周期间不取反行时钟。 在被动方式,BFW 必须为0(禁止)
位23~16:EFW——帧结束行时钟等待计数 在主动方式,值(0~255)指出每帧结束时插入的行时钟周期数。在插入 的行时钟周期取反行时钟。在被动方式,EFW 必须为0(禁止)。
位15~10:VSU——垂直同步脉冲宽度 在主动方式,值(0~63)指出在每帧结束等待周期后的 L_FCCK 脚上帧 时钟宽度(单位为行周期数)。这时帧时钟用作垂直同步信号(VSYNC)。 在VSYNC 期间,取反行时钟。VSYNC 宽度=VSW+1
位9~0:LPP——每屏行数。
它指出每屏行数。对单屏方式,它代表 LCD 显示器的全部行数。对双屏 方式,它为全部LCD 显示器行的一半。每屏行数=LPP+1。

17. LCCR3


位27:DPC:双倍像点时钟方式。

0=L_PCCK 脚由PCD 制定的频率驱动

1=L_PCCK 脚驱动频率为PCD 值的两倍。 位16~24:BPP——每像点位数

000=1 位像点

001=2 位像点

010=4 位像点

011=8 位像点

100=16 位像点

101、110、111=保留 位23:DEP——输出允许极性

0=在主动显示方式L_BIAS 脚为高有效

1=在主动显示方式L_BIAS 脚为低有效 位22:PCP——像点时钟相位

0=在L_PCLK 的上升沿采样LCD 数据脚上的数据

1=在L_PCLK 的下降沿采样LCD 数据脚上的数据 位21;HSP——水平同步相性

0=L_LCLK 为高有效

1=L_LCLK 为低有效 位20:VSP——垂直同步极性

0=L_PCLK 为高有效

1=L_PCLK 为低有效

位19~16:API——每次中断的AC 篇置脚跳变数 值(0~15)用于指出在置位行计数状态(ABC)位前已产生中断的AC 偏 置脚跳变数。在 ABC 置位时计数器不变。在 ABC 由软件清零时重新启 动。在API=0 时禁止该功能。
位15~8:ACB——AC 偏置脚频率。
在被动显示方式,值(0~255)指出在取反 AC 偏置脚前计数的时钟数
(ACB+1)。该脚用于周期性改变电源的极性以防止显示屏的 DC 充电积 累。不使用时,ACB 编程位最大值(0Xff)以节省电源。 在主动方式,ACB 可与API 合用以计数行时钟。
位7~0:PCD——像点时钟分频。
值(0~255)用于指出基于LCD/存储器时钟频率(LCLK)的像点时钟频 率。像点时钟频率可为LCLK/2 至LCK/512. 像点时钟频率=LCLK/(2*(PCD+1))
在允许倍像点时钟方式时,PCD 必须编程为大于等于1 的值。
二、LCD 控制器 DMA

LCD 控制器有两个完全独立的 DMA 通道,用于把调色板缓冲器和帧缓冲器从外 部存储器传送至LCD 控制器。LCD DMA 控制器的特性于应用处理机DMAC 的描述器 取入方式相似。DMA 通道 0 用于在单屏显示器和双屏的高半屏。DMA 通道 1 专用于 双屏的低屏。调色板RAM 总用DMA 通道0 装入。所有的DMA 传送信息存放于LCD DMAC 的寄存器中。这些寄存器从主存的帧描述器装入。一个描述器用于在存储器的 每个帧缓冲器,另一个描述器用于调色板RAM 的装入。多个描述器可连成一个表,这 使DMAC 可以从基本无限个分开区域传送数据。每路DMA 有四个寄存器:LCD DMA 描述器地址寄存器(FDADRx)、帧源地址寄存器(FSADRx)、帧寄存器(FIDRx)、命 令寄存器(LDCMDX)。LX 为0(通道0)或1(通道1)。

1.帧描述器

FDADRx 寄存器有软件装入,其他DMA 寄存器只能由DMA 描述器间接装入。 一个帧描述器为主存的四个字的块,调整为16 字节边界。

字0 包含FDADRx 的值 字1 包含FSADRx 的值 字2 包含FIADRx 的值 字3 包含LDCMDx 的值
软件在允许LCD 描述器前,必须把第一个描述器的地址写入RDADRx 中。一 旦允许控制器,读入第一个描述器,DMAC 写入所有四个寄存器。在当前描述器的 所有数据传送完成后,把FDADRx 指向的下一个帧描述器装入寄存器。
在置位帧转移寄存器(FBRx)的BRA 为时,不使用FDADRx 的地址。这时, 使用帧转移地址来取下一个帧的描述器。转移可用于转入新的调色板或处理标准的 帧。
注:如只使用外部存储器的一个帧缓冲器,FDADRx(帧描述器的字0)应指 向它自己。

2.LCDDMA 帧描述器地址寄存器(FDADRx)

它为可读/写32 位寄存器,位3~0 必须为0,存放下一个描述器的地址。

3.LCD DMA 帧源地址寄存器(FSADRx)

它只可读出,包含 DMA 通道 x 现行描述器的源地址,它的低 2 位必须为 0。 如描述器用于装入调色板,FSADRx 指向调色板数据开头的存储器单元。对 1 或 2 位像点,调色板数据大小必须为4×16;对4 位像点,为16×16;对8 位像点,为

256×16。如描述器用于像点数据,FSADRx 指向存储器帧帧缓冲器的开头。在 DMAC 从存储器中取出时增量地址。需要时,DMA 帧 ID 寄存器可用于保存初始 帧源地址。

4.LCD DMA 帧 ID 寄存器(FIDRx)

它只可读出,存放描述现行帧的ID 场。它的用途取决于用户。在发生中断时, 这个 ID 寄存器拷贝至 LCD 控制器 ID 寄存器。FIDRx 的位 31~3 为帧 ID,位 2~0 为保留位。`

5.LCD DMA 命令寄存器(LDCMDx)


它只能读出,存放对应DMA 通道的现行描述器的设置场的长度。复位时,他们必 须为全0。保留位应写入0。
位31~27:保留
位26:PAL——装入调色板

0=DMA 处理不针对调色板缓冲器

1=DMA 处理针对调色板缓冲器

LDCMD1 的PAL 必须为0

位25~23:保留。
位22:SOFINT——帧开始中断

0=在开始一个新的帧时不置位LCD 状态寄存器的SOF 中断位。

1=在开始一个新的帧时置位LCD 状态寄存器的SOF 中断位。 位21:EOFINT——帧结束中断。

0=在完成取一帧的最后一个字时不置位LCD 状态寄存器的EOF 中断位。

1=在完成取一帧的最后一个字时置位LCD 状态寄存器的EOF 中断位。 位20~0:LEN——传送的字节长度

最后两位(位1、0)必须为0。LEN=0 为非法。

6. LCD DMA 帧转移寄存器(FBRx) 它可读/写,存放转向描述器的地址(调整为4 个子边界)。

位31~4:帧转移地址。 有效转向的帧的描述器的地址。
位3、2:保留
位1:BINT——转移中断

0=在装入转向的描述器后不置位LCSR 的BS 中断位。

1=在装入转向的描述器后置位LCSR 的BS 中断位。 位0:BRA——转移

0=在完成当前帧后不转移。

1=在完成当前帧后转移。下一个描述器将从帧转移地址取出,在装入新的描 述器后自动清0 BRA。

三、LCD 控制器状态寄存器(LCSR

LCSR 可读写。

位31~11:保留
位10:SINT——后继中断位,可屏蔽中断

0=在前一个中断完成后,没发生第二个非屏蔽的转移、帧开始、帧结束或总 线中断。

1=在前一个清除后,发生了第二个非屏蔽的转移、帧开始、帧结束或总线中 断。中断帧ID 寄存器的值不被第二个中断的值所替换。

位9:BS——转移状态,可屏蔽中断。

0=DMA 没装入转移的描述器,或 DMA 装入了转移的描述器,但没置位帧转 移寄存器的转移中断(BINT)位。

1=DMA 装入转移的描述器,且置位BINT。 位8:EOF——帧结束标志,可屏蔽中断。

0=没处理描述其中的EOFINT 位置位的新的帧。

1=DMA 完成屈辱描述其中的EOFINT 位置位的帧。 位7:QD——LCD 快速禁止状态,可屏蔽中断。

0=LCD 没通过清0LCCR0 的ENB 快速禁止

1=LCD 已快速禁止。

位6:OU——输出FIFO 下溢出,可屏蔽中断。

0=输出FIFO 没下溢出。

1=LCD 抖动逻辑没及时向显示屏的输出FIFO 提供数据,输出FIFO 完全空。 位5:IUU——上屏输入FIFO 下溢出状态,可屏蔽中断。

0=上屏(双屏方式)或全屏(单屏方式)显示的输入FIFO 没发生下溢出。

1=DMA 没向上屏或全屏的输入FIFO 及时提供数据。FIFO 已全空,而像点解 码逻辑试图从FIFO 读数据。

位4:TUL——下屏输入FIFO 下溢出状态,可屏蔽中断。

0=下屏(双屏方式)显示的FIFO 没发生下溢出。

1=DMA 没向下屏的输入FIFO 及时提供数据。FIFO 已全空,而像点解码逻辑 试图从FIFO 读数据。

位3:ABC——AC 偏置计数状态,非屏蔽中断。

0=AC 偏置跳变计数器没减为0。

1=AC 偏置跳变计数器减为 0,表示 L_BIAS 脚已改变由 LCCR3 的 API 控制 位场所指定的数目。计数器重新装入API 值,但是用户清0 ABC 之前禁止计 数。

位2:BER——总线错误标志,非可屏蔽中断。

0=DMA 没试图访问保留或不存在的存储器空间。

1=DMA 试图访问保留或不存在的存储器空间。 位1:SOF——帧开始标志,可屏蔽中断

0=没取入一个新的SOFINT 位置位的帧

1=DMA 开始取入一个新的SOFINT 位置位的帧。 位0:LOD——LCD 禁止完成标志,可屏蔽中断

0=LCD 没禁止或没完成最后一个帧操作

1=LCD 已禁止且最后一个活动帧操作完成。

四、LCD 控制器中断 ID 寄存器(LIIDR

LIIDR 只可读出。在发生帧开始(SOF)、帧结束(EOF)、转移(BS)或总线错误

(BER)的拷贝。它仅在发生以上类型的没屏蔽中断且 LCD 控制器无其他没屏蔽的中 断。仅在通过写入LCD 控制器状态寄存器清0 产生的中断后,它才可再写入。

LIIDR 的位31~3(IFRAMEID)为中断帧ID,位2~0 为保留位。。

`

五、TMED 寄存器

TMED 算法的功能由两个寄存器控制。

1.TMBD RGB 种子寄存器

它包含 TMBD 算法使用的红、绿、蓝三色的 8 为种子值。该值加于修改的像点数 据值作为建立算法低边界的偏移量。它们用于在被动(DSTN)显示的抖动处理。 缺省和推荐值为OX00AA5500。该值在大多数情况下提供较好的效果。它只可写入。

位31~24:保留
位23~16:FBS——TME 蓝色种子值 位15~8:TGS——TME 绿色种子值 位7~0:TRS——TME 红色种子值

2.TMED 控制寄存器(TCR)

它可读/写,用于选择TMED 抖动算法的各种功能。可使用两种暂时调制能量 分布算法(TMED)。缺省和推荐值为0X0000754F。该值在大多数情况下提供较好 的效果。

位31~15:保留
位14:TED——TMED 能量分布矩阵选择。

0=选择矩阵1。

1=选择矩阵2。

位13、12:保留,必须写入0b11。
位11~8:THBS——TMED 水平抑制,指定列移位值。 位9~4:TVBS——TMED 垂直抑制,指定块移位值。 位3:FNAME——TMED 帧数目调整器允许。

0=禁止帧数目调整

1=允许帧数目调整

位2:COAE——TMED 颜色偏移调整器允许。

0=禁止颜色偏移调整器,

1=允许颜色偏移调整器。

位1:FNAM——TMED 帧数目调整器矩阵。

0=选择帧数目调整器矩阵1,

1=选择帧数目调整器矩阵2。

位0:COAM——TMED 颜色偏移调整器矩阵

0=选择颜色偏移调整器矩阵1,

1=选择颜色偏移调整器矩阵2。