RAiO RA8872 文字 / 圖形 TFT LCD 控制器 規格書 Version 1.1 February 10, 2012 RAiO Technology Inc. ©Copyright RAiO Technology Inc, 2010, 2011, 2012 RAiO TECHNOLOGY INC. 1/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 改 版 本 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 章程式範例 February 10, 2012 RAiO TECHNOLOGY INC. 1. 新增 REG[21h]Bit7 的註解 2/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 章 節 內 容 頁 數 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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. 請接到 LDO_OUT,並於靠近輸入端處接一 1uF 以上的濾波電容到地 以減少雜訊干擾。 ADC VDD 內部 ADC 電源(3.3V)輸入。請將此信號接至 3.3V。 ADC GND 內部 ADC 的接地線。請將此信號接地。 11/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 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.1 狀 態 暫 存 器 ( 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.1 系 統 與 組 態 暫 存 器 ( 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)) RAiO TECHNOLOGY INC. 15/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 工作視窗設定 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.1 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.1 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.1 游標 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 觸控面板 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 對使用者而言,應用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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 另外值得一提的是,當整個畫面旋轉時,圖形游標並不會跟著旋轉,而需要使用者自行處理,關於 顯示的畫面。請參考 圖 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.1 7-4-2 文字游標 7-4-2-1 游標位置 “文字游標”(Text Cursor)具有特定用途,它代表著寫入文字或資料的位置。文字游標位置由 ,CURH1(REG[47h]) ,CURV0(REG[48h])和 CURV1(REG[49h]) 暫存器 CURH0(REG[46h]) 所設定。在文字和繪圖模式中皆可設定文字游標,在文字模式中,文字游標可以設定高度及寬 度,但在繪圖模式下,文字游標則僅能設定寬度,而高度則固定為 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.1 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.1 7-4-3 圖形樣板(Pattern) RA8872 內建樣板記憶體(Pattern Memory)可以寫入圖形樣板資料,並提供 BTE 的 2D 引擎使 用,若啟動 2D 的樣板相關功能,則 BTE 引擎會將指定的圖形樣板資料由樣板記憶體中讀出並填 入至 DDRAM 的指定區域內。 RA8872 樣板記憶體可提供 256 個 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.1 表 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.1 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.1 表 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.1 表 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.1 表 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.1 表 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 是另一種可確認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.1 表 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.1 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.1 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.1 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.1 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. 檢查 STSR Bit7。 7. 寫入下一筆影像資料。 8. 繼續第 6 和第 7 步驟直到影像資料(資料筆度 = 長度 * 寬度)寫完或是檢查 STSR 的 Bit6 來確定資料是否全部寫入。 RAiO TECHNOLOGY INC. 98/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 圖 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. 寫入下一筆影像資料。 10. 繼續步驟 7、8、9 直到影像資料全部寫入(資料筆度 = 長度*寬度),或是由 STSR Bit6 來確定所有資料是否全數寫入。 RAiO TECHNOLOGY INC. 99/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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. 檢查 STSR Bit7。 7. 讀取下一個圖像資料。 8. 繼續步驟 6、7 直到圖像資料全部被讀出。 以下步驟採用中斷方式來進行 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. 讀取下一個圖像資料。 9. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit1 = 1 10. 繼續執行步驟 7、8、9 直到圖像資料全部被讀出,或是由 STSR Bit6 來確定所有資料是否 全數讀出。 RAiO TECHNOLOGY INC. 100/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-33 : BTE 功能運作後畫面 RAiO TECHNOLOGY INC. 102/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-35 : BTE 功能運作前畫面 圖 7-36 : BTE 功能運作後畫面 RAiO TECHNOLOGY INC. 104/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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. 寫入圖像資料。 8. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。 9. 繼續執行步驟 7、8,直到圖像資料被更新完畢。 RAiO TECHNOLOGY INC. 105/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 以下步驟採用中斷方式來進行 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. 寫入圖像資料。 9. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器。Æ REG[8Fh] Bit0 = 1 10. 繼續執行步驟 7、8、9,直到圖像資料被更新完畢。 圖 7-38 : BTE 功能執行前畫面 圖 7-39 : BTE 透通性寫入功能執行後畫面 RAiO TECHNOLOGY INC. 106/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-41 : BTE 透通性移動功能執行後畫面 RAiO TECHNOLOGY INC. 108/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-43 : BTE 功能執行前畫面 圖 7-44 : 樣板範例 圖 7-45 : BTE 圖形樣板填入功能執行後畫面 RAiO TECHNOLOGY INC. 110/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-47 : BTE 功能執行前畫面 圖 7-48 : 樣板圖例 圖 7-49 : 透通性圖形樣板填入功能執行後畫面 RAiO TECHNOLOGY INC. 112/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。 9. 寫入單色圖像資料。 10. 繼續執行步驟 7、8、9,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確認 BTE 執行完成。 以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU 進行連接。 RAiO TECHNOLOGY INC. 113/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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. 寫入單色圖像資料。 12. 繼續執行步驟 9、10、11,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確 認 BTE 執行完成。 圖 7-51 : BTE 功能執行前畫面 圖 7-52 :BTE 功能執行後畫面 RAiO TECHNOLOGY INC. 114/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 註 : 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.1 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. 檢查狀態暫存器(STSR)Bit7,確認資料是否寫入。 8. 寫入單色圖像資料。 9. 繼續執行步驟 7、8,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確認 BTE 執行完成。 RAiO TECHNOLOGY INC. 116/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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. 寫入單色圖像資料。 10. 繼續執行步驟 7、8、9,直到圖像資料被更新完畢,或檢查狀態暫存器(STSR)Bit6 確認 BTE 執行完成。 RAiO TECHNOLOGY INC. 117/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 圖 7-57 : BTE 功能執行前畫面 圖 7-58 : BTE 功能執行後畫面 RAiO TECHNOLOGY INC. 119/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 關於此一模式的暫存器設定,表列說明如下 表 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 圖 10-2 : 應用電路 RAiO TECHNOLOGY INC. 142/162 www.raio.com.tw RA8872 文字 / 圖形 TFT LCD 控制器 Version 1.1 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.1 #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.1 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.1 //----------------------// 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.1 //----------------------// 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.1 //-----------------------// 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.1 //-----------------------// 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.1 //------------------------------------------// 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.1 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.1 //========================================================= //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.1 //========================================================= //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.1 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.1 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.0 Preliminary 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.0 Preliminary 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.0 Preliminary 工作視窗設定暫存器 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.0 Preliminary 游標設定暫存器 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.0 Preliminary 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.0 Preliminary 觸控面板設定暫存器 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.0 Preliminary 脈波寬度調變設定暫存器 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