關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > SSD1906顯示控制器與AT91RM9200的接口技術

SSD1906顯示控制器與AT91RM9200的接口技術

作者: 時間:2005-02-27 來源:網絡 收藏

摘要:通過對1906顯示控制器的介紹,分析其在基于91RM9200微控制器的嵌入式系統(tǒng)中的應用;給出詳細的硬件連接圖及主要的寄存器配置。

關鍵詞:1906 91RM9200 顯示控制

引言

1906是Solomon公司推出的一款中小規(guī)模的顯示控制芯片。這款顯示控制芯片集成了顯存及時序電路,因而為手持設備和消費電子領域提供了一個低成本、低功耗的單芯片解決方案。91RM9200是Atmel公司推出的一款基于ARM9的嵌入式處理器,時鐘頻率為180MHz。AT91RM9200處理器內部沒有集成LCD控制器,因而需要通過專用的顯示控制器,實現(xiàn)LCD顯示。本文介紹SSD1906顯示控制器在基于AT91RM9200微控制器的嵌入式系統(tǒng)中的具體應用。

1 SSD1906顯示控制器介紹

SSD1906顯示控制芯片,內部集成了256KB的SRAM顯存,可以支持單色和彩色LCD,以及多種有源和無源面板。SSD1906還具有強大的總線兼容性,可與多種類型的MCU連接。此外,SSD1906提供的功能還包括虛擬顯示、浮動窗口(窗口大小可變)顯示,并支持兩個光標,可以減少軟件的操作。32位的內部數(shù)據(jù)通道,可以提供高帶寬的顯示內存,以實現(xiàn)現(xiàn)快速的屏幕刷新。SSD1906還個有單電壓供電的優(yōu)點。

SSD1906顯示控制器的另一個特點,是具有很短的CPU訪問延遲時間,因而可以支持無READY/WAIT交互信號的微處理器。此外,SSD1906支持單時鐘信號輸入,即總線時鐘(BCLK)、內存時鐘(MCLK)和像素時鐘(PCLK)都可以由時鐘輸入CLK1得到。這款顯示控制器對MCU的類型和操作系統(tǒng)沒有具體要求,因而是實際應用中的一個理想的顯示解決方案?;赟SD1906的顯示控制系統(tǒng)結構如圖1所示。

1.1 總線兼容性

SSD1906顯示控制器兼容多種類型的MCU接口,特別是對現(xiàn)在常用的嵌入式處理器,基本上都可以實現(xiàn)無縫連接。對于不同的總線接口,SSD1906內部提供了多個時序控制寄存器,可以根據(jù)不同接口的時序要求,進行相應的配置。SSD1906支持的MCU總線接口類型包括:具有WAIT信號的通用#1型和通用#2型總線接口;Intel StrongARM/Xscale;Motorla MX1龍珠;Motorola MC68K;Motorola龍珠MC68ez328/MC68VZ328;日立SH3和SH4。

除了支持16位和32位的處理器以外,SSD1906還可以支持8位的處理器。SSD1906內部集成了256KB的顯存,支持寄存器在內存中的映射;通過M/R輸入信號,選擇訪問內存地址空間,或者訪問寄存器地址空間。此外,通過18位地址總線,MCU可以直接訪問SSD1906內部連續(xù)的256KB顯存。

1.2 顯示支持與顯示模式

SSD1906顯示控制器支持多種類型的LCD接口,包括4/8位單色STN接口;4/8位彩色STN接口;9/12/8位有源矩陣TFT接口。此外,SSD1906支持1/2/8/16bpp四種色深。對于單色無源LCD面板,SSD1906還個有64個灰度級;對于無源STN面板和有源矩陣TFT面板,SSD1906都可以支持多達256K顏色。此外,SSD1906還支持多種分辨率,包括320320,160160和160240(其中色深為16bpp)。

1.3 顯示特性

在顯示特性方面,SSD1906支持顯示旋轉模式,通過對SSD1906內部相應控制寄存器的設置,可以實現(xiàn)顯示圖像的90、180和270硬件旋轉。同時,SSD1906還支持虛擬顯示,即顯示的圖像尺寸可以比實際選用的LCD面板大。用戶可以通過上下和左右滾動屏幕,實現(xiàn)完整圖像的觀看。

