RAi O
RA8806
双图层 文字 /图形
LCD 控制器
规格书
Version 1.3
August 24, 2009
RAi O Technology Inc.
© Copyright RAiO Technology Inc. 2008, 2009
瑞佑科技
RAi O TECHNOLOGY INC. 1/189 www.raio.com.tw
Version 1.3
改 版 说 明
版 本 日 期 说 明
RA8806
双图层 文字/图形
LCD
控制器
1.0 March 31, 2008
1.1 June 20, 2008
1.2 March 2, 2009
1.3 August 24, 2009
初版发行
1. 新增第 6-4-3 节触控扫描取样时间参考表
2. 更新第 6-15 节消除雪花模式的说明
3. 更新表 8-2 DC 电性特性
4. 新增第 8-3 节驱动接口信号的时序
5. 更新附录 D 及附录 E 的字码表
1. 增加日文汉字版本 (RA8806-J) 的说明及字码表 JIS Code
2. 更新图 6-38、图 6-39 PWM 控制 VLCD 的应用电路
3. 更新第 6-10-1-3 节全型字的中、日文汉字使用说明
1. 更新表 5-2 缓存器总表
2. 更新第 6-5 节键盘扫瞄功能
3. 更新表 8-2 DC 电性特性
瑞佑科技
RAiO TECHNOLOGY INC. 2/189 www.raio.com.tw
Version 1.3
双图层 文字/图形
RA8806
LCD
控制器
章 节 内 容 页 数
1.
简介 ............................................................................................................ 6
2. 特性 ............................................................................................................ 7
3. 系统方块图 ................................................................................................. 8
4. 脚位定义 ..................................................................................................... 9
4-1 MPU 界面 ............................................................................................................... 9
4-2 Peripheral 界面 ................................................................................................... 10
4-3 Clock 界面 ........................................................................................................... 11
4-4 LCD 驱动接口 ...................................................................................................... 11
4-5 电源信号 ............................................................................................................... 12
5. 缓存器描述 ............................................................................................... 13
5-1 缓存器总表 ........................................................................................................... 13
5-2 缓存器内容描述 .................................................................................................... 15
6. 功能描述 ................................................................................................... 31
6-1 MPU 界面 ............................................................................................................. 31
6-1-1 MPU接口型式 ........................................................................................................................31
6-1-2 写入指令介绍 ......................................................................................................................... 34
6-1-3 内存写入与读取 ..................................................................................................................... 35
6-1-4 状态读取 ................................................................................................................................35
6-2 Driver界面 ............................................................................................................ 36
6-2-1 分辨率之设定 ......................................................................................................................... 39
6-2-2 显示窗口与工作窗口 .............................................................................................................. 40
6-2-3 Com/Seg 扫描方向 ................................................................................................................42
6-2-4 扫描闲置时间 ......................................................................................................................... 42
6-3 显示数据存储器( DDRAM) ................................................................................ 45
6-3-1 显示层与显示模式的选择 ....................................................................................................... 45
6-3-2 内存存取之选择 ..................................................................................................................... 46
6-4 触控屏幕功能 ........................................................................................................ 47
6-4-1 自动模式 ................................................................................................................................49
6-4-2 手动模式 ................................................................................................................................51
6-4-2-1 外部中断模式 ..............................................................................................................51
6-4-2-2 轮询模式 .....................................................................................................................54
6-4-3 触控扫描取样时间参考表 ....................................................................................................... 57
瑞佑科技
RAiO TECHNOLOGY INC. 3/189 www.raio.com.tw
Version 1.3
双图层 文字/图形
RA8806
LCD
6-5 键盘扫瞄功能 ........................................................................................................ 58
6-6 系统时序和重置 .................................................................................................... 65
6-6-1 振荡电路 ................................................................................................................................65
6-6-2 外部时序 ................................................................................................................................65
6-6-3 重置 ........................................................................................................................................66
6-7 电源 ...................................................................................................................... 67
6-7-1 电源结构 ................................................................................................................................67
6-7-2 3V电源应用电路 .....................................................................................................................67
6-7-3 5V电源应用电路 .....................................................................................................................68
6-7-4 睡眠模式 ................................................................................................................................69
6-8 中断与忙碌 ........................................................................................................... 70
6-8-1 中断( Interrupt) ................................................................................................................. 70
控制器
6-8-2 忙碌( Busy) ....................................................................................................................... 72
6-9 脉宽调变( PWM) ............................................................................................... 74
6-10 显示功能 ............................................................................................................. 76
6-10-1 字符 /图形模式 ........................................................................................................................76
6-10-1-1 图形显示 .....................................................................................................................76
6-10-1-2 半型字 .........................................................................................................................77
6-10-1-3 全型字 .........................................................................................................................78
6-10-1-4 粗体和反白 ..................................................................................................................81
6-10-1-5 双图层显示 ..................................................................................................................81
6-10-1-6 行间距 .........................................................................................................................83
6-10-2 灰阶扫描显示 .........................................................................................................................83
6-10-3 字号调整和字写入的时间 ....................................................................................................... 86
6-10-4 文字垂直显示 .........................................................................................................................88
6-11 使用者自创字型 .................................................................................................. 90
6-11-1 在 CGRAM创造字型 ...............................................................................................................90
6-11-2 在显示内存里创造字型 .......................................................................................................... 93
6-11-3 创造符号 ................................................................................................................................97
6-12 卷动功能 ............................................................................................................. 99
6-12-1 水平卷动 ................................................................................................................................99
6-12-2 垂直卷动 ..............................................................................................................................101
6-13 游标 .................................................................................................................. 102
6-13-1 光标位置与移位 ...................................................................................................................102
6-13-2 全型字型对齐功能 ................................................................................................................ 102
瑞佑科技
RAiO TECHNOLOGY INC. 4/189 www.raio.com.tw
Version 1.3
6-13-3 游标闪烁 ..............................................................................................................................105
6-13-4 游标的宽度和高度 ................................................................................................................ 105
6-14 扩展模式 ........................................................................................................... 106
6-15 消除雪花模式 .................................................................................................... 109
双图层 文字/图形
RA8806
LCD
控制器
7. 产品封装与编号 ...................................................................................... 113
7-1 打线脚位图 ......................................................................................................... 113
7-2 脚位 X/Y 坐标 ..................................................................................................... 114
7-3 封装脚位图 ......................................................................................................... 115
7-4 封装尺寸 ............................................................................................................. 116
7-5 产品编号 ............................................................................................................. 120
8. 电气特性 ................................................................................................. 121
8-1 最大范围 ............................................................................................................. 121
8-2 DC电气特性 ........................................................................................................ 122
8-3 驱动接口信号的时序 ........................................................................................... 123
附录A . 应用电路 .......................................................................................124
附录B . Frame Rate 设定对照表............................................................... 125
附录C . 字码表 - ASCII .............................................................................. 128
附录D . 字码表 - GB Code ........................................................................ 136
附录E . 字码表 - BIG-5 Code .................................................................... 158
附录F . 字码表 - JIS Code ........................................................................ 189
瑞佑科技
RAiO TECHNOLOGY INC. 5/189 www.raio.com.tw
Version 1.3
双图层 文字/图形
RA8806
LCD
1. 简介
RA8806 是一个文字与绘图模式的点矩阵液晶显示(STN-LCD )控制器,其内建了双图层(Two Page )
显示内存,及 512Kbyte ROM 的字型码,可以显示全型(16x16 pixels )的繁体中文字型(BIG5 ,13973
个字型)或是简体中文字型(GB ,9216 个字型)。同系列中的 RA8806-J 更内建了日本 JIS 标准汉字第
一及第二水平日文汉字字库共 6355 个字型。RA8806 也内建 4x256 个可显示大部份使用于英语系和欧洲
国家的半型字(8x16 pixels )字母及符号,也就是符合 ISO8859-1~4 (或称为 Latin-1~4 )标准的 ASCII
字码。
RA8806 支持可转换到 4-bit 或 8-bit 数据总线的 8080/6800 系列之 MPU 接口,而对于 LCD 驱动接口,
RA8806 亦可以被设定为 4-bit 或 8-bit 的数据总线。在一般模式下, RA8806 可支持最大到 320x240 点分
辨率的 LCD 面板,而在扩展模式下,可支持 640x240 或是 320x480 点分辨率的 LCD 面板,同时藉由使
用文字旋转功能,可达成垂直文字的显示效果。RA8806 也内建了智能型触控扫瞄控制器,支持了 4 线电
控制器
阻式触控扫瞄接口,而可程序化的脉波宽度调变器(PWM )可以用来调节 LCD 面板的对比或背光。
RA8806 也提供一个强大且聪颖的 4x8 (32 键)或 8x8 (64 键)的键盘扫瞄接口,其中更包含了长按键的
功能,同时透过适当的中断和轮询机制让使用者可以轻易的操作触控扫瞄、键盘扫瞄、和电源管理等功
能,因此可以有效的减轻 MPU 的负担。内建 512Byte 字型创造内存(Character Generation RAM ,
CGRAM )让使用者可以自行创造出最多 16 个全型或 32 个半型的字型或符号,甚至当只使用一个显示图
层时,另一个没有使用到的图层内存也可被当成字型创造内存,于此设定状态下,提供了相当足够可以让
使用者自行创造的字或符号(300 个全型或 600 个半型字)。
另外 RA8806 提供了于灰阶模式下显示 4 灰阶图案的显示效果,当中数据安排的方式兼容于大部分的灰阶
图案,且相当容易撰写。RA8806 也提供了相当多有用的功能,例如区域卷动、文字反白、粗体文字、
字放大,内存清除等等。RA8806 更提供了一项创新的功能 - 无雪花模式(no-flicker ),此模式能有效的
移除当频繁的对内存读写而所产成的雪花,凭借着 RA8806 提供此一模式,使用者能轻易地改善 LCD 显
示的质量。
RA8806 是一颗强大且容易使用的 LCD 显示控制器,它提供中等尺寸 LCD 显示控制的完整解决方案,使
用者也因此可以节省相当多的时间和成本于系统硬件和软件开发上。
文
瑞佑科技
RAiO TECHNOLOGY INC. 6/189 www.raio.com.tw
Version 1.3
双图层 文字/图形
2. 特性
支持文字和绘图两种混和显示模式
一般模式 : 最大支持 320x240 点双图层混和显示(AND、OR、NOR 和 XOR)
扩展模式 : 640x240 点或 320x480 点单图层显示
支持 4/8-bits 的 6800/8080 MPU 接口和 4/8-bits LCD 驱动接口
内建聪颖的 8x8 或 4x8 可调节长按键功能的键盘扫瞄电路
支持水平和垂直区域卷动
内建简体/ 繁体中文/ 日文汉字(GB/BIG5/JIS Kanji Level 1&2 )和 ASCII 字体的 ROM
支持 90 度、180 度、270 度文字旋转显示功能
支持 1 倍到 4 倍字型放大(垂直和水平)
内建 512Byte 字型创造内存(CGRAM): 半型字为 8x16 点,全型字: 16x16 点
没有使用到的图层显示内存可被当成字型创造内存 : 300 个全型字或 600 个半型字
RA8806
LCD
控制器
适当的中断/轮询机制提供给触控扫瞄、键盘扫瞄、电源管理等程序的撰写
支持文字对齐功能
支持 4 灰阶显示(灰阶模式)
支持粗体字和行与行间距设定功能
内建智能型电阻式触控扫瞄控制器
内建脉波宽度调变(PWM)提供 LCD 对比或背光的调节
电源管理模式以减少电源的消耗
频率(Clock)来源 : 4M ~ 12MHz 石英振荡器或由外灌频率
内建一个 5V-to-3V DC/DC 转换器
电源操作范围 : 2.4V ~ 5.5V
包装 : Die 、LQFP-100 、TQFP-80 Pins
瑞佑科技
RAiO TECHNOLOGY INC. 7/189 www.raio.com.tw
Version 1.3
双图层 文字/图形
RA8806
LCD
3. 系统方块图
图 3-1 为 RA8806 内部区块表示图,RA8806 包含了二个显示内存(DDRAM )、一个字型创造内存
(CGRAM )、字型ROM (Font ROM )、缓存器区块、模拟转数字转换器(ADC )、脉波宽度调变
(PWM ),LCD 驱动接口、微控制器控制接口(MPU ),图 3-2 为RA8806 系统应用方块图。
控制器
RS
512KByte
ROM
INT
BUSY
Display Data RAM
(9.6KByte x 2)
DDRAM1
DDRAM2
Registers
Font
ZRST
DATA[7:0]
512Byte
CGRAM
System Configure
MI
DW
DB
CLK_OUT
Display
Timing
Generator
Touch Panel
Controller
LP
FR
YD
ZDOFF
XCK
LD[7:0]
X1
X2
Y1
Y2
KIN[7:0]
KOUT[7:0]
PWM_OUT
XG
XD
Smart
Key-Scan
Controller
PWM
Controller
Oscillator
MCU Interface
CS2
ZCS1
ZRD
ZWR
图 3-1 : RA8806 内部方块图
瑞佑科技
MPU
8x8
Key Pad
H/W
Set Up
RA8806
X’tal
LCD Driver
Booster
(Contrast Adj.)
Touch
Panel
LCD Panel
LCD Driver
图 3-2 : RA8806 系统方块图
RAiO TECHNOLOGY INC. 8/189 www.raio.com.tw
Version 1.3
4. 脚位定义
4-1 MPU 界面
RA8806
双图层 文字/图形
LCD
控制器
脚 位 名 称
DATA[7:0]
ZRD
( EN)
ZWR
( ZRW)
I/O
I/O
I
I
说 明
数据总线(Data Bus )
负责 RA8806 及 微处理器(MPU)之间做数据传送与接收。
当于使用 4-bits 数据总线模式下,其高字节 DATA[7:4] 为输出讯号,应使
其保持为浮接(floating )。
致能/ 读取控制讯号(Enable/Read Enable )
当 MPU 为 8080 系列时,此脚为数据读取讯号(ZRD ),于低电位动作。
当 MPU 为 6800 系列时,此脚为致能讯号(EN ),于高电位动作。
写入/读-写控制讯号(Write/Read-Write)
当 MPU 为 8080 系列时,此脚为数据写入讯号(ZWR ),于低电位动
作。
当 MPU 为 6800 系列时,此脚为数据读取/ 写入讯号(ZRW ),于高电位
时表示读取动作,于低电位时表示写入动作。
指令/ 数据选择控制讯号(Command / Data Select Input )
此脚位为用于区别指令/ 数据周期。当 RS = 0 时,RA8806 为数据读取/ 写
入周期。当 RS = 1 时,RA8806 为状态(status )读取/ 指令写入周期,当
RS
ZCS1
CS2
INT
BUSY
于 8080 接口时,通常此脚位和 A0 相接。
I
RS ZWR Access Cycle
0 0 资料写入(Data Write)
0 1 数据读取(Data Read)
1 0 指令写入(CMD Write)
1 1 状态读取(Status Read)
芯片选取控制讯号(Chip Select Input )
I
RA8806 唯有当 ZCS1 为低电位( LOW)且 CS2 为高电位( HIGH)时,
才可接受指令。
中断讯号(Interrupt Signal Output )
O
用以回报 RA8806 内部的中断状况给 MPU 。此脚位可设定为高或低电位
触发。
忙碌讯号(Busy Signal Output )
用以回报 RA8806 内部的执行使用状况。此脚位可设定为高或低电位触
O
发,例如设定为高电位触发时,当 BUSY 脚位为高电位时, RA8806 无法
瑞佑科技
存取来自 MPU 指令,把此脚位接到 I/O 脚位时,它能被使用于轮询机制
来监控 RA8806 内部的状况。
RAiO TECHNOLOGY INC. 9/189 www.raio.com.tw
Version 1.3
4-2 Peripheral 界面
RA8806
双图层 文字/图形
LCD
控制器
脚 位 名 称
ZRST
X1
X2
Y1
Y2
PWM_OUT
I/O
I
I
I
I
I
O
说 明
重置讯号(Reset Signal Input )
此脚位为 RA8806 低电位硬件重置输入讯号。为了提高抗噪声的能力,此
脚位为 Schmitt-trigger 输入且内部有 pull-up 电阻,当所给的电源准位变
低时,能确保此脚位不会被触发。
触控屏幕输入(Touch Panel Input )
四线电阻式触控屏幕左边模拟输入讯号。
触控屏幕输入(Touch Panel Input )
四线电阻式触控屏幕右边模拟输入讯号。
触控屏幕输入(Touch Panel Input )
四线电阻式触控屏幕上方边模拟输入讯号。
当需使用触控扫瞄功能时,请在此脚位外接 39K~51Kohm pull-up 电阻。
触控屏幕输入(Touch Panel Input )
四线电阻式触控屏幕下方模拟输入讯号。
脉波宽度调变(PWM Output Signal )
此输出讯号使用于控制背光或升压电路。
KIN[7:0]
KOUT[7:0]
CLK_OUT
DW
键盘输入( Key Pad Input)
I
此些脚位为键盘输入讯号且内部有 pull-up 电阻。当没用到这些脚位时,
请保持为浮接(floating )。
键盘输出(Key Pad Output )
O
此些脚位为键盘输出讯号。当没用到这些脚位时,请保持为浮接
(floating )。
Clock 输出(Clock Output )
此脚位为多功能输出讯号,其功能依缓存器 REG[01h] Bit-6 的值来决定:
O
当 REG[01h] Bit-6 = 0: 此脚位为内部系统 clock 的输出。
当 REG[01h] Bit-6 = 1: 此脚位代表睡眠状态。( 0: 正常模式,1: 睡眠模式 )
LCD 总线选择(LCD Driver Data Bus Select )
此脚位用来选择 LCD 驱动数据总线为 8-bits 或 4-bits 。
0 : LCD 驱动数据总线为 4-bits,使用 LD[3:0]。
I
1 : LCD 驱动数据总线为 8-bits,使用 LD[7:0]。
当使用 4-bits 数据总线时, LD[7:4] 必须保持为浮接( floating )。
RA8806T1N 没有提供此功能, LCD 驱动数据总线固定为 4-bits。
瑞佑科技
MPU 系列选择(MPU Type Select )
此脚位为 MPU 接口选择。
MI
RA iO TECHNOLOGY INC. 10/189 www.raio.com.tw
I
0 : Intel 8080 系列 MPU 接口。
1 : Motorola 6800 系列 MPU 接口。
Version 1.3
8080/6800 MPU 数据总线选择(8080/6800 MPU Data Bus Select )
此脚位为 MPU 数据总线选择。
DB
I
0 : 4-bits MPU 接口,使用 DATA[3:0]。
1 : 8-bits MPU 接口,使用 DATA[7:0]。
4-3 Clock 界面
RA8806
双图层 文字/图形
LCD
控制器
脚 位 名 称
XG
XD
4-4 LCD 驱动接口
脚 位 名 称
YD
FR
I/O
I
O
I/O
O
O
说 明
震荡器接点(X’tal Input )
石英震荡器的外端接点(4M ~ 12MHz )。当外接 CLK 模式时,此脚位为
频率输入讯号。
震荡器接点(X’tal Output )
石英震荡器的外端接点(4M ~ 12MHz )。当为外接 CLK 模式时,此脚位
应保持为浮接(floating )。
说 明
LCD Per Frame 的起始讯号
YD 会产生一个脉冲讯号于每个 Frame 的起始位置。
LCD AC Wave 控制讯号
用来当作 LCD 驱动器电压准位偏移(Level Shift )的控制讯号。此讯号通
常于 VDD/GND 间交替转换以避免 LCD 极化。
LCD Common Latch 讯号
LP
XCK
ZDOFF
LD[7:0]
O
Common 数据撷取讯号,用以通知 Driver,要拴锁该行的资料。
LCD 传送频率讯号( LCD Clock)
O
资料以 XCK 为同步频率传送。
LCD 显示关闭讯号(LCD Display Off )
此讯号为使用于控制 LCD 画面显示或关闭。
O
0 : LCD 画面关闭
1 : LCD 画面显示
LCD 驱动数据总线(LCD Driver Data Bus )
当使用 8-bits LCD 驱动器时,LD[7:0] 是接于 LCD 驱动器数据总线的脚
O
位。当使用 4-bits LCD 驱动器时,LD[3:0] 是接于 LCD 驱动器数据总线的
脚位而 LD[7:4] 则为浮接。
RA8806T1N 只支援 LD[3:0] 。
瑞佑科技
RAiO TECHNOLOGY INC. 11/189 www.raio.com.tw
Version 1.3
4-5 电源信号
RA8806
双图层 文字/图形
LCD
控制器
脚 位 名 称
VDDH
VDD
VDDP
AVDD
GND
GNDP
AGND
I/O
P
P
P
P
P
P
说 明
5V 电源讯号
此脚位为 DC to DC 转换器的电压输入。若为 5V 应用电路时,此脚位需连
接 5V 电压,若为 3V 应用电路时,此脚位应保持为浮接。
3V 电源讯号 (必须外加一 1µF 和 0.1µF 的电容)
若脚位 VDDH 输入 5V 电压时,此脚位将产生 3.3V 的电压输出且必须外接
1uF 电容到 GND ,若系统只使用 3.3V 时,则直接将 3.3V 电压由此脚位输
入。
I/O 电源讯号
VDDP 可以为 3V 或 5V 。
触控屏幕的 ADC 电源讯号
AVDD 可以为 3V 或 5V 。
接地讯号
触控屏幕的 ADC 接地讯号
连接此脚位到地线(GND )。
TESTMD
TESTI
测试模式输入讯号
I
此脚位专用于测试功能,内部有 pull-low 且应保持为浮接。
测试输入讯号
I
此脚位专用于测试功能,内部有 pull-low 且应保持为浮接。
瑞佑科技
RAiO TECHNOLOGY INC. 12/189 www.raio.com.tw
Version 1.3
5. 缓存器描述
5-1 缓存器总表
表 5-1 : Cycle List
CYC_NAME RS ZWR 说 明
CMD 1 0 指令写入周期,写入缓存器位置(REG#)。
STATUS 1 1 状态读取周期,用来检查中断或睡眠状态。
DATW 0 0 数据写入周期,用来写入缓存器数据或内存数据。
DATR 0 1 数据读取周期,用来读取缓存器数据或内存数据。
表 5-2 : 缓存器总表
RA8806
双图层 文字/图形
LCD
控制器
REG# Name D7 D6 D5 D4 D3 D2 D1 D0
-- STATUS MBUSY SBUSY SLEEP
00h WLCR PWR LINEAR SRST -- TEXT_MD ZDOFF GBLK GINV 00h
01h MISC
03h ADSR
0Fh INTR -- WAKI_EN KEYI_EN TPI_EN TP_ACT WAK_STS KEY_STS TP_STS 00h
10h WCCR CUR_INC FULL_OFS BIT_REV BOLD T90DEG CUR_EN CUR_BLK --- 00h
11h CHWI CURH3 CURH2 CURH1 CURH0 ROWH3 ROWH 2 ROWH 1 ROWH 0 00h
12h MAMR CUR_HV DISPMD2 DISPMD1 DISPMD0 L_MIX1 L_MIX 0 MW_MD1 MW_MD0 11h
20h AWRR -- -- AWR5 AWR4 AWR3 AWR2 AWR1 AWR0 27h
21h DWWR -- -- DWW5 DWW 4 DWW 3 DWW 2 DWW 1 DWW 0 27h
30h AWBR AWB7 AWB6 AWB5 AWB4 AWB3 AWB2 AWB1 AWB0 EFh
31h DWHR DWH7 DWH6 DWH5 DWH4 DWH3 DWH2 DWH1 DWH0 EFh
40h AWLR -- -- AWL5 AWL4 AWL3 AWL2 AWL1 AWL0 00h
50h AWTR AWT7 AWT6 AWT5 AWT4 AWT3 AWT2 AWT1 AWT0 00h
60h CURX -- -- CURX5 CURX4 CURX3 CURX2 CURX1 CURX0 00h
61h BGSG -- -- BGSG5 BGSG4 BGSG3 BGSG2 BGSG1 BGSG0 00h
62h EDSG EDSG7 EDSG6 EDSG5 EDSG4 EDSG3 EDSG2 EDSG1 EDSG0 00h
70h CURY CURY7 CURY6 CURY5 CURY4 CURY3 CURY2 CURY1 CURY0 00h
71h BGCM BGCM7 BGCM6 BGCM5 BGCM4 BGCM3 BGCM2 BGCM1 BGCM0 00h
72h EDCM EDCM7 EDCM6 EDCM5 EDCM4 EDCM3 EDCM2 EDCM1 EDCM0 00h
80h BTMR BLKT7 BLKT6 BLKT5 BLKT4 BLKT3 BLKT2 BLKT1 BLKT0 00h
90h ITCR ITC7 ITC6 ITC5 ITC4 ITC3 ITC2 ITC1 ITC0 00h
A0h KSCR1 KEY_EN KEY4X8 KSAMP1 KSAMP0 LKEY_EN KF2 KF1 KF0 00h
A1h KSCR2 KWAK_EN -- -- -- LKEY_T1 LKEY_T0 KEYNO1 KEYNO0 00h
A2h KSDR0 KSD07 KSD06 KSD05 KSD04 KSD03 KSD02 KSD01 KSD00 FFh
A3h KSDR1 KSD17 KSD16 KSD15 KSD14 KSD13 KSD12 KSD11 KSD10 FFh
A4h KSDR2 KSD27 KSD26 KSD25 KSD24 KSD23 KSD22 KSD21 KSD20 FFh
B0h MWCR MWD7 MWD6 MWD5 MWD4 MWD3 MWD2 MWD1 MWD0 --
B1h MRCR MRD7 MRD6 MRD5 MRD4 MRD3 MRD2 MRD1 MRD0 --
NO_
FLICKER
SCR_PEN
D
CLKO_SEL
-- -- -- BIT_INV SCR_DIR SCR_HV SCR_EN 00h
BUSY_
LEV
INT_LEV XCK_SEL1 XCK_SEL0 SDIR CDIR 04h
WAKE_ST
S
KS_STS TP_STS --
初始值
瑞佑科技
RAiO TECHNOLOGY INC. 13/189 www.raio.com.tw
Version 1.3
(Continued)
RA8806
双图层 文字/图形
LCD
控制器
REG# Name D7 D6 D5 D4 D3 D2 D1 D0
C0h
C1h
C2h
C3h
C4h
D0h
D1h
E0h
F0h
F1h
TPCR1
TPXR
TPYR
TPZR
TPCR2
PCR
PDCR
PNTR
FNCR
FVHT
TP_EN TP_SMP2 TP_SMP1 TP_SMP0 TPWAK
_EN
TPX9 TPX8 TPX7 TPX6 TPX5 TPX4 TPX3 TPX2 00h
TPY9 TPY8 TPY7 TPY6 TPY5 TPY4 TPY3 TPY2 00h
-- -- -- -- TPY1 TPY0 TPX1 TPX0 00h
MTP_MD -- -- -- -- -- MTP_PH1 MTP_PH2 00h
PWM_EN PWM_DIS_
PDUTY7 PDUTY6 PDUTY5 PDUTY4 PDUTY3 PDUTY2 PDUTY1 PDUTY0 00h
PND7 PND6 PND5 PND4 PND3 PND2 PND1 PND0 00h
ISO8859_E
N
FH1 FH0 FV1 FV0 -- -- -- -- 00h
LEV
-- -- -- MCLR ASC ASC_SEL1 ASC_SEL0 00h
-- -- PCLK_R3 PCLK_R2 PCLK_R1 PCLK_R0 00h
ACLK2 ACLK1 ACLK0 00h
初始值
瑞佑科技
RAiO TECHNOLOGY INC. 14/189 www.raio.com.tw
Version 1.3
5-2 缓存器内容描述
状态缓存器 STATUS Register (RS = 1 ,ZWR = 1 )
Bit 说 明 Access
内存写入忙碌(Memory Write Busy )旗标
7
0 : 非忙碌
1 : 忙碌 : 当于字型写入内存或内存清除动作时,此旗标为 ”high”。
扫瞄忙碌( Scan Busy)旗标
RA8806
双图层 文字/图形
R
LCD
控制器
0 : 非忙碌
6
1 : 当驱动扫瞄逻辑非为闲置时(例 : XCK 为 active 时),
SCAN_BUSY 为 ”high”。
睡眠状态(SLEEP )
5
0 : 正常模式
1 : 睡眠模式
4-3 保留 R
唤醒(Wakeup )状态
2
(和 REG[0Fh] Bit-2 相同)
键盘扫瞄(KS )状态
1
(和 REG[0Fh] Bit-1 相同)
触控扫瞄(TP )状态
0
(和 REG[0Fh] Bit-0 相同)
R
R
R
R
R
瑞佑科技
RAiO TECHNOLOGY INC. 15/189 www.raio.com.tw
Version 1.3
REG [00h] Whole Chip LCD Controller Register(WLCR)
Bit 说 明 初始值 Access
电源模式( Power Mode)
0 : 正常模式 Î RA8806 于此模式下所有功能皆可使用。
RA8806
双图层 文字/图形
LCD
控制器
1 : 睡眠模式 Î RA8806 于睡眠模式下,除了唤醒(Wake-up)电路
7
工作外,其它功能都被关闭,若唤醒电路被触发,RA8806 则回
到正常模式。
线性译码模式(Linear Decode mode )
此位为用来定义 Font ROM 地址线的译码规则。标准产品被设定为
“low”。当使用者要创造一个新的 Font Code 地址对应时,则设定为
6
“high” 来实现此特殊的应用。
0 : BIG5/GB ROM 地址对应规则。
1 : 使用者自行定义 ROM 的地址对应规则。
软件重置(Software Reset )
0 : 正常模式
1 : 除了显示数据存储器(DDRAM)的数据外,所有缓存器的数据
5
4 保留 0 R
都被重置(只有在正常模式下动作),当此位被设定为 “high”
时,要给 RA8806 的 MPU 周期(cycle )至少需等待 3 个 clock
周期的时间。
0 R/W
0 R/W
0 R/W
选择文字工作模式(Text Mode Selection )
3
0 : 绘图模式 Î 写入的数据会被视为是 Bit-Map 的模式。
1 : 文字模式 Î 写入的资料会被视为是 GB/BIG/ASCII 等字码。
选择屏幕显示为开启或关闭(Set Display On/Off Selection )
此位用来控制连接到 LCD 驱动器接口的 “DISP_OFF” 讯号。
2
0 : DISP_OFF 输出 “low”(屏幕显示关闭)。
1 : DISP_OFF 输出 “high”(屏幕显示开启)。
屏幕闪烁模式选择(Blink Mode Selection )
1
0 : 正常显示。
1 : 整个屏幕闪烁。用缓存器 BTMR 来设定闪烁周期。
屏幕反白模式选择(Inverse Mode Selection )
0
0 : 正常显示。
1 : 整个屏幕反白显示。 将使显示出来的数据反向。
0 R/W
0 R/W
0 R/W
0 R/W
瑞佑科技
RAiO TECHNOLOGY INC. 16/189 www.raio.com.tw
Version 1.3
REG [01h] Misc. Register(MISC)
Bit 说 明 初始值 Access
雪花消除( Eliminating Flicker)
7
1 : 雪花消除模式,当忙碌时扫瞄将会自动暂停。
0 : 正常模式。
Clock 输出( Pin CLK_OUT)控制
RA8806
双图层 文字/图形
0 R/W
LCD
控制器
6
5
4
3-2
1 : CLK_OUT 此脚位代表状态缓存器的睡眠状态。(0: 正常模式 1:
睡眠模式)
0 : CLK_OUT 此脚位输出系统频率( System Clock)。
设定忙碌触发准位(Busy Polarity for “BUSY” pin )
1 : 设定为高电位触发动作。
0 : 设定为低电位触发动作。
设定中断触发准位(Interrupt Polarity for “INT” pin )
1 : 设定为高电位触发动作。
0 : 设定为低电位触发动作。
驱动器 clock 选择(Driver Clock Selection )
此二位为用来选择 XCK 的频率。
0 0 : XCK = CLK/8
0 1 : XCK = CLK/4(初始值)
1 0 : XCK = CLK/2
1 1 : XCK = CLK
“CLK” 代表系统频率。
SEG 扫瞄方向( SEG Scan Direction (SDIR))
0 R/W
0 R/W
0 R/W
01 R/W
1
0 : SEG 扫瞄顺序为 0 ~ 319。
1 : SEG 扫瞄顺序为 319 ~ 0。
COM 扫瞄方向( COM Scan Direction (CDIR))
0
0 : COM 扫瞄顺序为 0 ~ 239。
1 : COM 扫瞄顺序为 239 ~ 0。
REG [03h] Advance Display Setup Register(ADSR)
Bit 说 明 初始值 Access
7 卷动功能暂停选择( Scroll Function Pending )
1 : 卷动功能暂停
0 : 卷动功能动作
注 : 当 SCR_HV (Bit-1 )和 SCR_EN (Bit-0 )被改变时,此功能不
支持。
6-4 保留 000 R
0 R/W
0 R/W
0 R/W
瑞佑科技
RAiO TECHNOLOGY INC. 17/189 www.raio.com.tw
Version 1.3
设定驱动数据输出位顺序( BIT_ORDER)
RA8806
双图层 文字/图形
LCD
控制器
3
2
1 水平 /垂直卷动方向选择( SCR_HV)
0
1 : 反向驱动数据输出位顺序( Bit-7 to Bit-0, Bit-6 to Bit-1 依续到
Bit-0 to Bit-7。)
0 : 正常模式。
卷动方向选择(SCR_DIR )
当 SCR_HV = 0 时(水平卷动)
0 : 从左到右卷动。
1 : 从右到左卷动。
当 SCR_HV = 1 时(垂直卷动)
0 : 从上到下卷动。
1 : 从下到上卷动。
0 : Segment 卷动(水平)。
1 : Common 卷动(垂直)。
卷动致能( SCR_EN )
1 : 卷动功能开启。
0 : 卷动功能关闭。
0 R/W
0 R/W
0 R/W
0 R/W
REG [0Fh] Interrupt Setup and Status Register(INTR)
Bit 说 明 初始值 Access
7 保留 0 R
唤醒(Wakeup )中断屏蔽
6
1 : 致能唤醒中断。
0 : 禁能唤醒中断。
键盘扫瞄(Key-Scan )中断屏蔽
5
1 : 致能键盘扫瞄中断。
0 : 禁能键盘扫瞄中断。
触控扫瞄(Touch Panel )中断屏蔽
4
1 : 当触控扫瞄侦测到输入讯号时,产生中断输出讯号。
0 : 当触控扫瞄侦测到输入讯号时,不产生中断输出讯号。
触控扫瞄触发(只有在手动模式下有效)
3
1 : 触控扫瞄侦测到输入讯号。
0 : 触控扫瞄没有侦测到输入讯号。
0 R/W
0 R/W
0 R/W
0 R
瑞佑科技
唤醒中断状态位
1 : 当从睡眠模式中唤醒而产生的中断。
2
0 : 没有唤醒中断产生。
使用者必须写 ”0” 来清除此状态位。
RAiO TECHNOLOGY INC. 18/189 www.raio.com.tw
0 R/W
Version 1.3
键盘扫瞄中断状态位
RA8806
双图层 文字/图形
LCD
控制器
1 : 键盘扫瞄侦测到键盘输入讯号。
1
0 : 键盘扫瞄没有侦测到键盘输入讯号。
使用者必须写 ”0” 来清除此状态位。
触控扫瞄侦测状态位
1 : 触控扫瞄侦测到输入讯号。
0
0 :触控屏幕没有侦测到输入讯号。
使用者必须写 ”0” 来清除此状态位。
REG [10h] Whole Chip Cursor Control Register(WCCR)
Bit 说 明 初始值 Access
CUR_INC(当对 DDRAM 作读写操作时,光标位置自动增加)
7
1 : 禁能。
0 : 致能(自动增加)。
FULL_OFS(全型和半型字符对齐)
1 : 致能,当于全型和半型混和模式时,中文字都对齐于全型字的起
6
始位置。
0 R/W
0 R/W
0 R/W
0 R/W
0 : 禁能。
反向写入数据模式
0 : 直接把目前资料写入 DDRAM。
5
1 : 反向地将目前资料写入 DDRAM。(例如 : 01101101Î
10010010)
粗体字(只有在文字模式时生效)
4
1 : 粗体字。
0 : 正常字。
文字旋转模式(T90DEG )
3
1 : 文字旋转 90 度(参照第 6-10-4 节 ”文字垂直显示” )
0 : 正常字。
光标显示
2
1 : 设定光标为显示。
0 : 设定光标为不显示。
游标闪烁
1
1 : 游标闪烁。( REG BTMR 决定光标闪烁的周期)
0 R/W
0 R/W
0 R/W
0 R/W
0 R/W
瑞佑科技
0 : 游标不闪烁。
0 保留 0 R
RAiO TECHNOLOGY INC. 19/189 www.raio.com.tw
Version 1.3
REG [11h] Cursor Height and Word Interval Register(CHWI)
Bit 说 明 初始值 Access
设定光标高度
0000 b Æ 游标高度为 1 pixel。
0001 b Æ 游标高度为 2 pixels。
0010 b Æ 游标高度为 3 pixels。
7-4
:
:
1111 b Æ 游标高度为 16 pixels。
注 : 在正常模式光标的宽度固定为 8 pixels,光标的高度由 Bit[7:4]
决定。文字垂直旋转模式,光标的高度固定为 16 pixels ,光标的宽
度由 Bit[6:4] 决定。
设定行与行间的间距
0000 b Æ 间距为 1 pixel 。
RA8806
双图层 文字/图形
0000 R/W
LCD
控制器
0001 b Æ 间距为 2 pixels。
3-0
0010 b Æ 间距为 3 pixels。
:
:
1111 b Æ 间距为 16 pixels。
0000 R/W
瑞佑科技
RAiO TECHNOLOGY INC. 20/189 www.raio.com.tw
Version 1.3
REG [12h] Memory Access Mode Register(MAMR)
Bit 说 明 初始值 Access
光标自动移动方向
0 : 光标先由水平方向(从左到右)移动,再垂直方向(从上到下)
移动。
RA8806
双图层 文字/图形
LCD
控制器
7
6-4
1 : 光标先由垂直方向移动,再水平方向移动。
注 : 于绘图模式下,水平方向光标为以 byte 为单位移动,而垂直方
向为以 bit 为单位移动。当于文字模式下,此位可被忽略,光标的移
动方向一定为水平方向移动。
显示图层和显示模式选择
0 0 0 : 灰阶模式。在此模式下,每一显示位包含了内存中的二笔连
续的数据,此 4 灰阶是依 FRC 的方法达成,此显示位的配
置 如下:
bit1 bit0 灰阶
-------------------------------------------------- 0 0 Level1(最亮)
0 1 Level2
1 0 Level3
1 1 Level4(最暗)
注 : 于灰阶模式下没有支持文字输入。
0 0 1 : 将 DDRAM1 的数据显示于屏幕上。
0 1 0 : 将 DDRAM2 的数据显示于屏幕上。
0 1 1 : 双图层显示模式。显示规则依底下的 Bit-3 和 Bit-2 。
0 R/W
001 R/W
3-2
1-0
1 0 X : NA。
1 1 0 : 扩展模式(1), 将 DDRAM1 和 DDRAM2 的数据显示于屏
幕上。 RA8806 于此模式下支持 640x240 的显示屏幕。
1 1 1 : 扩展模式(2),将 DDRAM1 和 DDRAM2 的数据显示于屏
幕上。 RA8806 于此模式下支持 320x480 的显示屏幕。
双图层显示规则选择
当 Bit[6:4] 被设定为 ”011” 时,RA8806 将结合 DDRAM1 和
DDRAM2 的数据来显示于屏幕上。
0 0 : DDRAM1 “OR” DDRAM2。
0 1 : DDRAM1 “XOR” DDRAM2。
1 0 : DDRAM1 “NOR” DDRAM2。
1 1 : DDRAM1 “AND” DDRAM2。
MPU 读取 /写入图层选择
0 0 : 存取 CGRAM(512Byte)。
0 1 : 存取 DDRAM1。
1 0 : 存取 DDRAM2。
1 1 : 同时存取 DDRAM1 和 DDRAM2。
00 R/W
01 R/W
瑞佑科技
RAiO TECHNOLOGY INC. 21/189 www.raio.com.tw
Version 1.3
REG [20h] Active Window Right Register(AWRR)
Bit 说 明 初始值 Access
7-6 保留 00 R
RA8806
双图层 文字/图形
LCD
控制器
5-0
注 :
REG[20h ,30h ,40h 和 50h] 用来控制写入数据时,行与列在工作窗口内的变化,使用者可以使用此四
个缓存器来设定工作窗口的上/下/左/ 右边界,当写入的数据超过右边的边界时,光标会自动跳到下一列
(Line )来写入数据,也就是说,光标会移动到工作窗口左边的边界,当数据写到所设定之右边且下方
的边界时,下一笔数据写入将使光标移动到所设定之左上方边界位置。
REG [21h] Display Window Width Register(DWWR)
Bit 说 明 初始值 Access
7-6 保留 00 R
5-0
注 :
设定工作窗口(Active Window )右边边界 Æ Segment-Right
注 : AWRR 必须大于或等于 AWLR ,且值须小于或等于 27h 。
设定显示窗口(Display Window )宽度Æ Segment-Width
Segment-Right = (Segment Number / 8 )– 1
假设 LCD 的分辨率为 320x240 时,此缓存器应被设定为:
(320 / 8 )- 1 = 39 = 27h
27h R/W
27h R/W
REG[21h, 31h] 用来设定显示窗口的分辨率,使用者可以设定显示内存的可视范围。 RA8806 的
Column 宽度( DWWR)可被设定在 0h ~ 27h 之间,且 Row 高度( DWHR)可被设定在 0h ~ EFh 之
间。
REG [30h] Active Window Bottom Register(AWBR)
Bit 说 明 初始值 Access
7-0
REG [31h] Display Window Height Register(DWHR)
Bit 说 明 初始值 Access
7-0
设定工作窗口(Active Window )下方边界Æ Common-Bottom
注 : AWBR 必须大于或等于 AWTR,且值须小于或等于 EFh。
设定显示窗口(Display Window )高度Æ Common- Height
Common_ Height = LCD Common Number –1
假设 LCD 的分辨率为 320x240 时,此缓存器应被设定为 :
240 – 1 = 239 = EFh
EFh R/W
EFh R/W
瑞佑科技
RAiO TECHNOLOGY INC. 22/189 www.raio.com.tw
Version 1.3
REG [40h] Active Window Left Register(AWLR)
Bit 说 明 初始值 Access
7-6 保留 00 R
RA8806
双图层 文字/图形
LCD
控制器
5-0
REG [50h] Active Window Top Register(AWTR)
Bit 说 明 初始值 Access
7-0
REG [60h] Cursor Position X Register(CURX)
Bit 说 明 初始值 Access
7-6 保留 00 R
5-0
设定工作窗口(Active Window )左边边界Æ Segment-Left
00h R/W
注 : AWLR 必须小于或等于 AWRR ,且值须小于 27h 。
设定工作窗口(Active Window )上方边界Æ Common-Top
00h R/W
注 : AWTR 必须小于或等于 AWBR ,且值须小于 EFh 。
设定光标 Segment 位置/ RAM0 地址[4:0]
定义光标 segment 的位置,其值在 0h ~ 27h 之间。
当被设定为 CGRAM 写入模式时(REG[12h] Bit[1:0] = 00b ),此缓
00h R/W
存器 Bit[4:0] 为用来写入数据的位对应地址。于创造全型字时,通常
设定为 0h ,而当要创造奇数个半型字时,通常设定为 0h ,创造偶数
个半型字时,通常设定为 10h 。
REG [61h] Begin Segment Position Register of Scrolling(BGSG)
Bit 说 明 初始值 Access
7-6 保留 00 R
设定于卷动模式下 Segment 的起始位置
5-0
注 :
REG[61h ,62h ,71h 和 72h] 是设定卷动的窗口,这些缓存器必须在把卷动功能打开前先设定完成。
REG [62h] End Segment Position Register of Scrolling(EDSG)
Bit 说 明 初始值 Access
7-6 保留 00 R
5-0
REG[61h] 定义卷动窗口的起始位置(左边边界),其值必须小于或
00h R/W
等于缓存器 REG[62h] (定义卷动窗口终点位置(右边边界))所设
定的值。此外,对应到显示内存的限制,其值必须小于 27h 。
设定于卷动模式下 Segment 的终点位置
REG[62h] 定义卷动窗口的终点位置(右边边界),其值必须大于或
00h R/W
等于缓存器 REG[61h] (定义卷动窗口起始位置(左边边界))所设
定的值。此外,对应到显示内存的限制,其值必须小于或等于 27h 。
瑞佑科技
RAiO TECHNOLOGY INC. 23/189 www.raio.com.tw
Version 1.3
REG [70h] Cursor Position Y Register(CURY)
Bit 说 明 初始值 Access
设定光标 Common 位置/ RAM0 地址[8:5]
定义光标 common 的位置,其值在 0h ~ EFh 之间。
RA8806
双图层 文字/图形
LCD
控制器
7-0
REG [71h] Scrolling Action Range Begin Common Register(BGCM)
Bit 说 明 初始值 Access
7-0
REG [72h] Scrolling Action Range END Common Register(EDCM)
Bit 说 明 初始值 Access
7-0
当被设定为 CGRAM 写入模式时(REG[12h] Bit[1:0] = 00b ),此缓
存器 Bit[3:0] 为用来指定哪一个字被创造,缓存器 Bit[7:4] 没有使用
到。
设定卷动模式下 Common 的起始位置
REG[71h] 定义卷动窗口的起始位置(上方边界),其值必须小于或
等于缓存器 REG[72h] (定义卷动窗口终点位置(下方边界))所设
定的值。此外,对应到显示内存的限制,其值必须小于 EFh 。
设定卷动模式下 Common 的终点位置
REG[72h] 定义卷动窗口的终点位置(下方边界),其值必须大于或
等于缓存器 REG[71h] (定义卷动窗口起始位置(上方边界))所设
00h R/W
00h R/W
00h R/W
定的值。此外,对应到显示内存的限制,其值必须小于或等于
EFh 。
REG [80h] Blink Time Register(BTMR)
Bit 说 明 初始值 Access
设定光标闪烁和卷动时间周期
7-0
闪烁时间周期 = Bit[7:0] x( Frame width)
Frame width = 1/Frame Rate
Frame Rate 依照 DWWR 、 DWHR 和 ITCR 所设定的值来决定。
注 :
1. 此设定也决定了卷动的速度。
2. Frame width 的时间是依照控制器扫瞄到整个屏幕来决定,而扫瞄整个屏幕的时间是依据系统频率
( system clock )、所设定的显示窗口、驱动接口数据总线宽度(4-bits/8-bits )、空闲时间
(ITCR ),和扩展模式或灰阶模式等设定而决定。
00h R/W
瑞佑科技
RAiO TECHNOLOGY INC. 24/189 www.raio.com.tw
Version 1.3
REG [90h] Idle Time Counter Register( ITCR)
Bit 说 明 初始值 Access
空闲时间(idle time )设定,依照系统频率来计数
此值用来决定每个 LCD COM 的扫瞄时间。
COM_PRD = (COM_SCAN + ITCR )x XCK_PRD
于此之中,
COM_SCAN =( SEG_NO/LD_WIDTH) x( 1 + EXT_MD)
XCK_PRD = 1 / XCK
COM_PRD: 每个 COM 的最后扫瞄周期( Unit : ns)。
COM_SCAN: 每个 COM 的原始扫瞄周期。
XCK_PRD: 一个 XCK 的周期时间。 XCK 的周期依照系统频率
RA8806
双图层 文字/图形
LCD
控制器
7-0
SEG_NO: Segment 数目,如 240x160 的屏,SEG_NO = 240 。
EXT_MD: 在扩展模式 1 或 2 下( REG[12h] Bit[6:4] = 111b 或
LD_WIDTH: 驱动接口数据总线宽度。假设 LCD 驱动数据总线宽度
REG [A0h] Key-Scan Control Register 1(KSCR1)
Bit 说 明 初始值 Access
设定键盘扫瞄功能开启或关闭
7
1 : 开启。
0 : 关闭。
(system clock )和缓存器 REG[01h] Bit[3:2] 所设定的
值来决定。假设系统频率为 8MHz ,缓存器 REG[01h]
Bit[3:2] 设定为 10b,则 XCK_PRD = 250ns。
110b), EXT_MD = 1,除此之外 EXT_MD = 0。
为 4-bits 时,则 LD_WIDTH = 4 ,假设 LCD 驱动数据
总线宽度为 8-bits 时,则 LD_WIDTH = 8 。请参照第
4-2 节脚位 “DW” 的描述。
00h R/W
0 R/W
瑞佑科技
选择键盘扫瞄矩阵
6
1 : 4x8 Matrix(使用 KOUT[3:0], KOUT[7:4] 请保持浮接)
0 : 8x8 Matrix(使用 KOUT[7:0])
设定键盘扫瞄 De-bounce 取样的次数(Sampling Times )
0 0 : 4 次
5-4
0 1 : 8 次
1 0 : 16 次
1 1 : 32 次
设定长按键功能开启或关闭(LNGKEY_EN )
3
LNGKEY_EN = 0 Æ 长按键功能关闭。
LNGKEY_EN = 1 Æ 长按键功能开启。
RAiO TECHNOLOGY INC. 25/189 www.raio.com.tw
0 R/W
00 R/W
0 R/W
Version 1.3
设定键盘扫瞄频率(KF2-0 )
假设系统频率为 10MHz ,则键盘扫瞄频率的关系如下:
KF2 KF1 KF0
Key-Scan
Pulse Width
(KOUT period)
Key-Scan
Cycle(4x8)
Key-Scan
Cycle(8x8)
0 0 0 16µs 64µs 128µs
2-0
0 0 1 32µs 128µs 256µs
0 1 0 64µs 256µs 512µs
0 1 1 128µs 512µs 1.024ms
1 0 0 256µs 1.024ms 2.048ms
1 0 1 512µs 2.048ms 4.096ms
1 1 0 1.024ms 4.096ms 8.192ms
1 1 1 2.048ms 8.192ms 16.384ms
RA8806
双图层 文字/图形
000 R/W
LCD
控制器
REG [A1h] Key-Scan Controller Register 2(KSCR2)
Bit 说 明 初始值 Access
设定键盘扫瞄唤醒功能开启或关闭
7
0: 键盘扫瞄唤醒功能关闭。
0 R/W
1: 键盘扫瞄唤醒功能开启。
6-4 保留 000 R
长按键时间调整
00 : 约 0.625 sec
01 : 约 1.25 sec
3-2
00 R/W
10 : 约 1.875 sec
11 : 约 2.5 sec
注 : 以上时间是假设系统频率为 8MHz 。
告知几个按键被按到
00 : 没有按键被按到。
1-0
01 : 一个按键被按到,读取缓存器 REG[A2h] 来获取按键值。
00 R
10 : 二个按键被按到,读取缓存器 REG[A2h~A3h] 来获取按键值。
11 : 三个按键被按到,读取缓存器 REG[A2h~A4h] 来获取按键值。
REG [A2h ~ A4h] Key-Scan Data Register( KSDR0 ~ 2)
Bit 说 明 初始值 Access
按键撷取数据
7-0
代表所按到的键对应之值。请参照第 6-5 节 "键盘扫瞄功能 ”。
瑞佑科技
RAiO TECHNOLOGY INC. 26/189 www.raio.com.tw
FFh R
Version 1.3
REG [B0h] Memory Write Command Register(MWCR)
Bit 说 明 初始值 Access
内存写入指令(从光标位置)
7-0
REG [B1h] Memory Read Command Register(MRCR)
Bit 说 明 初始值 Access
7-0
REG [C0h] Touch Panel Control Register 1(TPCR1 )
注 : 当要写数据到内存时,使用者必须先下 MWCR (Command
Write cycle )指令后,再写数据进去(Data Write cycle )。
内存读取指令(从光标位置)
注 : 于内存读取周期,光标的移动在文字模式下的行为和在绘图模式
下一样。B1h 将作预读的行为,故在执行完 MRCR 指令后,光标位
置会增加。
RA8806
双图层 文字/图形
NA R/W
NA R/W
LCD
控制器
Bit 说 明 初始值 Access
触控扫瞄功能开启或关闭
7
6-4
3
1 : 开启。
0 : 关闭。
触控扫瞄取样时间调整
000 : 等待 50µs
001 : 等待 100µs
010 : 等待 200µs
011 : 等待 400µs
100 : 等待 800µs
101 : 等待 1.6ms
110 : 等待 3.2ms
111 : 等待 6.4ms
注 : 当触控屏幕被接触到时,为了 避免讯号还不 稳定,故延迟一段取
样时间來 等待讯号变稳定,而此处的触控扫瞄取样时间与触控扫瞄
频率 (ADC Clock )转换速度 有相对的关系,相关建议值请参考第
6-4-3 节。
触控扫瞄唤醒开启或关闭
1 : 触控扫瞄开启可以唤醒睡眠模式。(触控扫瞄功能必须是开启的
状态下)
0 : 触控扫瞄关闭唤醒睡眠模式。
0 R/W
000 R/W
0 R/W
瑞佑科技
触控扫瞄频率( ADC Clock )转换速度。 “CLK” 代表系统频率。
0 0 0 : CLK / 4
0 0 1 : CLK / 8
2-0
0 1 0 : CLK /16
0 1 1 : CLK / 32
1 0 0 : CLK / 64
1 0 1 : CLK / 128
1 1 0 : CLK / 256
1 1 1 : CLK / 512
RAiO TECHNOLOGY INC. 27/189 www.raio.com.tw
000 R/W
Version 1.3
REG [C1h] Touch Panel X High Byte Data Register(TPXR)
Bit 说 明 初始值 Access
7-0 触控扫瞄 X 资料 Bit[9:2] ( Segment ) 00h R
REG [C2h] Touch Panel Y High Byte Data Register(TPYR)
Bit 说 明 初始值 Access
7-0 触控扫瞄 Y 资料 Bit[9:2]( Common) 00h R
REG [C3h] Touch Panel Segment/Common Low Byte Data Register(TPZR)
Bit 说 明 初始值 Access
7-4 保留 0000 R
3-2 触控扫瞄 Y 资料 Bit[1:0]( Common) 00 R
1-0 触控扫瞄 X 资料 Bit[1:0]( Segment) 00 R
RA8806
双图层 文字/图形
LCD
控制器
REG [C4h] Touch Panel Control Register 2(TPCR2)
Bit 说 明 初始值 Access
触控扫瞄手动模式开启或自动模式
7
1 : 使用手动模式。
0 : 使用自动模式。
6-2 保留 00h R
触控扫瞄手动模式程序选择
00 : IDLE 模式: 触控扫瞄闲置( ADC Idles)。
01 : 等待触控屏幕被接触,触控扫瞄电路将产生中断讯号或是从缓
存器 REG[0Fh] Bit-3 读出状态。
1-0
10 : 栓锁住 X 数据,在此期间,X 数据将被栓锁在缓存器 REG[C1h]
和 REG[C3h] 里。
11 : 栓锁住 Y 数据,在此期间,Y 数据将被栓锁在缓存器 REG[C2h]
和 REG[C3h] 里。
0 R/W
00 R/W
REG [D0h] PWM Control Register(PCR)
Bit 说 明 初始值 Access
脉波宽度调变( PWM)开启或关闭
7
1 : 开启。
0 : 关闭。于此状态下,PWM_OUT 准位依照此缓存器 Bit-6 来决定。
PWM 关闭时的准位
6
0 : 当 PWM 关闭或于睡眠模式时,PWM_OUT 一般为 ”low” 状态。
1 : 当 PWM 关闭或于睡眠模式时,PWM_OUT 一般为 ”high” 状态。
瑞佑科技
RAiO TECHNOLOGY INC. 28/189 www.raio.com.tw
0 R/W
0 R/W
Version 1.3
5-4 保留 00 R
PWM 电路所接受的 Clock 来源速度选择
0000 b Æ CLK / 1
0001 b Æ CLK / 2
0010 b Æ CLK / 4
0011 b Æ CLK / 8
:
3-0
REG [D1h] PWM Duty Cycle Register(PDCR )
:
1111 b Æ CLK / 32768
“CLK” 代表系统频率,例如 : CLK 为 8MHz:
0000 b Î PWM clock source = 8MHz
0001 b Î PWM clock source = 4MHz
:
:
1111 b Î PWM clock source = 244Hz
RA8806
双图层 文字/图形
0000 R/W
LCD
控制器
Bit 说 明 初始值 Access
PWM 责任周期( Cycle Duty)选择
00h Æ 1 / 256
7-0
REG [E0h] Pattern Data Register(PNTR)
Bit 说 明 初始值 Access
7-0
REG [F0h] Font Control Register(FNCR)
Bit 说 明 初始值 Access
01h Æ 2 / 256 High period
02h Æ 3 / 256 High period
:
:
FFh Æ 256 / 256 High period
要写入 DDRAM 里的资料(Display Data RAM )
当缓存器 REG[F0h] Bit-3 被填为 ”1” 时(内存清除模式),此缓存
器的数据将填满整个工作窗口。
ISO8859 模式
00h R/W
00h R/W
瑞佑科技
0 : 关闭。 ASCII 区块 1~4 的内容为附录C内的 表 C- 1
7
6-4 保留 000 R
RAiO TECHNOLOGY INC. 29/189 www.raio.com.tw
示。
1 : 开启。 ASCII 区块 1~4 的内容为代表标准的 ISO8859-1 ~ 4,且
为附录 C内 表 C- 5 ~ 表 C- 8 所示。
~ 表 C- 4 所
0 R/W
Version 1.3
内存清除功能
对此位作写入时代表
0 : 不动作
1 : 内存清除功能开启,将 FNTR 数据填满整个工作窗口。
RA8806
双图层 文字/图形
LCD
控制器
3
2
1-0
对此位作读取时代表
0 : 内存清除动作已完成。
1 : 内存清除动作尚未完成。
当此位设定为 ”1” 时,RA8806 将自动读取缓存器 PNTR 的数据,然
后将此数据填满整个工作窗口(工作窗口范围: [AWLR ,AWTR] ~
[AWRR ,AWBR] ),而当填满动作完后,此位自动清除为 ”0” 。
ASCII 模式选择
1 : 所有的输入数据将译码为 ASCII( 00h ~ FFh)。
0 : 在文字模式下( REG[00h] Bit-3 = 1),RA8806 将会先检查被写
入数据的第一个字节(byte )。当此字节小于 80h 时,将把此笔
数据当成 ASCII (半型字)来解碼,反之,则当成文字(全型字
的 GB 、 BIG-5 或是使用者自创字型)来译码。
ASCII 区块选择
0 0 : 对应到 ASCII block 1。(附录C的 表 C- 1 和 表 C- 5)
0 1 : 对应到 ASCII bloc
1 0 : 对应到 ASCII bloc
1 1 : 对应到 ASCII bloc
k 2。(附录C的 表 C- 2 和 表 C- 6)
k 3。(附录C的 表 C- 3 和 表 C- 7)
k 4。(附录C的 表 C- 4 和 表 C- 8)
0 R/W
0 R/W
00 R/W
REG [F1h] Font Size Control Register(FVHT)
Bit 说 明 初始值 Access
设定字符水平放大倍率
0 0 : 原本字符宽度。
7-6
5-4
3-0 保留 0000 R
0 1 : 字符宽度放大为原本字符宽度的二倍。
1 0 : 字符宽度放大为原本字符宽度的三倍。
1 1 : 字符宽度放大为原本字符宽度的四倍。
设定字符垂直放大倍率
0 0 : 原本字符高度。
0 1 : 字符高度放大为原本字符高度的二倍。
1 0 : 字符高度放大为原本字符高度的三倍。
1 1 : 字符高度放大为原本字符高度的四倍。
00 R/W
00 R/W
瑞佑科技
RAiO TECHNOLOGY INC. 30/189 www.raio.com.tw
Version 1.3
6. 功能描述
6-1 MPU 界面
RA8806
双图层 文字/图形
LCD
控制器
6-1-1 MPU
接口型式
RA8806 支持 8080 和 6800 等两种微处理机接口传输模式。接口的选择决定于 IC 接脚 ”MI” 的电
位,当选择 8080 来进行接口传输时,MI 必须连接到低电位,反之,当选择 6800 来进行接口传
输时,MI 必须连接到高电位。另外,亦可透过 IC 接脚 ”DB” 来决定数据总线的宽度(当 DB 接高
电位时,则数据总线的宽度为 8 位,反之,则为 4 位)。值得一提的是,无论在 8080 或 6800 的
微处理机接口,数据总线的宽度设定皆适用。一旦选择 4 位来进行传输时,传输的时间约将增加
一倍。为了减轻 MPU 与 RA8806 间的传输线干扰,建议在 RA8806 的 ZCS1 、ZRD 、ZWR 端加
一小电容到 GND ,如下图 6-1 。
8080
MPU
A1-A7
IORQ
D0-D3(D0 -D7)
RD
WR
RES
A0
Decoder
RA8806
RS
ZCS1
CS2
MI
DATA0-3(DATA0-7)
ZRD
ZWR
ZRST
图 6-1 : 8080( 4/8-位) MPU 接口
6800
6800
MPU
MPU
A0
A0
A1-A7
A1-A7
VMA
VMA
D0-3(D0-D7)
D0-3(D0-D7)
EN
EN
R/W
R/W
RES
RES
Decoder
Decoder
图 6-2 : 6800( 4/8-位) MPU 接口
RA8806
RA8806
RS
RS
ZCS1
ZCS1
CS2
CS2
DATA0-3(DATA0-7)
DATA0-3(DATA0-7)
EN
EN
ZRW
ZRW
ZRST
ZRST
VDD
VDD
MI
MI
瑞佑科技
RAiO TECHNOLOGY INC. 31/189 www.raio.com.tw
Version 1.3
t
AH8
t
DH8
t
OH8
RS
ZCS1
CS2
ZWR
ZRD
DATA
(Write)
DATA
(Read)
t
AS8
t
CYC8
t
CC8
t
DS8
t
ACC8
图 6-3 : 8080 MPU 接口传输协议
表 6-1 : 8080 MPU 界面时序
RA8806
双图层 文字/图形
LCD
控制器
Symbol
t
Cycle time 2*tc -- ns
CYC8
t
Strobe Pulse width 50 -- ns
CC8
t
Address setup time 0 -- ns
AS8
t
Address hold time 20 -- ns
AH8
t
Data setup time 30 -- ns
DS8
t
Data hold time 20 -- ns
DH8
t
Data output access time 0 20 ns
ACC8
t
Data output hold time 0 10 ns
OH8
说 明
Min. Max.
Unit Condition
Rating
tc = one system clock period
瑞佑科技
RAiO TECHNOLOGY INC. 32/189 www.raio.com.tw
Version 1.3
t
AH6
t
DH6
t
OH6
RS
ZRW
ZCS1
CS2
EN
DATA
(Write)
DATA
(Read)
t
AS6
t
CYC6
t
CC6
t
DS6
t
ACC6
图 6-4 : 6800 MPU 接口传输协议
RA8806
双图层 文字/图形
LCD
控制器
表 6-2 : 6800 MPU 界面时序
Rating
Symbol
t
Cycle time 2*tc -- ns
CYC6
t
Strobe Pulse width 50 -- ns
CC6
t
Address setup time 0 -- ns
AS6
t
Address hold time 20 -- ns
AH6
t
Data setup time 30 -- ns
DS6
t
Data hold time 20 -- ns
DH6
t
Data output access time 0 20 ns
ACC6
t
Data output hold time 0 10 ns
OH6
说 明
Min. Max.
Unit Condition
tc is one system clock period:
tc = 1/CLK
瑞佑科技
RAiO TECHNOLOGY INC. 33/189 www.raio.com.tw
Version 1.3
写入指令介绍
6-1-2
依据 表 5-1 ,RA8806 可以接受四种数据传输周期,分别是「指令写入周期」、「状态读取周
期」、「数据写入周期」以及「数据读取周期」。举例来说,当要针对某缓存器进行写数据时,
首先必须先执行「指令写入周期」,包括欲写入缓存器之编号,然后再以「写入数据周期」将数
值写入该缓存器。因此,「写入指令」意指「将数值数据写到缓存器当中」,在前述两个周期执
行之后,数值数据将被写入到该缓存器,相关情形请参考 图 6-5 (1 )。
依据 表 6-1 ,由于每一指令的写入都需要花费两个数据传输周期,且每个数据传输周期最少也要
2 个
系统频率周期的时间才能完成,因此每一指令至少需要花费 4 个的系统频率周期,才能写
入。针对不同的系统频率,换算成指令存取的时间如 表 6-3 。
如果欲读取缓存器中的内容值,则第二个数据传输周期为「读取数据周期」,相关情形请参考 图
6-5 (2 )。需注意的是 图 6-5 到 图 6-7 都是以 8080 的传输接口来举例。
RA8806
双图层 文字/图形
LCD
控制器
RS
ZCS1
ZWR
ZRD
DATA[7:0]
(1) Command Write (Write Data to Register)
RS
ZCS1
ZWR
ZRD
DATA[7:0]
REG# DATA
REG# DATA
(2) Read Data from Register
图 6-5 : 「写入指令」与「缓存器读取」
瑞佑科技
表 6-3 : 指令存取时间换算表
System Clock Command Access Time
4MHz 1µs
6 MHz 667ns
8 MHz 500ns
10 MHz 400ns
12 MHz 333ns
RAiO TECHNOLOGY INC. 34/189 www.raio.com.tw
Version 1.3
内存写入与读取
6-1-3
当欲写数据到内存(可能是显示内存或字型产生内存)时,必须先执行缓存器编号为B0h 的「写
入指令周期」。反之,如果是欲读取内存中的数据时,则必须先执行缓存器编号为B1h 的「写入
指令周期」,相关情形请参考 图 6-6 的(1 )与(2 )。
RS
ZCS1
ZWR
ZRD
RA8806
双图层 文字/图形
LCD
控制器
DATA[ 7:0]
RS
ZCS1
ZWR
ZRD
DATA[ 7:0]
B0h DATA1 DATA2 DATAn
(1) Memory Write (Write Data to DDRAM)
B1h DATA1 DATA2 DATAn
(2) Memory Read (Read Data from DDRAM)
图 6-6 : 内存写入与读取
状态读取
6-1-4
RA8806 有提供一个读取状态值的方法,让使用者(MPU )了解目前RA8806 的状况,相关内容
请参考 图 6-7 和第 5-2 节有关 ” 缓存器描述” 等的说明。
瑞佑科技
RS
ZCS1
ZWR
ZRD
DATA[7:0]
Status Register Read
Status DATA
图 6-7 : 状态读取
RAiO TECHNOLOGY INC. 35/189 www.raio.com.tw
Version 1.3
6-2 Driver界面
Driver接口的主要作用在于产生 Frame、 LP、 YD以及 Data Bus等信号给外部的 LCD驱动 IC( Driver
IC)。另外, RA8806 亦支持 4 位和 8 位的 LCD Driver Data Bus,使用者可透过 IC接脚 ”DW” 来进行
选择,当选择使用 8 位的LCD Driver ,则DW 必须接到高电位,反之,当使用 4 位时,则DW 必须接到
低电位。RA8806 与LCD Driver 的接口关系如下 图 6-8 。
RA8806
双图层 文字/图形
LCD
控制器
RA8806
YD
FR
LP
ZDOFF
XCK
LD[7:0]
图 6-8 : RA8806 与 LCD Driver 的接口关系
图 6-9 是 RA8806 与 LCD Driv
Driver接脚的说明。
FR
LCD Driver
FLM
M
LP
/DISPOFF
CP
D[7:0]
Common Signals
Segment Signals
STN
Dot Matrix
LCD Panel
er的时序关系图。使用者亦可参考第 4-4 节 “LCD 驱动接口” 关于 LCD
For 320x240: Total 240
LP for each Frame
瑞佑科技
YD
LP
XCK
1st line
FR
YD
LP
XCK
LD
(Data)
图 6-9 : RA8806 与 LCD Driver 的时序关系图
RAiO TECHNOLOGY INC. 36/189 www.raio.com.tw
Version 1.3
图 6-10 是RA8806 的应用方块图。如图所示,它使用了 80-channel 的LCD Driver 来处理 320x240 液
晶显示屏的Common 及Segment 信号,由RA8806 将FR 、LP 、YD 、XCK (Clock )以及Data Bus 的
信号送至Common 及Segment 的Driver 端。图 6-11 是 160x160 液晶显示屏的应用方块图。
RA8806
双图层 文字/图形
LCD
控制器
图 6-10 : 320x240 液晶显示屏的应用方块图
160-channel
VDD
VSS
RA8806
YD
FR
LP
ZDOFF
XCK
LD[7:0]
(Common)
EIO1
MD
S/C
L/R
DI0~DI7
EIO2
FR
LP
DISPOFF
XCK
Y1~Y160
160*160 Dot
DISPOFF
XCK
DI0~DI7
EIO2
LCD Panel
FR
LP
160-channel
(Seg ment)
S/C
L/R
MD
Y1~Y160
EIO1
瑞佑科技
RAiO TECHNOLOGY INC. 37/189 www.raio.com.tw
Version 1.3
图 6-11 : 160x160 液晶显示屏的应用方块图
表 6-4 是RA8806 Driver 信号与其它不同驱动IC 接
的接脚不需要连接电容到地(GND ),如果需要接的话,建议连接 30pF 以下的电容。
表 6-4 : RA8806 Driver 信号与其它驱动 IC 接口名称对照表
脚名称的对照表。务必注意的是,LCD Driver 信号
RA8806
双图层 文字/图形
LCD
控制器
RA8806
Driver 接口名称
LP
XCK
YD
FR
LD[7:0]
ZDOFF
通用的 Driver IC
接口名称
LP
LOAD Latch pulse of display data
CL1 Data Latch Pulse
CP
SCP Shift Clock Pulse for X-Drivers
CL2 Data Shift Pulse
HSCP Shift Clock Pulse
FLM
FR Frame Pulse
FRAME
CDATA Synchronous Data
DF(M)
D[7:0] LCD Data Bus
/DISPOFF Display OFF
/D.OFF Display OFF
DISP Display OFF
Data Latch Clock
Latch Pulse in one line
Data Shift Clock
Clock pulse for segment shift register
Scan Start-up Signal
First Line Marker
Frame start signal (First line mark of
common signal)
Switch signal to convert LCD drive
waveform into AC
接口名称的说明
瑞佑科技
RAiO TECHNOLOGY INC. 38/189 www.raio.com.tw
Version 1.3
分辨率之设定
6-2-1
RA8806 可支持数种不同分辨率( Resolution)的显示,如 表 6-5 所示。在使用不同分辨率的
LCD Panel,使用者必须去设定显示窗口( Display Window)大小相关的缓存器,例如:DWWR
与 DWHR 。除此之外,使用者亦可设定AWRR ,AWBR ,AWLR 和AWTR 等缓存器来设定工作窗
口(Active Window )之边界。
举例来说,如果 Panel Resolution 为 320x240 ,则相关的缓存器设定如下:
显示窗口宽度(DWWR )= (320 / 8 )- 1 = 39 = 27h
显示窗口高度(DWHR )= 240 – 1 = 239 = EFh
在应用上,使用者必须注意,工作窗口的范围通常是比显示窗口来得小,如下所示:
1. 显示窗口宽度( DWWR)≥ 工作窗口右边界( AWRR)≥ 工作窗口左边界( AWLR)
2. 显示窗口高度( DWHR)≥ 工作窗口下边界( AWBR)≥ 工作窗口上边界( AWTR)
RA8806
双图层 文字/图形
LCD
控制器
RA8806 可支持各式各样的LCD 模块,表 6-5 列出几种较为大家所常用的LCD 模块及其相关缓存
器设定。
表 6-5 : 常用 LCD 模块之显示窗口设定
Panel
Resolution
Segment
Common
REG[21h]
DWWR
REG[31h]
DWHR
160*80 160 80 13h 4Fh
160*128 160 128 13h 7Fh
160*160 160 160 13h 9Fh
240*64 240 64 1Dh 3Fh
240*128 240 128 1Dh 7Fh
240*160 240 160 1Dh 9Fh
320*240 320 240 27h EFh
表 6-6
Reg. Bit_Num 说 明 缓存器编号
瑞佑科技
AWLR Bit [5:0] 定义工作窗口之左边界。 REG[40h]
AWRR Bit [5:0] 定义工作窗口之右边界。 REG[20h]
AWTR Bit [7:0] 定义工作窗口之上边界。 REG[50h]
AWBR Bit [7:0] 定义工作窗口之下边界。 REG[30h]
DWWR Bit [5:0] 定义显示窗口之宽度。 REG[21h]
DWHR Bit [5:0] 定义显示窗口之高度。 REG[31h]
RAiO TECHNOLOGY INC. 39/189 www.raio.com.tw
Version 1.3
显示窗口与工作窗口
6-2-2
实际应用上, RA8806 提供两种窗口,分别是显示窗口( Display Window)和工作窗口( Active
Window)。显示窗口所表示的就是「实际液晶显示屏的分辨率」,亦即当液晶显示屏分辨率为
320x240 时,就表示显示窗口的大小也必须为 320x240( REG[21h] = 27h, REG[31h] = EFh)。
而工作窗口则是比显示窗口还小的窗口,举凡光标移动、换行、换页都是以工作窗口的边界为基
准。这两个窗口之相关缓存器如上表 6-6 。
图 6-12 表示显示窗口与工作窗口之间的关系。毫无疑问的,当液晶显示屏分辨率为 320x240
时,就表示显示窗口的大小也是 320x240 ,在 图 6-12 中,我们设定一个 160x160 的工作窗口,
其相关缓存器的设定如下所示:
LCD_CmdWrite ( 0x40 ); // AWLR = 09h = 9 Î ( 80 / 8) – 1
LCD_DataWrite ( 0x09 );
LCD_CmdWrite ( 0x20 ); // AWRR = 1Dh = 29 Î ( 240 / 8 ) – 1
LCD_DataWrite ( 0x1D );
LCD_CmdWrite ( 0x50 ); // AWTR = 00h = 0
LCD_DataWrite ( 0x00 );
LCD_CmdWrite ( 0x30 ); // AWBR = 9Fh = 159 Î 160 – 1
LCD_DataWrite ( 0x9F );
LCD_CmdWrite ( 0x21 ); // DWWR = 27h = 39 Î ( 320 / 8 ) – 1
LCD_DataWrite ( 0x27 );
LCD_CmdWrite ( 0x31 ); // DWHR = EFh = 239 Î 240 – 1
LCD_DataWrite ( 0xEF );
RA8806
双图层 文字/图形
LCD
控制器
320
159
160
239
……....
0 1 2
0
1
2
:
:
:
80 80
:
:
:
:
:
:
:
…………………………
79 80
Active Window
160 x 160
80
239 240
Display Window
320 x 240
………
319
240
图 6-12 : RA8806 「显示窗口」与「工作窗口」
瑞佑科技
RAiO TECHNOLOGY INC. 40/189 www.raio.com.tw
Version 1.3
同样地,当液晶显示屏分辨率为 240x160 时,就表示显示窗口的大小也是 240x160 ,在 图 6-13
中,我们设定一个 120x120 的工作窗口,其相关缓存器的设定如下所示:
LCD_CmdWrite ( 0x40 ); // AWLR = 00h = 0
LCD_DataWrite ( 0x00 );
LCD_CmdWrite ( 0x20 ); // AWRR = 0Eh = 14 Î ( 120 / 8 ) – 1
LCD_DataWrite ( 0x0E );
LCD_CmdWrite ( 0x50 ); // AWTR = 00h = 0
LCD_DataWrite ( 0x00 );
LCD_CmdWrite ( 0x30 ); // AWBR = 77h = 119 Î 120 – 1
LCD_DataWrite ( 0x77 );
LCD_CmdWrite ( 0x21 ); // DWWR = 1Dh = 29 Î ( 240 / 8 ) – 1
LCD_DataWrite ( 0x1D );
LCD_CmdWrite ( 0x31 ); // DWHR = 9Fh = 159 Î 160 – 1
LCD_DataWrite ( 0x9F );
RA8806
双图层 文字/图形
LCD
控制器
240
119
120
159
……………………….
0 1 2
0
1
2
:
:
:
:
:
:
:
:
:
:
Active Window
119 120
120 x 120
………………………
Display Window
240 x 160
图 6-13 : RA8806 「显示窗口」与「工作窗口」
239
160
瑞佑科技
RAiO TECHNOLOGY INC. 41/189 www.raio.com.tw
Version 1.3
6-2-3 Com/Seg
扫描方向
RA8806 有一很特殊的功能,亦即使用者可以反相 Common 和 Segment 的显示顺序。当使用
320x240 来进行显示时,如果将旋转 90 度(文字)的功能开启,同时反相 Common 的显示顺
序,此即为「垂直显示」,也就是以 240x320 来进行显示。相关内容请参考第 6-10-4 节。
表 6-7
RA8806
双图层 文字/图形
LCD
控制器
Reg. Bit_Num 说 明 缓存器编号
Bit 1 定义 Segment 的显示顺序(SDIR)。
MISC
REG[01h]
Bit 0 定义 Common 的显示顺序(CDIR)。
SEG0 .............................................. SEG319
COM0
:
Cursor Moving way Cursor Moving way
:
:
:
:
:
:
:
COM239
(1) SDIR = 0
SEG0 …………………………………. SEG319
COM0
:
:
:
:
:
:
:
:
COM239
(2) SDIR = 1
图 6-14 : 改变 Segment 显示顺序之范例
扫描闲置时间
6-2-4
RA8806 有一缓存器 ITCR ,是被用来决定「每个 LP 信号之间的闲置时间」,进一步来说,它具
有两项主要作用:
1. 可用来调整 Frame Rate (当 ITCR 的内容值愈大,表示每个 LP 信号之间的闲置时间
就愈长,亦即 Frame Rate 愈小,反之则反)。
2. 可用来避免「雪花」(Flicker )问题的发生,提升画面显示的质量。
「雪花」的发生主要是因为当 LCD 在进行扫瞄显示的同时,恰巧 MPU 在对 Display RAM 写入数
据而产生的冲突。因此,所谓的「雪花」是指发生冲突时的错误显示,使用者可藉由设定缓存器
ITCR ,确保 MPU 只在每个 LP 信号之间的闲置时间来写入数据,以避免或减少雪花的发生。
瑞佑科技
RAiO TECHNOLOGY INC. 42/189 www.raio.com.tw
Version 1.3
XCLK
LP
RA8806
双图层 文字/图形
LCD
控制器
ITCR
T_COM
COM_SCAN
图 6-15 : LP 与 LP 信号之间的闲置时间
RA8806 每一个显示扫瞄线的时间长度的计算公式如下:
COM_PRD = ((SEG_NO/LD_WIDTH) x (1 + EXT_MD)) + ITCR ) x XCK_PRD
其中 EXT_MD 是用来表示是否开启扩展模式功能,若 EXT_MD = 1 ,则为开启扩展模式功能,反
之,若 EXT_MD = 0 ,则是关闭。XCK_PRD 为一个 XCK 频率的周期宽度,其中 XCK 频率频率
为系统频率(System Clock )除频的结果,使用者可透过缓存器 MISC 的 Bit[3:2] 来进行设定。关
于一个 Frame 的时间长度和 Frame Rate 的计算公式如下所示:
FRM_PRD = COM_PRD x COM#
和
FRM_Rate = 1 / FRM_PRD
举例来说,当 Panel Resolution 为 320x240 ,系统频率频率为 8MHz ,缓存器 MISC 的 Bit[3:2] 设
定为 10b 以及 LCD Driver 为 4 bit 的数据总线时,那么 Frame Rate 则为多少呢?
由于系统频率频率为 8MHz ,而且缓存器 MISC 的 Bit[3:2] 被设定为 10b ,那么一个 XCK 周期为
250 ns ,如下所示:
XCK_PRD = 1 / (CLK/2) = 1/4MHz = 250ns
COM_PRD = ( 320 / 4 + ITCR) x XCK_PRD = (80+ ITCR) x 250(ns)
假设缓存器 ITCR 设定为 A0h (换算为十进制为 160 )
COM_PRD = (80+160) x 250ns = 240 x 250ns = 60µs
另外,显示扫瞄线共有 240 条,因此,一个 Frame 的时间长度为:
FRM_PRD = 60µs x 240 = 14.4 ms
而 Frame Rate 则是一个 Frame 时间长度的倒数,如下:
Frame Rate = 1 / 14.4 ms = 69.4 Hz
瑞佑科技
由此可知缓
存器ITCR 和 Frame Rate 保有一定的关系,使用者可透过设定缓存器ITCR 来调整
Frame Rate 。在附录B 中的 表 B- 1 到 表 B- 3 有整理了各种Panel Resolution ,因应不同的系统频
RAiO TECHNOLOGY INC. 43/189 www.raio.com.tw
Version 1.3
率和ITCR 的设定,所计算出的Frame Rate 一览表,适当地调整Frame Rate ,可以改善显示的质
量,但值得注意的是,显示质量的好坏同时亦与模块的设计和液晶本身的材料有关。
表 6-8
RA8806
双图层 文字/图形
LCD
控制器
Reg. Bit_Num 说 明 缓存器编号
ITCR Bit [7:0] 定义每个 LP 信号之间的闲置时间之长度。 REG[90h]
MISC Bit [3:2] 用来选择 XCK 的频率。 REG[01h]
瑞佑科技
RAiO TECHNOLOGY INC. 44/189 www.raio.com.tw
Version 1.3
6-3 显示数据存储器( DDRAM)
RA8806 本身内建有两块容量为 9.6K 字节大小的显示数据存储器,分别是 DDRAM1 和 DDRAM2 。
它可用来做单色的显示或者四灰阶的显示,每一块显示数据存储器最大均支持 320x240 大小的显示,
显示模式包括「文字模式」和「图形模式」。总之,RA8806 的诸多功能可让使用者既弹性又方便来
进行各种显示。
显示层与显示模式的选择
6-3-1
这两个显示数据存储器有以下四种最常见的应用:
1.
仅显示
可以备用或者当成「使用者自建字型」的内存。相关内容请参考第 6-11 节 “ 使用者自创字型” 。
2.
双层显示模式
DDRAM1 或 DDRAM2: 当仅使用其中一个 DDRAM 来进行显示时,另一个 DDRAM 则
: 在此一模式,可用来显示两个 DDRAM 画面合成的效果,使用者可以透过缓存
RA8806
双图层 文字/图形
LCD
控制器
器 [12h] 的 Bit[3:2] 来选择画面合成的模式,如下所示:
DDRAM1 “OR” DDRAM2
DDRAM1 “XOR” DDRAM2
DDRAM1 “NOR” DDRAM2
DDRAM1 “AND” DDRAM2
相关内容请参考第 6-10-1-5 节 “ 双图层显示” 。
3.
四灰阶显示模式
定。
4.
扩展显示模式
水平扩展模式(最大可显示 640x240 点)
垂直扩展模式(最大可显示 320x480 点)
: 此模式下, LCD 上每一 Pixel 的灰度由存在 DDRAM 的每 2 个连续 Bit 来决
: RA8806 支持两种扩展模式,包括:
瑞佑科技
RAiO TECHNOLOGY INC. 45/189 www.raio.com.tw
Version 1.3
内存存取之选择
6-3-2
RA8806 内建一个 512 字节的「字型产生内存」(CGRAM )和两个 9.6K 字节的「显示数据存储
器」(DDRAM )。其中 CGRAM 可用来储存造字的字型数据,而 DDRAM 可用来储存欲显示的
数据,另外,当仅用一个 DDRAM 来进行显示时,另一个 DDRAM 亦可当成 CGRAM ,来储存造
字的字型数据。在应用上,至于微处理机(MPU )要对那一个内存进行存取(Access ),使用者
可透过缓存器 [12h] 的 Bit[1:0] 来进行设定。相关内容请参考第 5-2 节 “ 缓存器内容描述” 。
Reg. Bit_Num 说 明 缓存器编号
Bit [6:4] 「显示层」与「显示模式」的选择。
表 6-9
RA8806
双图层 文字/图形
LCD
控制器
MAMR
Bit [3:2] 双层显示模式之选择。
Bit [1:0] 微处理机存取内存之选择。
REG[12h]
瑞佑科技
RAiO TECHNOLOGY INC. 46/189 www.raio.com.tw
Version 1.3
6-4 触控屏幕功能
RA8806 内建一组 10 位ADC 和控制电路,以连接四线电阻式的触控屏幕。一般来说,电阻式的触控
屏幕是由两层非常薄的电阻式屏幕所组成,如 图 6-16 。在两层屏幕中间有一小缝隙,当有外力施加
在面板上的某一点时,两层电阻式屏幕将被触碰(touch ),形成回路而导通。由于两层电阻式屏幕
的端点含有电极(XL 、XR 、YU 、YD ),如 图 6-17 ,因此,相对于触碰的位置,系统将侦测到一
个XY 的坐标值。
RA8806
双图层 文字/图形
LCD
控制器
VDD
YU
XL
YD
图 6-16 : 触控屏幕
VDD
SW2
YU
XL
SW0 SW1
Y Plate
X Plate
Electrode
XR
Resistor -Y
XR
Resistor -X
瑞佑科技
YD
SW3
GND
图 6-17 : 触控屏幕的控制开关
对使用者而言,应用触控屏幕的功能只需连接 XL 、XR 、YU 和 YD 等四条信号线到 RA8806 即可。系
统就能不断监测,直到触控的事件(touch event )发生为止。当触控事件发生时,在屏幕电阻上所产
生的分压将决定触控的所在位置。在 XY 的坐标值被传回系统(RA8806 )并个别储存在特定的缓存器
后,触控屏幕控制器(touch panel controller )将发出一中断告知微处理机(MPU )。
RAiO TECHNOLOGY INC. 47/189 www.raio.com.tw
Version 1.3
VDD
VDD
Touch Panel
Touch Panel
RA8806
RA8806
X1
X1
X1
X2
X2
X2
Y1
Y1
Y1
Y2
Y2
Y2
39Kohm
39Kohm
0.01μ F x 4
0.01μ F x 4
Touch Panel
XL
XL
XL
XR
XR
XR
YU
YU
YU
YD
YD
YD
图 6-18 : RA8806 触控屏幕电路
在触控屏幕功能的应用上,RA8806 提供两种操作模式,分别是「手动模式」和「自动模式」。如下
表:
表 6-10
RA8806
双图层 文字/图形
LCD
控制器
Operation
mode
Event
detection
说 明
Auto Interrupt 当触控事件发生时,读回对应的 XY 坐标值。
Interrupt 当触控事件发生时,读回对应的 XY 坐标值。
Manual
Polling 持续轮询触控事件,并读回对应的 XY 坐标值。
瑞佑科技
RAiO TECHNOLOGY INC. 48/189 www.raio.com.tw
Version 1.3
自动模式
6-4-1
自动模式是触控屏幕功能的应用当中最简单的。其原理与相关作法,请参考下列之流程图( Flow
chart)。
(1)
流程图
:
Start
RA8806
双图层 文字/图形
LCD
控制器
Enable Touch Panel
( REG[C0h] B7 = 1 )
Set Auto Mode
( REG[C4h] B7 = 0 )
Enable TP INT Mask
( REG[0Fh] B4 = 1 )
Ext. INT Event
Other Functions
图 6-19 : 触控屏幕「自动模式」应用之流程图
( REG[0Fh] B0 = ? )
REG[C2h], REG[C3h] )
Clear TP INT Status
( REG[0Fh] B0 = 0 )
ISR Termination
ISR
Check INT Status
1
Read X, Y-axis
( Read REG[C1h],
Execute Function
0
瑞佑科技
自动模式应用之相关缓存器如 表 6-11 。
表 6-11
Reg. Bit_Num
说 明 缓存器编号
TPCR1 Bit 7 触控屏幕功能的致能位。 REG[C0h]
TPCR2 Bit 7 用来选择「手动模式」或「自动模式」。 REG[C4h]
Bit 4 触控屏幕硬件中断的致能位。
INTR
REG[0Fh]
Bit 0 触控事件之状态位。
TPXR Bit [7:0] 触控屏幕 X 轴数据高字节 Bit[9:2]。 REG[C1h]
TPYR Bit [7:0] 触控屏幕 Y 轴数据高字节 Bit[9:2]。 REG[C2h]
Bit [3:2] 触控屏幕 Y 轴数据低二位 Bit[1:0]。
TPZR
REG[C3h]
Bit [1:0] 触控屏幕 X 轴数据低二位 Bit[1:0]。
RAiO TECHNOLOGY INC. 49/189 www.raio.com.tw
Version 1.3
(2)
范例程序
:
:
Execute other function // Jump to ISR when interrupt
:
:
Int EXT_INT_Service_Routine // ISR entry
{
LCD_CmdWrite ( INTR ); // Check INT status
INT_Sta = LCD_DataRead ( );
If ( INT_Sta & 0x01 ) // Check If TP interrupt
{
LCD_CmdWrite(TPXR);
X1 = LCD_DataRead( ); // MSB of X
LCD_CmdWrite(TPYR);
Y1 = LCD_DataRead( ); // MSB of Y
LCD_CmdWrite(TPZR);
X2 = LCD_DataRead( ) & 0x03; // LSB two Bits of X
LCD_CmdWrite(TPZR);
Y2 = LCD_DataRead( ) & 0x0C; // Least two Bits of Y
:
:
:
LCD_CmdWrite ( INTR ); // Clear Touch Panel status
temp = LCD_DataRead ( ) & 0xfe;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
Else if (INT_Sta & 0x02) // Check if Key-Scan interrupt
{
:
:
}
Else if (INT_Sta & 0x04) // Check if Wakeup interrupt
{
:
:
}
}
:
Unsigned char X1,X2,Y1,Y2;
Touch_Panel_Enable ( ); // Set TPCR1 Bit-7 to 1
TP_Auto_Enable ( ); // Set TPCR2 Bit-7 to 0
TP_INT_Mask_Enable ( ); // Set INTR Bit-4 to 1
:
Execute corresponding function
双图层 文字/图形
RA8806
LCD
控制器
瑞佑科技
RAiO TECHNOLOGY INC. 50/189 www.raio.com.tw
Version 1.3
手动模式
6-4-2
所谓「手动模式」是指从「侦测触控事件」到「闩锁 X data 与 Y data 」以及「读出 XY 坐标值」
的整个过程,都是由程序设计师以手动操作方式来完成。使用此一模式的优点在于,它给予程序
设计师更弹性的应用空间。换句话说,在手动模式下,所有触控屏幕功能相关的缓存器都必须由
程序设计师来设定,以软件(程序)控制的方法来实现触控屏幕应有之功能。
另外,根据不同的设计,使用者可以「外部中断告知模式」或「持续轮询模式」来侦测触控事
件,其中之差异将陆续加以说明。
6-4-2-1
在此一模式下,触控事件的侦测几乎和「自动模式」相同。其操作步骤如下所示:
1. 致能触控屏幕功能。
外部中断模式
RA8806
双图层 文字/图形
LCD
控制器
2. 切换触控屏幕的操作模式为「手动模式」。
3. 切换触控屏幕的相位为「等待触控事件发生」。
4. 当外部中断发生时,检查是否为触控事件所产生的中断。
5. 若是触控事件,则切换触控屏幕的相位为「闩锁 X data」(亦即设定缓存器 TPCR2[1:0]
为 10b),并等待足够长的时间,使 X data 能稳定地储存在缓存器 TPXR 和 TPZR。
6. 切换触控屏幕的相位为「闩锁 Y data」(亦即设定缓存器 TPCR2[1:0] 为 11b),并等待
足够长的时间,使 Y data 能稳定地储存在缓存器 TPYR 和 TPZR。
7. 从 TPXR、 TPYR 和 TPZR 读回 XY 坐标值,并清除中断的状态值。
有关「外部中断模式」之缓存器列表说明如下:
表 6-12
Reg. Bit_Num
TPCR1 Bit 7 触控屏幕功能的致能位。 REG[C0h]
Bit 7 用来选择「手动模式」或「自动模式」。
TPCR2
Bit [1:0] 触控屏幕手动模式之选择位。
说 明 缓存器编号
REG[C4h]
瑞佑科技
Bit 4 触控屏幕硬件中断的致能位。
INTR
Bit 0 触控事件之状态位。
TPXR Bit [7:0] 触控屏幕 X 轴数据高字节 Bit[9:2] 。 REG[C1h]
TPYR Bit [7:0] 触控屏幕 Y 轴数据高字节 Bit[9:2] 。 REG[C2h]
Bit [3:2] 触控屏幕 Y 轴数据低二位 Bit[1:0] 。
TPZR
Bit [1:0] 触控屏幕 X 轴数据低二位 Bit[1:0] 。
RAiO TECHNOLOGY INC. 51/189 www.raio.com.tw
REG[0Fh]
REG[C3h]
Version 1.3
应用外部中断模式的流程图与范例程序如下所示。
流程图
(1)
:
Start
RA8806
双图层 文字/图形
LCD
控制器
Enable Touch Panel
( REG[C0h] B7 = 1 )
Set Manual Mode
( REG[C4h] B7 = 1 )
Enable TP INT Mask
( REG[0Fh] B4 = 1 )
Wait for TP event Mode
( REG[C4h][1:0] = 01 )
Ext. INT Event
Other Functions
ISR
Check INT Status
( REG[0Fh] B0 = ? )
1
Latch X Data
( REG[C4h][1:0] = 10 )
Latch Y Data
( REG[C4h][1:0] = 11 )
Read X, Y-axis
( Read REG[C1h],
REG[C2h], REG[C3h] )
Execute Function
Clear TP INT Status
( REG[0Fh] B0 = 0 )
0
ISR Termination
图 6-20 : 触控屏幕之手动模式流程图
瑞佑科技
RAiO TECHNOLOGY INC. 52/189 www.raio.com.tw
Version 1.3
(2)
范例程序
Unsigned char X1,X2,Y1,Y2;
Touch_Panel_Enable ( ); // Set TPCR1 Bit-7 to 1
TP_Manual_Enable ( ); // Set TPCR2 Bit-7 to 1
TP_INT_Mask_Enable ( ); // Set INTR Bit-4 to 1
Switch_Wait_TP_Event( ); // Set TPCR2[1:0] to 01b
:
:
Execute other function // Jump to ISR when interrupt
:
:
Int EXT_INT_Service_Routine // ISR entry
{
LCD_CmdWrite ( INTR ); // Check INT status
INT_Sta = LCD_DataRead ( );
If ( INT_Sta & 0x01) // Check If TP interrupt
{
Switch_Latch_X_data( ); // Set TPCR2[1:0] to 10b
Delay_Time( ); // Delay enough time for X data stable
Switch_Latch_Y_data( ); // Set TPCR2[1:0] to 11b
Delay_Time( ); // Delay enough time for Y data stable
LCD_CmdWrite(TPXR);
X1 = LCD_DataRead( ); // MSB of X
LCD_CmdWrite(TPYR);
Y1 = LCD_DataRead( ); // MSB of Y
LCD_CmdWrite(TPZR);
X2 = LCD_DataRead( ) & 0x03; // LSB two Bits of X
LCD_CmdWrite(TPZR);
Y2 = LCD_DataRead( ) & 0x0C; // LSB two Bits of Y
:
:
:
LCD_CmdWrite ( INTR ); // Clear Touch Panel status
temp = LCD_DataRead ( ) & 0xfe;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
Else if (INT_Sta & 0x02) // Check if Key-Scan interrupt
{
:
:
}
Else if (INT_Sta & 0x04) // Check if Wakeup interrupt
{
:
:
}
}
:
:
Execute corresponding function
双图层 文字/图形
RA8806
LCD
控制器
瑞佑科技
RAiO TECHNOLOGY INC. 53/189 www.raio.com.tw
Version 1.3
RA8806
双图层 文字/图形
LCD
控制器
6-4-2-2
在轮询模式
bounce )的时间,以及栓锁(latch )之后的取样时间,使用者运用此一模式在实际的应用上将有
更多的弹性。此一模式之操作步骤如下:
轮询模式
1. 致能触控屏幕功能。
2. 切换触控屏幕的操作模式为「手动模式」。
3. 切换触控屏幕的相位为「等待触控事件发生」。
4. 从状态缓存器读取触控事件状态值,检查是否已发生触控事件。
5. 当触控事件发生时,且确认其为「有效」的事件后,即切换触控屏幕的相位为「栓锁 X
data」(亦即设定缓存器 TPCR2[1:0]为 10b),并等待足够长的时间,使 X data 能稳定
地储存在缓存器 TPXR 和 TPZR。
6. 切换触控屏幕的相位为「栓锁 Y data」(亦即设定缓存器 TPCR2[1:0] 为 11b),并等待
足够长的时间,使 Y data 能稳定地储存在缓存器 TPYR 和 TPZR。
7. 从 TPXR、 TPYR 和 TPZR 读回 XY 坐标值,并清除中断的状态值。
(Polling Mode )模式下,使用者需要去决定触控事件之后「消除机械弹跳」(de-
关于此一模式的缓存器设定,表列说明如下:
表 6-13
Reg. Bit_Num 说 明 缓存器编号
TPCR1 Bit 7 触控屏幕功能的致能位。 REG[C0h]
TPCR2
INTR
TPXR Bit [7:0] 触控屏幕 X 轴数据高字节 Bit[9:2] 。 REG[C1h]
TPYR Bit [7:0] 触控屏幕 Y 轴数据高字节 Bit[9:2] 。 REG[C2h]
TPZR
为了侦测触控事件之发生,程序设计师可以去检查缓存器 INTR 的位 3 或位 0,其中之差异,说明
Bit 7 用来选择「手动模式」或「自动模式」。
Bit [1:0] 触控屏幕手动模式之选择位。
触控事件之侦测位(仅用于触控屏幕下之手动模
Bit 3
式)。
Bit 0 触控事件之状态位。
Bit [3:2] 触控屏幕 Y 轴数据低二位 Bit[1:0] 。
Bit [1:0] 触控屏幕 X 轴数据低二位 Bit[1:0] 。
REG[C4h]
REG[0Fh]
REG[C3h]
瑞佑科技
如下:
1. 缓存器 INTR 的位 3「实时反应」了目前的触控状态。当触控事件发生时,此位是 1;反
之,当无触控事件发生时,此位是 0 ,而且此位是只读(read only )的,通常使用于「轮
询模式」。
2. 缓存器 INTR 的位 0 则是记录了触控的状态。当触控事件发生时,此位是 1 ,但当无触控
RAiO TECHNOLOGY INC. 54/189 www.raio.com.tw
Version 1.3
事件发生时,它却不会被自动清除为 0,必须由程序设计师来将它清除。此位通常使用于
「外部中断模式」。
值得注意的是,缓存器 INTR 的位 3 是 ADC 电路的直接输出,一旦有屏幕被碰触,位 3 的状态将
实时被反应出来。当此一碰触状态未达稳定时,需要「消除机械弹跳」(de-bounced )来确保此
一碰触为「有效的触控事件」。因此,此一位只有在手动模式才是有作用的。当 RA8806 设定为
「自动模式」时,触控事件将自动被侦测,并由系统来检查是否为有效事件,只有是有效的触控
事件,中断才会产生。
应用轮询模式的流程图与范例程序如下所示。
(1)
流程图
:
RA8806
双图层 文字/图形
LCD
控制器
Enable Touch Panel
( REG[C0h] B7 = 1 )
Set Auto Mode
( REG[C4h] B7 = 1 )
Wait for TP event Mode
( REG[C4h][1:0] = 01 )
0
Check TP Event
( REG[0Fh] B3 = ? )
Check TP Event
100 times ?
Start
1
Latch X Data
( REG[C4h][1:0] = 10 )
Delay enough time
Latch Y Data
( REG[C4h][1:0] = 11 )
Delay enough time
Read X, Y-axis
( Read REG[C1h],
REG[C2h], REG[C3h] )
valid
Execute Function
invalid
Clear TP INT Status
( REG[0Fh] B0 = 0 )
瑞佑科技
Other Function
图 6-21 : 触控屏幕轮询模式之流程图
RAiO TECHNOLOGY INC. 55/189 www.raio.com.tw
Version 1.3
(2)
范例程序
Touch_Panel_Enable ( ); // Set REG[C0h]. Bit-7 = 1
TP_Manual_Enable ( ); // Set REG[C4h]. Bit-7 = 1
Switch_Wait_TP_Event( ); // Set REG[C4h] Bit[1:0] = 01
Touch_Sta_Valid = 0; // Initial Touch state
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead ( );
If ( INT_Sta & 0x08 ) // Check INTR.Bit-3
{
for ( count = 0 ; count < 100 ; count++ ) // Check 100 times
{
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead( );
if (INT_Sta == 0) // When no touch
{
Touch_Sta_Valid = 0; // Touch is invalid
break;
}
if ( count == 99 ) // When count 100 times, touch is
Touch_Sta_Valid = 1; //valid
}
if (Touch_Sta_Valid )
{
Switch_Latch_X_data( ); // Set REG[C4h][1:0] = 10
Delay_Time( ); // Delay enough time
Switch_Latch_Y_data( ); // Set REG[C4h][1:0] = 11
Delay_Time( ); // Delay enough time
LCD_CmdWrite(TPXR);
X1 = LCD_DataRead( ); // Read high byte of X-axis
LCD_CmdWrite(TPYR);
Y1 = LCD_DataRead( ); // Read high byte of Y-axis
LCD_CmdWrite(TPZR);
X2 = LCD_DataRead( ) & 0x03; // Read Least two Bits of X-axis
LCD_CmdWrite(TPZR);
Y2 = LCD_DataRead( ) & 0x0C; // Read Least two Bits of Y-axis
:
:
LCD_CmdWrite ( INTR ); // Clear REG[0Fh]. Bit-0
temp = LCD_DataRead ( ) & 0xfe;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
}
:
:
:
:
Execute corresponding function
Execute other function
双图层 文字/图形
RA8806
LCD
控制器
瑞佑科技
RAiO TECHNOLOGY INC. 56/189 www.raio.com.tw
Version 1.3
触控扫描取样时间参考表
6-4-3
在使用触控屏幕功能的自动模式时,为了 避免触控屏幕被接触的瞬间讯号还不 稳定,故需要延迟
一段取样时间來 等待讯号变稳定,而此处的触控扫瞄取样时间与触控扫瞄频率(ADC Clock )转
换速度 有相对的关系,我们建议当您在设定触控扫瞄频率(ADC Clock )转换速度 时,也请选择
适当的触控扫瞄取样时间,以避免触控扫瞄取样失败的情况。下表为触控扫瞄频率(ADC
Clock )转换速度 (REG[C0h] 的 Bit[2:0]) 与触控扫瞄取样时间 (REG [C0h] 的 Bit [6:4]) 的参考对照
表。
ADC Sampling Wait Time - REG[C0h] Bit[6:4]
表 6-13-A : 触控扫描取样时间参考表
RA8806
双图层 文字/图形
LCD
控制器
REG[C0h] [2:0]
SYSTEM_CLK
4M 6M 8M 10M 12M
000 000 000 000 000 000
001 000 000 000 000 000
010 000 000 000 000 000
011 001 001 000 000 000
100 010 010 001 001 001
101 011 011 010 010 010
110 100 100 011 011 011
111 101 101 100 100 100
瑞佑科技
RAiO TECHNOLOGY INC. 57/189 www.raio.com.tw
Version 1.3
6-5 键盘扫瞄功能
RA8806 内建一键盘扫瞄电路,使系统具备键盘(Keyboard )功能,它有助于整合具备键盘功能的应
用电路。如下 图 6-22 为一 8x8 键盘的基本应用电路。在此一设计当中,RA8806 已在按键状态输入
脚位 “KIN[7:0]” 内建「提升电阻」(pull-up resistors )。
RA8806
KIN0
KIN1
KIN2
KIN3
KIN4
KIN5
KIN6
KIN7
KOUT0
KOUT1
KOUT2
KOUT3
KOUT4
KOUT5
KOUT6
KOUT7
图 6-22 : 8x8 键盘的基本应用电路
RA8806
双图层 文字/图形
LCD
控制器
键盘扫瞄功能相关之缓存器为 KSCR 、KSDR 和 KSER 。在 RA8806 的设计,键盘扫瞄功能具有下列
之特色:
1. 支持 4x8 与 8x8 两种键盘模块。
2. 程序设计师可以自行设定取样次数( sampling times)与键盘扫瞄的频率。
3. 可调整长按键( long key-press)之时序。
4. 允许多重按键( Multi-Key)组合,最多同时允许三个按键组合。
5. 当系统在睡眠模式时,允许按键来唤醒( wake-up)系统。
表 6-14 为键盘矩阵中每个(短)按键的对应码( key
code),当有按键发生时(短按),按键的对
应码将被储存在缓存器 [A2h] 。至于长按键( long key-press)的对应码则请参考 表 6-15。
瑞佑科技
RAiO TECHNOLOGY INC. 58/189 www.raio.com.tw
Version 1.3
表 6-14 : 短按键的对应码(Normal Key )
ROW #
0 1 2 3 4 5 6 7
0
1
07h 06h 05h 04h 03h 02h 01h 00h
17h 16h 15h 14h 13h 12h 11h 10h
RA8806
双图层 文字/图形
LCD
控制器
2
3
COL #
4
5
6
7
表 6-15 : 长按键的对应码(Long Key )
ROW #
0 1 2 3 4 5 6 7
0
1
2
3
COL #
4
5
27h 26h 25h 24h 23h 22h 21h 20h
37h 36h 35h 34h 33h 32h 31h 30h
47h 46h 45h 44h 43h 42h 41h 40h
57h 56h 55h 54h 53h 52h 51h 50h
67h 66h 65h 64h 63h 62h 61h 60h
77h 76h 75h 74h 73h 72h 71h 70h
87h 86h 85h 84h 83h 82h 81h 80h
97h 96h 95h 94h 93h 92h 91h 90h
A7h A6h A5h A4h A3h A2h A1h A0h
B7h B6h B5h B4h B3h B2h B1h B0h
C7h C6h C5h C4h C3h C2h C1h C0h
D7h D6h D5h D4h D3h D2h D1h D0h
6
7
E7h E6h E5h E4h E3h E2h E1h E0h
F7h F6h F5h F4h F3h F2h F1h F0h
当应用多重组合按键时,所有按键的对应码将被储存在缓存器 KSDR0 、KSDR1 和 KSDR2 ,值得注
意的是,数个对应码储存在缓存器 KSDR 主要是以对应码值大小来排序,而与先后按键顺序无关,请
参考下列的范例:
假设先后按下三个键,其对应码分别为 0x44 、0x00 和 0x22 ,则缓存器 KSDR 所储存的内容如下:
KSDR0 = 0x00
KSDR1 = 0x22
KSDR2 = 0x44
按键的对应码都定义在缓存器 KSDR0 、KSDR1 和 KSDR2 ([A2h ~ A4h] )的说明当中。另外则针对
键盘扫瞄功能相关的缓存器,列表说明如下:
瑞佑科技
RAiO TECHNOLOGY INC. 59/189 www.raio.com.tw
Version 1.3
表 6-16
Reg. Bit_Num 说 明 缓存器编号
Bit 7 按键功能致能位。
Bit 6 选择键盘扫瞄矩阵。
RA8806
双图层 文字/图形
LCD
控制器
KSCR1
KSCR2
KSDR0
KSDR1
KSDR2
INTR
除此之外,当系统在睡眠模式时,RA8806 亦允许用按键来唤醒系统,换言之,当有任何按键状态发
生时,系统频率将开始起振,并确认唤醒事件是否有效。如果为有效的唤醒事件,系统将在两个
Frame 的时间之后点亮屏幕,而且系统亦将从睡眠模式回复到正常模式;假若并非为有效的唤醒事
件,则系统频率将被关闭,且系统仍处于睡眠模式。唤醒功能相关的设定如下表所示:
Bit [5:4] 键盘扫瞄 De-bounce 取样的次数。
Bit 3 长按键功能致能位。
Bit [2:0] 键盘扫瞄频率的设定。
Bit [3:2] 长按键时间的设定。
Bit [1:0] 告知几个按键被按到。
Bit [7:0] 按键的对应码。 REG[A2h ~ A4h]
Bit 5 键盘扫瞄(Key-Scan)中断的致能位。
Bit 1 键盘扫瞄中断状态位。
REG[A0h]
REG[A1h]
REG[0Fh]
表 6-17
Reg. Bit_Num 说 明 缓存器编号
KSCR2 Bit 7 键盘扫瞄唤醒功能的致能位。 REG[A1h]
Bit 6 唤醒(Wakeup)中断屏蔽的致能位。
INTR
Bit 2 唤醒中断状态位。
当启动( Enable)键盘扫瞄的功能之后,程序设计师可以使用两种方法来检查按键是否被按:
1
)软件检查的方式:
2
)硬件检查的方式:
值得注意的是,无论采用上述那一种方式,缓存器 INTR 的位 1 都将被设定为 1 ,因此程序设计师在
正确读回按键的对应码之后,必须将该位清除为 0 ,否则之后的按键将无法正常发出中断告知系统。
不断检查缓存器 INTR 的位 1 来得知是否有按键被按。
由外部中断的产生来得知有按键被按。
REG[0Fh]
瑞佑科技
RAiO TECHNOLOGY INC. 60/189 www.raio.com.tw
Version 1.3
应用键盘扫瞄功能的流程图与范例程序如下所示。
1. 软件检查的方式:
(1)
流程图
:
RA8806
双图层 文字/图形
LCD
控制器
瑞佑科技
图 6-23 : 键盘扫瞄功能的流程图(1 )
RAiO TECHNOLOGY INC. 61/189 www.raio.com.tw
Version 1.3
(2)
范例程序
Key-Scan_Enable ( ); // KSCR Bit-7 is set to 1
while (1)
{
LCD_CmdWrite ( INTR ); // Check Key-Scan status
KS_Sta = LCD_DataRead ( );
KS_Sta = KS_Sta & 0x02;
If ( KS_Sta )
{
LCD_CmdWrite ( INTR ); // Clear Key-Scan status
temp = LCD_DataRead ( );
temp = temp & 0xfd;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
}
:
LCD_CmdWrite ( KSCR2 ); // Read Key Press Number
KeyNum = LCD_DataRead ( );
Switch(KeyNum)
{
Case 0:
// Key release
Case 1:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
// Do corresponding event
Case 2:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 ); // Read Key Code1
KeyCode2 = LCD_DataRead ( );
// Do corresponding event
Case 3:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 ); // Read Key Code1
KeyCode2 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR2 ); // Read Key Code2
KeyCode3 = LCD_DataRead ( );
// Do corresponding event
}
双图层 文字/图形
RA8806
LCD
控制器
瑞佑科技
RAiO TECHNOLOGY INC. 62/189 www.raio.com.tw
Version 1.3
2. 硬件检查的方式 :
(1)
流程图
:
RA8806
双图层 文字/图形
LCD
控制器
图 6-24 : 键盘扫瞄功能的流程图(2 )
瑞佑科技
RAiO TECHNOLOGY INC. 63/189 www.raio.com.tw
Version 1.3
(2)
范例程序
Key-Scan_Enable ( ); // Set Reg. KSCR1 Bit-7=1
Key-Scan_INT_Mask_Enable ( ); // Set Reg. INTR Bit-5=1
: :
Execute other functions // Jump to ISR when external interrupt
:
Int EXT_INT_Service_Routine // ISR entry
{
LCD_CmdWrite ( INTR ); // Check INT status
INT_Sta = LCD_DataRead ( );
If ( INT_Sta & 0x02 ) // Check if Key-Scan interrupt
{
}
LCD_CmdWrite ( INTR ); // Clear Key-Scan status
temp = LCD_DataRead ( );
temp = temp & 0xfd;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
else if (INT_Sta & 0x01) // Check if Touch Panel interrupt
{
:
}
else if (INT_Sta & 0x04) // Check if Wakeup interrupt
{
:
}
}
:
LCD_CmdWrite ( KSCR2 ); // Read Key Press Number
KeyNum = LCD_DataRead ( );
Switch(KeyNum)
{
Case 0:
// Key release
Case 1:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
// Do corresponding event
Case 2:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 ); // Read Key Code1
KeyCode2 = LCD_DataRead ( );
// Do corresponding event
Case 3:
LCD_CmdWrite ( KSDR0 ); // Read Key Code0
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 ); // Read Key Code1
KeyCode2 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR2 ); // Read Key Code2
KeyCode3 = LCD_DataRead ( );
// Do corresponding event
双图层 文字/图形
RA8806
LCD
控制器
瑞佑科技
RAiO TECHNOLOGY INC. 64/189 www.raio.com.tw
Version 1.3
6-6 系统时序和重置
振荡电路
6-6-1
RA8806 的系统时序可由内部振荡电路或外接时序两种方式提供,两者间的选择不需用额外的接
脚去设定。RA8806 内建有晶体振荡电路,它结合外部在XG 和 XD 两脚间的石英振荡器
(4MHz~12MHz )和两个电容产生系统时序,图 6-25 是外接石英振荡电路和外接时序电路的接
法。
RA8806
RA8806
双图层 文字/图形
RA8806
LCD
控制器
15pF
15pF
X’tal
(4~12MHz)
XG
XD
CLK
(4~12MHz)
XG
XD
图 6-25 : 系统时序电路
外部时序
6-6-2
RA8806 也可以接受外部时序来作为其系统时序,此时外部时序直接接到 XG 脚即可,而 XD 就必
须保持悬空。
EXT¢0
tRCL
tWH
tWL
tC
tFCL
图 6-26 : 外部时序
表 6-18 : 外部时序参数 Ta = –20 to 75℃
Signal Symbol Parameter
External clock rise time
External clock fall time
External clock
HIGH-level pulse width
External clock
LOW-level pulse width
External clock period 66.6 — 83.3 — ns
C
EXT Φ 0
t
RCL
t
FCL
tWH
tWL
t
注 :
1.
2.
瑞佑科技
RA iO TECHNOLOGY INC. 65/189 www.raio.com.tw
Min. Max. Min. Max.
— 10 — 10 ns
— 10 — 10 ns
Note 1. Note 2. Note 1. Note 2. ns
Note 1. Note 2. Note 1. Note 2. ns
475
) t t t( < × − −
1000
525
) t t t( > × − −
1000
t, t
WL WH FCL RCL C
t, t
WL WH FCL RCL C
VDD = 5V VDD = 3.3V
Unit Condition
Version 1.3
重置
6-6-3
RA8806 供电后要不少于 1024*tc 的时间来进行重置(Reset ),以 6MHz 的系统频率来说,其重
置脉冲宽度就要不少于 170.7µs 。为了让 RA8806 不出现误动作,我们建议 RA8806 供电后一定
要进行重置动作。
RA8806
双图层 文字/图形
LCD
控制器
From MCU
0.1uF
RA8806
ZRST
SW
(Option)
(1) (2)
VDD
100KΩ
1uF
RA8806
ZRST
图 6-27: 重置脚 ZRST 的接法范例
图 6-27 是一重置电路接法范例,其重置动作可以用MPU 去控制如 图 6-27 的(1 ),也可由一RC
电路来产生如 图 6-27 的(2 )。
RA8806 在重置过程中不能接受MPU 的任何指令,所以应在重置后才可对内部缓存器进行初
始化
设定。而在重置过程中信号脚XD 、LP 和FR 都会停止输出信号。在VDD 稳定同时重置脚 ”ZRST”
在上升沿之后最少延迟 1ms 的时间再进行其它操作,这样可确保系统的稳定性,详细的参数要求
可参考 图 6-28 。
0.8VDD
VDD
ZRST
t
RS
0.8VDD
0.2VDD
RS
RH
RST
*tCis the period of system clock,
for example: 10MHz, t
t
RST
= 100ns
C
图 6-28: 重置时序参数
t
RH
Reset Complete
Unit Min. Typ. Max.
ms 1 -- -- Reset setup time t
ms 1 -- -- Reset hold time t
1024 -- -- Reset active time t
(*)
t
c
瑞佑科技
RAiO TECHNOLOGY INC. 66/189 www.raio.com.tw
Version 1.3
6-7 电源
电源结构
6-7-1
RA8806 的电源结构如 图 6-29 所示。 VDDP、 GNDP是 I/O的电源电压, AVDD、 AGND是内部
ADC转换器使用的电压。其内建有 5V到 3V的 DC/DC电路,可以直接应用到 5V或 3V的系统而不
需要任何外部的转换。
RA8806
RA8806
双图层 文字/图形
LCD
控制器
VDDP
VDD
VDDH
AVDD
Core
5V Æ 3V
ADC
GNDP
GND
AGND
图 6-29: 电源结构
6-7-2 3V
电源应用电路
当RA8806 应用到 3V 的系统上时,其功耗会更少,其电路接法建议如 图 6-30 。此时VDDP 、
VDD 和AVDD 都必须接到 3V 的电源上,而由于不使用内部DC/DC 电路,所以VDDH 保持浮接即
可。
MCU3.3V
3.3V
RA8806
瑞佑科技
VDD
GND
I/O
0.47uH
(Option)
0.47uH
(Option)
10u 0.1u 0.1u 0.1u
VDDP
VDD
VDDH
AVDD
GNDP
GND
AGND
MCU I/F
图 6-30: 3V 电源应用电路
RAiO TECHNOLOGY INC. 67/189 www.raio.com.tw
Version 1.3
RA8806
双图层 文字/图形
LCD
控制器
6-7-3 5V
电源应用电路
当RA8806 工作于 5V 的系统时,其电路接法建议如 图 6-31 。此时 5V 电源从VDDH 输入,经内
部 5V-to-3V DC/DC 电路转换为 3V ,从脚VDD 输出并也提供给内部电路使用。同时为了增加
VDD 的稳定性,必须外加一 1µF 和 0.1µF 的电容 。
另外要注意的是,内部 DC-to-DC 电路会增加功耗,所以当 RA8806 进入睡眠模式时其耗电流会
保持在 20µA 左右。
RA8806
VDDP
VDD
VDDH
AVDD
GNDP
GND
AGND
MCU I/F
VDD
GND
MCU5V
I/O
5V
~3V
0.47uH
(Option)
10u 0.1u 1u 0.1u 0.1u
图 6-31 : 5V 电源应用电路
瑞佑科技
RAiO TECHNOLOGY INC. 68/189 www.raio.com.tw
Version 1.3
睡眠模式
6-7-4
RA8806 提供了两种操作模式:正常模式(Normal Mode )和睡眠模式(Sleep Mode )。请参考
第 5 章 ”缓存器描述” 中的对缓存器 WLCR 的说明。进入睡眠模式后,RA8806 会关掉系统时序以
最大限度地减少功耗,此时除了状态缓存器可以读取其数据外,其它的缓存器都不允许,同时除
了 REG[00H] 的 Bit-7 外其它的缓存器都不允许对其写入数据。而进入睡眠模式后,RA8806 可以
通过以下三种方法来唤醒:
1. 写入 REG[00h] Bit-7 = 0,此时会回到正常模式。
2. Touch Panel 发生被触摸事件。
3. Key Scan 被按下时。
而为了让 RA8806 退去睡眠模式返回到正常模式后避免误动作的发生,必须在收到唤醒指令后必
须延时足够的时间(大概 1,000 个系统时序周期)才可对它进行其它操作。
另外,在 MPU 发指令让 RA8806 进入睡眠模式到离开睡眠模式的时间内,RA8806 是不能接受任
RA8806
双图层 文字/图形
LCD
控制器
何指令,所以要向其发指令时要避免这种情况的发生。例如,RA8806 收到进入睡眠模式的指令
进入睡眠,当 MPU 收到一个外部中断,进入中断服务程序(ISR ),而此时正处于睡眠模式下的
RA8806 就不能正确接收和识别 MPU 发来的指令。在硬件设计方面,这种情况是不能避免的。因
为这外部中断是只针对 MPU 的,而并没有对 RA8806 有任何的操作,所以这情况出现的可能性
是不可忽略的。
所以,我们建议在 MPU 程序设计时,当给 RA8806 发进入睡眠模式指令之前先把 MPU 的中断响
应关闭,直到退去睡眠模式返回到正常模式后再打开 MPU 的中断响应。另外,因为在睡眠模式下
可以正常读取其状态缓存器,所以也可以在中断服务程序(ISR )中判断 RA8806 的状态。如果
检测到 RA8806 是处于睡眠状态,MPU 可以退去中断服务程序(ISR )不作任何操作,这可避免
RA8806 发生误动作。
表 6-19
Reg. Bit_Num
WLCR Bit 7
说 明 缓存器编号
电源模式选择 - 正常模式 或 睡眠
REG[00h]
模式。
瑞佑科技
RAiO TECHNOLOGY INC. 69/189 www.raio.com.tw
Version 1.3
6-8 中断与忙碌
RA8806 提供有一中断信号输出脚(INT )给 MPU 去响应 RA8806 的中断事件,也提供了一忙碌
(Busy )信号输出脚给 MPU 去判断 RA8806 是否处于忙碌状态。这两个信号都可以通过相关缓存器
的设置来改变其是高电位触发还是低电位触发。
中断(
6-8-1
RA8806 的中断信号会在以下事件发生时产生:
这些中断事件的屏蔽(Disable )或致能(Enable )可以通过对缓存器 REG[0Fh] 的设置来控制。
另外,RA8806 还提供了软件中断功能,当用户的系统不能支持硬件中断信号时,可以通过询问
Interrupt)
Touch Panel 发生被触摸事件时
Key-Scan 被按下时
睡眠模式下被唤醒时
RA8806
双图层 文字/图形
LCD
控制器
的方式进行软件中断。要进行硬件中断时,用户必须要把中断屏蔽位(Interrupt Mask )设为 1
(请参考缓存器 ”INTR” 的说明),其进行步骤如下:
RA8806 发出中断信号给 MPU 。
MPU 收到中断信号完成电路转换后,其程序计数器(PC )会跳到中断服务程序的入
口。
此时 RA8806 的中断标志位被置 “1” (REG[0Fh] Bit[2:0] )。例如,当 Key-Scan 中断
产生,其 Key-Scan 中断标志位就会被置 1 。
使用软件中断方式时,用户不须要任何外部设置,只要通过读取缓存器 INTR 的相关状态位就可
以检测中断事件是否发生。顺便提一下,中断屏蔽(interrupt mask )设置只能屏蔽硬件中断的产
生,但不能屏蔽缓存器 INTR 的相关状态。
瑞佑科技
RAiO TECHNOLOGY INC. 70/189 www.raio.com.tw
Version 1.3
例
-1:
图 6-32 是唤醒事件产生中断时中断信号INT 的时序,RA8806 提供了三种唤醒事件,具体请参考
第 6-7-4 节 “ 睡眠模式” 中的说明。
t
INTST
Wake-Up
Event
INT
图 6-32: 中断时序(1 )
t
= Clock Stable Time + 1024*t
INTST
C
RA8806
双图层 文字/图形
LCD
控制器
当用户的系统频率是 6MHz 时,其时序稳定时间(Clock Stable Time )大约为 3~3.5ms ,而 t
C
为 167ns 。
例
-2:
图 6-33 是 Key-Sc
an事件发生时中断信号INT的中断时序。
t
INTST
Key-Scan
Event
INT
图 6-33 : 中断时序(2 )
= De-bounce Time + t
t
INTST
CKEY
其中 “De-bounce Time” 可通过缓存器 REG[A0h] Bit[5:4] 来设置,而 t
是按键扫描周期,可通
CKEY
瑞佑科技
过缓存器 REG[A0h] Bit[2:0] 来设置。
要注意的是,因为其中断标志位不会自动清除,所以用户必须在进入中断程序后手动清为 ”0” 。
RAiO TECHNOLOGY INC. 71/189 www.raio.com.tw
Version 1.3
忙碌(
6-8-2
Busy)
RA8806 也提供一忙碌(BUSY )信号,当忙碌标志位为 “1” 时就意味着 RA8806 正处于忙碌状
态,而不能把数据写入显示内存(DDRAM )里。而其忙碌情况可分两种,一种是扫描忙碌
(Scan Busy ),另一种是内存写入忙碌(Memory Write Busy ),具体说明如下:
扫描忙碌(
Scan Busy):
在 LCD显示时,当 RA8806 的扫描电路对 DDRAM进行读取操作时,同时又有另外一数据被写入到
DDRAM,就会造成扫描电路读取的数据丢失。所以把当扫描电路在扫描时所引起的忙碌状态叫扫
描忙碌( Scan Busy)。图 6-34 是数据在扫描电路和 MPU存取周期的传输情况,图 6-35 和 图
6-15 一样都是反映 RA8806 扫描时的相关波形。这波形反映了 RA8806 对每根 COM线的扫描情
况。每根COM 线的扫描时间由空闲时间(Idle )和扫描时间(Scan time )两者组成,其中空闲时
间(Idle )可以通过缓存器ITCR 来设置,而扫描期间就是扫描忙碌。所以在扫描忙碌时写入数据
RA8806
双图层 文字/图形
LCD
控制器
就会造成数据丢失,但这样也并不会造成严重的错误,只会有显示残缺的现象。如果这种情况不
是太频繁发生的话,对显示来说也不会有太大的影响。
RA8806
Display
Data RAM
Memory-Write LCD-Scan
MCU
Interface
Controller
LCD
Driver
图 6-34 : Data 在 DDRAM 里的传输情况
XCLK
瑞佑科技
LP
ITCR
T_COM
COM_SCAN
图 6-35 : 每根 COM 线的扫描情况
RAiO TECHNOLOGY INC. 72/189 www.raio.com.tw
Version 1.3
RA8806
双图层 文字/图形
LCD
控制器
内存写入忙碌(
Memory Write Busy):
引起内存写入忙碌情况有两个:
1. 当 MPU 用文字模式写入数据时,字体大小不同的字型需求各自不同的足够的时间去写
入 DDRAM 里,在这段时间里 RA8806 是不能再往 DDRAM 里写数据的,此时正处于
内存写入忙碌状态。
2. 当 MPU 发指令( FNCR Bit-3 = 1)让 RA8806 执行清除屏幕功能时,这段时间里
RA8806 在清理 DDRAM 同时也会引起内存写入忙碌。
在内存写入忙碌时向 DDRAM 写入数据会造成显示数据的丢失。所以用户在以上两种情况下写入
显示数据时一定要检查忙碌状态。另外,RA8806 的忙碌信号 “BUSY” 和中断信号 “INT” 都可以设
置为高电位触发或低电位触发(请参考缓存器 ”MISC” 的说明)。
正常情况下,会把忙碌信号 “BUSY” 接到MPU 的输入脚上,用来在MPU 往RA8806 写入数据之前
对其忙碌状态进行监控,其具体时序如 图 6-36 所示。忙碌信号可以通过对缓存器REG [01h] Bit-
5 的设置来选择是高电平触发或是低电平触发。
RS, ZCS1
ZWR
DATA[7:0]
(Write)
BUSY
图 6-36 : BUSY 时序图
表 6-20 : BUSY 参考时序
Signal Symbol Parameter
t
BST
t
BUSY
Rating
Min Max
Unit Condition
瑞佑科技
System Clock:
8MHz
VDD: 5V
c = 125ns
t
BUSY
t
Busy Setup Time
BST
Half Size Font 150 -- ns
Full Size Font 250
Half Size Font -- 50*t cn s
t
Busy Active Time
BUSY
Full Size Font -- 100*t
cn s
RAiO TECHNOLOGY INC. 73/189 www.raio.com.tw
Version 1.3
6-9 脉宽调变( PWM)
RA8806 提供一个可调节的脉宽调变(PWM )输出给 LCD 进行对比度调节。其 PWM 的频率和工作
周期(Duty cycle )都可以通过相关缓存器的设置来调整。PWM 的输出驱动能力较其它输出信号为
大,大约是 4 倍于一般的输出脚的驱动能力。除此之外,如果 PWM 的功能被禁能,此脚位也可当成
一般的 IO 信号来使用,相关的功能设定,请参考以下的表格。
表 6-21
Reg. Bit_Num 说 明 缓存器编号
Bit 7 PWM 功能致能位。
PCR
Bit [3:0] PWM 来源频率的除频设定。
PDCR Bit [7:0] PWM 工作周期(Duty Cycle)选择。 REG[D1h]
下图是两个关于 PWM 输出的例子 :
RA8806
双图层 文字/图形
REG[D0h]
LCD
控制器
T
PWM
T
H TL
Example-1:
System Clock = 10Mhz,
Register PCR Bit[3:0] = 0001b Æ Clock Source = 10MHz/2 = 5MHz
= 256*(1/5MHz) = 51.2µs
T
PWM
Register PDCR Bit[7:0] = 0Fh Æ
= 16*(1/5MHz) = 3.2µs
T
H
T
= (256-16) * (1/ 5MHz) = 48µs
L
T
PWM
T
H TL
Example-2:
System Clock = 10Mhz,
Register PCR Bit[3:0] = 0010b Æ Clock Source = 10MHz/4 = 2.5MHz
= 256*(1/2.5MHz) = 102.4 µs
T
PWM
Register PDCR Bit[7:0] = 7Fh Æ
= 128*(1/2.5MHz) = 51.2µs
T
H
T
= (256-128) * (1/ 2.5MHz) = 51.2µs
L
图 6-37 : PWM_OUT 输出脉冲
瑞佑科技
RAiO TECHNOLOGY INC. 74/189 www.raio.com.tw
Version 1.3
图 6-38 是应用PWM 调节正极性的驱动电压VLCD 的应用电路。图 6-39 是应用PWM 调节负极性的驱
动电压VLCD 的应用电路。
RA8806
双图层 文字/图形
LCD
控制器
图 6-38 : PWM 控制正极性的 VLCD 的应用电路
瑞佑科技
图 6-39 : PWM 控制负极性的 VLCD 的应用电路
RAiO TECHNOLOGY INC. 75/189 www.raio.com.tw
Version 1.3
6-10 显示功能
RA8806
双图层 文字/图形
LCD
控制器
6-10-1
字符/图形模式
RA8806 支持两种自MPU 写入内存的模式,字符模式和图形模式,当设定图形模式时,数据是以
点阵的方式直接写入内存,而在字符模式下,写入的数据是以字码的形式被写入RA8806 ,而写入
的字码会再到CGROM 中读出相对的字型码而后写入内存。RA8806 内建的CGROM 提供两种不同
大小的字符 : 1 )是半型字(8x16 点),2 )是全型字(16x16 点),图 6-40 为字型的范例。
16X16 font 8X16 font 16X16 font 8X16 font
图 6-40 : 全型字与半型字
6-10-1-1
RA8806 图形模式是使用点阵方式来填数据到显示内存,图 6-41 为图形显示的例子。
RA8806 支持最大 320X240 的分辨率,因此它需要 9.6Kbyte( 320X240/8 = 9600)的显示内存来
储存每个画素的资料,图 6-42 显示了LCD 面板与显示内存间的对照方式
图形显示
1. Setup Register WLCR, TEXT_MD = 0
2. Write bit map to Display Data Memory directly.
图 6-41 : 图形模式
瑞佑科技
RAiO TECHNOLOGY INC. 76/189 www.raio.com.tw
Version 1.3
Segment
D7 D6 D5 D4 D3 D2 D1 D0
1 1 1 0 0 1 1 0
Display Data RAM Display On LCD
图 6-42 : LCD 面板与显示内存间的对照
RA8806 提供能将一笔数据填满整个显示内存的自动写入功能。首先,使用者把数据写入缓存器
PNTR,接着将自动写入功能启动(缓存器 FNCR 位 -3)。 RA8806 将把这笔资料在很短的时间
内填满显示内存。这个功能通常被使用于清除屏幕或是想要填满固定的数据或背景在屏幕上。
0 1 2 3 4 5 6 7 …..
RA8806
双图层 文字/图形
LCD
控制器
表 6-22
Reg. Bit_Num 说 明 缓存器编号
WLCR Bit 3 文字模式选择。 REG[00h]
6-10-1-2
RA8806 内
[F0h] bit[1:0] 来选择。依照着缓存器 [F0h] bit[1:0]的设定,相对应的区块将被选择。关于字型码的
对应位置,请参照 附录C。RA8806 也支持可以提供大部份Latin 字型码设定的ISO8859 字型码
(ISO
照表可以对应到ISO8859-1 ~ ISO8859-4 的字型码。
半型字
- International Organization for Standardization )。在此模式下,RA8806 内部的字型码对
Reg. Bit_Num 说 明 缓存器编号
建四个半型字的区块,每个区块包含了 00h ~ FFh 的 256 个字型,而且能用缓存器
表 6-23
Bit 7 ISO8859 模式。
瑞佑科技
FNCR
RAiO TECHNOLOGY INC. 77/189 www.raio.com.tw
Bit 2 ASCII 模式致能。
Bit [1:0] ASCII 区块选择。
REG[F0h]
Version 1.3
RA8806
双图层 文字/图形
LCD
控制器
6-10-1-3
RA8806 有三种形式的CGROM ,例:RA8806-S 、RA8806-T 和 RA8806-J 。RA8806-S 包含了标
准GB 字型码的简体字型;RA8806-T 则包含了标准BIG5 字型码的繁体字
JIS 第一及第二水平日文汉字。字码表请参照 附录 D 、 附录 E 和日文汉字字库表
(RA8806_DS_V12_Font_JIS.pdf)。
WLCR Bit 3 文字模式选择。 REG[00h]
RA8806 的中文显示方式是在文字模式,直接输入中文字码 (GB 或 BIG5 码 ) ,就可以在光标所在
位置显示中文,RA8806-S 接受的中文字码是 GB 码,RA8806-T 接受的中文字码是 BIG-5 码。因
为中文字码占两个 Byte ,所以如果 MPU 接口是 8-Bit ,则 MPU 必须分两次将中文字码(High Byte
& Low Byte) 写入 RA8806 ,而英文或数字码只占一个 Byte ,因此只要将内码一次写入 RA8806 既
可。例如使用 RA8806-T ,” 世” 的 BIG-5 码是 ”A540” ,MPU 直接将 ”A5” 及”40” 依序传给
全型字
Reg. Bit_Num
型;RA8806-J 则包含了
表 6-24
说 明 缓存器编号
RA8806-T ,就能在 LCD 屏的光标位置上秀出 ” 世” 的中文字。
如果是使用日文汉字版的 RA8806 ,也就是 RA8806-J ,那么必须将 JIS 码经过简易的换算再透过
MPU 传给 RA8806-J。首先将 JIS 码的 Hi-Byte 加上 80h; Low-Byte 码则判断是否大于等于
60h,如果是就加 40h,否则加 20h,产生的新码再分别由 MPU 传给 RA8806-J 就能秀出对应到
JIS 码的日文汉字。例如 JIS 码 ”3040” 是 ”粟 ” 字,换算的新码为 ”B060” ,将 ”B0” 及 ”60” 依序传
给 RA8806-J,就能秀出 ”粟 ” 的日文汉字。
RA8806-J的 Font ROM主要是参照类似 JIS Code的编码基准,但是如果使用者是要使用 Shift-J
码(简称S-JIS) 就必须透过另一个转换程序,先将S-JIS 码换成JIS 码。S-JIS 是日本计算机系统常
用的编码,因为它能容纳 全角及 半角拉丁字母、平假名、片假名、符号及 日语汉字。它被命名
为Shift_J
下图是 S-JIS 到 JIS 码及 JIS 码到 RA8806-J 需求码的转换流程,同时也将转换程序附上给使用者
参考。例如 ”粟” 字的 S-JIS 码是 ”88BE” ,换算成 JIS 码为 “3040” ,同上所述 JIS 转成的新码
为 ”B060” ,将 ”B0” 及”60” 依序传给 RA8806-J ,就能秀出 ” 粟” 的日文汉字。再例如 ” 瓯” 字的 S-
IS的原因,是它在放置全角字符时,要避开原本在 0xA1 ~ 0xDF放置的半角假名字符。
IS
瑞佑科技
JIS 码是 ”E14D” ,换算成 JIS 码为 “612E” ,同上所述 JIS 转成的新码为 ”E14E” ,将 ”E1” 及”4E”
依序传给 RA8806-J ,就能秀出 ” 瓯” 的日文汉字。
RAiO TECHNOLOGY INC. 78/189 www.raio.com.tw