RAiO RA8875 文字/圖形 TFT LCD 控制器 規格書 Version 1.7 March 07, 2014 RAiO Technology Inc. ©Copyright RAiO Technology Inc. 2011, 2012, 2013, 2014 RAiO TECHNOLOGY INC. 1/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 版 本 1.0 1.1 日 期 改 版 說 明 說 明 August 01, 2011 Preliminary Version October 04, 2011 1.Modify Figure 7-80、Figure 7-81 November 18, 2011 1. Modify Section 7-4-2 2. Modify Table 8-2 November 30, 2011 1. Add Figure 7-82 2. Modify Figure 6-41 January 10, 2012 1. Modify Section 7-6 BTE Function (Parallel MCU interface only) February 09, 2012 1. Add Appendix A February 22, 2012 1. Modify REG[21h] 1.2 March 16, 2012 May 15, 2012 1.3 March 16, 2013 1.4 1.5 May 3, 2013 1. Modify Section 4-8 : pin description of OSC_VDD 2. Modify Section 6-1-2 : Serial I/F Protocol 3. Add Note of REG[94h], REG[98h], Figure 7-29, Figure 7-30 1. Modify Section 5-2 : the Bit1 of REG[01h] 2. Modify Table 7-8 1. Modify Section 4-1 : pin description of PS 2. Modify Section 5-2 : REG[01h]、REG[16h] 3. Add Section 6-1-2-3 :SPI Sleep/Wake Up 1. Modify Section 6-1-2-1 : 3-Wire SPI Interface 2. Modify Section 6-1-2-2 : 4-Wire SPI Interface June 18, 2013 1. Modify Figure 6-12、Figure 6-18 July 17, 2013 1. Modify Section 6-8 : Example of formula for system clock July 31, 2013 1. Modify Section 5-2 : REG[15h] 1.6 Demcember 03, 2013 1.7 March 07, 2014 RAiO TECHNOLOGY INC. 1. Modify Figure 6-37~Figure 6-40、Figure 6-48 1. Modify Section 7-2-4 and Section 5-5 :REG[41h] 2/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Chapter Contents Page 1. 簡介 ............................................................................................................ 7 2. 特性 ............................................................................................................ 7 3. 方塊圖......................................................................................................... 8 3-1 內部方塊圖 ........................................................................................................... 8 3-2 系統方塊圖 ........................................................................................................... 8 4. 腳位定義 ..................................................................................................... 9 4-1 MCU 介面 ............................................................................................................. 9 4-2 串列式MCU介面 ................................................................................................. 10 4-3 LCD面板介面...................................................................................................... 11 4-4 串列式Flash/ROM 介面...................................................................................... 11 4-5 觸控介面 ............................................................................................................. 12 4-6 鍵盤介面 ............................................................................................................. 12 4-7 脈寬調變介面...................................................................................................... 12 4-8 時脈與電源介面 .................................................................................................. 13 5. 暫存器....................................................................................................... 14 5-1 狀態暫存器 ......................................................................................................... 15 5-2 系統與組態暫存器............................................................................................... 16 5-3 LCD 顯示模式..................................................................................................... 21 5-4 工作視窗及捲動視窗設定 .................................................................................... 27 5-5 游標設定 ............................................................................................................. 30 5-6 BTE 引擎 ............................................................................................................ 34 5-7 觸控面板 ............................................................................................................. 41 5-8 圖形游標 ............................................................................................................. 43 5-9 PLL設定 ............................................................................................................. 44 5-10 脈波寬度調變 (PWM).......................................................................................... 46 5-11 繪圖控制暫存器 .................................................................................................. 49 5-12 直接記憶體存取 (DMA) 暫存器 ........................................................................... 55 5-13 鍵盤掃描與 IO控制暫存器................................................................................... 58 5-14 浮動視窗控制暫存器 ........................................................................................... 60 5-15 串列式Flash控制暫存器 ..................................................................................... 62 5-16 中斷控制 ............................................................................................................. 63 6. 硬體介面 ................................................................................................... 66 6-1 MCU 介面 ........................................................................................................... 66 6-1-1 MCU傳輸協定 ........................................................................................................................67 6-1-1-1 並列式介面的傳輸協定................................................................................................67 RAiO TECHNOLOGY INC. 3/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-2 串列式介面的協定..................................................................................................................70 6-1-2-1 3-Wire SPI 介面 ..........................................................................................................70 6-1-2-2 4-Wire SPI 介面 ..........................................................................................................73 6-1-2-3 SPI 睡眠 / 喚醒............................................................................................................77 6-1-2-4 IIC 介面 .......................................................................................................................78 6-1-3 狀態讀取暫存器 .....................................................................................................................80 6-1-4 指令寫入暫存器 .....................................................................................................................81 6-1-5 記憶體讀取/寫入的操作 .........................................................................................................82 6-1-6 中斷與等待.............................................................................................................................83 6-1-6-1 中斷.............................................................................................................................83 6-1-6-2 等待.............................................................................................................................84 6-1-7 資料匯流排與TFT的RGB資料格式 ........................................................................................85 6-1-7-1 16 位元資料匯流排......................................................................................................85 6-1-7-2 8 位元資料匯流排........................................................................................................85 6-2 驅動介面的色彩設定模式 .................................................................................... 86 6-3 LCD 介面............................................................................................................ 87 6-4 外部串列式Flash/ROM....................................................................................... 89 6-4-1 外部串列式字體記憶體 ..........................................................................................................92 6-4-2 外部串列式資料記憶體 ..........................................................................................................93 6-5 觸控介面 ............................................................................................................. 94 6-6 鍵盤掃描功能...................................................................................................... 96 6-7 脈寬調變介面...................................................................................................... 96 6-8 時脈 (Clock) 與 PLL........................................................................................... 97 6-9 重置功能 ............................................................................................................. 99 6-10 電源 .................................................................................................................. 101 6-10-1 電源腳位說明 .......................................................................................................................101 6-10-2 電源結構 ..............................................................................................................................101 7. 功能描述 ................................................................................................. 102 7-1 捲動功能 ........................................................................................................... 102 7-1-1 捲動視窗與捲動偏移值 ........................................................................................................102 7-1-2 水平捲動與垂直捲動 ............................................................................................................102 7-1-3 圖層混合捲動 .......................................................................................................................103 7-1-3-1 圖層 1 與圖層 2 同時捲動..........................................................................................104 7-1-3-2 只捲動圖層 1 .............................................................................................................104 7-1-3-3 只捲動圖層 2 .............................................................................................................105 7-1-3-4 緩衝捲動 ...................................................................................................................106 7-2 工作視窗 ........................................................................................................... 107 7-2-1 7-2-2 7-2-3 7-2-4 7-3 工作視窗的文字寫入 ............................................................................................................107 工作視窗的幾何圖形顯示.....................................................................................................108 工作視窗中的DMA功能顯示 ................................................................................................108 工作視窗的記憶體寫入 ........................................................................................................108 游標與圖形樣板 ................................................................................................ 109 7-3-1 游標種類 ..............................................................................................................................109 7-3-1-1 圖形游標 ...................................................................................................................109 RAiO TECHNOLOGY INC. 4/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3-1-2 記憶體讀取游標.........................................................................................................111 7-3-1-3 記憶體寫入游標.........................................................................................................111 7-3-1-4 文字寫入游標 ............................................................................................................112 7-3-2 游標屬性 ..............................................................................................................................112 7-3-2-1 游標閃爍 ...................................................................................................................112 7-3-2-2 游標的高度與寬度 .....................................................................................................113 7-3-3 圖形樣板 ..............................................................................................................................115 7-4 文字 .................................................................................................................. 116 7-4-1 7-4-2 7-4-3 7-4-4 7-4-5 7-4-6 7-4-7 7-5 幾何圖案繪圖引擎............................................................................................. 126 7-5-1 7-5-2 7-5-3 7-5-4 7-5-5 7-5-6 7-5-7 7-6 內部文字記憶體 ...................................................................................................................116 外部 Font ROM ...................................................................................................................121 CGRAM (Character Generation RAM 自建字庫功能) ......................................................122 文字 90 度轉向.....................................................................................................................124 文字放大與通透功能 ............................................................................................................124 文字換行 ..............................................................................................................................125 文字全型對齊 .......................................................................................................................125 圓形輸入 ..............................................................................................................................126 橢圓輸入 ..............................................................................................................................127 曲線輸入 ..............................................................................................................................128 方形輸入 ..............................................................................................................................129 直線輸入 ..............................................................................................................................130 三角形輸入...........................................................................................................................131 圓角方形輸入 .......................................................................................................................132 BTE 引擎功能 (僅支援並列式MCU 介面).......................................................... 133 7-6-1 選擇BTE起始點位置及圖層 .................................................................................................136 7-6-2 BTE 操作說明 ......................................................................................................................136 7-6-2-1 BTE寫入....................................................................................................................136 7-6-2-2 BTE讀取....................................................................................................................136 7-6-2-3 BTE移動....................................................................................................................136 7-6-2-4 單色填滿 ...................................................................................................................136 7-6-2-5 圖案填滿 ...................................................................................................................136 7-6-2-6 BTE通透填滿 ............................................................................................................136 7-6-2-7 BTE通透寫入 ............................................................................................................137 7-6-2-8 BTE通透移動 ............................................................................................................137 7-6-2-9 顏色擴充 ...................................................................................................................137 7-6-2-10 顏色移動 ...................................................................................................................137 7-6-3 BTE記憶體存取方式 ............................................................................................................138 7-6-3-1 區塊記憶體讀取.........................................................................................................138 7-6-3-2 線性記憶體讀取.........................................................................................................138 7-6-4 BTE 功能說明 ......................................................................................................................139 7-6-4-1 BTE寫入搭配光柵運算功能.......................................................................................139 7-6-4-2 BTE讀取功能 ............................................................................................................141 7-6-4-3 BTE正向移動搭配光柵運算功能 ...............................................................................142 7-6-4-4 BTE反向移動搭配光柵運算功能 ...............................................................................144 7-6-4-5 BTE通透性寫入功能..................................................................................................146 7-6-4-6 BTE正向通透性移動功能 ..........................................................................................148 7-6-4-7 圖形樣板填入搭配光柵運算功能 ...............................................................................149 RAiO TECHNOLOGY INC. 5/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-8 7-6-4-9 7-6-4-10 7-6-4-11 7-6-4-12 7-6-4-13 7-7 圖層混合功能.................................................................................................... 162 7-7-1 7-7-2 7-7-3 7-7-4 7-7-5 7-7-6 7-7-7 7-8 通透性圖形樣板填入功能 ..........................................................................................151 顏色擴充功能 ............................................................................................................153 通透性顏色擴充功能 .................................................................................................156 BTE移動搭配顏色擴充功能.......................................................................................158 通透性BTE移動功能搭配顏色擴充............................................................................160 單色填滿功能 ............................................................................................................161 顯示圖層一...........................................................................................................................163 顯示圖層二...........................................................................................................................164 漸入漸出模式 .......................................................................................................................165 通透模式 ..............................................................................................................................166 布林運算OR.........................................................................................................................166 布林運算AND ......................................................................................................................166 浮動視窗 ..............................................................................................................................167 觸控面板功能.................................................................................................... 168 7-8-1 觸控面板操作模式................................................................................................................169 7-8-1-1 自動模式 ...................................................................................................................169 7-8-1-2 手動模式 ...................................................................................................................170 7-8-2 觸控事件偵測模式................................................................................................................171 7-8-2-1 外部中斷模式 ............................................................................................................171 7-8-2-2 軟體輪詢模式 ............................................................................................................171 7-8-3 觸控掃描與取樣時間 ............................................................................................................172 7-9 鍵盤 .................................................................................................................. 173 7-10 記憶體直接存取功能 ......................................................................................... 177 7-10-1 連續記憶體直接存取模式.....................................................................................................177 使用方法 :.................................................................................................................. 177 7-10-2 區塊資料記憶體直接存取模式 .............................................................................................179 7-11 脈寬調變 ........................................................................................................... 180 7-12 睡眠模式 ........................................................................................................... 182 8. AC/DC 特性............................................................................................ 184 8-1 最大範圍限制.................................................................................................... 184 8-2 DC 電氣特性..................................................................................................... 185 9. 產品封裝 ................................................................................................. 186 9-1 封裝腳位圖 ....................................................................................................... 186 9-2 封裝尺寸 ........................................................................................................... 187 9-3 產品編號 ........................................................................................................... 187 Appendix A. RA8875 支援的集通字型列表 ............................................. 188 RAiO TECHNOLOGY INC. 6/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 1. 簡介 RA8875 是一個文字與繪圖模式的雙圖層液晶顯示 (TFT-LCD) 控制器,可結合文字或2D圖形應用,最大 可支援到800*480 點解析度的中小尺寸數位面板。內建 768KB 顯示記憶體可提供大多數使用者的應用一 個更彈性的解決方案。此外,使用者可藉由選用外部串列式Flash 介面,選用外接集通公司的字型ROM, 支援BIG5/GB/UNICODE 等編碼,可提供最大達32*32 像素之的字型輸入。在圖形的使用上,RA8875 支 援2D 的BTE 引擎 (Block Transfer Engine),此功能相容於一般通用的2D BitBLT 功能,可處理大量圖形 資料轉換與傳送。同時RA8875 也內建幾何圖形加速引擎 (Geometric Speed-up Engine),提供使用者透 過簡單的設定輕鬆畫出直線、矩形、圓形和橢圓的幾何圖形。為了貼近終端始用者的應用,RA8875 整合 了強大的功能,如畫面捲動功能、顯示浮動視窗、圖形Pattern 及文字放大等功能,可大量節省使用者軟 體開發的時間,並提昇MCU軟體的執行效率。 RA8875 提供低成本的 8080/6800 並列式MCU 介面,由於內建強大的硬體加速功能,可降低資料傳輸所 需的時間並且改善效率。RA8875提供串列式 SPI/I2C 等極少量腳位的介面,內建 4-wire 的觸控面板控制 器,以及2組脈波寬度調變 (PWM) ,可用於調整面板背光或其他應用。相對於其他的解決方案,RA8875 是一個功能強大及低成本的彩色TFT 控制器,讓使用者順利解決軟硬體開發上的疑慮,同時達成低成本、 高效能的系統方案。 2. 特性 支援文字/繪圖兩種混合顯示模式 內建 DDRAM 記憶體容量 : 768KB 色彩深度 : 256/65K 色 支援 8/16 bpp Generic RGB TFT 介面 支援 TFT 面板大小 : 800x480 Pixels 2 Layers @ 256 Colors. 800x480 Pixels 1 Layer @ 64K Colors. 480x272 Pixels 2 Layers @ 64K Colors. 支援 MCU 介面 : 8-bit 或 16-bit 的 8080/6800 系列資料匯流排 介面 I2C or 3 或 4-線式 SPI 介面 支援強大的水平和垂直區塊捲動 內建 10KB 字型 ROM (8x16 Dots) 及支援標 準 ISO/IEC 8859-1/2/3/4 編碼 支援外部串列式 Flash/ROM SPI 介面 支援集通公司 UNICODE/BIG5/GB 系列字庫 (字型大小:16x16/24x24/32X32 Dots) 支援 1 倍到 4 倍字型放大 (垂直和水平) 支援文字垂直旋轉模式功能 RAiO TECHNOLOGY INC. 內建 2D Block Transfer Engine (BTE) 功能,相 容於 2D BitBLT 功能 內建幾何圖形加速繪圖引擎 提供可調整大小的文字寫入游標功能 提供 32x32 像素 的圖形游標功能 支援 256 個使用者自訂 8x16 字元符號 支援 16 個使用者自建 8x8 像素圖形 Pattern,或 4 個使用者自建 16x16 像素圖形 Pattern 內建 2 組脈波寬度調變(PWM),提供 LCD 背光 調節或其他用途 內建 4 線式觸控面板控制器 提供低耗電的睡眠模式 內建智慧型 4x5 鍵盤控制器. 提供 4 個 GPO 及固定的 GPOX 提供 5 個 GPI 及固定的 GPIX 時脈來源 : 內建晶體振盪電路配合可程式化的 PLL 電源操作範圍 : 3.0V~3.6V 封裝 : LQFP-100pin 7/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 3. 方塊圖 3-1 內部方塊圖 DB[15:0] RD#/EN# WR#/RW# CS# RS C86 WAIT# INT# SCL SDI SDO SCS# SIFS0 SIFS1 IICA[1:0] KOUT [3:0]/ GPO [3:0] KIN [4:0]/ GPI [4:0] GPOX GPIX MPU I/F Block I2C/SPI KEYSCAN Controller Register Block DDRAM Geometric Speed-up Engine Generic TFT driver I/F FONT Engine Serial Flash/ROM IF ADC 2D-BTE Engine CGROM PLL XI XO TEST[2:0] OSC TEST Circuit 4 wires Touch Panel Controller Pattern/ Cursor Scroll Engine PDAT[15:0] HSYNC VSYNC PCLK DE SFCL SFDI SFDO SFCS0# SFCS1# XP XN YP YN ADC_VREF PWM PWM1 PWM2 RESET Control RST# 圖 3-1 : RA8875 內部方塊圖 3-2 系統方塊圖 SPI /I2C Serial Flash 8/16 bits MPU TFT LCD Module RA8875 4 wires Touch Panel KEYPAD /GPIO PWM 圖 3-2 : RA8875 系統方塊圖 RAiO TECHNOLOGY INC. 8/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 4. 腳位定義 4-1 MCU 介面 接腳名稱 I/O 腳位說明 資料匯流排 (Data Bus) 負責 RA8875 及微處理器 (MCU) 之間的資料傳送與接收。 當設定暫存器號碼及資料時,會使用到 DB[7:0]。 DB[15:0] IO 當寫入資料到顯示記憶體時,依據資料匯流排模式的設定會使用 DB[15:0]。 當使用8-bit資料匯流排模式下,DB[15:8] 應保持接下拉/上拉電阻至GND 或VDD。 致能 / 讀取控制訊號 RD# (EN) I 當 MCU 為 8080 系列,此腳位為資料讀取訊號 (RD#),於低電位動作。 當 MCU 為 6800 系列,此腳位為致能訊號 (EN),於高電位動作。 寫入 / 讀-寫控制訊號 (Write/Read-Write) WR# (RW#) I 當 MCU 為 8080 系列,此腳位為資料寫入訊號 (WR#),於低電位動作。 當 MCU 為 6800 系列時,此腳位為資料讀取 / 寫入訊號 (RW#),於高電 位時表示讀取動作,於低電位時表示寫入動作。 CS# I 晶片選取控制訊號 低準位動作的晶片選取輸入信號。 指令 / 資料選擇控制訊號 此腳位用於區分進行指令週期或資料週期。當 RS = 0 時,RA8875 為資料 讀取或寫入週期。當 RS = 1 時,RA8875 為狀態讀取或指令寫入週期,當 於 8080 介面時,通常此腳位和微處理器的 A0 相接。 RS I RS 0 0 1 1 WR# 0 1 0 1 存取週期 資料寫入 (Data Write) 資料讀取 (Data Read) 指令寫入 (CMD Write) 狀態讀取 (Status Read) MCU 介面選擇 C86 I 0 : Intel 8080 系列 MCU 介面。 1 : Motorola 6800 系列 MCU 介面。 並列式/串列式 I/F 選取輸入訊號 0 : 選取並列式 8080/6800 介面。 PS I 1 : 選取串列式 3/4-wire SPI 或 IIC 介面。 當選擇 MCU 介面動作時,必須在指令/資料週期確認前,正確設定輸入 PS 腳 位 訊 號 , 當 使 用 串 列 式 介 面 時 , 建 議 將 DB[15:0], RD#(EN) , WR#(RW#) ,CS# , RS 腳位接到 VDD 或 GND。 RAiO TECHNOLOGY INC. 9/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 INT# O 中斷訊號 RA8875 發出給 MCU 的外部中斷信號。 等待訊號 (Wait Signal Output) WAIT# O 此為反應 RA8875 內部的執行使用狀況。當 WAIT# 為 Low 時表示 RA8875 正處於忙碌狀態,無法接受來自 MCU 指令。把此腳位接到 MCU I/O 腳位時,它能用輪詢機制 (Polling) 來監控內部的狀況。 4-2 串列式MCU介面 接腳名稱 I/O 腳位說明 SPI 時脈 SCL I 包含串列式 3-wire、4-wire 或 IIC 介面時脈。 若不使用時,請將接腳接至 VDDP。 IIC 資料/4-wire SPI 資料輸入 4-wire SPI 介面 : 當使用串列介面時,為資料輸入信號。 SDI I/O 3-wire SPI 介面 :不使用,請接至 VDDP。 IIC 介面 : 當使用串列介面時,為資料輸入/資料輸出信號。 當不使用時,請將接腳接至 VDDP。 3-wire SPI 資料/4-wire SPI 資料輸出 4-wire SPI 介面 : 當使用串列介面時,為資料輸出信號。 SDO I/O 3-wire SPI 介面 : 當使串列介面時,為資料輸入/資料輸出。 IIC 介面 :不使用,此接腳請保持浮接。 當不使用時,請保持浮接。 SPI 晶片選擇 SCS# IICA[1:0] I I 當選擇接腳為 3-wire 或 4-wire 串列介面。 IIC 介面 : 當不使用時,請將接腳接至 VDDP。 當不使用時,請將接腳接至 VDDP。 IIC I/F: IIC 位置選擇 其他介面 : 當不使用時,請勿保持浮接。 串列介面選擇 00 : 不使用。 SIFS[1:0] I 01 : 3-Wire SPI。 10 : 4-Wire SPI。 11 : IIC。 若串列介面不使用時,請將 SIFS1 and SIFS0 接腳都連接至 GND。 RAiO TECHNOLOGY INC. 10/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 4-3 LCD面板介面 接腳名稱 I/O 腳位說明 LCD 面板資料匯流排 (LCD Panel Data Bus) 資料匯流排的輸出端連接到 Source Driver。RA8875 暫存器 (REG[10h]) 支 援 256/64K 色彩深度,使用者在做不同的設定時可連接對應的 RGB 匯流 PDAT[15:0] O 排。不使用的接腳請保持浮接。 色彩深度 256 64K HSYNC O VSYNC O PCLK O DE O 紅 PDAT[15:14] PDAT[15:11] 綠 PDAT[10:8] PDAT[10:5] 藍 PDAT[4:3] PDAT[4:0] HSYNC Pulse Generic TFT 介面信號。 VSYNC Pulse Generic TFT 介面信號。 Pixel Clock Generic TFT 介面信號。 Data Enable Generic TFT 介面信號。 4-4 串列式Flash/ROM 介面 接腳名稱 I/O SFCL O 腳位說明 外部串列 Flash/ROM 時脈 串列 Flash/ROM SPI 介面時脈。 外部 Flash/ROM SPI 資料輸入 SFDI/SIO0 I/O 單一模式(Singal mode) : 串列 Flash/ROM SPI I/F 資料輸入。在 RA8875 其初始狀態為輸出。 雙倍模式(Dual mode) : 此信號被用在雙向輸入/輸出資料 #0(SIO0)。 外部 Flash/ROM SPI 資料輸出 SFDO/SIO1 I/O 單一模式 : 串列 Flash/ROM SPI 介面資料輸出信號。對於 RA8875 來說, 此信號為輸入(預設值)。 雙倍模式 : 此信號被用在雙向輸入/輸出資料#1(SIO1)。 SFCS0# O SFCS1# O RAiO TECHNOLOGY INC. 外部 Flash/ROM SPI 晶片致能 0 串列 Flash/ROM SPI 介面 #0.的晶片致能腳位。 外部 Flash/ROM SPI 晶片致能 1 串列 Flash/ROM SPI 介面 #1.的晶片致能腳位。 11/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 4-5 觸控介面 接腳名稱 I/O YN A YP A XN A XP A 腳位說明 觸控面板控制訊號 (YN Signal for Touch Panel) 4-wire 觸控面板控制訊號。 觸控面板控制訊號 (YP Signal for Touch Panel) 4-wire 觸控面板控制訊號。 觸控面板控制訊號 (XN Signal for Touch Panel) 4-wire 觸控面板控制訊號。 觸控面板控制訊號 (XP Signal for Touch Panel) 4-wire 觸控面板控制訊號。 觸控面板控制器的 ADC 參考電壓 (TP ADC Reference Voltage) ADC_VREF A 此腳位為 ADC 參考電壓。其準位等於 0.5*VDD,此參考電壓可以選擇內 部產生,或是外部輸入。 4-6 鍵盤介面 接腳名稱 KOUT[3:0]/ (GPO[3:0]) I/O 鍵盤介面的掃描信號/ GPOs (一般性輸出信號) O 此為鍵盤介面的掃描線輸出,其輸出架構為 Open-drain (初始狀態)。 此信號可透過暫存器設定為 GPOs。若不使用時,請保持浮接。 鍵盤介面的資料信號/ GPIs (一般性輸入信號) KIN[4:0]/ (GPI[4:0]) 腳位說明 I GPOX O GPIX I 此為鍵盤資料輸入(預設),請外加提升電阻。 KIN[4:0]可透過暫存器設定為 GPI[4:0]。若不使用時,請接到 GND。 Extra GPO (General Purpose Output) 此為額外的 GPO 信號,若不使用時,請保持浮接。 Extra GPI (General Purpose Input) 此為額外的 GPI 信號,若不使用時,請接到 GND。 4-7 脈寬調變介面 接腳名稱 I/O 腳位說明 PWM1 O 此為 PWM 信號輸出#1。 PWM2 O 此為 PWM 信號輸出#2。 RAiO TECHNOLOGY INC. 12/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 4-8 時脈與電源介面 接腳名稱 I/O 腳位說明 Crystal 輸入腳位 (Crystal Input Pin) XI I 此為內部晶體振盪電路的輸入端,用來連接外部晶體振盪器,以產生 RA8875 的內部時脈 (Clock) 信號。 Crystal 輸出腳位 (Crystal Output Pin) XO O 此為內部晶體振盪電路的輸出端,用來連接外部晶體振盪器,以產生 RA8875 的內部時脈 (Clock) 信號。 重置訊號 (Reset Signal Input) RST# I TEST[2:0] I VDDP P CORE_VDD P LDO_OUT P LDO_GND P OSC_VDDP P OSC_VDD P OSC_GNDP P OSC_GND P ADC_VDD P ADC_GND P GND P RAiO TECHNOLOGY INC. 此腳位為 RA8875 低電位動作之硬體重置輸入訊號。為了提升抗雜訊的能 力,此腳位為 Schmitt-Trigger 輸入。當輸入準位變低時,能確保此腳位不 會被觸發。 測試模式輸入訊號 (Test Mode Input) 此腳位為測試訊號,必須保持接地 (GND)。 RA8875 I/O 的 VDD 電源輸入(IO VDD) 此腳位為 3.3V 輸入。 RA8875 內部核心電路的 VDD 電源 (CORE VDD) 此腳位為 1.8V 核心電路電源輸入。 LDO VDD 輸出 (LDO VDD Output) 1.8V 的 LDO 電源輸出,必須於輸出端接旁路電容以避免電源的噪訊。 LDO GND 此為 LDO 電路的接地端。 OSC IO VDD 此為錯開的 OSC 3.3V IO 電源。 OSC VDD 此為 OSC 1.8V 電源輸出,供內部振盪器電路使用。建議在靠近信號端接 旁路電容。 OSC IO GND 此為隔開的 OSC IO 端接地信號。 OSC GND OSC 的接地信號, 此接腳在 IC 內部和 OSC_GNDP 連結。 ADC VDD ADC 3.3V 電源信號。 ADC GND ADC 接地信號。 GND IO 信號及核心電路接地端。 13/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5. 暫存器 RA8875 的MCU 介面有 4 種週期 (Cycle) 類型,請參考 表 5-1。暫存器的設定或讀取功能是由這些週期 所組成的。RA8875 包括一個狀態暫存器及數十個指令暫存器。狀態暫存器是一個唯讀的暫存器,只能透 過「狀態讀取」週期讀取。指令暫存器可用於存取大部分的功能, 可透過指令寫入週期及資料寫入週期 進行存取。「指令寫入」週期設定暫存器的號碼,而「資料寫入」週期則設定暫存器的寫入資料。當讀取 特定的指令暫存器時,MCU 需要先下「指令寫入」週期然後再下「資料讀取」週期。「指令寫入」週期 對程式設定暫存器數量,而「資料讀取」周期讀取暫存器的資料。指令暫存器分為 15 個類別,請參考 表 5-2,且大部分都可讀或寫。下面章節將對所有暫存器的內容進行說明。 表 5-1 : MCU 週期類型 週期類型 RW# RS 說 明 指令寫入 0 1 暫存器號碼寫入週期 狀態讀取 1 1 狀態讀取週期 資料寫入 0 0 對應的暫存器資料/記憶體資料寫入週期,跟隨著指令寫入週期 資料讀取 1 0 對應的暫存器資料/記憶體資料讀取週期,跟隨著指令寫入週期 表 5-2 : 指令暫存器類別 指令暫存器類別 No. 暫存器位址 [01h], [02h], [04h], [10h] ~ [1Fh] 1 系統與組態暫存器 2 LCD 顯示控制暫存器 [20h] ~ [29h] 3 工作視窗設定暫存器 [30h] ~ [3Fh] 4 游標設定暫存器 [40h] ~ [4Eh] 5 BTE 引擎控制暫存器 [50h] ~ [67h] 6 觸控面板設定暫存器 [70h] ~ [74h] 7 圖形游標設定暫存器 [80h] ~ [85h] 8 PLL 設定暫存器 [88h], [89h] 9 脈波寬度調變設定控制暫存器 [8Ah] ~ [8Eh] 10 繪圖控制暫存器 [90h] ~ [ACh] 11 DMA 控制暫存器 [B0h] ~ [BFh] 12 KEY & IO 控制暫存器 [C0h] ~ [C7h] 13 浮動視窗控制暫存器 [D0h] ~ [DBh] 14 串列 Flash 控制暫存器 [E0h] ~ [E2h] 15 中斷控制暫存器 [F0h] ~ [F1h] RAiO TECHNOLOGY INC. 14/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 暫存器功能說明如下,每個暫存器包含 8 bits 資料,暫存器的名稱、編號、初始值及存取屬性皆列在每個 功能表中。 註 : RO : 代表此暫存器是唯讀 (Read only)。 WO : 代表此暫存器為唯寫 (Write only)。 RW : 代表此暫存器可以讀/寫 (Read-able and Write-able)。 5-1 狀態暫存器 狀態暫存器 Status Register (STSR) 說 Bit 明 初始值 Access 記憶體讀取/寫入忙碌 (包含字體寫入忙碌) 7 0 : 閒置狀態 (No Memory Read/Write event)。 0 RO 0 RO 0 RO 1 : 忙碌狀態 (Memory Read/Write busy)。 BTE 忙碌 (BTE Busy) 6 0 : BTE 處於非忙錄狀態。 1 : BTE 處於忙碌狀態。 觸控掃瞄偵測 (Touch Panel Event Detected) 0 : 觸控掃瞄沒有偵測到輸入訊號。 5 1 : 觸控面板偵測到輸入訊號 此位元直接來自觸控控制器 ADET 信號且無消除彈跳處理。建議 利用輪詢模式時需多次確認觸控事件,以保其正確性。 睡眠模式狀態 4 0: RA8875 處於工作模式。 0 RO 3-1 1: RA8875 處於睡眠模式。 N/A 0 RO 0 RO Serial Flash/ROM 忙碌 (Serial Flash/ROM Busy) 0 Serial Flash/ROM 介面處於忙碌狀態。 0: 閒置 1: 忙碌 RAiO TECHNOLOGY INC. 15/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-2 系統與組態暫存器 REG[01h] Power and Display Control Register (PWRR) 說 Bit 明 初始值 Access 0 RW 0 RO 0 RW 0 WO 初始值 Access -- RW LCD 顯示關閉訊號 (LCD Display Off) 7 0 : LCD 畫面關閉。 1 : LCD 畫面顯示。 6-2 NA 睡眠模式 0 : 正常模式。 1 : 睡眠模式。 1 註: 1. 睡眠模式可以由 : 觸控事件、鍵盤輸入、軟體程式三種方法來 喚醒。 2. 當使用 IIC 介面時,不支援此功能。 3. 當使用 SPI 介面時,請參考 6-1-2-3 節的使用步驟。 軟體重置 0 : 不動作。 0 1 : 軟體重置。 註 : 此位元必須先設定為 1,然後再設定為 0 後,才能完成正確 的軟體重置動作。 REG[02h] Memory Read/Write Command (MRWC) 說 Bit 明 寫入功能 : Memory 寫入 Data 資料寫入記憶體對應到 MWCR1[3:2] 的設定。可利用連續性的資 料讀取週期來進行大量的資料寫入。 7-0 讀取功能 : Memory 讀取 Data 從記憶讀取資料對應到 MWCR1[3:2] 的設定。可利用連續性的資 料讀取週期來進行大量的資料讀取。第一筆資料讀取週期為多餘 週期 (Dummy Read),請忽略。 RAiO TECHNOLOGY INC. 16/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[04h] Pixel Clock Setting Register (PCSR) 說 Bit 明 初始值 Access PCLK Inversion 7 0 : PDAT 是在 PCLK 正緣上升 (Rising Edge) 時被取樣。 0 RW 6-2 1 : PDAT 是在 PCLK 負緣下降 (Falling Edge) 時被取樣。 NA 0 RO 0 RW 初始值 Access 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW PCLK 時脈週期設定 Pixel Clock (PCLK) 時脈週期設定。 1-0 00b: PCLK 時脈週期= 系統時脈週期。 01b: PCLK 時脈週期= 2 倍的系統時脈週期。 10b: PCLK 時脈週期= 4 倍的系統時脈週期。 11b: PCLK 時脈週期= 8 倍的系統時脈週期。 REG[05h] Serial Flash/ROM Configuration Register (SROC) 說 Bit 明 Serial Flash/ROM I/F # 選擇 7 0:選擇 Serial Flash/ROM 0 介面。 1:選擇 Serial Flash/ROM 1 介面。 Serial Flash/ROM 定址模式 6 0: 24 位元定址模式。 此位元必須設為 0。 Serial Flash/ROM 波形模式 5 0: 波形模式 0。 1: 波形模式 3。 Serial Flash /ROM 讀取週期 (Read Cycle) 4-3 00b: 4 bus Î 無空週期 (No Dummy Cycle)。 01b: 5 bus Î1 byte 空週期。 1Xb: 6 bus Î2 byte 空週期。 Serial Flash /ROM 存取模式 (Access Mode) 2 0: 字型模式 。 1: DMA 模式。 Serial Flash /ROM I/F Data Latch 選擇模式 1-0 0Xb: 單一模式。 10b: 雙倍模式 0。 11b: 雙倍模式 1。 RAiO TECHNOLOGY INC. 17/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[06h] Serial Flash/ROM CLK Setting Register(SFCLR) 說 Bit 7-2 明 初始值 Access 0 RO 0 RW 初始值 Access 0 RO 0 RW 0 RW 初始值 Access 0 RO NA RO NA Serial Flash/ROM 時脈頻率設定 0xb: SFCL 頻率 = 系統時脈頻率 1-0 (當 DMA 為致能狀態,並且色彩深度為 256 色,則 SFCL 頻率 固定為=系統時脈頻率/ 2) 10b: SFCL 頻率 =系統時脈頻率/ 2 11b: SFCL 頻率 =系統時脈頻率/ 4 REG[10h] System Configuration Register (SYSR) 說 Bit 7-4 明 N/A 色彩深度設定 (Color Depth Setting) 3-2 00b : 8-bpp 的通用 TFT 介面, i.e. 256 色。 1xb : 16-bpp 的通用 TFT 介面, i.e. 65K 色。 MCUIF 選擇 1-0 00b : 8-位元 MCU 介面。 1xb : 16-位元 MCU 介面。 REG[12h] GPI 說 Bit 7-5 明 NA GPI[4:0] : 通用型輸入 (General Purpose Input) 4-0 KEY_EN = 0: 通 用 型 輸 入 的 資 料 暫 存 區 , 資 料 讀 自 信 號 KIN[4:0]。 Note : KEY_EN : REG[C0h] bit 7 REG[13h] GPO 說 Bit 7-4 明 NA 初始值 Access 0 RO 0 RW GPO[3:0] : 通用型輸出 (General Purpose Output) 3-0 KEY_EN = 0:通用型輸出的資料來源, 輸出到 KOUT[3:0]。 KEY_EN = 1: 無作用。 Note : KEY_EN : REG[C0h] bit 7 RAiO TECHNOLOGY INC. 18/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[14h] LCD Horizontal Display Width Register (HDWR) 說 Bit 7 明 NA 初始值 Access 0 RO 0 RW 水平顯示區域寬度設定位元[6:0] 6-0 此暫存器規範液晶面板水平顯示寬度,每單位 8-像素解析度。 水平顯示寬度(像素) = (HDWR + 1)*8 Note : HDWR 設定必須小於 64h,因為最小水平顯示寬度為 800 像素。 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 信號的極性 7 0 : High 動作。 1 : Low 動作。 6-4 NA 水平非顯示期間微調寬度設定位元 [3:0] (HNDFT) 3-0 這個暫存器規範液晶面板水平非顯示微調寬度 (支援 SYNC mode 面板),每單位為 2-像素解析度。 REG[16h] LCD Horizontal Non-Display Period Register (HNDR) 說 Bit 7-5 明 NA 水平非顯示期間寬度設定位元 [4:0] (HNDP) 4-0 這個暫存器規範液晶面板水平非顯示寬度。 水平非顯示寬度 (像素)= (HNDR + 1)x8+(HNDFTR/2+1)x2 + 2 REG[17h] HSYNC Start Position Register (HSTR) 說 Bit 7-5 明 NA 水平同步信號 (HSYNC) 起始位址寬度設定位元[4:0] 4-0 這個暫存器規範顯示區域結束到水平同步信號起始位址的寬度, 每一階的調變單位為 8-像素解析度。 水平同步信號起始位址寬度 (像素) = (HSTR + 1)x8 RAiO TECHNOLOGY INC. 19/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[18h] HSYNC Pulse Width Register (HPWR) 說 Bit 明 初始值 Access 0 RW HSYNC 動作準位 7 0 : Low 動作。 1 : High 動作。 6-5 NA 0 RO 4-0 水平同步信號 (HSYNC) 脈波寬度設定位元[4:0] 0 RW 初始值 Access 0 RW 初始值 Access NA 0 RO 垂直顯示區域高度設定位元 [8] 0 RW 初始值 Access 0 RW 初始值 Access NA 0 RO 垂直非顯示區域期間設定位元 [8] 0 RW 初始值 Access 0 RW 水平同步信號脈波寬度 (像素) = (HPW + 1)x8 REG[19h] LCD Vertical Display Height Register (VDHR0) 說 Bit 7-0 明 垂直顯示區域高度設定位元 [7:0] 垂直顯示區域高度 (Line) = VDHR + 1 REG[1Ah] LCD Vertical Display Height Register0 (VDHR1) 說 Bit 7-1 0 明 垂直顯示設定高度 (Line) = VDHR + 1 Note : VDHR 設定必須小於 1E0h,因為最大的垂直顯示高度為 480。 REG[1Bh] LCD Vertical Non-Display Period Register (VNDR0) Bit 說 7-0 垂直非顯示期間設定位元 [7:0] 明 垂直非顯示期間 (Line) = (VNDR + 1) REG[1Ch] LCD Vertical Non-Display Period Register (VNDR1) 說 Bit 7-1 0 明 垂直非顯示區域期間 (Line) = (VNDR + 1) REG[1Dh] VSYNC Start Position Register (VSTR0) 說 Bit 明 垂直同步信號 (VSYNC) 起始位址高度設定位元 [7:0] 7-0 此暫存器規範垂直顯示區域結束到垂直同步信號起始位置。 垂直同步信號起始位置(Line) = (VSTR + 1) RAiO TECHNOLOGY INC. 20/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[1Eh] VSYNC Start Position Register (VSTR1) 說 Bit 7-1 明 NA 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 0 RW 初始值 Access 0 RW 0 RO 0 RW 0 RW 0 RO 垂直同步信號 (VSYNC) 起始位址設定位元 [8] 0 此暫存器規範垂直顯示區域結束到垂直同步信號起始位置高度。 垂直同步信號起始位置 (Line) = (VSTR + 1) REG[1Fh] VSYNC Pulse Width Register (VPWR) 說 Bit 明 VSYNC 動作準位 7 0 : Low 動作。 1 : High 動作。 6-0 VSYNC 脈波寬度 [6:0] VSYNC 脈波寬度 (Line) = (VPWR + 1) 5-3 LCD 顯示模式 REG[20h] Display Configuration Register (DPCR) 說 Bit 明 圖層設定 (Layer Control) 7 0 : 單圖層。 1 : 雙圖層。 6-4 NA HDIR 3 水平掃描方向設定 (n = SEG number) 0 : 由 SEG0 到 SEG(n-1)。 1 : 由 SEG(n-1) 到 SEG0。 VDIR 2 垂直掃描方向設定 (n = COM number) 0 : 由 COM0 到 COM(n-1)。 1 : 由 COM(n-1) 到 COM0。 1-0 NA RAiO TECHNOLOGY INC. 21/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[21h] Font Control Register 0 (FNCR0) 說 Bit 明 初始值 Access 0 RW 0 RO 0 RW 0 RO 0 RW 初始值 Access 0 RW 0 RW 0 RO 0 RW 0 RW CGRAM/CGROM 文字選擇 0 : 選擇 CGROM font。 1 : 選擇 CGRAM font。 7 註: 此位元在文字模式時(REG[40h] bit 7 為 1),用來選擇點陣圖來 源,當 CGRAM 寫入時(REG[41h] bit 3-2 =01b),此位元須設定 為 0。當選擇 CGRAM 文字時,REG[21h] bit 5 必須被設為 1。 6 NA 外部/內部 CGROM 選擇 5 0 : 選擇內部 CGROM (REG[2Fh] 必須設為 00h ) 1 : 選擇外部 CGROM (REG[2Eh] bit6 &bit7 必須設為 0) 4-2 NA 內部 CGROM 文字選擇 當 FNCR0 B7 = 0 且 B5 = 0,內部 CGROM 支援 ISO/IEC 8859- 1-0 1~4 標準 8x16 文字,其支援英語及大部分歐洲國家語言文字。 00b : ISO/IEC 8859-1. 01b : ISO/IEC 8859-2. 10b : ISO/IEC 8859-3. 11b : ISO/IEC 8859-4. REG[22h] Font Control Register1 (FNCR1) 說 Bit 明 文字對齊功能設定 7 0 : 文字對齊功能關閉。 1 : 文字對齊功能開啟。 文字通透模式 (Transparency) 6 0 : 文字具背景色模式。 1 : 文字背景通透模式,無背景色。 5 NA 文字旋轉 4 0 : 正常。 1 : 90 度。 水平文字放大 00b : X1. 3-2 01b : X2. 10b : X3. 11b : X4. RAiO TECHNOLOGY INC. 22/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 垂直文字放大 00b : X1. 1-0 01b : X2. 0 RW 初始值 Access 0 RW 初始值 Access 0 RW 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 初始值 Access 0 RO 0 RW 10b : X3. 11b : X4. REG[23h] CGRAM Select Register (CGSR) 說 Bit 明 自造字型位置 CGRAM No. CGRAM 文字編號的設定,是用來寫入使用者自訂的文字點陣圖 7-0 資料到 CGRAM 中。連續 16 筆資料寫入一個 8x16 文字點陣圖。 注意 MWCR1 bit 3-2 先設定為 01b(CGRAM),超過 16 筆資料寫 入,會循環回到第一筆資料且覆蓋點陣圖。 REG[24h] Horizontal Scroll Offset Register 0 (HOFS0) 說 Bit 7-0 明 水平顯示捲動偏移[7:0] 設定水平捲動時每次移動的偏移量是多少像素。 REG[25h] Horizontal Scroll Offset Register 1 (HOFS1) 說 Bit 7-3 2-0 明 NA 水平顯示捲動偏移[10:8] 設定水平捲動時每次移動的偏移量是多少像素。 REG[26h] Vertical Scroll Offset Register 0 (VOFS0) 說 Bit 7-0 明 垂直顯示捲動偏移 [7:0] 設定垂直捲動時每次移動的偏移量是多少像素。 REG[27h] Vertical Scroll Offset Register 1 (VOFS1) 說 Bit 7-2 1-0 明 NA 垂直顯示捲動偏移[9:8] 設定垂直捲動時每次移動的偏移量是多少像素。 RAiO TECHNOLOGY INC. 23/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[29h] Font Line Distance Setting Register (FLDR) 說 Bit 7-5 4-0 明 NA 文字行距設定 在文字模式下,用來設定文字間的行距 (單位: 像素) 。 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 初始值 Access Active window 瑞佑科技 Font line distance RA i O 圖 5-1 : 文字行距 REG[2Ah] Font Write Cursor Horizontal Position Register 0 (F_CURXL) 說 Bit 7-0 明 文字寫入時的水平游標位置[7:0] 設定文字寫入的水平游標位置。 REG[2Bh] Font Write Cursor Horizontal Position Register 1 (F_CURXH) 說 Bit 明 7-2 NA 0 RO 1-0 文字寫入時的水平游標位置[9:8] 0 RW 初始值 Access 0 RW 設定文字寫入的水平游標位置。 REG[2Ch] Font Write Cursor Vertical Position Register 0 (F_CURYL) 說 Bit 7-0 明 文字寫入時的垂直游標位置[7:0] 設定文字寫入的垂直游標位置。 RAiO TECHNOLOGY INC. 24/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[2Dh] Font Write Cursor Vertical Position Register 1 (F_CURYH) 說 Bit 7-1 0 明 NA 文字寫入時的垂直游標位置[8] 設定文字寫入的垂直游標位置。 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 0 RW REG[2Eh] Font Write Type Setting Register 說 Bit 明 文字大小設定 7-6 全型 半型 可變寬度 00b 16x16 8x16 NX16 01b 24x24 12x24 NX24 1Xb 32x32 16x32 NX32 註 : 文字寬度用“N”來表示,取決於字型的字碼。 字元水平間距設定 00h : 字元無間距 5-0 01h : 字元間距 = 1 像素 02h : 字元間距 = 2 像素 . . 3Fh : 字元間距 = 63 像素 Font to Font width R A i O 圖 5-2 : 字元間距 RAiO TECHNOLOGY INC. 25/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[2Fh] Serial Font ROM Setting 說 Bit 明 初始值 Access 0 RW 0 RW 0 RW 選擇支援集通字庫的產品型號 (GT Serial Font ROM) 000b: GT21L16TW / GT21H16T1W 7-5 001b: GT30L16U2W 010b: GT30L24T3Y / GT30H24T3Y 011b: GT30L24M1Z 100b: GT30L32S4W / GT30H32S4W 設定 FONT ROM Coding 對特定的集通字庫 (GT serial Font ROM) 而言,必須先設定編 碼方式來分辨字碼的制定標準。 000b: GB2312 001b: GB12345/GB18030 4-2 010b: BIG5 011b: UNICODE 100b: ASCII 101b: UNI-Japanese 110b: JIS0208 111b: Latin/Greek/ Cyrillic / Arabic ASCII / Latin/Greek/ Cyrillic / Arabic 1-0 00b ASCII Normal 拉丁/希臘/西里爾文 Normal 01b Arial Variable Width 10b Roman NA 11b Bold NA RAiO TECHNOLOGY INC. 26/191 阿拉伯文 NA Presentation Forms-A Presentation Forms-B NA www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 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. 27/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 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-3 : 工作視窗 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. 明 28/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 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-4 : 捲動視窗 RAiO TECHNOLOGY INC. 29/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-5 游標設定 REG[40h] Memory Write Control Register 0 (MWCR0) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RW 0 RO 0 RW 0 RW 0 RW 初始值 Access 0 RW 0 RW 顯示模式設定 7 0 : 繪圖模式。 1 : 文字模式。 文字寫入游標/記憶體寫入游標設定 6 0 : 設定文字/記憶體寫入游標為不顯示。 1 : 設定文字/記憶體寫入游標為顯示。 文字寫入游標/記憶體寫入游標閃爍設定 5 0 : 游標不閃爍。 1 : 游標閃爍。 4 NA 繪圖模式時的記憶體寫入方向 00b : 左 Æ 右,然後上 Æ 下。 3-2 01b : 右Æ 左,然後上 Æ 下。 10b : 上 Æ下,然後左 Æ 右。 11b : 下 Æ 上,然後左 Æ 右。 記憶體寫入游標自動增加功能設定 1 0 : 當記憶體寫入時游標位置自動加一。 1 : 當記憶體寫入時游標位置不會自動加一。 記憶體讀取游標自動增加功能設定 0 0 : 當記憶體讀取時游標位置自動加一。 1 : 當記憶體讀取時游標位置不會自動加一。 REG[41h] Memory Write Control Register1 (MWCR1) 說 Bit 明 圖形游標設定 7 0 : 圖形游標關閉。 1 : 圖形游標開啟。 圖形游標的選擇 從 8 款圖形游標中選擇一款。(000b to 111b) 000b : 選擇圖形游標 1。 6-4 001b : 選擇圖形游標 2。 010b : 選擇圖形游標 3。 : : 111b : 選擇圖形游標 8。 RAiO TECHNOLOGY INC. 30/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 寫入目的地選擇 00b : 圖層 1~2。 3-2 01b : CGRAM。 10b : 圖形游標。 0 RW 0 RO 0 RW 初始值 Access 0 RW 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 11b : Pattern。 註 : 當選擇 CGRAM (01b), REG[21h] bit 7 設定為“0”。 1 NA 讀寫圖層選擇 當顯示圖層小於或等於 480x400 或色彩深度等於 8bpp 時: 0 0 : 圖層 1。 1 : 圖層 2。 當顯示圖層大於 480x400 且色彩深度大於 > 8bpp 時: 寫入圖層維持在圖層 1。 REG[44h] Blink Time Control Register (BTCR) 說 Bit 明 文字閃爍時間設定 (Unit: Frame) 00h : 1 個 Frame 週期。 01h : 2 個 Frame 週期。 7-0 02h : 3 個 Frame 週期。 : : : FFh : 256 個 Frame 週期。 REG[45h] Memory Read Cursor Direction (MRCD) 說 Bit 7-2 明 NA 繪圖模式時的記憶體讀取方向 00b : 左 Æ 右,然後上 Æ 下。 1-0 01b : 右Æ 左,然後上 Æ 下。 10b : 上 Æ下,然後左 Æ 右。 11b : 下 Æ 上,然後左 Æ 右。 REG[46h] Memory Write Cursor Horizontal Position Register 0 (CURH0) Bit 說 7-0 記憶體寫入游標水平位置[7:0] RAiO TECHNOLOGY INC. 明 31/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[47h] Memory Write Cursor Horizontal Position Register 1 (CURH1) 說 Bit 明 初始值 Access 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[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 明 REG[4Ah] Memory Read Cursor Horizontal Position Register 0 (RCURH0) Bit 說 7-0 記憶體讀取游標水平位置[7:0] 明 REG[4Bh] Memory Read Cursor Horizontal Position Register 1 (RCURH01) 初始值 Access 7-2 NA 說 0 RO 1-0 記憶體讀取游標水平位置[9:8] 0 RW 初始值 Access 0 RW 初始值 Access NA 0 RO 記憶體讀取游標垂直位置 [8] 0 RW Bit 明 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 RAiO TECHNOLOGY INC. 明 32/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[4Eh] Font Write Cursor and Memory Write Cursor Horizontal Size Register (CURHS) 說 Bit 7-5 明 NA 初始值 Access 0 RO 7h RW 初始值 Access 0 RO 0 RW 文字寫入游標水平大小設定 [4:0] 4-0 單位 : 像素 註 : 當文字放大時,游標設定會與文字放大倍數相同。 REG[4Fh] Font Write Cursor Vertical Size Register (CURVS) 說 Bit 7-5 明 NA 文字寫入游標垂直大小設定 [4:0] 4-0 單位 : 像素 註 : 當文字放大時,游標設定會與文字放大倍數相同。 RAiO TECHNOLOGY INC. 33/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-6 BTE 引擎 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 : 區 塊 模 式 - 目 的 地 的 資 料 是 區 塊 資 料 寫 入 (Rectangular Region)。 1 : 線性模式,目的地的資料是連續資料寫入。 4-0 NA REG[51h] BTE Function Control Register1 (BECR1) 說 Bit 明 BTE 的光柵運算碼 (ROP Code) Bit[3:0] 7-4 ROP是Raster Operation的縮寫。有些BTE操作碼要搭配光柵運 算碼才能知道詳細的動作,請參考章節 7-6。 BTE 的操作碼 (Operation Code) Bit[3:0] RA8875 包含一 2D的BTE引擎 (Block Transfer Engine),可以執 3-0 行 13 個BTE動作 (也就是操作碼 1100b ~ 0000b),而 1111b ~ 1101b 不被使用。有些操作碼要搭配上面光柵運算碼才能知道詳 細的動作,請參考章節 7-6。 RAiO TECHNOLOGY INC. 34/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[52h] Layer Transparency Register0 (LTPR0) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RO 0 RW 初始值 Access 0 RW 0 RW 圖層捲動模式 00b : 圖層 1 與圖層 2 同時捲動。 7-6 01b : 只有圖層 1 捲動。 10b : 只有圖層 2 捲動。 11b: 捲動緩衝 (用圖層 2 當成捲動緩衝)。 用 BGTR 設定浮動視窗通透顯示 5 0: 關閉。 1: 開啟。 4-3 NA 圖層顯示模式 000b : 只有圖層 1 顯示。 001b : 只有圖層 2 顯示。 010b : 顯示圖層 1 與圖層 2 的漸進/漸出模式。 2-0 011b : 顯示圖層 1 與圖層 2 的通透模式。 100b : Boolean OR。 101b : Boolean AND。 110b : 浮動視窗模式 (Floating window mode)。 111b :保留。 Note : 建議當使用緩衝捲動功能時,暫存器[40h] Bit 7 應設定為 1'b0 。 REG[53h] Layer Transparency Register1 (LTPR1) 說 Bit 明 圖層 2 的通透 (Transparency) 設定 0000b : Total 顯示。 0001b : 7/8 顯示。 0010b : 3/4 顯示。 7-4 0011b : 5/8 顯示。 0100b : 1/2 顯示。 0101b : 3/8 顯示。 0110b : 1/4 顯示。 0111b : 1/8 顯示。 1000b : 顯示關閉。 圖層 1 的通透 (Transparency) 設定 0000b : Total 顯示。 3-0 0001b : 7/8 顯示。 0010b : 3/4 顯示。 0011b : 5/8 顯示。 RAiO TECHNOLOGY INC. 35/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 0100b : 1/2 顯示。 0101b : 3/8 顯示。 0110b : 1/4 顯示。 0111b : 1/8 顯示。 1000b : 顯示關閉。 REG[54h] Horizontal Source Point 0 of BTE (HSBE0) 說 Bit 7-0 明 BTE 讀取資料來源的水平位置 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。 1 : 圖層 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 RAiO TECHNOLOGY INC. 36/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[5Ah] Vertical Destination Point 0 of BTE (VDBE0) Bit 說 7-0 BTE 寫入目標的垂直位置[7:0] 明 初始值 Access 0 RW 初始值 Access 0 RW NA 0 RO BTE 寫入目標的垂直位置[8] 0 RW 初始值 Access 0 RW 初始值 Access REG[5Bh] Vertical Destination Point 1 of BTE (VDBE1) 說 Bit 明 BTE 寫入目標的圖層 7 0 : 圖層 1。 1 : 圖層 2。 6-1 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 RAiO TECHNOLOGY INC. 37/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[60h] Background Color Register 0 (BGCR0) 說 Bit 7-5 明 NA 初始值 Access 0 R0 0 RW 初始值 Access 0 R0 0 RW 初始值 Access 0 R0 0 RW 初始值 Access 0 R0 1Fh RW 紅色背景色 [4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 此暫存器用在設定 BTE 紅色部分背景顏色。 REG[61h] Background Color Register 1 (BGCR1) 說 Bit 7-6 明 NA 綠色背景色[5:0] 5-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[5:0]。 此暫存器用在設定 BTE 綠色部分背景顏色。 REG[62h] Background Color Register 2 (BGCR2) 說 Bit 7-5 明 NA 藍色背景色[4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[1:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 此暫存器用在設定 BTE 藍色部分背景顏色。 REG[63h] Foreground Color Register 0 (FGCR0) 說 Bit 7-5 明 NA 紅色前景色 [4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 此暫存器用在設定 BTE 紅色部分前景顏色。 RAiO TECHNOLOGY INC. 38/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[64h] Foreground Color Register 1 (FGCR1) 說 Bit 7-6 明 NA 初始值 Access 0 R0 3Fh RW 初始值 Access 0 R0 1Fh RW 初始值 Access 0 RW 0 RO 0 RW 初始值 Access 0 R0 0 RW 綠色前景色 [5:0] 5-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[5:0]。 此暫存器用在設定 BTE 綠色部分前景顏色。 REG[65h] Foreground Color Register 2 (FGCR2) 說 Bit 7-5 明 NA 藍色前景色 [4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[1:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 REG[66h] Pattern Set No for BTE (PTNO) 說 Bit 明 Pattern 格式 (Pattern Format) 7 0: 8x8。 1: 16x16。 6-4 NA Pattern Set No 3-0 若 pattern 格式為 8x8,Pattern 設定[3:0] 是有效的。 若 pattern 格式為 16x16,Pattern 設定[1:0] 是有效的。 REG[67h] Background Color Register for Transparent 0 (BGTR0) 說 Bit 7-5 明 NA 通透模式下的背景色之紅色部分[4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 RAiO TECHNOLOGY INC. 39/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[68h] Background Color Register for Transparent 1 (BGTR1) 說 Bit 7-6 明 NA 初始值 Access 0 R0 0 RW 初始值 Access 0 R0 0 RW 通透模式下的背景色之綠色部分[5:0] 5-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[2:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[5:0]。 REG[69h] Background Color Register for Transparent 2 (BGTR2) 說 Bit 7-5 明 NA 通透模式下的背景色之藍色部分[4:0] 4-0 若 REG[10h] Bit[3:2] 設定為 256 色,此暫存器只用 Bit[1:0]。 若 REG[10h] Bit[3:2] 設定為 65K 色,此暫存器用到 Bit[4:0]。 RAiO TECHNOLOGY INC. 40/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-7 觸控面板 REG[70h] Touch Panel Control Register 0 (TPCR0) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RW 0 RW 初始值 Access 1 RO 0 RW 0 RW 0 RO 觸控面板功能設定 7 0 : 關閉。 1 : 開啟。 觸控面板控制器取樣時間設定 000b : ADC 取樣時間為 512 個系統時脈週期。 001b : ADC 取樣時間為 1024 個系統時脈週期。 010b : ADC 取樣時間為 2048 個系統時脈週期。 6-4 011b : ADC 取樣時間為 4096 個系統時脈週期。 100b : ADC 取樣時間為 8192 個系統時脈週期。 101b : ADC 取樣時間為 16384 個系統時脈週期。 110b : ADC 取樣時間為 32768 個系統時脈週期。 111b : ADC 取樣時間為 65536 個系統時脈週期。 觸控面板喚醒模式 3 0 : 關閉觸控事件喚醒模式。 1 : 觸控事件可喚醒睡眠模式。 觸控面板控制器 ADC 時脈設定 000b : 系統頻率。 001b : 系統頻率 / 2。 010b : 系統頻率 / 4。 2-0 011b : 系統頻率 / 8。 100b : 系統頻率 / 16。 101b : 系統頻率 / 32。 110b : 系統頻率 / 64。 111b : 系統頻率 / 128。 REG[71h] Touch Panel Control Register 1 (TPCR1) 說 Bit 7 明 N/A 觸控面板模式設定 6 0 : 自動模式。 1 : 手動模式。 觸控面板控制器 ADC 參考電壓(Vref)來源設定 5 0 : 內部產生參考電壓。 1 : 外部輸入參考電壓,ADC 參考電壓準位= 1/2 VDD。 4-3 NA RAiO TECHNOLOGY INC. 41/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 觸控中斷訊號的消除彈跳電路選擇 2 0: 關閉消除彈跳電路。 0 R/W 0 RW 初始值 Access 0 RW 初始值 Access 0 RW 初始值 Access 1 RO 1: 開啟消除彈跳電路。 觸控面板手動模式之選擇位元 00b : 閒置模式。觸控控制單元進入閒置模式。 01b : 偵測觸摸事件發生。在此模式控制器會偵測觸摸事件的發 生,事件發生可以引發中斷或是由暫存器得知(REG[F1h] 1-0 Bit2)。 10b : X 軸資料擷取模式。在此模式觸摸位置的 X 軸資料會被儲 存至 REG[72h] 和 REG[74h]。 11b : Y 軸資料擷取模式。在此模式觸摸位置的 Y 軸資料會被儲 存至 REG[73h] and REG[74h]。 REG[72h] Touch Panel X High Byte Data Register (TPXH) 說 Bit 7-0 明 觸控面板 X 軸資料高位元組 Bit [9:2] REG[73h] Touch Panel Y High Byte Data Register (TPYH) 說 Bit 7-0 明 觸控面板 Y 軸資料高位元組[9:2] REG[74h] Touch Panel X/Y Low Byte Data Register (TPXYL) 說 Bit 明 ADET 7 觸摸事件偵測 0 : 觸控面板被觸摸。 1 : 觸控面板未被觸摸。 6-4 NA 0 RO 3-2 觸控面板 Y 軸資料低二位元 Bit[1:0] 0 RW 1-0 觸控面板 X 軸資料低二位元 Bit[1:0] 0 RW RAiO TECHNOLOGY INC. 42/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 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 NA 0 RO 圖形游標垂直位置[8] 0 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 明 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. 43/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-9 PLL設定 REG[88h] PLL Control Register 1 (PLLC1) 說 Bit 明 初始值 Access 0 RW 0 RO 07h RW 初始值 Access 0 RO 03h RW PLLDIVM 7 PLL 前置驅動電路之參數。 0 : 除以 1。 1 : 除以 2。 6-5 4-0 NA PLLDIVN[4:0] PLL 輸入參數,輸入值必須是1~31。 (注意 “0” 是禁止使用的!) REG[89h] PLL Control Register 2 (PLLC2) 說 Bit 7-3 明 NA PLLDIVK[2:0] PLL 輸出除頻參數。 000b : 除以 1。 001b : 除以 2。 2-0 010b : 除以 4。 011b : 除以 8。 100b : 除以 16。 101b : 除以 32。 110b : 除以 64。 111b : 除以 128。 RAiO TECHNOLOGY INC. 44/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 註: 1. 系統頻率(SYS_CLK) 預設值與外部晶體振盪器 Clock (FIN) 頻率相同。 2. 當 REG[88h]或 REG[89h]被設定後,為保證 PLL 輸出穩定,須等待一段「鎖頻時間」 (> 100us)。 3. 晶體振盪器頻率 (FIN) 的輸入值必須介於 15MHz~30MHz 之間。 FPLL = FIN * ( PLLDIVN [4:0] +1 ) 必需等於或大於 110 MHz。 下表為外部晶體振盪 (FIN) 與 REG[88h] Bit[4:0] 的參考設定 : OSC Clock(FIN) PLLDIVN[4:0] X’tal(MHz) REG[88h] Bit[4:0] 15 16 20 25 30 >= 7 >= 7 >= 5 >= 4 >= 3 4. RA8875 的內部系統頻率 (SYS_CLK) 是結合振盪電路及 PLL 電路所產生,頻率計算公式如下 : SYS_CLK = FIN * ( PLLDIVN [4:0] +1 ) / (( PLLDIVM+1 ) * ( 2^PLLDIVK [2:0] )) RAiO TECHNOLOGY INC. 45/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-10 脈波寬度調變 (PWM) REG[8Ah] PWM1 Control Register (P1CR) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RO 0 RW 0 RW 脈波寬度調變 (PWM1) 設定 7 0 : 關閉,此狀態下,PWM1 輸出準位依照此暫存器 Bit6 決定。 1 : 開啟。 PWM1 關閉時的準位 6 0 : 當 PWM 關閉或於睡眠模式時,PWM1 輸出為”Low” 狀態。 1 : 當 PWM 關閉或於睡眠模式時,PWM1 輸出為”High” 狀態。 此位元只有在暫存器 P1CR Bit 4 為 0 才有效。 5 保留 PWM1 功能選擇 0 : PWM1 功能。 4 1 : PWM1 固定輸出一頻率為外部晶體振盪器 Clock (Fin) 頻率 1 /16 的 Clock。 PWM1 = FOSC / 16 (FOSC 為外部晶體振盪器的頻率) 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. 46/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[8Bh] PWM1 Duty Cycle Register (P1DCR) 說 Bit 明 初始值 Access 0 RW 初始值 Access 0 RW 0 RW 0 RO 0 RW 0 RW PWM 的 Duty 設定 7-0 00h Æ 1 / 256 高準位時間。 01h Æ 2 / 256 高準位時間。 02h Æ 3 / 256 高準位時間。 : : FEh Æ 255 / 256 高準位時間。 FFh Æ 256 / 256 高準位時間。 REG[8Ch] PWM2 Control Register (P2CR) 說 Bit 明 脈波寬度調變 (PWM2) 設定 7 0 : 關閉,此狀態下,PWM2 輸出準位依照此暫存器 Bit6 決定。 1 : 開啟。 PWM2 關閉時的準位 6 0 : 當 PWM 關閉或於睡眠模式時,PWM2 輸出為”Low” 狀態。 1 : 當 PWM 關閉或於睡眠模式時,PWM2 輸出為”High” 狀態。 此位元只有在暫存器 P2CR Bit 4 為 0 才有效。 5 保留 PWM2 功能選擇 4 0 : PWM2 功能。 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. 47/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[8Dh] PWM2 Control Register (P2DCR) 說 Bit 明 初始值 Access 0 RW PWM 的 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-5 : PWM 的 Duty REG[8Eh] Memory Clear Control Register (MCLR) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RO 記憶體清除功能 0 : 記憶體清除動作結束或停止。當此 Bit 被寫入為 0 時, 7 RA8875 會停止記憶體清除動作。當讀回此 Bit = 0,則此代 表記憶體清除動作已完成。 1 : 記憶體清除動作開始。 記憶體清除範圍設定 6 0 : 記憶體清除範圍為顯示視窗,請參考 REG[14h],[19h], [1Ah]。 1 : 記憶體清除範圍為工作視窗,請參考 REG[30h~37h] 的設 定。清除區域請依照 REG[41h] Bit0 的設定。 5-0 NA RAiO TECHNOLOGY INC. 48/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-11 繪圖控制暫存器 REG[90h] Draw Line/Circle/Square Control Register (DCR) 說 Bit 明 初始值 Access 0 RW 0 RW 0 RW 0 RW 0 RO 0 RW 畫直線/矩形/三角形的起始訊號 寫入功能 0 : 停止畫直線/矩形/三角形的繪圖功能。 7 1 : 開始畫直線/矩形/三角形的繪圖功能。 讀取功能 0 : 直線/矩形/三角形的繪圖完成。 1 : 直線/矩形/三角形的繪圖進行中。 畫圓形的起始訊號 寫入功能 0 : 停止圓形繪圖功能。 6 1 : 啟動圓形繪圖功能。 讀取功能 0 : 圓形繪圖完成。 1 : 圓形繪圖進行中。 填滿圓形/矩形/三角形訊號 5 0 : 不填滿。. 1 : 填滿。 畫直線或矩形選擇訊號 4 0 : 畫直線。 1 : 畫矩形。 3-1 NA 畫三角形或直線/矩形選擇訊號 0 0 : 畫直線或矩形。 1 : 畫三角形。 RAiO TECHNOLOGY INC. 49/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 (DLHSR, DLVSR) (DLHSR, DLVSR) (DLHER, DLVER) Draw Line (DLHSR, DLVSR) (DLHER, DLVER) (DLHER, DLVER) Draw Square fill Draw Square (DLHER, DLVER) (DLHER, DLVER) Radius Radius (DCHR, DCVR) Draw Circle (DCHR, DCVR) Draw Circle fill (DTPH, DTPV) (DLHSR, DLVSR) Draw Triangle (DTPH, DTPV) (DLHSR, DLVSR) Draw Triangle fill 圖 5-6 : 繪圖功能參數 REG[91h] Draw Line/Square Horizontal Start Address Register0 (DLHSR0) 說 Bit 7-0 明 畫直線或矩形的水平起始位置[7:0] 初始值 Access 0 RW 初始值 Access REG[92h] Draw Line/Square Horizontal Start Address Register1 (DLHSR1) 說 Bit 明 7-2 NA 0 RO 1-0 畫直線或矩形的水平起始位置[9:8] 0 RW 初始值 Access 0 RW 初始值 Access 0 RO 0 RW REG[93h] Draw Line/Square Vertical Start Address Register0 (DLVSR0) 說 Bit 7-0 明 畫直線或矩形的垂直起始位置[7:0] REG[94h] Draw Line/Square Vertical Start Address Register1 (DLVSR1) 說 Bit 7-1 明 NA 0 畫直線或矩形的垂直起始位置[8] 註 : 起始點與終點位置不相同 RAiO TECHNOLOGY INC. 50/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[95h] Draw Line/Square Horizontal End Address Register0 (DLHER0) 說 Bit 7-0 明 畫直線或矩形的水平結束位置[7:0] 初始值 Access 0 RW 初始值 Access REG[96h] Draw Line/Square Horizontal End Address Register1 (DLHER1) 說 Bit 明 7-2 NA 0 RO 1-0 畫直線或矩形的水平結束位置[9:8] 0 RW 初始值 Access 0 RW 初始值 Access 0 RO 0 RW 初始值 Access 0 RW 初始值 Access REG[97h] Draw Line/Square Vertical End Address Register0 (DLVER0) 說 Bit 7-0 明 畫直線或矩形的垂直結束位置[7:0] REG[98h] Draw Line/Square Vertical End Address Register1 (DLVER1) 說 Bit 7-1 明 NA 0 畫直線或矩形的垂直結束位置[8] 註 : 起始點與終點位置不相同 REG[99h] Draw Circle Center Horizontal Address Register0 (DCHR0) 說 Bit 7-0 明 畫圓形中心點的水平位置[7:0] REG[9Ah] Draw Circle Center Horizontal Address Register1 (DCHR1) 說 Bit 明 7-2 NA 0 RO 1-0 畫圓形中心點的水平位置[9:8] 0 RW 初始值 Access 0 RW REG[9Bh] Draw Circle Center Vertical Address Register0 (DCVR0) Bit 說 7-0 畫圓形中心點的垂直位置 [7:0] RAiO TECHNOLOGY INC. 明 51/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[9Ch] Draw Circle Center Vertical Address Register1 (DCVR1) 說 初始值 Access NA 0 RO 畫圓形中心點的垂直位置 [8] 0 RW 初始值 Access 0 RW 初始值 Access 0 RW 0 RW 0 RW 0 RW Bit 7-1 0 明 REG[9Dh] Draw Circle Radius Register (DCRR) 說 Bit 7-0 明 畫圓形的半徑 [7:0] REG[A0h] Draw Ellipse/Ellipse Curve/Circle Square Control Register 說 Bit 明 畫橢圓/圓形/矩形的起始訊號 寫入功能 0 : 停止畫橢圓/圓形/矩形繪圖功能。 7 1 : 啟動畫橢圓/圓形/矩形繪圖功能。 讀取功能 0 : 橢圓/圓形/矩形繪圖完成。 1 : 橢圓/圓形/矩形繪圖進行中。 填滿橢圓/圓形/矩形訊號 6 0 : 不填滿。 1 : 填滿。 畫橢圓/橢圓曲線或圓角方形選擇訊號 5 0 : 畫橢圓/橢圓曲線 (依照 Bit4)。 1 : 畫圓角方形。 畫橢圓或橢圓曲線選擇訊號 4 0 : 畫橢圓 1 : 畫橢圓曲線 3-2 NA 0 RO 1-0 畫部份橢圓曲線選擇訊號 (DECP) 0 RW RAiO TECHNOLOGY INC. 52/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 ELL_B ELL_A ELL_B (DEHR, DEVR) (DEHR, DEVR) Draw Ellipse ELL_A ELL_B Draw Ellipse Fill ELL_A (DLHSR, DLVSR) ELL_B (DLHER, DLVER) DECP = 2’b00 (DLHSR, DLVSR) (DLHER, DLVER) Draw Circle Square DECP = 2’b01 ELL_A Draw Circle Square Fill DECP = 2’b10 DECP = 2’b01 DECP = 2’b11 DECP = 2’b00 Draw Ellipse curve DECP = 2’b10 DECP = 2’b11 Draw Ellipse curve fill 圖 5-7 : 繪圖功能 REG[A1h] Draw Ellipse/Circle Square Long axis Setting Register (ELL_A0) 說 Bit 7-0 明 畫橢圓/圓角方形長軸 [7:0] 初始值 Access 0 RW 初始值 Access REG[A2h] Draw Ellipse/Circle Square Long axis Setting Register (ELL_A1) 說 Bit 明 7-2 NA 0 RO 1-0 畫橢圓/圓角方形長軸[9:8] 0 RW 初始值 Access 0 RW REG[A3h] Draw Ellipse/Circle Square Short axis Setting Register (ELL_B0) 說 Bit 7-0 明 畫橢圓/圓角方形短軸[7:0] RAiO TECHNOLOGY INC. 53/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[A4h] Draw Ellipse/Circle Square Short axis Setting Register (ELL_B1) 說 初始值 Access NA 0 RO 畫橢圓/圓角方形短軸[8] 0 RW Bit 7-1 0 明 REG[A5h] Draw Ellipse/Circle Square Center Horizontal Address Register0 (DEHR0) 說 Bit 7-0 明 畫橢圓/圓角方形中心點的水平位置 [7:0] 初始值 Access 0 RW REG[A6h] Draw Ellipse/Circle Square Center Horizontal Address Register1 (DEHR1) 說 Bit 明 初始值 Access 7-2 NA 0 RO 1-0 畫橢圓/圓角方形中心點的水平位置 0 RW REG[A7h] Draw Ellipse/Circle Square Center Vertical Address Register0 (DEVR0) 說 Bit 7-0 明 畫橢圓/圓角方形中心點的垂直位置[7:0] 初始值 Access 0 RW REG[A8h] Draw Ellipse/Circle Square Center Vertical Address Register1 (DEVR1) 說 初始值 Access NA 0 RO 畫橢圓/圓角方形中心點的垂直位置[8] 0 RW 初始值 Access 0 RW 初始值 Access Bit 7-1 0 明 REG[A9h] Draw Triangle Point 2 Horizontal Address Register0 (DTPH0) 說 Bit 7-0 明 畫三角形 2 點的水平位置 [7:0] REG[AAh] Draw Triangle Point 2 Horizontal Address Register1 (DTPH1) 說 Bit 明 7-2 NA 0 RO 1-0 畫三角形第 2 點的水平位置[9:8] 0 RW RAiO TECHNOLOGY INC. 54/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[ABh] Draw Triangle Point 2 Vertical Address Register0 (DTPV0) 說 初始值 Access 0 RW 初始值 Access NA 0 RO 畫三角形第 2 點的垂直位置[8] 0 RW 初始值 Access 0 RW 初始值 Access 0 RW 初始值 Access 0 RW 初始值 Access 0 RW Bit 7-0 明 畫三角形第 2 點的垂直位置[7:0] REG[ACh] Draw Triangle Point 2 Vertical Address Register1 (DTPV1) 說 Bit 7-1 0 明 5-12 直接記憶體存取 (DMA) 暫存器 REG[B0h] Source Starting Address REG0 (SSAR0) 說 Bit 7-0 明 DMA 來源開始位置[7:0] REG[B1h] Source Starting Address REG 1 (SSAR1) 說 Bit 7-0 明 DMA 來源開始位置[15:8] REG[B2h] Source Starting Address REG 2 (SSAR2) 說 Bit 7-0 明 DMA 來源開始位置[23:16] REG[B4h] Block Width REG 0(BWR0) / DMA Transfer Number REG 0 (DTNR0) 說 Bit 明 當暫存器 [BFh] Bit 1 為 0 (連續性模式) 7-0 DMA 傳輸數量[7:0] 當暫存器[BFh] bit 1 為 1 (區塊模式) DMA 區塊寬度[7:0] RAiO TECHNOLOGY INC. 55/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[B5h] Block Width REG 1 (BWR1) 說 Bit 明 初始值 Access 7-2 NA 0 RO 1-0 DMA 區塊寬度 [9:8] 0 RW 初始值 Access 0 RW 初始值 Access REG[B6h ] Block Height REG 0(BHR0) /DMA Transfer Number REG 1 (DTNR1) 說 Bit 明 當暫存器[BFh] bit 1 為 0 (連續性模式) 7-0 DMA 傳輸數量[15:8] 當暫存器[BFh] bit 1 為 1 (區塊模式) DMA 區塊寬度[7:0] REG[B7h] Block Height REG 1 (BHR1) 說 Bit 明 7-2 NA 0 RO 1-0 DMA 區塊高度[9:8] 0 RW REG[B8h] Source Picture Width REG 0(SPWR0) / DMA Transfer Number REG 2(DTNR2) 說 Bit 7-3 明 DMA 來源圖片寬度 [7:3] 初始值 Access 0 RW 0 RW 初始值 Access 當暫存器[BFh] bit 1 為 0 (連續性模式) 2-0 DMA 傳輸數量[18:16] 當暫存器[BFh] bit 1 為 1 (區塊模式) DMA 來源圖片寬度[2:0] REG[B9h] Source Picture Width REG 1 (SPWR1) 說 Bit 明 7-2 NA 0 RO 1-0 DMA 來源圖片寬度[9:8] 0 RW RAiO TECHNOLOGY INC. 56/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Source Serial ROM Address Destination Display Memory (CURH, CURV) SSAR DMA Continuous Mode DNTR Active Windows Source Serial ROM Address Destination Display Memory SPWR (CURH, CURV) SSAR DMA BHR Active Windows BWR Block Mode 圖 5-8 : DMA 連續性模式與區塊模式 REG[BFh] DMA Configuration REG (DMACR) 說 Bit 7-2 1 明 NA 選擇 DMA 連續性或區塊模式的讀取/寫入位元 0: 連續性模式 / 1: 區塊模式。 初始值 Access 0 RO 0 RW 0 RW 寫入功能Î DMA 起始位元 0 自動地透過 MCU 設定 1 與重設 0。 讀取功能Î DMA 忙碌確認位元 0: 閒置狀態 / 1: 忙碌狀態。 RAiO TECHNOLOGY INC. 57/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-13 鍵盤掃描與 IO控制暫存器 REG [C0h] Key-Scan Control Register 1 (KSCR1) 說 初始值 Access 0 R/W 0 RW 00b : 4 次。 01b : 8 次。 10b : 16 次。 11b : 32 次。 0 R/W NA 0 RO 0 R/W 初始值 Access 0 R/W 0 RO 0 R/W Bit 明 設定鍵盤掃描功能開啟位元 (KEY_EN) 7 1 : 開啟。 0 : 關閉。 設定長按鍵開啟位元 6 1 : 開啟,長按鍵週期由 KSCR2 Bit4-2 設定。 0 : 關閉。 設定鍵盤掃描資料的取樣次數 鍵盤掃描機制的「消除機械彈跳」次數。 5-4 3 KF2-0: 鍵盤頻率 KF2 KF1 KF0 System Clock 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 2-0 Key-Scan Cycle (4x5) 20MHz 40MHz 60MHz 128µs 64µs 42.67us 256µs 128µs 85.33µs 512µs 256µs 170.67µs 1.024ms 512µs 341.33µs 2.048ms 1.024ms 682.67us 4.096ms 2.048ms 1.365ms 8.192ms 4.096ms 2.731ms 16.384ms 8.192ms 5.461ms REG [C1h] Key-Scan Controller Register 2 (KSCR2) 說 Bit 明 設定鍵盤掃描喚醒功能位元 7 0: 關閉鍵盤喚醒功能。 1: 開啟鍵盤喚醒功能。 6-4 NA 長按鍵時間調整 3-2 System Clock 00b 01b 10b 11b RAiO TECHNOLOGY INC. 20MHz 1.25 sec 2.5 sec 3.75 sec 5 sec 40MHz 0.625 sec 1.25 sec 1.875 sec 2.5 sec 58/191 60MHz 0.3125 sec 0.625 sec 0.9375 sec 1.25 sec www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 被按的按鍵數目 00b : 沒有鍵盤被按壓到。 1-0 01b : 按到 1 個按鍵,讀取 REG[C2h] 來獲取按鍵值 (Key Code)。 0 RO 初始值 Access NA RO 初始值 Access NA RO 初始值 Access NA RO 初始值 Access 0 RO NA RW 10b : 按到 2 個按鍵,讀取 REG[C2h ~ C3h] 來獲取按鍵值。 11b : 按到 3 個按鍵,讀取 REG[C2h ~ C4h] 來獲取按鍵值。 REG [C2h] Key-Scan Data Register (KSDR0) 說 Bit 7-0 明 按鍵擷取資料#0 (Key Strobe Data0) 請參考章節 7-9 的詳細說明。 REG [C3h] Key-Scan Data Register (KSDR1) 說 Bit 7-0 明 按鍵擷取資料#1 請參考章節 7-9 的詳細說明。 REG [C4h] Key-Scan Data Register (KSDR2) 說 Bit 7-0 明 按鍵擷取資料#2 請參考章節 7-9 的詳細說明。 REG[C7h] Extra General Purpose IO Register (GPIOX) 說 Bit 7-1 明 NA GPIX/GPOX 資料位元 0 讀取: 從 GPIX 腳位輸入資料。 寫入: 輸出資料到 GPOX 腳位。 RAiO TECHNOLOGY INC. 59/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-14 浮動視窗控制暫存器 REG [D0h] Floating Windows Start Address XA 0 (FWSAXA0) 說 Bit 7-0 明 浮動視窗起始位置 XA [7:0] 初始值 Access 0 RW 初始值 Access REG [D1h] Floating Windows Start Address XA 1 (FWSAXA1) 說 Bit 明 7-2 NA 0 RO 1-0 浮動視窗起始位置 XA [9:8] 0 RW 初始值 Access 0 RW 初始值 Access NA 0 RO 浮動視窗起始位置 YA [8] 0 RW 初始值 Access 0 RW 初始值 Access REG [D2h] Floating Windows Start Address YA 0 (FWSAYA0) 說 Bit 7-0 明 浮動視窗起始位置 YA [7:0] REG [D3h] Floating Windows Start Address YA 1 (FWSAYA1) 說 Bit 7-1 0 明 REG [D4h] Floating Windows Width 0 (FWW0) 說 Bit 7-0 明 浮動視窗寬度設定[7:0] REG [D5h] Floating Windows Width 1 (FWW1) 說 Bit 明 7-2 NA 0 RO 1-0 浮動視窗寬度設定[9:8] 0 RW 初始值 Access 0 RW REG [D6h] Floating Windows Height 0 (FWH0) 說 Bit 7-0 明 浮動視窗高度設定[7:0] RAiO TECHNOLOGY INC. 60/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG [D7h] Floating Windows Height 1 (FWH1) 說 Bit 明 初始值 Access 7-2 NA 0 RO 1-0 浮動視窗高度設定[9:8] 0 RW 初始值 Access 0 RW 初始值 Access REG [D8h] Floating Windows Display X Address 0 (FWDXA0) 說 Bit 7-0 明 浮動視窗顯示 X 軸位置[7:0] REG [D9h] Floating Windows Display X Address 1 (FWDXA1) 說 Bit 明 7-2 NA 0 RO 1-0 浮動視窗顯示 X 軸位置[9:8] 0 RW 初始值 Access 0 RW 初始值 Access NA 0 RO 浮動視窗顯示 Y 軸位置[8] 0 RW REG [DAh] Floating Windows Display Y Address 0 (FWDYA0) 說 Bit 7-0 明 浮動視窗顯示 X 軸位置[7:0] REG [DBh] Floating Windows Display Y Address 1 (FWDYA1) 說 Bit 7-1 0 明 (FWSAXA, FWSAYA) FWW (FWDXA, FWDYA) FWW FWH FWH Floating Windows Layer1 Layer2 Display Windows 圖 5-9 : 浮動視窗 RAiO TECHNOLOGY INC. 61/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-15 串列式Flash控制暫存器 SACS_MODE REG [E0h] Serial Flash/ROM Direct Access Mode 說 Bit 7-1 0 明 NA 0: 關閉直接存取模式,此時使用者用 FONT/DMA 模式會關閉。 1: 開啟直接存取模式,此時 FONT/DMA 模式會被關閉。 初始值 Access 0 RO 0 RW 初始值 Access 0 WO 初始值 Access 0 RO SACS_ADDR REG [E1h] Serial Flash/ROM Direct Access Mode Address 說 Bit 明 直接存取模式定址 7-0 串列式 Flash/ROM 是 24 位元的定址方式,因此使用者在定址 時,必須將位址資料連續寫入 REG[E1h] 3 次。 SACS_DATA [E2h] Serial Flash/ROM Direct Access Data Read 說 Bit 7-0 明 直接存取模式讀取資料緩衝區。 RAiO TECHNOLOGY INC. 62/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 5-16 中斷控制 REG[F0h] Interrupt Control Register1 (INTC1) 說 Bit 7-5 明 NA 初始值 Access 0 RO 0 RW 0 RW 0 RW 0 RW 0 RW 開啟鍵盤掃描中斷位元 4 0 : 關閉鍵盤中斷。 1 : 開啟鍵盤中斷。 開啟 DMA 中斷位元 3 0 : 關閉 DMA 中斷。 1 : 開啟 DMA 中斷。 開啟觸控面板中斷位元 2 0 : 關閉觸控中斷。 1 : 開啟觸控中斷。 開啟 BTE 程序 (BTE Process) 完成的中斷位元 1 0 : 關閉 BTE 程序完成的中斷。 1 : 開啟 BTE 程序完成的中斷。 當 BTE 選擇 MCU 相關的操作且 BTE 功能為開啟時 (REG[50h] Bit7 = 1),此位元被用在開啟 MCU 讀取/寫入的 BTE 中斷功能 : 0 : 關閉 MCU 讀取/寫入的 BTE 中斷。 0 1 : 開啟 MCU 讀取/寫入的 BTE 中斷。 當關閉 BTE 功能時,此位元被用在開啟文字寫入的中斷功能(*) : 0 : 關閉文字寫入的中斷。 1 : 開啟文字寫入的中斷。 註: 1. MCU 相關的 BTE 操作包含 : 「BTE 寫入搭配光柵運算」、「BTE 讀取」、「BTE 通透性寫入」、 「顏色擴充」以及「通透性顏色擴充」功能。 2. 文字寫入中斷代表已完成文字字體寫入 DDRAM 中。 RAiO TECHNOLOGY INC. 63/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 REG[F1h] Interrupt Control Register2 (INTC2) 說 Bit 7-5 明 NA 初始值 Access 0 RO 0 RW 0 RW 0 RW 0 RW 0 RW 寫入功能Î 鍵盤掃描中斷清除位元 0 : 未操作。 4 1 : 清除鍵盤掃描中斷。 讀取功能Î 鍵盤掃描中斷狀態 0 : 未發生鍵盤掃描中斷。 1 : 發生鍵盤掃描中斷。 寫入功能Î DMA 中斷清除位元 0 : 未操作。 3 1 : 清除 DMA 中斷功能。 讀取功能Î DMA 中斷狀態 0 : 未發生 DMA 中斷。 1 : 發生 DMA 中斷。 寫入功能Î 觸控面板中斷清除位元 0 : 未操作。 1 : 清除觸控面板中斷。 2 讀取功能Î 觸控面板中斷狀態 0 : 未發生觸控面板中斷。 1 : 發生觸控面板中斷。 寫入功能 Î BTE 程序完成中斷清除位元 0 : 未操作。 1 : 清除 BTE 程序完成中斷。 1 讀取功能 ÎBTE 中斷狀態 0: 未發生 BTE 程序完成中斷。 1: 發生 BTE 程序完成中斷。 當 BTE 選擇 MCU 相關的操作且開啟 BTE 功能 ( REG[50h] Bit7 = 1 ) 寫入功能 ÎBTE 讀取/寫入中斷清除 0 : 未操作。 1 : 清除 MCU 寫入/讀取的 BTE 中斷。 0 讀取功能 Î BTE R/W 中斷狀態 0: 未發生 BTE MCU 讀/寫中斷。 1: 發生 BTE MCU 讀/寫中斷。 當關閉 BTE 功能時,且開啟文字模式時 : 寫入功能 Î 開啟文字寫入中斷(*)位元 RAiO TECHNOLOGY INC. 64/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 0 : 未操作。 1 : 清除文字寫入中斷。 讀取功能 Î 文字寫入中斷狀態 0: 未發生文字寫入中斷。 1: 發生文字寫入中斷。 註: 1. MCU 相關的 BTE 操作包含 : 「BTE 寫入搭配光柵運算」、「BTE 讀取」、「BTE 通透性寫入」、 「顏色擴充」以及「通透性顏色擴充」功能。 2.字體寫入中斷代表已完成文字字體寫入 DDRAM 中。 RAiO TECHNOLOGY INC. 65/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6. 硬體介面 6-1 MCU 介面 RA8875 支援 8080 和 6800 等兩種微處理機介面傳輸模式。介面的選擇決定於IC接腳 ”C86” 的電位, 當選擇 8080 來進行介面傳輸時,”C86” 須連接到低電位;若選擇 6800 來進行介面傳輸時,”C86” 必 須連接到高電位,如下 圖 6-1 與 圖 6-2 所示。 8080 MCU RA8875 A0 A1-A7/A1-A15 IORQ RS Decoder CS# C86 DB[0-7]/DB[0-15] DB[0-7]/DB[0-15] RD RD# WR RES WR# RST# WAIT WAIT# GND INT# INT 圖 6-1 : 8080 MCU 介面 6800 MCU RA8875 A0 A1-A7/A1-A15 VMA RS Decoder VDD CS# C86 DB[0-7]/DB[0-15 ] DB[0-7]/DB[0-15 ] EN EN R/W RES RW# RST# WAIT WAIT# INT# INT 圖 6-2 : 6800 MCU 介面 RAiO TECHNOLOGY INC. 66/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-1 MCU傳輸協定 6-1-1-1 並列式介面的傳輸協定 下面 圖 6-3、表 6-1、圖 6-4、表 6-2 是RA8875 支援 8080 和 6800 兩種微處理機介面的傳輸協 定與時序參數表。 6800 – 8/16-bit Interface E tCYC6 tAW6 tEW R/W tAH6 A0, CS tDS6 tDH6 DB[7:0] (Write) tACC6 tOH6 DB[7:0] (Read) 圖 6-3 : 6800 MCU 傳輸協定 表 6-1 : 6800 MCU 介面時序參數 Symbol Rating Parameter 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. 67/191 Symbol tc is one system clock period: tc = 1/SYS_CLK www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 8080 – 8/16-bit Interface 圖 6-4 : 8080 MCU 傳輸協定 表 6-2 : 8080 MCU 介面時序參數 Symbol Rating Parameter 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 RAiO TECHNOLOGY INC. 68/191 Symbol tc is one system clock period: tc = 1/SYS_CLK www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RA8875 也可以透過暫存器 SYSR 的 Bit [1:0] 來決定 MCU 資料匯流排的寬度,當 Bit [1:0] = 00 時,資料匯流排的寬度為 8 位元,當 Bit [1:0] = 11 時,資料匯流排的寬度為 16 位元。無論在 8080 或 6800 的微處理機介面,資料匯流排的寬度設定皆相同。ㄧ旦選擇 8 位元來進行傳輸時, 傳輸時間約將增加一倍,而且要注意所有暫存器的讀寫都是固定以 8 位元來進行傳輸。 連續性資料寫入速度決定了顯示更新速度。傳輸週期的間隔必須大於系統頻率週期的 5 倍。若超 過規格可能會導致資料遺失或功能失效,請參考 圖 6-5 及 圖 6-6 的說明。 在許多工業控制的場合,各種電器的干擾源比較強,為了減輕這些干擾源對 MCU 與 RA8875 間 的傳輸影響,可以在 RA8875 的 CS#、RD#、WR# 端加一小電容到 GND。如果 MCU 與 RA8875 間的傳輸是使用 Cable 線,則 Cable 線長度必須小於 20cm,如果超過建議 CS#、 RD#、WR#、RS 等信號必須加上 1~10Kohm 的 pull-up 電阻。 MPU6800 Data Write Speed Limit SYS_CLK RS WR RD ZCS Min. > 5xSYS_CLK 圖 6-5 : 6800 介面連續性資料寫入週期圖 MPU8080 Data Write Speed Limit SYS_CLK RS WR RD ZCS Min. > 5xSYS_CLK 圖 6-6 : 8080 介面連續性資料寫入週期圖 RAiO TECHNOLOGY INC. 69/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-2 串列式介面的協定 6-1-2-1 3-Wire SPI 介面 RA8875 MPU VDD PS SIFS1 VDD SIFS0 ZCS SCS# (ZCS) SDA SDO (SDA) SCK SCL (SCK) 圖 6-7 : 3-Wire SPI 的 MCU 介面圖 RA8875 提供一個 SPI 從屬(Slave) 控制器,3-Wire SPI 寫的最大時脈速度是系統頻率的 1/3 (換言 之,SPI 時脈高準位必須大於 1.5 個系統頻率),而 3-Wire SPI 讀的最大時脈速度是系統頻率的 1/6。 SPI 是由晶片選擇線 (ZCS)、串列傳輸時脈線 (SCK) 以及串列資料輸入/輸出線 (SDA) 所組成的。當 ZCS 是動作時,SCK 是由主要控制器(Master)所驅動的,用來閂鎖 SDA 的信號。使用 SPI 進行通訊 時,通過對資料的第一個位元組的 MSB 2 Bits 可以設定目前的週期為指令/資料寫入模式,或是狀態 位元/資料讀出的模式。在通訊的過程中,ZCS 必須要一直保持在低電位狀態,直到通訊結束。 當SPI 在指令/資料寫入模式時 (圖 6-8、圖 6-10),此時傳輸的第 2 位元組為透過SPI的SDA腳位, 由主要 (Master) 控制器端提供寫入資料。當SPI 在狀態位元/資料讀取模式時 (圖 6-9、圖 6-11),第 2 位元組的資料讀取是由則RA8875 的SPI 從屬(Slave)控制器根據SCL的動作透過SDA傳送至主要 (Master) 控制器端。請參考 圖 6-8 ~ 圖 6-11 的說明。 RAiO TECHNOLOGY INC. 70/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Transfer End Transfer Start SCS# 1 2 3 4 6 5 8 7 1 2 3 4 5 6 8 7 SCL MSB SDA DB DB DB DB DB DB DB DB 6 5 4 3 2 1 0 7 RS RW 0 LSB REG_DAT/ 0 MEM_DAT FROM MPU TO RA8875 RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM RA8875 TO MPU 圖 6-8 : 3-Wire SPI 資料匯流排的資料寫入 Transfer End Transfer Start SCS# 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 SCL MSB SDA RS RW 0 LSB DB DB DB DB DB DB DB DB 7 6 5 4 3 2 1 0 1 REG_DAT/ MEM_DAT RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-9 : 3-Wire SPI 資料匯流排的資料讀取 RAiO TECHNOLOGY INC. 71/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Transfer End Transfer Start SCS# 1 2 3 4 6 5 7 8 1 2 3 4 5 6 7 8 SCL MSB SDA DB DB DB DB DB DB DB DB 6 5 4 3 2 1 0 7 RS RW 1 LSB 0 REG_NO RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-10 : 3-Wire SPI 資料匯流排的指令寫入 Transfer End Transfer Start SCS# 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 SCL MSB SDA DB DB DB DB DB DB DB DB 6 5 4 3 2 1 0 7 RS RW 1 LSB 1 STUS_DAT FROM MPU TO RA8875 RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM RA8875 TO MPU 圖 6-11 : 3-Wire SPI 資料匯流排的狀態讀取 RAiO TECHNOLOGY INC. 72/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 SCS# t1 t2 t3 SCL SDA Symbol Description Min. Max. Unit SPI Clock frequency 100k System clock/3 (only write cycle) / System clock/6 (with read cycle) clock t1 SCL High time 1.5 System Clock period N/A ns t2 SCL LOW time 1.5 System Clock period N/A ns t3 Minimum SCS# High Interval 5 System Clock period N/A ns SCL 圖 6-12 : 3-Wire 的 SPI 時序 6-1-2-2 4-Wire SPI 介面 MPU RA8875 VDD PS SIFS1 SIFS0 ZCS SCS# (ZCS) SDI SDO SDO SDI SCK SCL (SCK) 圖 6-13 : 4-Wire SPI MCU 介面圖 RAiO TECHNOLOGY INC. 73/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 4-wire SPI介面與 3-wire SPI介面類似,唯一不同的是資料信號。在 3-wire SPI介面中,雙向的SDA 信號用來當作資料信號且從屬(Slave)/ 主要(Master)皆可驅動。在 4-wire SPI介面中,SDA信號功能 被區分為SDI與SDO信號。SDI是由SPI master驅動的資料腳位;SDO則是來自SPI從屬(Slave)端的 資料輸出。4-Wire SPI寫的最大時脈速度是系統頻率的 1/3 (換言之,SPI時脈高準位必須大於 1.5 個 系統頻率) ,而 4-Wire SPI讀的最大時脈速度是系統頻率的 1/6。相關的說明請參考 圖 6-14 ~ 圖 6-17。 Transfer End Transfer Start SCS# 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 SCL MSB SDI DB DB DB DB DB DB DB DB 6 5 4 3 2 1 0 7 RS RW 0 LSB REG_DAT/ 0 MEM_DAT SDO RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-14 : 4-Wire SPI 資料匯流排的資料寫入 RAiO TECHNOLOGY INC. 74/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Transfer End Transfer Start SCS# 1 2 3 4 6 5 8 7 1 2 3 4 6 5 8 7 SCL SDI RS RW 0 1 MSB LSB SDO DB DB DB DB DB DB DB DB 7 6 5 4 3 2 1 0 REG_DAT/ MEM_DAT RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-15 : 4-Wire SPI 資料匯流排的資料讀取 Transfer End Transfer Start SCS# 1 2 3 4 5 6 7 8 1 2 3 4 5 6 MSB RS RW 1 7 8 LSB DB DB DB DB DB DB DB DB 6 5 4 3 2 1 0 7 0 REG_NO SDO RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-16 : 4-Wire SPI 資料匯流排的指令寫入 RAiO TECHNOLOGY INC. 75/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Transfer End Transfer Start SCS# 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 SCL SDI RS RW 1 1 MSB LSB SDO DB DB DB DB DB DB DB DB 7 6 5 4 3 2 1 0 STUS_DAT FROM MPU TO RA8875 RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM RA8875 TO MPU 圖 6-17 : 4-Wire SPI 資料匯流排的狀態讀取 SCS# t1 t2 t3 SCL SDI/SDO Symbol Description Min. Max. Unit SCL SPI Clock frequency 100k System clock/3(only write cycle) / System clock/6(with read cycle) clock t1 SCL High time 1.5 System Clock period N/A ns t2 SCL LOW time 1.5 System Clock period N/A ns t3 Minimum SCS# High Interval 5 System Clock period N/A ns 圖 6-18 : 4-Wire 的 SPI 時序 RAiO TECHNOLOGY INC. 76/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-2-3 SPI 睡眠 / 喚醒 SPI 介面有些預設的環境限制,請參考以下流程來使用睡眠/喚醒功能。 System clock < OSC clock(15Mhz~30Mhz) System clock ≧ OSC clock(15Mhz~30Mhz) Program REG[01h] 0x00 Program REG[88h~89h] Downgrade system clock Program REG[01h] 0x80 Program REG[01h] 0x02 Downgrade SPI clock rate Wake Up Sleep Mode Program REG[01h] 0x00 Program REG[88h~89h] Resume system clock Program REG[01h] 0x80 Program REG[01h] 0x02 Resume SPI clock rate Wake Up Sleep Mode SPI sleep/wake-up flow 圖 6-19 : SPI 睡眠/喚醒流程 RA8875 SPI 有特定的睡眠/喚醒步驟,使用者請參考下圖步驟 : SPI Wake Up Step SPI Sleep Step Set Wake Up: LCD_CmdWrite(0x01); LCD_DataWrite(0x00); Delay1ms(100); TFT LCD Backlight off Decelerate SPI Clock rate Set PLL : LCD_CmdWrite(0x88); LCD_DataWrite(0x08); Delay1ms(1); LCD_CmdWrite(0x89); LCD_DataWrite(0x02); Delay1ms(1); Set PLL to default: LCD_CmdWrite(0x88); LCD_DataWrite(0x07); Delay1ms(1); LCD_CmdWrite(0x89); LCD_DataWrite(0x03); Delay1ms(1); Display on setting : LCD_CmdWrite(0x04); LCD_DataWrite(0x02); Delay1ms(20); LCD_CmdWrite(0x04); LCD_DataWrite(0x03); Delay1ms(20); LCD_CmdWrite(0x01); LCD_DataWrite(0x80); Delay1ms(20); Set RA8875 display off : LCD_CmdWrite(0x01); LCD_DataWrite(0x00); Delay100ms(1); Set sleep mode: LCD_CmdWrite(0x01); LCD_DataWrite(0x02); Resume SPI Clock rate TFT LCD Backlight on 圖 6-20 : SPI 睡眠/喚醒 RAiO TECHNOLOGY INC. 77/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-2-4 IIC 介面 MPU RA8875 VDD PS SIFS1 SIFS0 VDD VDD VDD 1KΩ~10KΩ IICA1 IICA0 SDA SDI (SDA) SCK SCL (SCK) 50pF 圖 6-21 : IIC 的 MCU 介面圖 IIC 介面由 SCK 與 SDA 兩條資料匯流排線所組成,相容於標準的 IIC 介面,只有直接支援 100K bps 以及 400K bps 兩種模式。IIC 傳輸的前 7 個位元,是指 IIC 的 Spec 中定義的從屬 (Slave) 端位址, 在 RA8875 中被分為 2 個部份。前 6 個位元代表 RA8875 的 IIC device ID。接下來 1 個位元是 RS, 代表周期類型。當 RS = 1,代表接下來的週期為指令週期;當 RS = 0,為資料週期。若 IIC 匯流排 上的週期的 MSB 6 位元與 RA8875 的 device ID 相同,RA8875 的 IIC 從屬 (Slave) 就會動作。 RA8875 的配置位置(Device ID) 是可程式化的,但只限於LSB的 2 個位元, 可以直接從IICA[1:0] 的 腳位設定。其他MSB的 4 個位元都固定為 0,請參考 表 6-3。RA8875 有 4 種週期類型,分別為 : 「指令寫入」、「狀態讀取」、「資料寫入」與「資料讀取」週期。週期型態是由RS及RW位元所 設定,詳細的說明,請參考 圖 6-22 ~ 圖 6-25。 表 6-3 : IIC 配置位置 IICA [5:0] BIT5 BIT4 BIT3 BIT2 0000b RAiO TECHNOLOGY INC. 78/191 BIT1 BIT0 IICA1 IICA0 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 START STOP 1 2 3 4 5 6 7 8 9 1 2 3 5 4 7 6 8 9 SCL MSB SDA RS RW A IICA[5:0] 0 S LSB DB DB DB DB DB DB DB DB A/A 7 0 6 5 4 3 2 1 0 REG_DAT / P MEM_DAT FROM MPU TO RA8875 RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM RA8875 TO MPU A/A: ACKNOWLEDGE/NOT ACKNOWLEDGE 圖 6-22 : IIC 資料匯流排的資料寫入 START STOP 1 2 3 4 5 6 7 8 9 1 2 3 4 6 5 7 9 8 SCL MSB SDA RS RW A IICA[5:0] 0 S LSB DB DB DB DB DB DB DB DB A/A 7 6 5 4 3 2 1 0 1 P REG_DAT / MEM_DAT RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ A/A: ACKNOWLEDGE/NOT ACKNOWLEDGE FROM MPU TO RA8875 FROM RA8875 TO MPU 圖 6-23 : IIC 資料匯流排的資料讀取 START STOP 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SCL MSB SDA IICA[5:0] RS RW A 1 S LSB DB DB DB DB DB DB DB DB A/A 7 0 6 5 4 3 2 1 0 REG_NO P FROM MPU TO RA8875 RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM RA8875 TO MPU A/A: ACKNOWLEDGE/NOT ACKNOWLEDGE 圖 6-24 : IIC 資料匯流排的指令寫入 RAiO TECHNOLOGY INC. 79/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 STOP START 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SCL MSB SDA IICA[5:0] RS RW 1 S A LSB DB DB DB DB DB DB DB DB A/A 7 0 6 5 4 3 2 1 1 P STUS_DAT RS 0:Data, 1:COMMAND/STATUS RW 0:WRITE, 1:READ FROM MPU TO RA8875 FROM RA8875 TO MPU A/A: ACKNOWLEDGE/NOT ACKNOWLEDGE 圖 6-25 : 資料匯流排的狀態讀取 6-1-3 狀態讀取暫存器 依據下 表 6-4, RA8875 可以接受四種資料傳輸週期,分別是「指令寫入」、「狀態讀取」、 「資料寫入」、「資料讀取」週期。在第五章也提到狀態暫存器是一唯讀 (Read Only) 的暫存 器,當”RS” 為High時,MCU若對RA8875 進行存取週期,將會得到狀態暫存器的數據。請參考 圖 6-26 的時序圖。 表 6-4 : RA8875 的存取週期 Access Cycle 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-26 : 狀態讀取暫存器 RAiO TECHNOLOGY INC. 80/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-4 指令寫入暫存器 RA8875 有許多個指令暫存器,當要針對某指令暫存器進行寫入指令時,首先必須執行「指令寫 入週期」,包括先寫入暫存器位置,然後再以「資料寫入週期」將數值寫入該暫存器。因此, 「指令寫入」意指「將資料寫到暫存器當中」,在前述兩個動作執行後,數值資料 (指令) 將被寫 入到該暫存器,相關時序請參考 圖 6-27 內的 (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-27 : 「指令寫入到暫存器」與「暫存器讀取」 若要讀取暫存器中的內容值,則第二個資料傳輸週期為「資料讀取週期」,請參考 圖 6-27 內的 (2)。需注意的是 圖 6-27 是以 8080 的傳輸介面來舉例。 RAiO TECHNOLOGY INC. 81/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-5 記憶體讀取/寫入的操作 記憶體 (DDRAM或CGRAM) 的讀取/寫入操作是由 2 個週期所組成的。首先執行暫存器 [02h] 的 「指令寫入週期」,然後再進行「資料讀取/寫入週期」。暫存器 [02h] 也稱為「記憶體讀寫指 令」,用來設定RA8875 進入記憶體讀取/寫入模式。之後的資料寫入/讀取週期便會進行記憶體 資料的寫入或資料讀取動作。當更多記憶體資料需要被讀取或寫入時,只要接著先前的週期再執 行「資料讀取/寫入週期」,不需要重新再進行「記憶體讀寫指令」。「資料讀取/寫入週期」可 持續進行直到完成資料的傳送。需注意在「記憶體讀取/寫入」的模式下不可交錯使用「資料讀取 週期」與「資料寫入週期」。因為游標在「記憶體讀取」及「記憶體寫入」是使用不同的操作。 詳細的說明請參考章節 7-3。注意「記憶體讀取」應在第一筆資料被讀取時先插入一個「空讀取 週期」(Dummy Read Cycle)。「空讀取週期」(Dummy Read Cycle) 與「資料讀取週期」相同, 但是裡面的資料是不使用的。「資料讀取週期」在「空讀取週期」後的資料才是正確的,請參考 圖 6-28 的說明。 圖 6-28 : 記憶體寫入與記憶體讀取 RAiO TECHNOLOGY INC. 82/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-6 中斷與等待 RA8875 提供兩種方式的硬體狀態回報方式,分別為中斷 (Interrupt) 與輪詢 (Polling)。對中斷方 式而言,RA8875 提供一個中斷信號輸出腳 (INT#) 給MCU去響應RA8875 的中斷事件。對輪詢方 式而言,也提供了一等待 (WAIT#) 信號輸出腳給MCU,去判斷RA8875 是否處於忙碌狀態。這兩 個信號都是低電位觸發,請參考本章的 圖 6-1 與 圖 6-2。 6-1-6-1 中斷 RA8875 的中斷信號會在以下事件發生時產生,相對應的暫存器為 [F1h]。 BTE 完成資料讀寫動作時,REG [F1h] Bit 0 被設定為 1。 文字 (Font) 寫入時,REG [F1h] Bit 0 被設定為 1。 BTE 完成圖形移動或塡圖時,REG [F1h] Bit 1 被設定為 1。 觸控面板發生被觸摸事件時,REG[F1h] Bit 2 被設定為 1。 DMA 事件完成時。 鍵盤掃描 (KEYSCAN) 事件動作時。 這些中斷事件的開啟 (Enable)或關閉 (Disable) 可以透過暫存器 INTC1(REG[F0h] 的設定來 控制。另外,RA8875 還提供了軟體中斷功能,當使用者的系統不支援硬體中斷信號時,可 以 透 過 詢 問 的 方 式 進 行 軟 體 中 斷 。 要 進 行 硬 體 中 斷 時 , 使 用 者 必須要把中斷遮罩位元 (Interrupt Mask) 設為 1,其進行步驟如下: RA8875 發出中斷信號給 MCU。 MCU 收到中斷信號後,其程式計數器 (PC)會跳到中斷服務程式 (ISR) 的起點。 同一時間 RA8875 的中斷事件相對的旗標位元會被設定為“1” (REG[F1h])。例如,當 觸控面板控制器中斷產生,其觸控面板中斷標誌位元就會被設為 “1”。 在 ISR 完成時,旗標位元必需被清除。也就是,寫入“1”到相對的狀態暫存器。 若使用軟體中斷方式時,使用者不需要任何外部設置,只要透過讀取暫存器 INTC2 的相關位 元就可以檢測中斷是否發生。此外,中斷遮罩 (Interrupt Mask)設置只能應用在硬體中斷,不 能遮罩暫存器 INTC2 的相關狀態。要注意的是,因為中斷旗標位元不會自動清除,所以使用 者必須在進入中斷程式後手動清除為”0”,就是暫存器 INTC2(REG[F1h])的 Bit2 寫入 1,否則 中斷會一直存在而使後續的中斷錯誤。 RAiO TECHNOLOGY INC. 83/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-6-2 等待 RA8875 也提供一個等待信號(WAIT#),當 WAIT#為”0” 時就意味 RA8875 正處於忙碌狀態, 而不能把數據寫入顯示記憶體 (DDRAM),而其處於忙碌情況可分為以下四種 : 1. 當 MCU 用文字模式寫入數據時,字體大小不同的字型需要不同的時間去寫入 DDRAM 裡,在這段時間裡 RA8875 是不能再往 DDRAM 裡寫數據的,此時正處 於記憶體寫入忙碌狀態。 2. 當 MCU 發指令讓 RA8875 執行清除螢幕功能時,這段時間裡的 RA8875 在清理 DDRAM 同時也會引起記憶體寫入忙碌。 3. 當 RA8875 在執行 BTE 搬移功能時,此時的 RA8875 會自動進行 DDRAM 的寫入 或讀取功能,此時 MCU 執行 DDRAM 的存取會造成顯示異常。. 4. 當 MCU 執行指令寫入,RA8875 約需要一個時脈時間 (System Clock) 來寫入,若 MCU 速度比 RA8875 的時脈快出許多,有可能在一個時脈時間內執行兩個或更多 的 RA8875 命令,此時建議要檢查 RA8875 是否處於忙碌狀態,當然大部分情況 下是不需要特別確認的。. 在記憶體寫入忙碌時,向 DDRAM 寫入資料會造成顯示資料的遺失。所以使用者在以上四種 情況下寫入顯示資料時,一定要檢查等待狀態。正常情況下,會把等待信號“WAIT#” 接到 MCU 的輸入腳上, MCU 會在 RA8875 寫入數據前,對其忙碌狀態進行監控,其具體時序圖 如下所示。 RS, CS# t WST WR# DB[7:0] (Write) t WAIT WAIT# 圖 6-29 : WAIT# 時序圖 RAiO TECHNOLOGY INC. 84/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-1-7 資料匯流排與TFT的RGB資料格式 6-1-7-1 16位元資料匯流排 RA8875 支援 8-bit/16-bit顏色格式的TFT-LCD 面板,也就是所謂的 256 色與 65K 色TFTLCD面板。RA8875 支援MCU介面中 8/16 位元的資料匯流排,當寫入顯示記憶體時,RGB 顏色位元排列(RGB color bit mapping) 所對應的資料格式請參考 圖 6-30。 15 65K colors 0 MPU DATA BUS R4 R3 R2 R1 R0 G5G4G3G2G1G0 B4 B3 B2 B1 B0 15 256 colors 7 MPU DATA BUS 0 R2 R1 R0 G2G1G0 B1 B0 圖 6-30 : MCU 16-bit 時 Data Bus 所對應到的 RGB 數據 6-1-7-2 8位元資料匯流排 當 MCU 使用 8-bit 時,Data Bus 所對應到的 65K 色、256 色 TFT 面板的 RGB 數據如下。 65K colors 7 0 MPU DATA BUS R4 R3 R2 R1 R0 G5G4G3 7 1st cycle 0 MPU DATA BUS G2G1G0 B4 B3 B2 B1 B0 2nd cycle 256 colors 7 0 MPU DATA BUS R2 R1 R0 G2G1G0 B1 B0 圖 6-31 : MCU 8-bit 時 Data Bus 所對應到的 RGB 數據 RAiO TECHNOLOGY INC. 85/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-2 驅動介面的色彩設定模式 RA8875 的 邏 數 位 TFT 驅 動 介 面 共有 16 條資料信號,最多可支援 65K 色的資料格式 (Data Format)。透過暫存器的設定,RA8875 可提供 256 色的 RGB 資料格式輸出,使 TFT 顯示達到相同的 色彩深度效果。有關色彩設定的暫存器設定,請參考 REG[10h](SYSR) 的 Bit 3-2,其資料格式定義 如下。 256 color mode Color format 7 PDAT[15:0] 0 15 R2 R1 R0 G2G1G0 B1 B0 11 10 5 4 0 R2 R1 R0 R2 R1 G2G1G0G2G1G0 B1 B0 B1 B0 B1 65K color mode Color format 15 PDAT[15:0] 0 15 R4 R3 R2 R1 R0 G5G4G3G2G1G0 B4 B3 B2 B1 B0 11 10 5 4 0 R4 R3 R2 R1 R0 G5G4G3G2G1G0 B4 B3 B2 B1 B0 圖 6-32 : 色彩設定 RAiO TECHNOLOGY INC. 86/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-3 LCD 介面 RA8875 支援 16-bit 顏色格式的面板尺寸,從 320x240 到 480x272 的雙圖層,640x480 到 800x480 的單圖層。8-bit 顏色格式從 320x240 到 800x480 雙圖層。 RA8875 支援數位TFT介面,透過安排資料匯流排 (Data Bus) 的連接,在大部分的模組皆可正常的使 用。表 6-5 是有關RA8875 與數位TFT介面的信號連結說明。相關的時序說明請參考 圖 6-33,應用電 路請參考 圖 6-34。另外,RA8875 的PWM輸出,可用來控制TFT面板的LCD背光,請參考章節 6-7 的說明。 表 6-5 : 數位 TFT 介面的信號說明 Pin Name Type Pin# HSYNC VSYNC PCLK DE PDAT[15] PDAT[14] PDAT[13] PDAT[12] PDAT[11] PDAT[10] PDAT[9] PDAT[8] PDAT[7] PDAT[6] PDAT[5] PDAT[4] PDAT[3] PDAT[2] PDAT[1] PDAT[0] Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output 47 48 49 50 69 68 67 66 65 64 63 59 58 57 56 55 54 53 52 51 RAiO TECHNOLOGY INC. 8-bit R2 R1 R0 G2 G1 G0 B1 B0 87/191 Digital TFT Panel 16-bit 18-bit HSYNC Pulse VSYNC Pulse Pixel Clock Data Enable R4 R5, R0 R3 R4 R2 R3 R1 R2 R0 R1 G5 G5 G4 G4 G3 G3 G2 G2 G1 G1 G0 G0 B4 B5, B0 B3 B4 B2 B3 B1 B2 B0 B1 24-bit R7, R2 R6, R1 R5, R0 R4 R3 G7, G1 G6, G0 G5 G4 G3 G2 B7, B2 B6, B1 B5, B0 B4 B3 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 VPW VND VST VDH VSYNC HSYNC PDATA LINE N LINE 1 LINE N DE HSYNC HPW HDW HND HST PCLK DE PDATA Valid Data 圖 6-33 : 數位 TFT 面板時序圖 8080 MCU RS A0 A1-A7/A1-A15 IORQ Digital TFT Display RA8875 Decoder CS# DB[15:0] DATA[15: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-34 : RA8875 與數位 TFT 介面 RAiO TECHNOLOGY INC. 88/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-4 外部串列式Flash/ROM RA8875 建立了串列式 Flash/ROM 的介面,來支援下列的傳輸模式 : 4-BUS 正常讀取 (Normal Read)、 5-BUS 快速讀取 (FAST Read)、雙倍模式 0 (Dual mode 0)、雙倍模式 1 (Dual mode 1) 以 及模式 0 (Mode 0) 與模式 3 (Mode 3)。 串列式Flash/ROM記憶體功能可用在文字模式 (FONT Mode)、DMA模式及直接存取模式。文字模式 意指外部串列式Flash/ROM記憶體被當成字體點陣圖的來源。為了支援文字字體,RA8875 可與專業 的字體供應商 — 上海集通公司的FONT ROM相容,相關的細節請參考章節 6-4-1。 DAM 模式意指串列式 Flash/ROM 可當作 DMA (Direct Memory Access) 的資料來源。使用者可以透 過此模式,加快資料傳送到顯示記憶體(Display RAM) 的速度。串列式 Flash/ROM 可以直接被串列式 介面存取。對不同的串列 Flash/ROM 的類型而言,RA8875 可以設定串列式 Flash/ROM 的時脈到暫 存器 [06h],也就是為 RA8875- SFCL 腳位。需注意當開啟暫存器[E0h] 的直接存取模式後,RA8875 將會忽略暫存器 [05h] 關於 FONT / DMA 的設定。 SFCL SFDI RA8875 SERIAL SFDO ROM 0 SFCS0 SFCS1 SERIAL ROM 1 圖 6-35 : RA8875 串列式 Flash/ROM 系統 有關串列式Flash/ROM的傳輸設定,請參考 表 6-6。 表 6-6 : 串列式 Flash/ROM 傳輸相關暫存器參數設定 Protocol REG [05h] BIT[3] REG [05h] BIT [1:0] 4-BUS (Normal Read) 0h 0h 5- BUS (FAST Read) 1h 0h Dual Mode 0 0h 2h Dual Mode 1 0h 3h RAiO TECHNOLOGY INC. 89/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 SFCS0 SFCL (MODE3) SFCL (MODE0) SFDI SFDO 圖 6-36 : Mode 0 與 Mode 3 的傳輸方式 24T 8T 8T 8T SFCS0 SFCL SFDI 03h Addr [23:0] SFDO D0 D1 D2 If REG[05h] Bit 6 set to 0, Then Addr state will be 24T 圖 6-37 : 4-BUS (正常) 讀取 8T 24T 8T 8T SFCS0 SFCL SFDI 0Bh Dummy Addr [23:0] SFDO D0 D1 If REG[05h] Bit 6 set to 0, Then Addr state will be 24T 圖 6-38 : 5-BUS (快速) 讀取 RAiO TECHNOLOGY INC. 90/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 8T 24T 8T 4T 4T 4T 4T 3Bh Addr [23:0] Dummy D0 D1 D2 D3 D0 D1 D2 D3 SFCS0 SFCL SFDI SFDO If REG[05h] Bit 6 setting 0, Then Addr state will be 24T SFDI B7 B5 B3 B1 SFDO B6 B4 B2 B0 圖 6-39 : 雙倍模式 – 0 讀取 COMMAND = BBh ADDRESS 8T 12T DUMMY 4T D0 D1~Dn-1 Dn 4T 4T SFCS0 SFCL SFDI 7 6 SFDO 1 0 23 21 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 22 20 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 If REG[05h] Bit 6 setting 0, Then Addr state will be 12T 圖 6-40 : 雙倍模式 – 1 讀取 RAiO TECHNOLOGY INC. 91/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 外部串列式字體記憶體 6-4-1 RA8875 透過使用 — 上海集通公司 (Genitop Inc) 外部串列式字體記憶體 (Font ROM),可支援各 樣 的 文 字 寫 入 到 DDRAM 中 。 RA8875 與 上 海 集 通 公 司 (Genitop Inc) 相 容 的 產 品 包 含 : GT21L16TW/GT21H16T1W 、 GT30L16U2W 、 GT30L24T3Y/GT30H24T3Y 、 GT30L24M1Z 、 及 GT30L32S4W/GT30H32S4W。這些字體包含 16x16, 24x24, 32x32 點 (Dot) 與不同的字寬。 有三種文字編碼的格式 : 1 byte/2 bytes/4 bytes data,其說明如下: 1. 1 byte 文字編碼 – 所有的字型記憶體 (Font ROMs) 皆為 ASCII code 。 2. 4/2 bytes GB 文字編碼– 在 GT30L24M1Z 內的 GB18030 標準碼。 3. 2 bytes 文字編碼 + 2 bytes 索引碼 (Index Code) – 只用在 GT30L16U2W 的 UNI-CODE 。 4. 其它文字編碼長度只有 2 bytes 。 在採用特定的字體記憶體 (Font ROM) 前,建議使用者應該先了解編碼的規則,詳細的資訊請與 上海集通公司 (Genitop Inc) 聯絡。 需注意在 GT30L16U2W 的規格書中,UNI-CODE 文字編碼需要額外參照 “ZFindex Table” 來決 定 真 正 的 記 憶 體 輸 入 位 元 位 置 (Bitmap ROM Address) 。 若 使 用 者 在 00A1h~33D5h 或 E76Ch~FFE5h 的範圍內寫入一個 UNI-CODE,是一個特定的編碼區域,之後額外的 2bytes 文 字編碼就需要參考 “ZFindex Table”。其他外部的 UNI-CODE 範圍只需要 2bytes 的文字編碼,詳 細說明請參考 GT30L16U2W 的規格書。 舉例說明,若使用者用 GT30L16U2W 寫入 UNI-CODE (00A2),位在 00A1h~33D5h 的範圍,之 候 MCU 必須寫入額外的 2bytes 文字編碼 — 來自 ZFindex 到 RA8875 的索引。 1st Byte 00h 2nd Byte A2h 3rd Byte 00h ZFindex MSB 4th Byte 01h ZFindex LSB 圖 6-41 註 : 其他資訊請參考章節 7-4-2。 RAiO TECHNOLOGY INC. 92/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-4-2 外部串列式資料記憶體 外部串列 Flash/ROM 介面可以當作資料的來源,在 RA8875 中可用兩種模式所存取。 DMA (Direct Memory Access) 模式 串列Flash/ROM介面可以用來當作DMA功能的資料來源,Flash/ROM可以用來做大量資料的儲 存,詳細說明情參考章節 7-10。 直接存取模式 串列Flash/ROM介面可以用RA8875 直接進行存取。首先透過內部暫存器的位置設定,之後設定 位置的資料可以從特定的暫存器來進行讀取。請參考 圖 6-42 的流程圖。 Start REG [E1h] Setting Addr [7:0] REG [05h] ROM Protocol REG [E0h] Enable Direct Access Check Status BIT0 REG [E1h] Setting READ REG [E2h] Addr [23:16] Read Next Address Data REG [E1h] Setting Read Next Data REG [E0h] Disable Addr [15:8] Direct Access End 圖 6-42 : 直接存取模式流程圖 RAiO TECHNOLOGY INC. 93/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-5 觸控介面 RA8875 內建一組 10 位元ADC和控制電路,可以連接 4 線電阻式的觸控面板。4 線電阻式的觸控面板 是由兩層非常薄的電阻式面板所組成,如 圖 6-43,在兩層面板中間有一小縫隙,當有外力施加在面板 上某一點時,兩層電阻式面板將被觸碰 (Touch),形成迴路而導通,由於兩層電阻式面板的端點含有 電極 (XP,XN,YP,YN),如 圖 6-44,因此相對於觸碰的位置,系統將偵測到一個XY的座標值。 YU(YT) XR XL YD(YB) 圖 6-43 : 4-wire 觸控面板架構 VDD YP XP XN VDD YN 圖 6-44 : 4-wire 觸控面板原理 RAiO TECHNOLOGY INC. 94/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 對使用者而言,應用RA8875 4 線電阻式觸控面板功能只需連接XR,XL,YD,YU等四條信號線到RA8875 即可,系統就能不斷監測,直到觸控的事件 (Touch Event) 發生為止。當觸控事件發生時,在觸控面 板電阻上所產生的分壓將決定觸控所在位置。在XY座標值被傳回到RA8875,並個別儲存在特定的暫 存器後,觸控面板控制器 (Touch Panel Controller) 將發出一中斷告知MCU。圖 6-45 為 4-wire觸控面 板的應用電路。 腳位 ADC_VREF 是 ADC 的輸入參考電壓,可以由暫存器[71h] 的 Bit5 來決定使用內部產生參考電 壓,或是外部輸入參考電壓,當使用外部參考電壓時,可用分壓電阻產生一 1/2 VDD 的電壓給 ADC_VREF,正負誤差在 5%之內,同時必須接一個 1~10uF 的電容到地以提生 ADC 轉換的穩定度。 RA8875 VDD 10~100kΩ VDD 10kΩ 1% ADC_VREF 10kΩ 1% Touch Panel XP XR XN XL YP YD(YB) YN YU(YT) 1uF 30pFx4 圖 6-45 : 4-wire 觸控面板應用電路 RAiO TECHNOLOGY INC. 95/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-6 鍵盤掃描功能 RA8875 內建一鍵盤掃描電路,使系統具備鍵盤 (Keyboard) 功能,它有助於整合具有鍵盤功能的應用 電路。如 圖 6-46 為一 4x5 鍵盤的基本應用電路。 KIN4 KIN3 KIN2 KIN1 KIN0 Column # RA8875 KOUT0 KOUT1 Row # KOUT2 KOUT3 圖 6-46 : 4x5 鍵盤的基本應用電路 6-7 脈寬調變介面 RA8875 提供兩個可調節的脈寬調變 (PWM) 輸出,可供給 LCD 進行背光亮度調節 (Backlight) 或其他 用途。其 PWM 的頻率和工作週期(Duty Cycle) 都可以透過相關暫存器的設定來調整。 圖 6-47 是應用PWM調節TFT面板背光的應用電路,此電路可用PWM的輸出從 0% ~ 100% 工作週期 (Duty Cycle) 來控制LED電流約 20mA ~ 0mA。 圖 6-47 : PWM 控制 TFT 面板背光的應用電路 RAiO TECHNOLOGY INC. 96/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-8 時脈 (Clock) 與 PLL RA8875 系統時脈 (System Clock) 是由外部的石英震盪器,配合內部晶體振盪電路及 PLL 電路所產 生。內部的晶體振盪電路,它結合外部在 XI 和 XO 兩腳間的石英震盪器 (15MHz~30MHz)和電阻、電 容產生基本頻率,再透過 PLL 電路及暫存器 (REG[88h] 、[89h]) 設定,然後產生系統時脈供 RA8875 內部使用。相關的示意圖如下。 RA8875 ~ 15MHz 30MHz XI 10pF Oscillator Y1 10pF PLL System Clock XO 1MΩ 圖 6-48 : 石英震盪電路與系統時脈的產生 RA8875 系統時脈產生的公式如下 : System Clock = Y1x ( PLLDIVN [4:0] +1 ) / ( ( PLLDIVM+1 ) x ( 2^PLLDIVK [2:0] ) ) 例如 : Y1 = 20MHz PLLDIVM = 0, ( PLLDIVM 也就是 REG[88h] 的 Bit7 ) PLLDIVN [4:0] = 01011b, ( PLLDIVN 也就是 REG[88h] 的 Bit[4:0] ) PLLDIVK [2:0] = 010b, ( PLLDIVK 也就是 REG[89h] 的 Bit[2:0] ) System Clock = 20MHz x ( 11+1 ) / ( ( 0+1 ) x ( 2^2 ) ) = 20MHz x10 / 4 = 60MHz 系統頻率 (SYS_CLK) 的預設值與外部晶體振盪器頻率相同。同時注意,當 REG[88h] 或 REG[89h] 被設定後,為了保證 PLL 輸出的穩定,必須等待一段「鎖頻時間」(約 >100us)以完成 PLL 頻率改變 的程序。 RAiO TECHNOLOGY INC. 97/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RA8875 支援多種解析度的面板,然而較高解析度的面板需要更快的系統時脈,除了考慮配合MCU達 到更快的畫面資料更新,也要讓面板的Frame Rate不致太低造成畫面閃爍,表 6-7 代表不同面板解析 度與Clock 的需求,這些設定的前提以顯示換頁頻率為 60 Frame/sec和假設非顯示區和顯示區時間比 例為 20%。 表 6-7 : Clock 設定與面板解析度的關係 Display Resolution 320x240 320x480 480x272 640x480 640x480 800x480 800x480 RAiO TECHNOLOGY INC. Layer No. 2 2 2 2 1 2 1 Color Depth ( Bits ) 16 16 16 8 16 8 16 Frame ( Hz ) 60 60 60 60 60 60 60 98/191 Pixel Clock ( PCLK ) 6.4MHz 12.8MHz 9MHz 25MHz 25MHz 30~33MHz 30~33MHz www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-9 重置功能 在RA8875程式化之前,建議先完成重置動作。RA8875的重置 (Reset) 動作必須在供電後提供不少於 1024*tc 的時間來進行,以25MHz 的系統頻率來說,其重置脈衝寬度就要不少於40.96µs。為了讓 RA8875 正確的接受指令,我們建議RA8875供電後一定要進行重置動作。 圖 6-49 : RST# 接腳的使用範例 圖 6-49 是一重置電路接法範例。其重置動作可以用MCU去控制如圖 6-49 內的 (1),也可以由一RC電 路來產生如圖 6-49內的 (2)。 RA8875 在重置過程中不能接受MCU的任何指令,所以應在重置後才可對內部暫存器進行初始化等設 定,在VDD穩定後,重置腳RST# 在上升沿之後最少需延遲 1ms的時間才能進行其他操作,這樣可確 保系統的穩定性,詳細參數要求可以參考 圖 6-50。 圖 6-50 : 重置時序參數 RAiO TECHNOLOGY INC. 99/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RA8875 在重置時 (RST# = Low),相關輸出信號的狀態如 表 6-8 所示。 表 6-8 : 重置時相關輸出信號的狀態 RAiO TECHNOLOGY INC. Signal Name Output Status WAIT#, INT# High PWM1, PWM2 Low PDAT[15:0] Low VSYNC, HSYNC High PCLK, DE Low KOUT[3:0] Low GPOX Low 100/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 6-10 電源 6-10-1 電源腳位說明 RA8875 所需的工作電源是 3.3V及 1.8V。3.3V用於供應IO、LDO、DAC與ADC所需電源。而 1.8V可以由內部LDO產生,用於供應核心電路所需電源。為了考慮RA8875 的正常工作,請勿將 LDO產生的 1.8V電源供給其他元件使用,詳細的電源腳位說明請參考章節 4-8。 6-10-2 電源結構 RA8875 的電源結構如下 圖 6-51 所示,在PCB板設計上,每個電源端加上濾波電容 (0.1uF),同 時儘可能接近RA8875 的電源接腳。同時LDO輸出端LDO_CAP與LDO_OUT則務必各自接上 1uF 以上的濾波電容,已達到良好的穩壓效果。 3.3V 0.1uF 3.3V OSC_VDDP ADC_VDD OSC_GNDP 0.1uF ADC OSC_VDD OSC_GND 0.1uF VDDP 0.1uF LDO_OUT ADC_GND 0.1uF OSC & PLL GND LDO LDO_GND 0.1uF VDDP CORE GND 0.1uF CORE_VDD 圖 6-51 : RA8875 的電源接法 RAiO TECHNOLOGY INC. 101/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7. 功能描述 7-1 捲動功能 RA8875 提供水平及垂直捲動兩種功能。藉由設定捲動視窗的偏移值,整個顯示區域可移動一個偏移 值,而且偏移超過捲動視窗右邊界的區域,會從捲動視窗開頭的地方再開始顯示,就像是”捲動”的效 果一般。 7-1-1 捲動視窗與捲動偏移值 捲動視窗的定義了捲動作用的範圍。捲動偏移值則為捲動視窗的捲動效果。在捲動範圍內,顯示 效果會隨偏移值的單位設定 (像素) 而移動。透過暫存器的設定來增加或減少捲動偏移值,可看到 捲動的效果。捲動範圍外的區域則不受捲動偏移值的影響。捲動視窗是由顯示區域的兩個點來設 定的,例如 : 起始點及結束點。起始點及結束點是由對等的方法來表示。有關捲動視窗暫存器及 偏移值的設定,請參考 表 7-1及 表 7-2。請注意 : HSSW必須小於HESW,且VSSW必須小於 VESW。 表 7-1 : 捲動視窗暫存器設定 Reg. NO. Abbreviation 38h, 39h HSSW[9:0] Horizontal Start Point of Scroll Window 3Ah, 3Bh VSSW[8:0] Vertical Start Point of Scroll Window 3Ch, 3Dh HESW[9:0] Horizontal End Point of Scroll Window 3Eh, 3Fh VESW[8:0] Vertical End Point of Scroll Window Description 表 7-2 : 捲動偏移值暫存器設定 7-1-2 Reg. NO. Abbreviation 24h, 25h HOFS[10:0] 26h, 27h VOFS[9:0] Description Horizontal Scroll Offset Register Vertical Scroll Offset Register 水平捲動與垂直捲動 RA8875 提供水平捲動的功能。使用者可以在顯示區域利用增加或減少解析度的值來移動,靈活 地分配捲動範圍。使用者完成區塊捲動的效果,請參考 圖 7-1。 RAiO TECHNOLOGY INC. 102/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RAiO RAiO RAiO ... O RAi 圖 7-1 : 水平捲動效果 註: 水平旋轉偏移值 HOFS 必須小於水平旋轉設定範圍 HESW – HSSW。 垂直捲動的功能與水平捲動的功能相似,不同地方的是偏移值的設定會造成垂直捲動效果。請參 考 圖 7-2 的範例。需注意水平偏移值與垂直偏移值可以同時設定。 RAiO RA8875 RAiO RA8875 RAiO RAiO RA8875 ... RA8875 RA8875 圖 7-2 : 垂直捲動效果 註: 垂直旋轉偏移值 VOFS 必須小於垂直旋轉設定範圍 VESW - VSSW 。 7-1-3 圖層混合捲動 圖層混合捲動功能與先前描述的其他捲動功能相似。使用者的應用共有 4 種模式 : 圖層 1 的捲 動、圖層 2 的捲動、雙圖層同時捲動、用圖層 2 作為緩衝的捲動,有關暫存器的設定請參考 表 7-3。 RAiO TECHNOLOGY INC. 103/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-3 : 捲動功能的暫存器設定 Reg. NO. 52h Abbreviation Description Layer Transparency Register 0 B[7:6]Layer 1/2 Scroll mode 00b:Layer 1/2 scroll simultaneously. LTPR0 01b:Only Layer 1 scroll 10b:Only Layer 2 scroll 11b:Buffer scroll (use Layer 2 as buffer) 7-1-3-1 圖層1 與圖層2 同時捲動 當圖層 1 與圖層 2 捲動模式被設為 00b,使用者可以透過增加或減少偏移值 (單位: 像素),更彈性 的分配顯示區域的捲動範圍,圖層 1 與圖層 2 可以同時捲動。可透過的設定LTPR0[2:0] 來覆蓋圖 層 1 與圖層 2。需注意若同時設定圖層 1 與圖層 2,且當LTPR0[2:0] 被設為只可顯示圖層 1 或只 可顯示圖層 2 的情況下,只會顯示出一個圖層。顯示效果請參考 圖 7-3 的案例。 RAiO Layer 1 + Layer 2 = RAiO RAiO RAiO RAiO … RAiO Layer 1/2 scroll at the same time 圖 7-3 : 圖層 1 與圖層 2 同時捲動的效果 7-1-3-2 只捲動圖層1 當LTPR0[7:6] 被設為 01b時,捲動視窗中只能顯示圖層 1。調整顯示效果案例請參考 圖 7-4。 RAiO TECHNOLOGY INC. 104/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RAiO Layer 1 + Layer 2 = RAiO RAiO RAiO RAiO … RAiO Only Layer 1 scroll 圖 7-4 : 只捲動圖層 1 的效果 7-1-3-3 只捲動圖層2 當LTPR0[7:6] 被設為 10b,捲動視窗中只能顯示圖層 2。顯示與圖層 1 相似,此功能在不同應用 上更有彈性。相關的顯示效果請參考 圖 7-5。 RAiO Layer 1 + Layer 2 = RAiO RAiO RAiO RAiO … RAiO Only Layer 2 scroll 圖 7-5 : 只捲動圖層 2 的效果 註 : HOFS(REG[24h-25h]) 的偏移值必須小於 HESW – HSSW,且 VOFS(REG[26h-27h]) 的偏移 值必須小於 VESW – VSSW。 RAiO TECHNOLOGY INC. 105/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-1-3-4 緩衝捲動 當LTPR0[7:6] 被設為 11b,可設定緩衝捲動模式。在圖層 1 與圖層 2 的捲動視窗記憶體區域,被 視為捲動顯示的連續性記憶體。無論水平或垂直捲動的偏移值,都可以設為捲動視窗的 2 倍長度 或寬度。在實際的應用上非常有用,因為有一捲動區域的區塊是看不見的。當此區塊為不可見 的,使用者可以進行更新,捲動效果可以流暢的進行, 請參考 圖 7-6 例子。 RAiO Layer 1 Layer 2 RAiO O … RAiO … RAiO Buffer scroll (use Layer 2 as buffer) 圖 7-6 : 緩衝捲動的效果 註 : HOFS(REG[24h-25h] 的偏移值,必須界於 0 ≦ HOFS ≦ (2{ HESW – HSSW} + 1) 間,而且 VOFS(REG[26h-27h]) 的偏移值,必須界於 0 ≦ VOFS ≦ (2{ VESW – VSSW} + 1)。 RAiO TECHNOLOGY INC. 106/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-2 工作視窗 7-2-1 工作視窗的文字寫入 當RA8875 執行文字寫入功能時,文字寫入的邊界線將會被限制在一個名為工作視窗(Active Window) 的區塊內。文字寫入方向的初始值設定是由左到右,然後由上到下。當文字向右水平寫 入時,碰到右邊界線時文字游標會跳到下一行的左邊界處。若下一行的位置超過最底部的邊界 線,游標會跳到視窗開始的位置,亦即最左上角的邊界位置。關於工作視窗的文字寫入效果可以 參考 圖 7-7。需注意的是,若文字寫入游標被設在工作視窗的邊界之外,文字仍然會寫在文字游 標的位置,直到碰到右邊的邊界線或顯示區域的邊界。當碰到邊界時,文字寫入游標會換行,然 後依照工作視窗規則,請參考 圖 7-8 的例子。 RA8875 is a text/graphic mixed disp lay with 2 layers Active window 圖 7-7 : 工作視窗的文字寫入效果 RA8875 is a text/graphic mixed display wit h 2 layers Touch the Active window Active window 圖 7-8 : 當文字寫入游標在工作視窗外的文字寫入效果 RAiO TECHNOLOGY INC. 107/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-2-2 工作視窗的幾何圖形顯示 工作視窗也控制幾何輸入的繪圖功能。只有工作視窗內的部份可以繪圖,請參考 圖 7-9。 Over the Active Window, will not be draw Within the Active Window, will be draw Active window 圖 7-9 : 在工作視窗中畫直線 註 : 工作視窗有關應用幾何功能應用上的例外條件如下: 1. 工作視窗不支援當畫橢圓。 2. 當畫圓的時候,假設圓心是 (X, Y) 且半徑為 R,在 Y + R >= 512 的情況下,工作視窗的限制沒 有作用。 7-2-3 工作視窗中的DMA功能顯示 工作視窗也提供DMA的邊界線功能。DMA功能的目標是由工作視窗設定的。需注意DMA的來源 為一區塊,若此區塊的定義大於工作視窗。超過工作視窗的部分會從工作視窗的起始點開始資料 被覆蓋,有關詳細的內容請參考章節 7-10 的說明。 7-2-4 工作視窗的記憶體讀寫 當 RA8875 執行記憶體讀寫功能時,此功能的邊界線將會被工作視窗 (Active Window) 所控制。 記憶體讀寫方向的初始值設定是由左到右,然後上到下。當記憶體讀寫時,碰到最右邊的邊界線 時,讀寫位置游標會跳到下一行的左邊界線。若下一行的位置超過最底部的邊界線,游標會跳到 視窗開始的位置。需注意,若記憶體讀寫游標設在工作視窗外的區塊,資料仍然會依游標的設定 位置讀寫記憶體,直到碰到右邊的邊界線或顯示的邊界線。當碰到邊界時,記憶體讀寫游標會換 行,然後依照工作視窗規則。 RAiO TECHNOLOGY INC. 108/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3 游標與圖形樣板 根據使用者不同的應用,RA8875 提供彈性且強大的游標與圖形樣板功能。RA8875 定義了四種不同 的游標 ─ 圖形游標、記憶體讀取游標、記憶體寫入游標、文字寫入游標。圖形游標是一個 32x32 像 素的圖形游標功能,可顯示在使用者所設定的位置上。當位置改變的時候,圖形游標就會移動。記憶 體讀取游標與記憶體寫入游標是用在記憶的讀取/寫入上,記憶體讀取/寫入游標會在記憶體資料寫入/ 讀出週期後自動移動,記憶體寫入游標定義了記憶體寫入資料的位置,記憶體讀取游標則定義記憶體 讀取操作被讀取的位置。 記憶體寫入游標是一個資料被寫入的位置,記憶體讀取游標與記憶體寫入游標可被設定為自動移動或 不被分開,移動方向也可單獨地設定,初始的的設定值為由左到右、由上到下自動的增加。需注意只 有記憶體寫入游標是可見的,記憶體讀取游標在面板上不會顯示出來。文字寫入游標提供文字寫入功 能有關的游標,此區塊的形狀、寬度與高度皆可透過程式設定。文字寫入游標的顯示位置,指的是文 字正在寫入的位置。 另外 RA8875 也支援圖形樣板的功能,圖形樣板是個 8x8/16x16 像素的大小,顏色深度最多為 16bpp 的圖案,圖形樣板的顏色深度由 REG[10h] 的 Bit 3-2 所設定。經由與 BTE 引擎功能搭配,可以用於 重覆複製填滿某一個指定的區域,可以加速使用者對於重複動作的需求並降低 MCU 的負擔。 7-3-1 游標種類 7-3-1-1 圖形游標 圖形游標大小為 32x32 像素,每一像素由 2 個位元共 4 種顏色來設定,此 4 種顏色分別為 0 號顏 色 (Color 0)、1 號顏色 (Color 1)、背景色與背景的反向色 (The inversion of background color)。 每個圖形游標共需 256 bytes (32x32x2/8)。RA8875 內建記憶體提供使用者 8 款自訂圖形游標, 可 由 暫 存 器 來 選 擇 或 設 定 。 圖 形 游 標 的 顯 示 位 置 可 以 由 暫 存 器 GCHP0 (REG[80h]) 、 GCHP1(REG[81h])、GCVP0(REG[82h]) 和GCVP1(REG[83h]) 設定。圖形游標的顏色可以由暫 存器GCC0(REG[84h]、 GCC1(REG[85h])、背景色、背景的反向色,依照圖形游標裡面的資料 設定。請參考 圖 7-10 的說明。 RAiO TECHNOLOGY INC. 109/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 2 Bits Represent 1 Pixel Pixel Color 00b GCC0 (REG[84h]) 01b GCC1 (REG[85h]) 10b Background Color 11b The Inversion of Background Color 0 1 GCC0 Color GCC1 Color Background Color ~Background Color ... ... 256 Bytes 0 0 0 1 0 0 0 1 2 Bits Represent 1 Pixel 255 0 1 0 1 0 0 0 0 圖 7-10 : 記憶體對應和圖形游標的關聯 使用步驟 : 1. 透過暫存器 GCC0[REG[84h] 與 GCC0[REG[85h].設定 GCC0 與 GCC1 顏色。 2. 透過 MWCR1(REG[41h]) 來設定圖形游標的編號並選擇寫入目標為圖形游標。 3. 使用繪圖模式來寫入圖形游標資料到圖形游標的儲存空間。 4. 開啟圖形游標功能(REG[41h] Bit7)。 5. 寫入GCHP0(REG[80h])、GCHP1(REG[81h]) 、GCVP0(REG[82h]) 、 GCVP1(REG[83h]) 來改變圖形游標位置,請參考 圖 7-11 的顯示範例。 RA8875 RAiO 圖 7-11 : 圖形游標的顯示 RAiO TECHNOLOGY INC. 110/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3-1-2 記憶體讀取游標 記憶體讀取游標是記憶體讀取操作時的記憶體位置,記憶體讀取游標是不可見的。此游標的位置 與記憶體寫入游標、文字寫入游標是獨立開來的。記憶體讀取游標可以被設為自動增加或非自動 增加,並且游標可設定四種移動方向。需注意記憶體寫入游標在圖形模式或文字模式中,是可以 使用的,請參考 表 7-4 的說明。 表 7-4 : 記憶體讀取游標相關暫存器 Register Name Bit Num 7 MWCR0 0 MRCD 1-0 RCURH0/1 RCURV0/1 9-0 8-0 Function Description Text Mode Enable 0 : Graphic mode. 1 : Text mode. Memory Read Cursor Auto-Increase Disable Memory Read Direction 00b : Left Æ Right then Top Æ Down. 01b : Right Æ Left then Top Æ Down. 10b : Top Æ Down then Left Æ Right. 11b : Down Æ Top then Left Æ Right. Memory Read Cursor Horizontal Location Memory Read Cursor Vertical Location Address [40h] [45h] [4Ah]、[4Bh] [4Ch]、[4Dh] 7-3-1-3 記憶體寫入游標 記憶體寫入游標位在在圖形模式中記憶體寫入操作中的記憶體中,記憶體寫入游標是可見的。此 游標的位置與記憶體寫入游標、文字寫入游標是獨立的。記憶體寫入游標可以被設為自動增加或 非自動增加、閃爍或不閃爍。游標移動可設成四種方向,請參考 表 7-5 的說明。 表 7-5 : 記憶體寫入游標相關的暫存器 Register Name Bit Num 7 6 MWCR0 5 3-2 1 CURH0/1 CURV0/1 9-0 8-0 RAiO TECHNOLOGY INC. Function Description Address Text Mode Enable 0 : Graphic mode. 1 : Text mode. Font Write Cursor/ Text Write Cursor Enable 0 : Font write cursor/ Text Write Cursor is not visible. 1 : Font write cursor/ Text Write Cursor is visible. Font Write Cursor/ Text Write Cursor Blink Enable 0 : Normal display. [40h] 1 : Blink display. Memory Write Direction (Only for Graphic Mode) 00b : Left Æ Right then Top Æ Down. 01b : Right Æ Left then Top Æ Down. 10b : Top Æ Down then Left Æ Right. 11b : Down Æ Top then Left Æ Right. Memory Write Cursor Auto-Increase Disable 0 : Cursor auto-increases when memory write. 1 : Cursor doesn’t auto-increases when memory write. [46h]、[47h] Memory Write Cursor Horizontal Location [48h]、[49h] Memory Write Cursor Vertical Location 111/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3-1-4 文字寫入游標 文字寫入游標是用在文字模式,是可見的。此游標的位置可以與記憶體讀取游標分開設定,與記 憶體寫入游標類似,文字寫入游標可以被設為自動增加或非自動增加、閃爍或不閃爍。游標可以 在工作視窗內自動移動。當在寫入文字時,游標會自動移動到下一個文字寫入的位置。依據文字 的大小與文字方向,當碰到工作視窗的邊界線時,游標會自動換下一列。兩列之間的距離可以由 像素 (Pixel)來設定。表 7-6 列出相關暫存器的描述。 表 7-6 : 文字寫入游標相關的暫存器 Register Name Bit Num Function Description Address FLDR 4-0 Font Line Distance Setting Register(FLDR) CURH0/1 9-0 Font Write Cursor Horizontal Location [2Ah]、[2Bh] CURV0/1 8-0 Font Write Cursor Vertical Location [2Ch]、[2Dh] 7 MWCR0 6 5 7-3-2 [29h] Text Mode Enable 0 : Graphic mode. 1 : Text mode. Font Write Cursor/Memory Write Cursor Enable 0 : Font write cursor/Memory Write Cursor is not visible. 1 : Font write cursor/Memory Write Cursor is visible. Font Write Cursor/Memory Write Cursor Blink Enable 0 : Normal display. 1 : Blink display. [40h] 游標屬性 7-3-2-1 游標閃爍 記憶體寫入游標與文字寫入游標可設為開啟、關閉或固定頻率的閃爍,皆由相同的暫存器來設 定,此控制暫存器為 MWCR0(REG[40h])。閃爍的效果是重複游標的開啟(可見)、關閉(不可 見)。閃爍的時間可以透過程式化設定,計算的公式如下,單位是秒 (Second) : Blink Time (sec) = BTCR[44h]x(1/Frame_Rate). 圖 7-12是游標閃爍的例子,游標閃爍的位置隨著最新的資料或文字寫入而移動。 RAiO 瑞佑科技 圖 7-12 : 游標閃爍 RAiO TECHNOLOGY INC. 112/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3-2-2 游標的高度與寬度 除了圖形游標與記憶體讀取游標,另外兩種形式的游標是可以透過設定來設定高度與寬度。文 字 寫 入 游 標 的 可 設 定 寬 度 與 高 度 組 成 一 個 區 塊 , 控 制 的 暫 存 器 為CURHS(REG[4Eh]) 、 CURVS(REG[4Fh])。記憶體寫入游標的形狀是一條線可以設定寬度,高度則固定為 1 像素。 寬度的控制的暫存器與文字寫入游標相同,例如CURHS(REG[4Eh]),請參考 圖 7-13 與 圖 7-14。文字寫入游標的高度與寬度也與另外一個係數相關,那就是文字放大的設定暫存器 (REG[2Eh] Bit3~0)。若放大的係數為 1,寬度就只透過CURHS/CURVS的設定為 1~32 像 素。若放大的係數不是 1,則為實際的游標的寬度與高度必須再乘上這個放大係數。圖 7-13 為文字水平/垂直放大,係數為 1 的範例。需注意文字寫入游標不會被文字旋轉影響,若文字 旋轉 90 度,文字寫入游標仍然會正常的情況相同。相關的顯示請參考 圖 7-15 與 圖 7-16。 REG[4Eh] Font Write Cursor and Memory Write Cursor Horizontal Size Register (CURHS) CURHS[4:0] Width (Unit : Pixel) 00000b ~ 11111b 1 ~ 32 1 pixel 2-pixel 3-pixel 32-pixel REG[4Fh] Font Write Cursor Vertical Size Register (CURVS) CURVS[4:0] Height (Unit : Pixel) 00000b ~ 11111b 1 ~32 1 pixel 2-pixel 3-pixel 32-pixel 圖 7-13 : 文字寫入時游標高度與寬度的設定 REG[4Eh] Font Write Cursor and Memory Write Cursor Horizontal Size Register (CURHS) CURHS[4:0] Width (Unit : Pixel) 00000b ~ 11111b 1 ~ 32 1 pixel 2-pixel 3-pixel 32-pixel 圖 7-14 : 計憶體寫入時游標寬度設定 RAiO TECHNOLOGY INC. 113/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RAiO 瑞佑科技 RAiO 瑞佑科技 圖 7-15 : 文字水平寫入時游標移動 圖 7-16 : 文字垂直寫入時游標移動 RAiO TECHNOLOGY INC. 114/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-3-3 圖形樣板 RA8875 內建樣板記憶體 (Pattern Memory) 可以寫入圖形樣板資料,記憶體的資料定義為圖形樣 板資料(Pattern Data),是一個點陣圖的圖表。當 2D 相關的圖形樣板功能啟動時,指定的圖形樣 板記憶體資料會填入指定的區域中。 使用者可以用 REG[41h] 來指定圖形樣板記憶體,而使用 REG[66h] 來設定圖形樣板的格式與編 號。RA8875 支援 8x8/16x16 像素的圖形樣板樣式,如果圖形樣板為 8x8 像素,RA8875 可以依 使用者需求最多定義 16 個樣板。如果圖形樣板為 16x16 像素,RA8875 可以依使用者需求最多 定義 4 個樣板。圖形樣板的編號與格式會決定存取樣板的記憶體位置的安排。 Pattern Memory RA8875 8-bit /16-bit Logic MCU 8-bit /16-bit REG[41h] bit3-2=Pattern REG[66h] =Pattern No 圖 7-17 : 8/16 位元的色彩模式 表 7-7 : 使用 Pattern 相關的暫存器 Register Name Bit Num Function Description Address MWCR1 3-2 [41h] PTNO 7-0 Memory control register for setting pattern memory to access. Pattern Number, the index of pattern for MCU to access pattern memory [66h] 圖形樣板的詳細功能介紹,請參考章節 7-6 BTE 功能的說明。 RAiO TECHNOLOGY INC. 115/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-4 文字 7-4-1 內部文字記憶體 RA8875 內建 8x16 點的 ASCII 字型 ROM,提供使用者更方便的方式用特定編碼 (Code) 輸入文 字。內建的字集支援 ISO/IEC 8859-1~4 編碼標準,此外,使用者可以透過 REG[60h~62h] 選擇 文字前景顏色,以及透過 REG[63h~65h] 選擇背景顏色,文字寫入的程序請參考下圖。 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[63h~65h], REG[60h~62h] Write the font Code CMD_WR[02h] DATA_WR[font_code] 圖 7-18 : ASCII 字型 ROM 的寫入程序 RAiO TECHNOLOGY INC. 116/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-8 內含ISO/IEC 8859-1 標準的字集。ISO是國際標準化組織的簡稱,ISO/IEC 8859-1 又 稱 ”Latin-1” 或「西歐語言」,是國際標準化組織內ISO/IEC 8859 的第一個發展的 8 位元字集。 以ASCII為基礎,包含了 0xA0-0xFF的範圍內 192 個拉丁字母及符號。此字集編碼使用遍及西 歐,包括阿爾巴尼亞語、巴斯克語、布列塔尼語、加泰羅尼亞語、丹麥語、荷蘭語、法羅語、弗 裡斯語 (Frisian)、加利西亞語、德語、格陵蘭語、冰島語、愛爾蘭蓋爾語、義大利語、義大利 語、拉丁語、盧森堡語、挪威語、葡萄牙語、里托羅曼斯語、蘇格蘭蓋爾語、西班牙語及瑞典 語。 英語雖然沒有重音字母,但仍會標明為 ISO 8859-1 編碼,歐洲以外的部份語言,如南非荷蘭語、 斯瓦希里語、印尼語及馬來語、菲律賓他加洛語 (Tagalong) 也可使用 ISO8859-1 編碼。 表 7-8 : ASCII 字碼表 1 (ISO/IEC 8859-1) 註 : 在表 7-8 中 0x80-0x9F 間的紅色字體,由瑞佑科技保留。 RAiO TECHNOLOGY INC. 117/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-9 內為ISO/IEC 8859-2 的標準字集,又稱Latin-2 或「中歐語言」,是國際標準化組織內 ISO/IEC 8859 的第二個 8 位字元集。此字元集主要支援以下文字 : 克羅埃西亞語、捷克語、匈牙 利語、波蘭語、斯洛伐克語、斯洛維尼亞語、索布語。而阿爾巴尼亞語、英語、德語、拉丁語也 可用此字元集顯示。芬蘭語中只有外來語才有å字元,若不考慮此字元,ISO/IEC8859-2 也可用於 瑞士及芬蘭語。 表 7-9 : ASCII 字碼表 2 (ISO/IEC 8859-2) RAiO TECHNOLOGY INC. 118/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-10 內為ISO/IEC 8859-3 之標準字集,又稱Latin-3 或「南歐語言」,是國際標準化組織內 ISO/IEC 8859 的第三個 8 位字元集。它原先設計來表示土耳其語及馬爾他語文字,但土耳其語已 改用ISO/IEC 8859-9 顯示,現時只有世界語及馬爾他語仍使用此字元集。此字元集同時能支援以 下文字 : 英語、德語、義大利語、拉丁語及葡萄牙語。 表 7-10 : ASCII 字碼表 3 (ISO/IEC 8859-3) RAiO TECHNOLOGY INC. 119/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-11 內為ISO/IEC 8859-4 之標準字集,又稱Latin-4 或「北歐語言」,是國際標準化組織內 ISO/IEC 8859 的第四個 8 位字元集,它設計來表示愛沙尼亞語、格陵蘭語、拉脫維雅語、立陶宛 語及部分薩米語 (Sami) 文字,此字元集同時能支援以下文字 : 丹麥語、英語、芬蘭語、德語、拉 丁語、挪威語、斯洛維尼亞語及瑞典語。 表 7-11 : ASCII 字碼表 4 (ISO/IEC 8859-4) RAiO TECHNOLOGY INC. 120/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-4-2 外部 Font ROM RA8875 的外部串列 ROM 介面是一個彈性方式,在不同應用上提供更多的字集編碼。此介面相 容 於 集 通 公 司 (Genitop Inc) 的 部 分 串 列 字 型 ROM 。 支 援 產 品 編 號 包 含 : GT21L16TW 、 GT30L16U2W、GT30L24T3Y、GT30L24M1Z 與 GT30L32S4W。針對不同的產品,可提供 16x16、24x24、32x32 字型大小以及不同的字寬。 REG[06h] 提供使用者調整存取外部串列 Flash/ROM 週期的速度,才能與 ROM 需要的存取時間 互相配合。是外部 Font ROM 的寫入程序請參考下圖 : Text mode REG[40h] bit7=1 Background color External Font ROM Select REG[21h] bit7=0, bit5=1 Foreground color External Font ROM Cycle Speed Select REG[06h] External Font ROM type and font type select REG[05h], REG[2Eh], REG[2Fh] Font foreground and background color Select REG[63h~65h], REG[60h~62h] Write the font code CMD_WR[02h] DATA_WR[font_code0] DATA_WR[font_code1] DATA_WR[font_code3] 圖 7-19 : 外部 Font ROM 的寫入程序 RAiO TECHNOLOGY INC. 121/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-4-3 CGRAM (Character Generation RAM 自建字庫功能) RA8875 支援 CGRAM 功能,提供 256 個半型字的空間,讓使用者自己創造所要的字型或符號, 使用者只要寫入字型或符號到指定字碼位置,然後再寫入相對應的字碼,RA8875 將可寫入字型 或符號到 DDRAM。此外設定暫存器 REG[63h~65h]和 REG[60h~62h]可以選擇自建文字的前景 顏色和背景顏色。寫入程序請參照下圖 : 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[21h] bit7=0 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] Write the font or symbol CMD_WR[02h] DATA_WR[font_code] 圖 7-20 : CGRAM 的寫入程序 RAiO TECHNOLOGY INC. 122/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 CGRAM space CGRAM NO = 0x02 data0 data1 CGRAM NO 0x00 0x01 0x02 0x03 0xFE 0xFF data15 CGRAM NO = 0x03 data0 data1 1. Display RAM data15 1.Write half size CGRAM font (DATA_WR[00h]) 2. 2.Write two half size CGRAM font (DATA_WR[02h], DATA_WR[03h]) Background color foreground color 圖 7-21 : CGRAM 的寫入圖示 RAiO TECHNOLOGY INC. 123/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-4-4 文字 90 度轉向 RA8875 藉由設定暫存器 REG[22h] Bit4 = 1,可支援文字 90 度轉向的顯示功能,如下圖所示。 圖 7-22 : 文字 90 度轉向 7-4-5 文字放大與通透功能 設定暫存器 REG[22h] 的 Bit[3:0],RA8875 支援文字放大功能;暫存器 REG[22h] 的 Bit6 可使用 通透功能,而以上這幾個文字功能可同時使用,其顯示效果請參考下圖 : Horizontal x2 Vertical x2 RAiO transparent RAiO 圖 7-23 : 文字放大與通透功能 RAiO TECHNOLOGY INC. 124/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-4-6 文字換行 RA8875 支 援 文 字 在 工 作 視 窗 中 自 動 寫 入 且 自 動 換 行 , 也 就 是 游 標 自 動 移 位 , 透 過 暫存器 REG[40h] Bit1 = 0 設定,當文字超過水平或垂直工作視窗範圍時,文字會自動移動及換行,其顯 示效果請參考下圖 : 技 Auto move 瑞佑科技 RAiO Horizontal range of active window 瑞佑科 技 Vertical range of active window 瑞佑科 Active window 圖 7-24 : 文字自動換行 7-4-7 文字全型對齊 RA8875 支援文字全型對齊,暫存器設定為 REG[22h] Bit7 = 1 後,當寫入半型和全型文字到 DDRAM 時,可自動判斷並排列整齊,在文字的顯示視覺上比較好看。其寫入半型和全型文字的 顯示效果如下圖 : 瑞 R 瑞 R 歡 迎 佑 A i 科 O 佑 A i 科 光 臨 瑞 Non full-alignment 技 O 佑 Full-alignment 技 科 技 Display RAM 圖 7-25 : 文字對齊 RAiO TECHNOLOGY INC. 125/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5 幾何圖案繪圖引擎 7-5-1 圓形輸入 RA8875 支援圓形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫圓。先設定 圓的中心點 REG[99h~9Ch],圓的半徑 REG[9Dh],圓的顏色 REG[63h~65h],然後啟動繪圖 REG[90h] Bit6 = 1,RA8875 就會將圓的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所 畫的圓。若設定 REG[90h] Bit5 = 1,則可畫出一實心圓 (Fill);若設定 REG[90h] Bit5 = 0,則可 畫出空心圓 (Not Fill),寫入程序請參照下圖 : 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[63h~65h] center radius color center radius color 圖 7-26 : 繪圖功能 - 畫圓 RAiO TECHNOLOGY INC. 126/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-2 橢圓輸入 RA8875 支援橢圓繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫橢圓。先設 定 橢 圓 的 中 心 點 REG[A5h~A8h] , 橢 圓 的 長 軸 與 短 軸 REG[A1h~A4] , 橢 圓 的 顏 色 REG[63h~65h],橢圓的相關參數 REG[A0h] Bit5=0 與 Bit4=0,然後啟動繪圖設定 REG[A0h] Bit7 = 1,RA8875 就會將橢圓的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所畫的橢 圓。若設定 REG[A0h] Bit6 = 1,則可畫出一實心橢圓 (Fill),寫入程序請參照下圖 : Set the center of a ellipse REG[A5h~A8h] Don’t fill a ellipse REG[A0h] bit6=0 fill a ellipse REG[A0h] bit6=1 Start drawing ellipse REG[A0h] bit7=1 Start drawing ellipse REG[A0h] bit7=1 Set the long and short axis of a ellipse REG[A1h~A4h] Set the color of a ellipse REG[63h~65h] short axis Set draw ellipse condition REG[A0h] bit5=0,bit4=0 short axis Long axis center Long axis center color color 圖 7-27 : 繪圖功能 - 畫橢圓 RAiO TECHNOLOGY INC. 127/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-3 曲線輸入 RA8875 支援曲線繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫曲線。先設 定 曲 線 的 中 心 點 REG[A5h~A8h] , 曲 線 的 長 軸 與 短 軸 REG[A1h~A4] , 曲 線 的 顏 色 REG[63h~65h],曲線的相關參數為 REG[A0h] Bit5=0 與 Bit4=1, REG[A0h] Bit[1:0] 是橢圓的曲 線部份,然後啟動繪圖設定 REG[A0h] Bit7 = 1,RA8875 就會將橢圓的圖形寫入 DDRAM,相對 的在 TFT 模組上就可以顯示所畫的曲線。若設定 REG[A0h] Bit6 = 1,則可畫出一實心曲線 (Fill),寫入程序請參照下圖 : Set the center of a curve REG[A5h~A8h] Don’t fill a curve REG[A0h] bit6=0 fill a curve REG[A0h] bit6=1 Start drawing curve REG[A0h] bit7=1 Start drawing curve REG[A0h] bit7=1 Set the long and short axis of a curve REG[A1h~A4h] Set the color of a curve REG[63h~65h] DECP = 01 DECP = 10 short axis Set draw curve condition REG[A0h] bit5=0,bit4=1 short axis Long axis center color DECP = 00 Long axis center color DECP = 11 Set draw curve part select REG[A0h] bit[1:0](DECP) 圖 7-28 : 繪圖功能 – 畫曲線 RAiO TECHNOLOGY INC. 128/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-4 方形輸入 RA8875 支援方形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫方形。先設 定方形的起始點 REG[91h~94h]與結束點 REG[95h~98h],方形的顏色 REG[63h~65h],然後啟 動繪圖設定 REG[90h] Bit4=1, Bit0=0 且 REG[90h] Bit7 = 1,RA8875 就會將方形的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所畫的方形。若設定 REG[90h] Bit5 = 1,則可畫出一 實心方形 (Fill),寫入程序請參照下圖 : 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] Start point Set the color of a square REG[63h~65h] color Set draw a square REG[90h] bit4=1, bit0=0 Start point End point color End point 圖 7-29 : 繪圖功能 – 畫方形 註 : 起始點與終點位置不相同 RAiO TECHNOLOGY INC. 129/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-5 直線輸入 RA8875 支援直線繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫直線。先設 定直線的起始點 REG[91h~94h] 與結束點 REG[95h~98h],直線的顏色 REG[63h~65h],然後啟 動繪圖設定 REG[90h] Bit4 = 0, Bit0=0 且 REG[90h] Bit7 = 1,RA8875 就會將直線的圖形寫入 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 Start point Set the color of a line REG63h~65h] End point color color End point Start point 圖 7-30 : 繪圖功能 – 畫直線 註 : 起始點與終點位置不相同 RAiO TECHNOLOGY INC. 130/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-6 三角形輸入 RA8875 支援三角形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫三角形。 先設定三角形的第 0 點 REG[91h~94h]、第 1 點 REG[95h~98h]、第 2 點 REG[A9h~ACh],三角 形的顏色 REG[63h~65h],然後啟動繪圖設定 REG[90h] Bit0 = 1 且 REG[90h] Bit7 = 1,RA8875 就會將三角形的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所畫的三角形。若設定 REG[90h] Bit5 = 1,則可畫出一實心三角形 (Fill),寫入程序請參照下圖 : Set point0 of a triangle REG[91h~94h] Don’t fill a triangle REG[90h] bit5=0 fill a triangle REG[90h] bit5=1 Start drawing triangle REG[90h] bit7=1 Start drawing triangle REG[90h] bit7=1 Set point1 of a triangle REG[95h~98h] Set point2 of a triangle REG[A9h~ACh] point1 point1 Set the color of a triangle REG[63h~65h] Set draw a triangle REG[90h] bit0=1 point0 color point2 point0 color point2 圖 7-31 : 繪圖功能 – 畫三角形 RAiO TECHNOLOGY INC. 131/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-5-7 圓角方形輸入 RA8875 支援圓角方形繪圖功能,讓使用者以簡易或低速的 MCU 就可以在 TFT 模組上畫圓角方 形。先設定圓角方形的起始點 REG[91h~94h]、結束點 REG[95h~98h]、圓角 REG[A1h~A4h], 圓角方形的顏色 REG[63h~65h],然後啟動繪圖設定 REG[A0h] Bit5=1 且 REG[A0h] Bit7 = 1, RA8875 就會將圓角方形的圖形寫入 DDRAM,相對的在 TFT 模組上就可以顯示所畫的圓角方 形。若設定 REG[A0h] Bit6 = 1,則可畫出一實心圓角方形 (Fill),寫入程序請參照下圖 : Set start point of a circle square REG[91h~94h] Don’t fill a circle square REG[A0h] bit6=0 fill a circle square REG[A0h] bit6=1 Start drawing circle square REG[A0h] bit7=1 Start drawing circle square REG[A0h] bit7=1 Set the end of a circle square REG[95h~98h] Set circle corner of a circle square REG[A1h~A4h] Start point Start point Set the color of a circle square REG[63h~65h] color Set draw a circle square REG[A0h] bit5=1 End point Circle corner color End point Circle corner 圖 7-32 : 繪圖功能 – 畫圓角方型 RAiO TECHNOLOGY INC. 132/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6 BTE 引擎功能 (僅支援並列式MCU 介面) RA8875 內建一 2D 加速引擎功能,稱為 BTE (Block Transfer Engine),可增強區塊資料處理的效率。 當區塊性資料需要搬移或需特定邏輯處理時,可透過 RA8875 的 BTE 功能快速地完成且可簡化 MCU 的程序。此 BTE 相容於 2D BitBLT 標準功能,而本節將討論 BTE 引擎的運作和功能。 在使用BTE引擎功能之前,使用者必須先設定相對應的BTE操作碼,選擇想要的操作模式。RA8875 支援 13 種BTE操作模式。關於BTE引擎操作碼說明,請參考 表 7-12。對於每一種BTE操作模式,可 搭配最多 16 種的光柵運算碼 (ROP,Raster Pperations),提供以區塊為範圍的多功能的邏輯運算。 光柵運算來源 (ROP Source) 和光柵目的地(ROP Destination) 可提供不同的邏輯組合,透過BTE操作 碼及光柵運算碼的組合,使用者可實現許多有用的運用。光柵運算的來源與目的地的設定也提供彈性 的方式,使用者可以設定為方形的顯示區域 (區塊模式),或連續記憶體區塊 (線性定址模式)。關於 BTE的操作,請參考下面章節的進一步詳細說明。 BTE引擎共有二種方式來確認BTE處理過程的完成,一是處理軟體輪詢 (Polling) 來確認是否忙碌,另 一個是使用硬體中斷 (Interrupt)。當BTE引擎在處理過程中,狀態暫存器裡的BTE忙碌旗標會被設定, 藉以反應BTE操作完成與否,請參考章節 5-1 的狀態暫存器。硬體中斷 (INT#) 是另一種可確認BTE過 程結束的方式,使用者可先設定REG[F0h],若BTE操作完成,RA8875 將發出硬體中斷通知MCU, MCU便可藉由檢查中斷狀態去確定BTE引擎的狀態。當BTE引擎尚未完成運轉前,除了REG[02h] 或 REG[F1h] 外,使用者不可寫入指令給RA8875,以免影響正確的顯示結果。而且使用BTE時必須在繪 圖模式下進行,也就是暫存器REG [40h] Bit7 = 0。 表 7-12 : BTE 操作碼動作說明 BTE Operation REG[51h] Bits [3:0] BTE Operation 0000b Write BTE with ROP. Please refer to 表 7-13. 0001b Read BTE. 0010b Move BTE in positive direction with ROP. Please refer to 表 7-13. 0011b Move BTE negative direction with ROP. Please refer to 表 7-13. 0100b Transparent Write BTE. 0101b Transparent Move BTE in positive direction. 0110b Pattern Fill with ROP. Please refer to 表 7-13. 0111b Pattern Fill with transparency. 1000b Color Expansion. Please refer to 表 7-14 1001b Color Expansion with transparency. Please refer to 表 7-14. 1010b Move BTE with Color Expansion. Please refer to 表 7-15. Move BTE with Color Expansion and transparency. Please refer to 表 7-15. Solid Fill. 1011b 1100b Other combinations RAiO TECHNOLOGY INC. Reserved 133/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-12 說明RA8875 支援 13 種BTE操作模式,其中BTE操作碼為“0000”、“0010”、“0011”、 “0110” 時必須配合光柵運算碼,才能知道詳細的動作,請參考 表 7-13。 表 7-13 : 光柵運算 (ROP) 功能 (1) ROP Bits REG[51h] Bit[7:4] 0000b 0001b 0010b 0011b 0100b 0101b 0110b 0111b 1000b 1001b 1010b 1011b 1100b 1101b 1110b 1111b Boolean Function Operation 0 ( Blackness ) ~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 ( Whiteness ) 註: 上述 ROP 功能”S”代表來源資料,”D”代表目的資料。以圖形樣板填入 (Pattern Fill) 功能為例, 來源資料表示圖形樣板資料。 範例 : 若 ROP 功能設定 Ch,則目的資料 = 來源資料 若 ROP 功能設定 Eh,則目的資料 = S + D 若 ROP 功能設定 2h,則目的資料 = ~S・D 若 ROP 功能設定 Ah,則目的資料 = 目的資料 RAiO TECHNOLOGY INC. 134/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-14 : 光柵運算功能 (2) ROP Bits REG[51h] Bit[7:4] Start Bit Position for Color Expansion BTE operation code = 1000 / 1001 16-bit MCU Interface 8-bit MCU Interface 0000b 0001b Bit0 Bit1 Bit0 Bit1 0010b 0011b 0100b 0101b 0110b 0111b 1000b 1001b 1010b 1011b 1100b 1101b 1110b 1111b Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Invalid Invalid Invalid Invalid Invalid Invalid Invalid Invalid 表 7-15 : 光柵運算功能 (3) ROP Bits REG[51h] Bit[7:4] 0000b 0001b 0010b 0011b 0100b 0101b 0110b 0111b 1000b 1001b 1010b 1011b 1100b 1101b 1110b 1111b RAiO TECHNOLOGY INC. Start Bit Position for Move Color Expansion BTE operation code = 1010 / 1011 Color Depth = 65Kcolors Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 135/191 Color Depth = 256 colors Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Invalid Invalid Invalid Invalid Invalid Invalid Invalid Invalid www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-1 選擇BTE起始點位置及圖層 在雙層顯示的組態下,光柵運算的來源和目的資料可以選擇從哪一個圖層提供。要設定光柵運算 的來源或目的前,要先設定水平和垂直起始點位置,請參考暫存器 VSBE0/1 和 VDBE0/1。圖層 的選擇也請參考 VSBE1 Bit[7] 與 VDBE1 Bit[7],VSBE1 Bit[7] 則用來設定光柵運算目的的圖層。 7-6-2 BTE 操作說明 7-6-2-1 BTE寫入 BTE 寫入功能提供 16 種雙運算元 (2 Operands) 的光柵運算。BTE 會將光柵運算的結果寫入 目的位置。 7-6-2-2 BTE讀取 BTE 讀取功能支援資料從來源位置讀取資料至 MCU 主機端的功能。此功能不需考慮光柵運 算。 7-6-2-3 BTE移動 BTE 移動功能提供 16 種雙運算元 (2 Operands) 的光柵運算。此功能也支援正向與反向移動 的選擇。 7-6-2-4 單色填滿 單色填滿 BTE 功能提供使用者可將特定的區域 (BTE 來源區域) 以特定顏色 BTE 前景色填滿 的功能。 7-6-2-5 圖案填滿 圖案填滿功能提供使用者將特定的 BTE 區域以特定的 8*8 像素圖案填滿的功能,此圖案被設 定於顯示範圍外的 DDRAM 中。 7-6-2-6 BTE通透填滿 BTE 通透填滿功能提供將特定的 BTE 區域以特定的 8*8 像素圖案填滿的功能,此圖案被設定 於顯示範圍外的 DDRAM 中。當圖案中的顏色與特定的顏色相同時,在此功能設定為 BTE 前 景色 (定義於 BTE Foreground Color 暫存器),目的區域的資料變不會被覆蓋,會保持通透 性,此功能不需考慮光柵運算。 RAiO TECHNOLOGY INC. 136/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-2-7 BTE通透寫入 BTE 通透寫入功能支援從主機端寫入字元區塊至 DDRAM 區域的功能。當資料來源中的顏色 與特定的顏色相同時,在此功能設定為 BTE 前景色 (定義於 BTE Foreground Color 暫存 器),目的區域的資料便不會被覆蓋,會保持通透性,此功能不需考慮光柵運算。 7-6-2-8 BTE通透移動 BTE 通透移動功能支援從 DDRAM 來源以正向方式寫入字元區塊至 DDRAM 區域的功能。 當資料來源中的顏色與特定的顏色相同時,在此功能設定為 BTE 前景色 (定義於 BTE Foreground Color 暫存器),目的區域的資料便不會被覆蓋,會保持通透性,此功能不需考 慮光柵運算。 7-6-2-9 顏色擴充 BTE 顏色擴充功能可將主機端的單色資料,以 8 或 16 位元的顏色深度格式擴充,並寫入 DDRAM 中,擴充方式如下: 資料” 1” 擴充為 BTE 前景色暫存器中設定的顏色。 資料” 0” 擴充為 BTE 背景色暫存器中設定的顏色。 若背景通透格式被開啟,目標顏色將會維持不變。 7-6-2-10 顏色移動 BTE 顏色移動功能可將不在顯示範圍中的單色資料,以 8 或 16 位元的顏色深度格式移動寫 入 DDRAM 中,若記憶體資料為”1” 則擴充為 BTE 前景色暫存器中設定的顏色,若記憶體中 資料來源為”0” 擴充為 BTE 背景色暫存器中設定的顏色,若背景通透格式被開啟,目標顏色 將會維持不變。 RAiO TECHNOLOGY INC. 137/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-3 BTE記憶體存取方式 BTE 引擎有兩種存取記憶體,分別是區塊記憶體和線性記憶體,其範圍及大小的設定定義於暫存 器 REG[5Ch]、[5Dh]、[5Eh] 和 [5Fh]。有關這兩種記憶體讀取方式的說明,請參考下面章節。 7-6-3-1 區塊記憶體讀取 使用此設定,BTE記憶體來源/目的資料會被視為一個顯示區域中的區塊,區塊寬度和高度定 義於REG[5Ch-5Fh],圖 7-33 範例表示來源和目的資料皆被設定為區塊記憶體讀取方式。 DPRAM - Layer Source Address Destination Address 圖 7-33 : BTE 區塊記憶體讀取 7-6-3-2 線性記憶體讀取 使用此設定,BTE記憶體來源/目的資料會被視為是一個顯示區域中的連續定址區域,其區域 長度定義於REG[5Ch-5Fh],其中長度計算為(BTE_WIDTH x BTE_HEIGHT),圖 7-34 範例 表示來源和目的資料皆被設定為連續記憶體讀取方式。 Source Linear Total Process Data length = BTE Width * High Destination Linear 圖 7-34 : BTE 的線性記憶體讀取 RAiO TECHNOLOGY INC. 138/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4 BTE 功能說明 7-6-4-1 BTE寫入搭配光柵運算功能 BTE 寫入功能可加快 MCU 到 DDRAM 的資料傳送速度。BTE 寫入搭配光柵運算功能可將 MCU 寫入的資料,經過光柵運算後,填入指定的 DDRAM 位置。BTE 寫入功能支援全部的 16 種光柵運算,也支援目標記憶體線性模式和目標記憶體區塊模式。BTE 寫入功能的資料來 源則由 MCU 提供。 使用者可使用硬體中斷或軟體忙碌確認的方式來得知 BTE 執行過程狀況。若使用者採取軟體 方式,可以讀取暫存器 BECR0 (REG[50h]) 的 Bit7 或是由狀態暫存器 (STSR) 的 Bit6 的狀態 而得知。若使用者採硬體中斷方式,必須確認 INT# 腳位必須連接到 MCU 的中斷腳位,再 用中斷暫存器 REG[F1h] 來確認中斷的來源是否為 BTE,以得知 BTE 功能是否完成。 RA8875 DDRAM MPU 圖 7-35 : BTE 寫入搭配光柵運算功能 以下為 BTE 搭配光柵運算功能執行的建議步驟,請參考以下暫存器設定。 1. 設定目的位置 Æ REG[58h], [59h], [5Ah], [5Bh] 2. 設定 BTE 寬度暫存器 Æ REG[5Ch], [5Dh] 3. 設定 BTE 高度暫存器 Æ REG[5Eh], [5Fh] 4. 設定光柵運算為目的 = 來源 Æ REG[51h] = Ch 5. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 6. 檢查 STSR Bit7 7. 寫入下一筆影像資料 8. 繼續第 6 和第 7 步驟直到影像資料(資料筆度 = 長度*寬度) 寫完或是檢查 STSR 的 Bit6 來 確定資料是否全部寫入 RAiO TECHNOLOGY INC. 139/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-36 : BTE 功能完成畫面 以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU 進行連接。 1. 設定 INTC1 暫存器 Æ REG[F0h] 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[F1h] Bit0 = 1 9. CMD [02h] 10. 寫入下一筆影像資料 11. 偵測中斷信號產生 12. 檢查得知 BTE 讀寫中斷,並清除中斷狀態暫存器 Æ REG[F1h] Bit0 = 1 13. 繼續步驟 9~12 直到影像資料全部寫入(資料筆度 = 長度*寬度) 或是由 STSR Bit6 來確定 所有資料是否全數寫入。 RAiO TECHNOLOGY INC. 140/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-2 BTE讀取功能 BTE 讀取功能可加速從 DDRAM 到 MCU 的資料傳送速度,動作類似 Burst Read 功能。此功 能一般用來加速將部分資料由 DDRAM 到系統記憶體搬移的動作,一旦 BTE 讀取功能開始, BTE 引擎會持續提供 DDRAM 資料給 MCU 讀取,直到所有的資料都被讀取完畢,BTE 處理 資料的筆數由 REG[5Ch-5Fh] 來設定 (BTE_WIDTH x BTE_HEIGHT)。 RA8875 MPU DDRAM 圖 7-37 : 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[F0h] 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[F1h] Bit1 = 1 10. 繼續步驟 7~9 u 直到圖像資料全部被讀出,或由 TSR Bit6 來確定所有資料是否全數讀出 RAiO TECHNOLOGY INC. 141/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-3 BTE正向移動搭配光柵運算功能 BTE 正向移動搭配光柵運算功能可執行將 DDRAM 中特訂區域移動至 DDRAM 的另一塊區 域,此功能操作可以加速不同區塊資料複製並且搭配光柵運算,節省大量 MCU 執行時間及 負載。 Destination Source 圖 7-38 : 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 是否完成 Æ check 2D final 圖 7-39 : BTE 功能運作前畫面 RAiO TECHNOLOGY INC. 142/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-40 : BTE 功能運作後畫面 RAiO TECHNOLOGY INC. 143/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-4 BTE反向移動搭配光柵運算功能 BTE 反向移動搭配光柵運算功能與正向移動功能幾乎是相同的功能,唯一的差別為移動的方 向。此功能先執行來源端至目的端的最後一筆資料的移動,再以反向的方式朝來源/目的端區 域的第一筆資料,逐筆進行 BTE 的移動動作。特別要注意的是,在來源端與目的端有重疊 的情況下,正向移動與反向移動功能會得到不同的結果。 Source Destination 圖 7-41 : 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 是否完成Æ check 2D final 圖 7-42 : BTE 功能運作前畫面 RAiO TECHNOLOGY INC. 144/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-43 : BTE 功能運作後畫面 RAiO TECHNOLOGY INC. 145/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-5 BTE通透性寫入功能 BTE 通透性寫入功能可以加增加 MCU 端系統記憶體至 DDRAM 的傳送速度,一旦 BTE 通 透性寫入功能開始,BTE 引擎會持續動作直到所有的像素都被寫入為止。 BTE 通透性寫入功能可用來更新一個 DDRAM 的特定區域,而由 MCU 提供資料來源,不同 於 BTE 寫入功能,BTE 通透性寫入功會忽略某些特定顏色的操作,此特定通透色可由使用 者設定,在 RA8875 中,此特定通透色設定於暫存器中的「BTE 前景色」中,當讀到來源顏 色為通透色時,便不執行寫入的功能。此功能在處理將一張圖片的部分圖形複製到 DDRAM 時很有幫助。不需被複製的地方,在來源圖片中便以「通透色」來處理,在 BTE 通透性寫 入功能執行時,便不會進入寫入功能,利用此功能可以很快的在任意背景圖上,寫入一個前 景圖案,例如來源圖案為一個藍色的背景搭配紅色的圓形圖案,藉著設定藍色為「通透色」 並且執行 BTE 通透性寫入功能,就相當於將一個紅色的圖形圖案貼到目地位置功能。BTE 通透性寫入功能在來源和目的資料設定皆支援線性和區塊定址模式。 Image RA8875 MPU DDRAM 圖 7-44 : 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 直到影像資料等於區塊影像資料,或檢查暫存器 STSR Bit6 RAiO TECHNOLOGY INC. 146/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-45 : BTE 功能執行前畫面 圖 7-46 : BTE 通透性寫入功能執行後畫面 以下為執行時的建議步驟,請參考以下暫存器設定。 1. 設定 INT# Æ REG[F0h] 2. 設定目的位置 Æ REG[58h], [59h], [5Ah], [5Bh] 3. 設定 BTE 寬度暫存器 Æ REG[5Ch], [5Dh] 4. 設定 BTE 高度暫存器 Æ REG[5Eh], [5Fh] 5. 設定暫存器目的 = 來源 Æ REG[51h] = C4h 6. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 7. 等待中斷產生 8. 清除 INT# BTE 讀取/寫入狀態 Æ REG[F1h] Bit0 = 1 9. CMD [02h] 10. 寫入圖像資料 11. 等待中斷產生 12. 清除 INT# BTE 讀取/寫入狀態 Æ REG[F1h] Bit0 = 1 13. 繼續執行步驟 9 ~ 12 直到影像資料等於區塊影像資料,或檢查暫存器 STSR Bit6 RAiO TECHNOLOGY INC. 147/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-6 BTE正向通透性移動功能 BTE 正向通透性移動功能執行將 DDRAM 的某一區塊至另一區塊的移動功能,但忽略通透色 的動作。與 BTE 通透性寫入功能相同的,它允許使用者設定某一個顏色為通透色,並且在遇 到通透色時,不執行移動的功能。「通透性寫入」與「通透性移動」不同之處在於操作的來 源設定,「通透性寫入」的來源資料來自系統記憶體或是 MCU,而「通透性移動」的來源則 為 DDRAM。因為來源資料來自 DDRAM,BTE 動作的方向必須被定義,否則會造成執行結 果的不確定,在「通透性移動」功能上,RA8875 僅支援正向的動作。 根據使用者設定,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] = 5h 6. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 7. 檢查狀態暫存器 (STSR) Bit6,確認 BTE 是否完成 Æ check 2D final 圖 7-47 : BTE 功能執行前畫面 RAiO TECHNOLOGY INC. 148/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-48 : BTE 功能執行後畫面 7-6-4-7 圖形樣板填入搭配光柵運算功能 圖形樣板填入搭配光柵運算功能可設定一個在 DDRAM 中的特定方形記憶區塊,並填入重覆 的特定圖形樣板。圖形樣板是 8x8/16x16 的像素圖形,存放在 DDRAM 中的非顯示區的特定 位置,圖形樣板並且可以配合 16 種光柵運算和目的資料做邏輯運算。此操作可以用來加速某 些需要在特定區域重覆貼入某一種圖形,像是背景圖案等應用 Pattern Panel Display Result 圖 7-49 : 圖形樣板填入搭配光柵運算功能 以下為圖形樣板填入搭配光柵運算功能執行時建議的步驟,請參考以下暫存器設定。 1. 設定目的圖層和位置 Æ REG[58h], [59h], [5Ah], [5Bh] 2. 設定 BTE 寬度和高度 Æ REG[5Ch], [5Dh], [5Eh], [5Fh] 3. 設定 BTE 操作碼和光柵運算碼 Æ REG[51h] Bit[3:0] = 06h 4. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 5. 檢查狀態暫存器 STSR Bit6,確認 BTE 是否完成 Æ check 2D final RAiO TECHNOLOGY INC. 149/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-50 : BTE 功能執行前畫面 圖 7-51 : 樣版範例 圖 7-52 : BTE 圖形樣版填入功能執行後畫面 RAiO TECHNOLOGY INC. 150/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-8 通透性圖形樣板填入功能 通透性圖形樣板填入功能可設定在一個 DDRAM 中的特定方形記憶體,並填入重覆的特並圖 形樣板。此功能與「圖形樣板填入搭配光柵運算」功能有相同的功能並且加入通透性的功 能。也就是對於特定的「通透色」,此 BTE 功能會予以忽略。圖形樣板是一個 8*8 像素大小 的圖形,存放在非顯示區的 DDRAM 中,在 BTE 啟動前,必須要先將圖形樣板塡好。值得注 意的是,對通透圖形樣板而言,通透色僅判別高位元之 256 色部分。也就是說 REG[63h] 的 BIT[4:2]、REG[64h] 的 BIT [5:3] 與 REG[65h] 的 BIT [4:3] 為有效。詳細設定請參考相關暫存 器之說明。 Pattern Panel Display result , if set blue color is transparency color 圖 7-53 : 通透性圖形樣板填入功能示意圖 以下為通透性圖形樣板塡入功能執行時的建議步驟,請參考以下暫存器設定。 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 是否完成 Æ check 2D final RAiO TECHNOLOGY INC. 151/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-54 : BTE 功能執行前畫面 圖 7-55 : 樣板圖例 圖 7-56 : 通透性圖形樣板填入功能執行後畫面 RAiO TECHNOLOGY INC. 152/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-9 顏色擴充功能 顏色擴充是一個很有用的功能,用來處理 MCU 的單色圖形資料轉換為彩色圖形資料,並寫入 DDRAM 中。此功能的來源資料為 MCU 提供的單色圖形資料 (Monochromes Bitmap)。而每 一個位元根據內容被轉換為 BTE 前景色或背景色。若來源位置值為”1” 則會被轉換為 BTE 前 景色,若為”0” 則會轉換為 BTE 背景色。此功能可以大大降低將單色系統資料轉換為彩色系統 資料的成本。顏色擴充功能會根據 MCU 的資料匯流排寬度,持續讀入 16 位元或 8 位元的資 料做轉換,並且可以位元為單位,設定每一行的第一筆單色圖形資料的起始轉換位元,並且在 每一行的最後一筆資料讀入後,超過範圍的位元也會被忽略而不寫入,而下一行則從下一筆資 料開始執行同樣的操作。這樣以位元為單位的運算大大增加此功能的彈性。另外,每一筆資料 的處理方向是從最高位元 (MBS) 至最低位元 (LSB)。 RA8875 Mono MPU Color DDRAM Bitmap Mono Color Bitmap Color Image RAIO production is very good RAIO production is very good 圖 7-57 : 顏色擴充功能的資料區塊圖 以下為顏色擴充功能執行時建議步驟,請參考以下暫存器設定。 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] = 08h 7. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 8. 檢查狀態暫存器 STSR Bit7,確認資料是否寫入 9. 寫入單色圖像資料 10. 繼續執行步驟 6、7 直到圖像更新完畢,或檢查暫存器 STSR Bit6 確認 BTE 執行完成 以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU 進行連接。 RAiO TECHNOLOGY INC. 153/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 1. 設定中斷控制暫存器 Æ REG[F0h] 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] = 08h 8. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 9. 等待中斷信號產生 10. 檢查得知 BTE 中斷,並清除中斷狀態暫存器 Æ REG[F1h] Bit0 = 1 11. 寫入單色圖像資料 12. 繼續執行步驟 9~11 直到圖像資料被更新完畢,或檢查狀態暫存器 STSR Bit6 確認 BTE 執行完成 圖 7-58 : BTE 功能執行前畫面 圖 7-59 : BTE 功能執行後畫面 RAiO TECHNOLOGY INC. 154/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 註: 1. 每列需送出的資料筆數 = ((BTE 寬度– (MCU 介面資料寬度 – (起始位元數 + 1)) ) / MCU 介面資料寬度) + ((起始位元數+ 1) % (MCU 介面資料寬度 )) 2. 所有需傳送的資料筆數 = (每列送出的資料筆數) x BTE 高度設定 D4 8bit D0 D1 D2 D3 MPU send to RA8875 data, the data have 8bit for one transmitter data, and serial send D0,D1,D2 ,D3,D4 ~~ Dn to RA8875 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-60 : 顏色擴充功能資料示意圖 RAiO TECHNOLOGY INC. 155/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-10 通透性顏色擴充功能 此 BTE 功能與顏色擴充功能幾乎是相同,除了加入通透性的功能。也就是對於特定的「通透 資料位元值」,此 BTE 功能會予以忽略。在此功能,通透資料位元值為”0”,也就是所有輸入 值為”1” 的位元將會被轉換為 BTE 的前景色並且寫入目的位置,所有的輸入值為”0” 的位元將 不被轉換,而保持原來的目的資料顏色值。 RA8875 Mono Color Bitmap MPU Mono Color Bitmap DDRAM Color Image RAIO production is very good RAIO production is very good 圖 7-61 : 通透性顏色擴充功能資料區塊圖 以下為通透性顏色擴充功能執行時建議的步驟,請參考以下暫存器設定。 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. 繼續執行步驟 6、7,直到圖像資料被更新完畢,或檢查狀態暫存器 STSR Bit6 確認 BTE 執行完成 RAiO TECHNOLOGY INC. 156/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Destination address Mono Bitmap RAIO production Is very good . 2D color Expansion RAIO production Is very good . 圖 7-62 : 通透性顏色擴充功能範例圖 以下步驟採用中斷方式來進行 BTE 狀態確認,使用此方式必須先行將中斷信號 INT# 與 MCU 進行連接。 1. 設定中斷控制暫存器 Æ REG[F0h] 2. 設定目的位置 Æ REG[58h], [59h], [5Ah], [5Bh] 3. 設定 BTE 寬度暫存器 Æ REG[5Ch], [5Dh] 4. 設定 BTE 高度暫存器 Æ REG[5Eh], [5Fh] 5. 設定 BTE 操作碼和光柵運算碼 Æ REG[51h] Bit[3:0] = 09h 6. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 7. 等待中斷信號產生 8. 檢查得知 BTE 中斷,並清除中斷狀態暫存器 Æ REG[F1h] Bit0 = 1 9. 寫入單色圖像資料 10. 繼續執行步驟 7 ~ 9 直到圖像資料被更新完畢,或檢查狀態暫存器 STSR Bit6 確認 BTE 執行完成 RAiO TECHNOLOGY INC. 157/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-11 BTE移動搭配顏色擴充功能 BTE 移動搭配顏色擴充功能從 DDRAM 中的來源位置取得單色的圖像資料,並且將其轉換為 彩色資料並移動至目的位置。所有來源會被視為是以位元為單位的單色資料,所有值為”1” 的 位元會被轉換為 BTE 前景色,而值為”0” 的位元則會轉換為 BTE 背景色。 BTE 移動搭配顏色擴充功能可用來加速單色圖像轉換為彩色圖像的應用。在非顯示區的一個 單色圖案所占的空間非常小,藉由硬體加速的優點,可以讓系統的負擔大大降低。也可用於 文字為主的圖案應用。 此功能可從一個區塊移動資料到另外一塊,來源/目的資料皆可設定為線性或區塊模式,值得 注意的是,當來源/目的定義為線性模式時,資料便視為每一列的資料都是連續的且相鄰。圖 像的寬度則由暫存器中的 BTE 寬度來設定。 8bit/pixel 16bit/pixel 1bit/pixel DPRAM Color Image Mono color Bitmap Mono Color Bitmap Color expansion Color Image RAIO production is very good RAIO production is very good 圖 7-63 : 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 是否完成 Æ check 2D final RAiO TECHNOLOGY INC. 158/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 圖 7-64 : BTE 功能執行前畫面 圖 7-65 : BTE 功能執行後畫面 RAiO TECHNOLOGY INC. 159/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-12 通透性BTE移動功能搭配顏色擴充 「通透性顏色移動功能搭配顏色擴充」與「BTE 移動搭配 BTE 顏色擴充功能」幾乎是相同, 除了加入通透性的功能。也就是背景色會被忽略。當所有輸入值為”1” 的位元將會被轉換為 BTE 的前景色,而所有輸入值為”0” 的位元將不被轉換。 圖 7-66 : 通透性 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] = 0Bh 6. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 7. 檢查狀態暫存器 STSR REG Bit6,確認 BTE 是否完成 RAiO TECHNOLOGY INC. 160/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-6-4-13 單色填滿功能 BTE 單色填滿功能可將 DDRAM 中選定的區塊塡入一種單色。此功能使用於將選定特定區域 畫面清除或是塡入給定某種前景色,R8875 填入的單色設定為 BTE 前景色。 圖 7-67 : 單色填滿功能 以下為單色填滿功能執行時建議的步驟,請參考以下暫存器設定。 1. 設定目的圖層和位置 Æ REG[58h], [59h], [5Ah], [5Bh] 2. 設定 BTE 寬度和高度 Æ REG[5Ch], [5Dh], [5Eh], [5Fh] 3. 設定 BTE 操作碼和光柵運算碼 Æ REG[51h] Bit[3:0] = 0Ch 4. 設定前景色 Æ REG[63h], [64h], [65h] 5. 開啟 BTE 功能 Æ REG[50h] Bit7 = 1 6. 檢查狀態暫存器 STSR Bit6,確認 BTE 是否完成 RAiO TECHNOLOGY INC. 161/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7 圖層混合功能 RA8875 提 供 兩 種 圖 層 顯 示 功 能 , 當 選 擇 雙 圖 層 DPCR(REG[20h] Bit7=1) 時 , 可 使 用 LTPR0(REG[52h])、 LTPR1(REG[53h]) 和BGTR(REG[67h] ~ REG[69h]) 來產生圖層 1 和圖層 2 不同 的組合效果。相關的功能設定請參考 表 7-16。 表 7-16 : LTPR0、LTPR1 和 BGTR 功能 Reg. NO. Abbreviation Description Layer Transparency Register 0 B[5] Floating Windows Display Related With BGTR B[2:0] Layer1/2 Display Mode 000b: Only Layer 1 is visible 001b: Only Layer 2 is visible 011b: Transparent mode 52h LTPR0 010b: Lighten-overlay mode 100b: Boolean OR 101b: Boolean AND 110b: Floating Windows 111b: Reserved Layer Transparency Register 1 B[7:4] Layer Transparency Setting for Layer 2 0000b: Total display 0001b: 7/8 display 0010b: 3/4 display 0011b: 5/8 display 0100b: 1/2 display 0101b: 3/8 display 0110b: 1/4 display 0111b: 1/8 display 1000b: Display disable 53h LTPR1 B[3:0] Layer Transparency Setting for Layer 1 0000b: Total display 0001b: 7/8 display 0010b: 3/4 display 0011b: 5/8 display 0100b: 1/2 display 0101b: 3/8 display 0110b: 1/4 display 0111b: 1/8 display 1000b: Display disable Background Color Register for Transparent B[4:0] Background Color for Transparent Red 67h BGTR0 68h BGTR1 B[5:0] Background Color for Transparent Green 69h BGTR2 B[4:0] Background Color for Transparent Blue RAiO TECHNOLOGY INC. 162/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7-1 顯示圖層一 若暫存器LTPR0 B[2:0] 設定為 000b,畫面只會顯示圖層一,請參考 圖 7-68 範例。這個功能也可 結合LTPR1[3:0] 和BGTR來顯示相似的效果,請參照下面範例,如 圖 7-69。 RA8875 RAiO Layer 2 RAiO Layer 1 圖 7-68 : 只顯示圖層一 RAiO Layer 1 LTPR0 B[2:0]= 00h + = RAiO LTPR1 B[3:0] = 04h BGTR0 B[4:0] = 1Fh BGTR1 B[5:0] = 00h BGTR2 B[4:0] = 00h 圖 7-69 : 圖層一與通透模式的顯示效果 RAiO TECHNOLOGY INC. 163/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7-2 顯示圖層二 若暫存器LTPR0 B[2:0] 設定為 001b,畫面只會顯示圖層二,請參照 圖 7-70 範例。這個功能也可 結合暫存器LTPR1[7:4] 和 BGTR來顯示相似的效果,請參照下面範例,如 圖 7-71。 RA8875 RAiO Layer 2 RA8875 Layer 1 圖 7-70 : 只顯示圖層二 Layer 2 RA8875 LTPR0 B[2:0]= 01h + = RA8875 LTPR1 B[7:4] = 04h BGTR0 B[4:0] = 00h BGTR1 B[5:0] = 3Fh BGTR2 B[4:0] = 00h 圖 7-71 : 圖層二與通透模式的顯示效果 RAiO TECHNOLOGY INC. 164/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7-3 漸入漸出模式 通透模式使得圖層一的背景色以透明的方式顯示,漸入漸出模式可以進一步變換圖片顯示效果, 以下公式描述漸入漸出 (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] 設定為 0100b,顯示的權重係數 χ 便等於 1/2,公式如下 : [r,g,b]Lighten-Overlay =1/2[r,g,b] Layer 1 + 1/2[r,g,b]Layer 2 . 其顯示效果請參照 圖 7-72。 RAiO Layer 1 Layer 2 + RA8875 = RAiO RA8875 圖 7-72 : 漸入漸出模式的效果 RAiO TECHNOLOGY INC. 165/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7-4 通透模式 通透模式可使得圖層一的背景色以透明的方式顯示,也就是在圖層一的背景色部份,圖層二的部 份可以被顯示。這個功能使得兩個圖層可以重疊顯示,有前景和背景的效果。其中前景的部份放 在圖層一,背景的部份則寫至圖層二。而需要透明的部份則寫入由暫存器BGTR所設定的背景 色。其顯示效果請參考 圖 7-73。 BGTR Color RAiO Layer 1 Layer 2 + = RAiO RA8875 圖 7-73 : 圖層的通透模式顯示效果 7-7-5 布林運算OR 設定暫存器 REG[52h],圖層一與圖層二可以進行”OR” 的結合顯示,如下圖所示。 RAiO Layer 2 Layer 1 + RA8875 RAiO = RA8875 圖 7-74 : 圖層的布林運算 - OR 7-7-6 布林運算AND 設定暫存器 REG[52h],圖層一與圖層二可以進行”AND” 的結合顯示,如下圖所示。 RAiO Layer 2 Layer 1 + RA8875 = 8875 圖 7-75 : 圖層的布林運算 - AND RAiO TECHNOLOGY INC. 166/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-7-7 浮動視窗 浮動視窗模式提供圖中圖的顯示效果。我們可以使用浮動視窗來顯示圖層二的特定部分影像到圖 層一的顯示視窗中,有關顯示效果請參考 圖 7-76。當REG[52h] 的Bit[5] 設為”1” 的時候,浮動視 窗也可以被設定為相關的BGTR,與通透模式類似,圖層二的BGTR是透明色,代表只會顯示圖層 一,相關的顯示效果請參考 圖 7-77。 使用方式 : 1. 透過暫存器 FWSAXA0[D0h]、FWSAXA1[D1h]、FWSAYA0[D2h] 和 FWSAYA0[D3h] 設定浮動視窗起始位置。 2. 透過暫存器 FWW0[D4h]、FWW1[D5h]、FWH0[D6h] 和 FWH1[D7h] 設定浮動視窗寬 度和高度。 3. 透過設定暫存器 FWDXA0[D8h]、FWDXA 1[D9h]、FWDYA 0[DAh] 和 FWDYA 0[DBh] 設定浮動視窗顯示位置 4. 若使用浮動視窗相關 BGTR 功能,記得開啟 REG[52h] 的 Bit 5,透過 BGTR0[67h], BGTR1[68h] and BGTR2[69h] 設定 BGTR 顏色。 Layer 2 (FWDXA, FWDYA) FWW FWH RAiO Layer 1 (FWSAXA, FWSAYA) FWW FWH Floating Windows 圖 7-76 : 浮動視窗的顯示效果 RAiO TECHNOLOGY INC. 167/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Layer 2 (FWDXA, FWDYA) Layer 1 (FWSAXA, FWSAYA) FWH FWW RAiO RA8875 ★ FWH FWW RA8875 ★ BGTR COLOR Floating Windows 圖 7-77 : 與 BGTR 相關的浮動視窗顯示效果 7-8 觸控面板功能 RA8875 內建一組 10 位元ADC和控制電路,以連接 4-wire電阻式的觸控面板。其工作原理及應用電路 請參考章節 6-5。而整個觸控面板控制器可分為「自動模式」與「手動模式」,每種模式又分成「硬 體中斷模式」與「軟體輪詢模式」,下面將分別介紹動作流程。 RA8875 有四種狀態的觸控面板控制器,分別為「閒置狀態」、「觸控事件確認狀態」、「閂鎖 X 軸 Data」、「閂鎖 Y 軸 Data」。RA8875 提供「自動模式」與「手動模式」兩種操作模式。「自動模 式」會自動確認調整觸控事件確認狀態;「手動模式」透過手動的操作,使用在不穩定的或特殊的應 用上,使用者可以更有彈性自行安排。 當開啟「觸控事件」時,RA8875 提供兩種偵測方法,分別為「硬體中斷模式」與「軟體輪詢模 式」,請參考 表 7-17 的觸控功能的模式。 表 7-17 : 觸控功能的模式 Operation Mode Auto Event Detection Description Interrupt When touch event happens, read the corresponding X, Y coordination. Polling Interrupt Manual Polling RAiO TECHNOLOGY INC. Polling the touch event, read the corresponding X, Y coordination. Set the operation state to “Checking touch event” for checking the touch event, when touch event interrupt happens, set the state to “Latch X data” and “Latch Y data” for latching the corresponding X, Y coordination, then read the X, Y data and set operation state to “Idle state” Polling the touch event, and read the corresponding X, Y coordination. Set the operation state to “Checking touch event” for checking the touch event. Polling the touch event status before confirming the touch event, set the state to “Latch X data” and “Latch Y data” for latching the corresponding X, Y coordination, then read the X, Y data and set operation state to “Idle state” 168/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 觸控面板操作模式 7-8-1 7-8-1-1 自動模式 自動模式是一種最簡單的觸控面板功能的控制方式。只要開啟相關的暫存器,RA8875 會自動執 行觸控面板偵測功能以及閂鎖觸控資料,請參考下列流程圖。 START ISR Enable Touch Panel (Reg[70h] B7=1) 0 Check INT State Reg[F1h] B2=? Set Auto Mode (Reg[71h] B6=0) Enable TP INT (RegpF0h] B2 = 1) 1 Read X,Y-axis Read Reg[72h] Read Reg[73h] Read Reg[74h] Other Functions Cause the Interrupt Execute Function Other Function Clear TP INT Status (Write Reg[F1h] B2=1) 圖 7-78 : 觸控面板自動模式流程圖 表 7-18 : 自動模式相關的暫存器 Reg. TPCR0 TPCR1 Bit_Nu Description m Bit7 Enable Touch Panel function Bit6 “Auto-Mode” = 0 Bit2 Set de-bounce enable for ADET(note) Reference REG[70h] REG[71h] TPXH Bit[7:0] Touch Panel SEG data MSB byte REG[72h] TPYH Bit[7:0] Touch Panel COM data MSB byte REG[73h] Bit[3:2] Touch Panel COM data LSB 2bit Bit[1:0] Touch Panel SEG data LSB 2bit TPXYL REG[74h] 註 : 建議在 ADET 自動模式中設定消除機械彈跳功能,否則干擾會造成觸控事件判斷錯誤。 RAiO TECHNOLOGY INC. 169/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-8-1-2 手動模式 手動模式是指使用者自行以手動操作方式來完成「偵測觸控事件」、「閂鎖 X 軸 Data」與「閂鎖 Y 軸 Data」。整個過程由設定暫存器 TPCR1[1:0] 來完成。手動模式的優點是應用上更有彈性。 可自行決定 X 軸與 Y 軸 Data 的消除機械彈跳與模式切換時間,降低自動模式在某些情況下錯誤 發生的機率。 在手動模式下,使用者需要透過持續輪詢”狀態暫存器”來確定觸控事件的正確性。一般來說,當 連續輪詢到足夠次數的狀態暫存器中的觸控事件時,我們便認定為正確的觸控事件。手動模式允 許更多彈性且在不同應用上更少發生失誤,但是會佔用到較多的 MCU 的資源。 START Enable Touch Panel (Reg[70h] B7=1) Set Manual Mode (Reg[71h] B6=1) Enable TP INT (RegpF0h] B2 = 1) Set state to “Checking Touch Event” (Reg[71h] B1~0=01b) Other Function ISR 0 Check INT State Reg[F1h] B2=? 1 Set state to “Latch X data” (Reg[71h] B1~0=10b) Set state to “Idle” (Reg[71h] B1~0=00b) Other Functions Cause the Interrupt Read X,Y-axis Read Reg[72h] Read Reg[73h] Read Reg[74h] Wait Enough time for Stability Set state to “Latch Y data” (Reg[71h] B1~0=11b) Execute Function Wait Enough time for Stability Clear TP INT Status (Write Reg[F1h] B2=1) 圖 7-79 : 觸控面板手動模式流程圖 表 7-19 : 手動模式相關的暫存器 Reg. Bit_Num TPCR0 Bit7 Enable Touch Panel function Bit6 “Manual-Mode” = 1 Bit2 Set de-bounce function for ADET(note) TPCR1 Description Reference REG[70h] REG[71h] Bit[1:0] Mode Selection for TP Manual Mode TPXH Bit[7:0] Touch Panel SEG data MSB byte REG[72h] TPYH Bit[7:0] Touch Panel COM data MSB byte REG[73h] Bit[3:2] Touch Panel COM data LSB 2bit Bit[1:0] Touch Panel SEG data LSB 2bit TPXYL RAiO TECHNOLOGY INC. 170/191 REG[74h] www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 註: 若使用者在觸控事件上不用軟體消除機械彈跳,可以設定開啟消除機械彈跳。否則使用者可以透過 軟體消除機械彈跳,然後設定關閉此功能。 7-8-2 觸控事件偵測模式 觸控事件依據系統組態可從中斷模式與輪詢模式中被偵測,相關的說明請參考接下來的章節。 7-8-2-1 外部中斷模式 在中斷模式下,RA8875 硬體中斷腳位(INT) 必須先正確地連接到 MCU 中斷輸入腳位,主要 的過程如下 : 1. 開啟觸控面板功能 ( REG[70h] Bit7 = 1 ) 2. 設定觸控面板控制器操作模式為自動模式或手動模式(REG[71h] Bit6) 3. 開啟觸控面板中斷功能 ( REG[F0h] Bit6 = 1 ) 4. 當中斷發生時, MCU 的 IP 會 跳到 ISR 的入口,並檢查是否為觸控事件所產生的中斷 5. 若是,則依據操作模式,進行閂鎖 X、Y 軸的 Data 6. 執行觸控事件的要進行的程序 7. 清除中斷狀態位元 ( set REG[F1h] Bit2 = 1 ),並且離開 ISR 7-8-2-2 軟體輪詢模式 在輪詢模式下,需要連接不中斷的腳位。觸控事件的狀態可以由以下三種方式被讀取。 1. 來自狀態暫存器(STSR) 的 Bit 5,狀態暫存器直接來自硬體而且不做任何消除機械彈跳。 建議透過軟體消除彈跳機制來確認觸控事件。 2. 來自 TPXYL(REG[74h]) Bit 7,此位元也是直接來自硬體,與 STSR Bit 5 相同。 3. 來自 INTC2(REG[F1h]) Bit2,與硬體中斷同樣的行為,透過軟體輪詢中斷事件的模式。 總結來說,程式設計師可以從 STSR 的 Bit5 或 INTC2 的 Bit2 來確認觸控事件的狀態,其中 差異說明如下: 1. 狀態暫存器 STSR 的 Bit5 反應目前的觸控狀態,當觸控事件發生時,Bit5 被設定為 1。反 之,當無觸控事件發生時,Bit5 會自動更新為 0。此方法通常被用在手動模式。 2. 暫存器 INTC2 的 Bit2 紀錄觸控的狀態。當觸控事件發生時,此位元被設定為 1。請特別注 意,當無觸控事件發生時,INTC2 的 Bit2 不會被自動清除為 0,須由程式設計師來清除。 此位元功能通常用在外部中斷模式。 RAiO TECHNOLOGY INC. 171/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 註 : STSR 的 Bit5 是由 ADC 電路的直接輸出,只要有螢幕被碰觸,此位元會被設定為 1。若 碰觸狀態還不穩定,需要消除機械彈跳,來確保此一碰觸是有效的觸控事件。因此, STSR 的 Bit5 只在手動模式下動作。當設定 RA8875 為自動模式時,觸控事件將自動被 偵測,並且由系統來檢查是否為有效事件,只要是有效的觸控事件,中斷才會產生。 7-8-3 觸控掃描與取樣時間 在使用觸控螢幕功能的自動模式且觸控事件發生時,RA8875 採用特定的等待取樣時間讓 X, Y Data 穩定。建議選擇適當地觸控取樣時間以避免 ADC 資料閂鎖,請參照下表的 ADC 取樣時間 與轉換速度對照表。 表 7-20 : 取樣時間與轉換速度對照表 Touch Panel Sampling Time - REG[70h] Bit[6:4] SYS_CLK REG[70h] [2:0] 000b 001b 010b 011b 100b 101b 110b 111b 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. 172/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-9 鍵盤 RA8875 的 鍵 盤 掃 描 控 制 器 提 供 一 個 更 靈 敏 的 鍵 盤 應 用 介 面 , 相 關 的 暫 存 器 為 KSCR(REG[C0h],[C1h])、KSDR(REG[C2h], [C3h], [C4h]),鍵盤掃描功能具有下列特色 : 1. 支援到 4x5 鍵盤模組。 2. 可用程式自行設定取樣次數 (Sampling Times) 與鍵盤掃描的頻率。 3. 可調整長按鍵 (Long key-press) 之時序。 4. 允許多重按鍵 (Multi-Key) 組合,最多同時允許三個按鍵組合。 5. 當系統在睡眠模式時,允許按鍵來喚醒 (Wake-up) 系統。 KSCR是鍵盤掃描控制與狀態暫存器,是用來設定鍵盤掃描功能的選項,例如資料取樣時間、取樣時 脈頻率或開啟長按鍵功能等。當按鍵動作時,使用者可以感覺到來自鍵盤掃描的中斷。 KSCR2(REG[C1h] 的 bit1~0) 會更新目前按鍵的號碼。之後使用者可以直接得到對應碼 (Key Code)。 表 7-21是鍵盤矩陣中每個短按鍵的對應碼 (Key Code),當有案件發生短按時,按鍵的對應碼將被儲 存在KSDR0~2(REG[C2h~C4h])。至於長按鍵(Long Time Press) 的對應碼請參考 表 7-22。 表 7-21 : 短按鍵的對應碼 (Normal Key) Column# (KIN#) Row# (KOUT#) C0 C1 C2 C3 C4 R0 00h 01h 02h 03h 04h R1 10h 11h 12h 13h 14h R2 20h 21h 22h 23h 24h R3 30h 31h 32h 33h 34h 表 7-22 : 長按鍵的對應碼 (Long Key) Column# (KIN#) Row# (KOUT#) C0 C1 C2 C3 C4 R0 80h 81h 82h 83h 84h R1 90h 91h 92h 93h 94h R2 A0h A1h A2h A3h A4h R3 B0h B1h B2h B3h B4h 註 : 短按鍵 (Normal Key) 指的是鍵盤的按壓是透過 RA8875 的取樣時間。長按鍵(Long Key) 指的是鍵 盤按壓維持一段較長的時間。所以要長按鍵前要先進行短按鍵,有時在某些應用上會分開使用兩 種功能。 RAiO TECHNOLOGY INC. 173/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 當應用多重組合按鍵時,最多可儲存三個按鍵的對應碼,存在暫存器 KSDR0、KSDR1 和 KSDR2, 值得注意的是,數個對應碼儲存在暫存器主要是以對應碼值大小來排序,而與先後按鍵順序無關,請 參考下面的範例 : 假設先後按下三個鍵,其對應碼分別為 0x34、0x00 、0x22,則暫存器 KSDR0~2 所儲存的內容如下: KSDR0 = 0x00 KSDR1 = 0x22 KSDR2 = 0x34 針對鍵盤掃描功能相關的暫存器,列表如下 : 表 7-23 Reg. KSCR1 Bit_Num Bit 7 Key-Scan enable bit Bit 6 Long Key Enable bit Bit [5:4] Key-Scan sampling times setting Bit [2:0] Key-Scan scan frequency setting Bit [7] KSCR2 Description Reference REG[C0h] Key-Scan Wakeup Function Enable Bit REG[C1h] Bit [3:2] long key timing adjustment Bit [1:0] The number of key hit Bit [7:0] Key code for pressed key REG[C2h ~ C4h] INTR Bit 4 Key-Scan interrupt enable REG[F0h] INTC2 Bit 4 Key-Scan Interrupt Status bit REG[F1h] KSDR0 KSDR1 KSDR2 當啟動鍵盤掃描的功能之後,程式設計師可以使用兩種方法來檢查按鍵是否被按 : 1) 軟體檢查的方式 : 不斷檢查暫存器(INTC2 REG[F1h] 的 Bit-4) 來得知是否有按鍵被按。 2) 硬體檢查的方式 : 由外部中斷的產生來得知有按鍵被按。 值得注意的是當開啟鍵盤掃描中斷時,INTC1 的位元 4 都將被設定為 1,而且鍵盤中斷事件發生時, 鍵盤掃描的中斷狀態 INTC2 的位元 4 永遠都設為 1,無論使用哪種方法,因此程式設計師在正確讀回 按鍵的對應碼之後,必須將該位元清除為 0,否則之後的按鍵將無法正常發出中斷告知系統。 此外,RA8875 允許在睡眠模式時使用鍵盤喚醒功能 (Key-stroke Wakeup Function)。透過開啟功能 設定,任何正當的鍵盤事件皆可從睡眠模式中喚醒RA8875。為了判斷喚醒事件,RA8875 可以顯示 MCU的硬體中斷,MCU可以使用RA8875 的軟體流程 (Software Polling)。表 7-24 列出相關暫存器的 功能描述。 RAiO TECHNOLOGY INC. 174/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 表 7-24 Reg. Bit_Num Description Reference KSCR2 Bit 7 Enable Key-Scan wake-up function REG[C1h] INTR Bit 4 Wake-up interrupt enable bit REG[F0h] INTC2 Bit4 Key-Scan Interrupt Status bit REG[F1h] RAiO TECHNOLOGY INC. 175/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 針對以上的應用,有關暫存器設定的流程圖如下: 1. 軟體檢查方式 Start Enable Key Scan (KS) Execute Function (REG[C0] B7 = 1) 0 Check KS status Clear KS status REG [F1h] B4 = 1 (REG [F1h] B4 = 1) 1 Read Key Press Number End Read Key Code – REG C2h, REG C3h, REG C4h 圖 7-80 : 鍵盤掃描功能的流程圖 _ 軟體輪詢 2. 硬體檢查方式 Start ISR Enable Key Scan (KS) (REG [C0h] B7 = 1) Check KS status (REG[F1h] B4 = ?) Enable KS INT Mask Other INT Functions (REG[F0h] B4 = 1) Read Key Press Number Read Key Code Ext.INT Event REG[C2h],REG[C3h],REG[C4h] Execute Functions Other Functions Clear KS status (REG[F1h] B4=?) ISR Termination 圖 7-81 : 鍵盤掃描流程圖 _ 硬體中斷 RAiO TECHNOLOGY INC. 176/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-10 記憶體直接存取功能 記憶體直接存取功能提供使用者更快速、搬移大量的資料到顯示記憶體的方法。在RA8875 中,記憶 體直接存取功能的資料來源是外部「Serial Flash/ROM介面」。可為兩種資料格式 :「連續資料模 式」與「區塊資料模式」,提供使用者更靈活的應用。記憶體直接存取資料寫入位置則依照在顯示記 憶體中所設定的工作視窗,當「Serial Flash/ROM介面」特定資料是依照色彩深度設定(REG[10h] Bit 3-2),請參考 圖 7-82。當此功能運作時,Serial Flash/ROM裡所指定的資料會自動地一個接一個搬移 到顯示記憶體裡,執行完成後,中斷訊號則將被觸發而去通知MCU,請參照以下的章節。 24’h000 R2 R1 R0 G2 G1 G0 B1 B0 24’h000 R4 R3 R2 R1 R0 G5 G4 G3 24’h001 R2 R1 R0 G2 G1 G0 B1 B0 24’h001 G2 G1 G0 B4 B3 B2 B1 B0 24’h002 R2 R1 R0 G2 G1 G0 B1 B0 24’h002 R4 R3 R2 R1 R0 G5 G4 G3 24’h003 R2 R1 R0 G2 G1 G0 B1 B0 24’h003 G2 G1 G0 B4 B3 B2 B1 B0 . . . . . . . . . . . . the specific 8-bit data in serial Flash/ROM the specific 16-bit data in serial Flash/ROM 圖 7-82 : Serial Flash/ROM 介面的特定資料 7-10-1 連續記憶體直接存取模式 在此模式下,記憶體直接存取控制器從所設定在 Serial Flash/ROM 資料來源起始到結束位置 (SSAR) ,加上記憶體直接存取搬移資料數目(DTNR) 讀取資料。使用者只需要設定工作視窗後, 便可以將資料搬移到顯示記憶體裡。 使用方法 : 1. 設定工作視窗範圍 (REG[30h] ~REG[37h])和記憶體寫入位置 (REG[46h] ~REG[49h]) 2. 設定 Serial Flash/ROM 組態 (REG[05h]) 3. 設定記憶體直接存取資料來源起始位置 (REG[B0h] ~REG[B2h]) 4. 設定記憶體直接存取資料搬移數目 (REG[B4h], REG[B6h] 和 REG[B8h]) 5. 開啟記憶體直接存取起始訊號和檢查記憶體直接存取忙碌訊號 (REG[BFh] bit 0) RAiO TECHNOLOGY INC. 177/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Source Serial ROM Address Destination Display Memory SSAR (CURH, CURV) PIC1 DTNR DMA PIC2 Active Windows Continuous Mode PIC3 圖 7-83 : 連續資料記憶體存取模式 RAiO TECHNOLOGY INC. 178/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-10-2 區塊資料記憶體直接存取模式 在 此 模 式 下 , 使 用 者 可 以 靈 活 地 讀 取 區 塊資料。記憶體直接存取控制器從所設定在 Serial Flash/ROM 資料來源起始到結束位置 (SSAR) 和依照區塊寬度設定值(BWR),區塊高度設定值 (BHR) 和來源圖片寬度 (SPWR) 來計算區塊位置。使用者只需要設定工作視窗,便可將資料搬移 到顯示記憶體裡。 1. 設定工作視窗範圍 (REG[30h] ~REG[37h])和記憶體寫入位置 (REG[46h] ~REG[49h]) 2. 設定 Serial Flash/ROM 組態 (REG[05h]) 3. 設定 記憶體直接存取資料來源起始位置 (REG[B0h] ~REG[B2h]) 4. 設定 記憶體直接存取區塊寬度 (REG[B4h] 和 REG[B5h]) 5. 設定 記憶體直接存取區塊高度 (REG[B6h] 和 REG[B7h]) 6. 設定記憶體直接存取來源圖片寬度 (REG[B8h] 和 REG[B9h]) 7. 開啟記憶體直接存取為區塊搬移模式 (REG[BFh] bit 1) 8. 開啟記憶體直接存取起始訊號且檢查記憶體直接存取忙碌訊號 (REG[BFh] bit 0) Source Serial ROM Address Destination Display Memory SPWR PIC1 (CURH, CURV) SSAR DMA BHR Active Windows PIC2 BWR Active Windows Block Mode PIC3 圖 7-84 : 區塊資料記憶體直接存取模式 RAiO TECHNOLOGY INC. 179/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-11 脈寬調變 RA8875 提供二個可調節的脈寬調變 (PWM) 輸出,其PWM的頻率和工作週期 (Duty Cycle) 都可以透 過相關暫存器的設置來調整,如果PWM功能被禁能 (Disable),此腳位也可當成一般的IO信號使用, 相關的功能設定,請參考以下的 表 7-25 。 表 7-25 : 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] RA8875 的二個可程式化PWM輸出都可獨立控制,暫存器 REG[8Bh] 與REG[8Dh] 分別調整它們的 Duty輸出,最常用的就是拿來作TFT面板的背光控制,請參考章節 6-6 的 圖 6-47。下圖示兩個關於 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-85 : PWM 輸出脈衝範例一 RAiO TECHNOLOGY INC. 180/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 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-86 : PWM 輸出脈衝範例二 RAiO TECHNOLOGY INC. 181/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 7-12 睡眠模式 RA8875 提供睡眠模式 (Sleep Mode),在沒有使用的狀態下,使用者可減少 RA8875 或 LCD 模組的 功耗。在睡眠模式下,除了少許的靜態電流外,系統時序、內部記憶體 (如 DDRAM)、 Font ROM 等 都會關閉,PWM 的輸出準位也會維持原先暫存器的設定。 若要從睡眠模式喚醒 (Wake-up),有三種方式 : 1. 暫存器設定 : 利用 MCU 將暫存器 [01h] 的 Bit1 設為 0。 2. 觸控面板 :進入睡眠模式前,利用 MCU 將暫存器 [70h] 的 Bit7 與 Bit3 設為 1。需注意觸控面板設定 為手動模式時,等待觸控面板事件模式 (Wait for TP event) 須在進入睡眠模式前被設定,否則不會 偵測到觸控事件便無法喚醒 RA8875。 3. 鍵盤 : 類似前面提到的喚醒觸控面板,鍵盤功能的致能位元及鍵盤喚醒功能都應先被設定。暫存器 [C0h] 的 Bit7 及 [C1h] 的 Bit7 在進入睡眠模式前皆設為 1。需注意當 RA8875 離開睡眠模式時,所 按壓的鍵碼並不會被記錄在 RA8875 中。 睡眠模式啟動時,在存取 RA8875 前建議需等待一段時間。因為喚醒後晶體振盪電路器及 PLL 電路會 被重新啟動,因此要有一段時間等待系統時脈 (System Clock) 穩定,RA8875 才能接受 MCU 下的指 令,此時間約 10ms 左右,下表為相關暫存器的說明。 表 7-26 : 睡眠與喚醒模式相關的暫存器設定 暫存器 Bit_Num PWRR Bit1 Bit7 TPCR0 Bit3 KSCR1 Bit7 KSCR2 Bit7 RAiO TECHNOLOGY INC. 說 明 Sleep Mode 0 : Normal mode. 1 : Sleep mode. Touch Panel Enable Bit 0 : Disable 1 : Enable Touch Panel Wakeup Enable 0 : Disable the Touch Panel wake-up function. 1 : Touch Panel can wake-up the sleep mode. Key-Scan Enable Bit(KEY_EN) 0 : Disable. 1 : Enable. Key-Scan Wakeup Function Enable Bit 0: Key-Scan Wakeup function is disable. 1: Key-Scan Wakeup function is enable. 182/191 暫存器編號 REG[01h] REG[70h] REG[C0h] REG[C1h] www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 RA8875 在睡眠模式時,相關輸出信號的狀態如 表 7-27 所示。 表 7-27 : 睡眠模式時相關輸出信號的狀態 信號名稱 輸出狀態 WAIT# High INT# High PWM1, PWM2 Low GPIO[5:0] Low VA[18:0] Low RAM_OE# Low RAM_CS#, RAM_WR#, ROM_CS# High PDAT[15:0] Low VSYNC, HSYNC High PCLK, DE High RAiO TECHNOLOGY INC. 183/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 8. AC/DC 特性 8-1 最大範圍限制 表 8-1 : 最大範圍 參數描述 符號 規格範圍 單位 -0.3V~4.0V V VDDP Supply Voltage Range (Note 4) OSC_VDDP ADC_VDD Input Voltage Range VIN -0.3 to VDD+0.3 V Power Dissipation PD ≦150 mW Operation Temperature Range TOPR -30 to +85 ℃ Storage Temperature TST -45 to +125 ℃ TSOLDER 260 ℃ Soldering Temperature (10 seconds, Note 1) 註: 1. 假如該封裝被焊料侵入,平薄式封裝的濕度抵抗性是會減少的。當進行焊接作業時,勿過 度施壓於封裝上。 2. 當供應電源端為高阻抗時,,供應電源/輸入電源可能存在著一個很大壓差,須適度考量 RA8875 的電源端及其電源接線及佈局。 3. 全部的電源準位皆以 GND = 0V 為基準。 4. CORE_VDD、LDO_OUT、OSC_VDD 為電源輸出,不包含在內。 RAiO TECHNOLOGY INC. 184/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 8-2 DC 電氣特性 表 8-2 : DC 電氣特性 參數描述 符號 最小值 一般值 最大值 單位 ADC_VDD VDDP 3.0 3.3 3.6 V 1.6 1.8 2.0 V Add External 1uF Capacitor ADC_VREF -- 0.5VDD3 (±5%) -- V Add External 1uF Capacitor FOSC 15 20 30 MHz VDD3 = 3.3 V SYS_CLK 1 20~30 60 MHz VDD3 = 3.3 V Input High Voltage VIH 0.8 VDD3 -- VDD3 V Input Low Voltage VIL GND -- 0.2 VDD3 V Output High Voltage VOH VDD-0.4 -- VDD3 V Output Low Voltage VOL GND -- GND +0.4 V Input High Voltage VIH 0.7 VDD3 -- VDD3 V Input Low Voltage VIL GND -- 0.3 VDD3 V IIH -- -- +2 μA (註 2) IIL -- -- -2 μA (註 2) Operation Current IOPR 20 -- 50 mA Sleep Mode ISLP -- 320 -- μA System Voltage(VDD3) Core Voltage(VDD18) ADC Reference Voltage LDO_OUT CORE_VDD Oscillator Clock PLL Output Clock 工作條件 Input Output Schmitt-Trigger Input (註 1) Input Leakage Current 1 Input Leakage Current 2 (註 2) 註: 1. 腳位 RD#、WR#、CS#、RS 與 RST# 為 Schmitt-trigger 輸入。 2. 測試條件如下 : VDDP = VDD3 = 3.3V, Oscillator Clock = 25MHz, System Clock = 20~60MHz, Source = 800, Gate = 480, VSYNC = 45~65Hz, TA=25℃. RAiO TECHNOLOGY INC. 185/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 9. 產品封裝 XP YN YP XN ADC_VREF ADC_GND PDAT15 PDAT14 PDAT13 PDAT12 PDAT11 PDAT10 PDAT9 VDDP LDO_GND LDO_OUT PDAT8 PDAT7 PDAT6 PDAT5 PDAT4 PDAT3 PDAT2 PDAT1 PDAT0 9-1 封裝腳位圖 75 ADC_VDD RD# / EN WR# / RW# CS# RS C86 DB0 DB1 DB2 GND CORE_VDD VDDP DB3 DB4 DB5 DB6 DB7 DB8 DB9 DB10 DB11 DB12 DB13 DB14 DB15 70 65 60 55 51 50 76 80 45 TM RAiO 85 40 RA8875L3N 90 35 1020-N 95 Date code (Year 2010, 20th week) 30 100 ○ 26 5 10 15 20 25 OSC_GNDP OSC_VDDP XI XO OSC_VDD OSC_GND WAIT# INT# RST# TEST0 TEST1 TEST2 VDDP PWM1 PWM2 GND CORE_VDD SFCL SFDI SFDO SFCS0# SFCS1# IICA0 IICA1 PS 1 DE PCLK VSYNC HSYNC GPOX GPIX SCL SDI SDO SCS# VDDP GND CORE_VDD KIN0 / GPI0 KIN1 / GPI1 KIN2 / GPI2 KIN3 / GPI3 KIN4 / GPI4 KOUT0 / GPO0 KOUT1 / GPO1 KOUT2 / GPO2 KOUT3 / GPO3 SIFS0 SIFS1 GND 圖 9-1 : RA8875 的接腳圖 RAiO TECHNOLOGY INC. 186/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 9-2 封裝尺寸 圖 9-2 : RA8875 的外觀尺寸 9-3 產品編號 RA8875 產品完整編號為 “RA8875L3N”。其符合環保 RoHS 規範,並通過歐盟要求的 PFOS、 PFOA 及 REACH 的檢測,符合的有害物質限用管理指令如下: 歐盟有害物質限用指令 RoHS(2002/95/EC) 歐盟限制全氟辛烷磺酸的銷售與使用指令 PFOS & PFOA(2006/122/EC) 歐盟化學品政策 REACH(EC 1907/2006) RAiO TECHNOLOGY INC. 187/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Appendix A. RA8875 支援的集通字型列表 Table A- 1 ● :支援, ▬:不支援 GT21L16T1W 支援字型 RA8875 是否支援 15X16 點 GB12345 漢字字符 ● 15X16 點 BIG5 基本集漢字字符 ● 15X16 點 JIS 日文字符 ● 15X16 點 Unicode 日文字符 ● 5X7 點 ASCII 字符 ▬ 7X8 點 ASCII 字符 ▬ 6X12 點 ASCII 字符 ▬ 8X16 點 ASCII 字符 ● 8X16 點粗體 ASCII 字符 ● 12 點不等寬 ASCII 方塊(Arial)字符 ▬ 16 點陣不等寬 ASCII 方塊(Arial)字符 ● 8X16 點拉丁文系字符 ● 8X16 點希臘文系字符 ● 8X16 點基里爾文系字符 ● 12 點陣不等寬拉丁文系字符 ▬ 12 點陣不等寬希臘文系字符 ▬ 12 點陣不等寬基里爾文系字符 ▬ 16 點陣不等寬拉丁文系字符 ● 16 點陣不等寬希臘文系字符 ● 16 點陣不等寬基里爾文系字符 ● 12 點陣不等寬阿拉伯文系字符 ▬ 12 點陣不等寬阿拉伯文系變體字符 ▬ 16 點陣不等寬阿拉伯文系字符 ● 16 點陣不等寬阿拉伯文系變體字符 ● 備註 部份字型(Table A-2),集通以軟體方 式補丁,RA8875 不支援這些字型 Table A- 2 : JIS0208 字碼表 (RA8875 沒有支援) | 0135 堕 3436 刳 4974 桿 5969 ∥ 8565 ≦ 0169 陳 3636 卍 5036 淦 6232 ≦ 8569 RAiO TECHNOLOGY INC. ≧ 0170 悌 3680 哈 5093 箏 6823 ≧ 8570 ♂ 0173 届 3847 營 5159 絖 6913 ♂ 8573 ▽ 0206 汎 4038 埆 5229 繃 6962 ¥ 8579 ▼ 0207 箆 4247 幇 5483 閭 7967 188/191 o 0379 墨 4347 憇 5660 霖 8035 き 0413 冀 4935 掫 5756 騙 8157 ぎ 0414 冩 4948 斛 5847 熙 8406 遡 3344 冪 4949 晢 5881 ° 8503 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Table A- 3 GT30L24M1Z 支援字型 RA8875 是否支援 24X24 點 GB18030 標準點陣字庫 ● 12X24 點國際擴展字符 ● 12X24 點 ASCII 字符 ● 24 點陣不等寬 ASCII 方塊(Arial)字符 24 點陣不等寬 ASCII 白正(Times New Roman)字符 備註 ● ● Table A- 4 GT30L32S4W 支援字型 RA8875 是否支援 11X12 點 GB2312 標準點陣字庫 ▬ 15X16 點 GB2312 標準點陣字庫 ● 24X24 點 GB2312 標準點陣字庫 ● 32X32 點 GB2312 標準點陣字庫 ● 6X12 點國際擴展字符 ▬ 8X16 點國際擴展字符 ● 8X16 點 GB2312 特殊字符 ● 12X24 點國際擴展字符 ● 16X32 點國際擴展字符 ● 5X7 點 ASCII 字符 ▬ 7X8 點 ASCII 字符 ▬ 6X12 點 ASCII 字符 ▬ 8X16 點 ASCII 字符 ● 12X24 點 ASCII 字符 ● 16X32 點 ASCII 字符 ● 12 點陣不等寬 ASCII 方塊(Arial)字符 12 點陣不等寬 ASCII 白正(Times New Roman)字符 16 點陣不等寬 ASCII 方塊(Arial)字符 16 點陣不等寬 ASCII 白正(Times New Roman)字符 24 點陣不等寬 ASCII 方塊(Arial)字符 24 點陣不等寬 ASCII 白正(Times New Roman)字符 32 點陣不等寬 ASCII 方塊(Arial)字符 32 點陣不等寬 ASCII 白正(Times New Roman)字符 RAiO TECHNOLOGY INC. 備註 ▬ ▬ ● ● ● ● ● ● 189/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Table A- 5 GT30L16U2W 支援字型 RA8875 是否支援 11X12 點 Unicode 點陣字庫 ▬ 15X16 點 Unicode 點陣字庫 ● 8X16 點特殊字符 ● 5X7 點 ASCII 字符 ▬ 7X8 點 ASCII 字符 ▬ 6X12 點 ASCII 字符 ▬ 8X16 點 ASCII 字符 ● 12 點陣不等寬 ASCII 方塊(Arial)字符 12 點陣不等寬 ASCII 白正(Times New Roman)字符 16 點陣不等寬 ASCII 方塊(Arial)字符 16 點陣不等寬 ASCII 白正(Times New Roman)字符 備註 ▬ ▬ ● ● 8X16 點拉丁文系字符 ● 8X16 點希臘文系字符 ● 8X16 點基里爾文系字符 ● 12 點陣不等寬拉丁文系字符 ▬ 12 點陣不等寬希臘文系字符 ▬ 12 點陣不等寬基里爾文系字符 ▬ 12 點陣不等寬阿拉伯文系字符 ▬ 12 點陣不等寬阿拉伯文系變體字符 ▬ 16 點陣不等寬拉丁文系字符 ● 16 點陣不等寬希臘文系字符 ● 16 點陣不等寬基里爾文系字符 ● 16 點陣不等寬阿拉伯文系字符 ● 16 點陣不等寬阿拉伯文系變體字符 ● RAiO TECHNOLOGY INC. 190/191 www.raio.com.tw RA8875 文字 / 圖形 TFT LCD 控制器 Version 1.7 Table A- 6 GT30L24T3Y 支援字型 RA8875 是否支援 11X12 點 GB2312 標準點陣字庫 ▬ 15X16 點 GB2312 標準點陣字庫 ● 24X24 點 GB2312 標準點陣字庫 ● 11X12 點 GB12345 字符集漢字字 符 15X16 點 GB12345 字符集漢字字 符 24X24 點 GB12345 字符集漢字字 符 ▬ ● ● 11X12 點 BIG5 字符集漢字字符 ▬ 15X16 點 BIG5 字符集漢字字符 ● 24X24 點 BIG5 基本集漢字字符 ● 11X12 點 Unicode 中文字符 ▬ 15X16 點 Unicode 中文字符 ● 24x24 點 Unicode 中文字符 ● 5X7 點 ASCII 字符 ▬ 7X8 點 ASCII 字符 ▬ 6X12 點 ASCII 字符 ▬ 8X16 點 ASCII 字符 ● 12 點陣不等寬 ASCII 方塊(Arial)字符 16 點陣不等寬 ASCII 方塊(Arial)字符 24 點陣不等寬 ASCII 方塊(Arial)字符 RAiO TECHNOLOGY INC. 備註 ▬ ● ● 191/191 www.raio.com.tw