顯示控制器SSD1906與AT91RM9200的接口技術(shù)
3 硬件設(shè)計(jì)
3.1 SSD1906的總線接口
SSD1906顯示控制器可與多種MCU相連,具體的連接方式取決于MCU所支持的總線類型。SSD1906支持單時(shí)鐘輸入(CLKI),從而可以由MCU的總線時(shí)鐘為其提供時(shí)鐘信號(hào)。對(duì)于通用#1總線,SSD1906用于與MCU相連的引腳為:
A0——接低電平;
A[17:1]——系統(tǒng)地址總線位17~1;
D[15:0]——系統(tǒng)數(shù)據(jù)總線輸入;
WE0——低8位數(shù)據(jù)的寫(xiě)使能信號(hào)輸入;
WE1——高8位數(shù)據(jù)的寫(xiě)使能信號(hào)輸入;
CS——片選輸入;
M/R——選擇讀寫(xiě)顯示內(nèi)存或內(nèi)部寄存器。高為顯示內(nèi)存,低為內(nèi)部寄存器;
BS——接高電平;
RD/WR——高8位數(shù)據(jù)的讀命令輸入;
RD——低8位數(shù)據(jù)的讀命令輸入;
WAIT——等待信號(hào)輸出。可以通過(guò)配置,決定該信號(hào)為高電平有效或低電平有效;
RESET——復(fù)位輸入信號(hào)。
此外,引腳CF[7:0]用于配置SSD1906。具體配置描述如表1所列。
表1 SSD1906的配置引腳
3.2 總線接口分析與實(shí)現(xiàn)
AT91RM9200微控制器的總線接口屬于通用#1型接口,因而可與SSD1906直接相連。其中,AT91RM9200的A[17:1]、D[15:0]、NWR0、NWR1、NCS2、NWAIT、NRST引腳,可以分別與SSD1906的A[17:1]、D[15:0]、、、、和引腳直接連接。而AT91RM9200的NRD引腳可以使能16位或者8位的讀訪問(wèn),因而可與SSD1906的RD/和引腳相連,作為高字節(jié)和低字節(jié)的讀使能信號(hào)。對(duì)于SSD1906的M/信號(hào),可以由AT91RM9200的A18信號(hào)進(jìn)行控制。SSD1906與AT91RM9200的總線連接如圖2所示。
此外,由于SSD1906的CLKI的輸入時(shí)鐘頻率最高為66MHz,而其總線時(shí)鐘頻率最高也為66MHz,因而SSD1906的總線時(shí)鐘BCLK可以直接由CLKI提供,其頻率比為1:1。另外,AT91RM9200的總線類型為通用#1型,選NWAIT信號(hào)為低有效,總線接口為小端模式,所以,可以確定SSD1906的配置引腳CF[7:0]為0x0Bh。
圖2 SSD1906與AT91RM9200的總線連接
4 寄存器配置
在寄存器配置方面,包括對(duì)MCU的初始化及對(duì)SSD1906的初始化和設(shè)置。對(duì)于AT91RM9200微控制器,首先,必須設(shè)置相應(yīng)的PIO控制寄存器,將有復(fù)用的I/O線配置為所需要的功能。其次,考慮到SSD1906的CLKI時(shí)鐘頻率最高為66MHz,因此,需要對(duì)AT91RM9200的PMC_PCK0寄存器進(jìn)行設(shè)置,保證PCK0的輸出時(shí)鐘頻率不超過(guò)66MHz。下面分別介紹SSD1906的主要寄存器配置。
4.1 SSD1906的內(nèi)部時(shí)鐘設(shè)置
SSD1906支持單時(shí)鐘輸入,即所有的時(shí)鐘信號(hào)都可以由CLKI的輸入時(shí)鐘提供。對(duì)于SSD1906的總線時(shí)鐘BCLK,可以通過(guò)配置CF[7:6]引腳,對(duì)CLKI得到需要的BCLK。這里將CF[7:6]配置為00,即BCLK=CLKI。
內(nèi)存時(shí)鐘MCLK用于訪問(wèn)SSD1906內(nèi)部的SRAM。SSD1906的設(shè)計(jì)充分考慮了省電控制,當(dāng)顯示控制器不工作時(shí),時(shí)鐘自動(dòng)關(guān)閉。而另一方面,減小MCLK的頻率,會(huì)增加MCU時(shí)鐘延遲,從而降低屏幕刷新的性能。因此,為了在省電與性能之間達(dá)到最優(yōu)的平衡,MCLK的頻率配置必須滿足兩點(diǎn):既要有足夠高的內(nèi)存訪問(wèn)頻率,以提供較快的刷新率,又要保證MCU的延遲為一個(gè)可接受的值。通過(guò)配置寄存器REG[04h],由BCLK得到MCLK時(shí)鐘。
評(píng)論