RA8872 - RAiO Technology Inc.

RAiO
RA8872
文字 / 圖形
TFT LCD 控制器
規格書
Version 1.4
December 11, 2014
RAiO Technology Inc.
©Copyright RAiO Technology Inc, 2010, 2011, 2012, 2013, 2014
RAiO TECHNOLOGY INC.
1/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
改
版
本
1.0
日
版
說
明
期
April 20, 2010
說
明
初版發行
1. 更新第 4-4 節腳位說明:ADC_VDD、ADC_GND
2. 更新第 5-9 節 PLL 暫存器 REG[88h] 外部晶體振盪參考設定
September 14, 2010
3. 更新圖 6-17、圖 6-20
4. 更新表 8-2 電性特性
5. 更新圖 10-2 (新增元件型號和參數)
6. 更新第 11 章程式範例
1.1
December 07, 2010
1. 更新表 8-2 電性特性
December 19, 2011
1. 更新表 7-19
1. 更新表 6-6 Clock 設定與面板解析度的關係
December 22, 2011
2. 更新表 8-2 電性特性
3. 更新第 11 章程式範例
1.2
February 10, 2012
1. 新增 REG[21h]Bit7 的註解
February 7, 2013
1. 更新 4-4 節 CORE_VDD 腳位說明
November 11, 2014
1. 新增 REG[04h]Bit0~1 的註解
November 20, 2014
1. 更新 7-4-3 節圖形樣版
December 11, 2014
1. 增加 BTE function 關於 Read/Write 必須致能 REG[02h]之描述
( 7-7-4-1、7-7-4-2 、7-7-4-5 、7-7-4-9、7-7-4-10)
1.3
1.4
RAiO TECHNOLOGY INC.
2/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
章 節
內
容
頁 數
1. 簡介 ............................................................................................................ 7
2. 特性 ............................................................................................................ 7
3. 系統方塊圖 ................................................................................................. 8
4. 腳位定義 ..................................................................................................... 9
4-1 MCU界面................................................................................................................ 9
4-2 LCD面板界面 ....................................................................................................... 10
4-3 觸控界面與脈寬調變界面...................................................................................... 10
4-4 時脈與電源 ........................................................................................................... 11
5. 暫存器描述 ............................................................................................... 13
5-1 狀態暫存器(Status Register) .......................................................................... 14
5-2 系統與組態暫存器(System & Configuration Register) ................................. 15
5-3 LCD顯示模式 ....................................................................................................... 21
5-4 工作視窗設定........................................................................................................ 24
5-5 游標 ...................................................................................................................... 27
5-6 BTE引擎............................................................................................................... 31
5-7 觸控面板............................................................................................................... 37
5-8 圖形游標............................................................................................................... 39
5-9 PLL暫存器............................................................................................................ 40
5-10 脈波寬度調變(PWM) ...................................................................................... 42
5-11 繪圖(直線、矩形、圓形) ................................................................................ 46
6. 硬體界面 ................................................................................................... 49
6-1 MCU界面.............................................................................................................. 49
6-1-1 MCU傳輸協定.........................................................................................................................50
6-1-2 讀取狀態暫存器 ......................................................................................................................52
6-1-3 寫入指令暫存器 ......................................................................................................................53
6-1-4 記憶體寫入與讀取...................................................................................................................54
6-1-5 中斷與等待 .............................................................................................................................55
6-1-5-1
中斷(Interrupt) .......................................................................................................55
6-1-5-2
等待(Wait) .............................................................................................................56
6-1-6 資料匯流排與TFT的RGB資料格式 .........................................................................................57
6-2 色彩設定模式........................................................................................................ 58
6-3 LCD界面............................................................................................................... 59
6-4 觸控界面(Touch Panel I/F).............................................................................. 62
6-5 脈寬調變界面(PWM)........................................................................................ 64
RAiO TECHNOLOGY INC.
3/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-6 時脈(Clock)與PLL........................................................................................... 65
6-7 重置界面(Reset) .............................................................................................. 67
6-8 電源 ...................................................................................................................... 69
6-8-1 電源腳位說明..........................................................................................................................69
6-8-2 電源結構 ................................................................................................................................. 69
7. 功能描述 ................................................................................................... 70
7-1 畫面旋轉............................................................................................................... 70
7-1-1 正常無旋轉 .............................................................................................................................70
7-1-2 旋轉 90 度 ...............................................................................................................................70
7-1-3 旋轉 180 度.............................................................................................................................71
7-1-4 旋轉 270 度.............................................................................................................................71
7-2 捲動功能............................................................................................................... 72
7-2-1 水平捲動 ................................................................................................................................. 72
7-2-2 垂直捲動 ................................................................................................................................. 73
7-3 工作視窗............................................................................................................... 74
7-3-1 正常視窗和 90 度旋轉.............................................................................................................74
7-3-2 視窗 180 度和 270 度旋轉 ......................................................................................................74
7-4 游標與圖形樣板(Pattern)................................................................................. 75
7-4-1 圖形游標 ................................................................................................................................. 75
7-4-2 文字游標 ................................................................................................................................. 77
7-4-2-1
游標位置 ....................................................................................................................77
7-4-2-2
游標閃爍(Blinking) ................................................................................................77
7-4-2-3
游標高度和寬度..........................................................................................................78
7-4-3 圖形樣板(Pattern) .............................................................................................................79
7-5 字庫(Font) ....................................................................................................... 81
7-5-1 內建Font ROM .......................................................................................................................81
7-5-2 CGRAM .................................................................................................................................. 86
7-5-3 文字 90 度轉向........................................................................................................................87
7-5-4 文字加粗與透通模式 ...............................................................................................................87
7-5-5 文字換行 ................................................................................................................................. 88
7-5-6 文字全型對齊(Font Full-Alignment) ................................................................................88
7-6 幾何圖案繪圖引擎(Geometric Pattern Drawing Engine) .............................. 89
7-6-1 圓形輸入 ................................................................................................................................. 89
7-6-2 矩形輸入 ................................................................................................................................. 90
7-6-3 直線輸入 ................................................................................................................................. 91
7-7 BTE引擎(Block Transfer Engine)功能........................................................... 92
7-7-1 選擇BTE起始點位址及圖層 ....................................................................................................95
7-7-2 BTE操作(BTE Operation)說明 .........................................................................................95
7-7-2-1
BTE寫入(Write BTE) .............................................................................................95
7-7-2-2
BTE讀取(Read BTE).............................................................................................95
RAiO TECHNOLOGY INC.
4/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-2-3
BTE移動(Move BTE) ............................................................................................95
7-7-2-4
單色填滿(Solid Fill)................................................................................................95
7-7-2-5
圖案填滿(Pattern Fill)............................................................................................95
7-7-2-6
BTE透通填滿(Transparent Pattern Fill) ................................................................ 95
7-7-2-7
BTE透通寫入(Transparent Write BTE) ................................................................. 96
7-7-2-8
BTE透通移動(Transparent Move BTE)................................................................. 96
7-7-2-9
顏色擴充(Color Expansion)...................................................................................96
7-7-2-10 顏色移動(Move BTE with Color Expansion) ......................................................... 96
7-7-3 BTE記憶體存取方式 ...............................................................................................................97
7-7-3-1
區塊記憶體讀取(Block Memory Access)............................................................... 97
7-7-3-2
線性記憶體讀取(Linear Memory Access).............................................................. 97
7-7-4 BTE功能說明..........................................................................................................................98
7-7-4-1
BTE寫入搭配光柵運算功能........................................................................................98
7-7-4-2
BTE讀取功能 ...........................................................................................................100
7-7-4-3
BTE正向移動搭配光柵運算功能 ..............................................................................101
7-7-4-4
BTE反向移動搭配光柵運算功能 ..............................................................................103
7-7-4-5
BTE透通性寫入功能.................................................................................................105
7-7-4-6
BTE正向透通性移動功能 .........................................................................................107
7-7-4-7
圖形樣板填入搭配光柵運算功能(Pattern Fill with ROP) .....................................109
7-7-4-8
透通性圖形樣板填入功能 ......................................................................................... 111
7-7-4-9
顏色擴充功能(Color Expansion) ......................................................................... 113
7-7-4-10 透通性顏色擴充功能(Color Expansion with Transparency) ................................ 116
7-7-4-11 BTE移動搭配顏色擴充功能(Move BTE with Color Expansion) .......................... 118
7-7-4-12 透通性BTE移動功能搭配顏色擴充...........................................................................120
7-7-4-13 單色填滿功能 ...........................................................................................................121
7-8 圖層混合功能...................................................................................................... 122
7-8-1 顯示圖層一 ...........................................................................................................................123
7-8-2 顯示圖層二 ...........................................................................................................................124
7-8-3 透通模式 ...............................................................................................................................124
7-8-4 漸入漸出模式........................................................................................................................125
7-8-5 布林運算OR..........................................................................................................................125
7-8-6 布林運算AND .......................................................................................................................126
7-8-7 圖層的捲動模式 ....................................................................................................................126
7-9 觸控面板功能...................................................................................................... 127
7-9-1 自動模式 ...............................................................................................................................127
7-9-2 手動模式 ...............................................................................................................................129
7-9-2-1
外部中斷模式 ...........................................................................................................129
7-9-2-2
輪詢模式(Polling Mode) ......................................................................................131
7-9-3 觸控掃描與取樣時間 .............................................................................................................133
7-10 脈寬調變 ........................................................................................................... 134
7-11 睡眠模式 ........................................................................................................... 136
RAiO TECHNOLOGY INC.
5/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
8. AC / DC特性........................................................................................... 137
8-1 最大範圍限制...................................................................................................... 137
8-2 DC電氣特性........................................................................................................ 138
9. 產品封裝 ................................................................................................. 139
9-1 封裝腳位圖 ......................................................................................................... 139
9-2 封裝尺寸............................................................................................................. 140
9-3 產品編號............................................................................................................. 140
10. 應用電路 ............................................................................................... 141
11. 程式範例 ............................................................................................... 143
12. 暫存器總表摘要 .................................................................................... 156
RAiO TECHNOLOGY INC.
6/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
1. 簡 介
RA8872 是一個文字與繪圖模式的液晶顯示(TFT-LCD)控制器,可結合文字或 2D 圖形應用,支援最大
到 320*240 點解析度的中小尺寸數位 TFT 面板。RA8872 內建記憶體能支援 65K 色的 320*240 單圖層顯
示或 4K 色的 320*240 雙圖層顯示。
RA8872 內建 CGROM 能顯示國際標準的 ISO 8859-1/2/3/4 字型,包含 256*4 個可顯示大部份使用於英語
系和歐洲國家的半型字字母及符號。在圖形的使用上,RA8872 支援一 2D 的 BTE 引擎(Block Transfer
Engine),此 BTE 相容於一般通用的 2D BitBLT 的功能,可用於處理大量圖形資料轉換。同時 RA8872 也
內建幾何圖形加速引擎(Geometric Speed-up Engine)
,提供使用者可以透過簡單的設定輕鬆的畫出直線、
矩形和圓形的幾何圖形形狀。除此之外,RA8872 還包括一些強大的圖形處理功能,如畫面旋轉功能、捲
動功能、圖形 Pattern、雙層混合顯示和文字放大等等,這些功能將可節省使用者在中小尺寸 TFT 面板應
用的開發時間,並且提昇 MCU 軟體的執行效率。
RA8872 提供低成本的 8-bit 8080 / 6800 MCU 界面,還有一 10-bit 的 4 線式觸控面板控制器,另外 2 組的
脈寬調變(PWM)可用於調整面板背光或其他應用。相對於其它的解決方案,RA8872 是一個功能強大和
廉價的彩色 TFT 控制器,可以讓以往單色 STN 面板的應用順利、快速、輕易的轉成 TFT 面板的應用,解
決設計者在軟硬體開發上的疑慮,同時達成低成本、高效能的系統方案。
2. 特 性
‹ 支援文字和繪圖兩種混和顯示模式
‹ 文字垂直旋轉模式功能
‹ 支援 8/12/16-bit Generic RGB TFT 面板:
‹ 支援水平和垂直區域捲動
雙圖層:4K 色最大 320*240 點解析度
‹ 提供文字游標功能
單圖層:65K 色最大 320*240 點解析度
‹ 提供 32*32 pixel 的圖形游標功能
‹ 色彩深度: 256/4K/65K 色
‹ 支援 256 個使用者自訂 8*16 字元符號
‹ 支 援 MCU 界 面 : 8-bit 資 料 匯 流 排 的
‹ 支援 32 個使用者自建 8*8 pixel 圖形 Pattern
‹ 內建 2 組脈波寬度調變(PWM)提供 LCD 背
8080/6800 系列
‹ 內建 DDRAM 記憶體: 230KB
光的調節或其他用途
‹ 內建 2D Block Transfer Engine(BTE)功能
‹ 內建 4 線電阻式觸控面板控制器
‹ 內建幾何圖形加速繪圖引擎
‹ 提供 6 個 GPIO(GPIO0~5)
‹ 內建 10KB 字型 ROM(8*16 dots)及支援標
‹ 時脈(Clock)來源: 外部晶振配合內部 PLL
‹ 電源操作範圍: 3.0V~3.6V
準 ISO8859-1/2/3/4
‹ 支援 1 倍到 4 倍字型放大(垂直和水平)
‹ 封裝:LQFP-100pin
‹ 支援 90 度、180 度、270 度文字旋轉顯示功能
RAiO TECHNOLOGY INC.
7/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
3. 系 統 方 塊 圖
DB[0:7]
RD# / EN
WR# / RW#
CS#
RS
C86
WAIT#
INT#
CGROM
MPU I/F
Block
XI
OSC/
PLL
XO
Register
Block
Geometric
Speed-up
Engine
Internal
DPRAM
Pattern/
Cursor
Font
Engine
TCON
Power
Control
RST#
PWM
ADC
XP
XN
YP
YN
4-wires
Touch Panel
Controller
2D-BTE
Engine
Scroll
Engine
PDAT[0:15]
HSYNC
VSYNC
PCLK
DE
PWM1
PWM2
GPIO
GPIO[0:5]
Test
TEST[0:2]
圖 3-1 : 內部方塊圖
TFT Driver
8bits
8080/6800 MPU
Booster
(Back-light Adj.)
RA8872
TFT Panel
4-Wires
Touch Panel
Crystal
圖 3-2 : 系統方塊圖
RAiO TECHNOLOGY INC.
8/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
4. 腳 位 定 義
4-1
MCU 界 面
接 腳 名 稱
DB[0:7]
I/O
腳 位 說 明
Pin#
14, 15,
資料匯流排(Data Bus)
IO 19~
負責 RA8872 及微處理器(MCU)之間的資料傳送與接收。
24
致能 / 讀取控制訊號(Enable / Read Enable)
RD# / EN
I
9
當 MCU 為 8080 系列時,此腳為資料讀取訊號(RD#),於低電位動
作。
當 MCU 為 6800 系列時,此腳為致能訊號(EN),於高電位動作。
寫入 / 讀-寫控制訊號(Write / Read-Write)
當 MCU 為 8080 系列時,此腳為資料寫入訊號(WR#),於低電位動
WR# / RW#
I
10
作。
當 MCU 為 6800 系列時,此腳為資料讀取 / 寫入訊號(RW#),於高
電位時表示讀取動作,於低電位時表示寫入動作。
CS#
I
11
晶片選取控制訊號(Chip Select Input)
Low 動作的晶片選取輸入。
指令 / 資料選擇控制訊號(Command / Data Select Input)
此腳位用於區別是進行指令週期或資料週期。當 RS = 0 時,RA8872
為資料讀取或寫入週期。當 RS = 1 時,RA8872 為狀態(Status)讀
取或指令寫入週期,當於 8080 介面時,通常此腳位和微處理器的 A0
相接。
RS
I
12
存 取 週 期
RS
WR#
0
0
資料寫入(Data Write)
0
1
資料讀取(Data Read)
1
0
指令寫入(CMD Write)
1
1
狀態讀取(Status Read)
MCU 界面選擇
C86
I
13
0 : Intel 8080 系列 MCU 介面。
1 : Motorola 6800 系列 MCU 介面。
INT#
O
37
中斷訊號(Interrupt Signal Output)
用以發出 RA8872 內部的中斷狀況給 MCU。
等待訊號(Wait Signal Output)
WAIT#
O
36
用以反應 RA8872 內部的執行使用狀況。當 WAIT# 為 Low 時表示
RA8872 正處於忙碌狀態,無法接受來自 MCU 指令。把此腳位接到 I/O
腳位時,它能被使用於輪詢機制(Polling)來監控內部的狀況。
RAiO TECHNOLOGY INC.
9/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
4-2
LCD 面 板 界 面
接 腳 名 稱
I/O
腳 位 說 明
Pin#
LCD 面板資料匯流排
PDAT[0:15]
O 85~100 資料匯流排輸出端接到 TFT LCD 面板的 Driver IC。使用者必須將這些
資料匯流排接到對應的 TFT LCD 面板的相對信號。
HSYNC Pulse
HSYNC
O
81
VSYNC
O
82
PCLK
O
83
DE
O
84
當使用 Generic TFT(數位 TFT 面板)時,此接腳定義為 HSYNC。
VSYNC Pulse
當使用 Generic TFT 時,此接腳定義為 VSYNC。
Pixel Clock
當使用 Generic TFT 時,此接腳定義為 PCLK。
Data Enable
4-3
當使用 Generic TFT 時,此接腳定義為 DE。
觸控界面與脈寬調變界面
接 腳 名 稱
I/O
Pin#
XP
A
8
XN
A
5
腳 位 說 明
觸控面板控制訊號
直接接到 4 線式觸控面板的 XP 信號。
觸控面板控制訊號
直接接到 4 線式觸控面板的 XN 信號。
觸控面板控制訊號
YP
A
6
直接接到 4 線式觸控面板的 YP 信號。
當使用觸控掃瞄功能時,請在此腳位外接 100Kohm pull-up 電阻。
YN
A
7
PWM1
PWM2
O
33,
34
GPIO[0:5]
觸控面板控制訊號
直接接到 4 線式觸控面板的 YN 信號。
PWM 輸出
PWM 輸出,可由暫存器進行程式化輸出。
通用 GPIO 信號
64~66,
IO
,使用者可由暫存
69~71 這些接腳定義為通用 GPIO 信號(GPIO0~GPIO5)
器設定之。
RAiO TECHNOLOGY INC.
10/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
4-4
時脈與電源
接 腳 名 稱
I/O
腳 位 說 明
Pin#
Crystal 輸入腳位
XI
I
28
此為晶體振盪器的輸入端,用來提供內部 PLL 的振盪來源,以便產生
RA8872 的內部時脈(Clock)信號。
XO
O
29
Crystal 輸出腳位
此為晶體振盪器的輸出端。
重置訊號(Reset Signal Input)
RST#
I
38
此腳位為 RA8872 低電位硬體重置輸入訊號。為了提高抗雜訊的能力,
此腳位為 Schmitt-Trigger 輸入,當所給的電源準位變低時,能確保此
腳位不會被觸發。
TEST[0:2]
I
40~42
VR1
A
76
VR2
A
74
測試模式輸入訊號(Test Mode Input)
此腳位為測試訊號,必須保持接地(GND)
。
參考電壓輸入
此腳為一參考電壓的穩壓輸入,外接 0.1uF 的電容到地即可。
參考電壓輸出
此腳為內部的參考電壓輸出,外接 0.2uF 的電容到地即可。
ADC 參考電壓
ADC_VREF
A
4
ADC 的輸入參考電壓,可以選擇內部產生,或是由外部輸入。此接腳
必須接一 1~10uF 電容到地(GND)以提升 ADC 轉換的穩定度。
LDO_VDD
P
27,
79,
LDO VDD
內部 LDO(Low Dropout Regulator)的電源(3.3V)輸入,用以產生
1.8V 電源輸出。
25,
LDO GND
78
LDO 的接地線。
LDO_GND
P
LDO_OUT
P
80
LDO_CAP
P
30
LDO 電壓輸出
LDO 1.8V 電源輸出,於靠近輸出端處接一電容到地以提升濾波效果。
LDO 的濾波電容接點
必須接一 1uF 以上的濾波電容到地以減少雜訊干擾。
內部核心電路的 VDD 電源
CORE_VDD
P
17,
57
ADC_VDD
P
2
ADC_GND
P
3
RAiO TECHNOLOGY INC.
內部核心電路的 VDD 電源為 1.8V,請接到 LDO_OUT,並於靠近輸入
端處接一 1uF 以上的濾波電容到地以減少雜訊干擾。
ADC VDD
內部 ADC 電源(3.3V)輸入。請將此信號接至 3.3V。
ADC GND
內部 ADC 的接地線。請將此信號接地。
11/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
VDD
P
1,
16,
31,
35,
50,
51,
59
I/O 的 VDD 電源信號
VDD 為 3.3V 輸入。
GND
內部核心電路及 IO 的接地線。
NC
VR2
NC
NC
GPIO5
GPIO4
GPIO3
NC
NC
GPIO2
GPIO1
GPIO0
NC
NC
VDD
NC
GND
NC
CORE_VDD
NC
NC
NC
NC
NC
GND
GND
P
18,
32,
61,
77
VR1
VDD
LDO_GND
LDO_VDD
LDO_OUT
HSYNC
VSYNC
PCLK
DE
PDAT0
PDAT1
PDAT2
PDAT3
PDAT4
PDAT5
PDAT6
PDAT7
PDAT8
PDAT9
PDAT10
PDAT11
PDAT12
PDAT13
PDAT14
PDAT15
70
75
65
60
55
50
80
RAiO
85
TM
45
40
RA8872L3N
90
35
1012
95
30
Date code (Year 2010, 12th week)
100
5
10
15
20
25
GND
ADC_VDD
ADC_GND
ADC_VREF
XN
YP
YN
XP
RD#
WR#
CS#
RS
C86
DB0
DB1
GND
CORE_VDD
VDD
DB2
DB3
DB4
DB5
DB6
DB7
LDO_GND
○
GND
NC
NC
NC
NC
NC
NC
NC
TEST2
TEST1
TEST0
NC
RST#
INT#
WAIT#
GND
PWM2
PWM1
VDD
GND
LDO_CAP
XO
XI
LDO_VDD
NC
圖 4-1 : 接腳圖
RAiO TECHNOLOGY INC.
12/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
5. 暫 存 器 描 述
RA8872 的暫存器結構是由一個狀態暫存器及數十個指令暫存器所組成,狀態暫存器是一只能讀(Read
Only)的暫存器,當 “RS” 為Hi時,MCU若對RA8872 進行讀取週期,將會得到狀態暫存器的數據。其它
的指令暫存器分成 10 個類別,如 表 5-1,且大部份都可以讀或寫。當 “RS” 為Hi時,MCU若對RA8872
進行寫入週期,表示MCU將對指定的暫存器進行讀或寫的動作。下面章節將對所有暫存器的內容進行說
明,而第 12 章是全部暫存器總表的摘要,可以提供快速查詢。
表 5-1 : 指令暫存器類別
No.
指令暫存器類別
暫存器位址
[01h]、[02h]、[04h]、
1
系統與組態暫存器
2
LCD 顯示控制暫存器
[20h] ~ [27h]、[29h]
3
工作視窗設定暫存器
[30h] ~ [3Fh]
4
游標設定暫存器
[40h] ~ [4Eh]
5
BTE 引擎控制暫存器
[50h] ~ [67h]
6
觸控面板設定暫存器
[70h] ~ [74h]
7
圖形游標設定暫存器
[80h] ~ [85h]
8
PLL 設定暫存器
[88h]、[89h]
9
脈波寬度調變設定暫存器
[8Ah] ~ [8Fh]
10
繪圖設定暫存器
[90h] ~ [9Dh]
RAiO TECHNOLOGY INC.
[10h] ~ [1Fh]
13/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
狀 態 暫 存 器 ( Status Register )
5-1
狀態暫存器 Status Register(STSR)
說 明
Bit
初始值
Access
0
RO
0
RO
0
RO
0
RO
0
RO
記憶體讀取 / 寫入忙碌(Memory Read / Write Busy)
7
0 : 閒置狀態(No Memory Read / Write event)。
1 : 忙碌狀態(Memory Read / Write busy)。
BTE 忙碌(BTE Busy)
6
0 : BTE 處於非忙碌狀態。
1 : BTE 處於忙碌狀態。
觸控掃瞄偵測(Touch Panel Event Detected)
0 : 觸控掃瞄沒有偵測到輸入訊號。
5
1 : 觸控面板偵測到輸入訊號。
在觸控功能被致能及使用「手動模式」的情況下,此位元用於偵測
觸控面板是否被觸摸。
睡眠模式狀態
4
0 : RA8872 處於工作模式。
1 : RA8872 處於在睡眠模式。
3-0
NA
註 : “RO” 代表此暫存器只能 Read(Read Only)
。
RAiO TECHNOLOGY INC.
14/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
系 統 與 組 態 暫 存 器 ( System & Configuration Register )
5-2
REG[01h] Power and Display Controller Register(PWRR)
說 明
Bit
初始值
Access
0
RW
0
RO
0
RW
0
RW
初始值
Access
--
RW
初始值
Access
0
RW
0
RO
0
RW
LCD 顯示關閉訊號(LCD Display Off)
7
0 : LCD 畫面關閉。
1 : LCD 畫面顯示。
6-2
NA
睡眠模式
1
0 : 正常模式。
1 : 睡眠模式。
睡眠模式可以由觸控面板或是從軟體兩種方法來喚醒。
軟體重置
0 : 不動作。
0
1 : 軟體重置。
註: 此位元必須要設定 1,然後再設定 0 後,才能完成一個正確的
軟體重置動作。此位元讀取時為 0。
註 : “RW” 代表此暫存器可以 Read 或 Write。
REG[02h] Memory Read / Write Command(MRWC)
說 明
Bit
7-0
寫入(Write): Memory 寫入 Data。
讀取(Read): Memory 讀取 Data。
REG[04h] Pixel Clock Register(PCLK)
說 明
Bit
7
PCLK Inversion
0 : PDAT 是在 PCLK 正緣上升(Rising Edge)時被提取。
1 : PDAT 是在 PCLK 負緣下降(Falling Edge)時被提取。
6-2
NA
PCLK 脈波寬度調變設定(PPWS)
Pixel Clock(PCLK)的頻率計算公式為:
1-0
PCLK = SYS_CLK /((2^(Layer Setting Control + 1))*(2^PPWS))
註: 內部記憶體 65k 色模式下,Layer Setting Control 會被視為 1。
至於其它顯示應用的pixel clock設定,請參考 表 6-6。
RAiO TECHNOLOGY INC.
15/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[10h] System Configuration Register(SYSR)
說 明
Bit
7
必須設為 0。
初始值
Access
0
RW
0
RW
數位面板的並行或串行模式選擇
6
0 : 並行資料輸出。
1 : 串行資料輸出。
5
必須設為 0。
0
RW
4
必須設為 0。
0
RW
0
RW
0
RW
初始值
Access
0
RO
0
RW
0
RO
0
RW
色彩設定(Color Depth)
3-2
00 : 選擇 8-bpp Generic TFT 面板,如使用 256 色。
01 : 選擇 12-bpp Generic TFT 面板,如使用 4K 色。
1x : 選擇 16-bpp Generic TFT 面板,如使用 65K 色。
1-0
必須設為 00。
REG[11h] Panel Data Type Register(DRGB)
說 明
Bit
7
NA
序列資料奇數列傳輸順序
6-4
000 : RGB
001 : RBG
010 : GRB
011 : GBR
100 : BRG
101 : BGR
Others: 保留。(註)
3
NA
序列資料偶數列傳輸順序
2-0
000 : RGB
001 : RBG
010 : GRB
011 : GBR
100 : BRG
101 : BGR
Others: 保留。(註)
註: 當暫存器 REG[10h] Bit6 = 1 時,RGB 數據資料會以序列方式傳輸,以符合 Delta 或 Stripe 的 TFT
LCD 面板。
RAiO TECHNOLOGY INC.
16/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
First dot
PCLK
ODD LINE
R1
G1
B1
R2
EVEN LINE
B1
R1
G1
B2
圖 5-1 : Delta 面板的序列資料傳輸順序
First dot
PCLK
ODD LINE
R1
G1
B1
R2
EVEN LINE
R1
G1
B1
R2
圖 5-2 : Stripe 面板的序列資料傳輸順序
REG[12h] GPIO Configure Register(IOCR)
說 明
Bit
初始值
Access
7
必須設為 0。
0
RW
6
NA
0
RO
0
RW
初始值
Access
0
RO
0
RW
5-0
OE[5:0]
當 GPIO_EN = 0 時,OE[5:0] 用來設定 GPIO 腳為輸出或輸入。
0 : 輸出。
1 : 輸入。
REG[13h] GPIO Data Register(IODR)
說 明
Bit
7-6
NA
IO_DAT[5:0]
5-0
當 OEN 為輸入,IO_DATN 讀到的值代表 GPION 腳的狀態。
當 OEN 為輸出,IO_DATN 的值將對應到 GPION 腳。
RAiO TECHNOLOGY INC.
17/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[14h] LCD Horizontal Display Width Register(HDWR)
說 明
Bit
7
NA
初始值
Access
0
RO
0
RW
水平顯示寬度設定位元[6:0]
6-0
此暫存器規範液晶面板水平顯示寬度,每單位為 8-pixesl 解析度。
水平顯示寬度(pixel)=(HDWR + 1)*8
REG[15h] Horizontal Non-Display Period Fine Tuning Option Register(HNDFTR)
說 明
Bit
初始值
Access
0
RW
0
RO
0
RW
初始值
Access
0
RO
0
RW
初始值
Access
0
RO
0
RW
DE 信號的極性(當使用 Generic TFT 時)
7
0 : High 動作。
1 : Low 動作。
6-4
NA
水平非顯示微調寬度設定位元[3:0]
這個暫存器規範液晶面板水平非顯示微調寬度(支援 SYNC Mode
3-0
面板),每單位為 1-pixel 解析度。
水平非顯示寬度微調寬度(pixel)= HNDFTR
REG[16h] LCD Horizontal Non-Display Period Register(HNDR)
說 明
Bit
7-5
NA
水平非顯示寬度設定位元[4:0]
這個暫存器規範液晶面板水平非顯示寬度,每單位為 8-pixel 解析
4-0
度。
水平非顯示寬度(pixel)=(HNDR + 1)*8 + HNDFTR
REG[17h] HSYNC Start Position Register(HSTR)
說 明
Bit
7-5
NA
水平同步信號(HSYNC)起始位址寬度設定位元[4:0]
這個暫存器規範顯示區域結束到水平同步信號起始位址的寬度,每
4-0
單位為 8-pixel 解析度。
水平同步信號起始位址寬度(pixel) =(HSTR + 1)*8
RAiO TECHNOLOGY INC.
18/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[18h] HSYNC PWM Register(HPWR)
說 明
Bit
初始值
Access
0
RW
0
RO
0
RW
初始值
Access
0
RW
初始值
Access
0
RO
0
RW
初始值
Access
0
RW
初始值
Access
0
RO
0
RW
HSYNC 動作準位
7
0 : Low 動作。
1 : High 動作。
6-5
NA
水平同步信號(HSYNC)脈波寬度設定位元[4:0]
4-0
水平同步信號脈波寬度(pixel) =(HPWR + 1)*8
REG[19h] LCD Vertical Display Height Register(VDHR0)
說 明
Bit
垂直顯示區域高度設定位元[7:0]
7-0
垂直顯示區域高度(line)= {VDHR1,VDHR0} + 1
REG[1Ah] LCD Vertical Display Height Register0(VDHR1)
說 明
Bit
7-1
NA
垂直顯示區域高度設定位元[8]
0
垂直顯示區域高度(line)= {VDHR1,VDHR0} + 1
REG[1Bh] LCD Vertical Non-Display Period Register(VNDR0)
說 明
Bit
垂直非顯示區域高度設定位元[7:0]
7-0
垂直非顯示區域高度(line)= {VNDR1,VNDR0}
REG[1Ch] LCD Vertical Non-Display Period Register(VNDR1)
說 明
Bit
7-1
NA
垂直非顯示區域高度設定位元[8]
0
垂直非顯示區域高度(line)= {VNDR1,VNDR0}
RAiO TECHNOLOGY INC.
19/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[1Dh] VSYNC Start Position Register(VSTR0)
說 明
Bit
初始值
Access
0
RW
初始值
Access
0
RO
0
RW
初始值
Access
0
RW
0
RW
垂直同步信號(VSYNC)起始位址高度設定位元[7:0]
這個暫存器規範垂直顯示區域結束到垂直同步信號起始位址的高
7-0
度。
垂直同步信號起始位址高度(line) = {VSTR1,VSTR0} + 1
REG[1Eh] VSYNC Start Position Register(VSTR1)
說 明
Bit
7-1
NA
垂直同步信號(VSYNC)起始位址高度設定位元[8]
這個暫存器規範垂直顯示區域結束到垂直同步信號起始位址的高
0
度。
垂直同步信號起始位址高度(line) = {VSTR1,VSTR0} + 1
REG[1Fh] VSYNC PWM Register(VPWR)
說 明
Bit
VSYNC 動作準位
7
0 : Low 動作。
1 : High 動作。
VSYNC 脈波寬度[6:0]
6-0
RAiO TECHNOLOGY INC.
VSYNC 脈波寬度(line) =(VPWR + 1)
20/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
LCD 顯 示 模 式
5-3
REG[20h] Display Configuration Register(DPCR)
說 明
初始值
Access
0
RW
NA
0
RO
3
HDIR
水平掃描方向設定。
0 : 由 SEG0 到 SEG(n-1)。
1 : 由 SEG(n-1)到 SEG0。
0
RW
2
VDIR
垂直掃描方向設定
0 : 由 COM0 到 COM(n-1)。
1 : 由 COM(n-1)到 COM0。
0
RW
掃描旋轉控制
00 : 正常。
01 : 旋轉 90 度。
10 : 旋轉 180 度。
11 : 旋轉 270 度。
0
RW
初始值
Access
0
RW
Bit
圖層設定(Layer Control)
0 : 單圖層。
7
1 : 雙圖層。
註 1 : 此設定只對解析度 320*240(含)以下的 TFT 面板有效。
註 2 : 當 RA8872 使用內部記憶體且色彩設定為 16 位元(65K 色)
時,此位元必需設為零。
6-4
1-0
REG[21h] Font Control Register 0(FNCR0)
說 明
Bit
CGRAM / CGROM 文字選擇
0 : 選擇 CGROM Font。
7
1 : 選擇 CGRAM Font。
註 : 在文字模式時(REG[40h] bit 7 為 1),用來選擇點陣圖來
源,當 CGRAM 寫入時(REG[41h] bit 3-2 =01b),此位元設定為 0。
6
必須設為 0。
0
RW
5
必須設為 0。
0
RW
4
必須設為 1。
0
RW
3-2
必須設為 00。
0
RW
0
RW
ISO8859 文字選擇
00 : ISO8859-1。
1-0
01 : ISO8859-2。
10 : ISO8859-3。
11 : ISO8859-4。
RAiO TECHNOLOGY INC.
21/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[22h] Font Control Register1(FNCR1)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RW
0
RW
0
RW
初始值
Access
0
RW
初始值
Access
0
RW
初始值
Access
0
RO
0
RW
文字對齊功能設定
7
0 : 文字對齊功能關閉。
1 : 文字對齊功能開啟。
文字透通模式(Transparency)
6
0 : 文字背景色模式。
1 : 文字背景透通模式,無背景色。
文字粗體
5
0 : 正常。
1 : 粗體。
文字旋轉
4
0 : 正常。
1 : 90 度。
水平文字放大
00 : X1
3-2
01 : X2
10 : X3
11 : X4
垂直文字放大
00 : X1
1-0
01 : X2
10 : X3
11 : X4
REG[23h] CGRAM Select Register(CGSR)
說 明
Bit
7-0
自造字型(CGRAM)位置。
REG[24h] Horizontal Scroll Offset Register 0(HOFS0)
說 明
Bit
7-0
水平顯示捲動偏移[7:0]
設定水平捲動時每次移動的偏移量是多少 Pixel。
REG[25h] Horizontal Scroll Offset Register 1(HOFS1)
說 明
Bit
7-2
1-0
NA
水平顯示捲動偏移[9:8]
設定水平捲動時每次移動的偏移量是多少 Pixel。
RAiO TECHNOLOGY INC.
22/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[26h] Vertical Scroll Offset Register 0(VOFS0)
說 明
Bit
7-0
垂直顯示捲動偏移[7:0]
設定垂直捲動時每次移動的偏移量是多少 Pixel。
初始值
Access
0
RW
初始值
Access
0
RO
0
RW
初始值
Access
0
RO
0
RW
REG[27h] Vertical Scroll Offset Register 1(VOFS1)
說 明
Bit
7-1
0
NA
垂直顯示捲動偏移[8]
設定垂直捲動時每次移動的偏移量是多少 Pixel。
REG[29h] Font Line Distance Setting Register(FLDR)
說 明
Bit
7-5
4-0
NA
文字行距設定
在文字模式下,這些位元用來設定行距(Unit: pixel)。
Active window
瑞佑科技
Font line distance
RA i O
圖 5-3 : 文字行距
RAiO TECHNOLOGY INC.
23/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
工作視窗設定
5-4
REG[30h] Horizontal Start Point 0 of Active Window(HSAW0)
說 明
Bit
7-0
工作視窗的水平起始點[7:0]
初始值
Access
0
RW
初始值
Access
REG[31h] Horizontal Start Point 1 of Active Window(HSAW1)
說 明
Bit
7-2
NA
0
RO
1-0
工作視窗的水平起始點[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
工作視窗的垂直起始點[8]
0
RW
初始值
Access
0
RW
初始值
Access
REG[32h] Vertical Start Point 0 of Active Window(VSAW0)
說 明
Bit
7-0
工作視窗的垂直起始點[7:0]
REG[33h] Vertical Start Point 1 of Active Window(VSAW1)
說 明
Bit
7-1
0
REG[34h] Horizontal End Point 0 of Active Window(HEAW0)
說 明
Bit
7-0
工作視窗的水平結束點[7:0]
REG[35h] Horizontal End Point 1 of Active Window(HEAW1)
說 明
Bit
7-2
NA
0
RO
1-0
工作視窗的水平結束點[9:8]
0
RW
初始值
Access
0
RW
REG[36h] Vertical End Point of Active Window 0(VEAW0)
說 明
Bit
7-0
工作視窗的垂直結束點[7:0]
RAiO TECHNOLOGY INC.
24/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[37h] Vertical End Point of Active Window 1(VEAW1)
說 明
初始值
Access
NA
0
RO
工作視窗的垂直結束點[8]
0
RW
初始值
Access
0
RW
初始值
Access
Bit
7-1
0
(HSAW,VSAW)
Active Window
(HEAW,VEAW)
圖 5-4 : 工作視窗
REG[38h] Horizontal Start Point 0 of Scroll Window(HSSW0)
說 明
Bit
7-0
捲動視窗的水平起始點[7:0]
REG[39h] Horizontal Start Point 1 of Scroll Window(HSSW1)
說 明
Bit
7-2
NA
0
RO
1-0
捲動視窗的水平起始點[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
捲動視窗的垂直起始點[8]
0
RW
REG[3Ah] Vertical Start Point 0 of Scroll Window(VSSW0)
說 明
Bit
7-0
捲動視窗的垂直起始點[7:0]
REG[3Bh] Vertical Start Point 1 of Scroll Window(VSSW1)
說 明
Bit
7-1
0
RAiO TECHNOLOGY INC.
25/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[3Ch] Horizontal End Point 0 of Scroll Window(HESW0)
說 明
Bit
7-0
捲動視窗的水平結束點[7:0]
初始值
Access
0
RW
初始值
Access
REG[3Dh] Horizontal End Point 1 of Scroll Window(HESW1)
說 明
Bit
7-2
NA
0
RO
1-0
捲動視窗的水平結束點[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
捲動視窗的垂直結束點[8]
0
RW
REG[3Eh] Vertical End Point 0 of Scroll Window(VESW0)
說 明
Bit
7-0
捲動視窗的垂直結束點[7:0]
REG[3Fh] Vertical End Point 1 of Scroll Window(VESW1)
說 明
Bit
7-1
0
(HSSW,VSSW)
Scroll Window
(HESW,VESW)
圖 5-5 : 捲動視窗
RAiO TECHNOLOGY INC.
26/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
游標
5-5
RA8872 提供兩種游標模式作為應用,一種是代表記憶體讀取 / 寫入位置的游標,另一種為圖形游標。
記憶體讀取游標和記憶體寫入游標是 2 個獨立的游標,兩者皆可以設置為自動增加,游標移動方向也可
程式化,移動範圍由工作視窗的設定來主導。但是記憶體讀取游標是看不見的(Invisible)。圖形游標
為 32*32 pixel 的圖案,RA8872 提供 8 款圖形游標給使用者編輯,使用者可透過暫存器設定顯示位址。
REG[40h] Memory Write Control Register 0(MWCR0)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RO
0
RW
0
RW
0
RW
顯示模式設定
7
0 : 繪圖模式。
1 : 文字模式。
文字游標設定
6
0 : 設定文字游標為不顯示。
1 : 設定文字游標為顯示。
文字游標閃爍設定
5
0 : 游標不閃爍。
1 : 游標閃爍。
4
NA
繪圖模式時的記憶體寫入方向
00 : 左 Æ 右,然後 上 Æ 下。
3-2
01 : 右 Æ 左,然後 上 Æ 下。
10 : 上 Æ下,然後 左 Æ 右。
11 : 下 Æ上,然後 左 Æ 右。
記憶體寫入游標自動增加功能關閉
1
0 : 當記憶體寫入時游標位址會自動加一。
1 : 當記憶體寫入時游標位址不會自動加一。
記憶體讀取游標自動增加功能關閉
0
0 : 當記憶體讀取時游標位址會自動加一。
1 : 當記憶體讀取時游標位址不會自動加一。
RAiO TECHNOLOGY INC.
27/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[41h] Memory Write Control Register1(MWCR1)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RO
0
RW
初始值
Access
FFh
RW
初始值
Access
0
RW
圖形游標設定
7
0 : 圖形游標關閉。
1 : 圖形游標開啟。
圖形游標的選擇
從 8 款圖形游標中選擇一款。(000b to 111b)
000 : 選擇圖形游標 1。
001 : 選擇圖形游標 2。
6-4
010 : 選擇圖形游標 3
:
:
:
:
111 : 選擇圖形游標 8。
寫入目的地選擇
00 : Bank 1~2。
3-2
01 : CGRAM。
10 : 圖形游標。
11 : Pattern。
1
NA
寫入圖層選擇
當顯示圖層小於或等於 320*240 時:
0
0 : 圖層 1。
1 : 圖層 2。
當顯示區域大於 320*240 時,寫入圖層維持在圖層 1。
REG[42h] Text Foreground Color Register(TFCR)
說 明
Bit
7-0
文字前景顏色(Text Foreground Color)
256 色文字前景色設定,格式為[7:0] = RRRGGGBB。
REG[43h] Text Background Color Register(TBCR)
說 明
Bit
7-0
文字背景顏色(Text Background Color)
256 色文字背景色設定,格式為[7:0] = RRRGGGBB。
RAiO TECHNOLOGY INC.
28/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[44h] Blink Time Control Register(BTCR)
說 明
Bit
初始值
Access
0
RW
初始值
Access
7h
RW
0
RW
初始值
Access
0
RW
初始值
Access
文字閃爍時間設定(Unit: Frame)
00h : 1 個 Frame 週期。
01h : 2 個 Frame 週期。
7-0
02h : 3 個 Frame 週期。
:
:
:
FFh : 256 個 Frame 週期。
REG[45h] Text Cursor Size Register(CURS)
說 明
Bit
7-4
文字游標水平大小設定[3:0]
單位 : Pixel
文字游標垂直大小設定[3:0]
3-0
單位 : Pixel
註 : 當文字放大時,游標也會同時放大。
REG[46h] Memory Write Cursor Horizontal Position Register 0(CURH0)
說 明
Bit
7-0
記憶體寫入游標水平位址[7:0]
REG[47h] Memory Write Cursor Horizontal Position Register 1(CURH1)
說 明
Bit
7-2
NA
0
RO
1-0
記憶體寫入游標水平位址[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
記憶體寫入游標垂直位址[8]
0
RW
REG[48h] Memory Write Cursor Vertical Position Register 0(CURV0)
說 明
Bit
7-0
記憶體寫入游標垂直位址[7:0]
REG[49h] Memory Write Cursor Vertical Position Register 1(CURV1)
說 明
Bit
7-1
0
RAiO TECHNOLOGY INC.
29/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[4Ah] Memory Read Cursor Horizontal Position Register 0(RCURH0)
說 明
Bit
7-0
初始值
Access
0
RW
初始值
Access
記憶體讀取游標水平位址[7:0]
REG[4Bh] Memory Read Cursor Horizontal Position Register 1(RCURH01)
說 明
Bit
7-2
NA
0
RO
1-0
記憶體讀取游標水平位址[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
記憶體讀取游標垂直位址[8]
0
RW
初始值
Access
0
RO
0
RW
REG[4Ch] Memory Read Cursor Vertical Position Register 0(RCURV0)
說 明
Bit
7-0
記憶體讀取游標垂直位址[7:0]
REG[4Dh] Memory Read Cursor Vertical Position Register 1(RCURV1)
說 明
Bit
7-1
0
REG[4Eh] Memory Read Cursor Direction(MRCD)
說 明
Bit
7-2
NA
繪圖模式時的記憶體讀取方向
00 : 左 Æ 右,然後 上 Æ 下。
1-0
01 : 右 Æ 左,然後 上 Æ 下。
10 : 上 Æ 下,然後 左 Æ 右。
11 : 下 Æ 上,然後 左 Æ 右。
RAiO TECHNOLOGY INC.
30/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
BTE 引 擎
5-6
REG[50h] BTE Function Control Register 0(BECR0)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RO
初始值
Access
0
RW
0
RW
BTE 功能設定與狀態
Write:
0 : 不動作。
7
1 : BTE 功能開啟。
Read:
0 : BTE 處於閒置狀態。
1 : BTE 處於忙碌狀態。
BTE 做資料搬移時 “讀取來源的資料選擇”
6
0 : 區塊模式,來源的資料是讀取於記憶體的一矩形區域
(Rectangular Region)。
1 : 線性模式,來源的資料是讀取於記憶體的相連區域。
BTE 做資料搬移時 “寫入目的地的資料選擇”
5
0 : 區塊模式,目的地的資料是寫入在記憶體的一矩形區域。
1 : 線性模式,目的地的資料是寫入在記憶體的相連區域。
4-0
NA
REG[51h] BTE Function Control Register 1(BECR1)
說 明
Bit
BTE 的光柵運算碼(ROP Code)Bit[3:0]
7-4
ROP是Raster Operation的縮寫。有些BTE操作碼要搭配光柵運算
碼才能知道詳細的動作,請參考第 7-7 節。
BTE 的操作碼(Operation Code)Bit[3:0]
RA8872 包含一 2D的BTE引擎(Block Transfer Engine),可以執
3-0
行 13 個BTE動作(也就是操作碼 0000 ~ 1100),而 1101 ~ 1111
不被使用。有些操作碼要搭配上面的光柵運算碼才能知道詳細的動
作,請參考第 7-7 節。
RAiO TECHNOLOGY INC.
31/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[52h] Layer Transparency Register 0(LTPR0)
說 明
Bit
初始值
Access
0
RW
0
RO
0
RW
初始值
Access
0
RW
0
RW
圖層捲動模式
7-6
00 : 圖層 1 與圖層 2 同時捲動。
01 : 只有圖層 1 捲動。
1x : 只有圖層 2 捲動。
5-3
NA
圖層顯示模式
000 : 只有圖層 1 顯示。
001 : 只有圖層 2 顯示。
2-0
x10 : 顯示圖層 1 與圖層 2 的漸入漸出模式。
x11 : 顯示圖層 1 與圖層 2 的透通模式。
100 : 顯示圖層 1 與圖層 2 的布林運算 OR 結果。
101 : 顯示圖層 1 與圖層 2 的布林運算 AND 結果。
REG[53h] Layer Transparency Register 1(LTPR1)
說 明
Bit
圖層 2 的透通(Transparency)設定
0000 : Total 顯示。
0001 : 7/8 顯示。
0010 : 3/4 顯示。
7-4
0011 : 5/8 顯示。
0100 : 1/2 顯示。
0101 : 3/8 顯示。
0110 : 1/4 顯示。
0111 : 1/8 顯示。
1000 : 顯示關閉。
圖層 1 的透通(Transparency)設定
0000 : Total 顯示。
0001 : 7/8 顯示。
0010 : 3/4 顯示。
3-0
0011 : 5/8 顯示。
0100 : 1/2 顯示。
0101 : 3/8 顯示。
0110 : 1/4 顯示。
0111 : 1/8 顯示。
1000 : 顯示關閉。
RAiO TECHNOLOGY INC.
32/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[54h] Horizontal Source Point 0 of BTE(HSBE0)
說 明
Bit
7-0
BTE 讀取資料來源的水平位置[7:0]
初始值
Access
0
RW
初始值
Access
REG[55h] Horizontal Source Point 1 of BTE(HSBE1)
說 明
Bit
7-2
NA
0
RO
1-0
BTE 讀取資料來源的水平位置[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
0
RW
NA
0
RO
BTE 讀取資料來源的垂直位置[8]
0
RW
初始值
Access
0
RW
初始值
Access
REG[56h] Vertical Source Point 0 of BTE(VSBE0)
說 明
Bit
7-0
BTE 讀取資料來源的垂直位置[7:0]
REG[57h] Vertical Source Point 1 of BTE(VSBE1)
說 明
Bit
讀取資料來源的圖層
7
0 : 圖層 1(Layer-1)。
1 : 圖層 2(Layer-2)。
6-1
0
REG[58h] Horizontal Destination Point 0 of BTE(HDBE0)
說 明
Bit
7-0
BTE 寫入目標的水平位置[7:0]
REG[59h] Horizontal Destination Point 1 of BTE(HDBE1)
說 明
Bit
7-2
NA
0
RO
1-0
BTE 寫入目標的水平位置[9:8]
0
RW
初始值
Access
0
RW
REG[5Ah] Vertical Destination Point 0 of BTE(VDBE0)
說 明
Bit
7-0
BTE 寫入目標的垂直位置[7:0]
RAiO TECHNOLOGY INC.
33/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[5Bh] Vertical Destination Point 1 of BTE(VDBE1)
說 明
Bit
初始值
Access
BTE 寫入目標的圖層
7
0 : 圖層 1(Layer-1)。
0
RW
6-1
1 : 圖層 2(Layer-2)。
NA
0
RO
BTE 寫入目標的垂直位置[8]
0
RW
初始值
Access
0
RW
初始值
Access
0
REG[5Ch] BTE Width Register 0(BEWR0)
說 明
Bit
7-0
BTE 讀寫區塊的寬度[7:0]
REG[5Dh] BTE Width Register 1(BEWR1)
說 明
Bit
7-2
NA
0
RO
1-0
BTE 讀寫區塊的寬度[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
REG[5Eh] BTE Height Register 0(BEHR0)
說 明
Bit
7-0
BTE 讀寫區塊的高度[7:0]
REG[5Fh] BTE Height Register 1(BEHR1)
說 明
Bit
7-2
NA
0
RO
1-0
BTE 讀寫區塊的高度[9:8]
0
RW
初始值
Access
0
R0
0
RW
REG[60h] BTE Background Color Register 0(BGCR0)
說 明
Bit
7-5
NA
BTE 紅色背景顏色[4:0]
4-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[4:2]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[4:1]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。
RAiO TECHNOLOGY INC.
34/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[61h] BTE Background Color Register 1(BGCR1)
說 明
Bit
7-6
NA
初始值
Access
0
R0
0
RW
初始值
Access
0
R0
0
RW
初始值
Access
0
R0
0
RW
初始值
Access
0
R0
0
RW
BTE 綠色背景顏色 Background Color Green[5:0]
5-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[5:3]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[5:2]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[5:0]。
REG[62h] BTE Background Color Register 2(BGCR2)
說 明
Bit
7-5
NA
BTE 藍色背景顏色 Background Color Blue[4:0]
4-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[4:3]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[4:1]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。
REG[63h] BTE Foreground Color Register 0(FGCR0)
說 明
Bit
7-5
NA
BTE 紅色前景顏色 Foreground Color Red[4:0]
4-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[4:2]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[4:1]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。
附註: 透通性圖形樣板之透通色僅為 Bit[4:2] 有效
REG[64h] BTE Foreground Color Register 1(FGCR1)
說 明
Bit
7-6
NA
BTE 綠色前景顏色 Foreground Color Green[5:0]
5-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[5:3]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[5:2]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[5:0]。
附註: 透通性圖形樣板之透通色僅為 Bit[5:3] 有效
RAiO TECHNOLOGY INC.
35/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[65h] BTE Foreground Color Register 2(FGCR2)
說 明
Bit
7-5
NA
初始值
Access
0
R0
0
RW
初始值
Access
0
RO
0
RW
初始值
Access
0
RW
BTE 藍色前景顏色 Foreground Color Blue[4:0]
4-0
若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[4:3]。
若 REG[10h] Bit[3:2] 設定為 4K 色,此暫存器只用 Bit[4:1]。
若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。
附註: 透通性圖形樣板之透通色僅為 Bit[4:3] 有效
REG[66h] Pattern Set Number for BTE(PTNO)
說 明
Bit
7-5
NA
Pattern Set Number
00h Î Pattern Set #0。
01h Î Pattern Set #1。
4-0
02h Î Pattern Set #2。
:
:
1Fh Î Pattern Set #31。
REG[67h] Background Color Register for Transparent(BGTR)
說 明
Bit
7-0
透通模式下的背景顏色
256 色透通模式下的背景顏色設定,格式為 RRRGGGBB。
RAiO TECHNOLOGY INC.
36/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
觸控面板
5-7
REG[70h] Touch Panel Control Register 0(TPCR0)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RW
觸控面板功能設定
7
0 : 關閉。
1 : 開啟。
觸控面板控制器取樣時間設定
000 : ADC 取樣時間為 512 個系統時脈。
001 : ADC 取樣時間為 1,024 個系統時脈。
010 : ADC 取樣時間為 2,048 個系統時脈。
6-4
011 : ADC 取樣時間為 4,096 個系統時脈。
100 : ADC 取樣時間為 8,192 個系統時脈。
101 : ADC 取樣時間為 16,384 個系統時脈。
110 : ADC 取樣時間為 32,768 個系統時脈。
111 : ADC 取樣時間為 65,536 個系統時脈。
觸控面板喚醒設定
3
0 : 關閉觸控面板喚醒功能。
1 : 開啟觸控面板由睡眠模式喚醒之功能。
觸控面板控制器內的 ADC 時脈設定
000 :(System CLK)
001 :(System CLK)/ 2
010 :(System CLK)/ 4
2-0
011 :(System CLK)/ 8
100 :(System CLK)/ 16
101 :(System CLK)/ 32
110 :(System CLK)/ 64
111 :(System CLK)/ 128
RAiO TECHNOLOGY INC.
37/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[71h] Touch Panel Control Register 1(TPCR1)
說 明
初始值
Access
0
RW
0
RW
0
RW
0
RW
0
RW
0
RW
初始值
Access
0
RW
初始值
Access
0
RW
初始值
Access
觸摸事件偵測,此位元只有在手動模式有效
0
RO
6-4
NA
0
RO
3-2
觸控面板 Y 軸資料低二位元 Bit[1:0](Common)
0
RW
1-0
觸控面板 X 軸資料低二位元 Bit[1:0](Segment)
0
RW
Bit
4 線觸控面板控制器選擇
7
0 : 保留。
1 : 4 線觸控面板控制器模式。
TP 模式設定
6
0 : 自動模式。
1 : 手動模式。
觸控面板控制器的 ADC 參考電壓(Vref)來源設定
5
0 : 內部產生參考電壓。
1 : 外部輸入參考電壓,ADC 參考電壓準位 = 1/2 VDD。
4-3
NA
觸控中斷訊號的消除彈跳電路選擇
2
0 : 關閉消除彈跳電路。
1 : 開啟消除彈跳電路。
觸控面板手動模式之選擇位元
00 : 閒置模式。觸控面板控制單元進入閒置模式。
01 : 偵測觸摸事件模式。在此模式控制器會偵測觸摸事件的發生,
1-0
事件發生可以引發中斷或是由暫存器得知(REG[8Fh] Bit2)。
10 : X 軸資料擷取模式。在此模式觸摸位置的 X 軸資料會被儲存至
暫存器 REG[72h] 和 REG[74h]。
11 : Y 軸資料擷取模式。在此模式觸摸位置的 Y 軸資料會被儲存至
暫存器 REG[73h] 和 REG[74h]。
REG[72h] Touch Panel X High Byte Data Register(TPXH)
說 明
Bit
7-0
觸控面板 X 軸資料高位元組 Bit[9:2](Segment)
REG[73h] Touch Panel Y High Byte Data Register(TPYH)
說 明
Bit
7-0
觸控面板 Y 軸資料高位元組 Bit[9:2](Common)
REG[74h] Touch Panel Segment / Common Low Byte Data Register(TPXYL)
說 明
Bit
7
RAiO TECHNOLOGY INC.
38/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
5-8
圖形游標
REG[80h] Graphic Cursor Horizontal Position Register 0(GCHP0)
說 明
Bit
7-0
圖形游標水平位址[7:0]
初始值
Access
0
RW
初始值
Access
REG[81h] Graphic Cursor Horizontal Position Register 1(GCHP1)
說 明
Bit
7-2
NA
0
RO
1-0
圖形游標水平位址[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
0
0
RO
RW
初始值
Access
0
RW
初始值
Access
0
RW
REG[82h] Graphic Cursor Vertical Position Register 0(GCVP0)
說 明
Bit
7-0
圖形游標垂直位址[7:0]
REG[83h] Graphic Cursor Vertical Position Register 1(GCVP1)
說 明
Bit
7-1
0
NA
圖形游標垂直位址[8]
REG[84h] Graphic Cursor Color 0(GCC0)
說 明
Bit
7-0
256 色圖形游標顏色 0 設定
設定格式為 RRRGGGBB。
REG[85h] Graphic Cursor Color 1(GCC1)
說 明
Bit
7-0
256 色圖形游標顏色 1 設定
設定格式為 RRRGGGBB。
RAiO TECHNOLOGY INC.
39/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
PLL 暫 存 器
5-9
REG[88h] PLL Control Register 0(PLLC0)
說 明
Bit
初始值
Access
0
RW
0
RO
03h
RW
PLL 除頻暫存器(PLLDIVM)
0 : 除以 1。
1 : 除以 2。
7
RA8872 內部系統頻率(System Clock)是結合振盪電路及 PLL
電路所產生,其頻率計算公式為:
SYS_CLK = FIN* ( PLLDIVN[4:0] +1 ) / ( ( PLLDIVM+1 ) *
(2^PLLDIVK[2:0]))
6-5
4-0
NA
PLL 倍頻參數暫存器(PLLDIVN[4:0])
PLL 輸入參數,輸入值必須是 1~31(注意 “0” 是禁止使用的!)
註 :
1. 系統頻率(SYS_CLK)的預設值與外部晶體振盪器 Clock(Fin)頻率相同。
2. 當 REG[88h] 或 REG[89h] 被設定後,為了保證 PLL 輸出的穩定,必須等待一段 ”鎖頻時間”
(< 30us)
,在此 ”鎖頻時間” 過後,使用者必須產生一個軟體 Reset 以完成 PLL 頻率改變的程序。
3. FIN*(PLLDIVN[4:0] +1)必需大於或等於 120MHz,下表為外部晶體振盪與 REG[88h] Bit[4:0] 的
參考設定:
RAiO TECHNOLOGY INC.
外部部晶體振盪(Fin)
PLLDIVN[4:0]
X’tal(MHz)
REG[88h] Bit[4:0]
15
>= 7
16
>= 7
20
>= 5
25
>= 4
30
>= 3
40/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[89h] PLL Control Register 1(PLLC1)
說 明
Bit
7-3
NA
初始值
Access
0
RO
02h
RW
PLL 除頻參數暫存器(PLLDIVK[2:0])
PLL 輸出倍率
000 : 除 1。
001 : 除 2。
2-0
010 : 除 4。
011 : 除 8。
100 : 除 16。
101 : 除 32。
110 : 除 64。
111 : 除 128。
RAiO TECHNOLOGY INC.
41/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
5-10 脈 波 寬 度 調 變 ( PWM )
REG[8Ah] PWM1 Control Register(P1CR)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RO
0
RW
0
RW
脈波寬度調變(PWM1)設定
7
0 : 關閉,於此狀態下,PWM 輸出準位依照此暫存器 Bit6 來決定。
1 : 開啟。
PWM1 關閉時的準位
6
0 : 當 PWM 關閉或於睡眠模式時,PWM1 輸出為 ”Low” 狀態。
1 : 當 PWM 關閉或於睡眠模式時,PWM1 輸出為 ”High” 狀態。
此位元只有在暫存器[8Ah] bit4 為 0 時才有效。
5
保留
PWM1 功能選擇
0 : PWM1 功能。
4
1 : PWM1 固定輸出一頻率為外部晶體振盪器 Clock(Fin)頻率
1/16 的 Clock。
PWM1 = Fin / 16
PWM1 電路的時脈來源選擇
3-0
0000b : SYS_CLK / 1
1000b : SYS_CLK / 256
0001b : SYS_CLK / 2
1001b : SYS_CLK / 512
0010b : SYS_CLK / 4
1010b : SYS_CLK / 1024
0011b : SYS_CLK / 8
1011b : SYS_CLK / 2048
0100b : SYS_CLK / 16
1100b : SYS_CLK / 4096
0101b : SYS_CLK / 32
1101b : SYS_CLK / 8192
0110b : SYS_CLK / 64
1110b : SYS_CLK / 16384
0111b : SYS_CLK / 128
1111b : SYS_CLK / 32768
“SYS_CLK” 代表系統頻率,例如 SYS_CLK 為 20MHz,當 Bit[3:0]
= 0001b 時,PWM1 時脈來源為 10MHz。
RAiO TECHNOLOGY INC.
42/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[8Bh] PWM1 Duty Cycle Register(P1DCR)
說 明
Bit
初始值
Access
0
RW
初始值
Access
0
RW
0
RW
0
RO
0
RW
0
RW
PWM1 的 Duty 設定
00h : 1 / 256 高準位時間。
01h : 2 / 256 高準位時間。
02h : 3 / 256 高準位時間。
7-0
:
:
:
FEh : 255 / 256 高準位時間。
FFh : 256 / 256 高準位時間。
REG[8Ch] PWM2 Control Register(P2CR)
說 明
Bit
脈波寬度調變(PWM2)設定
7
0 : 關閉,於此狀態下,PWM 輸出準位依照此暫存器 Bit6 來決定。
1 : 開啟。
PWM2 關閉時的準位
6
0 : 當 PWM 關閉或於睡眠模式時,PWM2 輸出為 ”Low” 狀態。
1 : 當 PWM 關閉或於睡眠模式時,PWM2 輸出為 ”High” 狀態。
此位元只有在暫存器[8Ch] bit4 為 0 時才有效。
5
保留
PWM2 功能選擇
0 : PWM2 功能。
4
1 : PWM2 輸出一相同於系統時脈信號頻率的 Clock。
PWM2 = SYS_CLK / 16
PWM2 電路的時脈來源選擇
3-0
0000b : SYS_CLK / 1
1000b : SYS_CLK / 256
0001b : SYS_CLK / 2
1001b : SYS_CLK / 512
0010b : SYS_CLK / 4
1010b : SYS_CLK / 1024
0011b : SYS_CLK / 8
1011b : SYS_CLK / 2048
0100b : SYS_CLK / 16
1100b : SYS_CLK / 4096
0101b : SYS_CLK / 32
1101b : SYS_CLK / 8192
0110b : SYS_CLK / 64
1110b : SYS_CLK / 16384
0111b : SYS_CLK / 128
1111b : SYS_CLK / 32768
例如 SYS_CLK 為 20MHz,當 Bit[3:0] = 0010b 時,PWM2 時脈
來源為 5MHz。
RAiO TECHNOLOGY INC.
43/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[8Dh] PWM2 Control Register(P2DCR)
說 明
Bit
初始值
Access
0
RW
PWM2 的 Duty 設定
00h : 1 / 256 高準位時間。
01h : 2 / 256 高準位時間。
7-0
02h : 3 / 256 高準位時間。
:
:
:
FEh : 255 / 256 高準位時間。
FFh : 256 / 256 高準位時間。
PWM Output
PWM CLK
System CLK
2*PWM CLK
256*PWM CLK
Ex : PWM source CLK = System CLK/4 and 2/256 High Period
圖 5-6 : PWM 的 Duty
REG[8Eh] Memory Clear Control Register(MCLR)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RO
0
RW
記憶體清除功能
0 :記憶體清除動作結束或停止。當此 bit 被寫入為 0 時,RA8872
7
會停止記憶體清除動作。或是當讀回此 bit = 0 時,則此時代表
記憶體清除動作已完成。
1 : 記憶體清除動作開啟。
記憶體清除範圍設定
0 : 記憶體清除範圍為顯示視窗。
(請參考 REG[14h],[19h],[1Ah]
6
設定)
1 : 記憶體清除範圍為工作視窗。(請參考 REG[30h~37h] 設定)
清除區域依照 REG[41h] Bit0 的設定。
5-1
NA
記憶體清除顏色設定
0 : BTE 背景顏色記憶體清除。
0
註 : 此處的 BTE 背景色恆為 16bpp,也就是 65K 色,不受
REG[10h] Bit[3:2] 色彩設定的影響。
1 : 文字背景顏色記憶體清除。
RAiO TECHNOLOGY INC.
44/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[8Fh] Interrupt Control Register(INTC)
說 明
初始值
Access
0
RO
0
RW
5
BTE 處理完成中斷設定位元
0 : 關閉 BTE 處理完成中斷。
1 : 開啟 BTE 處理完成中斷。
0
RW
4
當 BTE 開啟時(REG[50h] Bit7 = 1)為 BTE 的 MCU 讀寫中斷設
定位元:
0 : 關閉 BTE 的 MCU 讀寫中斷。
1 : 開啟 BTE 的 MCU 讀寫中斷。
當 BTE 關閉時(REG[50h] Bit7 = 0)為文字寫入中斷設定位元:
0 : 關閉文字寫入。
1 : 開啟文字寫入。
0
RW
3
NA
0
RO
0
RW
0
RW
0
RW
Bit
7
6
NA
觸控面板中斷設定位元
0 : 關閉觸控中斷。
1 : 開啟觸控中斷。
寫入功能 Î 觸控面板中斷清除位元
0 : 沒有動作。
2
1 : 清除觸控中斷。
讀取功能 Î 觸控面板中斷 Status
0 : 無觸控面板中斷發生。
1 : 觸控面板中斷發生。
寫入功能 Î BTE 處理完成中斷清除位元
0 : 沒有動作。
1
1 : 清除 BTE 處理完成中斷。
讀取功能 Î BTE 進行圖形移動或填圖動作的處理完成中斷狀態
0 : 無 BTE 處理完成中斷發生。
1 : BTE 處理完成圖形移動或填圖動作後發生中斷。
當 BTE 開啟時(REG[50h] Bit7 = 1):
寫入功能 Î BTE 的 MCU 讀寫中斷清除位元
0 : 沒有動作。
1 : 清除 BTE 的 MCU 讀寫完成中斷位元。
讀取功能 Î BTE 的 MCU 讀寫完成中斷狀態
0 : 沒有 BTE 的 MCU 讀寫中斷發生。
0
1 : BTE 的 MCU 讀寫完成中斷發生。
當 BTE 關閉時(REG[50h] Bit7 = 0):
寫入功能 Î 文字寫入中斷清除位元
0 : 沒有動作。
1 : 清除文字寫入中斷位元。
讀取功能 Î 文字寫入完成中斷狀態
0 : 沒有文字寫入中斷發生。
1 : 文字寫入完成中斷發生。
RAiO TECHNOLOGY INC.
45/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
5-11 繪 圖 ( 直 線 、 矩 形 、 圓 形 )
REG[90h] Draw Line/Circle / Square Control Register(DCR)
說 明
Bit
初始值
Access
0
RW
0
RW
0
RW
0
RW
0
RO
畫直線或矩形的起始訊號
寫入功能:
0 : 停止畫直線或矩形繪圖功能。
7
1 : 啟動畫直線或矩形繪圖功能。
讀取功能:
0 : 直線或矩形繪圖完成。
1 : 直線或矩形繪圖進行中。
畫圓形的起始訊號
寫入功能
0 : 停止圓形繪圖功能。
6
1 : 啟動圓形繪圖功能。
讀取功能
0 : 圓形繪圖完成。
1 : 圓形繪圖進行中
填滿圓形 / 矩形訊號
5
0 : 不填滿。
1 : 填滿。
畫直線或矩形選擇訊號
4
0 : 畫直線。
1 : 畫矩形。
3 -0
NA
(DLHSR, DLVSR)
(DLHER, DLVER)
Draw Line
Radius
(DCHR, DCVR)
Draw Circle
(DLHSR, DLVSR)
(DLHSR, DLVSR)
(DLHER, DLVER)
Draw Square
(DLHER, DLVER)
Draw Square Fill
Radius
(DCHR, DCVR)
Draw Circle Fill
圖 5-7 : 繪圖功能參數
RAiO TECHNOLOGY INC.
46/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[91h] Draw Line / Square Horizontal Start Address Register 0(DLHSR0)
說 明
Bit
7-0
初始值
Access
0
RW
初始值
Access
畫直線或矩形的水平起始位置[7:0]
REG[92h] Draw Line / Square Horizontal Start Address Register 1(DLHSR1)
說 明
Bit
7-2
NA
0
RO
1-0
畫直線或矩形的水平起始位置[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
畫直線或矩形的垂直起始位置[8]
0
RW
初始值
Access
0
RW
初始值
Access
REG[93h] Draw Line / Square Vertical Start Address Register 0(DLVSR0)
說 明
Bit
7-0
畫直線或矩形的垂直起始位置[7:0]
REG[94h] Draw Line / Square Vertical Start Address Register 1(DLVSR1)
說 明
Bit
7-1
0
REG[95h] Draw Line / Square Horizontal End Address Register 0(DLHER0)
說 明
Bit
7-0
畫直線或矩形的水平結束位置[7:0]
REG[96h] Draw Line / Square Horizontal End Address Register 1(DLHER1)
說 明
Bit
7-2
NA
0
RO
1-0
畫直線或矩形的水平結束位置[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
畫直線或矩形的垂直結束位置[8]
0
RW
REG[97h] Draw Line / Square Vertical End Address Register 0(DLVER0)
說 明
Bit
7-0
畫直線或矩形的垂直結束位置[7:0]
REG[98h] Draw Line / Square Vertical End Address Register 1(DLVER1)
說 明
Bit
7-1
0
RAiO TECHNOLOGY INC.
47/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
REG[99h] Draw Circle Center Horizontal Address Register 0(DCHR0)
說 明
Bit
7-0
畫圓形的中心點水平位置[7:0]
初始值
Access
0
RW
初始值
Access
REG[9Ah] Draw Circle Center Horizontal Address Register 1(DCHR1)
說 明
Bit
7-2
NA
0
RO
1-0
畫圓形的中心點水平位置[9:8]
0
RW
初始值
Access
0
RW
初始值
Access
NA
0
RO
畫圓形的中心點垂直位置[8]
0
RW
初始值
Access
0
RW
REG[9Bh] Draw Circle Center Vertical Address Register 0(DCVR0)
說 明
Bit
7-0
畫圓形的中心點垂直位置[7:0]
REG[9Ch] Draw Circle Center Vertical Address Register 1(DCVR1)
說 明
Bit
7-1
0
REG[9Dh] Draw Circle Radius Register(DCRR)
說 明
Bit
7-0
畫圓形的半徑[7:0]
RAiO TECHNOLOGY INC.
48/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6. 硬 體 界 面
6-1
MCU 界 面
RA8872 支援 8080 和 6800 等兩種微處理機介面傳輸模式。介面的選擇決定於IC接腳 ”C86” 的電位,
當選擇 8080 來進行介面傳輸時,”C86” 須連接到低電位,反之,當選擇 6800 來進行介面傳輸時,”C86”
必須連接到高電位,如下 圖 6-1 與 圖 6-2 所示。
8080 MCU
RA8872
A0
A1-A7/A1-A15
IORQ
RS
Decoder
CS#
C86
DB[0-7]
DB[0-7]
RD
RD#
WR
RES
WR#
RST#
WAIT
WAIT#
GND
INT#
INT
圖 6-1 : 8080 MCU 界面
6800 MCU
RA8872
A0
A1-A7/A1-A15
VMA
RS
Decoder
VDD
CS#
C86
DB[0-7]
DB[0-7]
EN
EN
R/W
RES
RW#
RST#
WAIT
WAIT#
INT#
INT
圖 6-2 : 6800 MCU 界面
RAiO TECHNOLOGY INC.
49/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-1
MCU 傳輸協定
下面 圖 6-3、表 6-1、與 圖 6-4、表 6-2 是RA8872 支援 8080 和 6800 兩種微處理機介面的傳輸
協定與時序參數表。
6800 – 8-bit 界面:
E
tCYC6
tAW6
tEW
R/W
tAH6
A0, CS
tDH6
tDS6
DB[7:0]
(Write)
tACC6
tOH6
DB[7:0]
(Read)
圖 6-3 : 6800 MCU 傳輸協定
表 6-1 : 6800 MCU 介面時序參數
Symbol
說
Rating
明
Unit
Min.
Max.
tCYC6
Cycle time
50
--
ns
tEW
Strobe Pulse width
20
--
ns
tAW6
Address setup time
0
--
ns
tAH6
Address hold time
10
--
ns
tDS6
Data setup time
20
--
ns
tDH6
Data hold time
10
--
ns
tACC6
Data output access time
0
20
ns
tOH6
Data output hold time
0
20
ns
RAiO TECHNOLOGY INC.
50/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
8080 – 8-bit 界面:
A0, CS
tAW8
tAH8
tCYC8
WR, RD
tCC
tDH8
tDS8
DB[7:0]
(Write)
tACC8
tOH8
DB[7:0]
(Read)
圖 6-4 : 8080 MCU 傳輸協定
表 6-2 : 8080 MCU 介面時序參數
Symbol
說
Rating
明
Unit
Min.
Max.
tCYC8
Cycle time
50
--
ns
tCC8
Strobe Pulse width
20
--
ns
tAS8
Address setup time
0
--
ns
tAH8
Address hold time
10
--
ns
tDS8
Data setup time
20
--
ns
tDH8
Data hold time
10
--
ns
tACC8
Data output access time
0
20
ns
tOH8
Data output hold time
0
20
ns
在許多工業控制的場合,各種電氣的干擾源比較強,為了減輕這些干擾源對 MCU 與 RA8872 間的
傳輸影響,可以在 RA8872 的 CS#、RD#、WR# 端加一小電容到 GND。如果 MCU 與 RA8872
間的傳輸是使用 Cable 線,則 Cable 線長度必須小於 20cm,如果超過則建議 CS#、RD#、WR#、
RS 等信號必須加上 1~10Kohm 的 Pull-Hi 電阻。
RAiO TECHNOLOGY INC.
51/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-2
讀取狀態暫存器
依據下 表 6-3,RA8872 可以接受四種資料傳輸週期,分別是「指令寫入週期」、「狀態讀取週期」、
「資料寫入週期」以及「資料讀取週期」。在第 5 章也提到狀態暫存器是一只能讀(Read Only)
的暫存器,當 “RS” 為Hi時,MCU若對RA8872 進行讀取週期,將會得到狀態暫存器的數據。請參
考 圖 6-5 的時序圖。
表 6-3 : MCU 對 RA8872 的存取週期
RS
WR#
存 取 週 期
0
0
資料寫入(Data Write)
0
1
資料讀取(Data Read)
1
0
指令寫入(CMD Write)
1
1
狀態讀取(Status Read)
RS
CS#
WR#
RD#
DB[7:0]
Status DATA
Status Register Read
圖 6-5 : 讀取狀態暫存器
RAiO TECHNOLOGY INC.
52/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-3
寫入指令暫存器
RA8872 有數十個指令暫存器,當要針對某指令暫存器進行寫入指令時,首先必須先執行「指令寫
入週期」,包括欲寫入暫存器之位址,然後再以「資料寫入週期」將數值寫入該暫存器。因此,「寫
入指令」意指「將數值資料寫到暫存器當中」,在前述兩個週期執行之後,數值資料(指令)將被
寫入到該暫存器,相關時序請參考下 圖 6-6 內的(1)。
RS
CS #
WR#
RD#
DB [7:0]
REG#
DATA
(1) Command Write (Write Data to Regi ster)
RS
CS #
WR#
RD#
DB [7:0]
REG#
DATA
(2) Read Data from Register
圖 6-6: 「寫入指令到暫存器」與「暫存器讀取」
如果欲讀取暫存器中的內容值,則第二個資料傳輸週期為「讀取資料週期」,請參考 圖 6-6 內的
(2)。需注意的是 圖 6-6 是以 8080 的傳輸界面來舉例。
RAiO TECHNOLOGY INC.
53/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-4
記憶體寫入與讀取
當欲寫資料到記憶體(可能是顯示記憶體或字型產生記憶體)時,必須先執行暫存器編號為 [02h]
的「寫入指令週期」,如果是欲讀取記憶體中的資料,也是先執行暫存器編號為 [02h] 的「寫入指
令週期」,請參考 圖 6-7 的內(1)與(2)。
圖 6-7: 記憶體寫入與讀取
RAiO TECHNOLOGY INC.
54/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-5
中斷與等待
RA8872 提供一中斷信號輸出腳(INT#)給MCU去響應RA8872 的中斷事件,也提供了一等待
(WAIT#)信號輸出腳給MCU,去判斷RA8872 是否處於忙碌狀態。這兩個信號都是低電位觸發,
如本章前面的 圖 6-1 與 圖 6-2。
6-1-5-1
中斷(Interrupt)
RA8872 的中斷信號會在以下事件發生時産生:
‹
觸控面板(Touch Panel)發生被觸摸事件時,INT#變為 Low,同時 REG[8Fh] Bit2
被置 1。
‹
BTE 完成圖形移動或填圖動作時,INT# 變為 Low,REG[8Fh] Bit1 被置 1。
‹
BTE 完成資料讀寫動作時,INT# 變為 Low,REG[8Fh] Bit0 被置 1。
‹
文字(Font)寫入時,INT# 變為 Low,REG[8Fh] Bit0 被置 1。
這些中斷事件的遮罩(Disable)或致能(Enable)可以通過對暫存器 INTC(REG[8Fh])的
設置來控制。另外,RA8872 還提供了軟體中斷功能,當使用者的系統不能支援硬體中斷信號
時,可以通過詢問的方式進行軟體中斷。要進行硬體中斷時,使用者必須要把中斷遮罩位元
(Interrupt Mask)設為 1(請參考暫存器 ”INTC” 的說明)
,其進行步驟如下:
‹
RA8872 發出中斷信號給 MCU。
‹
MCU 收到中斷信號完成電路轉換後,其程式計數器(PC)會跳到中斷服務程式的
入口。
‹
此時 RA8872 的中斷事件相對的標誌位元會被置 “1”(REG[8Fh] Bit[2:0])
。例如,
當觸控面板控制器中斷産生,其觸控面板中斷標誌位元就會被置 1。
若使用軟體中斷方式時,使用者不須要任何外部設置,只要通過讀取暫存器 INTC 的相關狀態
位元就可以檢測中斷事件是否發生。此外,中斷遮罩(interrupt mask)設置只能遮罩硬體中
斷的産生,但不能遮罩暫存器 INTC 的相關狀態。要注意的是,因為其中斷標誌位元不會自動
清除,所以使用者必須在進入中斷程式後手動清為 ”0”,就是暫存器 INTC(REG[8Fh])的 Bit2
寫入 1。
RAiO TECHNOLOGY INC.
55/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-5-2
等待(Wait)
RA8872 也提供一等待(WAIT#)信號,當忙碌標誌位元為 “0” 時就意味著 RA8872 正處於
忙碌狀態,而不能把數據寫入顯示記憶體(DDRAM)裏。而其處於忙碌情況可分為以下四種:
1. 當 MCU 用文字模式寫入數據時,字體大小不同的字型需求各自不同的足夠的時間
去寫入 DDRAM 裏,在這段時間裏 RA8872 是不能再往 DDRAM 裏寫數據的,此時
正處於記憶體寫入忙碌狀態。
2. 當 MCU 發指令(MCLR Bit7 = 1)讓 RA8872 執行清除螢幕功能時,這段時間裏
RA8872 在清理 DDRAM 同時也會引起記憶體寫入忙碌。
3. 當 RA8872 在執行 BTE 的搬移功能時,此時的 RA8872 會自動進行 DDRAM 的寫
入或讀取功能,此時 MCU 執行 DDRAM 的存取會造成顯示異常。
4. 當 MCU 指令寫入,RA8872 約需要一個時脈時間來寫入,若 MCU 速度比 RA8872
的時脈快出許多,有可能在一個時脈時間內執行兩個 RA8872 的命令時,建議要檢
查此時 RA8872 是否處於忙碌狀態,大部分情形應該都不需要。
在記憶體寫入忙碌時向DDRAM寫入資料會造成顯示資料的丟失。所以使用者在以上四種情況
下寫入顯示資料時一定要檢查等待狀態。正常情況下,會把等待信號 “WAIT#” 接到MCU的輸
入腳上,用來在MCU往RA8872 寫入數據之前對其忙碌狀態進行監控,其具體時序如 圖 6-8
所示。
RS, CS#
t WST
WR#
DB[7:0]
(Write)
t WAIT
WAIT#
圖 6-8 : WAIT# 時序圖
RAiO TECHNOLOGY INC.
56/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-1-6
資料匯流排與 TFT 的 RGB 資料格式
RA8872 支援 8-bit/12-bit/16-bit 顏色格式的 TFT 面板,也就是所謂的 256 色、4K 色、65K 色 TFT
面板,在 MCU 的 Data Bus 傳送不同的色彩訊息其對應的方式不同,當 MCU 使用 8-bit 時,Data
Bus 所對應到的 256 色、4K 色、65K 色 TFT 面板的 RGB 數據如下。
65K 色
7
0
MPU Data Bus R4 R3 R2 R1 R0 G5 G4 G3
7
1st cycle
0
MPU Data Bus G2 G1 G0 B4 B3 B2 B1 B0
2nd cycle
4K 色
7
MPU Data Bus
0
R3 R2 R1 R0
7
1st cycle
0
MPU Data Bus G3 G2 G1 G0 B3 B2 B1 B0
2nd cycle
256 色
7
0
MPU Data Bus R2 R1 R0 G2 G1 G0 B1 B0
圖 6-9 : MCU 的 Data Bus 所對應到的 RGB 數據
RAiO TECHNOLOGY INC.
57/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-2
色彩設定模式
RA8872 的數位 TFT 驅動器介面共有 16 條資料信號,最多可支援 65K 色的資料格式,藉由暫存器的設
定,RA8872 可以提供 256 色或 4K 色的資料格式輸出,使 TFT 顯示達到相同的色彩深度效果,色彩設
定的暫存器設定,請參考 REG[10h](SYSR)的 Bit[3:2],其資料格式定義如下。
256 Color mode
Color format
7
0
R2 R1 R0G2G1G0 B1 B0
15
11 10
PDAT[15:0]
5 4
0
R2 R1 R0 R2 R1 G2G1G0G2G1G0 B1 B0 B1 B0 B1
4K Color mode
11
Color format
PDAT[15:0]
0
R3 R2 R1 R0 G3G2G1G0 B3 B2 B1 B0
Color format
15
11 10
5 4
15
R4 R3 R2 R1 R0 G5G4G3G2G1G0 B4 B3 B2 B1 B0
5 4
0
R3 R2 R1 R0 R3 G3G2G1G0G3G2 B3 B2 B1 B0 B3
65K Color mode
0
11 10
15
PDAT[15:0]
11 10
5 4
0
R4 R3 R2 R1 R0 G5G4G3G2G1G0 B4 B3 B2 B1 B0
圖 6-10 : 色彩設定
RAiO TECHNOLOGY INC.
58/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-3
LCD 界 面
RA8872 支援數位TFT界面,可提供 8-bit/12-bit顏色格式的 320*240 雙圖層,或 8-bit/12-bit/16-bit顏色
格式的 320*240、320*480、640*240 單圖層數位TFT面板。表 6-4 是RA8872 數位TFT界面的信號說
明,其工作的時序如 圖 6-11,應用電路請參考 圖 6-12。其中RA8872 的PWM輸出可用來控制面板的
LED背光,詳細情形請參考第 6-5 節及第 10 章的應用電路。
表 6-4 : 數位 TFT 界面的信號說明
接 腳 名 稱
Type
數 位 TFT 面 板
腳 位 #
8-bit
16-bit
18-bit
HSYNC Pulse
VSYNC Pulse
Pixel Clock
Data Enable
24-bit
HSYNC
VSYNC
PCLK
DE
O
O
O
O
74
75
76
77
PDAT[15]
O
93
R2
R4
R5,R0
R7,R2
PDAT[14]
PDAT[13]
PDAT[12]
PDAT[11]
PDAT[10]
PDAT[9]
PDAT[8]
PDAT[7]
PDAT[6]
PDAT[5]
O
O
O
O
O
O
O
O
O
O
92
91
90
89
88
87
86
85
84
83
R1
R0
R3
R2
R1
R0
G5
G4
G3
G2
G1
G0
R4
R3
R2
R1
G5
G4
G3
G2
G1
G0
R6,R1
R5,R0
R4
R3
G7,G1
G6,G0
G5
G4
G3
G2
PDAT[4]
O
82
B1
B4
B5,B0
B7,B2
PDAT[3]
PDAT[2]
PDAT[1]
PDAT[0]
O
O
O
O
81
80
79
78
B0
B3
B2
B1
B0
B4
B3
B2
B1
B6,B1
B5,B0
B4
B3
RAiO TECHNOLOGY INC.
G2
G1
G0
59/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
VPW
VND
VST
VDH
VSYNC
HSYNC
FPDATA
LINE
N
LINE
1
LINE
N
DE
HSYNC
HPW
HDW
HND
HST
PCLK
DE
FPDATA
Valid Data
圖 6-11 : 數位 TFT 面板時序圖
8080 MCU
RS
A0
A1-A7/A1-A15
IORQ
Digital TFT
Display
RA8872
Decoder
CS#
DB[7:0]
DATA[7:0]
RD
RD#
WR
RES
WR#
RST#
WAIT
WAIT#
INT
GND
INT#
C86
VSYNC
VSYNC
HSYNC
HSYNC
DE
PCLK
PDAT[15:0]
DE
CLK
D[15:0]
GPIO0
DISP_OFF
GPIO1
GPIO2
PWM
LCD_RST
PWR_Ctrl
Back light_Ctrl
圖 6-12 : RA8872 數位 TFT 界面
RAiO TECHNOLOGY INC.
60/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
RA8872 內含 230Kbytes的顯示記憶體,最大可支援 640*240、4K色的單一圖層顯示,請參考 表 6-5。
表 6-5 : DDRAM 需求與面板解析度
DDRAM
需求
面板解析度
可用圖層
Color Depth
(Bits)
內部
320*240
1
8/12
內部
320*240
1
16
內部
320*240
2
8/12
內部
320*480
1
8/12
内部
640*240
1
8/12
RAiO TECHNOLOGY INC.
61/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-4
觸 控 界 面 ( Touch Panel I/F )
RA8872 內建一組 10 位元ADC和控制電路,組合成一觸控面板控制器,可以連接四線電阻式的觸控面
板。四線電阻式的觸控面板是由兩層非常薄的電阻式面板所組成,如 圖 6-13,在兩層面板中間有一小
縫隙,當有外力施加在面板上的某一點時,兩層電阻式面板將被觸碰(Touch),形成迴路而導通,由
於兩層電阻式面板的端點含有電極(XP,XN,YP,YN),如 圖 6-14,因此,相對於觸碰的位置,系
統將偵測到一個XY的座標值。
YU (YT)
XR
XL
YD (YB)
圖 6-13 : 四線電阻式的觸控面板架構
VDD
YP
VDD
XP
XN
YN
圖 6-14 : 四線電阻式的觸控面板原理
RAiO TECHNOLOGY INC.
62/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
對使用者而言,應用RA8872 四線觸控面板的功能只需連接XP、XN、YP和YN等四條信號線到RA8872
即可,系統就能不斷監測,直到觸控的事件(Touch Event)發生為止。當觸控事件發生時,在觸控面
板電阻上所產生的分壓將決定觸控的所在位置。在XY的座標值被傳回到RA8872,並個別儲存在特定的
暫存器後,觸控面板控制器(Touch Panel Controller)將發出一中斷告知微處理機(MCU)。圖 6-15
為四線觸控面板的應用電路。當使用觸控功能時,請在YP腳位外接 100Kohm pull-up電阻。
腳位 ADC_VREF 是 ADC 的輸入參考電壓,可以由暫存器 [71h] 的 Bit5 來決定使用內部產生參考電壓,
或是外部輸入參考電壓,當使用外部輸入參考電壓時,可用分壓電阻產生一 1/2 VDD 的電壓給
ADC_VREF,正負誤差在 5%內,同時必須接一個 1~10uF 的電容到地以提升 ADC 轉換時的穩定度。
RA8872
VDD
100kΩ
VDD
XR
LL
10kΩ
1%
ADC_VREF
10kΩ
1%
Touch Panel
LR
XL
UL
YD (YB)
UR
YU (YT)
1uF
0.001uFx4
圖 6-15 : 四線觸控面板的應用電路
RA8872 的觸控面板控制器(Touch Panel Controller)可分為自動模式與手動模式,每種模式又分成硬
體中斷模式與軟體輪詢模式,詳細的動作流程請參考第 7-9 節的介紹。
RAiO TECHNOLOGY INC.
63/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-5
脈 寬 調 變 界 面 ( PWM )
RA8872 提供二個可調節的脈寬調變(PWM)輸出,可供給LCD進行背光亮度調節(Backlight)或其
他用途。其PWM的頻率和工作週期(Duty Cycle)都可以通過相關暫存器的設置來調整,PWM的輸出
驅動能力較其它輸出信號為大,大約是 4 倍於一般的輸出腳的驅動能力。圖 6-16 是應用PWM調節TFT
面板背光的應用電路,此電路可用PWM的輸出 0%~100% Duty來控制LED電流約 20mA到 0mA。
圖 6-16 : PWM 控制 TFT 面板背光的應用電路
RAiO TECHNOLOGY INC.
64/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-6
時 脈 ( Clock ) 與 PLL
RA8872 的系統時脈(System Clock)是由外部的石英振盪器,配合內部晶體振盪電路及PLL電路所產
生。內部的晶體振盪電路,它結合外部在XI和XO兩腳間的石英振盪器(15MHz~30MHz)和電阻、電
容産生基本頻率,再透過PLL電路及暫存器(REG[88h]、[89h])設定,然後產生系統時脈供RA8872
內部使用。圖 6-17 是外接石英振盪電路及內部示意圖。
RA8872
~
10MHz
30MHz
XI
30pF
Oscillator
F IN
PLL
S ystem
Clock
XO
1MΩ
30pF
圖 6-17 : 石英振盪電路與系統時脈的產生
系統時脈產生的公式為:
SYS_CLK = FIN*(PLLDIVN[4:0] +1)/((PLLDIVM+1)*(2^PLLDIVK[2:0]))
例如:
FIN = 20MHz
PLLDIVM = 1,(PLLDIVM 也就是 REG[88h] 的 Bit7)
PLLDIVN[4:0] = 1001,(PLLDIVN 也就是 REG[88h] 的 Bit[4:0])
PLLDIVK[2:0] = 001,
(PLLDIVK 也就是 REG[89h] 的 Bit[2:0])
SYS_CLK = 20MHz *(9+1)/((1+1)*(2^1))
= 20MHz *10 / 4
= 50MHz
系統頻率(SYS_CLK)的預設值與外部晶體振盪器 Clock(Fin)頻率相同。同時注意,當 REG[88h] 或
REG[89h] 被設定後,為了保證 PLL 輸出的穩定,必須等待一段 ”鎖頻時間”(約 < 30us)
,在此 ”鎖
頻時間” 過後,使用者必須產生一個軟體 Reset 以完成 PLL 頻率改變的程序。
RAiO TECHNOLOGY INC.
65/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
RA8872 支援多種解析度(Resolution)的面板,然而較高解析度的面板需要更快的系統時脈,除了考
慮配合MCU達到更快的畫面資料更新,也要讓面板的Frame Rate不致太低造成畫面閃爍,表 6-6 代表
不同面板解析度與Clock的需求,這些設定以顯示換頁頻率為 60 Frames/sec和假設非顯示區和顯示區
時間比例為 20%的前提而得。
表 6-6 : Clock 設定與面板解析度的關係
DDRAM
需求
面板
解析度
可用
圖層
Color
Depth
(Bits)
Frame
(Hz)
System Clock
(SYS_CLK)
內部
320*240
1
8/12
60
12.3MHz
內部
320*240
1
16
60
24.6MHz
內部
320*240
2
8/12
60
24.6MHz
內部
320*480
1
8/12
60
24.6MHz
內部
640*240
1
8/12
60
24.6MHz
RAiO TECHNOLOGY INC.
66/162
Pixel Clock
(PCLK)
6.15MHz
(SYS_CLK/2)
6.15MHz
(SYS_CLK /4)
6.15MHz
(SYS_CLK /4)
12.3MHz
(SYS_CLK /2)
12.3MHz
(SYS_CLK /2)
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-7
重 置 界 面 ( Reset )
RA8872 的重置(Reset)動作必須在供電後提供不少於 1024*tc 的時間來進行,以 25MHz 的系統頻率
來說,其重置脈衝寬度就要不少於 40.96µs。為了讓 RA8872 正確的接受指令,我們建議 RA8872 供電
後一定要進行重置動作。
RA8872
VDD
RA8872
100KΩ
From MCU
RST#
RST#
1uF
0.1uF
SW
(Option)
(1)
(2)
圖 6-18 : RST# 接腳的使用範例
圖 6-18 是一重置電路接法範例。其重置動作可以用MCU去控制如 圖 6-18 內的(1),也可由一RC電
路來産生如 圖 6-18 內的(2)。
RA8872 在重置過程中不能接受MCU的任何指令,所以應在重置後才可對內部暫存器進行初始化等設
定,在VDD穩定後,重置腳RST# 在上升沿之後最少延遲 1ms的時間再進行其他操作,這樣可確保系
統的穩定性,詳細的參數要求可參考 圖 6-19。
t RS
t RH
0.8VDD
VDD
Reset Complete
RST#
t RST
0.8VDD
0.2VDD
Max.
Typ.
Min.
Unit
tRS
Reset setup time
--
--
1
ms
t RH
Reset hold time
--
--
1
ms
t RST
Reset active time
--
--
1024
t c (*)
*t C is the period of system clock,
for example: 20MHz, t C = 50ns
圖 6-19 : 重置時序參數
RAiO TECHNOLOGY INC.
67/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
RA8872 在重置時(RST# = Low),相關輸出信號的狀態如 表 6-7 所示。
表 6-7 : 重置時相關輸出信號的狀態
信號名稱
RAiO TECHNOLOGY INC.
輸出狀態
WAIT#, INT#
High
PWM1, PWM2
Low
GPIO[5:0]
Low
PDAT[15:0]
Low
VSYNC, HSYNC
High
PCLK, DE
Low
68/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
6-8
電源
6-8-1
電源腳位說明
RA8872 所需的工作電源是 3.3V及 1.8V。3.3V用於供應IO、LDO與ADC所需電源。而 1.8V可以
由內部LDO(Low Dropout Regulator)產生,用於供應Oscillator(晶體振盪器)及核心電路所需
電源。為了考慮RA8872 的正常工作,請勿將LDO產生的 1.8V電源供給其它元件使用。詳細的電
源腳位說明請參考第 4-4 節。
6-8-2
電源結構
RA8872 的電源結構如下 圖 6-20 所示,在PCB板設計上,每個電源端加上濾波電容(0.1uF),
同時儘可能接近RA8872 的電源接腳。同時LDO輸出端LDO_CAP與LDO_OUT則務必各自接上 1uF
以上的濾波電容,以達到良好的穩壓效果。
3.3V
3.3V
0.1uF
LDO_VDD
ADC_VDD
LDO_GND
1uF
LDO_CAP
1uF
LDO_OUT
LDO
OSC & PLL
CORE_VDD
ADC
ADC_GND
0.1uF
VDD
0.1uF
CORE
GND
GND
圖 6-20 : RA8872 的電源接法
RAiO TECHNOLOGY INC.
69/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7. 功 能 描 述
7-1
畫面旋轉
RA8872 提供 90 度、180 度、270 度文字旋轉顯示功能,可滿足各種不同樣式的 LCD 面板。例如: 面
板尺寸為 240*320 和 320*240 皆可適用。
7-1-1
正常無旋轉
MEMORY SCAN SEQUENCE
PANEL DISPLAY
RA8872
RA8872
RAiO
RAiO
圖 7-1 : DDRAM 與面板正常掃描
7-1-2
旋轉 90 度
MEMORY SCAN SEQUENCE
PANEL DISPLAY
RA8872
RA8872
RAiO
RAiO
圖 7-2 : 旋轉 90 度時 DDRAM 與面板掃描方向
RAiO TECHNOLOGY INC.
70/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-1-3
旋轉 180 度
MEMORY SCAN SEQUENCE
PANEL DISPLAY
RAiO
RA8872
RA8872
RAiO
圖 7-3 : 旋轉 180 度時 DDRAM 與面板掃描方向
7-1-4
旋轉 270 度
PANEL DISPLAY
RAiO
MEMORY SCAN SEQUENCE
RAiO
RA8872
RA8872
圖 7-4 : 旋轉 270 度時 DDRAM 與面板掃描方向
RAiO TECHNOLOGY INC.
71/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-2
捲動功能
RA8872 提供水平和垂直區域捲動功能。
7-2-1
水平捲動
RA8872 提供水平捲動功能。使用者可在顯示區域利用增加或減少解析度的值來移動,靈活地分配
捲動範圍。使用者完成區塊捲動的效果,請參考 圖 7-5 範例。
RAiO
RAiO
RAiO
...
O
RAi
圖 7-5 : 水平捲動效果
註 : 水平旋轉偏移值({HOFS1,HOFS0})必須小於水平旋轉設定範圍 {HESW1,HESW0} ~
{HSSW1,HSSW0}。
RAiO TECHNOLOGY INC.
72/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-2-2
垂直捲動
垂直捲動功能與水平捲動功能相似,不同的地方在於的偏移值的設定會造成垂直捲動效果,因此增
加或減少偏移值便會造成垂直捲動的效果,請參考
圖 7-6 的範例。
RAiO RA8872
RAiO RA8872
RAiO
RAiO
RA8872
...
RA8872
RA8872
圖 7-6 : 垂直捲動效果
註 : 垂直旋轉偏移值({VOFS1,VOFS0})必須小於垂直旋轉設定範圍 {VESW1,VESW0} ~
{VSSW1,VSSW0}。
RAiO TECHNOLOGY INC.
73/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-3
工作視窗
7-3-1
正常視窗和 90 度旋轉
y
Panel
Panel
x
y
x
Act Window
Act Window
圖 7-7 : 正常和 90 度的工作視窗
7-3-2
視窗 180 度和 270 度旋轉
Panel
Panel
Act Window
x
y
x
Act Window
y
圖 7-8 : 180 度和 270 度的工作視窗
RAiO TECHNOLOGY INC.
74/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-4
游 標 與 圖 形 樣 板 ( Pattern )
RA8872 根據使用者不同的應用,提供彈性且強大的游標或圖形樣板,在游標方面,RA8872 提供兩種
不同的游標,圖形游標與文字游標,前者是一個 32*32 像素的圖形游標功能,可顯示在使用者所設定的
位置上,而後者則提供一個與文字功能配合的游標功能,可以設定不同的高度寬度設定。另外,RA8872
還支持圖形樣板的功能,圖形樣板是一個 8*8 的大小,顏色深度最多為 12-bpp 的圖案,經由與 BTE 引
擎功能搭配,可用於重覆複製填滿某一個指定的區域,可加速使用者對於重覆動作需求並且降低 MCU
的負擔。
7-4-1
圖形游標
圖形游標大小為 32*32 像素,每一像素由 2 個位元共 4 種顏色來設定,此 4 種顏色分別為 0 號顏
色(Color0)
,1 號顏色(Color1)
,背景色及背景色的反向色(The inversion of background color)。
每個圖形游標共需 256 bytes(32*32*2/8)。RA8872 內建記體提供使用者 8 款自訂圖形游標,可
藉由暫定器來選擇或設定。圖形游標的顯示位置可由暫存器設定(GCHP0(REG[80h])
、GCHP1
(REG[81h])
、GCVP0(REG[82h])和 GCVP1(REG[83h])
)。
圖 7-9 : 記憶體對應和圖形游標的關連
RAiO TECHNOLOGY INC.
75/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
另外值得一提的是,當整個畫面旋轉時,圖形游標並不會跟著旋轉,而需要使用者自行處理,關於
顯示的畫面。請參考 圖 7-10 的範例。
用法:
1. 用暫存器 GCC0(REG[84h])和 GCC0(REG[85h])來設定 0 號顏色和 1 號顏色。
2. 透過 MWCR1(REG[41h])來設定寫入目標為圖形游標(Bit[3:2])及選擇圖形游標編號。
3. 使用繪圖模式由 MCU 寫入圖形游標資料。
4. 開啟圖形游標(REG[41h] Bit7)。
Normal
90 Degree
RA8872
RA8872
RAiO
RAiO
RAiO
270 Degree
180 Degree
RA8872
RAiO
RA8872
圖 7-10 : 旋轉後圖形游標的位置和方向
RAiO TECHNOLOGY INC.
76/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-4-2
文字游標
7-4-2-1
游標位置
“文字游標”(Text Cursor)具有特定用途,它代表著寫入文字或資料的位置。文字游標位置由
暫存器 CURH0(REG[46h])
,CURH1(REG[47h])
,CURV0(REG[48h])和 CURV1(REG[49h])
所設定。在文字和繪圖模式中皆可設定文字游標,在文字模式中,文字游標可以設定高度及寬
度,但在繪圖模式下,文字游標則僅能設定寬度,而高度則固定為 1 圖像。使用者可設定自動
增加模式來寫入 DDRAM 或從 DDRAM 讀取資料。當設定後,每次的讀取 / 寫入 DDRAM 都
會讓文字游標自動移動至下一筆,在文字模式,游標會移動一個文字的寬度,而繪圖模式下,
游標則會移動一個圖像的寬度。文字游標移動的邊界則依據工作視窗邊界設定,當移動到顯示
畫面的邊界時,游標超出畫面的部分會被忽略掉而不顯示。
7-4-2-2
游標閃爍(Blinking)
使用者可用暫存器 BTCR(REG[44h])來控制游標閃爍開啟或關閉。閃爍時間的計算為:
閃爍時間 = BTCR[44h] *[1/畫面更新率(Frame_Rate)]
RAiO
瑞佑科技
圖 7-11 : 游標閃爍
RAiO TECHNOLOGY INC.
77/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-4-2-3
游標高度和寬度
游標高度和寬度暫存器CURS(REG[45h])控制,如 表 7-1。高度和寬度依使用者需求設定 1
~ 16 畫素,但是在字型放大的情況下,此設定也會隨著字型高度和寬度的放大而跟著放大。有
關游標在正常狀態和垂直文字狀態的變化,請參考 圖 7-12 和 圖 7-13 範例。
表 7-1 : 游標高度和寬度
RAiO
瑞佑科技
RAiO
瑞佑科技
圖 7-12 : 正常狀態下游標的變化
RAiO TECHNOLOGY INC.
圖 7-13 : 垂直文字狀態下游標的變化
78/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-4-3
圖形樣板(Pattern)
RA8872 內建樣板記憶體(Pattern Memory)可以寫入圖形樣板資料,並提供 BTE 的 2D 引擎使
用,若啟動 2D 的樣板相關功能,則 BTE 引擎會將指定的圖形樣板資料由樣板記憶體中讀出並填
入至 DDRAM 的指定區域內。
RA8872 樣板記憶體可提供 32 個 8*8 pixel的樣板,樣板設定暫存器為(REG[41h],[66h]),每一
個樣板內建色彩深度為 12-bpp。當由MCU寫入樣板資料時,若目前所設定的色彩模式不同於
12-bpp時,色彩資料寫入時便會做適當的轉換。若色彩模式為 256 色模式,也就是 8-bpp,MCU
寫入的 8-bit的資料會擴充為 12-bit(最低位元補 0)
,再寫入樣板記憶體,如下 圖 7-14。若色彩模
式為 65K色模式,也就是 16-bpp,RA8872 將會將 16-bit資料轉換為 12-bit(最低位元忽略)
,再
寫入樣板記憶體,如下 圖 7-15。
RA8872
Internal RAM
12bit
8
logic
MCU
REG[44h] =Pattern
REG[66h] =Pattern No
圖 7-14 : 8 位元色彩模式
RA8872
16
Internal RAM
12bit
Logic
MPU
REG[44h] =Pattern
REG[66h] =Pattern No
圖 7-15 : 16 位元色彩模式
RAiO TECHNOLOGY INC.
79/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-2 : 使用 Pattern 功能之相關暫存器
暫存器名稱
Bit Num
功 能 說 明
Address
MWCR1
3-2
記憶體控制暫存器,設定記憶體寫入模式。
[41h]
PTNO
7-0
樣板編號暫存器,指定樣板編號提供寫入
[66h]
或讀取。
若要了解如何操作樣板功能,請參考第 7-7 節的BTE功能。
RAiO TECHNOLOGY INC.
80/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-5
字 庫 ( Font )
7-5-1
內建 Font ROM
RA8872 內建 8*16 dots ASCII 字型 ROM(Font ROM),此內建字型 ROM 支援 ISO8859-1~
ISO8859-4(也就是 Latin1 ~ Latin4)的標準字集,使用者可利用標準字集編碼寫入文字,RA8872
就會將對應的 ASCII 字型自動寫入到 DDRAM。除此之外,使用者可設定 REG[42h] 選擇前景顏色
和設定 REG[43h] 選擇背景顏色,文字的前景顏色有 256 色可設定,文字的背景顏色也有 256 色
可設定,文字寫入程序請參照下圖:
Text Mode
REG[40h] bit7=1
Background color
Internal Font ROM Select
REG[21h] bit7=0, bit5=0
Foreground color
Font foreground and background color Select
REG[42h], REG[43h]
Write the font Code
CMD_WR[02h]
DATA_WR[font_code]
圖 7-16 : ASCII 字型 ROM 的寫入程序
RAiO TECHNOLOGY INC.
81/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-3 內含符合ISO/IEC 8859-1 標準的字集,ISO是國際標準化組織的簡稱。ISO 8859-1 又稱
Latin-1 或「西歐語言」
,是國際標準化組織內ISO/IEC 8859 的第一個 8 位字元集。它以ASCII為基
礎,在空置的 0xA0 ~ 0xFF的範圍內,加入 192 個字母及符號,藉以供使用變音符號的拉丁字母
語言使用。此字元集支援部分於歐洲使用的語言,包括阿爾巴尼亞語、巴斯克語、布列塔尼語、加
泰羅尼亞語、丹麥語、荷蘭語、法羅語、弗裡斯語(Frisian)
、加利西亞語、德語、格陵蘭語、冰
島語、愛爾蘭蓋爾語、義大利語、拉丁語、盧森堡語、挪威語、葡萄牙語、里托羅曼斯語、蘇格蘭
蓋爾語、西班牙語及瑞典語。
英語雖然沒有重音字母,但仍會標明為 ISO 8859-1 編碼。除此之外,歐洲以外的部分語言,如南
非荷蘭語、斯瓦希里語、印尼語及馬來語、菲律賓他加洛語(Tagalog)也可使用 ISO 8859-1 編碼。
表 7-3 : ASCII 字碼表 1(ISO 8859-1)
RAiO TECHNOLOGY INC.
82/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-4 內為ISO/IEC 8859-2 的標準字集,又稱Latin-2 或「中歐語言」
,是國際標準化組織內 ISO/IEC
8859 的第二個 8 位字元集。此字元集主要支援以下文字:克羅埃西亞語、捷克語、匈牙利語、波
蘭語、斯洛伐克語、斯洛維尼亞語、索布語。而阿爾巴尼亞語、英語、德語、拉丁語也可用此字元
集顯示。芬蘭語中只有於外來語才有 å 字元,若不考慮此字元,ISO/IEC 8859-2 也可用於瑞士及
芬蘭語。
表 7-4 : ASCII 字碼表 2(ISO 8859-2)
RAiO TECHNOLOGY INC.
83/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-5 內為ISO/IEC 8859-3 之標準字集,又稱Latin-3 或「南歐語言」
,是國際標準化組織內ISO/IEC
8859 的第三個 8 位字元集。它原先設計來表示土耳其語及馬爾他語文字,但土耳其語已改用
ISO/IEC 8859-9 顯示,現時只有世界語及馬爾他語仍使用此字元集。此字元集同時能支援以下文
字:英語、德語、義大利語、拉丁語及葡萄牙語。
表 7-5 : ASCII 字碼表 3(ISO 8859-3)
RAiO TECHNOLOGY INC.
84/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-6 內為ISO/IEC 8859-4 之標準字集,又稱Latin-4 或「北歐語言」,是國際標準化組織內
ISO/IEC 8859 的第四個 8 位字元集,它設計來表示愛沙尼亞語、格陵蘭語、拉脫維亞語、立陶宛
語及部分薩米語(Sámi)文字,此字元集同時能支援以下文字:丹麥語、英語、芬蘭語、德語、
拉丁語、挪威語、斯洛維尼亞語及瑞典語。
表 7-6 : ASCII 字碼表 4(ISO 8859-4)
RAiO TECHNOLOGY INC.
85/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-5-2
CGRAM
RA8872 支援 CGRAM 功能,提供 256 個半型字或 128 個全型字的空間,讓使用者自己規劃所要
的字型或符號,使用者只要寫入字型或符號到指定位置,然後再寫入相符的字碼,RA8872 將可寫
入字型或符號到 DDRAM。如果設成全型字(REG[21h] Bit6=1)
,只需要寫入前面的字碼字,RA8872
會自動抓取整個全型字到 DDRAM。此外設定暫存器 REG[42h] 和 REG[43h] 可以選擇自建文字
的前景顏色和背景顏色。寫入程序請參照下圖:
1.Create the font or symbol
2.Write the font or symbol to display RAM
Graphic mode
REG[40h] bit7=0
Text mode
REG[40h] bit7=1
CGRAM Space Select
REG[23h]
CGRAM Select
REG[21h] bit7=1
Write to the CGRAM
REG[41h] bit3=0,bit2=1
Write to the Bank1 or Bank2
REG[41h] bit3=0,bit2=0
Write the font or symbol data
CMD_WR[02h]
DATA_WR[data0]
DATA_WR[data1]
I
DATA_WR[data15]
CGRAM half size
REG[21h] bit6=0
CGRAM full size
REG[21h] bit6=1
Write the font or symbol
CMD_WR[02h]
DATA_WR[font_code]
Write the font or symbol
CMD_WR[02h]
DATA_WR[font_code]
圖 7-17 : CGRAM 的寫入程序
圖 7-18 : CGRAM 的寫入圖示
RAiO TECHNOLOGY INC.
86/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-5-3
文字 90 度轉向
RA8872 藉由設定暫存器 REG[22h] Bit4 = 1,可支援文字 90 度轉向的顯示功能,如下圖所示。
圖 7-19 : 文字 90 度轉向
7-5-4
文字加粗與透通模式
設定暫存器 REG[22h] Bit5,RA8872 支援文字加粗功能,暫存器 REG[22h] Bit[3:0] 支援文字放大
功能,在原有圖形下加入文字可以使用透通功能(Transparent Mode)(REG[22h] Bit6),而以上
這幾個文字功能可同時使用。其顯示效果請參考下圖:
圖 7-20 : 文字加粗與透通功能
RAiO TECHNOLOGY INC.
87/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-5-5
文字換行
RA8872 支援文字在工作視窗中自動寫入且自動換行,也就是游標自動移位,透過暫存器
(REG[40h]
Bit1 = 0)設定,當文字超過水平或垂直工作視窗範圍時,文字會自動移動及換行。其顯示效果請
參考下圖。
技
Auto move
瑞佑科技
RAiO
Horizontal range of active window
瑞佑科
技
Vertical range of active window
瑞佑科
Active window
圖 7-21 : 文字自動換行
7-5-6
文字全型對齊(Font Full-Alignment)
RA8872 支援文字全型對齊,暫存器設定為 REG[22h] Bit7 = 1 後,當寫入半型和全型文字到
DDRAM 時可排列整齊,在文字的顯示視覺上比較好看。其寫入半型和全型文字的顯示效果如下圖:
瑞
R
瑞
R
歡
迎
佑
A i
科
O
佑
A i
科
光
臨
瑞
Non full-alignment
技
O
Full-alignment
技
佑
科
技
Display RAM
圖 7-22 : 文字對齊
RAiO TECHNOLOGY INC.
88/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-6
幾 何 圖 案 繪 圖 引 擎 ( Geometric Pattern Drawing Engine )
7-6-1
圓形輸入
RA8872 支援圓形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫圓。先設定圓
的中心點(REG[99h~9Ch]),圓的半徑(REG[9Dh]),圓的顏色(REG[42h]),然後啟動繪圖
(REG[90h] Bit6 = 1)
,RA8872 就會將圓的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示
所畫的圓。若設定 REG[90h] Bit5 = 1,則可以畫出一實心圓。寫入程序請參照下圖:
Set the center of a circle
REG[99h~9Ch]
Don’t fill a circle
REG[90h] bit5=0
fill a circle
REG[90h] bit5=1
Start drawing circle
REG[90h] bit6=1
Start drawing circle
REG[90h] bit6=1
Set the radius of a circle
REG[9Dh]
Set the color of a circle
REG[42h]
center
radius
color
center
radius
color
圖 7-23 : 繪圖功能 - 畫圓
註 : 圓型繪圖會限制在 Active window 的範圍內,但需符合以下條件:
若圓心的座標(X1, Y1),半徑= R, 則 Y1+R < 512。
RAiO TECHNOLOGY INC.
89/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-6-2
矩形輸入
RA8872 支援矩形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫矩形。先設定
矩形的起始點(REG[91h~94h]),矩形的終端點(REG[95h~98h]),矩形的顏色(REG[42h]),
然後啟動繪圖(REG[90h] Bit4 = 1、REG[90h] Bit7 = 1)
,RA8872 就會將矩形的圖形寫入 DDRAM,
相對的在 TFT 模組上就可以顯示所畫的矩形。若設定 REG[90h] Bit5 = 1,則可以畫出一實心的矩
形。寫入程序請參照下圖:
Set start point of a square
REG[91h~94h]
Don’t fill a square
REG[90h] bit5=0
fill a square
REG[90h] bit5=1
Start drawing square
REG[90h] bit7=1
Start drawing square
REG[90h] bit7=1
Set the end of a square
REG[95h~98h]
Set the color of a square
REG[42h]
Start point
color
Set draw a square
REG[90h] bit4=1
Start point
End point
color
End point
圖 7-24 : 繪圖功能 - 畫矩形
RAiO TECHNOLOGY INC.
90/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-6-3
直線輸入
RA8872 支 援 直 線 繪 圖 功 能 , 先 設 定 矩 形 的 起 始 點 ( REG[91h~94h] ) , 直 線 的 終 端 點
(REG[95h~98h]),直線的顏色(REG[42h]),然後啟動繪圖(REG[90h] Bit4 = 0、REG[90h] Bit7
= 1),RA8872 就會將直線的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所畫的直線。
寫入程序請參照下圖:
Set start point of a line
REG[91h~94h]
Set draw a line
REG[90h] bit4=0
Set the end of a line
REG[95h~98h]
Start drawing line
REG[90h] bit7=1
Set the color of a line
REG[42h]
Start point
End point
color
color
End point
Start point
圖 7-25 : 繪圖功能 - 畫直線
RAiO TECHNOLOGY INC.
91/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7
BTE 引 擎 ( Block Transfer Engine ) 功 能
RA8872 內建一 2D 的加速引擎功能,稱為 BTE(Block Transfer Engine),可增強區塊資料處理的效
率。當區塊性資料需要搬移或需特定邏輯處理時,可透過 RA8872 的 BTE 功能快速地完成且可簡化 MCU
的程序。此 BTE 相容於 2D BitBLT 標準功能,而本節將討論 BTE 引擎的運作和功能。
在使用BTE引擎功能之前,使用者必須先設定相對應的BTE操作碼,選擇想要的操作模式。RA8872 支
援 13 種BTE操作模式。關於BTE引擎操作碼說明,請參考以下 表 7-7。對於每一種BTE操作模式,可
搭配最多 16 種的光柵運算碼(ROP,Raster Operation),提供以區塊為範圍的多功能的邏輯運算。
光柵運算來源(ROP Source)和光柵運算目的地(ROP Destination)可提供不同的邏輯組合,透過
BTE操作碼以及光柵運算碼的組合,使用者可實現許多有用的應用。光柵運算的來源與目的地的設定也
提供彈性的方式,使用者可以設定為方型的顯示區域(區塊模式),或是連續記憶體區塊(線性定址模
式)。關於BTE操作,請參考下面章節的進一步詳細說明。
表 7-7 : BTE 操作碼動作說明
BT E 的 操 作 碼
REG[51h] Bit[3:0]
B TE 的 動 作 說 明
0000
BTE寫入搭配光柵運算功能。參考 表 7-8。
0001
BTE 讀取功能。
0010
BTE正向移動搭配光柵運算功能。參考 表 7-8。
0011
BTE反向移動搭配光柵運算功能。參考 表 7-8。
0100
BTE 透通性寫入功能。
0101
BTE 透通性正向移動功能。
0110
圖形樣板填入搭配光柵運算功能。參考 表 7-8。
0111
透通性圖形樣板填入功能。
1000
顏色擴充功能。參考 表 7-9。
1001
透通性顏色擴充功能。參考 表 7-9。
1010
BTE移動搭配顏色擴充功能。參考 表 7-10。
1011
透通性BTE移動搭配顏色擴充功能。參考 表 7-10。
1100
單色填滿功能。
其它
保留。
BTE引擎共有二種方式來確認BTE處理過程的完成,一是透過軟體輪詢(Polling)來確認是否忙碌,另
一個是使用硬體中斷(Interrupt)。當BTE引擎在處理過程中,狀態暫存器裏的BTE忙碌旗標會被設定
(STSR REG Bit6),藉以反應BTE操作完成與否。(請參考第 5-1 節的狀態暫存器)。硬體中斷(INT#)
RAiO TECHNOLOGY INC.
92/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
是另一種可確認BTE過程結束的方式,使用者可先設定暫存器REG[8Fh]的中斷致能位元。若BTE操作
完成,RA8872 將發出硬體中斷通知MCU,MCU便可藉由檢查中斷狀態去確定BTE引擎的狀態。當BTE
引擎運轉尚未完成前,除了REG[02h] 或REG[8Fh] 外,使用者不可寫入指令給RA8872,以免影響正
確的顯示結果。而且使用BTE時必須在繪圖模式下進行,也就是暫存器 [40h] Bit7 要設成 0。
上面的 表 7-7 說明RA8872 支援 13 種BTE操作模式,其中BTE操作碼為 0000、0010、0011、0110 時
必須配合光柵運算碼(REG[51h] Bit[7:4])才能知道詳細的動作,請參考 表 7-8。
表 7-8 : 光柵運算(ROP)功能(一)
光柵運算碼
REG[51h] Bit[7:4]
目的資料的布林運算
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0(黑色)
~S・~D or ~(S+D)
~S・D
~S
S・~D
~D
S^D
~S+~D or ~(S・D)
S・D
~(S^D)
D
~S+D
S
S+~D
S+D
1(白色)
註 : 上述 ROP 功能 ”S” 代表來源資料,”D” 代表目的資料。以 “圖形樣板填入”(Pattern Fill)功
能為例,來源資料表示圖形樣板資料。
範例:
若 ROP 功能設定 Ch,則目的資料 = 來源資料
若 ROP 功能設定 Eh,則目的資料 = S + D
若 ROP 功能設定 2h,則目的資料 = ~S・D
若 ROP 功能設定 Ah,則目的資料 = 目的資料
RAiO TECHNOLOGY INC.
93/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
表 7-9 : 光柵運算功能(二)
顏色擴充功能的起始位元位置
光柵運算碼
B TE 操 作 碼 = 1 000 / 1 001
REG[51h] Bit[7:4]
MCU 界 面
= 8- b it
0000
0001
Bit0
Bit1
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Bit2
Bit3
Bit4
Bit5
Bit6
Bit7
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
表 7-10 : 光柵運算功能(三)
光柵運算碼
REG[51h] Bit[7:4]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
RAiO TECHNOLOGY INC.
移動搭配顏色擴充功能的起始位元位置
B TE 操 作 碼 = 1 010 / 1 011
顏色深度
= 6 5K 色
Bit0
Bit1
Bit2
Bit3
Bit4
Bit5
Bit6
Bit7
Bit8
Bit9
Bit10
Bit11
Bit12
Bit13
Bit14
Bit15
顏色深度
= 4K 色
Bit0
Bit1
Bit2
Bit3
Bit4
Bit5
Bit6
Bit7
Bit8
Bit9
Bit10
Bit11
Invalid
Invalid
Invalid
Invalid
94/162
顏色深度
= 2 56 色
Bit0
Bit1
Bit2
Bit3
Bit4
Bit5
Bit6
Bit7
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
Invalid
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-1
選擇 BTE 起始點位址及圖層
在雙層顯示的組態下,光柵運算的來源和目的資料可以選擇從那一個圖層提供。要設定光柵運算的
來源或目的前,要先設定水平和垂直起始點位址,請參考暫存器 VSBE0/1 和 VDBE0/1。圖層的選
擇也請參考 VSBE1 Bit[7] 與 VDBE1 Bit[7],VSBE1 Bit[7] 是用來設定光柵運算來源的圖層,
VDBE1 Bit[7] 則用來設定光柵運算目的的圖層。
7-7-2
BTE 操作(BTE Operation)說明
7-7-2-1
BTE 寫入(Write BTE)
BTE 寫入功能提供 16 種雙運算元(2 Operands)的光柵運算。BTE 會將光柵運算的結果寫入
至目的位址。
7-7-2-2
BTE 讀取(Read BTE)
BTE 讀取功能支援資料從來源位址讀取資料至 MCU 主機端的功能。此功能不需考慮光柵運算。
7-7-2-3
BTE 移動(Move BTE)
BTE 移動功能提供 16 種雙運算元(2 Operands)的光柵運算功能,此功能並且支援正向與反
向移動的選擇。
7-7-2-4
單色填滿(Solid Fill)
單色填滿 BTE 功能提供使用者可將特定的區域(BTE 來源區域)以特定顏色 BTE 前景色填滿
的功能。
7-7-2-5
圖案填滿(Pattern Fill)
圖案填滿功能提供將特定的 BTE 區域以特定的 8*8 像素圖案填滿的功能,此圖案被設定於顯示
範圍外的 DDRAM 中。
7-7-2-6
BTE 透通填滿(Transparent Pattern Fill)
BTE 透通填滿功能提供將特定的 BTE 區域以特定的 8*8 像素圖案填滿的功能,此圖案被設定於
顯示範圍外的 DDRAM 中。當圖案中的顏色與特定的顏色相同時,在此功能設定為 BTE 前景色
(定義於 BTE Foreground Color 暫存器),目的區域的資料便不會被覆蓋,會保持透通性,此
功能不需考慮光柵運算。
RAiO TECHNOLOGY INC.
95/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-2-7
BTE 透通寫入(Transparent Write BTE)
BTE 透通寫入功能支援從主機端寫入字元區塊至 DDRAM 區域的功能。當資料來源中的顏色與
特定的顏色相同時,在此功能設定為 BTE 前景色(定義於 BTE Foreground Color 暫存器),
目的區域的資料便不會被覆蓋,會保持透通性,此功能不需考慮光柵運算。
7-7-2-8
BTE 透通移動(Transparent Move BTE)
BTE 透通移動功能支援從 DDRAM 來源以正向方式寫入字元區塊至 DDRAM 區域的功能。當資
料來源中的顏色與特定的顏色相同時,在此功能設定為 BTE 前景色(定義於 BTE Foreground
Color 暫存器),目的區域的資料便不會被覆蓋,會保持透通性,此功能不需考慮光柵運算。
7-7-2-9
顏色擴充(Color Expansion)
BTE 顏色擴充功能可將主機端的單色資料,以 8 或 12 或 16 位元的顏色深度格式擴充,並寫入
DDRAM 中,擴充方式如下:
‹
資料 ”1” 擴充為 BTE 前景色暫存器中設定的顏色
‹
資料 ”0” 擴充為 BTE 背景色暫存器中設定的顏色
若背景透通格式被開啟,目標顏色將會維持不變。
7-7-2-10 顏色移動(Move BTE with Color Expansion)
BTE 顏色移動功能可將不在顯示範圍中的單色資料,以 8、12 或 16 位元的顏色深度格式移動
寫入 DDRAM 中,若記憶體中資料為 ”1” 則擴充為 BTE 前景色暫存器中設定的顏色,若記憶
體中資料為 ”0” 擴充為 BTE 背景色暫存器中設定的顏色,若背景透通格式被開啟,目標顏色將
會維持不變。
RAiO TECHNOLOGY INC.
96/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-3
BTE 記憶體存取方式
BTE 引擎有兩種方式去存取記憶體,分別是區塊記憶體和線性記憶體,其範圍及大小的設定定義於
暫存器[5Ch]、[5Dh]、[5Eh] 和 [5Fh]。有關這兩種記憶體讀取方式的說明,請參考下面章節。
7-7-3-1
區塊記憶體讀取(Block Memory Access)
使用此設定,BTE記憶體來源 / 目的資料會被視為是一個顯示區域中的區塊,區塊寬度和高度
定義於REG[5Ch ~ 5Fh],圖 7-26 範例表示來源和目的資料皆被設定為區塊記憶體讀取方式。
DPRAM - Layer
Source Address
Destination Address
圖 7-26 : BTE 的區塊記憶體讀取
7-7-3-2
線性記憶體讀取(Linear Memory Access)
使用此設定,BTE記憶體來源 / 目的資料會被視為是一個顯示區域中的連續定址區域,其區域
長度定義於REG[5Ch ~ 5Fh],其中長度的計算為(BTE_WIDTH *BTE_HEIGHT),圖 7-27
範例表示來源和目的資料皆被設定為連續記憶體讀取方式。
Source Linear
Total Process Data length = BTE Width * High
Destination Linear
圖 7-27 : BTE 的線性記憶體讀取
RAiO TECHNOLOGY INC.
97/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4
BTE 功能說明
7-7-4-1
BTE 寫入搭配光柵運算功能
BTE 寫入功能可加快系統記憶體到 DDRAM 的資料傳送速度。BTE 寫入搭配光柵運算功能可將
MCU 寫入的資料,經過光柵運算後,填入指定的 DDRAM 位址。BTE 寫入功能支援全部的 16
種光柵運算,也支援目標記憶體線性模式和目標記憶體區塊模式。BTE 寫入功能的資料來源則
由 MCU 提供。
使用者可使用硬體中斷或軟體忙碌確認的方式來得知 BTE 執行過程狀況。若使用者採取軟體方
式,可以讀取暫存器 BECR0(REG[50h])的 Bit7 或是由狀態暫存器(STSR)的 Bit6 的狀態
而得知。若使用者採硬體中斷方式,必須確認 INT# 腳位必須連接到 MCU 的中斷腳位,再用中
斷暫存器 REG[8Fh] 來確認中斷的來源是否為 BTE,以得知 BTE 功能是否完成。
RA8872
DDRAM
MPU
圖 7-28 : BTE 寫入搭配光柵運算功能
以下為 BTE 寫入搭配光柵運算功能功能執行時建議的步驟,請參考以下暫存器設定。
1.
設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2.
設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
3.
設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
4.
設定光柵運算為目地 = 來源
Æ REG[51h] = C0h
5.
開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
6.
致能 REG[02h]
7.
檢查 STSR Bit7。
8.
寫入下一筆影像資料。
9.
繼續第 7 和第 8 步驟直到影像資料(資料筆度 = 長度 * 寬度)寫完或是檢查 STSR 的
Bit6 來確定資料是否全部寫入。
RAiO TECHNOLOGY INC.
98/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-29 : BTE 功能完成畫面
以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU
進行連接。
1. 設定 INTC 暫存器。
Æ REG[8Fh]
2. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
4. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
5. 設定光柵運算為目地 = 來源。
Æ REG[51h] = C0h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 偵測中斷信號產生。
8. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1
9. 致能 REG[02h]
10. 寫入資料
11. 偵測中斷信號產生。
12. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1
13. 繼續步驟 9、10、11、12 直到影像資料全部寫入(資料筆度 = 長度*寬度)
,或是由 STSR
Bit6 來確定所有資料是否全數寫入。
RAiO TECHNOLOGY INC.
99/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-2
BTE 讀取功能
BTE 讀取功能可加速從 DDRAM 到系統記憶體的資料傳送速度,動作類似 Burst Read 功能。
此功能一般用來加速將部分資料由 DDRAM 到系統記憶體搬移的動作,一旦 BTE 讀取功能開
始,BTE 引擎會持續提供 DDRAM 資料給 MCU 讀取,直到所有的資料都被讀取完畢,BTE 處
理資料的筆數由暫存器[5Ch ~ 5Fh]來設定(BTE_Width*BTE_Height)。
RA8872
MPU
DDRAM
圖 7-30 : BTE 讀取功能
以下為 BTE 讀取功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定來源位置。
Æ REG[54h],[55h],[56h],[57h]
2. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
3. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
4. 設定 BTE 控制暫存器。
Æ REG[51h] = 01h
5. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
6. 致能 REG[02h]
7. 檢查 STSR Bit7。
8. 讀取下一個圖像資料。
9. 繼續步驟 7、8 直到圖像資料全部被讀出。
以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU
進行連接。
1. 設定 INT# 。
Æ REG[8Fh]
2. 設定來源位址。
Æ REG[54h],[55h],[56h],[57h]
3. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
4. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
5. 設定 BTE 控制暫存器。
Æ REG[51h] = 01h
6. 開啟 BTE 功能
Æ REG[50h] Bit7 = 1
7. 等待中斷產生。
8. 致能 REG[02h]
9. 讀取下一個圖像資料。
10. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1
11. 繼續執行步驟 7、8、9、10 直到圖像資料全部被讀出,或是由 STSR Bit6 來確定所有資料
是否全數讀出。
RAiO TECHNOLOGY INC.
100/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-3
BTE 正向移動搭配光柵運算功能
“BTE 正向移動搭配光柵運算功能” 可執行將 DDRAM 中特定區域移動至 DDRAM 的另一塊區
域,此功能操作可以加速不同區塊資料複製並且搭配光柵運算,節省大量 MCU 執行時間及負
載。
Destination
Source
圖 7-31 : BTE 正向移動功能搭配光柵運算
BTE 移動來源 / 目的可以是一個方形的區域或是一個線性區域。此功能可用於暫時儲存
DDRAM 中部分的顯示區域資料到另一個非顯示區,以供後續利用,或是快速地複製一個非顯
示區的資料到顯示區域。以下為 BTE 正向移動搭配光柵運算功能執行時建議的步驟,請參考以
下暫存器設定。
1. 設定來源圖層和位址。
Æ REG[54h],[55h],[56h],[57h]
2. 設定目的圖層和位址。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
4. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 2h
5. 啟動 BTE 功能。
Æ REG[50h] Bit7 = 1
6. 檢查狀態暫存器(STSR)Bit6,判斷 BTE 是否完成。
圖 7-32 : BTE 功能運作前畫面
RAiO TECHNOLOGY INC.
101/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-33 : BTE 功能運作後畫面
RAiO TECHNOLOGY INC.
102/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-4
BTE 反向移動搭配光柵運算功能
BTE 反向移動搭配光柵運算功能與正向移動功能幾乎是相同的功能,唯一的差別為移動的方向
相。此功能先執行來源端至目的端的最後一筆資料的移動,再以反向的方式朝來源 / 目的端區
域的第一筆資料,逐筆進行 BTE 的移動動作。特別要注意的是,在來源端與目的端有重疊的情
況下,正向移動與反向移動功能會得到不同的結果。
Source
Destination
圖 7-34 : BTE 反向移動功能搭配光柵運算
BTE 移動功能可執行將 DDRAM 中特定區域移動至 DDRAM 的另一塊不同的區域的功能,此功
能操作可以加速不同區塊資料複製並且搭配光柵運算,節省大量 MCU 執行時間及負載。
以下為 BTE 反向移動搭配光柵運算功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定來源圖層和位置。
Æ REG[54h],[55h],[56h],[57h]
2. 設定目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
4. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 3h
5. 開啟 BTE 功能。
Æ REG[50h] Bit[7] = 1
6. 檢查狀態暫存器(STSR)Bit6,判斷 BTE 是否完成。
RAiO TECHNOLOGY INC.
103/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-35 : BTE 功能運作前畫面
圖 7-36 : BTE 功能運作後畫面
RAiO TECHNOLOGY INC.
104/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-5
BTE 透通性寫入功能
BTE 透通性寫入功能可以增加系統記憶體(MCU 端)至 DDRAM 的傳送速度,一旦 BTE 透通
性寫入功能開始,BTE 引擎會持續動作直到所有的像素都被寫入為止。
“BTE 透通性寫入功能” 可用來更新一個 DDRAM 的特定區域,而由 MCU 提供資料來源,不同
於 BTE 寫入功能,“BTE 透通性寫入功能” 會忽略某些特定顏色的操作,此特定透通色可由使
用者設定,在 RA8872 中,此特定透通色設定於暫存器中的 ”BTE 前景色” 中。當讀到來源顏
色為透通色時,便不執行寫入的功能。此功能在處理將一張圖片的部分圖形複製到 DDRAM 時
很有幫助。不需要被複製的地方,在來源圖片中便以 ”透通色” 處理,在 BTE 透通性寫入功能
執行時, 便不會進行寫入功能,利用此功能可以很快的在任意背景圖上,寫入一個前景圖案,
例如來源圖案為一個藍色的背景搭配紅色的圓形圖案,藉著設定藍色為 ”透通色” 並且執行
BTE 透通性寫入功能,就相當於將一個紅色的圖形圖案貼到目地位置功能。BTE 透通性寫入功
能在來源和目的資料設定皆支援線性和區塊定址模式。
Image
RA8872
DDRAM
MPU
圖 7-37 : BTE 透通性寫入功能
以下為 BTE 透通性寫入功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
3. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
4. 設定透通色(BTE 前景色。)
Æ REG[63h],[64h],[65h]
5. 設定 BTE 操作碼及光柵運算碼。
Æ REG[51h] = C4h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 致能 REG[02h]
8. 寫入圖像資料。
9. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。
10. 繼續執行步驟 8、9,直到圖像資料被更新完畢。
RAiO TECHNOLOGY INC.
105/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU
進行連接。
1. 設定中斷控制暫存器。
Æ REG[8Fh]
2. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
4. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
5. 設定 BTE 操作碼及光柵運算碼。
Æ REG[51h] = C4h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 等待中斷產生。
8. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1
9. 致能 REG[02h]
10. 寫入圖像資料。
11. 等待中斷產生。
12. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1
13. 繼續執行步驟 9、10、11、12,直到圖像資料被更新完畢。
圖 7-38 : BTE 功能執行前畫面
圖 7-39 : BTE 透通性寫入功能執行後畫面
RAiO TECHNOLOGY INC.
106/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-6
BTE 正向透通性移動功能
“BTE 正向透通性移動功能” 執行 DDRAM 的某一區塊至另一區塊的移動功能,但忽略透通色的
動作。與 BTE 透通性寫入功能相同的,它允許使用者設定某一個顏色為透通色,並且在遇到透
通色時,不執行移動的功能。”透通性寫入” 與 ”透通性移動” 不同之處在於操作的來源設定,“透
通性寫入” 的來源資料來自系統記憶體或是 MCU,而 ”透通性移動” 的來源則為 DDRAM。因
為來源資料來自 DDRAM,BTE 動作的方向必須被定義,否則會造成執行結果的不確定。在 ”
透通性移動” 功能上,RA8872 僅支援正向的動作。
根據使用者的設定,BTE 透通性移動功能的來源可以指定為線性模式或是區塊模式。特別值得
注意的是在某些來源與目地區域重疊的情況,來源區域的資料可能會 BTE 執行的過程中被覆蓋。
以下為 BTE 正向透通性移動功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定來源圖層與位置。
Æ REG[54h],[55h],[56h],[57h]
2. 設定目的圖層與位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
4. 設定 ”透通色” 也就是 BTE 前景色。
Æ REG[63h],[64h],[65h]
5. 設定 BTE 操作碼光柵運算功能。
Æ REG[51h] Bit[3:0] = 05h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
圖 7-40 : BTE 功能執行前畫面
RAiO TECHNOLOGY INC.
107/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-41 : BTE 透通性移動功能執行後畫面
RAiO TECHNOLOGY INC.
108/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-7
圖形樣板填入搭配光柵運算功能(Pattern Fill with ROP)
“圖形樣板填入搭配光柵運算功能” 可設定一個在 DDRAM 中的特定方型記憶區塊並填入重覆的
特定圖形樣板。圖型樣板是一個 8*8 的像素圖型,存放在 DDRAM 中的非顯示區的特定位置,
圖型樣板並且可以配合 16 種光柵運算和目的資料做邏輯運算。此操作可以用來加速某些需要在
特定區域重覆貼入某一種圖形,像是背景圖案等的應用。
Pattern
RA8872
Panel Display Result
DDRAM
圖 7-42 : 圖形樣板填入搭配光柵運算功能
以下為圖形樣板填入搭配光柵運算功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
3. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 6h
4. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
5. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
RAiO TECHNOLOGY INC.
109/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-43 : BTE 功能執行前畫面
圖 7-44 : 樣板範例
圖 7-45 : BTE 圖形樣板填入功能執行後畫面
RAiO TECHNOLOGY INC.
110/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-8
透通性圖形樣板填入功能
透通性圖形樣板填入功能可設定一個在 DDRAM 中的特定方型記憶區塊,並填入重覆的特定圖
形樣板。此功能與 ”圖形樣板填入搭配光柵運算功能(Pattern Fill with ROP)” 有著相同的功
能並且加入透通性的功能。也就是對於特定的 ”透通色”,此 BTE 功能會予以忽略。圖型樣板是
一個 8*8 像素大小的圖型,存放在非顯示區的 DDRAM 中,在 BTE 啓動前,必須要先將圖型樣
板填好。值得注意的是,對透通圖形樣板而言, 透通色僅判別高位元之 256 色部分,也就是說
REG[63h]的 BIT [4:2] REG[64h]的 BIT [5:3]以及 REG[65h] BIT [4:3]為有效。詳細設定請參考
相關暫存器之說明。
Pattern
RA8872
DDRAM
Panel Display result , if set blue color is
transparency color
圖 7-46 : 透通性圖形樣板填入功能示意圖
以下為透通性圖形樣板填入功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定 目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
3. 設定透通色 - BTE 前景色
Æ REG[63h],[64h],[65h]
4. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 07h
5. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
6. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
RAiO TECHNOLOGY INC.
111/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-47 : BTE 功能執行前畫面
圖 7-48 : 樣板圖例
圖 7-49 : 透通性圖形樣板填入功能執行後畫面
RAiO TECHNOLOGY INC.
112/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-9
顏色擴充功能(Color Expansion)
“顏色擴充功能” 是一個很有用的功能,用來處理將 MCU 的單色圖形資料轉換為彩色圖形資
料,並寫入 DDRAM 中。此功能的來源資料為 MCU 提供的單色圖形資料(monochromes
bitmap)
。而每一個位元根據內容被轉換為 BTE 前景色或背景色。若來源位元值為 “1” 則會被
轉換為 BTE 前景色,若為 “0” 則會轉換為 BTE 背景色。此功能可以大大降低將單色系統資料
轉換為彩色系統資料的成本。”顏色擴充功能” 會根據 MCU 的資料匯流排寬度,持續讀入 16
位元或 8 位元的資料作轉換,並且可以位元為單位,設定每一行的第 1 筆單色圖形資料的起始
轉換位元,並且在每一行的最後一筆資料讀入後,超過範圍的位元也會被忽略而不寫入,而下
一行則從下一筆資料開始執行同樣的操作。這樣以位元為單位的運算大大增加此功能的彈性。
另外,每一筆資料的處理方向是從最高位元(MSB)至最低位元(LSB)。
RA8872
Mono
Color
MPU
DDRAM
Bitmap
Color Image
Mono Color Bitmap
RAIO production
is very good
RAIO production
is very good
圖 7-50 : 顏色擴充功能的資料區塊圖
以下為顏色擴充功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
3. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
4. 設定 BTE 背景色 – 若輸入位元為 0,則轉換為此顏色。Æ REG[60h],[61h],[62h]
5. 設定 BTE 前景色 – 若輸入位元為 1,則轉換為此顏色。Æ REG[63h],[64h],[65h]
6. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 8h
7. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
8. 致能 REG[02h]
9. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。
10. 寫入單色圖像資料。
11. 繼續執行步驟 8、9、10,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確
認 BTE 執行完成。
以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU
進行連接。
RAiO TECHNOLOGY INC.
113/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
1. 設定中斷控制暫存器。
Æ REG[8Fh]
2. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度 暫存器。
Æ REG[5Ch],[5Dh]
4. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
5. 設定 BTE 背景色 – 若輸入位元為 0,則轉換為此顏色。Æ REG[60h],[61h],[62h]
6. 設定 BTE 前景色 – 若輸入位元為 1,則轉換為此顏色。Æ REG[63h],[64h],[65h]
7. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 8h
8. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
9. 等待中斷信號產生。
10. 檢查得知 BTE 中斷,並清除中斷狀態暫存器。
Æ REG[8Fh] Bit0 = 1
11. 致能 REG[02h]
12. 寫入單色圖像資料。
13. 等待中斷信號產生。
14. 檢查得知 BTE 中斷,並清除中斷狀態暫存器。
Æ REG[8Fh] Bit0 = 1
15. 繼續執行步驟 11、12、13、14,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)
Bit6 確認 BTE 執行完成。
圖 7-51 : BTE 功能執行前畫面
圖 7-52 :BTE 功能執行後畫面
RAiO TECHNOLOGY INC.
114/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
註 :
1. 每列需送出的資料筆數 =(
(BTE 寬度–(MCU 介面資料寬度 –(起始位元數 + 1))
)
/ MCU 介面資料寬度)+(
(起始位元數+ 1)%(MCU 介面資料寬度))
2. 所有需傳送的資料筆數 =(每列送出的資料筆數)* BTE 高度設定
D4 8bit
D0
D1
D2
D3
MPU send to RA8872
data,The data have 8bit
for one transmitter data,
and serial send
D0,D1,D2 ,D3,D4 ~~
Dn to RA8872
start bit =4
D0
D1
D2
D3
Not Expansion
Not Expansion
BTE High REG [5Ah]
[5Bh] setting
Expansion
BTE Width REG
[58h] [59h] setting
圖 7-53 : 顏色擴充功能資料示意圖
RAiO TECHNOLOGY INC.
115/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-10 透通性顏色擴充功能(Color Expansion with Transparency)
此 BTE 功能與 ”顏色擴充功能” 幾乎是相同,除了加入透通性的功能。也就是對於特定的 ”透
通資料位元值”,此 BTE 功能會予以忽略。在此功能,透通資料位元值為 ”0”,也就是所有輸入
值為 ”1” 的位元將會被轉換為 BTE 的前景色並且寫入目的位置,所有輸入值為 ”0” 的位元將
會不被轉換,而保持原來目的資料顏色值。
RA8872
Mono
Color
Bitmap
MPU
Mono Color Bitmap
RAIO production
is very good
DDRAM
Color Image
RAIO production
is very good
圖 7-54 : 透通性顏色擴充功能資料區塊圖
以下為透通性顏色擴充功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度 暫存器。
Æ REG[5Ch],[5Dh]
3. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
4. 設定 BTE 前景色,若輸入位元為 1,則轉換為此顏色。 Æ REG[63h],[64h],[65h]
5. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 09h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 致能 REG[02h]
8. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。
9. 寫入單色圖像資料。
10. 繼續執行步驟 8、9,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確認 BTE
執行完成。
RAiO TECHNOLOGY INC.
116/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
Destination address
Mono Bitmap
RAIO production
Is very good .
2D color
Expansion
RAIO production
Is very good .
圖 7-55 : 透通性顏色擴充功能範例圖
以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU
進行連接。
1. 設定中斷控制暫存器。
Æ REG[8Fh]
2. 設定目的位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度暫存器。
Æ REG[5Ch],[5Dh]
4. 設定 BTE 高度暫存器。
Æ REG[5Eh],[5Fh]
5. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 9h
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 等待中斷信號產生。
8. 檢查得知 BTE 中斷,並清除中斷狀態暫存器。
Æ REG[8Fh] Bit0 = 1
9. 致能 REG[02h]
10. 寫入單色圖像資料。
11. 等待中斷信號產生。
12. 檢查得知 BTE 中斷,並清除中斷狀態暫存器。
Æ REG[8Fh] Bit0 = 1
13. 繼續執行步驟 9、10、11、12,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)
Bit6 確認 BTE 執行完成。
RAiO TECHNOLOGY INC.
117/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-11 BTE 移動搭配顏色擴充功能(Move BTE with Color Expansion)
BTE 移動搭配顏色擴充功能從 DDRAM 中的來源位置取得單色的圖像資料,並且將其轉換為彩
色資料並移動至目的位置。所有來源會被視為是以位元為單位的單色資料,所有值為 “1”,的
位元會被轉換為 BTE 前景色,而值為 “0” 的位元則會轉換為 BTE 背景色。
“BTE 移動搭配顏色擴充功能” 可用來加速單色圖像轉為彩色圖像的應用。在非顯示區的一個單
色圖案所占的空間非常小,藉由硬體加速的優點,可以讓系統的負擔大大降低。也可用於文字
為主的圖案應用。
此功能可從一個區塊移動資料到另外一塊,來源 / 目的資料皆可設定為線性或區塊模式,值得
住意的是,當來源/目的定義為線性模式時,資料便視為每一列的資料都是連續且相鄰。圖像的
寬度則由暫存器中的 BTE 寬度來設定。
DDRAM
8bit/pixel
12bit/pixel
Color Image
16bit/pixel
1bit/pixel
Mono color Bitmap
Mono Color Bitmap
RAIO production
is very good
Color expansion
Color Image
RAIO production
is very good
圖 7-56 : BTE 移動搭配顏色擴充功能資料轉換示意圖
以下為 BTE 移動搭配顏色擴充功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定來源圖層和位置。
Æ REG[54h],[55h],[56h],[57h]
2. 設定目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
4. 設定 BTE 背景色,若輸入位元為 0,則轉換為此顏色。 Æ REG[60h],[61h],[62h]
5. 設定 BTE 前景色,若輸入位元為 1,則轉換為此顏色。 Æ REG[63h],[64h],[65h]
6. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = 0Ah
7. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
8. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
RAiO TECHNOLOGY INC.
118/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 7-57 : BTE 功能執行前畫面
圖 7-58 : BTE 功能執行後畫面
RAiO TECHNOLOGY INC.
119/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-12 透通性 BTE 移動功能搭配顏色擴充
“透通性 BTE 移動功能搭配顏色擴充” 與 ” BTE 移動搭配顏色擴充功能” 幾乎是相同,除了加
入透通性的功能。也就是背景色會被忽略。當所有輸入值為 ”1” 的位元將會被轉換為 BTE 的前
景色,而所有輸入值為 ”0” 的位元將會不被轉換。
圖 7-59 : 透通性 BTE 移動功能搭配顏色擴充效果
其步驟如下:
1. 設定來源圖層和位置。
Æ REG[54h],[55h],[56h],[57h]
2. 設定目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
3. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
4. 設定 BTE 前景色,若輸入位元為 1,則轉換為此顏色。 Æ REG[63h],[64h],[65h]
5. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = Bh
6. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
7. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
RAiO TECHNOLOGY INC.
120/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-7-4-13 單色填滿功能
BTE “單色填滿功能” 可將 DDRAM 中選定的區塊填入一種單色。此功能使用於將選定區域畫面
清除或是填入給定某種前景色,RA8872 填入的單色設定為 BTE 前景色。
圖 7-60 : 單色填滿功能
以下為單色填滿功能執行時建議的步驟,請參考以下暫存器設定。
1. 設定目的圖層和位置。
Æ REG[58h],[59h],[5Ah],[5Bh]
2. 設定 BTE 寬度和高度。
Æ REG[5Ch],[5Dh],[5Eh],[5Fh]
3. 設定 BTE 操作碼和光柵運算碼。
Æ REG[51h] Bit[3:0] = Ch
4. 設定前景色。
Æ REG[63h],[64h],[65h]
5. 開啟 BTE 功能。
Æ REG[50h] Bit7 = 1
6. 檢查狀態暫存器(STSR)Bit6,確認 BTE 是否完成。
RAiO TECHNOLOGY INC.
121/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-8
圖層混合功能
RA8872 提供兩種圖層顯示功能,當選擇雙圖層(DPCR(REG[20h] Bit7 = 1))時,可使用暫存器LTPR0
(REG[52h])、LTPR1(REG[53h])和 BGTR(REG[67h])來產生圖層 1 和圖層 2 不同的組合效果。
相關的功能設定請參考下 表 7-11。
表 7-11 : LTPR0,LTPR1 和 BGTR 功能
Reg. NO.
52h
53h
暫存器名稱
LTPR0
LTPR1
說
明
Layer Transparency Register 0
B[7:6] 圖層 1/2 捲動模式
00 : 圖層 1 與圖層 2 同時捲動。
01 : 只有圖層 1 捲動。
1x : 只有圖層 2 捲動。
B[2:0] 圖層顯示模式
000 : 只有圖層 1 顯示。
001 : 只有圖層 2 顯示。
x10 : 顯示圖層 1 與圖層 2 的漸入漸出模式。
x11 : 顯示圖層 1 與圖層 2 的透通模式。
100 : 顯示圖層 1 與圖層 2 的布林運算 OR 結果。
101 : 顯示圖層 1 與圖層 2 的布林運算 AND 結果。
Layer Transparency Register 1
B[7:4] 圖層 2 的透通(Transparency)設定
0000 : Total 顯示。
0001 : 7/8 顯示。
0010 : 3/4 顯示。
0011 : 5/8 顯示。
0100 : 1/2 顯示。
0101 : 3/8 顯示。
0110 : 1/4 顯示。
0111 : 1/8 顯示。
1000 : 顯示關閉。
B[3:0] 圖層 1 的透通設定
0000 : Total 顯示。
0001 : 7/8 顯示。
0010 : 3/4 顯示。
0011 : 5/8 顯示。
0100 : 1/2 顯示。
0101 : 3/8 顯示。
0110 : 1/4 顯示。
0111 : 1/8 顯示。
1000 : 顯示關閉。
Background Color Register for Transparent
67h
BGTR
RAiO TECHNOLOGY INC.
B[7:0] 透通模式下的背景顏色
256 色透通模式下的背景顏色設定,格式為 RRRGGGBB。
122/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-8-1
顯示圖層一
若暫存器LTPR0 B[2:0] 設定為 3’b000,畫面只會顯示圖層一。請參照 圖 7-61 範例。這個功能也
可結合暫存器LTPR1[3:0] 和BGTR來顯示相似的效果。請參照下面範例,如 圖 7-62。
RA8872
RAiO
Layer 2
RAiO
Layer 1
圖 7-61 : 只顯示圖層一
RAiO
Layer 1
LTPR0 B[2:0]= 3’b000
+
=
RAiO
LTPR1 B[3:0] = 4’b0100
BGTR
B[7:0] = 8’hE0
圖 7-62 : 圖層一與透通模式的顯示效果
RAiO TECHNOLOGY INC.
123/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-8-2
顯示圖層二
若暫存器LTPR0 B[2:0] 設定為 3’b001,畫面只會顯示圖層二。請參照 圖 7-63 範例。這個功能也
可結合暫存器LTPR1[7:4] 和BGTR來顯示相似的效果。請參照下面範例,如 圖 7-64。
RA8872
RAiO
Layer 2
RA8872
Layer 1
圖 7-63 : 只顯示圖層二
Layer 2
RA8872
+
LTPR0 B[2:0]= 3’b001
= RA8872
LTPR1 B[7:4] = 4’b0100
BGTR
B[7:0] = 8’h1C
圖 7-64 : 圖層二與透通模式的顯示效果
7-8-3
透通模式
透通模式可使得圖層 1 的背景色以透明的方式顯示,也就是在圖層一的背景色部分,圖層二的部分
可以被顯示。這個功能使得兩個圖層可以重疊顯示,有前景和背景的效果。其中前景的部分放在圖
層 1,背景的部分則寫至圖層 2。而需要透明的部分則寫入由暫存器BGTR所設定的背景色。其顯
示效果請參照下面範例 圖 7-65。
Key Color
RAiO
Layer 1
Layer 2
+
RAiO
=
RA8872
圖 7-65 : 圖層的透通模式顯示效果
RAiO TECHNOLOGY INC.
124/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-8-4
漸入漸出模式
漸入漸出模式可以進一步變換圖片顯示效果,讓圖片可顯影在另一張圖片上。下面的方程式為描述
漸入漸出(Lighten-Overlay)使用技術。
[r,g,b]Lighten-Overlay =χ[r,g,b] Layer 1 +(1- χ)[r,g,b] Layer 2
其中 [r,g,b] 是像素的資料,而 χ 則是顯示的權重系數,此係數大小是依據 LTPR1[3:0]設定。
換句話說,如果 LTPR1[3:0] 設定為 0100,顯示的權重系數 χ 便等於 1/2,等式如下:
[r,g,b]Lighten-Overlay =1/2[r,g,b] Layer 1 + 1/2[r,g,b]Layer 2 .
其顯示效果請參照下面範例 圖 7-66。
RAiO
Layer 1
RAiO
=
Layer 2
+
RA8872
RA8872
圖 7-66 : 漸入漸出模式的效果
7-8-5
布林運算 OR
設定暫存器 REG[52h],圖層一與圖層二可以進行 ”OR” 的結合顯示,如下 圖 7-67。
RAiO
Layer 2
Layer 1
+
RA8872
=
RAiO
RA8872
圖 7-67 : 圖層的布林運算 - OR
RAiO TECHNOLOGY INC.
125/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-8-6
布林運算 AND
設定暫存器 REG[52h],圖層一與圖層二可以進行 ”AND” 的結合顯示,如下 圖 7-68。
RAiO
Layer 2
Layer 1
+
RA8872
= RAiO
8872
圖 7-68 : 圖層的布林運算 - AND
7-8-7
圖層的捲動模式
RA8872 提供三種捲動模式給使用者應用,透過設定暫存器 REG[52h],使用者可只捲動圖層一或
只捲動圖層二,或同時捲動圖層一及圖層二,如下 圖 7-69。
圖 7-69 : 圖層一及圖層二的捲動效果
RAiO TECHNOLOGY INC.
126/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-9
觸控面板功能
RA8872 內建一組 10 位元ADC和控制電路,以連接四線電阻式的觸控面板。其工作原理及應用電路請
參考第 6-4 節。而整個觸控面板控制器(Touch Panel Controller)可分為自動模式與手動模式,每種模
式又分成硬體中斷模式與軟體輪詢模式,下面將分別介紹動作流程。
7-9-1
自動模式
自動模式是觸控面板功能的應用當中最簡單的。只要開啟觸控功能(REG[70h] Bit7 = 1),選擇自
動模式(REG[71h] Bit6 = 0)與開啟觸控中斷功能(REG[8Fh] Bit6 = 1),當硬體中斷發生或暫
存 器 REG[8Fh] Bit2 = 1 , 代 表 RA8872 已 經 將 使 用 者 “Touch” 到 觸 控 面 板 的 座 標 存 在
REG[72h~74h]了,請參考下列之流程圖。
表 7-12 : 觸控功能的模式
操作模式
觸控偵測方式
自動模式
(Auto)
外部中斷
當觸控事件發生時,直接讀回對應的 XY 座標值。
輪詢模式
持續輪詢觸控事件,然後直接讀回對應的 XY 座標值。
外部中斷
手動模式
(Manual)
輪詢模式
說
當觸控事件發生時,切換觸控螢幕的相位,然後再讀回對
應的 XY 座標值。
持續輪詢觸控事件,之後切換觸控螢幕的相位,再讀回對
應的 XY 座標值。
ISR
START
Enable Touch Panel
(Reg[70h] B7 = 1)
明
Check INT State
0
(REG [8Fh] B2 = ?)
1
Set Auto Mode
Read X,Y-axis
(Reg[71h] B6 = 0)
Read Reg [72h]
Read Reg [73h]
Enable TP INT
(Reg[8Fh] B6 = 1)
Other
Functions
Cause the
Interrupt
Read Reg [74h]
Execute Function
..
..
.
Clear TP INT Status
Other Function
(write REG[8Fh] B2 = 1)
圖 7-70 : 觸控面板自動模式的外部中斷流程
RAiO TECHNOLOGY INC.
127/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
START
Clear TP INT Status
(write REG[8Fh] B2 = 1)
Enable Touch Panel
(Reg[70h] B7 = 1)
Check INT State
(REG [8Fh] B2 = ?)
1
Set Auto Mode
(Reg[71h] B6 = 0)
Read X,Y-axis
Read Reg [72h]
Enable TP INT
(Reg[8Fh] B6 = 1)
0
Read Reg [73h]
Other
Functions
Cause the
Interrupt
Read Reg [74h]
Clear TP INT Status
..
..
.
(write REG[8Fh] B2 = 1)
Execute Function
圖 7-71 : 觸控面板自動模式流程圖
表 7-13 : 自動模式相關的暫存器
說
明
暫存器編號
Reg.
Bit_Num
TPCR0
Bit7
觸控面板功能的致能位元設為 1。
REG[70h]
TPCR1
Bit6
此位元設為 0 選擇「自動模式」。
REG[71h]
INTC
Bit6
觸控面板硬體中斷的致能位元設為 1。
REG[8Fh]
INTC
Bit2
觸控面板硬體中斷指示位元。
REG[8Fh]
TPXH
Bit[7:0]
觸控面板 X 軸資料高位元組。
REG[72h]
TPYH
Bit[7:0]
觸控面板 Y 軸資料高位元組。
REG[73h]
Bit[3:2]
觸控面板 Y 軸資料低二位元。
Bit[1:0]
觸控面板 X 軸資料低二位元。
TPXYL
RAiO TECHNOLOGY INC.
128/162
REG[74h]
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-9-2
手動模式
所謂「手動模式」是指從「偵測觸控事件」到「閂鎖 X 軸 Data 與 Y 軸 Data」以及「讀出 XY 座標
值」的整個過程,都是由程式設計師以手動操作方式來完成。使用此一模式的優點在於,它給予程
式設計師更彈性的應用空間。換句話說,在手動模式下,所有觸控面板功能相關的暫存器都必須由
程式設計師來設定,以軟體(程式)控制的方法來實現觸控面板應有之功能。
另外,根據不同的設計,使用者可以「外部中斷告知模式」或「持續輪詢模式」來偵測觸控事件,
其中之差異將陸續加以說明。
7-9-2-1
外部中斷模式
在此一模式下,觸控事件的偵測幾乎和「自動模式」相同。其操作步驟如下所示:
1.
致能觸控螢幕功能(REG[70h] Bit7 = 1)。
2.
切換觸控螢幕的操作模式為「手動模式」(REG[71h] Bit6 = 1)。
3.
切換觸控螢幕的相位為「等待觸控事件發生」(REG[71h] Bit[1:0 ]= 01)。
4.
致能觸控中斷功能(REG[8Fh] Bit6 = 1)。
5.
當外部中斷發生時,檢查是否為觸控事件所產生的中斷。
6.
若是觸控事件,則切換觸控螢幕的相位為「閂鎖 X 軸 Data」(亦即設定暫存器
TPCR1[1:0] 為 10b),並等待足夠長的時間,使 X 軸 Data 能穩定地儲存在暫存
器 TPXH 和 TPXYL。
7.
切換觸控螢幕的相位為「閂鎖 Y 軸 Data」
(亦即設定暫存器 TPCR1[1:0] 為 11b),
並等待足夠長的時間,使 Y 軸 Data 能穩定地儲存在暫存器 TPYH 和 TPXYL。
8.
切換觸控螢幕的相位為「閒置模式」
,讓觸控面板控制單元進入閒置模式(REG[71h]
Bit[1:0 ]= 00)。
9.
從 TPXH、TPYH 和 TPXYL 讀回 XY 座標值,並清除中斷的狀態值。
10. 切換觸控螢幕的相位為「偵測觸摸事件模式」(REG[71h] Bit[1:0 ]= 01)。
11. 回到步驟 6。
RAiO TECHNOLOGY INC.
129/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
Start
ISR
Enable Touch Panel
Check INT Status
(Reg[8Fh] B2 = ? )
(Reg[70h] B7 = 1)
0
1
Set Manual Mode
(Reg[71h] B6 = 1)
Wait for TP event Mode
(Reg[71h] [1:0] = 01)
Enable TP INT
(Reg[8Fh] B6 = 1)
Ext INT Event
Latch X Data
(Reg [71h] [1:0] = 10)
TP IDLE Mode
(Reg[71h] [1:0] = 00)
Delay Time for Data
Stability
Read X,Y – axis
(Reg[72h], Reg[73h], Reg[74h])
Latch Y Data
(Reg [71h] [1:0] = 11)
Execute Function
其它功能
引起之中段斷
..
..
.
Clear TP INT Status
(Reg[8Fh] B2 = 1)
Delay Time for Data
Stability
Wait for TP event Mode
(Reg[71h] [1:0] = 01)
Other Functions
圖 7-72 : 觸控面板手動模式的外部中斷流程
有關「外部中斷模式」之暫存器列表說明如下 表 7-14:
表 7-14 : 外部中斷模式相關的暫存器
說
明
Reg.
Bit_Num
TPCR0
Bit7
觸控面板功能的致能位元設為 1。
Bit6
此位元設為 1 用來選擇「手動模式」。
TPCR1
INTC
Bit[1:0]
暫存器編號
REG[70h]
REG[71h]
觸控面板手動模式之選擇位元。
Bit6
觸控面板硬體中斷的致能位元設為 1。
Bit2
觸控事件之狀態指示位元。
REG[8Fh]
TPXH
Bit[7:0]
觸控面板 X 軸資料高位元組 Bit[9:2]。
REG[72h]
TPYH
Bit[7:0]
觸控面板 Y 軸資料高位元組 Bit[9:2]。
REG[73h]
Bit[3:2]
觸控面板 Y 軸資料低二位元 Bit[1:0]。
Bit[1:0]
觸控面板 X 軸資料低二位元 Bit[1:0]。
TPXYL
RAiO TECHNOLOGY INC.
130/162
REG[74h]
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-9-2-2
輪詢模式(Polling Mode)
在輪詢模式(Polling Mode)模式下,使用者需要去決定觸控事件之後「消除機械彈跳」
(de-bounce)的時間,以及栓鎖(Latch)之後的取樣時間,使用者運用此一模式在實際的應
用上將有更多的彈性。此一模式之操作步驟如下:
1. 致能觸控螢幕功能(REG[70h] Bit7 = 1)
。
2. 切換觸控螢幕的操作模式為「手動模式」
(REG[71h] Bit6 = 1)。
3. 切換觸控螢幕的相位為「等待觸控事件發生」。
4. 從狀態暫存器讀取觸控事件狀態值(REG[8Fh] Bit2)
,檢查是否已發生觸控事件。
5. 當觸控事件發生時,且確認其為「有效」的事件後,即切換觸控螢幕的相位為「栓鎖
X 軸 Data」(亦即設定暫存器 TPCR1[1:0]為 10b),並等待足夠長的時間,使 X
軸 Data 能穩定地儲存在暫存器 TPXH 和 TPXYL。
6. 切換觸控螢幕的相位為「栓鎖 Y 軸 Data」(亦即設定暫存器 TPCR1[1:0] 為 11b),
並等待足夠長的時間,使 Y 軸 Data 能穩定地儲存在暫存器 TPYH 和 TPXYL。
7. 從 TPXH、TPYH 和 TPXYL 讀回 XY 座標值,並清除中斷的狀態值。
Start
Enable Touch Panel
Latch X Data
(REG[70h] B7 = 1)
(REG[71h][1:0] = 10)
Set Auto Mode
Delay Enoug h Time
(REG[71h] B6 = 1)
Latch Y Data
(REG[71h][1:0] = 11)
Wait for TP event Mo de
(REG[71h][1:0] = 01)
Delay Enough Time
Read X,Y - axis
Check TP Event
( Reg [8Fh] B2 = ?)
(Read Reg[72h],
Reg[73h] , Reg[74h])
Check TP Event
valid
E xecute Functi on
invalid
Clear TP INT Status
100 times ?
(Reg[8Fh] B2 = 1)
Other Function
圖 7-73 : 觸控面板輪詢模式的流程
RAiO TECHNOLOGY INC.
131/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
關於此一模式的暫存器設定,表列說明如下 表 7-15:
表 7-15 : 輪詢模式相關的暫存器
說
明
Reg.
Bit_Num
TPCR0
Bit7
觸控螢幕功能的致能位元。
Bit6
用來選擇「手動模式」或「自動模式」。
TPCR1
INTC
Bit[1:0]
觸控面板手動模式之選擇位元。
Bit6
觸控面板中斷設定位元。
Bit2
觸控事件之狀態位元。
暫存器編號
REG[70h]
REG[71h]
REG[8Fh]
TPXH
Bit[7:0]
觸控面板 X 軸資料高位元組 Bit[9:2]。
REG[72h]
TPYH
Bit[7:0]
觸控面板 Y 軸資料高位元組 Bit[9:2]。
REG[73h]
Bit[3:2]
觸控面板 Y 軸資料低二位元 Bit[1:0]。
Bit[1:0]
觸控面板 X 軸資料低二位元 Bit[1:0]。
TPXYL
REG[74h]
為了偵測觸控事件之發生,程式設計師可以去檢查狀態暫存器 STSR 的 Bit5 或暫存器 INTC 的
Bit2,其中之差異說明如下:
1. 狀態暫存器 STSR 的 Bit5「即時反應」了目前的觸控狀態。當觸控事件發生時,此位元
是 1;反之,當無觸控事件發生時,此位元自動變為 0,而且此位元是唯讀(Read Only)
的,通常使用於「輪詢模式」。
2. 暫存器 INTC 的 Bit2 則是記錄了觸控的狀態。當觸控事件發生時,此位元被設為 1,但
當無觸控事件發生時,它卻不會被自動清除為 0,必須由程式設計師來將它清除。此位
元通常使用於「外部中斷模式」。
要注意的是,狀態暫存器 STSR 的 Bit5 是 ADC 電路的直接輸出,一旦有螢幕被碰觸,此位元
的狀態將即時被設為 1。當此一碰觸狀態未達穩定時,需要「消除機械彈跳」(de-bounced)
來確保此一碰觸為「有效的觸控事件」。因此,此一位元只有在手動模式才是有作用的。當
RA8872 設定為「自動模式」時,觸控事件將自動被偵測,並由系統來檢查是否為有效事件,
只有是有效的觸控事件,中斷才會產生。
RAiO TECHNOLOGY INC.
132/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-9-3
觸控掃描與取樣時間
在使用觸控螢幕功能的自動模式時,為了避免觸控螢幕被接觸的瞬間訊號還不穩定,故需要延遲一
段取樣時間來等待訊號變穩定,而此處的觸控掃瞄取樣時間與觸控掃瞄頻率(ADC Clock)轉換速
度有相對的關係,我們建議當您在設定觸控掃瞄頻率轉換速度時,也請選擇適當的觸控掃瞄取樣時
間,以避免觸控掃瞄取樣失敗的情況。下 表 7-16 為觸控掃瞄頻率轉換速度(REG[70h] 的Bit[2:0])
與觸控掃瞄取樣時間(REG[70h] 的Bit[6:4])的參考對照表。
表 7-16 : 取樣時間與轉換速度的對照表
觸 控 面 板 控 制 器 取 樣 時 間 - R EG[7 0h] B it [6:4 ]
SYS_CLK
REG[70h][2:0]
000
001
010
011
100
101
110
111
10M
20M
30M
40M
50M
000
000
000
001
010
011
100
101
--000
001
010
011
100
101
--000
000
001
010
011
100
---000
001
010
011
100
---000
001
010
011
100
註 : ADC 的輸入時脈設定不能超過 10MHz。
RAiO TECHNOLOGY INC.
133/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-10 脈 寬 調 變
RA8872 提供二個可調節的脈寬調變(PWM)輸出,其PWM的頻率和工作週期(Duty Cycle)都可以
通過相關暫存器的設置來調整,如果PWM的功能被禁能(Disable),此腳位也可當成一般的IO信號來
使用,相關的功能設定,請參考以下的 表 7-17。
表 7-17 : PWM 設定
暫存器
說 明
Bit_Num
P1CR
P1DCR
P2CR
P2DCR
Bit7
PWM1 功能致能位元。
Bit6
PWM1 關閉時的準位。
Bit[3:0]
PWM1 來源時脈的除頻設定。
Bit[7:0]
PWM1 工作週期(Duty Cycle)選擇。
Bit7
PWM2 功能致能位元。
Bit6
PWM2 關閉時的準位。
Bit[3:0]
PWM2 來源時脈的除頻設定。
Bit[7:0]
PWM2 工作週期(Duty Cycle)選擇。
暫存器編號
REG[8Ah]
REG[8Bh]
REG[8Ch]
REG[8Dh]
二個可調節的脈寬調變輸出都可獨立控制,暫存器REG[8Bh] 與REG[8Dh] 分別調整它們的Duty輸出,
最常用的就是拿來做TFT面板的背光控制,請參考第 6-5 節的 圖 6-16。下圖是兩個關於PWM輸出的例
子:
TPWM
TH
TL
Example-2:
System Clock = 10Mhz,
Register P1CR Bit[3:0] = 0010b Æ Clock Source = 10MHz/4 = 2.5MHz
TPWM = 256*(1/2.5MHz) = 102.4 µs
Register P1DCR Bit[7:0] = 7Fh Æ
TH = 128*(1/2.5MHz) = 51.2µs
TL = (256-128) * (1/ 2.5MHz) = 51.2µs
圖 7-74 : PWM 輸出脈衝範例一
RAiO TECHNOLOGY INC.
134/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
TPWM
TH
TL
Example-1:
System Clock = 10Mhz,
Register P1CR Bit[3:0] = 0001b Æ Clock Source = 10MHz/2 = 5MHz
TPWM = 256*(1/5MHz) = 51.2µs
Register P1DCR Bit[7:0] = 0Fh Æ
TH = 16*(1/5MHz) = 3.2µs
TL = (256-16) * (1/ 5MHz) = 48µs
圖 7-75 : PWM 輸出脈衝範例二
RAiO TECHNOLOGY INC.
135/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
7-11 睡 眠 模 式
RA8872 提供睡眠模式(Sleep Mode),在沒有使用的狀態下,使用者可減少 RA8872 或 LCD 模組的
功耗。在睡眠模式下,除了少許靜態電流外,系統時序、內部記憶體(如 DDRAM)、Font ROM 等都
會關閉,PWM 的輸出準位也會維持原先暫存器的設定。
若要從睡眠模式喚醒(Wake-Up),有 2 種方式,一為利用 MCU 將暫存器 [01h] 的 Bit1 設成 0,另
一種方式是在進入睡眠模式前利用 MCU 將暫存器 [70h] 的 Bit3 設成 1,在進入睡眠模式後可用觸控面
板進行喚醒功能。
喚醒後晶體振盪電路及 PLL 電路會被重新啟動,因此要有一段時間以等待系統時脈(System Clock)
穩定,RA8872 才能接受 MCU 下的新指令,此時間約 10ms 左右。
表 7-18 : 睡眠與喚醒模式
進入睡眠模式
從睡眠模式喚醒
設定 REG[01h] Bit1 = 1
設定 REG[01h] Bit1 = 0。
設定 REG[70h] Bit3 = 0,開啟觸控面板喚醒功能。
RA8872 在睡眠模式時,相關輸出信號的狀態如 表 7-19 所示。
表 7-19 : 睡眠模式時相關輸出信號的狀態
信號名稱
輸出狀態
WAIT#
High
INT#
High
PWM1, PWM2
Low
GPIO[5:0]
Low
PDAT[15:0]
Low
VSYNC, HSYNC
High
PCLK, DE
High
RAiO TECHNOLOGY INC.
136/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
8. AC / DC 特 性
8-1
最大範圍限制
表 8-1 : 最大範圍
參 數 描 述
符號
規格範圍
單位
Supply Voltage Range
VDD
3.0V~3.6V
V
Input Voltage Range
VIN
-0.3 to VDD+0.3
V
Power Dissipation
PD
≦80
mW
Operation Temperature Range
TOPR
-30 to +85
℃
Storage Temperature
TST
-45 to +125
℃
TSOLDER
260
℃
Soldering Temperature(10 seconds,註 1)
註 :
1. 假如該封裝被焊料侵入,平薄式封裝的濕度抵抗性是會被減少的。當進行焊接作業時,勿
過度施壓於封裝上。
2. 須適度考量 RA8872 的電源端及其電源接線。
3. 全部的電源準位皆以 Ground = 0V 為基準。
RAiO TECHNOLOGY INC.
137/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
8-2
DC 電 氣 特 性
表 8-2 : DC 電氣特性
參 數 描 述
符 號
最小值
一般值
最大值
單 位
Operating Voltage
VDD
ADC_VDD
LDO_VDD
3.0
3.3
3.6
V
LDO Output Voltage
LDO_OUT
1.6
1.8
2.0
V
Add External 1uF
Capacitor
ADC Reference Voltage
ADC_VREF
--
0.5VDD
(±5%)
--
V
Add External 1uF
Capacitor
FIN
--
15
30
MHz
VDD = 3.3 V
SYS_CLK
1
25~30
66
MHz
VDD = 3.3 V
Input High Voltage
VIH
0.8VDD
--
VDD
V
Input Low Voltage
VIL
GND
--
0.2VDD
V
Output High Voltage
VOH
VDD-0.4
--
VDD
V
Output Low Voltage
VOL
GND
--
GND +0.4
V
Input High Voltage
VIH
0.7VDD
--
VDD
V
Input Low Voltage
VIL
GND
--
0.3VDD
V
IIH
--
--
+2
μA
(註 2)
IIL
--
--
-2
μA
(註 2)
Operation Current
IOPR
--
25
50
mA
(註 2)
Sleep Mode
ISLP
--
1.25
--
mA
(註 2、3)
Oscillator Clock
PLL Clock
工 作 條 件
Input
Output
Schmitt-trigger Input(註 1)
Input Leakage
Current 1
Input Leakage
Current 2
註 :
1. 腳位 RD#、WR#、CS#、RS 與 RST# 為 Schmitt-trigger 輸入。
2. 測試條件如下 : VDDP = VDD = 3.3V, Oscillator Clock = 25MHz, System Clock =
25MHz, Source = 320, Gate = 240, FRM = 60Hz, TA=25℃.
3. 不包括 LDO 的工作電流。
RAiO TECHNOLOGY INC.
138/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
9. 產 品 封 裝
封裝腳位圖
NC
VR2
NC
NC
GPIO5
GPIO4
GPIO3
NC
NC
GPIO2
GPIO1
GPIO0
NC
NC
VDD
NC
GND
NC
CORE_VDD
NC
NC
NC
NC
NC
GND
9-1
VR1
VDD
LDO_GND
LDO_VDD
LDO_OUT
HSYNC
VSYNC
PCLK
DE
PDAT0
PDAT1
PDAT2
PDAT3
PDAT4
PDAT5
PDAT6
PDAT7
PDAT8
PDAT9
PDAT10
PDAT11
PDAT12
PDAT13
PDAT14
PDAT15
70
75
65
60
55
50
80
RAiO
85
TM
45
40
RA8872L3N
90
35
1012
95
30
Date code (Year 2010, 12th week)
100
5
10
15
20
25
GND
ADC_VDD
ADC_GND
ADC_VREF
XN
YP
YN
XP
RD#
WR#
CS#
RS
C86
DB0
DB1
GND
CORE_VDD
VDD
DB2
DB3
DB4
DB5
DB6
DB7
LDO_GND
○
GND
NC
NC
NC
NC
NC
NC
NC
TEST2
TEST1
TEST0
NC
RST#
INT#
WAIT#
GND
PWM2
PWM1
VDD
GND
LDO_CAP
XO
XI
LDO_VDD
NC
圖 9-1 : RA8872 的接腳圖
RAiO TECHNOLOGY INC.
139/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
9-2
封裝尺寸
圖 9-2 : RA8872 的外觀尺寸
9-3
產品編號
RA8872 產品完整編號為 “RA8872L3N”。其符合環保 RoHS 規範,並通過歐盟要求的 PFOS、PFOA
及 REACH 的檢測,符合的有害物質限用管理指令如下:
‹ 歐盟有害物質限用指令 RoHS(2002/95/EC)
‹ 歐盟限制全氟辛烷磺酸的銷售與使用指令 PFOS & PFOA(2006/122/EC)
‹ 歐盟化學品政策 REACH(EC 1907/2006)
RAiO TECHNOLOGY INC.
140/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
10. 應 用 電 路
圖 10-2 為完整的RA8872 應用電路,其提供了可連接 8-bit的MCU介面;2 種現有的TFT Module介面;還
有以PWM來控制LED背光的電路,圖 10-1 為應用電路的方塊圖。
USB1
U1
U2
LCD1
RA8872
TFT LCD
Module
Connector
USB I/F
8-Bit
MCU
SD1
SD I/F
TP1
CON1
Mini SD
CON3
4-wires
TP I/F
8-Bit
MCU I/F
CON2
LCD I/F
ISP I/F
Header 20x2
Header 12x2
Header 5x2
U3
DC Input
To RA8872
To MCU
To LCD Module
3.3V
Regulator
U4
Booster
LED Back-Light
(For LCD Module)
圖 10-1 : 應用電路的方塊圖
RAiO TECHNOLOGY INC.
141/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
圖 10-2 : 應用電路
RAiO TECHNOLOGY INC.
142/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
11. 程 式 範 例
為滿足開發上的需求,本公司提供以C語言為主的範例程式與相關的副程式(Sub-Routine)
,縮短使用者
開發時間,相關資料可至本公司網址(www.raio.com.tw)查詢,或與本公司各區代理商聯繫。而以下為一
簡單的演示程式,使用 320*240 pixel的TFT面板,及 8051 MCU的I/O來控制RA8872,秀出一矩形框、一
實心圓及一英文字串,如 圖 11-1。
//#include <stdio.h>
#include <intrins.h>
#include "REG_MPC82G516.H"
//#include "AT89X52.H"
//===== MCU Interface =====
#define Parallel_8080
//set RA8872 pin C86 to GND
//#define Parallel_6800
//set RA8872 pin C86 to VCC
//===== LCD Panel Size =====
#define P320x240
//----------------------------------------------//User Parameter Defines
//----------------------------------------------typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned long ulong;
#define
#define
#define
#define
#define
#define
#define
#define
cSetD0
cSetD1
cSetD2
cSetD3
cSetD4
cSetD5
cSetD6
cSetD7
0x01
0x02
0x04
0x08
0x10
0x20
0x40
0x80
#define
#define
#define
#define
#define
#define
#define
#define
cClrD0
cClrD1
cClrD2
cClrD3
cClrD4
cClrD5
cClrD6
cClrD7
0xfe
0xfd
0xfb
0xf7
0xef
0xdf
0xbf
0x7f
#define cClrD1D0
#define cClrD1SetD0
#define cSetD1ClrD0
#define cSetD1D0
#define cClrD3D2
#define cClrD3SetD2
#define cSetD3ClrD2
#define cSetD3D2
RAiO TECHNOLOGY INC.
0xfc
0x01
0x02
0x03
0xf3
0x04
0x08
0x0c
143/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
#define cClrD2D1D0
#define cClrD2D1SetD0
#define cClrD2SetD1ClrD0
#define cClrD2SetD1D0
#define cSetD2ClrD1D0
#define cSetD2ClrD1SetD0
0xf8
0x01
0x02
0x03
0x04
0x05
#define cClrD6D5D4
#define cClrD6D5SetD4
#define cClrD6SetD5ClrD4
#define cClrD6SetD5D4
#define cSetD6ClrD5D4
#define cSetD6ClrD5SetD4
#define cSetD6D5ClrD4
#define cSetD6D5D4
0x8f
0x10
0x20
0x30
0x40
0x50
0x60
0x70
//===== MCU Interface =====
#ifdef Parallel_8080
#define DATA_BUS
P0 //external pullups 1k~10k
#define RS
P2_0
#define CS
P3_4
#define WR
P3_6
#define RD
P3_7
#define RST
P3_3
#endif
//---------------------------------------------------------//
#ifdef Parallel_6800
#define DATA_BUS P0
//external pullups 1k~10k
#define RS
P2_0//A0
#define CS
P3_4
#define WR
P3_6
#define RD
P3_7// EN
#define RST
P3_3
#endif
RAiO TECHNOLOGY INC.
144/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
void Delay2us(uchar Counter)
{ while(--Counter);
}
void Delay100us(uchar Counter)
{ while(Counter--)
{
Delay2us(100);
}
}
void Delay1ms(uchar Counter)
{ while(Counter--)
{
Delay100us(11);
}
}
void Delay10ms(uchar Counter)
{ while(Counter--)
{
Delay1ms(11);
}
}
void Delay100ms(uchar Counter)
{ while(Counter--)
{
Delay1ms(101);
}
}
//----------------------//
void LCD_CmdWrite(uchar cmd)
{
#ifdef Parallel_8080
CS = 0;
RS = 1;
DATA_BUS = cmd;
WR = 0;
WR = 1;
CS = 1;
#endif
#ifdef Parallel_6800
CS = 0;
RS = 1;
WR = 0;
//WRITE
DATA_BUS = cmd;
RD = 1;
//EN
RD = 0;
CS = 1;
#endif
}
RAiO TECHNOLOGY INC.
145/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//----------------------//
void LCD_DataWrite(uchar Data)
{
#ifdef Parallel_8080
CS = 0;
RS = 0;
DATA_BUS = Data;
WR = 0;
WR = 1;
CS = 1;
#endif
#ifdef Parallel_6800
CS = 0;
RS = 0;
WR = 0;
//WRITE
DATA_BUS = Data;
RD = 1;
//EN
RD = 0;
CS = 1;
#endif
}
//----------------------//
uchar LCD_CmdRead(void)
{
uchar Data;
DATA_BUS = 0xff;
#ifdef Parallel_8080
CS = 0;
RS = 1;
RD = 0;
_nop_();
Data = DATA_BUS;
RD = 1;
CS = 1;
#endif
#ifdef Parallel_6800
CS = 0;
RS = 1;
WR = 1;
//READ
RD = 1;
//EN
_nop_();
Data = DATA_BUS;
RD = 0;
CS = 1;
#endif
//DATA_BUS = 0x00;
return Data;
}
RAiO TECHNOLOGY INC.
146/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//----------------------//
uchar LCD_DataRead(void)
{
uchar Data;
DATA_BUS = 0xff;
#ifdef Parallel_8080
CS = 0;
RS = 0;
RD = 0;
_nop_();
Data = DATA_BUS;
RD = 1;
CS = 1;
#endif
#ifdef Parallel_6800
CS = 0;
RS = 0;
WR = 1;
//READ
RD = 1;
//EN
_nop_();
Data = DATA_BUS;
RD = 0;
CS = 1;
//DATA_BUS = 0x00;
#endif
return Data;
}
RAiO TECHNOLOGY INC.
147/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//-----------------------//
uchar LCD_StatusRead(void)
{
uchar Data;
DATA_BUS = 0xff;
#ifdef
Parallel_8080
CS = 0;
RS = 1;
RD = 0;
_nop_();
Data = DATA_BUS;
RD = 1;
CS = 1;
#endif
#ifdef Parallel_6800
CS = 0;
RS = 1;
WR = 1;
//READ
RD = 1;
//EN
_nop_();
Data = DATA_BUS;
RD = 0;
CS = 1;
#endif
//DATA_BUS = 0x00;
return Data;
}
void Chk_Busy(void)
{
do
{
}while((LCD_StatusRead()&0x80)==0x80);
}
RAiO TECHNOLOGY INC.
148/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//-----------------------//
void LCD_Reset(void)
{ RST = 0;
Delay100ms(1);
RST = 1;
Delay100ms(1);
}
//PLL setting for system clock
void RA8870_PLL_ini(void)
{ //Base on crystal = 20MHZ
//system clk = 20*(a+1)/2^2 =55MHZ
LCD_CmdWrite(0x88);
LCD_DataWrite(0x0a);
LCD_CmdWrite(0x89);
LCD_DataWrite(0x02); //
Delay1ms(1);
LCD_CmdWrite(0x01);
LCD_DataWrite(0x01);
LCD_DataWrite(0x00);
Delay100ms(1);
}
RAiO TECHNOLOGY INC.
149/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//------------------------------------------//
void LCD_Initial(void)
{
RA8870_PLL_ini();
LCD_CmdWrite(0x10);
//LCD_DataWrite(0x3C);
//SYSR bit[4:3]=00 256 color bit[2:1]= 00 8bit MPU interface
//
01 4k color
01 12bit
//
1x 64k color
1x 16bit
//external memory
LCD_DataWrite(0x0C); //if set internal memory
//Horizontal set
LCD_CmdWrite(0x14); //HDWR//Horizontal Display Width Setting Bit[6:0]
LCD_DataWrite(0x27); //Horizontal display width(pixels) = (HDWR + 1)*8
LCD_CmdWrite(0x15); //HNDFCR//Horizontal Non-Display Period fine tune Bit[3:0]
LCD_DataWrite(0x02); //(HNDR + 1)*8 +HNDFCR
LCD_CmdWrite(0x16); //HNDR//Horizontal Non-Display Period Bit[4:0]
LCD_DataWrite(0x03); //Horizontal Non-Display Period (pixels) = (HNDR + 1)*8
LCD_CmdWrite(0x17); //HSTR//HSYNC Start Position[4:0]
LCD_DataWrite(0x01); //HSYNC Start Position(PCLK) = (HSTR + 1)*8
LCD_CmdWrite(0x18); //HPWR//HSYNC Polarity ,The period width of HSYNC.
LCD_DataWrite(0x03); //HSYNC Width [4:0] HSYNC Pulse width(PCLK) = (HPWR + 1)*8
//Vertical set
LCD_CmdWrite(0x19); //VDHR0 //Vertical Display Height Bit [7:0]
LCD_DataWrite(0xef); //Vertical pixels = VDHR + 1
LCD_CmdWrite(0x1a); //VDHR1 //Vertical Display Height Bit [8]
LCD_DataWrite(0x00); //Vertical pixels = VDHR + 1
LCD_CmdWrite(0x1b); //VNDR0 //Vertical Non-Display Period Bit [7:0]
LCD_DataWrite(0x0F); //Vertical Non-Display area = (VNDR + 1)
LCD_CmdWrite(0x1c); //VNDR1 //Vertical Non-Display Period Bit [8]
LCD_DataWrite(0x00); //Vertical Non-Display area = (VNDR + 1)
LCD_CmdWrite(0x1d); //VSTR0 //VSYNC Start Position[7:0]
LCD_DataWrite(0x0e); //VSYNC Start Position(PCLK) = (VSTR + 1)
LCD_CmdWrite(0x1e); //VSTR1 //VSYNC Start Position[8]
LCD_DataWrite(0x06); //VSYNC Start Position(PCLK) = (VSTR + 1)
LCD_CmdWrite(0x1f); //VPWR //VSYNC Polarity ,VSYNC Pulse Width[6:0]
LCD_DataWrite(0x01); //VSYNC Pulse Width(PCLK) = (VPWR + 1)
LCD_CmdWrite(0x04); //setting PCLK = 55MHZ /4/2 = 6.875MHZ
LCD_DataWrite(0x01);
//LCD_CmdWrite(0x28); //if use external font ROM (Speed setting)
//LCD_DataWrite(0x02);
}
RAiO TECHNOLOGY INC.
150/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
void Active_Window(uint XL,uint XR ,uint YT ,uint YB)
{
//setting active window X
LCD_CmdWrite(0x30);//HSAW0
LCD_DataWrite(XL);
LCD_CmdWrite(0x31);//HSAW1
LCD_DataWrite(XL>>8);
LCD_CmdWrite(0x34);//HEAW0
LCD_DataWrite(XR);
LCD_CmdWrite(0x35);//HEAW1
LCD_DataWrite(XR>>8);
//setting active window Y
LCD_CmdWrite(0x32);//VSAW0
LCD_DataWrite(YT);
LCD_CmdWrite(0x33);//VSAW1
LCD_DataWrite(YT>>8);
LCD_CmdWrite(0x36);//VEAW0
LCD_DataWrite(YB);
LCD_CmdWrite(0x37);//VEAW1
LCD_DataWrite(YB>>8);
}
//--------------------------//
void XY_Coordinate(uint X,uint Y)
{
LCD_CmdWrite(0x46);
LCD_DataWrite(X);
LCD_CmdWrite(0x47);
LCD_DataWrite(X>>8);
LCD_CmdWrite(0x48);
LCD_DataWrite(Y);
LCD_CmdWrite(0x49);
LCD_DataWrite(Y>>8);
}
void Memory_Clear(void)
{
uchar temp;
LCD_CmdWrite(0x8e);//MCLR
temp = LCD_DataRead();
temp |= cSetD7 ;
LCD_DataWrite(temp);
}
void Text_Foreground_Color(uchar color)
{
LCD_CmdWrite(0x42);//TFCR
LCD_DataWrite(color);
}
void Text_Background_Color(uchar color)
{
LCD_CmdWrite(0x43);//TBCR
LCD_DataWrite(color);
}
RAiO TECHNOLOGY INC.
151/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//=========================================================
//REG[8Ah] PWM1 Control Register (P1CR)
//=========================================================
void PWM1_enable(void)
{
uchar temp;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp |= cSetD7 ;
LCD_DataWrite(temp);
}
void PWM1_disable(void)
{
uchar temp;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp &= cClrD7 ;
LCD_DataWrite(temp);
}
void PWM1_disable_level_low(void)
{
uchar temp;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp &= cClrD6 ;
LCD_DataWrite(temp);
}
void PWM1_disable_level_high(void)
{
uchar temp;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp &= cSetD6 ;
LCD_DataWrite(temp);
}
void PWM1_fnuction_sel(void)
{
uchar temp;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp &= cClrD4 ;
LCD_DataWrite(temp);
}
void PWM1_clock_ratio(uchar setx) //bit0~3
{
uchar temp,temp1;
temp1= setx&0x0f;
LCD_CmdWrite(0x8a);//MCLR
temp = LCD_DataRead();
temp &= 0xf0;
temp |= temp1 ;
LCD_DataWrite(temp);
}
RAiO TECHNOLOGY INC.
152/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
//=========================================================
//REG[8Bh] PWM1 Duty Cycle Register (P1DCR)
//=========================================================
void PWM1_duty_cycle(uchar setx) //bit0~7
{
LCD_CmdWrite(0x8b);//PTNO
LCD_DataWrite(setx);
}
void Memory_Clear_with_Font_BgColor(void)
{
uchar temp;
LCD_CmdWrite(0x8e);//MCLR
temp = LCD_DataRead();
temp |= cSetD0 ;
LCD_DataWrite(temp);
}
void Geometric_Coordinate(uint XL,uint XR ,uint YT ,uint YB)//
{
LCD_CmdWrite(0x91);
LCD_DataWrite(XL);
LCD_CmdWrite(0x92);
LCD_DataWrite(XL>>8);
LCD_CmdWrite(0x95);
LCD_DataWrite(XR);
LCD_CmdWrite(0x96);
LCD_DataWrite(XR>>8);
LCD_CmdWrite(0x93);
LCD_DataWrite(YT);
LCD_CmdWrite(0x94);
LCD_DataWrite(YT>>8);
LCD_CmdWrite(0x97);
LCD_DataWrite(YB);
LCD_CmdWrite(0x98);
LCD_DataWrite(YB>>8);
}
void Circle_Coordinate_Radius(uint X,uint Y,uint R)
{
LCD_CmdWrite(0x99);
LCD_DataWrite(X);
LCD_CmdWrite(0x9a);
LCD_DataWrite(X>>8);
LCD_CmdWrite(0x9b);
LCD_DataWrite(Y);
LCD_CmdWrite(0x9c);
LCD_DataWrite(Y>>8);
LCD_CmdWrite(0x9d);
LCD_DataWrite(R);
}
RAiO TECHNOLOGY INC.
153/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
void Text_Mode(void)
{
uchar temp;
LCD_CmdWrite(0x40);//MWCR0
temp = LCD_DataRead();
temp |= cSetD7 ;
LCD_DataWrite(temp);
}
void Show_String(uchar *str,uint n)
{
LCD_CmdWrite(0x02);
while(*str != '\0')
{
LCD_DataWrite(*str);
++str;
Chk_Busy();
}
Delay1ms(n);
}
//================== main process start ==================//
void main(void)
{
P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
#ifdef Parallel_8080
P3 = 0xff;
#endif
#ifdef Parallel_6800
P3 = 0x77;
#endif
LCD_Reset();
LCD_Initial();
Active_Window(0,319,0,239);
Memory_Clear_with_Font_BgColor();
Text_Background_Color(0xfc);
Memory_Clear();
Chk_Busy();
//******************
LCD_CmdWrite(0x01);
LCD_DataWrite(0x80);
//******************
//display on
//----PWM initial for Backlight add by mountain
PWM1_enable();
PWM1_fnuction_sel();
PWM1_clock_ratio(0x08); //bit0~3
for 3.5"TFT RA8872 DEMO BOARD VER:1.1
//PWM1_duty_cycle(0x80);//半亮
PWM1_duty_cycle(0xff); // 全亮 ( backlight ON)
RAiO TECHNOLOGY INC.
154/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
while(1)
{
Text_Foreground_Color(0xe0);// set draw color red
Geometric_Coordinate(0,319,0,239); //
LCD_CmdWrite(0x90);
LCD_DataWrite(0x90); //enable draw square
Chk_Busy();
Text_Foreground_Color(0x1c); // set draw color green
Circle_Coordinate_Radius(160,120,100);
LCD_CmdWrite(0x90);
LCD_DataWrite(0x60); //enable draw circle and fill
Chk_Busy();
Text_Foreground_Color(0x02); // set color blue
Text_Mode();
XY_Coordinate(140,110);
LCD_CmdWrite(0x02);
Show_String("RAiO",0);
while(1);
}
}
RAIO
圖 11-1 : 演示程序秀出的畫面
RAiO TECHNOLOGY INC.
155/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
12. 暫 存 器 總 表 摘 要
系統與組態暫存器
Name
DB7
01h
PWRR
LCD_EN
02h
MRWC
D7
04h
PCLK
CK_INV
10h
SYSR
0
11h
DRGB
NA
12h
IOCR
0
13h
IODR
14h
HDWR
NA
15h
HNDFTR
DE_P
16h
HNDR
NA
HNDR[4:0]
LCD 水平非顯示區域寬度暫存器.
17h
HSTR
NA
HSTR[4:0]
HSYNC 起始位置暫存器.
18h
HPWR
HS_P
VPWR[4:0]
HSYNC PWM 暫存器.
19h
VDHR0
D7
1Ah
VDHR1
1Bh
VNDR0
1Ch
VNDR1
1Dh
VSTR0
1Eh
VSTR1
1Fh
VPWR
RAiO TECHNOLOGY INC.
DB6
DB5
DB4
DB3 DB2
NA
D6
D5
DB1
說 明
REG
SL_EN RST_EN
D4
D3
D2
D1
NA
PAR_S
0
0
CLS_S[1:0]
RGB_OSQ[2:0]
NA
NA
NA
0
系統組態設定暫存器.
RGB_ESQ[2:0]
GPIO 設定暫存器.
IO_DATA[5:0]
GPIO 資料暫存器.
NA
LCD 水平顯示區域寬度暫存器.
D6
D5
D6
D5
LCD 非顯示區域寬度微調設定暫存器.
HNDFTR[4:0]
NA
D5
D4
D3
D2
D1
D0
D8
D4
D3
D2
D1
D0
D8
D4
LCD 面板資料格式(Data Type)設定暫存器.
IO_OE[5:0]
D3
D2
D1
D0
D8
NA
VS_P
0
HDWR[6:0]
D6
記憶體 讀/寫 命令
Pixel Clock 設定暫存器.
NA
D7
D0
電源與顯示控制暫存器.
PPWS[1:0]
NA
D7
DB0
LCD 垂直顯示區域高度暫存器.
LCD 垂直非顯示區域高度暫存器.
VSYNC 起始位置暫存器.
VSYNC PWM 暫存器.
VPWR[6:0]
156/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
LCD 顯 示 控 制 暫 存 器
REG
Name
DB7
20h
DPCR
LAYER
21h
FNCR0
FT_S
22h
FNCR1
23h
CGSR
D7
D6
D5
D4
D3
D2
D1
D0
24h
HOFS0
D7
D6
D5
D4
D3
D2
D1
D0
25h
HOFS1
D9
D8
26h
VOFS0
D1
D0
27h
VOFS1
29h
FLDR
RAiO TECHNOLOGY INC.
DB6
DB5
DB4
NA
0
0
TX_AL TX_TM BOLD
1
TX_RT
DB1
DB2
HDIR
VDIR
ROT[1:0]
0
0
ISO8859[1:0]
文字控制暫存器 0.
TX_V[1:0]
文字控制暫存器 1.
TX_H[1:0]
NA
D7
D6
D5
D4
D3
D2
DB0
D8
NA
NA
說 明
DB3
TX_DIST[4:0]
157/162
顯示組態設定暫存器.
CGRAM 設定暫存器.
水平捲動位移暫存器.
垂直捲動位移暫存器.
文字行距設定暫存器.
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
工作視窗設定暫存器
REG
Name
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
30h
HSAW0
D7
D6
D5
D4
D3
D2
D1
D0
31h
HSAW1
D9
D8
32h
VSAW0
D1
D0
33h
VSAW1
34h
HEAW0
35h
HEAW1
36h
VEAW0
37h
VEAW1
38h
HSSW0
39h
HSSW1
3Ah
VSSW0
3Bh
VSSW1
3Ch
HESW0
3Dh
HESW1
3Eh
VESW0
3Fh
VESW1
RAiO TECHNOLOGY INC.
NA
D7
D6
D5
D4
D3
D2
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
158/162
說 明
工作視窗的水平起始座標.
工作視窗的垂直起始座標.
工作視窗的水平終點座標.
工作視窗的垂直終點座標.
捲動視窗的水平起始座標.
捲動視窗的垂直起始座標.
捲動視窗的水平終點座標.
捲動視窗的垂直終點座標.
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
游標設定暫存器
REG
Name
40h
MWCR0
TX_MD TX_CR CR_BK
41h
MWCR1
GR_CR
42h
TFCR
R2
R1
R0
43h
TBCR
R2
R1
44h
BTCR
D7
D6
45h
CURS
46h
CURH0
47h
CURH1
48h
CURV0
49h
CURV1
4Ah
RCURH0
4Bh
RCURH01
4Ch
RCURV0
4Dh
RCURV1
4Eh
MRCD
RAiO TECHNOLOGY INC.
DB7
DB6
DB5
DB4
DB3
WR_DS[1:0]
NA
WR_L
記憶體寫入控制暫存器 1.
G2
G1
G0
B1
B0
文字前景顏色暫存器.
R0
G2
G1
G0
B1
B0
文字背景顏色暫存器.
D5
D4
D3
D2
D1
D0
閃爍時間控制暫存器.
D5
D6
D5
D4
D3
D2
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
NA
文字游標大小設定暫存器.
TCUR_V[3:0]
NA
D7
說 明
DB0
記憶體寫入控制暫存器 0.
GRCR_S[2:0]
D6
DB1
MWR_D[1:0] WRC+1 RDC+1
NA
TCUR_H[3:0]
D7
DB2
MRD_D[1:0]
159/162
記憶體寫入時游標的水平座標暫存器.
記憶體寫入時游標的垂直座標暫存器.
記憶體讀取時游標的水平座標暫存器.
記憶體讀取時游標的垂直座標暫存器.
記憶體讀取時游標方向設定暫存器.
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
BTE 引 擎 控 制 暫 存 器
Name
50h
BECR0
51h
BECR1
52h
LTPR0
53h
LTPR1
54h
HSBE0
55h
HSBE1
56h
VSBE0
D7
57h
VSBE1
D7
58h
HDBE0
D7
59h
HDBE1
5Ah
VDBE0
D7
5Bh
VDBE1
BTE_L
5Ch
BEWR0
D7
5Dh
BEWR1
5Eh
BEHR0
5Fh
BEHR1
60h
BGCR0
61h
BGCR1
62h
BGCR2
NA
BC_BLUE[4:0]
BTE 背景顏色設定暫存器 – 藍(BLUE).
63h
FGCR0
NA
FC_RED[4:0]
BTE 前景顏色設定暫存器 – 紅(RED).
64h
FGCR1
65h
FGCR2
NA
66h
PTNO
NA
67h
BGTR
RAiO TECHNOLOGY INC.
DB7
DB6
DB5
BTE_EN BM_S
BM_D
DB4
DB3
ROP_CD[3:0]
SC_MD[1:0]
D6
D5
DB1
BTE 功能控制暫存器 0.
OP_CD[3:0]
BTE 功能控制暫存器 1.
D3
D2
D4
D3
D2
D0
D9
D8
D1
D0
D9
D5
D4
D3
D2
NA
D6
D5
D4
D3
D2
D6
D7
D1
D0
D9
D8
D1
D0
D8
NA
D5
D4
D3
D2
NA
D6
D5
D4
D3
D2
NA
NA
D1
D0
D9
D8
D1
D0
D9
D8
BTE 的垂直終點座標.
BTE 寬度設定暫存器.
BTE 高度設定暫存器.
BTE 前景顏色設定暫存器 – 藍(BLUE).
FC_BLUE[4:0]
R0
BTE 的水平終點座標.
BTE 前景顏色設定暫存器 – 綠(GREEN).
FC_GREEN[5:0]
R1
BTE 的垂直起始座標.
BTE 背景顏色設定暫存器 – 綠(GREEN).
BC_GREEN[5:0]
NA
BTE 的水平起始座標.
BTE 背景顏色設定暫存器 – 紅(RED).
BC_RED[4:0]
NA
R2
D1
NA
D6
圖層顯示設定暫存器 1.
TRAN_L1[3:0]
D4
D5
圖層顯示設定暫存器 0.
LY_SEL[2:0]
NA
D6
DB0
NA
NA
TRAN_L2[3:0]
D7
DB2
說 明
REG
D4
D3
D2
D1
D0
BTE 的 Pattern 選擇暫存器.
G2
G1
G0
B1
B0
透通模式的背景顏色設定暫存器.
160/162
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
觸控面板設定暫存器
DB6
DB5
DB4
Name
DB7
70h
TPCR0
TP_EN
71h
TPCR1
1
72h
TPXH
XD9
XD8
XD7
XD6
XD5
XD4
XD3
XD2
觸控螢幕 X 座標暫存器(High Byte).
73h
TPYH
YD9
YD8
YD7
YD6
YD5
YD4
YD3
YD2
觸控螢幕 Y 座標暫存器(High Byte).
74h
TPXYL
ADET
YD1
YD0
XD1
XD0
觸控螢幕 X/Y 座標暫存器(Low Byte).
TP_TM[2:0]
DB3
DB2
NA
NA
DB0
TP_CK[2:0]
觸控螢幕控制暫存器 0.
DB_EN TP_MMD[1:0]
觸控螢幕控制暫存器 1.
TP_WK
TP_MD VREF
DB1
說 明
REG
圖形游標設定暫存器
說 明
REG
Name
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
80h
GCHP0
D7
D6
D5
D4
D3
D2
D1
D0
81h
GCHP1
D9
D8
82h
GCVP0
D1
D0
83h
GCVP1
84h
GCC0
R2
R1
R0
G2
G1
G0
B1
B0
圖形遊標顏色選擇暫存器 0.
85h
GCC1
R2
R1
R0
G2
G1
G0
B1
B0
圖形遊標顏色選擇暫存器 1.
DB6
DB5
DB4
DB3
DB2
DB1
DB0
NA
D7
D6
D5
D4
D3
D2
D8
NA
圖形游標水準位置暫存器.
圖形遊標垂直位置暫存器.
PLL 設 定 暫 存 器
REG
Name
DB7
88h
PLLC0
PL_DV
89h
PLLC1
RAiO TECHNOLOGY INC.
NA
PLLDIVN[4:0]
NA
PLLDIVK[2:0]
161/162
說 明
PLL 控制暫存器 0.
PLL 控制暫存器 1.
www.raio.com.tw
RA8872
文字 / 圖形 TFT LCD 控制器
Version 1.4
脈波寬度調變設定暫存器
REG
Name
DB7
DB6
8Ah
P1CR
8Bh
P1DCR
8Ch
P2CR
8Dh
P2DCR
D7
D6
8Eh
MCLR
D7
D6
8Fh
INTC
NA
D6
D5
D4
NA
D2
DB7
DB6
DB5
DB4
DB3
DB2
P1_EN P1_P
D7
D6
P2_EN P2_P
DB5
DB4
NA
P1_S
D5
D4
NA
P2_S
D5
D4
DB3
DB2
DB1
PWM1 控制暫存器.
PWM1_CK[3:0]
D3
D2
D1
D0
D2
PWM1 Duty 設定暫存器.
PWM2 控制暫存器.
PWM2_CK[3:0]
D3
說 明
DB0
D0
PWM2 控制暫存器.
D0
記憶體清除控制暫存器.
D1
D0
中斷控制暫存器.
DB1
DB0
D1
NA
繪圖設定暫存器
REG
Name
90h
DCR
91h
DLHSR0
92h
DLHSR1
93h
DLVSR0
94h
DLVSR1
95h
DLHER0
96h
DLHER1
97h
DLVER0
98h
DLVER1
99h
DCHR0
9Ah
DCHR1
9Bh
DCVR0
9Ch
DCVR1
9Dh
DCRR
RAiO TECHNOLOGY INC.
DL_ST DC_ST FL_EN DL_EN
D7
D6
D5
D4
D2
NA
D7
D6
D5
D4
畫 線/矩形/圓形 控制暫存器.
NA
D3
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
NA
D7
D6
D5
D4
D3
D2
D1
D0
D9
D8
D1
D0
D8
NA
D7
D6
D5
D4
D3
D2
說 明
D1
162/162
D0
畫 線/矩形 水平起始座標暫存器.
畫 線/矩形 垂直起始座標暫存器.
畫 線/矩形 水平終點座標暫存器.
畫 線/矩形 垂直終點座標暫存器.
畫圓的圓點水平座標暫存器.
畫圓的圓點垂直座標暫存器.
畫圓的半徑暫存器.
www.raio.com.tw