SSD1906顯示控制器支持浮動窗口顯示模式。在這種模式下,主顯示窗口中可以同時顯示一個浮動窗口,這個浮動窗口可以位于主窗口中的任意位置,具體可以通過浮動窗口控制寄存器進行設置。此外,SSD1906還支持兩個硬件光標(只支持4/8/16bpp),并支持雙緩存/多頁模式,因而可以顯示流暢的動畫,并可以實現(xiàn)實時的屏幕刷新。

2 AT91RM9200微控制器

Atmel公司的AT91RM9200是基于ARM Thumb的ARM920T微控制器,時鐘頻率為180MHz,運算速度可以達到200MIPS。AT91RM9200內部分別有16KB的數(shù)據(jù)緩存和指令緩存,具有存儲器管理單元(MMU)。此外,AT91RM9200內部還包括16KB的SRAM和128KB的ROM,具有外部總線接口(EBI),支持SDRAM、靜態(tài)存儲器、Burst Flash、CompactFals、SmartMedia以及NAND Flash。

AT91RM9200微控制器提供的系統(tǒng)外設包括:增強的時鐘發(fā)生器和電源管理控制器;2個具有雙PLL的片上晶振,低時鐘操作模式以及通過軟件實現(xiàn)的電源優(yōu)化功能;具有4個可編程的外部時鐘信號;系統(tǒng)定時器包括定時中斷、看門狗和第二計數(shù)器;具有報警中斷的實時時鐘;具有調試單元、兩線UART,并且支持調試通信通道;具有8個優(yōu)先級的高級中斷控制器,可獨立屏蔽的向量中斷源,具有偽中斷保護功能;擁有7個外部中斷源和1個快速中斷源;4個32位的PIO控制器,多達122條可編程的I/O線,每條I/O線具有輸入變化中斷和漏極開路電容;具有20個通道的外圍數(shù)據(jù)控制器(PDC)。

3 硬件設計

3.1 SSD1906的總線接口

SSD1906顯示控制可與多種MCU相連,具體的連接方式取決于MCU所支持的總線類型。SSD1906支持單時鐘輸入(CLKI),從而可以由MCU的總線時鐘為其提供時鐘信號。對于通用#1總線,SSD1906用于與MCU相連的引腳為:

A0――接低電平;

A[17:1]――系統(tǒng)地址總線位17~1;

D[15:0]――系統(tǒng)數(shù)據(jù)總線輸入;

WE0――低8位數(shù)據(jù)的寫使能信號輸入;

WE1――高8位數(shù)據(jù)的寫使能信號輸入;

CS――片選輸入;

M/R――選擇讀寫顯示內存或內部寄存器。高為顯示內存,低為內部寄存器;

BS――接高電平;

RD/WR――高8位數(shù)據(jù)的讀命令輸入;

RD――低8位數(shù)據(jù)的讀命令輸入;

WAIT――等待信號輸出??梢酝ㄟ^配置,決定該信號為高電平有效或低電平有效;

RESET――復位輸入信號。

3.2 總線接口分析與實現(xiàn)

AT91RM9200微控制器的總線接口屬于通用#1型接口,因而可與SSD1906直接相連。其中,AT91RM9200的A[17:1]、D[15:0]、NWR0、NWR1、NCS2、NWAIT、NRST引腳,可以分別與SSD1906的A[17:1]、D[15:0]、WE0、WE1、CS、WAIT和RESET引腳直接連接。而AT91RM9200的NRD引腳可以使能16位或者8位的讀訪問,因而可與SSD1906的RD/WR和RD引腳相連,作為高字節(jié)和低字節(jié)的讀使能信號。對于SSD1906的M/R信號,可以由AT91RM9200的A18信號進行控制。SSD1906與AT91RM9200的總線連接如圖2所示。

此外,由于SSD1906的CLKI的輸入時鐘頻率最高為66MHz,而其總線時鐘頻率最高也為66MHz,因SSD1906的總線時鐘BCLK可以直接由CLKI提供,其頻率比為1:1。另外,AT91RM9200的總線類型為通用#1型,選NWAIT信號為低有效,總線接口為小端模式,所以可以確定SSD1906的配置引腳CF[7:0]為0x0Bh。

4 寄存器配置

