RA8806

RAiO
RA8806
雙圖層 文字/圖形
LCD 控制器
規格書
Version 1.3
August 24, 2009
RAiO Technology Inc.
©Copyright RAiO Technology Inc. 2008, 2009
瑞佑科技 RAiO TECHNOLOGY INC.
1/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
改 版 說 明
版
本
1.0
日
期
March 31, 2008
說
明
初版發行
1. 新增第 6-4-3 節觸控掃描取樣時間參考表
2. 更新第 6-15 節消除雪花模式的說明
1.1
June 20, 2008
3. 更新表 8-2 DC 電氣特性
4. 新增第 8-3 節驅動介面信號的時序
5. 更新附錄 D (GB Code)及附錄 E (BIG - 5)
1. 規格書及字碼表檔案切割,原附錄 C(ASCII)、D(GB
1.11
August 22, 2008
Code)、E (BIG - 5)變更為字碼表簡體版及繁體版
1. 增加日文漢字版本(RA8806-J) 的說明及字碼表 JIS Code
1.2
March 2, 2009
2. 更新圖 6-38、圖 6-39 PWM 控制 VLCD 的應用電路
3. 更新第 6-10-1-3 節全型字的中、日文漢字使用說明
1. 更新表 5-2 暫存器總表
1.3
August 24, 2009
2. 更新第 6-5 節鍵盤掃瞄功能
3. 更新表 8-2 DC 電性特性
瑞佑科技 RAiO TECHNOLOGY INC.
2/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
章節
1.
2.
3.
4.
內
容
頁數
簡介 ............................................................................................................ 6
特性 ............................................................................................................ 7
系統方塊圖 ................................................................................................. 8
腳位定義 ..................................................................................................... 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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-13-3 游標閃爍 ..............................................................................................................................105
6-13-4 游標的寬度和高度................................................................................................................105
6-14 擴展模式 ........................................................................................................... 106
6-15 消除雪花模式.................................................................................................... 109
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
瑞佑科技 RAiO TECHNOLOGY INC.
5/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 個半型字
‹ 適當的中斷/輪詢機制提供給觸控掃瞄、鍵盤掃瞄、電源管理等程式的撰寫
‹ 支援文字對齊功能
‹ 支援 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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
3. 系統方塊圖
圖 3-1 為RA8806 內部區塊表示圖,RA8806 包含了二個顯示記憶體(DDRAM)、一個字型創造記憶體
(CGRAM)、字型ROM(Font ROM)、暫存器區塊、類比轉數位轉換器(ADC)、脈波寬度調變
(PWM),LCD驅動介面、微控制器控制介面(MPU),圖 3-2 為RA8806 系統應用方塊圖。
KIN[7:0]
KOUT[7:0]
PWM_OUT
Display Data RAM
(9.6KByte x 2)
Smart
Key-Scan
Controller
DDRAM1
DDRAM2
LP
FR
YD
ZDOFF
XCK
Display
Timing
PWM
Registers
Controller
Generator
LD[7:0]
XG
Oscillator
512Byte
MCU Interface
System Configure
MI
DW
DB
CLK_OUT
CGRAM
ZCS1
CS2
ZWR
ZRD
RS
INT
BUSY
DATA[7:0]
ZRST
XD
512KByte
Font
ROM
Touch Panel
Controller
X1
X2
Y1
Y2
圖 3-1 : RA8806 內部方塊圖
LCD Driver
LCD Panel
MPU
RA8806
Booster
(Contrast Adj.)
LCD Driver
8x8
Key Pad
Touch
Panel
H/W
Set Up
X’tal
圖 3-2 : RA8806 系統方塊圖
瑞佑科技 RAiO TECHNOLOGY INC.
8/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
4. 腳位定義
4-1
MPU 介面
腳位名稱
I/O
說
明
資料匯流排(Data Bus)
DATA[7:0]
I/O
負責 RA8806 及 微處理器(MPU)之間做資料傳送與接收。
當於使用 4-bits 資料匯流排模式下,其高位元組 DATA[7:4] 為輸出訊號,
應使其保持為浮接(floating)。
ZRD
(EN)
致能/讀取控制訊號(Enable/Read Enable)
I
當 MPU 為 8080 系列時,此腳為資料讀取訊號(ZRD),於低電位動作。
當 MPU 為 6800 系列時,此腳為致能訊號(EN),於高電位動作。
寫入/讀-寫控制訊號(Write/Read-Write)
ZWR
(ZRW)
當 MPU 為 8080 系列時,此腳為資料寫入訊號(ZWR),於低電位動
I
作。
當 MPU 為 6800 系列時,此腳為資料讀取/寫入訊號(ZRW),於高電位
時表示讀取動作,於低電位時表示寫入動作。
指令/資料選擇控制訊號(Command / Data Select Input)
此腳位為用於區別指令/資料週期。當 RS = 0 時,RA8806 為資料讀取/寫
入週期。當 RS = 1 時,RA8806 為狀態(status)讀取/指令寫入週期,當
於 8080 介面時,通常此腳位和 A0 相接。
RS
ZCS1
CS2
I
RS
ZWR
ZRD
Access Cycle
0
0
1
資料寫入(Data Write)
0
1
0
資料讀取(Data Read)
1
0
1
指令寫入(CMD Write)
1
1
0
狀態讀取(Status Read)
晶片選取控制訊號(Chip Select Input)
I
RA8806 唯有當 ZCS1 為低電位(LOW)且 CS2 為高電位(HIGH)時,
才可接受指令。
中斷訊號(Interrupt Signal Output)
INT
O
用以回報 RA8806 內部的中斷狀況給 MPU。此腳位可設定為高或低電位
觸發。
忙碌訊號(Busy Signal Output)
用以回報 RA8806 內部的執行使用狀況。此腳位可設定為高或低電位觸
BUSY
O
發,例如設定為高電位觸發時,當 BUSY 腳位為高電位時,RA8806 無法
存取來自 MPU 指令,把此腳位接到 I/O 腳位時,它能被使用於輪詢機制
來監控 RA8806 內部的狀況。
瑞佑科技 RAiO TECHNOLOGY INC.
9/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
4-2
Peripheral 介面
腳位名稱
I/O
說
明
重置訊號(Reset Signal Input)
ZRST
I
此腳位為 RA8806 低電位硬體重置輸入訊號。為了提高抗雜訊的能力,此
腳位為 Schmitt-trigger 輸入且內部有 pull-up 電阻,當所給的電源準位變
低時,能確保此腳位不會被觸發。
X1
I
X2
I
觸控螢幕輸入(Touch Panel Input)
四線電阻式觸控螢幕左邊類比輸入訊號。
觸控螢幕輸入(Touch Panel Input)
四線電阻式觸控螢幕右邊類比輸入訊號。
觸控螢幕輸入(Touch Panel Input)
Y1
I
四線電阻式觸控螢幕上方邊類比輸入訊號。
當需使用觸控掃瞄功能時,請在此腳位外接 39K~51Kohm pull-up 電阻。
Y2
I
PWM_OUT
O
觸控螢幕輸入(Touch Panel Input)
四線電阻式觸控螢幕下方類比輸入訊號。
脈波寬度調變(PWM Output Signal)
此輸出訊號使用於控制背光或升壓電路。
鍵盤輸入(Key Pad Input)
KIN[7:0]
I
此些腳位為鍵盤輸入訊號且內部有 pull-up 電阻。當沒用到這些腳位時,
請保持為浮接(floating)。
鍵盤輸出(Key Pad Output)
KOUT[7:0]
O
此些腳位為鍵盤輸出訊號。當沒用到這些腳位時,請保持為浮接
(floating)。
Clock 輸出(Clock Output)
CLK_OUT
O
此腳位為多功能輸出訊號,其功能依暫存器 REG[01h] Bit-6 的值來決定:
當 REG[01h] Bit-6 = 0: 此腳位為內部系統 clock 的輸出。
當 REG[01h] Bit-6 = 1: 此腳位代表睡眠狀態。( 0: 正常模式,1: 睡眠模式 )
LCD 匯流排選擇(LCD Driver Data Bus Select)
此腳位用來選擇 LCD 驅動資料匯流排為 8-bits 或 4-bits。
DW
I
0 : LCD 驅動資料匯流排為 4-bits,使用 LD[3:0]。
1 : LCD 驅動資料匯流排為 8-bits,使用 LD[7:0]。
當 使 用 4-bits 資 料 匯 流 排 時 , LD[7:4] 必 須 保 持為浮接(floating)。
RA8806T1N 沒有提供此功能,LCD 驅動資料匯流排固定為 4-bits。
MPU 系列選擇(MPU Type Select)
MI
I
此腳位為 MPU 介面選擇。
0 : Intel 8080 系列 MPU 介面。
1 : Motorola 6800 系列 MPU 介面。
瑞佑科技 RAiO TECHNOLOGY INC.
10/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
8080/6800 MPU 資料匯流排選擇(8080/6800 MPU Data Bus Select)
I
DB
此腳位為 MPU 資料匯流排選擇。
0 : 4-bits MPU 介面,使用 DATA[3:0]。
1 : 8-bits MPU 介面,使用 DATA[7:0]。
4-3
Clock 介面
腳位名稱
I/O
說
明
震盪器接點(X’tal Input)
I
XG
石英震盪器的外端接點(4M ~ 12MHz)。當外接 CLK 模式時,此腳位為
時脈輸入訊號。
震盪器接點(X’tal Output)
XD
O
石英震盪器的外端接點(4M ~ 12MHz)。當為外接 CLK 模式時,此腳位
應保持為浮接(floating)。
4-4
LCD 驅動介面
腳位名稱
I/O
YD
O
說
明
LCD Per Frame 的起始訊號
YD 會產生一個脈衝訊號於每個 Frame 的起始位置。
LCD AC Wave 控制訊號
FR
O
用來當作 LCD 驅動器電壓準位偏移(Level Shift)的控制訊號。此訊號通
常於 VDD/GND 間交替轉換以避免 LCD 極化。
LP
O
XCK
O
LCD Common Latch 訊號
Common 資料擷取訊號,用以通知 Driver,要拴鎖該行的資料。
LCD 傳送時脈訊號(LCD Clock)
資料以 XCK 為同步時脈傳送。
LCD 顯示關閉訊號(LCD Display Off)
ZDOFF
O
此訊號為使用於控制 LCD 畫面顯示或關閉。
0 : LCD 畫面關閉
1 : LCD 畫面顯示
LCD 驅動資料匯流排(LCD Driver Data Bus)
當使用 8-bits LCD 驅動器時,LD[7:0] 是接於 LCD 驅動器資料匯流排的腳
LD[7:0]
O
位。當使用 4-bits LCD 驅動器時,LD[3:0] 是接於 LCD 驅動器資料匯流排
的腳位而 LD[7:4] 則為浮接。
RA8806T1N 只支援 LD[3:0]。
瑞佑科技 RAiO TECHNOLOGY INC.
11/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
4-5
電源信號
腳位名稱
I/O
說
明
5V 電源訊號
VDDH
P
此腳位為 DC to DC 轉換器的電壓輸入。若為 5V 應用電路時,此腳位需連
接 5V 電壓,若為 3V 應用電路時,此腳位應保持為浮接。
3V 電源訊號 (必須外加一 1µF 和 0.1µF 的電容)
若腳位 VDDH 輸入 5V 電壓時,此腳位將產生 3.3V 的電壓輸出且必須外接
VDD
P
1uF 電容到 GND,若系統只使用 3.3V 時,則直接將 3.3V 電壓由此腳位輸
入。
I/O 電源訊號
VDDP
P
VDDP 可以為 3V 或 5V。
觸控螢幕的 ADC 電源訊號
AVDD
P
AVDD 可以為 3V 或 5V。
GND
GNDP
P
接地訊號
觸控螢幕的 ADC 接地訊號
AGND
P
連接此腳位到地線(GND)。
測試模式輸入訊號
TESTMD
I
此腳位專用於測試功能,內部有 pull-low 且應保持為浮接。
測試輸入訊號
TESTI
I
此腳位專用於測試功能,內部有 pull-low 且應保持為浮接。
瑞佑科技 RAiO TECHNOLOGY INC.
12/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 : 暫存器總表
REG#
Name
D7
D6
D5
--
STATUS
MBUSY
SBUSY
SLEEP
00h
WLCR
PWR
LINEAR
01h
MISC
03h
ADSR
NO_
FLICKER
CLKO_SEL
SRST
BUSY_
LEV
D4
--
TEXT_MD
INT_LEV
SCR_PEN
D
--
--
--
--
WAKI_EN
KEYI_EN
CUR_INC FULL_OFS
BIT_REV
D3
D2
D1
D0
初始值
WAKE_ST
S
KS_STS
TP_STS
--
ZDOFF
GBLK
GINV
00h
SDIR
CDIR
04h
SCR_HV
SCR_EN
00h
00h
XCK_SEL1 XCK_SEL0
BIT_INV
SCR_DIR
TPI_EN
TP_ACT
WAK_STS
KEY_STS
TP_STS
BOLD
T90DEG
CUR_EN
CUR_BLK
---
00h
0Fh
INTR
10h
WCCR
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
00h
70h
CURY
CURY7
CURY6
CURY5
CURY4
CURY3
CURY2
CURY1
CURY0
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
--
瑞佑科技 RAiO TECHNOLOGY INC.
13/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(Continued)
REG#
Name
D7
D6
D5
D4
D3
D2
D1
D0
初始值
C0h
TPCR1
TP_EN
TP_SMP2
TP_SMP1
TP_SMP0
TPWAK
ACLK2
ACLK1
ACLK0
00h
00h
_EN
C1h
TPXR
TPX9
TPX8
TPX7
TPX6
TPX5
TPX4
TPX3
TPX2
C2h
TPYR
TPY9
TPY8
TPY7
TPY6
TPY5
TPY4
TPY3
TPY2
00h
C3h
TPZR
--
--
--
--
TPY1
TPY0
TPX1
TPX0
00h
C4h
TPCR2
MTP_MD
--
--
--
--
--
MTP_PH1
MTP_PH2
00h
D0h
PCR
--
--
PCLK_R3
PCLK_R2
PCLK_R1
PCLK_R0
00h
D1h
PDCR
PDUTY3
PDUTY2
PDUTY1
PDUTY0
00h
PND1
PND0
PWM_EN PWM_DIS_
LEV
PDUTY7
PDUTY6
PDUTY5
PDUTY4
E0h
PNTR
PND7
PND6
PND5
PND4
PND3
PND2
F0h
FNCR
ISO8859_E
N
--
--
--
MCLR
ASC
F1h
FVHT
FH1
FH0
FV1
FV0
--
--
瑞佑科技 RAiO TECHNOLOGY INC.
14/127
ASC_SEL1 ASC_SEL0
--
--
00h
00h
00h
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
5-2
暫存器內容描述
狀態暫存器 STATUS Register(RS = 1,ZWR = 1)
Bit
說
明
Access
記憶體寫入忙碌(Memory Write Busy)旗標
7
0 : 非忙碌
R
1 : 忙碌 : 當於字型寫入記憶體或記憶體清除動作時,此旗標為 ”high”。
掃瞄忙碌(Scan Busy)旗標
6
0 : 非忙碌
1 : 當驅動掃瞄邏輯非為閒置時(例: XCK 為 active 時),
R
SCAN_BUSY 為 ”high”。
睡眠狀態(SLEEP)
5
0 : 正常模式
R
1 : 睡眠模式
4-3
2
1
0
R
保留
喚醒(Wakeup)狀態
R
(和 REG[0Fh] Bit-2 相同)
鍵盤掃瞄(KS)狀態
R
(和 REG[0Fh] Bit-1 相同)
觸控掃瞄(TP)狀態
R
(和 REG[0Fh] Bit-0 相同)
瑞佑科技 RAiO TECHNOLOGY INC.
15/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [00h] Whole Chip LCD Controller Register(WLCR)
Bit
說
明
初始值
Access
0
R/W
0
R/W
0
R/W
0
R
0
R/W
0
R/W
0
R/W
0
R/W
電源模式(Power Mode)
0 : 正常模式 Î RA8806 於此模式下所有功能皆可使用。
7
1 : 睡眠模式 Î RA8806 於睡眠模式下,除了喚醒(Wake-up)電路
工作外,其他功能都被關閉,若喚醒電路被觸發,RA8806 則回
到正常模式。
線性解碼模式(Linear Decode mode)
此位元為用來定義 Font ROM 位址線的解碼規則。標準產品被設定
6
為 “low”。當使用者要創造一個新的 Font Code 位址對應時,則設定
為 “high” 來實現此特殊的應用。
0 : BIG5/GB ROM 位址對應規則。
1 : 使用者自行定義 ROM 的位址對應規則。
軟體重置(Software Reset)
0 : 正常模式
5
1 : 除了顯示資料記憶體(DDRAM)的資料外,所有暫存器的資料
都被重置(只有在正常模式下動作),當此位元被設定為 “high”
時,要給 RA8806 的 MPU 週期(cycle)至少需等待 3 個 clock
週期的時間。
4
保留
選擇文字工作模式(Text Mode Selection)
3
0 : 繪圖模式 Î 寫入的資料會被視為是 Bit-Map 的模式。
1 : 文字模式 Î 寫入的資料會被視為是 GB/BIG/ASCII 等字碼。
選擇螢幕顯示為開啟或關閉(Set Display On/Off Selection)
2
此位元用來控制連接到 LCD 驅動器介面的 “DISP_OFF” 訊號。
0 : DISP_OFF 輸出 “low”(螢幕顯示關閉)。
1 : DISP_OFF 輸出 “high”(螢幕顯示開啟)。
螢幕閃爍模式選擇(Blink Mode Selection)
1
0 : 正常顯示。
1 : 整個螢幕閃爍。用暫存器 BTMR 來設定閃爍週期。
螢幕反白模式選擇(Inverse Mode Selection)
0
0 : 正常顯示。
1 : 整個螢幕反白顯示。 將使顯示出來的資料反向。
瑞佑科技 RAiO TECHNOLOGY INC.
16/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [01h] Misc. Register(MISC)
Bit
說
明
初始值
Access
0
R/W
0
R/W
0
R/W
0
R/W
01
R/W
0
R/W
0
R/W
初始值
Access
0
R/W
000
R
雪花消除(Eliminating Flicker)
7
1 : 雪花消除模式,當忙碌時掃瞄將會自動暫停。
0 : 正常模式。
Clock 輸出(Pin CLK_OUT)控制
6
1 : CLK_OUT 此腳位代表狀態暫存器的睡眠狀態。(0: 正常模式 1:
睡眠模式)
0 : CLK_OUT 此腳位輸出系統頻率(System Clock)。
設定忙碌觸發準位(Busy Polarity for “BUSY” pin)
5
1 : 設定為高電位觸發動作。
0 : 設定為低電位觸發動作。
設定中斷觸發準位(Interrupt Polarity for “INT” pin)
4
1 : 設定為高電位觸發動作。
0 : 設定為低電位觸發動作。
驅動器 clock 選擇(Driver Clock Selection)
此二位元為用來選擇 XCK 的頻率。
3-2
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))
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
7
說
明
捲動功能暫停選擇(Scroll Function Pending)
1 : 捲動功能暫停
0 : 捲動功能動作
註 : 當 SCR_HV(Bit-1)和 SCR_EN(Bit-0)被改變時,此功能不
支援。
6-4
保留
瑞佑科技 RAiO TECHNOLOGY INC.
17/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
設定驅動資料輸出位元順序(BIT_ORDER)
3
1 : 反向驅動資料輸出位元順序(Bit-7 to Bit-0,Bit-6 to Bit-1 依續到
Bit-0 to Bit-7。)
0
R/W
0
R/W
0
R/W
0
R/W
初始值
Access
0
R
0
R/W
0
R/W
0
R/W
0
R
0
R/W
0 : 正常模式。
捲動方向選擇(SCR_DIR)
當 SCR_HV = 0 時(水平捲動)
0 : 從左到右捲動。
2
1 : 從右到左捲動。
當 SCR_HV = 1 時(垂直捲動)
0 : 從上到下捲動。
1 : 從下到上捲動。
1
水平/垂直捲動方向選擇(SCR_HV)
0 : Segment 捲動(水平)。
1 : Common 捲動(垂直)。
捲動致能(SCR_EN)
0
1 : 捲動功能開啟。
0 : 捲動功能關閉。
REG [0Fh] Interrupt Setup and Status Register(INTR)
Bit
7
說
明
保留
喚醒(Wakeup)中斷遮罩
6
1 : 致能喚醒中斷。
0 : 禁能喚醒中斷。
鍵盤掃瞄(Key-Scan)中斷遮罩
5
1 : 致能鍵盤掃瞄中斷。
0 : 禁能鍵盤掃瞄中斷。
觸控掃瞄(Touch Panel)中斷遮罩
4
1 : 當觸控掃瞄偵測到輸入訊號時,產生中斷輸出訊號。
0 : 當觸控掃瞄偵測到輸入訊號時,不產生中斷輸出訊號。
觸控掃瞄觸發(只有在手動模式下有效)
3
1 : 觸控掃瞄偵測到輸入訊號。
0 : 觸控掃瞄沒有偵測到輸入訊號。
喚醒中斷狀態位元
2
1 : 當從睡眠模式中喚醒而產生的中斷。
0 : 沒有喚醒中斷產生。
使用者必須寫 ”0” 來清除此狀態位元。
瑞佑科技 RAiO TECHNOLOGY INC.
18/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
鍵盤掃瞄中斷狀態位元
1 : 鍵盤掃瞄偵測到中斷事件的發生。
1
0 : 鍵盤掃瞄沒有偵測到中斷事件的發生。
0
R/W
0
R/W
初始值
Access
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
使用者必須寫 ”0” 來清除此狀態位元。
Ps: 中斷事件的發生有三種,按下鍵盤、長按鍵、放開鍵盤。
觸控掃瞄偵測狀態位元
0
1 : 觸控掃瞄偵測到輸入訊號。
0 :觸控螢幕沒有偵測到輸入訊號。
使用者必須寫 ”0” 來清除此狀態位元。
REG [10h] Whole Chip Cursor Control Register(WCCR)
Bit
說
明
CUR_INC(當對 DDRAM 作讀寫操作時,游標位置自動增加)
7
1 : 禁能。
0 : 致能(自動增加)。
FULL_OFS(全型和半型字元對齊)
6
1 : 致能,當於全型和半型混和模式時,中文字都對齊於全型字的起
始位置。
0 : 禁能。
反向寫入資料模式
5
0 : 直接把目前資料寫入 DDRAM。
1 : 反向地將目前資料寫入 DDRAM。(例如: 01101101Î
10010010)
粗體字(只有在文字模式時生效)
4
1 : 粗體字。
0 : 正常字。
文字旋轉模式(T90DEG)
3
1 : 文字旋轉 90 度(參照第 6-10-4 節 ”文字垂直顯示” )
0 : 正常字。
游標顯示
2
1 : 設定游標為顯示。
0 : 設定游標為不顯示。
游標閃爍
1
1 : 游標閃爍。(REG BTMR 決定游標閃爍的週期)
0 : 游標不閃爍。
0
保留
瑞佑科技 RAiO TECHNOLOGY INC.
19/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [11h] Cursor Height and Word Interval Register(CHWI)
Bit
說
明
初始值
Access
0000
R/W
0000
R/W
設定游標高度
0000 b Æ 游標高度為 1 pixel。
0001 b Æ 游標高度為 2 pixels。
7-4
0010 b Æ 游標高度為 3 pixels。
:
:
1111 b Æ 游標高度為 16 pixels。
註 : 在正常模式游標的寬度固定為 8 pixels,游標的高度由 Bit[7:4]
決定。文字垂直旋轉模式,游標的高度固定為 16 pixels,游標的寬
度由 Bit[6:4] 決定。
設定行與行間的間距
0000 b Æ 間距為 1 pixel。
0001 b Æ 間距為 2 pixels。
3-0
0010 b Æ 間距為 3 pixels。
:
:
1111 b Æ 間距為 16 pixels。
瑞佑科技 RAiO TECHNOLOGY INC.
20/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [12h] Memory Access Mode Register(MAMR)
Bit
說
明
初始值
Access
0
R/W
001
R/W
00
R/W
01
R/W
游標自動移動方向
0 : 游標先由水平方向(從左到右)移動,再垂直方向(從上到下)
移動。
7
1 : 游標先由垂直方向移動,再水平方向移動。
註 : 於繪圖模式下,水平方向游標為以 byte 為單位移動,而垂直方
向為以 bit 為單位移動。當於文字模式下,此位元可被忽略,游標的
移動方向一定為水平方向移動。
顯示圖層和顯示模式選擇
0 0 0 : 灰階模式。在此模式下,每一顯示位元包含了記憶體中的二
筆連續的資料,此 4 灰階是依 FRC 的方法達成,此顯示位
元的配置 如下:
bit1
bit0
灰階
--------------------------------------------------0
0
Level1(最亮)
0
1
Level2
1
0
Level3
1
1
Level4(最暗)
6-4
註 : 於灰階模式下沒有支援文字輸入。
0 0 1 : 將 DDRAM1 的資料顯示於螢幕上。
0 1 0 : 將 DDRAM2 的資料顯示於螢幕上。
0 1 1 : 雙圖層顯示模式。顯示規則依底下的 Bit-3 和 Bit-2 。
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 和
3-2
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)。
1-0
0 1 : 存取 DDRAM1。
1 0 : 存取 DDRAM2。
1 1 : 同時存取 DDRAM1 和 DDRAM2。
瑞佑科技 RAiO TECHNOLOGY INC.
21/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [20h] Active Window Right Register(AWRR)
Bit
7-6
5-0
說
明
保留
設定工作視窗(Active Window)右邊邊界 Æ Segment-Right
註 : AWRR 必須大於或等於 AWLR,且值須小於或等於 27h。
初始值
Access
00
R
27h
R/W
註:
REG[20h,30h,40h 和 50h] 用來控制寫入資料時,行與列在工作視窗內的變化,使用者可以使用此四
個暫存器來設定工作視窗的上/下/左/右邊界,當寫入的資料超過右邊的邊界時,游標會自動跳到下一列
(Line)來寫入資料,也就是說,游標會移動到工作視窗左邊的邊界,當資料寫到所設定之右邊且下方
的邊界時,下一筆資料寫入將使游標移動到所設定之左上方邊界位置。
REG [21h] Display Window Width Register(DWWR)
Bit
7-6
說
明
保留
初始值
Access
00
R
27h
R/W
設定顯示視窗(Display Window)寬度Æ Segment-Width
Segment-Right =(Segment Number / 8)– 1
5-0
假設 LCD 的解析度為 320x240 時,此暫存器應被設定為:
(320 / 8)- 1 = 39 = 27h
註:
REG[21h,31h] 用來設定顯示視窗的解析度,使用者可以設定顯示記憶體的可視範圍。RA8806 的
Column 寬度(DWWR)可被設定在 0h ~ 27h 之間,且 Row 高度(DWHR)可被設定在 0h ~ EFh 之
間。
REG [30h] Active Window Bottom Register(AWBR)
Bit
7-0
說
明
設定工作視窗(Active Window)下方邊界Æ Common-Bottom
註 : AWBR 必須大於或等於 AWTR,且值須小於或等於 EFh。
初始值
Access
EFh
R/W
初始值
Access
EFh
R/W
REG [31h] Display Window Height Register(DWHR)
Bit
說
明
設定顯示視窗(Display Window)高度Æ Common- Height
Common_ Height = LCD Common Number –1
7-0
假設 LCD 的解析度為 320x240 時,此暫存器應被設定為:
240 – 1 = 239 = EFh
瑞佑科技 RAiO TECHNOLOGY INC.
22/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [40h] Active Window Left Register(AWLR)
Bit
7-6
5-0
說
明
保留
設定工作視窗(Active Window)左邊邊界Æ Segment-Left
註 : AWLR 必須小於或等於 AWRR,且值須小於 27h。
初始值
Access
00
R
00h
R/W
初始值
Access
00h
R/W
初始值
Access
00
R
00h
R/W
初始值
Access
00
R
00h
R/W
REG [50h] Active Window Top Register(AWTR)
Bit
7-0
說
明
設定工作視窗(Active Window)上方邊界Æ Common-Top
註 : AWTR 必須小於或等於 AWBR,且值須小於 EFh。
REG [60h] Cursor Position X Register(CURX)
Bit
7-6
說
明
保留
設定游標 Segment 位置/ RAM0 位址[4:0]
定義游標 segment 的位置,其值在 0h ~ 27h 之間。
5-0
當被設定為 CGRAM 寫入模式時(REG[12h] Bit[1:0] = 00b),此暫
存器 Bit[4:0] 為用來寫入資料的位元對應位址。於創造全型字時,通
常設定為 0h,而當要創造奇數個半型字時,通常設定為 0h,創造偶
數個半型字時,通常設定為 10h。
REG [61h] Begin Segment Position Register of Scrolling(BGSG)
Bit
7-6
說
明
保留
設定於捲動模式下 Segment 的起始位置
5-0
REG[61h] 定義捲動視窗的起始位置(左邊邊界),其值必須小於或
等於暫存器 REG[62h](定義捲動視窗終點位置(右邊邊界))所設
定的值。此外,對應到顯示記憶體的限制,其值必須小於 27h。
註:
REG[61h,62h,71h 和 72h] 是設定捲動的視窗,這些暫存器必須在把捲動功能打開前先設定完成。
REG [62h] End Segment Position Register of Scrolling(EDSG)
Bit
7-6
說
明
保留
初始值
Access
00
R
00h
R/W
設定於捲動模式下 Segment 的終點位置
REG[62h] 定義捲動視窗的終點位置(右邊邊界),其值必須大於或
5-0
等於暫存器 REG[61h](定義捲動視窗起始位置(左邊邊界))所設
定的值。此外,對應到顯示記憶體的限制,其值必須小於或等於
27h。
瑞佑科技 RAiO TECHNOLOGY INC.
23/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [70h] Cursor Position Y Register(CURY)
Bit
說
明
初始值
Access
00h
R/W
初始值
Access
00h
R/W
初始值
Access
00h
R/W
初始值
Access
00h
R/W
設定游標 Common 位置/ RAM0 位址[8:5]
定義游標 common 的位置,其值在 0h ~ EFh 之間。
7-0
當被設定為 CGRAM 寫入模式時(REG[12h] Bit[1:0] = 00b),此暫
存器 Bit[3:0] 為用來指定哪一個字被創造,暫存器 Bit[7:4] 沒有使用
到。
REG [71h] Scrolling Action Range Begin Common Register(BGCM)
Bit
說
明
設定捲動模式下 Common 的起始位置
7-0
REG[71h] 定義捲動視窗的起始位置(上方邊界),其值必須小於或
等於暫存器 REG[72h](定義捲動視窗終點位置(下方邊界))所設
定的值。此外,對應到顯示記憶體的限制,其值必須小於 EFh。
REG [72h] Scrolling Action Range END Common Register(EDCM)
Bit
說
明
設定捲動模式下 Common 的終點位置
REG[72h] 定義捲動視窗的終點位置(下方邊界),其值必須大於或
7-0
等於暫存器 REG[71h](定義捲動視窗起始位置(上方邊界))所設
定的值。此外,對應到顯示記憶體的限制,其值必須小於或等於
EFh。
REG [80h] Blink Time Register(BTMR)
Bit
說
明
設定游標閃爍和捲動時間週期
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),和擴展模式或灰階模式等設定而決定。
瑞佑科技 RAiO TECHNOLOGY INC.
24/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [90h] Idle Time Counter Register(ITCR)
Bit
說
明
初始值
Access
00h
R/W
初始值
Access
0
R/W
0
R/W
00
R/W
0
R/W
空閒時間(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 的 週 期 依 照 系 統 頻 率
(system clock)和暫存器 REG[01h] Bit[3:2] 所設定的
7-0
值來決定。假設系統頻率為 8MHz,暫存器 REG[01h]
Bit[3:2] 設定為 10b,則 XCK_PRD = 250ns。
SEG_NO: Segment 數目,如 240x160 的屏,SEG_NO = 240。
EXT_MD: 在擴展模式 1 或 2 下(REG[12h] Bit[6:4] = 111b 或
110b), EXT_MD = 1,除此之外 EXT_MD = 0。
LD_WIDTH: 驅動介面資料匯流排寬度。假設 LCD 驅動資料匯流排
寬度為 4-bits 時,則 LD_WIDTH = 4,假設 LCD 驅動
資料匯流排寬度為 8-bits 時,則 LD_WIDTH = 8。請參
照第 4-2 節腳位 “DW” 的描述。
REG [A0h] Key-Scan Control Register 1(KSCR1)
Bit
說
明
設定鍵盤掃瞄功能開啟或關閉
7
1 : 開啟。
0 : 關閉。
選擇鍵盤掃瞄矩陣
6
1 : 4x8 Matrix(使用 KOUT[3:0],KOUT[7:4] 請保持浮接)
0 : 8x8 Matrix(使用 KOUT[7:0])
設定鍵盤掃瞄 De-bounce 取樣的次數(Sampling Times)
00:4次
5-4
01:8次
1 0 : 16 次
1 1 : 32 次
設定長按鍵功能開啟或關閉(LNGKEY_EN)
3
LNGKEY_EN = 0 Æ 長按鍵功能關閉。
LNGKEY_EN = 1 Æ 長按鍵功能開啟。
瑞佑科技 RAiO TECHNOLOGY INC.
25/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
設定鍵盤掃瞄頻率(KF2-0)
假設系統頻率為 10MHz,則鍵盤掃瞄頻率的關係如下:
2-0
Key-Scan
KF2 KF1 KF0 Pulse Width
(KOUT period)
0
0
0
16µs
0
0
1
32µs
0
1
0
64µs
0
1
1
128µs
1
0
0
256µs
1
0
1
512µs
1
1
0
1.024ms
1
1
1
2.048ms
Key-Scan
Cycle(4x8)
Key-Scan
Cycle(8x8)
64µs
128µs
256µs
512µs
1.024ms
2.048ms
4.096ms
8.192ms
128µs
256µs
512µs
1.024ms
2.048ms
4.096ms
8.192ms
16.384ms
000
R/W
初始值
Access
0
R/W
000
R
00
R/W
00
R
初始值
Access
FFh
R
REG [A1h] Key-Scan Controller Register 2(KSCR2)
Bit
說
明
設定鍵盤掃瞄喚醒功能開啟或關閉
7
0: 鍵盤掃瞄喚醒功能關閉。
1: 鍵盤掃瞄喚醒功能開啟。
6-4
保留
長按鍵時間調整
00 : 約 0.625 sec
3-2
01 : 約 1.25 sec
10 : 約 1.875 sec
11 : 約 2.5 sec
註 : 以上時間是假設系統頻率為 8MHz。
告知幾個按鍵被按到
00 : 沒有按鍵被按到。
1-0
01 : 一個按鍵被按到,讀取暫存器 REG[A2h] 來獲取按鍵值。
10 : 二個按鍵被按到,讀取暫存器 REG[A2h~A3h] 來獲取按鍵值。
11 : 三個按鍵被按到,讀取暫存器 REG[A2h~A4h] 來獲取按鍵值。
REG [A2h ~ A4h] Key-Scan Data Register(KSDR0 ~ 2)
Bit
7-0
說
明
按鍵擷取資料
代表所按到的鍵對應之值。請參照第 6-5 節 "鍵盤掃瞄功能”。
瑞佑科技 RAiO TECHNOLOGY INC.
26/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [B0h] Memory Write Command Register(MWCR)
Bit
說
明
初始值
Access
NA
R/W
初始值
Access
NA
R/W
初始值
Access
0
R/W
000
R/W
0
R/W
000
R/W
記憶體寫入指令(從游標位置)
7-0
註 : 當要寫資料到記憶體時,使用者必須先下 MWCR(Command
Write cycle)指令後,再寫資料進去(Data Write cycle)。
REG [B1h] Memory Read Command Register(MRCR)
Bit
說
明
記憶體讀取指令(從游標位置)
7-0
註 : 於記憶體讀取週期,游標的移動在文字模式下的行為和在繪圖模
式下一樣。B1h 將作預讀的行為,故在執行完 MRCR 指令後,游標
位置會增加。
REG [C0h] Touch Panel Control Register 1(TPCR1)
Bit
說
明
觸控掃瞄功能開啟或關閉
7
1 : 開啟。
0 : 關閉。
觸控掃瞄取樣時間調整
6-4
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-43 節。
觸控掃瞄喚醒開啟或關閉
3
1 : 觸控掃瞄開啟可以喚醒睡眠模式。(觸控掃瞄功能必須是開啟的
狀態下)
0 : 觸控掃瞄關閉喚醒睡眠模式。
觸控掃瞄頻率(ADC Clock)轉換速度。“CLK” 代表系統頻率。
2-0
0 0 0 : CLK / 4
0 0 1 : CLK / 8
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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
REG [C1h] Touch Panel X High Byte Data Register(TPXR)
Bit
7-0
說
明
觸控掃瞄 X 資料 Bit[9:2](Segment)
初始值
Access
00h
R
初始值
Access
00h
R
初始值
Access
0000
R
REG [C2h] Touch Panel Y High Byte Data Register(TPYR)
Bit
7-0
說
明
觸控掃瞄 Y 資料 Bit[9:2](Common)
REG [C3h] Touch Panel Segment/Common Low Byte Data Register(TPZR)
Bit
說
明
7-4
保留
3-2
觸控掃瞄 Y 資料 Bit[1:0](Common)
00
R
1-0
觸控掃瞄 X 資料 Bit[1:0](Segment)
00
R
初始值
Access
0
R/W
00h
R
00
R/W
初始值
Access
0
R/W
0
R/W
REG [C4h] Touch Panel Control Register 2(TPCR2)
Bit
說
明
觸控掃瞄手動模式開啟或自動模式
7
1 : 使用手動模式。
0 : 使用自動模式。
6-2
保留
觸控掃瞄手動模式程序選擇
00 : IDLE 模式: 觸控掃瞄閒置(ADC Idles)。
01 : 等待觸控螢幕被接觸,觸控掃瞄電路將產生中斷訊號或是從暫
1-0
存器 REG[0Fh] Bit-3 讀出狀態。
10 : 栓鎖住 X 資料,在此期間,X 資料將被栓鎖在暫存器 REG[C1h]
和 REG[C3h] 裡。
11 : 栓鎖住 Y 資料,在此期間,Y 資料將被栓鎖在暫存器 REG[C2h]
和 REG[C3h] 裡。
REG [D0h] PWM Control Register(PCR)
Bit
說
明
脈波寬度調變(PWM)開啟或關閉
7
1 : 開啟。
0 : 關閉。於此狀態下,PWM_OUT 準位依照此暫存器 Bit-6 來決定。
PWM 關閉時的準位
6
0 : 當 PWM 關閉或於睡眠模式時,PWM_OUT 一般為 ”low” 狀態。
1 : 當 PWM 關閉或於睡眠模式時,PWM_OUT 一般為 ”high” 狀態。
瑞佑科技 RAiO TECHNOLOGY INC.
28/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
5-4
保留
00
R
0000
R/W
初始值
Access
00h
R/W
初始值
Access
00h
R/W
初始值
Access
0
R/W
000
R
PWM 電路所接受的 Clock 來源速度選擇
3-0
0000 b Æ CLK / 1
0001 b Æ CLK / 2
0010 b Æ CLK / 4
0011 b Æ CLK / 8
:
:
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
REG [D1h] PWM Duty Cycle Register(PDCR)
Bit
說
明
PWM 責任週期(Cycle Duty)選擇
7-0
00h Æ 1 / 256
01h Æ 2 / 256 High period
02h Æ 3 / 256 High period
:
:
FFh Æ 256 / 256 High period
REG [E0h] Pattern Data Register(PNTR)
Bit
說
明
要寫入 DDRAM 裡的資料(Display Data RAM)
7-0
當暫存器 REG[F0h] Bit-3 被填為 ”1” 時(記憶體清除模式),此暫
存器的資料將填滿整個工作視窗。
REG [F0h] Font Control Register(FNCR)
Bit
說
明
ISO8859 模式
0 : 關閉。 ASCII 區塊 1~4 的內容為字碼表 A 內的表 A-1 ~ 表 A-4 所
7
示。
1 : 開啟。 ASCII 區塊 1~4 的內容為代表標準的 ISO8859-1 ~ 4,且
為字碼表 A 內 A-5 ~ 表 A-8 所示。
6-4
保留
瑞佑科技 RAiO TECHNOLOGY INC.
29/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
記憶體清除功能
對此位元作寫入時代表
0 : 不動作
1 : 記憶體清除功能開啟,將 FNTR 資料填滿整個工作視窗。
3
對此位元作讀取時代表
0
R/W
0
R/W
00
R/W
初始值
Access
00
R/W
00
R/W
0000
R
0 : 記憶體清除動作已完成。
1 : 記憶體清除動作尚未完成。
當此位元設定為 ”1” 時,RA8806 將自動讀取暫存器 PNTR 的資料,
然後將此資料填滿整個工作視窗(工作視窗範圍: [AWLR,AWTR] ~
[AWRR,AWBR]),而當填滿動作完後,此位元自動清除為 ”0”。
ASCII 模式選擇
1 : 所有的輸入資料將解碼為 ASCII(00h ~ FFh)。
2
0 : 在文字模式下(REG[00h] Bit-3 = 1),RA8806 將會先檢查被寫
入資料的第一個位元組(byte)。當此位元組小於 80h 時,將把
此筆資料當成 ASCII(半型字)來解碼,反之,則當成文字(全
型字的 GB、 BIG-5 或是使用者自創字型)來解碼。
ASCII 區塊選擇
0 0 : 對應到 ASCII block 1。(字碼表 A 的表 A-1 和表 A-5)
1-0
0 1 : 對應到 ASCII block 2。(字碼表 A 的表 A-2 和表 A-6)
1 0 : 對應到 ASCII block 3。(字碼表 A 的表 A-3 和表 A-7)
1 1 : 對應到 ASCII block 4。(字碼表 A 的表 A-4 和表 A-8)
REG [F1h] Font Size Control Register(FVHT)
Bit
說
明
設定字元水平放大倍率
0 0 : 原本字元寬度。
7-6
0 1 : 字元寬度放大為原本字元寬度的二倍。
1 0 : 字元寬度放大為原本字元寬度的三倍。
1 1 : 字元寬度放大為原本字元寬度的四倍。
設定字元垂直放大倍率
0 0 : 原本字元高度。
5-4
0 1 : 字元高度放大為原本字元高度的二倍。
1 0 : 字元高度放大為原本字元高度的三倍。
1 1 : 字元高度放大為原本字元高度的四倍。
3-0
保留
瑞佑科技 RAiO TECHNOLOGY INC.
30/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6. 功能描述
6-1
MPU 介面
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
RA8806
RS
A0
A1-A7
IORQ
Decoder
ZCS1
CS2
MI
DATA0-3(DATA0-7)
D0-D3(D0 -D7)
RD
ZRD
WR
ZWR
RES
ZRST
圖 6-1 : 8080(4/8-位元)MPU 介面
6800
MPU
RA8806
A0
A1-A7
VMA
VDD
RS
Decoder
ZCS1
CS2
MI
D0-3(D0-D7)
DATA0-3(DATA0-7)
EN
EN
R/W
ZRW
RES
ZRST
圖 6-2 : 6800(4/8-位元)MPU 介面
瑞佑科技 RAiO TECHNOLOGY INC.
31/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
tAH8
tAS8
RS
ZCS1
CS2
tCYC8
ZWR
ZRD
tCC8
tDS8
tDH8
DATA
(Write)
tOH8
tACC8
DATA
(Read)
圖 6-3 : 8080 MPU 介面傳輸協定
表 6-1 : 8080 MPU 介面時序
Symbol
說
明
Rating
Min.
Max.
Unit
tCYC8
Cycle time
2*tc
--
ns
tCC8
Strobe Pulse width
50
--
ns
tAS8
Address setup time
0
--
ns
tAH8
Address hold time
20
--
ns
tDS8
Data setup time
30
--
ns
tDH8
Data hold time
20
--
ns
tACC8
Data output access time
0
20
ns
tOH8
Data output hold time
0
10
ns
瑞佑科技 RAiO TECHNOLOGY INC.
32/127
Condition
tc = one system clock period
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
tAH6
tAS6
RS
ZRW
ZCS1
CS2
tCYC6
tCC6
EN
tDS6
tDH6
DATA
(Write)
tOH6
tACC6
DATA
(Read)
圖 6-4 : 6800 MPU 介面傳輸協定
表 6-2 : 6800 MPU 介面時序
Symbol
說
明
Rating
Min.
Max.
Unit
tCYC6
Cycle time
2*tc
--
ns
tCC6
Strobe Pulse width
50
--
ns
tAS6
Address setup time
0
--
ns
tAH6
Address hold time
20
--
ns
tDS6
Data setup time
30
--
ns
tDH6
Data hold time
20
--
ns
tACC6
Data output access time
0
20
ns
tOH6
Data output hold time
0
10
ns
瑞佑科技 RAiO TECHNOLOGY INC.
33/127
Condition
tc is one system clock period:
tc = 1/CLK
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 的傳輸介面來舉例。
RS
ZCS1
ZWR
ZRD
DATA[7:0]
REG#
DATA
(1) Command Write (Write Data to Register)
RS
ZCS1
ZWR
ZRD
DATA[7:0]
REG#
DATA
(2) Read Data from Register
圖 6-5 : 「寫入指令」與「暫存器讀取」
表 6-3 : 指令存取時間換算表
System Clock
Command Access Time
4MHz
6 MHz
8 MHz
10 MHz
12 MHz
1µs
667ns
500ns
400ns
333ns
瑞佑科技 RAiO TECHNOLOGY INC.
34/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-1-3 記憶體寫入與讀取
當欲寫資料到記憶體(可能是顯示記憶體或字型產生記憶體)時,必須先執行暫存器編號為B0h
的「寫入指令週期」。反之,如果是欲讀取記憶體中的資料時,則必須先執行暫存器編號為B1h
的「寫入指令週期」,相關情形請參考 圖 6-6 的(1)與(2)。
RS
ZCS1
ZWR
ZRD
DATA[7:0]
B0h
DATA1
DATA2
DATAn
DATA2
DATAn
(1) Memory Write (Write Data to DDRAM)
RS
ZCS1
ZWR
ZRD
DATA[7:0]
B1h
DATA1
(2) Memory Read (Read Data from DDRAM)
圖 6-6 : 記憶體寫入與讀取
6-1-4 狀態讀取
RA8806 有提供一個讀取狀態值的方法,讓使用者(MPU)瞭解目前RA8806 的狀況,相關內容
請參考 圖 6-7 和第 5-2 節有關 ”暫存器描述” 等的說明。
RS
ZCS1
ZW R
ZRD
DATA[7:0]
Status DATA
Status Register Read
圖 6-7 : 狀態讀取
瑞佑科技 RAiO TECHNOLOGY INC.
35/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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。
LCD Driver
RA8806
YD
FLM
FR
M
LP
LP
ZDOFF
STN
Common Signals
Dot Matrix
LCD Panel
/DISPOFF
XCK
CP
LD[7:0]
Segment Signals
D[7:0]
圖 6-8 : RA8806 與 LCD Driver 的介面關係
圖 6-9 是RA8806 與LCD Driver的時序關係圖。使用者亦可參考第 4-4 節 “LCD 驅動介面” 關於LCD
Driver接腳的說明。
F o r 3 2 0 x 2 4 0 : T o ta l 2 4 0
L P fo r e a c h F ra m e
FR
YD
LP
XCK
1 st lin e
FR
YD
LP
XCK
LD
(D a ta )
圖 6-9 : RA8806 與 LCD Driver 的時序關係圖
瑞佑科技 RAiO TECHNOLOGY INC.
36/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 液晶顯示屏的應用方塊圖。
圖 6-10 : 320x240 液晶顯示屏的應用方塊圖
160-channel
(C om m on)
Y 1~Y 1 60
E IO 1
MD
S /C
VD D
L/R
VSS
D I0~D I7
FR
160*160 D o t
LP
LC D P anel
D ISP O FF
XC K
E IO 2
Y1~Y160
R A8806
YD
FR
LP
LP
ZD O FF
DISPOFF
XCK
FR
160-chann el
(S egm ent)
MD
EIO1
S/C
L/R
EIO2
LD [7:0]
DI0~DI7
XC K
圖 6-11 : 160x160 液晶顯示屏的應用方塊圖
瑞佑科技 RAiO TECHNOLOGY INC.
37/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 6-4 是RA8806 Driver信號與其他不同驅動IC接腳名稱的對照表。務必注意的是,LCD Driver信號
的接腳不需要連接電容到地(GND),如果需要接的話,建議連接 30pF以下的電容。
表 6-4 : RA8806 Driver 信號與其他驅動 IC 介面名稱對照表
RA8806
通用的 Driver IC
Driver 介面名稱
介面名稱
LP
LP
LOAD
CL1
CP
XCK
SCP
CL2
HSCP
FLM
FR
YD
FRAME
CDATA
FR
DF(M)
LD[7:0]
D[7:0]
/DISPOFF
/D.OFF
DISP
ZDOFF
瑞佑科技 RAiO TECHNOLOGY INC.
介面名稱的說明
Data Latch Clock
Latch Pulse in one line
Latch pulse of display data
Data Latch Pulse
Data Shift Clock
Clock pulse for segment shift register
Shift Clock Pulse for X-Drivers
Data Shift Pulse
Shift Clock Pulse
Scan Start-up Signal
First Line Marker
Frame Pulse
Frame start signal (First line mark of
common signal)
Synchronous Data
Switch signal to convert LCD drive
waveform into AC
LCD Data Bus
Display OFF
Display OFF
Display OFF
38/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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模組,表 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/127
暫存器編號
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 );
LCD_DataWrite ( 0x09 );
// AWLR = 09h = 9 Î ( 80 / 8) – 1
LCD_CmdWrite ( 0x20 );
LCD_DataWrite ( 0x1D );
// AWRR = 1Dh = 29 Î ( 240 / 8 ) – 1
LCD_CmdWrite ( 0x50 );
LCD_DataWrite ( 0x00 );
// AWTR = 00h = 0
LCD_CmdWrite ( 0x30 );
LCD_DataWrite ( 0x9F );
// AWBR = 9Fh = 159 Î 160 – 1
LCD_CmdWrite ( 0x21 );
LCD_DataWrite ( 0x27 );
// DWWR = 27h = 39 Î ( 320 / 8 ) – 1
LCD_CmdWrite ( 0x31 );
LCD_DataWrite ( 0xEF );
// DWHR = EFh = 239 Î 240 – 1
320
0 1 2 …….... 79 80 ………………………… 239 240 ……… 319
0
1
2
:
:
:
:
:
:
:
159
160
:
:
:
239
80
Active Window
160 x 160
80
240
80
Display Window
320 x 240
圖 6-12 : RA8806 「顯示視窗」與「工作視窗」
瑞佑科技 RAiO TECHNOLOGY INC.
40/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
同樣地,當液晶顯示屏解析度為 240x160 時,就表示顯示視窗的大小也是 240x160,在 圖 6-13
中,我們設定一個 120x120 的工作視窗,其相關暫存器的設定如下所示:
LCD_CmdWrite ( 0x40 );
LCD_DataWrite ( 0x00 );
// AWLR = 00h = 0
LCD_CmdWrite ( 0x20 );
LCD_DataWrite ( 0x0E );
// AWRR = 0Eh = 14 Î ( 120 / 8 ) – 1
LCD_CmdWrite ( 0x50 );
LCD_DataWrite ( 0x00 );
// AWTR = 00h = 0
LCD_CmdWrite ( 0x30 );
LCD_DataWrite ( 0x77 );
// AWBR = 77h = 119 Î 120 – 1
LCD_CmdWrite ( 0x21 );
LCD_DataWrite ( 0x1D );
// DWWR = 1Dh = 29 Î ( 240 / 8 ) – 1
LCD_CmdWrite ( 0x31 );
LCD_DataWrite ( 0x9F );
// DWHR = 9Fh = 159 Î 160 – 1
240
0 1 2………………………. 119 120……………………… 239
0
1
2
:
:
:
:
:
:
:
119
120
:
:
:
159
Active Window
120 x 120
160
Display Window
240 x 160
圖 6-13 : RA8806 「顯示視窗」與「工作視窗」
瑞佑科技 RAiO TECHNOLOGY INC.
41/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-2-3 Com/Seg 掃描方向
RA8806 有一很特殊的功能,亦即使用者可以反相 Common 和 Segment 的顯示順序。當使用
320x240 來進行顯示時,如果將旋轉 90 度(文字)的功能開啟,同時反相 Common 的顯示順
序,此即為「垂直顯示」,也就是以 240x320 來進行顯示。相關內容請參考第 6-10-4 節。
表 6-7
Reg.
MISC
Bit_Num
說
明
Bit 1
定義 Segment 的顯示順序(SDIR)。
Bit 0
定義 Common 的顯示順序(CDIR)。
SEG0 .............................................. SEG319
COM0
:
Cursor Moving way
:
:
:
:
:
:
:
COM239
(1) SDIR = 0
暫存器編號
REG[01h]
SEG0 …………………………………. SEG319
COM0
:
Cursor Moving way
:
:
:
:
:
:
:
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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
XCLK
LP
COM_SCAN
ITCR
T_COM
圖 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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
脈和ITCR的設定,所計算出的Frame Rate一覽表,適當地調整Frame Rate,可以改善顯示的品
質,但值得注意的是,顯示品質的好壞同時亦與模組的設計和液晶本身的材料有關。
表 6-8
Reg.
Bit_Num
ITCR
Bit [7:0]
定義每個 LP 信號之間的閒置時間之長度。
REG[90h]
MISC
Bit [3:2]
用來選擇 XCK 的頻率。
REG[01h]
說
瑞佑科技 RAiO TECHNOLOGY INC.
明
44/127
暫存器編號
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-3
顯示資料記憶體(DDRAM)
RA8806 本 身 內 建 有 兩 塊 容 量 為 9.6K 位 元 組 大 小 的 顯 示 資 料 記 憶 體 , 分 別 是 DDRAM1 和
DDRAM2。它可用來做單色的顯示或者四灰階的顯示,每一塊顯示資料記憶體最大均支援 320x240
大小的顯示,顯示模式包括「文字模式」和「圖形模式」。總之,RA8806 的諸多功能可讓使用者既
彈性又方便來進行各種顯示。
6-3-1 顯示層與顯示模式的選擇
這兩個顯示資料記憶體有以下四種最常見的應用:
1. 僅顯示 DDRAM1 或 DDRAM2: 當僅使用其中一個 DDRAM 來進行顯示時,另一個 DDRAM 則
可以備用或者當成「使用者自建字型」的記憶體。相關內容請參考第 6-11 節 “使用者自創字
型”。
2. 雙層顯示模式: 在此一模式,可用來顯示兩個 DDRAM 畫面合成的效果,使用者可以透過暫存
器 [12h] 的 Bit[3:2] 來選擇畫面合成的模式,如下所示:
‹
‹
‹
‹
DDRAM1 “OR” DDRAM2
DDRAM1 “XOR” DDRAM2
DDRAM1 “NOR” DDRAM2
DDRAM1 “AND” DDRAM2
相關內容請參考第 6-10-1-5 節 “雙圖層顯示”。
3. 四灰階顯示模式: 此模式下,LCD 上每一 Pixel 的灰度由存在 DDRAM 的每 2 個連續 Bit 來決
定。
4. 擴展顯示模式: RA8806 支援兩種擴展模式,包括:
‹
水平擴展模式(最大可顯示 640x240 點)
‹
垂直擴展模式(最大可顯示 320x480 點)
瑞佑科技 RAiO TECHNOLOGY INC.
45/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 節 “暫存
器內容描述”。
表 6-9
Reg.
MAMR
Bit_Num
說
明
Bit [6:4]
「顯示層」與「顯示模式」的選擇。
Bit [3:2]
雙層顯示模式之選擇。
Bit [1:0]
微處理機存取記憶體之選擇。
瑞佑科技 RAiO TECHNOLOGY INC.
46/127
暫存器編號
REG[12h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-4
觸控螢幕功能
RA8806 內建一組 10 位元ADC和控制電路,以連接四線電阻式的觸控螢幕。一般來說,電阻式的觸
控螢幕是由兩層非常薄的電阻式屏幕所組成,如 圖 6-16。在兩層屏幕中間有一小縫隙,當有外力施
加在面板上的某一點時,兩層電阻式屏幕將被觸碰(touch),形成迴路而導通。由於兩層電阻式屏
幕的端點含有電極(XL、XR、YU、YD),如 圖 6-17,因此,相對於觸碰的位置,系統將偵測到
一個XY的座標值。
YU
Y Plate
X Plate
Electrode
XL
XR
YD
圖 6-16:觸控螢幕
VDD
SW2
YU
Resistor -Y
XR
XL
VDD
SW0
SW1
Resistor -X
YD
SW3
GND
圖 6-17 : 觸控螢幕的控制開關
對使用者而言,應用觸控螢幕的功能只需連接 XL、XR、YU 和 YD 等四條信號線到 RA8806 即可。
系統就能不斷監測,直到觸控的事件(touch event)發生為止。當觸控事件發生時,在屏幕電阻上所
產生的分壓將決定觸控的所在位置。在 XY 的座標值被傳回系統(RA8806)並個別儲存在特定的暫
存器後,觸控螢幕控制器(touch panel controller)將發出一中斷告知微處理機(MPU)。
瑞佑科技 RAiO TECHNOLOGY INC.
47/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
VDD
RA8806
Touch Panel
39Kohm
X1
XL
X2
XR
Y1
YU
Y2
YD
0.01μF x 4
圖 6-18 : RA8806 觸控螢幕電路
在觸控螢幕功能的應用上,RA8806 提供兩種操作模式,分別是「手動模式」和「自動模式」。如下
表:
表 6-10
Operation
mode
Event
detection
Auto
Interrupt
當觸控事件發生時,讀回對應的 XY 座標值。
Interrupt
當觸控事件發生時,讀回對應的 XY 座標值。
Manual
Polling
瑞佑科技 RAiO TECHNOLOGY INC.
說
明
持續輪詢觸控事件,並讀回對應的 XY 座標值。
48/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-4-1 自動模式
自動模式是觸控螢幕功能的應用當中最簡單的。其原理與相關作法,請參考下列之流程圖(Flow
chart)。
(1) 流程圖 :
Start
Enable Touch Panel
ISR
( REG[C0h] B7 = 1 )
Set Auto Mode
Check INT Status
( REG[C4h] B7 = 0 )
0
( REG[0Fh] B0 = ? )
1
Enable TP INT Mask
( REG[0Fh] B4 = 1 )
Read X, Y-axis
( Read REG[C1h],
Ext. INT Event
REG[C2h], REG[C3h] )
Execute Function
Other Functions
Clear TP INT Status
( REG[0Fh] B0 = 0 )
ISR Termination
圖 6-19 : 觸控螢幕「自動模式」應用之流程圖
自動模式應用之相關暫存器如 表 6-11。
表 6-11
Reg.
Bit_Num
TPCR1
Bit 7
觸控螢幕功能的致能位元。
REG[C0h]
TPCR2
Bit 7
用來選擇「手動模式」或「自動模式」。
REG[C4h]
Bit 4
觸控螢幕硬體中斷的致能位元。
Bit 0
觸控事件之狀態位元。
INTR
說
明
暫存器編號
REG[0Fh]
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]。
Bit [1:0]
觸控螢幕 X 軸資料低二位元 Bit[1:0]。
TPZR
瑞佑科技 RAiO TECHNOLOGY INC.
49/127
REG[C3h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(2) 範例程式 :
Unsigned char X1,X2,Y1,Y2;
Touch_Panel_Enable ( );
TP_Auto_Enable ( );
TP_INT_Mask_Enable ( );
:
:
Execute other function
:
:
// Set TPCR1 Bit-7 to 1
// Set TPCR2 Bit-7 to 0
// Set INTR Bit-4 to 1
// Jump to ISR when interrupt
Int EXT_INT_Service_Routine
{
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead ( );
// ISR entry
// Check INT status
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
:
:
Execute corresponding function
:
:
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
{
:
:
}
}
瑞佑科技 RAiO TECHNOLOGY INC.
50/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-4-2 手動模式
所謂「手動模式」是指從「偵測觸控事件」到「閂鎖 X data 與 Y data」以及「讀出 XY 座標值」
的整個過程,都是由程式設計師以手動操作方式來完成。使用此一模式的優點在於,它給予程式
設計師更彈性的應用空間。換句話說,在手動模式下,所有觸控螢幕功能相關的暫存器都必須由
程式設計師來設定,以軟體(程式)控制的方法來實現觸控螢幕應有之功能。
另外,根據不同的設計,使用者可以「外部中斷告知模式」或「持續輪詢模式」來偵測觸控事
件,其中之差異將陸續加以說明。
6-4-2-1 外部中斷模式
在此一模式下,觸控事件的偵測幾乎和「自動模式」相同。其操作步驟如下所示:
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 座標值,並清除中斷的狀態值。
有關「外部中斷模式」之暫存器列表說明如下:
表 6-12
Reg.
Bit_Num
TPCR1
Bit 7
觸控螢幕功能的致能位元。
Bit 7
用來選擇「手動模式」或「自動模式」。
TPCR2
INTR
說
明
Bit [1:0]
觸控螢幕手動模式之選擇位元。
Bit 4
觸控螢幕硬體中斷的致能位元。
Bit 0
觸控事件之狀態位元。
暫存器編號
REG[C0h]
REG[C4h]
REG[0Fh]
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] 。
Bit [1:0]
觸控螢幕 X 軸資料低二位元 Bit[1:0] 。
TPZR
瑞佑科技 RAiO TECHNOLOGY INC.
51/127
REG[C3h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
應用外部中斷模式的流程圖與範例程式如下所示。
(1) 流程圖:
Start
ISR
Enable Touch Panel
( REG[C0h] B7 = 1 )
Check INT Status
Set Manual Mode
0
( REG[0Fh] B0 = ? )
( REG[C4h] B7 = 1 )
1
Enable TP INT Mask
Latch X Data
( REG[0Fh] B4 = 1 )
( REG[C4h][1:0] = 10 )
Latch Y Data
Wait for TP event Mode
( REG[C4h][1:0] = 01 )
( REG[C4h][1:0] = 11 )
Read X, Y-axis
Ext. INT Event
( Read REG[C1h],
REG[C2h], REG[C3h] )
Execute Function
Other Functions
Clear TP INT Status
( REG[0Fh] B0 = 0 )
ISR Termination
圖 6-20 : 觸控螢幕之手動模式流程圖
瑞佑科技 RAiO TECHNOLOGY INC.
52/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(2) 範例程式:
Unsigned char X1,X2,Y1,Y2;
Touch_Panel_Enable ( );
TP_Manual_Enable ( );
TP_INT_Mask_Enable ( );
Switch_Wait_TP_Event( );
:
:
Execute other function
:
:
Int EXT_INT_Service_Routine
{
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead ( );
// Set TPCR1 Bit-7 to 1
// Set TPCR2 Bit-7 to 1
// Set INTR Bit-4 to 1
// Set TPCR2[1:0] to 01b
// Jump to ISR when interrupt
// ISR entry
// Check INT status
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
:
:
Execute corresponding function
:
:
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
{
:
:
}
}
瑞佑科技 RAiO TECHNOLOGY INC.
53/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-4-2-2 輪詢模式
在輪詢模式(Polling Mode)模式下,使用者需要去決定觸控事件之後「消除機械彈跳」(debounce)的時間,以及栓鎖(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 座標值,並清除中斷的狀態值。
關於此一模式的暫存器設定,表列說明如下:
表 6-13
Reg.
Bit_Num
TPCR1
Bit 7
觸控螢幕功能的致能位元。
Bit 7
用來選擇「手動模式」或「自動模式」。
TPCR2
INTR
Bit [1:0]
Bit 3
Bit 0
說
明
暫存器編號
REG[C0h]
REG[C4h]
觸控螢幕手動模式之選擇位元。
觸控事件之偵測位元(僅用於觸控螢幕下之手動模
式)。
REG[0Fh]
觸控事件之狀態位元。
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] 。
Bit [1:0]
觸控螢幕 X 軸資料低二位元 Bit[1:0] 。
TPZR
REG[C3h]
為了偵測觸控事件之發生,程式設計師可以去檢查暫存器 INTR 的位元 3 或位元 0,其中之差
異,說明如下:
1. 暫存器 INTR 的位元 3「即時反應」了目前的觸控狀態。當觸控事件發生時,此位元是
1;反之,當無觸控事件發生時,此位元是 0,而且此位元是唯讀(read only)的,通常
使用於「輪詢模式」。
瑞佑科技 RAiO TECHNOLOGY INC.
54/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
2. 暫存器 INTR 的位元 0 則是記錄了觸控的狀態。當觸控事件發生時,此位元是 1,但當無
觸控事件發生時,它卻不會被自動清除為 0,必須由程式設計師來將它清除。此位元通常
使用於「外部中斷模式」。
值得注意的是,暫存器 INTR 的位元 3 是 ADC 電路的直接輸出,一旦有螢幕被碰觸,位元 3 的狀
態將即時被反應出來。當此一碰觸狀態未達穩定時,需要「消除機械彈跳」(de-bounced)來確
保此一碰觸為「有效的觸控事件」。因此,此一位元只有在手動模式才是有作用的。當 RA8806
設定為「自動模式」時,觸控事件將自動被偵測,並由系統來檢查是否為有效事件,只有是有效
的觸控事件,中斷才會產生。
應用輪詢模式的流程圖與範例程式如下所示。
(1) 流程圖:
Start
Enable Touch Panel
Latch X Data
( REG[C0h] B7 = 1 )
( REG[C4h][1:0] = 10 )
Set Auto Mode
Delay enough time
( REG[C4h] B7 = 1 )
Latch Y Data
Wait for TP event Mode
( REG[C4h][1:0] = 11 )
( REG[C4h][1:0] = 01 )
Delay enough time
Check TP Event
0
Read X, Y-axis
( REG[0Fh] B3 = ? )
( Read REG[C1h],
1
REG[C2h], REG[C3h] )
Check TP Event
valid
Execute Function
100 times ?
invalid
Clear TP INT Status
( REG[0Fh] B0 = 0 )
Other Function
圖 6-21 : 觸控螢幕輪詢模式之流程圖
(2) 範例程式:
Touch_Panel_Enable ( );
TP_Manual_Enable ( );
瑞佑科技 RAiO TECHNOLOGY INC.
// Set REG[C0h]. Bit-7 = 1
// Set REG[C4h]. Bit-7 = 1
55/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Switch_Wait_TP_Event( );
// Set REG[C4h] Bit[1:0] = 01
Touch_Sta_Valid = 0;
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead ( );
// Initial Touch state
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
:
Execute corresponding function
:
LCD_CmdWrite ( INTR );
// Clear REG[0Fh]. Bit-0
temp = LCD_DataRead ( ) & 0xfe;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
}
:
Execute other function
:
:
瑞佑科技 RAiO TECHNOLOGY INC.
56/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-4-3 觸控掃描取樣時間參考表
在使用觸控螢幕功能的自動模式時,為了避免觸控螢幕被接觸的瞬間訊號還不穩定,故需要延遲
一段取樣時間來等待訊號變穩定,而此處的觸控掃瞄取樣時間與觸控掃瞄頻率(ADC Clock)轉
換速度有相對的關係,我們建議當您在設定觸控掃瞄頻率(ADC Clock)轉換速度時,也請選擇
適 當 的 觸 控 掃 瞄 取 樣 時間,以避免觸控掃瞄取樣失敗的情況。下表為觸控掃瞄頻率(ADC
Clock)轉換速度(REG[C0h] 的 Bit[2:0]) 與觸控掃瞄取樣時間 (REG [C0h] 的 Bit [6:4]) 的參考對
照表。
表 6-13-A : 觸控掃描取樣時間參考表
ADC Sampling Wait Time - REG[C0h] Bit[6:4]
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
REG[C0h] [2:0]
瑞佑科技 RAiO TECHNOLOGY INC.
57/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 鍵盤的基本應用電路
鍵盤掃瞄功能相關之暫存器為 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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 6-14 : 短按鍵的對應碼(Normal Key)
ROW #
0
COL #
1
2
3
4
5
6
7
0
00h 01h 02h 03h 04h 05h 06h 07h
1
10h 11h 12h 13h 14h 15h 16h 17h
2
20h 21h 22h 23h 24h 25h 26h 27h
3
30h 31h 32h 33h 34h 35h 36h 37h
4
40h 41h 42h 43h 44h 45h 46h 47h
5
50h 51h 52h 53h 54h 55h 56h 57h
6
60h 61h 62h 63h 64h 65h 66h 67h
7
70h 71h 72h 73h 74h 75h 76h 77h
表 6-15 : 長按鍵的對應碼(Long Key)
ROW #
0
COL #
1
2
3
4
5
6
7
0
80h 81h 82h 83h 84h 85h 86h 87h
1
90h 91h 92h 93h 94h 95h 96h 97h
2
A0h A1h A2h A3h A4h A5h A6h A7h
3
B0h B1h B2h B3h B4h B5h B6h B7h
4
C0h C1h C2h C3h C4h C5h C6h C7h
5
D0h D1h D2h D3h D4h D5h D6h D7h
6
E0h E1h E2h E3h E4h E5h E6h E7h
7
F0h F1h F2h F3h F4h F5h F6h F7h
當應用多重組合按鍵時,所有按鍵的對應碼將被儲存在暫存器 KSDR0、KSDR1 和 KSDR2,值得注
意的是,數個對應碼儲存在暫存器 KSDR 主要是以對應碼值大小來排序,而與先後按鍵順序無關,請
參考下列的範例:
假設先後按下三個鍵,其對應碼分別為 0x44、0x00 和 0x22,則暫存器 KSDR 所儲存的內容如下:
KSDR0 = 0x00
KSDR1 = 0x22
KSDR2 = 0x44
按鍵的對應碼都定義在暫存器 KSDR0、KSDR1 和 KSDR2([A2h ~ A4h])的說明當中。另外則針對
鍵盤掃瞄功能相關的暫存器,列表說明如下:
瑞佑科技 RAiO TECHNOLOGY INC.
59/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 6-16
Reg.
KSCR1
KSCR2
Bit_Num
說
Bit 7
按鍵功能致能位元。
Bit 6
選擇鍵盤掃瞄矩陣。
Bit [5:4]
明
鍵盤掃瞄 De-bounce 取樣的次數。
Bit 3
長按鍵功能致能位元。
Bit [2:0]
鍵盤掃瞄頻率的設定。
Bit [3:2]
長按鍵時間的設定。
Bit [1:0]
告知幾個按鍵被按到。
Bit [7:0]
按鍵的對應碼。
暫存器編號
REG[A0h]
REG[A1h]
KSDR0
KSDR1
REG[A2h ~ A4h]
KSDR2
INTR
Bit 5
鍵盤掃瞄(Key-Scan)中斷的致能位元。
Bit 1
鍵盤掃瞄中斷狀態位元。
REG[0Fh]
除此之外,當系統在睡眠模式時,RA8806 亦允許用按鍵來喚醒系統,換言之,當有任何按鍵狀態發
生時,系統時脈將開始起振,並確認喚醒事件是否有效。如果為有效的喚醒事件,系統將在兩個
Frame 的時間之後點亮螢幕,而且系統亦將從睡眠模式回復到正常模式;假若並非為有效的喚醒事
件,則系統時脈將被關閉,且系統仍處於睡眠模式。喚醒功能相關的設定如下表所示:
表 6-17
Reg.
Bit_Num
KSCR2
Bit 7
鍵盤掃瞄喚醒功能的致能位元。
Bit 6
喚醒(Wakeup)中斷遮罩的致能位元。
Bit 2
喚醒中斷狀態位元。
INTR
說
明
暫存器編號
REG[A1h]
REG[0Fh]
當啟動(Enable)鍵盤掃瞄的功能之後,程式設計師可以使用兩種方法來檢查按鍵是否被按:
1)軟體檢查的方式:不斷檢查暫存器 INTR 的位元 1 來得知是否有按鍵被按。
2)硬體檢查的方式:由外部中斷的產生來得知有按鍵被按。
值得注意的是,無論採用上述那一種方式,暫存器 INTR 的位元 1 都將被設定為 1,因此程式設計師
在正確讀回按鍵的對應碼之後,必須將該位元清除為 0,否則之後的按鍵將無法正常發出中斷告知系
統。
瑞佑科技 RAiO TECHNOLOGY INC.
60/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
應用鍵盤掃瞄功能的流程圖與範例程式如下所示。
1. 軟體檢查的方式:
(1) 流程圖:
圖 6-23 : 鍵盤掃瞄功能的流程圖(1)
瑞佑科技 RAiO TECHNOLOGY INC.
61/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(2) 範例程式:
Key-Scan_Enable ( );
while (1)
{
LCD_CmdWrite ( INTR );
KS_Sta = LCD_DataRead ( );
KS_Sta = KS_Sta & 0x02;
If ( KS_Sta )
{
LCD_CmdWrite ( KSCR2 );
KeyNum = LCD_DataRead ( );
Switch(KeyNum)
{
Case 0:
// Key release
Case 1:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
// Do corresponding event
Case 2:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 );
KeyCode2 = LCD_DataRead ( );
// Do corresponding event
Case 3:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 );
KeyCode2 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR2 );
KeyCode3 = LCD_DataRead ( );
// Do corresponding event
}
LCD_CmdWrite ( INTR );
temp = LCD_DataRead ( );
temp = temp & 0xfd;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
// KSCR Bit-7 is set to 1
// Check Key-Scan status
// Read Key Press Number
// Read Key Code0
// Read Key Code0
// Read Key Code1
// Read Key Code0
// Read Key Code1
// Read Key Code2
// Clear Key-Scan status
}
}
瑞佑科技 RAiO TECHNOLOGY INC.
62/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
2. 硬體檢查的方式:
(1) 流程圖:
圖 6-24 : 鍵盤掃瞄功能的流程圖(2)
瑞佑科技 RAiO TECHNOLOGY INC.
63/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(2) 範例程式:
Key-Scan_Enable ( );
Key-Scan_INT_Mask_Enable ( );
:
Execute other functions
:
Int EXT_INT_Service_Routine
{
LCD_CmdWrite ( INTR );
INT_Sta = LCD_DataRead ( );
If ( INT_Sta & 0x02 )
{
LCD_CmdWrite ( KSCR2 );
KeyNum = LCD_DataRead ( );
Switch(KeyNum)
{
Case 0:
// Key release
Case 1:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
// Do corresponding event
Case 2:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 );
KeyCode2 = LCD_DataRead ( );
// Do corresponding event
Case 3:
LCD_CmdWrite ( KSDR0 );
KeyCode1 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR1 );
KeyCode2 = LCD_DataRead ( );
LCD_CmdWrite ( KSDR2 );
KeyCode3 = LCD_DataRead ( );
// Do corresponding event
}
LCD_CmdWrite ( INTR );
temp = LCD_DataRead ( );
temp = temp & 0xfd;
LCD_CmdWrite ( INTR );
LCD_DataWrite ( temp );
}
else if (INT_Sta & 0x01)
{
:
}
else if (INT_Sta & 0x04)
{
:
}
// Set Reg. KSCR1 Bit-7=1
// Set Reg. INTR Bit-5=1
:
// Jump to ISR when external interrupt
// ISR entry
// Check INT status
// Check if Key-Scan interrupt
// Read Key Press Number
// Read Key Code0
// Read Key Code0
// Read Key Code1
// Read Key Code0
// Read Key Code1
// Read Key Code2
// Clear Key-Scan status
// Check if Touch Panel interrupt
// Check if Wakeup interrupt
}
瑞佑科技 RAiO TECHNOLOGY INC.
64/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-6
系統時序和重置
6-6-1 振盪電路
RA8806 的系統時序可由內部振盪電路或外接時序兩種方式提供,兩者間的選擇不需用額外的接
腳 去 設 定 。 RA8806 內 建 有 晶 體 振 盪 電 路 , 它 結 合 外 部 在 XG 和 XD 兩 腳 間 的 石 英 振 盪 器
(4MHz~12MHz)和兩個電容産生系統時序,圖 6-25 是外接石英振盪電路和外接時序電路的接
法。
RA8806
RA8806
XG
XG
CLK
15pF
(4~12MHz)
X’tal
XD
XD
15pF (4~12MHz)
圖 6-25 : 系統時序電路
6-6-2 外部時序
RA8806 也可以接受外部時序來作為其系統時序,此時外部時序直接接到 XG 腳即可,而 XD 就必
須保持懸空。
tRCL
tFCL
tWH
EXT¢0
tWL
tC
圖 6-26 : 外部時序
表 6-18 : 外部時序參數
Signal
Symbol
tRCL
External clock rise time
tFCL
External clock fall time
External clock
HIGH-level pulse width
External clock
LOW-level pulse width
External clock period
tWH
EXT Φ0
Parameter
tWL
tC
VDD = 5V
Min.
Max.
—
10
—
10
Ta = –20 to 75℃
VDD = 3.3V
Min.
Max.
—
10
—
10
Unit
ns
ns
Note 1. Note 2. Note 1. Note 2.
ns
Note 1. Note 2. Note 1. Note 2.
ns
66.6
—
83.3
—
Condition
ns
註:
475
< t WH , t WL
1000
525
− t FCL ) ×
> t WH , t WL
1000
1. ( t C − t RCL − t FCL ) ×
2. ( t C − t RCL
瑞佑科技 RAiO TECHNOLOGY INC.
65/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-6-3 重置
RA8806 供電後要不少於 1024*tc 的時間來進行重置(Reset),以 6MHz 的系統頻率來說,其重
置脈衝寬度就要不少於 170.7µs。為了讓 RA8806 不出現誤動作,我們建議 RA8806 供電後一定
要進行重置動作。
RA8806
VDD
RA8806
100KΩ
From MCU
ZRST
ZRST
1uF
0.1uF
SW
(Option)
(1)
(2)
圖 6-27: 重置腳 ZRST 的接法範例
圖 6-27 是一重置電路接法範例,其重置動作可以用MPU去控制如 圖 6-27 的(1),也可由一RC
電路來産生如 圖 6-27 的(2)。
RA8806 在重置過程中不能接受MPU的任何指令,所以應在重置後才可對內部暫存器進行初始化
設定。而在重置過程中信號腳XD、LP和FR都會停止輸出信號。在VDD穩定同時重置腳 ”ZRST”
在上升沿之後最少延遲 1ms的時間再進行其他操作,這樣可確保系統的穩定性,詳細的參數要求
可參考 圖 6-28。
t RS
t RH
0.8VDD
VDD
Reset Complete
ZRST
t RST
0.8VDD
0.2VDD
Max.
Typ.
Min.
Unit
tRS
Reset setup time
--
--
1
ms
tRH
Reset hold time
--
--
1
ms
tRST
Reset active time
--
--
1024
t c (*)
*t C is the period of system clock,
for example: 10MHz, t C = 100ns
圖 6-28: 重置時序參數
瑞佑科技 RAiO TECHNOLOGY INC.
66/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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
VDDP
Core
VDD
VDDH
5V Æ 3V
AVDD
ADC
GNDP
GND
AGND
圖 6-29: 電源結構
6-7-2 3V電源應用電路
當RA8806 應用到 3V的系統上時,其功耗會更少,其電路接法建議如 圖 6-30。此時VDDP、
VDD和AVDD都必須接到 3V的電源上,而由於不使用內部DC/DC電路,所以VDDH保持浮接即
可。
3.3V
MCU
RA8806
3.3V
VDDP
VDD
VDD
0.47uH
VDDH
(Option)
AVDD
0.47uH
GNDP
(Option)
10u
0.1u 0.1u
GND
0.1u
AGND
GND
I/O
MCU I/F
圖 6-30: 3V 電源應用電路
瑞佑科技 RAiO TECHNOLOGY INC.
67/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
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 左右。
5V
MCU
RA8806
5V
VDDP
VDD
~3V
VDD
VDDH
0.47uH
AVDD
GNDP
(Option)
10u 0.1u
1u 0.1u
GND
0.1u
AGND
GND
I/O
MCU I/F
圖 6-31 : 5V 電源應用電路
瑞佑科技 RAiO TECHNOLOGY INC.
68/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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 收到進入睡眠模式的指令
進入睡眠,當 MPU 收到一個外部中斷,進入中斷服務程式(ISR),而此時正處於睡眠模式下的
RA8806 就不能正確接收和識別 MPU 發來的指令。在硬體設計方面,這種情況是不能避免的。因
為這外部中斷是只針對 MPU 的,而並沒有對 RA8806 有任何的操作,所以這情況出現的可能性
是不可忽略的。
所以,我們建議在 MPU 程式設計時,當給 RA8806 發進入睡眠模式指令之前先把 MPU 的中斷響
應關閉,直到退去睡眠模式返回到正常模式後再打開 MPU 的中斷響應。另外,因為在睡眠模式下
可以正常讀取其狀態暫存器,所以也可以在中斷服務程式(ISR)中判斷 RA8806 的狀態。如果
檢測到 RA8806 是處於睡眠狀態,MPU 可以退去中斷服務程式(ISR)不作任何操作,這可避免
RA8806 發生誤動作。
表 6-19
Reg.
Bit_Num
WLCR
Bit 7
瑞佑科技 RAiO TECHNOLOGY INC.
說
明
電源模式選擇 - 正常模式 或 睡眠
模式。
69/127
暫存器編號
REG[00h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-8
中斷與忙碌
RA8806 提供有一中斷信號輸出腳(INT)給 MPU 去響應 RA8806 的中斷事件,也提供了一忙碌
(Busy)信號輸出腳給 MPU 去判斷 RA8806 是否處於忙碌狀態。這兩個信號都可以通過相關暫存器
的設置來改變其是高電位觸發還是低電位觸發。
6-8-1 中斷(Interrupt)
RA8806 的中斷信號會在以下事件發生時産生:
Touch Panel 發生被觸摸事件時
Key-Scan 被按下時
睡眠模式下被喚醒時
這些中斷事件的遮罩(Disable)或致能(Enable)可以通過對暫存器 REG[0Fh] 的設置來控制。
另外,RA8806 還提供了軟體中斷功能,當用戶的系統不能支援硬體中斷信號時,可以通過詢問
的方式進行軟體中斷。要進行硬體中斷時,用戶必須要把中斷遮罩位元(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/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
例 -1:
圖 6-32 是喚醒事件産生中斷時中斷信號INT的時序,RA8806 提供了三種喚醒事件,具體請參考
第 6-7-4 節 “睡眠模式” 中的說明。
t INTST
Wake-Up
Event
INT
圖 6-32: 中斷時序(1)
t INTST = Clock Stable Time + 1024*t C
當用戶的系統頻率是 6MHz 時,其時序穩定時間(Clock Stable Time)大約為 3~3.5ms,而 t C
為 167ns。
例 -2:
圖 6-33 是Key-Scan事件發生時中斷信號INT的中斷時序。
t INTST
Key-Scan
Event
INT
圖 6-33 : 中斷時序(2)
t INTST = De-bounce Time + t CKEY
其中 “De-bounce Time” 可通過暫存器 REG[A0h] Bit[5:4] 來設置,而 tCKEY 是按鍵掃描週期,可通
過暫存器 REG[A0h] Bit[2:0] 來設置。
要注意的是,因為其中斷標誌位元不會自動清除,所以用戶必須在進入中斷程式後手動清為 ”0”。
瑞佑科技 RAiO TECHNOLOGY INC.
71/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
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
Display
Data RAM
Memory-Write
LCD-Scan
Interface
Controller
MCU
LCD
Driver
圖 6-34 : Data 在 DDRAM 裏的傳輸情況
XCLK
LP
COM_SCAN
ITCR
T_COM
圖 6-35 : 每根 COM 線的掃描情況
瑞佑科技 RAiO TECHNOLOGY INC.
72/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
記憶體寫入忙碌(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] Bit5 的設置來選擇是高電平觸發或是低電平觸發。
RS, ZCS1
t BST
ZWR
DATA[7:0]
(Write)
t BUSY
BUSY
圖 6-36 : BUSY 時序圖
表 6-20 : BUSY 參考時序
Signal
Symbol
Rating
Parameter
t BST
Busy Setup Time
t BUSY
Busy Active Time
BUSY
瑞佑科技 RAiO TECHNOLOGY INC.
Unit
Min
Max
Half Size Font
150
--
ns
Full Size Font
250
Half Size Font
--
50*t c
ns
Full Size Font
--
100*t c
ns
73/127
Condition
System Clock:
8MHz
VDD: 5V
t c = 125ns
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-9
脈寬調變(PWM)
RA8806 提供一個可調節的脈寬調變(PWM)輸出給 LCD 進行對比度調節。其 PWM 的頻率和工作
週期(Duty cycle)都可以通過相關暫存器的設置來調整。PWM 的輸出驅動能力較其它輸出信號為
大,大約是 4 倍於一般的輸出腳的驅動能力。除此之外,如果 PWM 的功能被禁能,此腳位也可當成
一般的 IO 信號來使用,相關的功能設定,請參考以下的表格。
表 6-21
Reg.
Bit_Num
Bit 7
PCR
PDCR
說
明
暫存器編號
PWM 功能致能位元。
Bit [3:0]
PWM 來源時脈的除頻設定。
Bit [7:0]
PWM 工作週期(Duty Cycle)選擇。
REG[D0h]
REG[D1h]
下圖是兩個關於 PWM 輸出的例子:
TPWM
TL
TH
Example-1:
System Clock = 10Mhz,
Register PCR Bit[3:0] = 0001b Æ Clock Source = 10MHz/2 = 5MHz
TPWM = 256*(1/5MHz) = 51.2µs
Register PDCR Bit[7:0] = 0Fh Æ
TH = 16*(1/5MHz) = 3.2µs
TL = (256-16) * (1/ 5MHz) = 48µs
TPWM
TH
TL
Example-2:
System Clock = 10Mhz,
Register PCR Bit[3:0] = 0010b Æ Clock Source = 10MHz/4 = 2.5MHz
TPWM = 256*(1/2.5MHz) = 102.4 µs
Register PDCR Bit[7:0] = 7Fh Æ
TH = 128*(1/2.5MHz) = 51.2µs
TL = (256-128) * (1/ 2.5MHz) = 51.2µs
圖 6-37 : PWM_OUT 輸出脈衝
瑞佑科技 RAiO TECHNOLOGY INC.
74/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
圖 6-38 是應用PWM調節正極性的驅動電壓VLCD的應用電路。圖 6-39 是應用PWM調節負極性的驅
動電壓VLCD的應用電路。
圖 6-38 : PWM 控制正極性的 VLCD 的應用電路
圖 6-39 : PWM 控制負極性的 VLCD 的應用電路
瑞佑科技 RAiO TECHNOLOGY INC.
75/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10 顯示功能
6-10-1 字元/圖形模式
RA8806 支援兩種自MPU寫入記憶體的模式,字元模式和圖形模式,當設定圖形模式時,資料是
以點陣的方式直接寫入記憶體,而在字元模式下,寫入的資料是以字碼的形式被寫入RA8806,
而寫入的字碼會再到CGROM中讀出相對的字型碼而後寫入記憶體。RA8806 內建的CGROM提供
兩種不同大小的字元 : 1)是半型字(8x16 點),2)是全型字(16x16 點),圖 6-40 為字型的
範例。
16X16 font
8X16 font
圖 6-40 : 全型字與半型字
6-10-1-1 圖形顯示
RA8806 圖形模式是使用點陣方式來填資料到顯示記憶體,圖 6-41 為圖形顯示的例子。
1. Setup Register WLCR, TEXT_MD = 0
2. Write bit map to Display Data Memory directly.
圖 6-41 : 圖形模式
RA8806 支援最大 320X240 的解析度,因此它需要 9.6Kbyte(320X240/8 = 9600)的顯示記憶
體來儲存每個畫素的資料,圖 6-42 顯示了LCD 面板與顯示記憶體間的對照方式。
瑞佑科技 RAiO TECHNOLOGY INC.
76/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Segment
D7 D6 D5 D4 D3 D2 D1 D0 1 1
1 0
0 1
1
0
1
2
3
4
5
6
7
…..
0
Display Data RAM
Display On LCD
圖 6-42 : LCD 面板與顯示記憶體間的對照
RA8806 提供能將一筆資料填滿整個顯示記憶體的自動寫入功能。首先,使用者把資料寫入暫存
器 PNTR,接著將自動寫入功能啟動(暫存器 FNCR 位元-3)。RA8806 將把這筆資料在很短的
時間內填滿顯示記憶體。這個功能通常被使用於清除螢幕或是想要填滿固定的資料或背景在螢幕
上。
表 6-22
Reg.
Bit_Num
WLCR
Bit 3
說
明
暫存器編號
REG[00h]
文字模式選擇。
6-10-1-2 半型字
RA8806 內建四個半型字的區塊,每個區塊包含了 00h ~ FFh 的 256 個字型,而且能用暫存器
[F0h] bit[1:0] 來選擇。依照著暫存器[F0h] bit[1:0]的設定,相對應的區塊將被選擇。關於字型碼的
對應位置,請參照字碼表 A。RA8806 也支援可以提供大部份 Latin 字型碼設定的 ISO8859 字型
碼(ISO - International Organization for Standardization)。在此模式下,RA8806 內部的字型碼
對照表可以對應到 ISO8859-1 ~ ISO8859-4 的字型碼。
表 6-23
Reg.
FNCR
Bit_Num
說
明
Bit 7
ISO8859 模式。
Bit 2
ASCII 模式致能。
Bit [1:0]
ASCII 區塊選擇。
瑞佑科技 RAiO TECHNOLOGY INC.
77/127
暫存器編號
REG[F0h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10-1-3 全型字
RA8806 有三種形式的 CGROM,例:RA8806-S 、RA8806-T 和 RA8806-J。RA8806-S 包含了
標準 GB 字型碼的簡體字型;RA8806-T 則包含了標準 BIG5 字型碼的繁體字型;RA8806-J 則包
含了 JIS 第一及第二水準日文漢字。字碼表請參照簡體中文字碼表、繁體中文字碼表和日文漢字
字庫表(RA8806_DS_V12_Font_JIS.pdf)。
表 6-24
Reg.
Bit_Num
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” 依序
傳給 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-JIS
碼(簡稱S-JIS) 就必須透過另一個轉換程序,先將S-JIS碼換成JIS碼。S-JIS是日本電腦系統常用
的編碼,因為它能容納 全形及 半形拉丁字母、平假名、片假名、符號及 日語漢字。它被命名為
Shift_JIS的原因,是它在放置全形字符時,要避開原本在 0xA1 ~ 0xDF放置的半角假名字符。
下圖是 S-JIS 到 JIS 碼及 JIS 碼到 RA8806-J 需求碼的轉換流程,同時也將轉換程式附上給使用者
參考。例如 ”粟” 字的 S-JIS 碼是 ”88BE”,換算成 JIS 碼為 “3040”,同上所述 JIS 轉成的新碼
為 ”B060”,將 ”B0” 及”60” 依序傳給 RA8806-J,就能秀出 ”粟” 的日文漢字。再例如 ” 甌” 字的 SJIS 碼是 ”E14D”,換算成 JIS 碼為 “612E”,同上所述 JIS 轉成的新碼為 ”E14E”,將 ”E1” 及”4E”
依序傳給 RA8806-J,就能秀出 ” 甌” 的日文漢字。
瑞佑科技 RAiO TECHNOLOGY INC.
78/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
SJIS-Low Byte
SJIS-High Byte
81h ~ 9Fh
E0h ~ FFh
-81h
40h ~ 7Eh
80h ~ 9Eh
-C1h
9Fh ~ FCh
-01h
00h ~ 2Eh
40h ~ 9Dh
左移1 bit + N
-7Eh
-1Fh
00 h ~ 5Dh
+21h
N=0
21h ~ 7Eh
(JIS-High Byte)
N=1
21h ~ 7Eh
(JIS-Low Byte )
+80h
If >=0x60
If < 0x60
+40h
A1h ~ FEh
(RA8806 ROM Code -High Byte )
+20h
A0h ~ BEh / 41h ~ 7Fh
(RA8806 ROM Code-Low Byte)
圖 6-43 : S-JIS 到 RA8806-J 需求碼的轉換流程
//===================================================
// Main Program
//===================================================
void main(void)
{
LCD_Reset();
LCD_Initial();
LCD_ON();
LCD_Clear();
LCD_Text();
// Turn on the screen
// Clear display memory all
// Switch display mode to “Text mode”
LCD_GotoXY(0, 0);
LCD_Print_J_Str(SJIS_string, 20);
}
// SJIS_string is a string include Shifit - JIS Code
//===================================================
// Subroutine : Transform SJIS to JIS
//===================================================
void LCD_Print_JIS_Str(uchar *ptr, int char_num) // string pointer , char numbers
{
int temp = 0;
unsigned char SJIS_HB, SJIS_LB, JIS_HB, JIS_LB, LSB;
while(temp < char_num)
{
if(ptr[temp] <= 0x7F)
{
瑞佑科技 RAiO TECHNOLOGY INC.
// ASCII Code : 0x00 ~ 0x7F
79/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
LCD_DataWrite(ptr[temp]);
temp++;
}
else
{
// Full Size font display
SJIS_HB = ptr[temp];
temp++;
SJIS_LB = ptr[temp];
temp++;
//========================================
// Transform SJIS Low Byte
//========================================
if(SJIS_LB >= 0x9F)
{
JIS_LB = SJIS_LB - 0x7E;
LSB = 0x01;
}
else if(SJIS_LB <= 0x7E)
{
JIS_LB = SJIS_LB - 0x1F;
LSB = 0x00;
}
else
{
JIS_LB = SJIS_LB - 0x20;
LSB = 0x00;
}
//========================================
// Transform SJIS High Byte
//========================================
if(SJIS_HB >= 0xE0)
{
SJIS_HB = SJIS_HB - 0xC1;
}
else if(SJIS_HB <= 0x9F)
{
SJIS_HB = SJIS_HB - 0x81;
}
JIS_HB = (((SJIS_HB << 1) & 0xFE) | LSB) + 0x21;
//========================================
// Write JIS Code
//========================================
JIS_HB = JIS_HB + 0x80;
if(JIS_LB >= 0x60)
JIS_LB = JIS_LB + 0x40;
else
JIS_LB = JIS_LB + 0x20;
LCD_DataWrite(JIS_HB);
LCD_DataWrite(JIS_LB);
}
}
}
瑞佑科技 RAiO TECHNOLOGY INC.
80/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10-1-4 粗體和反白
RA8806 支援粗體和反白字型,使用者只需在寫入相對應的字型碼給 RA8806 之前,先設定好對
應的暫存器裡的相關位元。
16X16 inverse font
8X16 inverse font
16X16 bold font
8X16 bold font
圖 6-44 : 粗體和反白字型
表 6-25
Reg.
Bit_Num
WLCR
WCCR
說
明
Bit 3
文字模式選擇。
Bit 2
顯示開啟/關閉選擇設定。
Bit 1
閃爍模式選擇。
Bit 0
反白模式選擇。
Bit 4
粗體字(只支援文字模式)。
暫存器編號
REG[00h]
REG[10h]
6-10-1-5 雙圖層顯示
RA8806 內建為了雙圖層顯示的二個顯示記憶體,暫存器 MAMR 被使用來設定顯示出來的效果和
顯示記憶體 1(DDRAM1)和顯示記憶體 2(DDRAM2)間的關係,顯示出來的效果如下列六種
組合。
‹
‹
‹
‹
顯示 DDRAM1 的資料
顯示 DDRAM2 的資料
顯示 ”DDRAM1 OR DDRAM2” 的資料
顯示 ”DDRAM1 XOR DDRAM2” 的資料
瑞佑科技 RAiO TECHNOLOGY INC.
81/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
‹
‹
顯示 ”DDRAM1 NOR DDRAM2” 的資料
顯示 ”DDRAM1 AND DDRAM2” 的資料
請參照 圖 6-45 和暫存器MAMR Bit[6:4] 和 Bit[3:2] 的敘述。
DDRAM1
Visible Display
DDRAM2
1
Controller
2
Controller
3
Controller
4
Controller
OR
Controller
NOR
Controller
XOR
Controller
AND
roller
圖 6-45 : 雙圖層顯示
表 6-26
Reg.
MAMR
Bit_Num
說
明
Bit [6:4]
顯示圖層選擇。
Bit [3:2]
雙圖層模式選擇。
瑞佑科技 RAiO TECHNOLOGY INC.
82/127
暫存器編號
REG[12h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10-1-6 行間距
RA8806 提供調整行與行間距的功能,尤其在顯示中文時,在行與行之間加上一些空白看起來會
更好,此間距的範圍為 1 ~ 16 pixel。而只要此間距被設定好,游標將會自動移到每一行的適當位
置。
設定暫存器 CHWI 的低位元組(Bit[3:0]),使用者可以調整行與行的間距。需提醒的是,當
RA8806 操作在 90 度模式時,不論字型的大小為何,行與行的間距只可被設定為 0 pixel 或 8
pixel。此二種間距的選擇依據暫存器 CHWI Bit-3。
表 6-27
Reg.
Bit_Num
CHWI
說
明
Bit [7:4]
游標高度設定。
Bit [3:2]
行間距設定。
暫存器編號
REG[11h]
6-10-2 灰階掃描顯示
RA8806 是依據FRC方法所產生的 4 灰階掃描顯示。在灰階階層顯示模式下,RA8806 結合了顯
示記憶體 1 和顯示記憶體 2 的資料來組成灰階圖案。每個灰階位元的顯示包含了二個顯示記憶體
位元的資料。資料[00b]代表空的位元顯示而資料[11b]代表全黑的位元顯示。[01b]和[10b]將為一
共享時間方法(time sharing)而達成的 1/3 和 2/3 亮度。請參考 圖 6-46。
.
7 6 5 4 3 2 1 0
3a 3b 2a 2b 1a 1b 0a 0b
7 6 5 4 3 2 1 0
3a 3b 2a 2b 1a 1b 0a 0b
7a 7b 6a 6b 5a 5b 4a 4b
DDRAM2
DDRAM1
7a 7b 6a 6b 5a 5b 4a 4b
Gray-Scale Display
Bit-a
Bit-b
Gray-Level
0
0
1
0
1
2
1
0
3
1
1
4
DDRAM1: Display Data RAM #1
DDRAM2: Display Data RAM #2
In Gray-Scale mode, both DDRAM are used.
圖 6-46 : 4 灰階顯示的對映方式
瑞佑科技 RAiO TECHNOLOGY INC.
83/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
依照著資料寫入的順序,RA8806 支援了二種灰階掃描顯示的資料輸入方法。使用者可以像一般
圖形顯示方法一樣來寫入資料。
1. 先水平移動然後垂直移動。
2. 先垂直移動然後水平移動。
Horizontal-Write (Panel Resolution: 320 x 240)
1st byte
2nd byte
3rd byte
40th byte
41th byte
42th byte
43th byte
80th byte
81th byte
82th byte
83th byte
120th byte
N+1th byte
N+2th byte
N+3th byte
N+40th byte
圖 6-47 : 水平資料寫入的順序
Vertical-Write (Panel Resolution: 320 x 240)
1st byte
241nd byte
Nth byte
2th byte
242th byte
N+1th byte
3rd byte
243th byte
N+2th byte
240th byte
480th byte
N+240th byte
圖 6-48 : 垂直資料寫入的順序
瑞佑科技 RAiO TECHNOLOGY INC.
84/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
關於暫存器的設定,請參照下面的暫存器。
表 6-28
Reg.
MAMR
Bit_Num
Bit 7
Bit [6:4]
說
明
暫存器編號
游標自動移動方向。
REG[12h]
灰階模式選擇。
下面為一 4 灰階圖案顯示的例子,而程式撰寫的例子為在此圖之下:
圖 6-49 : 4 灰階圖案顯示的例子
範例程式:
LCD_Graphic();
Gray_Mode();
Scan_Diret_H_V();
right
LCD_GotoXY( 0 , 0 );
LCD_CmdWrite( 0xB0 );
for ( i = 0 ; I < 4800 ; i++ )
{
LCD_DataWrite( 0x00 ) ;
}
for ( i = 0 ; I < 4800 ; i++ )
{
LCD_DataWrite( 0x55 ) ;
}
for ( i = 0 ; I < 4800 ; i++ )
{
LCD_DataWrite( 0xAA ) ;
}
for ( i = 0 ; I < 4800 ; i++ )
{
LCD_DataWrite( 0xFF ) ;
}
瑞佑科技 RAiO TECHNOLOGY INC.
// Set graphic mode
// Set REG[12h] Bit[6:4] to 000b, as gray level display
// Set REG[12h] Bit-7 to 0, Cursor moves from left to
// Write memory command
// Write data
// Gray Level 1 ( 00 )
// Gray Level 2 ( 01 )
// Gray Level 3 ( 10 )
// Gray Level 4 ( 11 )
85/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10-3 字型大小調整和字寫入的時間
RA8806 提供文字大小調整功能。存在 RA8806 字型 ROM 裡有二種形式的字:半型字(8x16
pixels)和全型字(16x16 pixels)。文字大小調整提供字型在水平和垂直方向 1 到 4 倍的放大功
能。程式設計者可以藉著設定暫存器 FTHT[7:4]來調整字型的大小。
表 6-29
Reg.
FVHT
Bit_Num
說
Bit [7:6]
文字水平寬度調整。
Bit [5:4]
文字垂直高度調整。
明
暫存器編號
REG[F1h]
圖 6-50 為字型放大的 2 個例子:
2x1 enlarged 8x16 font
1x2 enlarged 16x16 font
圖 6-50 : Font Size Adjustment
此外,文字大小調整功能只有在文字顯示模式下有效,但在下面的二種顯示模式下也有效:
‹ 顯示使用者自行創造出的字型。
‹ 90 度文字和旋轉顯示模式。
瑞佑科技 RAiO TECHNOLOGY INC.
86/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
在寫下完整的字型碼之後(One byte:半型字、Two bytes:全型字),RA8806 將需要一段足夠
的時間把資料寫進顯示記憶體(請參照第 6-8 節 “中斷與忙碌” 及第 6-8-2 節內 ”Memory Write
Busy” 的敘述)。寫進的時間依字型放大的倍率而有所不同。其計算公式如下:
Tfw = ( 16*tc + 32*tc x ( HW x VH ) ) x ( 1 + 10% )
Tfw : 文字寫進時間(Font Write time)
tc : 系統頻率(System clock period)
HW : 水平放大倍率(Horizontal enlargement multiplier)
VH : 垂直放大倍率(Vertical enlargement multiplier)
此 處 有 10% 是 給 彈 性 錯 誤 考 量 。 請 參 照 以 下 的 例 子 : ( 系 統 頻 率 約 為 4MHz , 而 tc 為
250ns。)
表 6-30 : 文字寫進顯示記憶體
字形放大倍數
寫進顯示記憶體時間(μS)
建議等待時間(μS)
1x1
12
13.2
2x2
36
39.6
3x3
76
83.6
4x4
132
145.2
除了計算寫進的時間和延遲外,程式設計者也可以檢查忙碌(Busy)的狀態來知道文字是否已經
被寫進顯示記憶體。請參照狀態暫存器(Status Register)的忙碌(Busy)敘述。
瑞佑科技 RAiO TECHNOLOGY INC.
87/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-10-4 文字垂直顯示
RA8806 另有一個非常獨特的 “文字垂直顯示” 功能。此功能使得一般顯示變成垂直顯示。此意思
代表原本 320x240 的模組可以被使用成一個 240x320 的模組以垂直方式來顯示內建的字型或資
料,而不需要改變掃描的方向或是LCD驅動的線路編排。此功能為在暫存器WCCR Bit-3 設定的
一個選擇。當WCCR Bit-3 =1(文字旋轉模式),文字將被寫進為垂直顯示。圖 6-51 為文字垂直
顯示的一個例子:
0
7
0
0
15
0
7
15
Vertical Display
Normal Display
圖 6-51: 文字垂直顯示
在垂直顯示模式下,游標移動方向是由上到下。且游標的顯示樣式和一般顯示模式下不同。(請
參照第 6-13-4 節 ”游標的寬度和高度” 中完整的敘述。)
因為有此卓越的旋轉功能,假如使用者選擇一個 240x160 的模組,然後他將非常簡單地使用原本
的模組來當成一個 160x240 的模組。下方 圖 6-52 為一 320x240 模組旋轉到 240x320 的應用。
在一般模式下,假設寫入的文字為”RAIO”,則螢幕顯示如 圖 6-52(1)。而當先設定T90DEG
(REG[10h] 的Bit-3)= 1 和CDIR(REG[01h] 的Bit-0)= 1 時,寫入文字 ”RAIO” 將螢幕顯示將
如 圖 6-52(2)。
COM239
SEG0
SEG0
COM0
COM0
RAiO
SEG319
RAiO
COM239
(1) 320x240 for Normal use
SEG319
(2) As a 240x320 Application
T90DEG = 1 , CDIR = 1
圖 6-52 : 文字水平與垂直顯示
瑞佑科技 RAiO TECHNOLOGY INC.
88/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
有關文字旋轉功能的相關的暫存器表如下:
表 6-31
Reg.
Bit_Num
WCCR
Bit 3
文字旋轉模式致能。
REG[10h]
MISC
Bit 0
COM 方向選擇。
REG[01h]
說
明
暫存器編號
除了游標顯示功能外、其它的功能在文字旋轉模式下運作皆和一般模式下的行為一樣,包括:
1)文字放大功能
2)文字對齊功能
3)行間距調整功能
4)旋轉功能
瑞佑科技 RAiO TECHNOLOGY INC.
89/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-11 使用者自創字型
RA8806 內建一個 512Byte CGRAM 提供給使用者創造新的字型。使用者可以創造字型、特別的符
號或數據在此記憶體裡。假設使用者只使用一個顯示記憶體(DDRAM),另一個顯示記憶體也可被
當成一個 CGRAM 來使用。
因此,RA8806 提供了三個區域來給使用者創造新的字型(標幟或數據)如下:
1. 512 Bytes CGRAM。
2. 9.6K Bytes DDRAM1(當使用者只讓 DDRAM2 的資料顯示在螢幕上)。
3. 9.6K Bytes DDRAM2(當使用者只讓 DDRAM1 的資料顯示在螢幕上)。
表 6-32 : 字型碼的對映範圍
Region
Size
CGRAM
512 bytes
DDRAM1
9.6 Kbytes
DDRAM2
9.6 Kbytes
Code and Range
Capacity
半型字 : 8F00h ~ 8F1Fh
32 Half-Size chars
全型字 : 9F00h ~ 9F0Fh
16 Full-Size chars
半型字 : 8000h ~ 8E27h
600 Half-Size chars
全型字 : 9000h ~ 9E13h
300 Full-Size chars
半型字 : 8000h ~ 8E27h
600 Half-Size chars
全型字 : 9000h ~ 9E13h
300 Full-Size chars
6-11-1 在CGRAM創造字型
此CGRAM為一 512Byte RAM,所以它可以創造 32 個半型字或 16 個全型字。表 6-33 為一字型
碼對應到CGRAM的表。注意在RA8806 裡字型碼是限定的。且FONT#被定義在暫存器CURY
Bit[3:0]裡。
表 6-33 : CGRAM 字型碼對映表
Font#
Code
0
1
2
3
4
5
6
7
Half-Size 8F00 8F01 8F02 8F03 8F04 8F05 8F06 8F07 8F08 8F09 8F0A 8F0B 8F0C 8F0D 8F0E 8F0F
Full-Size
9F00
9F01
9F02
9F03
9F04
9F05
9F06
9F07
Font#
Code
8
9
10
11
12
13
14
15
Half-Size 8F10 8F11 8F12 8F13 8F14 8F15 8F16 8F17 8F18 8F19 8F1A 8F1B 8F1C 8F1D 8F1E 8F1F
Full-Size
9F08
9F09
瑞佑科技 RAiO TECHNOLOGY INC.
9F0A
9F0B
90/127
9F0C
9F0D
9F0E
9F0F
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
0000
0000
0001
0001
0010
0010
0011
0011
0100
0100
0101
0101
0110
0110
0111
0111
1000
1000
1001
1001
1010
1010
1011
1011
1100
1100
1101
1101
1110
1110
1111
1111
(1) Full-size Font
(2) Half-size Font
圖 6-53 : 創造全型字與半型字的範例
在 CGRAM 裡使用者創造字型暫存器的相關設定,請參照下面的表格:
表 6-34
Reg.
Bit_Num
Bit 7
MAMR
說
明
暫存器編號
游標自動增加致能。
Bit [6:4]
顯示組合模式。
Bit [1:0]
寫入週期記憶體選擇。
REG[12h]
Bit[4:0] 為給寫入創造字型的位元對應
資料之位址。當要創造一個全形字,
CURX
Bit [4:0]
通常設定為 0。而在創造半形字時,
REG[60h]
奇數半形字碼通常設定為 0,而偶數
半形字則設定為 10 h。
CURY
Bit [3:0]
瑞佑科技 RAiO TECHNOLOGY INC.
指示哪一個字型碼資料被創造。
91/127
REG[70h]
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
CGRAM
Create Font
Set the CURX to 0(First
byte in font)
Set MAMR to access
CGRAM
Set display data is
DDRAM1 or DDRAM2
Set CURY
(It indicates which font will
be created) (*1)
Write memory write command
(B0h) and write the font data
sequentially. (*2)
Write the corresponding code
to show the font on active
display layer (*3)
圖 6-54 : 在 CGRAM 創造字型的流程圖
註:
1. 此 CGRAM 大小為 512 bytes 且包括了 16 個 16x16 個全型或是 32 個 8x16 個半型使用
者創造字。每一個全型字包含 32bytes。
2. 為了創造全型字,在設定好CURY(0~15)和CURX設定為 0 後,一個使用者創造字型
位元對應可被 32 個記憶體寫入週期所填滿,而後CURY將增加 1。請參照下方的程式例
子(1)。結果顯示在 圖 6-53(1)。
3. 為了創造半型字,在設定好CURY(0~15)和CURY設定為 0(odd font)或是 10h
(even font)後,一個使用者創造字型位元對應可被 16 個記憶體寫入週期所填滿。請參
照下方的程式例子(2),結果顯示在 圖 6-53(2)。
4. CGRAM字型碼半型字為 8F00~8F1F,而全型字為 9F00~9F0Fh。請參考 表 6-32。
範例程式(1):
// Create a full-size font in CGRAM and show on the screen.
// font_data[] = {00, 00, 07, 1F, 20, 67, 68, 09, 1A, 15, 16, 15, 12, 1F, 00, 00,
// 00, 00, E0, F8, 04, E6, 16, 90, 58, A8, 68, A8, 48, F8, 00, 00}
Access_CGRAM();
// MAMR[1:0] = 00b
Only_Show_DDRAM1();
// MAMR[6:4] = 001b
LCD_CmdWrite( CURY );
// Create 6th full-size character
LCD_DataWrite( 0x05 );
LCD_CmdWrite( CURX );
// Write font-data from 1st byte
LCD_DataWrite( 0x00 );
LCD_CmdWrite( MWCR);
// B0h, Memory write command
for( i = 0; i < 32; i++ )
// 32 continuous write for font bit-map
{ LCD_DataWrite( font_data[i] );
Delay2us(50);
}
Access_DDRAM1();
LCD_Text();
LCD_GotoXY( 5 , 5 );
// Set Cursor position ( 5 , 5 )
LCD_CmdWrite( MWCR);
// Corresponding font code( 9F05h )
LCD_DataWrite( 0x9F );
LCD_DataWrite( 0x05 );
// Show as (1) of 圖 6-53
瑞佑科技 RAiO TECHNOLOGY INC.
92/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
範例程式(2):
// Create a half-size font in CGRAM and show on the screen.
// font_data[] = {00, 82, 44, 28, FE, 10, 10, 10, FE, 10, 10, 38, 54, 92, 10, 00}
Access_CGRAM();
// MAMR[1:0] = 00b
Only_Show_DDRAM1();
// MAMR[6:4] = 001b
LCD_CmdWrite( CURY );
// Create 6th half-size char
LCD_DataWrite( 0x02 );
LCD_CmdWrite( CURX );
// Write font-data from 1st byte
LCD_DataWrite( 0x10 );
LCD_CmdWrite( MWCR);
// B0h, Memory write command
for( i = 0; i < 16; i++ )
// 16 continuous write for font bit-map
{
LCD_DataWrite( font_data[i] );
Delay2us(50);
}
Access_DDRAM1();
LCD_Text();
LCD_GotoXY( 5 , 5 );
// Set Cursor position ( 5 , 5 )
LCD_CmdWrite( MWCR);
// Corresponding font code( 8F05h )
LCD_DataWrite( 0x8F );
LCD_DataWrite( 0x05 );
// Show as (2) of 圖 6-53
6-11-2 在顯示記憶體裡創造字型
顯示記憶體為 9.6KByte RAM,所以它可以創造 600 個半型字或 300 個全型字。表 6-36 為半型
字在顯示記憶體裡的字型碼對照表。
表 6-37 為全型字在顯示記憶體裡的字型碼對照表,這些字型碼在 RA8806 也為限定的。此時暫
存器 CURX 和 CURY 是用來指定位元對應資料(bit-map data)來創造字型的位址。
在顯示記憶體(DDRAM)裡使用者創造字型暫存器的相關設定,請參照下面的表格:
表 6-35
Reg.
Bit_Num
Bit 7
MAMR
說
明
暫存器編號
游標自動增加致能。
REG[12h]
Bit [6:4]
顯示組合模式。
Bit [1:0]
寫入週期記憶體選擇。
CURX
Bit [5:0]
此二暫存器用來指示哪一個字型碼將
REG[60h]
CURY
Bit [7:0]
被創造。
REG[70h]
瑞佑科技 RAiO TECHNOLOGY INC.
93/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 6-36 : DDRAM1 與 DDRAM2 造半型字時的字型碼對映表
CURX
CURY
0
1
2
........................................
26
27
0
1
2
........................................
26
27
0
00
8000 8001 8002 ........................................
8026 8027
1
10
8100 8101 8102 ........................................
8126 8127
2
20
8200 8201 8202 ........................................
8226 8227
3
30
8300 8301 8302 ........................................
8326 8327
4
40
8400 8401 8402 ........................................
8426 8427
5
50
8500 8501 8502 ........................................
8526 8527
6
60
8600 8601 8602 ........................................
8626 8627
7
70
8700 8701 8702 ........................................
8726 8727
8
80
8800 8801 8802 ........................................
8826 8827
9
90
8900 8901 8902 ........................................
8926 8927
10
A0
8A00 8A01 8A02 ........................................
8A26 8A27
11
B0
8B00 8B01 8B02 ........................................
8B26 8B27
12
C0
8C00 8C01 8C02 ........................................
8C26 8C27
13
D0
8D00 8D01 8D02 ........................................
8D26 8D27
14
E0
8E00 8E01 8E02 ........................................
8E26 8E27
表 6-37 : DDRAM1 與 DDRAM2 造全型字時的字型碼對映表
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CURX
0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 1415 16 17 18 19 1A1B 1C1D1E 1F 20 21 22 23 24 25 26 27
CURY
0
00
9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 900A 900B 900C 900D 900E 900F 9010 9011 9012 9013
1
10
9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 910A 910B 910C 910D 910E 910F 9110 9111 9112 9113
2
20
9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 920A 920B 920C 920D 920E 920F 9210 9211 9212 9213
3
30
9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 930A 930B 930C 930D 930E 930F 9310 9311 9312 9313
4
40
9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 940A 940B 940C 940D 940E 940F 9410 9411 9412 9413
5
50
9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 950A 950B 950C 950D 950E 950F 9510 9511 9512 9513
6
60
9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 960A 960B 960C 960D 960E 960F 9610 9611 9612 9613
7
70
9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 970A 970B 970C 970D 970E 970F 9710 9711 9712 9713
8
80
9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 980A 980B 980C 980D 980E 980F 9810 9811 9812 9813
9
90
9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 990A 990B 990C 990D 990E 990F 9910 9911 9912 9913
10
A0
9A00 9A01 9A02 9A03 9A04 9A05 9A06 9A07 9A08 9A09 9A0A 9A0B 9A0C 9A0D 9A0E 9A0F 9A10 9A11 9A12 9A13
11
B0
9B00 9B01 9B02 9B03 9B04 9B05 9B06 9B07 9B08 9B09 9B0A 9B0B 9B0C 9B0D 9B0E 9B0F 9B10 9B11 9B12 9B13
12
C0
9C00 9C01 9C02 9C03 9C04 9C05 9C06 9C07 9C08 9C09 9C0A 9C0B 9C0C 9C0D 9C0E 9C0F 9C10 9C11 9C12 9C13
13
D0
9D00 9D01 9D02 9D03 9D04 9D05 9D06 9D07 9D08 9D09 9D0A 9D0B 9D0C 9D0D 9D0E 9D0F 9D10 9D11 9D12 9D13
14
E0
9E00 9E01 9E02 9E03 9E04 9E05 9E06 9E07 9E08 9E09 9E0A 9E0B 9E0C 9E0D 9E0E 9E0F 9E10 9E11 9E12 9E13
瑞佑科技 RAiO TECHNOLOGY INC.
94/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Start
Access DDRAM1
( REG[12h] [1:0] = 0 1 )
N0
Access Page2
Write 16 bytes data ?
( REG[12h] [1:0] = 1 0 )
Show DDRAM2
( REG[12h] [6:4] = 010 )
Yes
Set Graphic Mode
X add 1
Set Text Mode
(Set REG[60h])
( REG[00h] B3 = 1 )
( REG[00h] B3 = 0 )
Set Cursor shifting
Direction, vertical
first then horizontal
( REG[12h] B7 = 1 )
Set Cursor shifting
Direction, horizontal
first then vertical
( REG[12h] B7 = 0 )
Set XY -axis ( X, Y )
( Set REG[60h],[70h] )
Write Right-half font
data to DDRAM1
Set XY -axis ( X, Y )
and execute Memory
Write CMD
Set XY -axis ( X, Y )
Y add 1
( Set REG[60h],[70h] )
(Set REG[70h])
Write Left-half font
data to DDRAM1
Write 16 bytes data ?
N0
Write font data that
already defined at
DDRAM1 to DDRAM2
Y add 1
Yes
(Set REG[70h])
圖 6-55 : 在 DDRAM1 創造字型的流程圖
上方的流程為在DDRAM1 創造一個全型字和顯示這一新的字型在DDRAM2 再螢幕上的一個例
子。首先,使用者必須先設定CURX和CURY來定義哪一字型碼將被創造,然後寫 32Bytes位元
對應資料到DDRAM1。因為全型字的左邊和右邊各有 16Bytes資料,CURX需設定二次。請參照
程式例子(3),此例我們假設想要創造如 圖 6-53(1)的全型字,同時對應到
表 6-37 中的碼 ”9205h”,其結果會在螢幕上顯示如 圖 6-53(1)的電話字。
瑞佑科技 RAiO TECHNOLOGY INC.
95/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
範例程式(3):
// Create a full-size font in DDRAM1 and show on the screen.
// font_data[] = {00, 00, 07, 1F, 20, 67, 68, 09, 1A, 15, 16, 15, 12, 1F, 00, 00,
// 00, 00, E0, F8, 04, E6, 16, 90, 58, A8, 68, A8, 48, F8, 00, 00}
Access_DDRAM1();
Only_Show_DDRAM2();
// MAMR[1:0] = 01
// MAMR[6:4] = 010
LCD_Graphic();
Cursor_Shift_Direct_VH();
// WLCR. Bit-3 = 0
// MAMR. Bit-7 = 1
// Set the cursor moving in vertical
// Write the left part of full-size font
// Memory write command
LCD_GotoXY(0x0A, 0x20);
LCD_CmdWrite( MWCR);
for(i=0;i<16;i++)
{
LCD_DataWrite(font_data_L[i]);
Delay2us(50);
}
LCD_GotoXY(0x0B, 0x20);
// Write the right part of full-size font
LCD_CmdWrite( MWCR);
// Memory write command
for(i=16;i<32;i++)
{
LCD_DataWrite(font_data_R[i]);
Delay2us(50);
}
Access_DDRAM2();
LCD_Text();
Cursor_Shift_Direct_HV();
// MAMR[1:0] = 10
// WLCR.Bit-3 = 1
// MAMR. Bit-7 = 0
LCD_GotoXY( 3 , 3 );
LCD_CmdWrite( MWCR);
LCD_DataWrite(0x92);
LCD_DataWrite(0x05);
Delay2us(50);
// set coordinate to ( 3 , 3 )
// Memory write command
// Write the code(9205h) of user-defined font
// Show as (1) of 圖 6-53
瑞佑科技 RAiO TECHNOLOGY INC.
96/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-11-3 創造符號
RA8806 提供文字創造功能讓使用者可以設計和創造出新的字型,特別的符號(Symbol)和標幟
(Pattern)且儲存進它內建的CGRAM或DDRAM裡。使用者自創字型定義為全型字(16x16)或
半型字(8x16)的位元對應格式,所以 24x16、40x16、16x32 或是更大的字型也可能依此格式
被創造出。圖 6-56 呈現一個 24x16 大小的使用者自創符號。
圖 6-56 : 一個 24x16 大小的符號範例
為了創造出新的符號,除了寫命令到 CGRAM 或 DDRAM 外,在試著寫文字到顯示之前,字型碼
的設定要注意。參考創造此 24x16 符號於 DDRAM 接下來的二個例子:
‹ 當資料寫進DDRAM裡的第一個位址為(0, 0)時,此符號的字型碼為 0x8000、0x8001
和 0x8002。如下方 圖 6-57 所示。
‹ 資料寫進DDRAM裡的第一個位址為(2, 10h)時,此符號的字型碼為 0x8105、0x8106
和 0x8107。請參照下方程式例子(4)。其結果顯示於 圖 6-56。
Font Code: 0x8105
Font Code: 0x8106
Font Code:0x8107
圖 6-57 : 範例程式(4)使用的自創符號字型碼
瑞佑科技 RAiO TECHNOLOGY INC.
97/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
範例程式(4):
// Create a 24x16 symbol in DDRAM1 and show on the screen.
// font_data[] = {00, 02, 06, 0A, 12, 23, 40, 80, 40, 23, 12, 0A, 06, 02, 00, 00,
// 00, 00, 00, 00, 00, FF, 00, 00, 00, FF, 00, 00, 00, 00, 00, 00,
// 00, 80, C0, A0, 90, 88, 04, 02, 04, 88, 90, A0, C0, 80, 00, 00}
Access_DDRAM1();
Only_Show_DDRAM2();
// MAMR[1:0] = 01
// MAMR[6:4] = 010
LCD_Graphic();
Cursor_Shift_Direct_VH();
// WLCR. Bit-3 = 0
// MAMR. Bit-7 = 1
// Set the cursor moving in vertical
// Write the left part of symbol
// Memory write command
LCD_GotoXY(0x02, 0x10);
LCD_CmdWrite( MWCR);
for(i=0;i<16;i++)
{
LCD_DataWrite(font_data_L[i]);
Delay2us(50);
}
LCD_GotoXY(0x03, 0x10);
// Write the middle part of symbol
LCD_CmdWrite( MWCR);
// Memory write command
for(i=16;i<32;i++)
{
LCD_DataWrite(font_data_R[i]);
Delay2us(50);
}
LCD_GotoXY(0x04, 0x10);
// Write the right part of symbol
LCD_CmdWrite( MWCR);
// Memory write command
for(i=32;i<48;i++)
{
LCD_DataWrite(font_data_R[i]);
Delay2us(50);
}
Access_DDRAM2();
LCD_Text();
Cursor_Shift_Direct_HV();
// MAMR[1:0] = 10
// WLCR.Bit-3 = 1
// MAMR. Bit-7 = 0
LCD_GotoXY( 3 , 3 );
LCD_CmdWrite( MWCR);
LCD_DataWrite(0x81);
LCD_DataWrite(0x02);
Delay2us(10);
LCD_DataWrite(0x81);
LCD_DataWrite(0x03);
Delay2us(10);
LCD_DataWrite(0x81);
LCD_DataWrite(0x04);
Delay2us(10);
// set coordinate to ( 3 , 3 )
// Memory write command
// Write the code(8102, 8103, 8104) of symbol
// Show as 圖 6-57
除此之外,注意每個字型碼被顯示於 LDC 螢幕上的顯示位址,尤其在 90 旋轉換文字放大模式
下。
瑞佑科技 RAiO TECHNOLOGY INC.
98/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-12 捲動功能
6-12-1 水平捲動
RA8806 提供一水平捲動功能,使用者可以透過 BGSG 和 EDSG 兩個暫存器來指定捲動範圍。一
旦開啟水平捲動功能,被指定的區域範圍將直進行循環的單步水平捲動,其每次水平捲動的單位
寬度為 8 個顯示點數。
有關水平捲動的暫存器設定,請參考下列說明。
表 6-38
Reg.
ADSR
Bit_Num
說
明
Bit 2
SCR_DIR(捲動方向)。
Bit 1
SCR_HV(垂直或水平捲動設定)。
Bit 0
SCR_EN(捲動致能)。
暫存器編號
REG[03h]
BGSG
Bit [5:0]
設定捲動模式 Segment 的起始位置。
REG[61h]
EDSG
Bit [5:0]
設定捲動模式 Segment 的結束位置。
REG[62h]
BGCM
Bit [7:0]
設定捲動模式 Common 的起始位置。
REG[71h]
EDCM
Bit [7:0]
設定捲動模式 Common 的結束位置。
REG[72h]
(1) 流程圖:水平捲動功能的流程圖說明
Start
Set Scrolling Window Boundary
( Set REG[61h],[62h],[71h],[72h])
Write Chinese font filled
with the screen
Set Scrolling Direction,
Left to Right
( Set REG[03h][2:1] = 0 0 )
Enable Scrolling Function
( REG[03h]B0 = 1 )
圖 6-58 : 水平捲動流程圖
瑞佑科技 RAiO TECHNOLOGY INC.
99/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
(2) 範例程式:
LCD_Text();
// Text Mode
//================================================
// Set Scrolling Window
//================================================
LCD_CmdWrite(0x61);
// SEG Start Position of Scrolling Mode
LCD_DataWrite(0x05);
LCD_CmdWrite(0x62);
// SEG End Position of Scrolling Mode
LCD_DataWrite(0x22);
LCD_CmdWrite(0x71);
LCD_DataWrite(0x20);
LCD_CmdWrite(0x72);
LCD_DataWrite(0xd0);
// COM Start Position of Scrolling Mode
// COM End Position of Scrolling Mode
for( i = 0 ; i < 300 ; i++ )
// Write the font to fill the screen
{
LCD_DataWrite( RAiO [ i ] );
Delay2us(50);
}
//================================================
// Set Scrolling Direction and Enable scroll function
//================================================
LCD_CmdWrite(0x03);
LCD_DataWrite(0x01);
// L Æ R
// LCD_DataWrite(0x05);
// R Æ L
瑞佑科技 RAiO TECHNOLOGY INC.
100/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-12-2 垂直捲動
RA8806 亦提供垂直捲動功能,此捲動功能可以經由 ADSR Bit-2 來啟動。一旦開啟垂直捲動功
能,整個顯示屏將一直進行循環的單步垂直捲動,其每次垂直捲動的單位為 1 個顯示點數。
(1) 流程圖:垂直捲動功能的流程圖說明
Start
Set Scrolling Window Boundary
( Set REG[61h],[62h],[71h],[72h])
Write Chinese font filled
with the screen
Set Scrolling Direction,
Top to Bottom
( Set REG[03h][2:1] = 0 1 )
Enable Scrolling Function
( REG[03h]B0 = 1 )
圖 6-59 : 垂直捲動流程圖
(2) 範例程式:
LCD_Text();
// Text Mode
LCD_CmdWrite(0x61);
LCD_DataWrite(0x05);
LCD_CmdWrite(0x62);
LCD_DataWrite(0x22);
// SEG Start Position of Scrolling Mode
LCD_CmdWrite(0x71);
LCD_DataWrite(0x20);
LCD_CmdWrite(0x72);
LCD_DataWrite(0xd0);
// COM Start Position of Scrolling Mode
// SEG End Position of Scrolling Mode
// COM End Position of Scrolling Mode
for( i = 0 ; i < 300 ; i++ )
// Fill Chinese font on the screen
{
LCD_DataWrite( RAiO [ i ] );
Delay2us(50);
}
LCD_CmdWrite(0x03);
LCD_DataWrite(0x03);
// LCD_DataWrite(0x07);
瑞佑科技 RAiO TECHNOLOGY INC.
// Scrolling Enable
// T Æ B
// B Æ T
101/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-13 游標
6-13-1 游標位置與移位
Segment 游標移動的單位是一個 byte(8 個顯示點數),但 Common 的游標位移單位為 1 個顯
示點數。無論是處於字型或圖型模式,游標的位置是由 CURX 以及 CURY 兩個暫存器來控制。
在做 DDRAM 的讀寫資料動作時,使用者可以透過設定游標的自動累加模式,來達到游標的自動
位移,而此時游標的位移邊界,取決於工作視窗的設定。
6-13-2 全型字型對齊功能
全頁對齊功能提供了一個自動對齊的好幫手,當全型字與半型字同時出現在顯示屏上時,使用者
可透過設定 WCCR 的 bit-6 來實現全頁字型對齊的目標。(詳細方法請參閱 WCCR 的說明。)
‹ 當 Bit-6 設定為 1 時,自動對齊功能開啟。
‹ 當 Bit-6 設定為 0 時,自動對齊功能關閉。
圖 6-60 與 圖 6-61 說明上述設定:
With full alignment function
瑞 佑科技
有限公司
圖 6-60 : 字型顯示伴隨著全型對齊功能
瑞佑科技 RAiO TECHNOLOGY INC.
102/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Without full alignment function
瑞 佑科技
有限公司
圖 6-61 : 字型顯示不含全型對齊功能
當全型對齊功能被使用時,顯示屏會從游標設定的開始位置顯示全型字碼,而位於字串間的偶數
byte 將會被當作是對齊的預留空間。在半型字模式下,其顯示起始位置可於任何位置編排,不會
受限於對齊功能的規則。
3. Line changing
and alignment
setting is reset
1. Cursor set at 5’th
bytes
2. write characters
瑞 佑科技股
份有限公司
CASE 1
cursor
圖 6-62 : 全型字對齊範例(1)
全型字對齊顯示規則是依據游標在第 1 列的起始位置。當顯示換列後,對齊功能的基準位置將被
重新定義,這是因為 active window 的 segment 起始位置已變更。有關於全型字對齊功能在換列
時的相關條件,請參考下列圖示說明。
瑞佑科技 RAiO TECHNOLOGY INC.
103/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
3. Line changing
and alignment
setting is reset
2. Write to the end of the
line
1. Cursor set
瑞佑科技股
份有限公司
CASE 2
cursor
圖 6-63 : 全型字對齊範例(2)
3. Line changing
and alignment
setting is reset
2. No enough space for
writing a full-size
character after consider
full-alignment
1. Cursor set
瑞 佑科技股
份有限公司
CASE 3
cursor
圖 6-64 : 全型字對齊範例(3)
瑞佑科技 RAiO TECHNOLOGY INC.
104/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-13-3 游標閃爍
使用者可以根據其使用需求,選定游標顯示或不顯示,亦可開啟游標閃爍功能。游標的閃爍時
間,可經由暫存器 ”[80h] BTMR” 來調整。
閃爍時間 = BTMR[80h] Bit[7:0] x (1/Frame_Rate)
6-13-4 游標的寬度和高度
RA8806 的游標高度可按照使用需求,經由暫存器 CHWI Bit[7:4]來做調整,其高度調整範圍為
1~16 pixels。
在一般的顯示字型條件下,游標的寬度是固定在 1 個byte(8 pixels)。游標的高度則是從 1~16
pixels,其高度是依據暫存器CHWI Bit[7:4]來設定。在垂直顯示模式下,游標的高度是被固定在
16 pixels,而其寬度是可以依照使用需求被設定為 1~8 個pixels,此時游標的寬度可以透過暫存
器CHWI Bit[6:4]來做調整。詳細說明請參考 圖 6-65 以及 圖 6-66 的說明。
瑞佑科技
Cursor movement for Normal-Font
Cursor movement for Vertical-Font
圖 6-65 : 游標位移說明
Cursor Size(Height) for Normal-Font
1 pixel
2 pixel
3 pixel
16 pixel
Cursor Size(Width) for Vertical-Font
1 pixel
2 pixel
3 pixel
8 pixel
圖 6-66 : 游標大小
瑞佑科技 RAiO TECHNOLOGY INC.
105/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-14 擴展模式
一般來說,RA8806 最大可以支援的解析度為 320X240 點。但RA8806 支援一個特殊的顯示模式---擴
展模式,在這個模式下,RA8806 最大的顯示解析度可達 640X240 點或 320X480 點。在擴展模式條
件下,兩個DDRAM的資料都可以被顯示於更大的顯示屏上。擴展模式是經由MAMR的Bit[6:4] 來做設
定。圖 6-68 以及 圖 6-69,分別為 640X240 點或 320X480 點的範例說明。
Com/Seg Signals
RA8806
LCD Panel
LCD Driver
Max. 320x240
Normal Mode
Com/Seg Signals
RA8806
LCD Driver
LCD Panel
Max. 640x240
or
Max. 320x480
Extension Mod
圖 6-67 : RA8806 的最高顯示點數
240
320
320
DDRAM1
Data
DDRAM2
Data
圖 6-68 : 擴展模式(1)暫存器 MAMR Bit[6:4] = 110h
瑞佑科技 RAiO TECHNOLOGY INC.
106/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
若MAMR Bit[6:4] = 110b,則RA8806 可支援至 640X240 點,左半邊的顯示屏顯示DDRAM1 的顯示
資料,右半邊的顯示屏顯示DDRAM2 的顯示資料,請參考 圖 6-68。
若MAMR Bit[6:4] = 111b,則RA8806 可支援至 320X480 點,上半邊的顯示屏顯示DDRAM1 的顯示
資料,下半邊的顯示屏顯示DDRAM2 的顯示資料,請參考 圖 6-69。
320
240
DDRAM1
Data
240
DDRAM2
Data
圖 6-69 : 擴展模式(2)暫存器 MAMR Bit[6:4] = 111h
擴展模式只能單純做DDRAM1 以及DDRAM2 的複合顯示,游標的位移以及字串的顯示是不會連續動
作在擴展模式下,所以使用者必須個別設定兩個頁次的設定於同一個顯示屏上。在擴展模式下,
RA8806 會結合DDRAM1 和DDRAM2 的資料在同一個顯示屏幕上,所以在使用擴展模式時,是會有
一些軟體上的限制。舉例來說,假如RA8806 被設定如 圖 6-68 640X240 的擴展模式 1,顯示資料必
須被寫入DDRAM1 以及DDRAM2,但Common的游標位移並非連續性地由 0 到 639,所以使用者必
須分別在DDRAM1 以及DDRAM2 的顯示屏幕下寫入顯示資料,以滿足一個完整地 640X240 顯示點
數的顯示畫面。相關說明,請參考 圖 6-70。
:
:
:
:
:
:
:
:
:
:
DDRAM1
DDRAM2
圖 6-70:擴展模式(1)的游標位移說明
瑞佑科技 RAiO TECHNOLOGY INC.
107/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
當然,在水平捲動模式下,顯示屏的位移表現,也是非為整個 640X240 屏幕連續位移。請參考 圖
6-71。
D DRA M 1
DDRA M 2
圖 6-71:擴展模式(1)的水平捲動說明
若RA8806 是處於顯示點數為 320X480 的擴展模式(2),如 圖 6-69 所示,則游標的位移是如同一
般顯示模式的,Common是從 0 到 319,DDRAM的資料掃瞄如 圖 6-72 所示,其水平捲動的結果如
圖 6-73 所示。
DDRAM1
DDRAM2
:
:
:
:
:
:
:
:
:
:
圖 6-72:擴展模式(2)的游標位移
DDRAM1
DDRAM2
圖 6-73:擴展模式(2)的水平捲動
瑞佑科技 RAiO TECHNOLOGY INC.
108/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
6-15 消除雪花模式
當 RA8806 內部的邏輯電路在執行掃瞄任務時,若在同時 MPU 對 RA8806 的 DDRAM 做資料的存
取,顯示屏的掃瞄資料將被干擾造成錯誤,會在顯示屏上顯示多餘的雜點,即是所謂的雪花
(Flicker),如果顯示屏上的雪花過多時,將干擾整體的顯示效果。為了去除這種短暫的顯示錯誤,
RA8806 提供了一個消除雪花(Flicker)模式。
消除雪花模式的原理是當 MPU 在做 DDRAM 讀取時,關閉 RA8806 內的顯示屏掃瞄動作,在 MPU
存取 DDRAM 的動作完成後,掃瞄邏輯電路將會重新開始動作。由於在消除雪花模式下,其讀寫的動
作是被分開的,所以 MPU 的讀取動作與掃瞄電路在動作上不會抵觸,因此理想上就不會有這種雪花
現象,當然也會有更好的顯示效果。
在實際應用上,有些時候 MPU 寫入資料週期長短(文字寫入和記憶體清除)會有不同,即便是當其對
RA8806 的資料存取是週期性地。換句話說,在某些條件下,消除雪花模式的顯示效果仍然有限。同
時在使用上有若干限制:
1.
RA8806 只能在圖形模式下(將暫存器 [01h] 的 Bit-7 設為 1)才可使用消除雪花模式。
2.
在啟動自動清除螢幕畫面模式之前,請關閉「消除雪花功能」,等清除螢幕畫面結束後,再開
啟「消除雪花功能」。
圖 6-74 : 消除雪花模式
表 6-39
Reg.
Bit_Num
MISC
Bit 7
說
明
當 RA8806 因寫入 Data 到 DDRAM 的動作為
忙碌時,LCD 的 Driver-scan 將被自動停止。
暫存器編號
REG[01h]
另 外 , 除 了 控 制 暫 存 器 [01h] 的 Bit-7 之 外 , MPU 也 可 以 用 檢 查 「 狀 態 暫 存 器 」 的 Bit-6
(SCAN_BUSY)的方法來減少雪花(Flicker)現象,因為檢查「狀態暫存器」的Bit-6 可以得知對顯
示記憶體存取時,是否會與本身掃瞄顯示發生衝突。如 圖 6-75 所示,是以Check BUSY的方式來消
除雪花的流程圖。
瑞佑科技 RAiO TECHNOLOGY INC.
109/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Start
LP
XCLK
high
Check status bit-6
(SCAN BUSY)
SCAN_BUSY
MPU cycle
low
ITCR
: Check status bit-6 = 0
: Check status bit-6 = 1
Memory access cycle
: Memory access cycle
圖 6-75 : 以 Check BUSY 來消除雪花的理想狀況 (1)
LP
XCLK
SCAN_BUSY
Confliction!
MPU cycle
: Check status bit-6 = 0
: Check status bit-6 = 1
: Memory access cycle
圖 6-76 : 以 Check BUSY 來消除雪花的非理想狀況 (1)
但是如果MPU在檢查系統為不忙碌(Not Busy)的下一週期,準備要對記憶體進行存取資料時,系統
已經進入忙碌狀態,此時將會有無法避免的衝突發生,如 圖 6-76 的情況,消除雪花的效果比較不理
想,不過發生這種狀況的機率相當低。因此,若使用者欲藉由「忙碌狀態檢查」(check busy)的方
式來完全消除雪花(避免前述之狀況),其步驟如下:
1. 先確認系統處於忙碌(status bit-6 = 1)的狀態之下。
2. 持續檢查忙碌狀態值(SCAN_BUSY),直到系統在不忙碌(status bit-6 = 0)的狀態
時,再對記憶體進行資料存取。
上述以查忙碌狀態減少雪花發生的效果其理想狀況如 圖 6-77。
瑞佑科技 RAiO TECHNOLOGY INC.
110/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
Start
low
Check status bit-6
LP
(SCAN BUSY)
XCLK
SCAN_BUSY
high
high
Check status bit-6
MPU cycle
(SCAN BUSY)
ITCR
low
: Check status bit-6 = 0
: Check status bit-6 = 1
: Memory access cycle
Memory access cycle
圖 6-77 : 以 Check BUSY 來消除雪花的理想狀況 (2)
為了讓以查忙碌狀態減少雪花發生的效果更好,實際應用上有兩點建議:
1.
MPU本身的速度不可太慢(即指令週期的時間不可太長,如 圖 6-78 所示),否則減少
雪花發生的效果比較不明顯。
2.
ITCR的設定值不宜太小(如 圖 6-79 所示),否則減少雪花發生的效果也不明顯。
假設想要以查忙碌狀態這種方式消除雪花,建議使用的ITCR (REG[90h]) 的設定值請參照圖 6-80、圖
6-81。
LP
XCLK
SCAN_BUSY
Confliction!
MPU cycle
ITCR
: Check status bit-6 = 0
: Check status bit-6 = 1
MPU cycle too long!
: Memory access cycle
圖 6-78 : MPU 週期過長造成以 Check BUSY 來消除雪花效果不理想(2)
瑞佑科技 RAiO TECHNOLOGY INC.
111/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
LP
XCLK
SCAN_BUSY
Confliction!
MPU cycle
ITCR
: Check status bit-6 = 0
: Check status bit-6 = 1
ITCR period too short
: Memory access cycle
圖 6-79 : ITCR 週期過短造成以 Check BUSY 來消除雪花效果不理想 (2)
ITCR duration
SCAN_BUSY
RD
Read Status cycle
Read Status cycle
MEM write cycle
ZWR
Tcyc
Tcyc
MPU 8080 The Worst case!!
tsys = 1/CLK CLK : system clock
M : REG[01h] = 00h Î M=8
REG[01h] = 01h Î M=4
REG[01h] = 10h Î M=2
REG[01h] = 11h Î M=1
So ITCR suggestion value is :
ITCR duration=ITCR x tc x M > 2.5 x Tcyc
圖 6-80 : MPU 8080 介面消除雪花 ITCR 建議值
ITCR duration
SCAN_BUSY
RD
Read Status cycle
Read Status cycle
MEM write cycle
ZWR
Tcyc
Tcyc
MPU 6800 The Worst case!!
tc = 1/CLK CLK : system clock
M : REG[01h] = 00h Î M=8
REG[01h] = 01h Î M=4
REG[01h] = 10h Î M=2
REG[01h] = 11h Î M=1
So ITCR suggestion value is :
ITCR duration=ITCR x tc x M > 2.5 x Tcyc
圖 6-81 : MPU 6800 介面消除雪花 ITCR 建議值
瑞佑科技 RAiO TECHNOLOGY INC.
112/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
7. 產品封裝與編號
打線腳位圖
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
CLK_OUT
TESTMD
TESTI
ZRST
XG
XD
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
ZRD
ZWR
VDDP
GNDP
RS
CS2
7-1
RA8806 Logo
RA8806
28
27
26
25
24
23
22
21
20
ZCS1
PWM_OUT
PWM_OUT
X1
Y1
X2
Y2
AVDD
AGND
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
INT
BUSY
VDDH
VDD
GND
FR
LP
YD
XCK
ZDOFF
LD7
LD6
LD5
LD4
LD3
LD2
LD1
LD0
GNDP
KIN0
KIN1
KIN2
KIN3
KIN4
KIN5
KIN6
KIN7
KOUT0
KOUT1
KOUT2
KOUT3
KOUT4
KOUT5
KOUT6
KOUT7
DB
MI
DW
VDDP
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
3
2
1
圖 7-1 : RA8806 打線腳位
瑞佑科技 RAiO TECHNOLOGY INC.
113/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
7-2
腳位 X/Y 座標
表 7-1 : RA8806 腳位座標
Pad No.
Pad Name
X
Y
Pad No.
Pad Name
X
1
GNDP
2301.05
-1649.70
35
DATA0
1429.80
1833.05
2
LD0
2301.05
-1536.80
36
DATA1
1314.80
1833.05
3
LD1
2301.05
-1421.80
37
DATA2
1199.80
1833.05
4
LD2
2301.05
-1306.80
38
DATA3
1084.80
1833.05
5
LD3
2301.05
-1191.80
39
DATA4
969.80
1833.05
6
LD4
2301.05
-1076.80
40
DATA5
854.80
1833.05
7
LD5
2301.05
-961.80
41
DATA6
739.80
1833.05
8
LD6
2301.05
-846.80
42
DATA7
624.80
1833.05
9
LD7
2301.05
-731.80
43
XD
509.80
1833.05
10
ZDOFF
2301.05
-616.80
44
XG
394.80
1833.05
11
XCK
2301.05
-501.80
45
ZRST
279.80
1833.05
12
YD
2301.05
-386.80
46
TESTI
164.80
1833.05
13
LP
2301.05
-271.80
47
TESTMD
49.80
1833.05
14
FR
2301.05
-156.80
48
CLK_OUT
-65.20
1833.05
15
GND
2301.05
-39.70
49
KIN0
-65.20
-1833.05
16
VDD
2301.05
75.30
50
KIN1
49.80
-1833.05
17
VDDH
2301.05
186.10
51
KIN2
164.80
-1833.05
18
BUSY
2301.05
303.20
52
KIN3
279.80
-1833.05
19
INT
2301.05
418.20
53
KIN4
394.80
-1833.05
20
AGND
2301.05
702.20
54
KIN5
509.80
-1833.05
21
AVDD
2301.05
817.20
55
KIN6
624.80
-1833.05
22
Y2
2301.05
934.30
56
KIN7
739.80
-1833.05
23
X2
2301.05
1049.30
57
KOUT0
854.80
-1833.05
24
Y1
2301.05
1164.30
58
KOUT1
969.80
-1833.05
25
X1
2301.05
1279.30
59
KOUT2
1084.80
-1833.05
26
PWM_OUT
2301.05
1394.30
60
KOUT3
1199.80
-1833.05
27
PWM_OUT
2301.05
1509.30
61
KOUT4
1314.80
-1833.05
28
ZCS1
2301.05
1624.30
62
KOUT5
1429.80
-1833.05
29
CS2
2119.80
1833.05
63
KOUT6
1544.80
-1833.05
30
RS
2004.80
1833.05
64
KOUT7
1659.80
-1833.05
31
GNDP
1887.70
1833.05
65
DB
1774.80
-1833.05
32
VDDP
1772.70
1833.05
66
MI
1889.80
-1833.05
33
ZWR
1659.80
1833.05
67
DW
2004.80
-1833.05
34
ZRD
1544.80
1833.05
68
VDDP
2121.90
-1833.05
瑞佑科技 RAiO TECHNOLOGY INC.
114/127
Y
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
60
NC
55
CLK_OUT
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
65
50
TM
RAiO
RA8806L2N-T
85
90
45
40
08XX-N
95
35
Date Code (Year 2008)
TESTMD
TESTI
ZRST
XG
XD
NC
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
ZRD
ZWR
VDDP
GNDP
RS
CS2
ZCS1
PWM_OUT
X1
X2
30
Y1
Y2
AVDD
AGND
INT
25
BUSY
VDDH
VDD
GND
20
LP
FR
YD
XCK
LD7
ZDOFF
15
LD6
LD4
LD3
10
LD2
5
LD5
100
LD1
Pin #1
70
75
LD0
KOUT0
KOUT1
KOUT2
KOUT3
KOUT4
KOUT5
KOUT6
KOUT7
DB
MI
DW
80
VDDP
NC
KIN0
KIN1
KIN2
KIN3
KIN4
KIN5
KIN6
KIN7
NC
NC
封裝腳位圖
GNDP
NC
NC
7-3
45
40
TM
35
RA8806T1N-S
70
30
08XX-N
75
CLK_OUT
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
RAiO
65
25
Date Code(Year 2008)
TESTMD
TESTI
ZRST
XG
XD
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
ZRD
ZWR
VDDP
GNDP
RS
CS2
ZCS1
PWM_OUT
X1
X2
Y1
20
Y2
AVDD
AGND
INT
BUSY
15
VDDH
GND
LP
FR
10
YD
XCK
ZDOFF
5
VDD
80
LD3
Pin #1
50
55
LD2
KOUT0
KOUT1
KOUT2
KOUT3
KOUT4
KOUT5
KOUT6
KOUT7
DB
MI
VDDP
GNDP
LD0
60
LD1
KIN1
KIN2
KIN3
KIN4
KIN5
KIN6
KIN7
NC
KIN0
圖 7-2 : LQFP-100Pin 腳位定義圖
圖 7-3 : TQFP-80Pin 腳位定義圖
瑞佑科技 RAiO TECHNOLOGY INC.
115/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
7-4
封裝尺寸
Pin-1 Index
b
D1
D
TM
RAiO
08xx-N
RA8806L2N-S/T
e
E1
E
Seating Plane
0.10mm
Detail A
θ2
θ1
A
0.25mm
A2
C
R2
R1
Gauge Plane
θ
θ3
A1
L
L1
Detail A
圖 7-4 : LQFP-100Pin 機構圖
瑞佑科技 RAiO TECHNOLOGY INC.
116/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 7-2 : LQFP-100 封裝尺寸
Symbols
Dimensions in Millimeters
Dimensions in Inches
Min.
Typ.
Max.
Min.
Typ.
Max.
A
--
--
1.60
--
--
0.063
A1
0.05
--
0.15
0.002
--
0.006
A2
1.35
1.40
1.45
0.053
0.055
0.057
b
0.22
0.3
0.33
0.009
0.012
0.013
c
0.09
--
0.16
0.004
--
0.006
e
0.65 BSC.
0.026 BSC.
D
22.00 BSC.
0.866 BSC.
D1
20.00 BSC.
0.787 BSC.
E
16.00 BSC.
0.630 BSC.
E1
14.00 BSC.
0.551 BSC.
L
0.45
0.60
0.75
0.018
1.00 Ref.
L1
0.024
0.030
0.039 Ref.
R1
0.08
--
--
0.003
--
--
R2
0.08
--
0.20
0.003
--
0.008
θ
0
3.5°
7°
0
3.5°
7°
θ1
0
--
--
0
--
--
θ2
11°
12°
13°
11°
12°
13°
θ3
11°
12°
13°
11°
12°
13°
註:
D1 以及 E1 不包含模具突出誤差,每一邊的模具突出容許誤差是 0.25mm,D1 和 E1 是封裝的每
一邊包含模具誤差的尺寸。
瑞佑科技 RAiO TECHNOLOGY INC.
117/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
圖 7-5 : TQFP-80Pin 機構圖
瑞佑科技 RAiO TECHNOLOGY INC.
118/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 7-3 : TQFP-80 封裝尺寸
Symbols
Dimensions in Millimeters
Dimensions in Inches
Min.
Typ.
Max.
Min.
Typ.
Max.
A
--
--
1.20
--
--
0.047
A1
0.05
0.10
0.15
0.002
0.004
0.006
A2
0.95
1.00
1.05
0.037
0.039
0.041
b
0.13
0.18
0.23
0.005
0.007
0.009
b1
0.13
0.16
0.19
0.005
0.006
0.007
c
0.09
--
0.20
0.004
--
0.008
c1
0.09
0.127
0.16
0.004
0.005
0.006
0.40 BSC.
e
0.016 BSC.
D
11.90
12.00
12.10
0.469
0.472
0.476
D1
9.90
10.00
10.10
0.390
0.394
0.398
E
11.90
12.00
12.10
0.469
0.472
0.476
E1
9.90
10.00
10.10
0.390
0.394
0.398
L
0.45
0.60
0.75
0.018
0.024
0.030
1.00 Ref.
L1
0.040 Ref.
R1
0.08
--
--
0.003
--
--
R2
0.08
--
0.20
0.003
--
0.008
θ
0
3°
7°
0
3°
7°
瑞佑科技 RAiO TECHNOLOGY INC.
119/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
7-5
產品編號
表 7-4 : 產品編號表
產品編號
Resolution
(Full Name)
(Max)
Package
Font ROM
繁體中文
RA8806L2N-T
RA8806L2N-S
RA8806T1N-T
ISO-8859-1 ~ 4
Yes
ISO-8859-1 ~ 4
Yes
ISO-8859-1 ~ 4
Yes
ISO-8859-1 ~ 4
Yes
ISO-8859-1 ~ 4
Yes
繁體中文
ISO-8859-1 ~ 4
Yes
簡體中文
ISO-8859-1 ~ 4
Yes
(註 2)
RA8806L2N-J
日文漢字
繁體中文
320x240
(註 1)
RA8806T1N-S
(註 2、3)
TQFP-80
簡體中文
(10x10)
(註 2、3)
日文漢字
RA8806T1N-J
(註 3)
RA8806-T
Die
RA8806-S
Compliance
Yes
簡體中文
(20x14)
RoHs
ISO-8859-1 ~ 4
(註 2)
LQFP-100
ASCII ROM
註:
1. 在擴展模式下,顯示屏的最大顯示點數為 640x240 或 320x480,請見第 6-14 節 “擴展模式” 的說
明。
2. 不論是在 RA8806 的繁體中文或簡體中文版本,其皆已內建 52 簡單的日文字型。
3. RA8806 的 LCD Driver data bus 是 4-bits。
4. RA8806 系列 IC 皆符合 RoHS 規範以及通過 PFOS、PFOA 檢測。
表 7-5 : RA8806L2N 與 RA8806T1N 比較
差異性
封裝種類
LCD Data Bus
瑞佑科技 RAiO TECHNOLOGY INC.
RA8806L2N
RA8806T1N
LQFP-100Pins
TQFP-80Pins
20mm x 14mm
10mm x 10mm
4-bits or 8-bits
4-bits
120/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
8. 電氣特性
8-1
最大範圍
表 8-1 : 最大範圍
參數描述
符號
Supply Voltage Range
VDD
-0.3 to 6.5
V
Input Voltage Range
VIN
-0.3 to VDD+0.3
V
Power Dissipation (VDD = 5V)
PD
≦30
Operation Temperature Range
TOPR
-30 to +85
℃
Storage Temperature
TST
-45 to +125
℃
260
℃
Soldering temperature (10
seconds). See Note 1.
規格範圍
TSOLDER
單位
mW
註:
1. 假如該封裝被焊料侵入,平薄式封裝的濕度抵抗性是會被減少的。當進行焊接作業時,勿
過度施壓於封裝上。
2. 須適度考量 RA8806 的電源端及其電源接線。
3. 全部的電源準位皆以 Ground = 0V 為基準。
瑞佑科技 RAiO TECHNOLOGY INC.
121/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
8-2
DC電氣特性
表 8-2 : DC 電氣特性
參數描述
符號
最小值
建議值
最大值
單位
工作條件
Operating Voltage(1)
VDDP / VDDH
4.5
5.0
5.5
V
Operating Voltage(2)
VDDP / VDD
2.4
3.3
3.6
V
Oscillator frequency
FOSC
4
8
12
MHz
VDDP = VDDH
參考圖 6-31
VDDP = VDD
VDDH Open
參考圖 6-30
VDD = 5V
External clock frequency
FCLK
4
8
12
MHz
VDD = 5V
DC to DC Output Voltage
VDD
2.8V
3.0
3.3
V
Add external
1uF Capacitor
VIH
VIL
0.8xVDD
Gnd
---
VDD
0.2xVDD
V
V
See Note 1, 3
VIH
VIL
VDD-0.4
Gnd
---
VDD
Gnd+0.4
V
V
See Note 2, 3
VIH
VIL
IIH
IIL
IOPR
0.7xVDD
----5
1.5
1.8
120
140
0.5
20
-0.25xVDD
+1
-1
10
1.8
2.1
140
160
1
25
V
V
μA
μA
mA
mA
mA
μA
μA
μA
μA
See Note 4
Input
Input High Voltage
Input Low Voltage
Output
Output High Voltage
Output Low Voltage
Schmitt-trigger
Input High Voltage
Input Low Voltage
Input Leakage Current 1
Input Leakage Current 2
Operation Current
Standby Mode Current
(Normal Mode Current)
Display Off Current
Sleep Mode
ISB
IDISPLAY
ISLP
---1
-----
See Note 1, 3
See Note 2, 3
See Note 4
Case1
Case2
Case1
Case2
Case1
Case2
註:
1. ZCS1, CS2, ZWR, ZRD, RS, MI, DW, DB, KIN[7:0], TESTMD 以及 TESTI 為輸入接腳。
KIN[7:0] 已內建上拉電阻(pull-up resistors)。TESTMD 和 TESTI 已內建下拉電阻(pulldown resistors)。
2. INT, BUSY, CLK_OUT, PWM_OUT, KOUT[7:0], LP, FR, YD, ZDOFF, XCK 以及 LD[7:0]
為輸出接腳。
3. DATA[7:0] 為雙向工作接腳。
4. ZRST 是一輸入接腳,內建 Schmitt-trigger 與上拉電阻(pull-up resistors),Reset 信號
脈波寬度輸入 ZRST 必須大於 1024*tc。另外須注意,若 reset 時間過長,易導致直流電壓
被供應至 LCD 顯示屏上。
Case1: VDDP = VDD = AVDD = 3.3V, VDDH = NC, LCD Driver VDD = 5V, CLK = 4MHz,
CLK_OUT: Off, Segment=160, Common=160, FRM = 78Hz, TA=25℃.
Case2: VDDP = VDDH = 5V, VDD = AVDD = 3V, LCD Driver VDD = 3.3V, CLK = 4MHz,
CLK_OUT: Off, Segment=160, Common=160, FRM = 78Hz, TA=25℃.
瑞佑科技 RAiO TECHNOLOGY INC.
122/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
8-3
驅動介面信號的時序
圖 8-1 是RA8806 的驅動器介面信號時序圖。
表 8-3 為參數列表。
tWLPH
tLH
LP
tLS
tSL
tWCKH
tWCKH
XCK
tWCK
tLD
XD[7:0]
tWCKL
LAST DATA
TOP DATA
tDS
tDH
ITCR
圖 8-1 : 驅動介面時序圖
表 8-3 : 參數列表
Parameter
Symbol
Shift Clock period
tWCK
condition
Min.
Typ.
Max.
Shift Clock “H” Pulse Width
tWCKH
tWCK/2 -10
tWCK/2 +10
ns
Shift Clock “L” Pulse Width
tWCKL
tWCK/2 -10
tWCK/2 +10
ns
Data Setup Time
tDS
tWCK/2 -30
tWCK/2
ns
Data Hold Time
tDH
tWCK/2
tWCK/2 +30
ns
Latch Pulse “H” Pulse Width
tWLPH
tWCK-10
tWCK+10
ns
Shift Clock Rise to Latch
Pulse Rise Time
tLD
0
Shift Clock Fall to Latch
Pulse Fall Time
tSL
tWCK/2 -10
Latch Clock Rise to Shift
Pulse Rise Time
tLS
tWCK/2 -10
ns
*2
Latch Clock Rise to Shift
Pulse Rise Time
tLH
tWCK/2 -10
ns
*2
Tsys/D
Unit
Note
ns
*1
ns
tWCK/2 +10
ns
註:
1. Tsys : 系統時序週期 (例如 System clock = 12MHz, Tsys = 83.3ns)
D : 驅動器 clock 選擇 (REG[01h] B3-2)
0 0 : XCK = CLK/8
0 1 : XCK = CLK/4(初始值)
1 0 : XCK = CLK/2
1 1 : XCK = CLK
2. 此參數也與暫存器 ITCR 的設定值相關。
瑞佑科技 RAiO TECHNOLOGY INC.
123/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
附錄A . 應用電路
圖 A- 1: 3V 或 5V 之應用電路圖
瑞佑科技 RAiO TECHNOLOGY INC.
124/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
附錄B . Frame Rate 設定對照表
表 B- 1 : Frame Rate 設定對照表(1)
Seg
Com
CLK
(MHz)
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
XCK=CLK/2
REG[01h] Bit[3:2] = 10
Frame Rate
REG[90h]
(Hz)
ITCR
55
72
60
59
65
48
70
39
75
31
55
147
60
128
65
112
70
99
75
87
55
223
60
198
65
176
70
158
75
142
55
-60
-65
241
70
218
75
198
55
-60
-65
-70
-75
253
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
瑞佑科技 RAiO TECHNOLOGY INC.
167
148
132
119
107
--228
208
190
----------------
XCK=CLK/4
REG[01h] Bit[3:2] = 01
Frame Rate
REG[90h]
(Hz)
ITCR
55
-60
-65
-70
-75
-55
34
60
24
65
16
70
9
75
3
55
72
60
59
65
48
70
39
75
31
55
109
60
94
65
80
70
69
75
59
55
147
60
128
65
112
70
99
75
87
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
125/127
54
44
36
29
23
110
96
84
74
65
167
148
132
119
107
224
200
180
163
148
-253
228
208
190
XCK=CLK/8
REG[01h] Bit[3:2] = 00
Frame Rate
REG[90h]
(Hz)
ITCR
55
-60
-65
-70
-75
-55
-60
-65
-70
-75
-55
-60
-65
-70
-75
-55
15
60
7
65
-70
-75
-55
34
60
24
65
16
70
9
75
3
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
-----25
18
12
7
3
54
44
36
29
23
82
70
60
52
44
110
96
84
74
65
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 B- 2 : Frame Rate 設定對照表(2)
Seg
Com
CLK
(MHz)
XCK=CLK/2
REG[01h] Bit[3:2] = 10
XCK=CLK/4
REG[01h] Bit[3:2] = 01
XCK=CLK/8
REG[01h] Bit[3:2] = 00
Frame Rate
(Hz)
REG[90h]
ITCR
Frame Rate
(Hz)
ITCR
Frame Rate
(Hz)
REG[90h]
ITCR
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
187
168
152
139
127
--248
228
210
----------------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
74
64
56
49
43
130
116
104
94
85
187
168
152
139
127
244
220
200
183
168
--248
228
210
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
17
12
8
5
2
45
38
32
27
23
74
64
56
49
43
102
90
80
72
64
130
116
104
94
85
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
244
220
200
183
168
---------------------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
102
90
80
72
64
173
155
140
127
116
244
220
200
183
168
---239
220
------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
31
25
20
16
12
67
58
50
44
38
102
90
80
72
64
138
123
110
100
90
173
155
140
127
116
瑞佑科技 RAiO TECHNOLOGY INC.
126/127
www.raio.com.tw
RA8806
雙圖層 文字/圖形 LCD 控制器
Version 1.3
表 B- 3 : Frame Rate 設定對照表(3)
Seg
Com
CLK
(MHz)
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
XCK=CLK/2
REG[01h] Bit[3:2] = 10
XCK=CLK/4
REG[01h] Bit[3:2] = 01
XCK=CLK/8
REG[01h] Bit[3:2] = 00
Frame Rate
(Hz)
REG[90h]
ITCR
Frame Rate
(Hz)
REG[90h]
ITCR
Frame Rate
(Hz)
REG[90h]
ITCR
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
224
200
180
163
148
----253
----------------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
82
70
60
52
44
153
135
120
107
96
224
200
180
163
148
--240
219
200
----253
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
11
5
---47
38
30
24
18
82
70
60
52
44
118
103
90
80
70
153
135
120
107
96
4
4
4
4
4
6
6
6
6
6
8
8
8
8
8
10
10
10
10
10
12
12
12
12
12
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
--------------------------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
224
200
180
163
148
----253
----------------
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
55
60
65
70
75
82
70
60
52
44
153
135
120
107
96
224
200
180
163
148
--240
219
200
----253
註 : 對照 表B- 1 ~ 表B- 3內 ITCR 的值是十進制。
瑞佑科技 RAiO TECHNOLOGY INC.
127/127
www.raio.com.tw