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