在寄存器配置方面,包括對MCU的初始化及對SSD1906的初始化和設置。對于AT91RM9200微控制器,首先,必須設置相應的PIO控制寄存器,將有復用的I/O線配置為所需要的功能。其次,考慮到SSD1906的CLKI時鐘頻率最高為66MHz,因此,需要對AT91RM9200的PMC_PCK0寄存器進行設置,保證PCK0的輸出時鐘頻率不超過66MHz。下面分別介紹SSD1906的主要寄存器配置。

4.1 SSD1906的內部時鐘設置

SSD1906支持單時鐘輸入,即所有的時鐘信號都可以由CLKI的輸入時鐘提供。對于SSD1906的總線時鐘BCLK,可以通過配置CD[7:6]引腳,對CLKI得到需要的BCLK。這里將CF[7:6]配置為00,即BCLK=CLKI。

內存時鐘MCLK用于訪問SSD1906內部的SRAM。SSD1906的設計充分考慮了省電控制,當顯示控制器不工作時,時鐘自動關才。而另一方面,減小MCLK的頻率,會增加MCU時鐘延遲,從而降低屏幕刷新的性能。因此,為了在省電與性能之間達到最優(yōu)的平衡,MCLK的頻率配置必須滿足兩點:既要有足夠高的內存訪問頻率,以提供較快的刷新率,又要保證MCU的延遲為一個可接受的值。通過配置寄存器REG[04h],由BCLK得到MCLK時鐘。

像素時鐘PCLK用于控制LCD面板。PCLK的選擇必須與LCD面板的最優(yōu)幀速率相匹配。幀速率的計算公式為

幀速率=fPCLK/(HT)(VT)

其中:fPCLK為PCLK時鐘頻率,單位為Hz;

HT=((REG[12h]bits 6-0)+1)8Ts,為水平總周期;

VT=((REG[19h]bits 1-0,REG[18h]bits 7-0)+1)lines,為垂直總周期。

像素時鐘PCLK的選擇具有很大的靈活性。首先,LCD面板的幀速率一般都有一個允許的范圍。其次,像素時鐘頻率也可以指定為一個很的值,然后,通過調整水平和垂直顯示周期,將幀速率降低到一個最優(yōu)值。像素時鐘的時鐘源可以為MCLK或BCLK。通過配置寄存器REG[05h],可以得到不同的PCLK。

4.2 虛擬顯示模式的設置

SSD1906支持虛擬顯示模式,具體可以通過以下寄存器的設置實現(xiàn)。首先,設置主窗口顯示起始地址寄存器REG[74h]、REG[75h]和REG[76h],指定顯示內存中主窗口圖像的起始地址。然后,設置主窗口線地址偏移寄存器REG[78h]和REG[79h],確定虛擬圖像的水平像素數(shù)。當然,設定的水平像素數(shù)必須大于LCD面板的實際顯示像素寬度,才可以實現(xiàn)虛擬顯示,否則為普通顯示模式。圖3所示為主窗口與虛擬顯示區(qū)域的關系。

4.3 浮動窗口的設置

浮動窗口可位于虛擬顯示區(qū)域內的任何位置,其定位可以通過浮動窗口控制寄存器REG[7Ch]到REG[91h]來進行設置。浮動窗口的色深和顯示方向與主窗口相同。本方案中采用的是正常方向模式顯示,即禁止顯示旋轉。圖4為本方案中浮動窗口與主窗口的關系,以及定位寄存器的設置。

4.4 硬件光標的設置

SSD1906支持在主窗口中顯示兩個硬件光標。這兩個光標可以位于主窗口的任何位置,具體定位通過光標模式寄存器REG[C0h]到REG[111h]控制。硬件光標只支持4/8/16bpp顯示模式。

光標的色深和顯示方向與主窗口一致。本方案中光標的定位以及相應的控制寄存器設置如圖5所示。

這里只介紹了SSD1906中的一些主要寄存器的配置。其它的寄存器設置,請參考相關資料。

結語

SSD1906屬于中小規(guī)模的圖形顯示控制器,尤其適用于工控、便攜式設備及其它一些日常消費產品的液晶顯示。在AT91RM9200嵌入式系統(tǒng)中,充分利用了SSD1906小體積、低功耗、低成本、多顯示功能的優(yōu)點,可以很好地應用于工業(yè)控制以及車載GPS等領域中。



關鍵詞: SSD AT

評論


相關推薦

技術專區(qū)

關閉