OLED與薄膜場(chǎng)效應晶體管液晶顯示器(TFT—LCD)相比,具有響應快、全彩色、自發(fā)光、視角寬、對比度高、低電壓、可實(shí)現柔性顯示等優(yōu)點(diǎn),能更好地應用于手機、MP3、小尺寸儀表盤(pán)等。OLED顯示器以其卓越的顯示性能成為下一代平板顯示器15’的一個(gè)強有力競爭者,目前市場(chǎng)上已出現多種中小尺寸OLED,但配套的驅動(dòng)接口電路設計嘲很少,筆者擬采用STCllL60XE單片機作為OLED顯示模塊CMEL C0283QGLD—T的主控制器。嘗試在SPI模式下實(shí)現OLED全彩靜態(tài)圖片顯示。
CMEL C0283QGLD-T顯示模塊是240xRGBx320點(diǎn)陣的2.8 in全彩OLED顯示模塊,集成了S6E63D6驅動(dòng)器”1,圖l為S6E63D6的結構框圖。S6E63D6是一款帶控制器的OLED驅動(dòng)專(zhuān)用芯片,最大可支持240xRGBx320點(diǎn)陣的圖形顯示。內置容量為240x18x320位的圖像存儲器(GRAM),向GRAM中寫(xiě)入圖像數據可實(shí)現65 k、260 k色圖片顯示。其具有四種可編程彩色顯示接口模式:
18一/16?/9/8位并行接口模式、18?/16/6位的RGB接口模式、串行外圍設備接口(SPI)模式和高速串行接口(MDDI)模式。S6E63D6內嵌DC—DC電壓轉換器,提供OLED模塊內部像素驅動(dòng)電壓。
圖l S6E63D6結構框圖
硬件電路設計
實(shí)現靜態(tài)圖片顯示需預存圖像數據。而單片機內部程序空間有限(60 k),不適合存儲圖像數據,采用Flash存儲器作為圖像數據存儲區能有效地解決這一問(wèn)題。單片機只需讀取Flash存儲器中的圖像數據,再傳送到顯示模塊即可實(shí)現靜態(tài)圖片顯示。系統硬件結構框圖如圖2所示,整個(gè)系統采用5 V直流供電,兩個(gè)電源模塊提供整個(gè)控制電路所需電壓和OLED顯示所需電壓,微控制器(MCU)模塊實(shí)現與OLED模塊和Flash存儲器的通信,并提供了在線(xiàn)編程接口和硬件復位接口,使用SPI協(xié)議18I進(jìn)行串行通信。
圖2系統硬件結構框圖
電源模塊
電源模塊1輸出電壓3.3 V,為微控制器和接口電路供電。電源模塊2采用高效率開(kāi)關(guān)電源,為OLED顯示提供正常工作所需的VDD和VSS。鑒于OLED顯示屏對供電電壓變化極其敏感,而安森美生產(chǎn)的NCP58 10芯片一1輸出電壓精準、轉換率高、封裝尺寸dx(3.00 mmx3.00 mmx0.55 mm),可提供l%電壓容差的精確反饋電壓且輸出負載瞬態(tài)響應好,作為OLED驅動(dòng)供電電源尤為合適。
微控制器
宏晶科技的STCll/lOxx系列單片機HOl相比于傳統的89系列及205l系列單片機,成本更低,性能更強,故本設計系統選用STCl 1L60XE單片機作為微控制器。通過(guò)寄存器配置將單片機P3.0/RXD、P3.1/TXD設置為系統可編程(ISP)下載專(zhuān)用通信口。USB和串口轉換完成與用戶(hù)系統的USB連接,實(shí)現在用戶(hù)系統上調試和下載單片機程序。P4.7/RST引腳出廠(chǎng)時(shí)就被配置為復位引腳,外接復位電路實(shí)現上電復位。P3.4一P3.7預置為時(shí)鐘(SCK)、數據輸入端(SI)、數據輸出端(SO)、使能信號(CE),作為單片機與Flash存儲器的SPI接口,實(shí)現SPI串行通信。P2口部分引腳預置為時(shí)鐘線(xiàn)(CL)、片選信號(CSB)、數據輸出端(SDO)、數據輸入端(SDI),作為單片機與OLED顯示模塊的SPI接口,實(shí)現SPI串行通信。將P2.7預置為RE.SETB,用于控制整個(gè)OLED顯示模塊的復位。
SPI接口設計
硬件系統中SPI接口部分為:?jiǎn)纹瑱C與Flash存儲器的SPI通信接口和單片機與OLED顯示模塊的SPI通信接口。為了行文方便,約定單片機與Flash存儲器的SPI通信為SPI模式I,單片機與OLED顯示模塊的SPI通信為SPI模式2。在SPI模式2下單片機與OLED顯示模塊的連接采用接插件形式,更改接插件可實(shí)現不同尺寸OLED顯示模塊的硬件接口連接,實(shí)現系統設計的通用性。SPI模式1為四線(xiàn)制,包括CE,SCK,SI和SO;SPI模式2也為四線(xiàn)制,包括SCL,CSB,SDO,SDI。由于STCl 1L60XE單片機沒(méi)有硬件SPI接口,需設置單片機普通I/O口模擬SPI時(shí)序進(jìn)行數據通信。SPI模式1中Flash存儲器SST25VF020I“1的器件地址為43H,存儲范圍為000000H~03FFFFH;SPl模式2中OLED顯示模塊SPI模式下寫(xiě)指令起始地址為70H,寫(xiě)數據起始地址為72H。
軟件設計
顯示之前,預存儲圖像數據到Flash存儲器,主程序主要完成從Flash中讀取數據,然后在SPI方式下通過(guò)單片機I/O口向顯示模塊中的GRAM輸人數據實(shí)現靜態(tài)圖片顯示。主程序軟件流程圖如圖3所示。主要功能包括:1)MCU初始化,設置單片機時(shí)鐘為外部輸入模式,設置ISP通信口和定時(shí)器。配置各個(gè)I/O口為數字口。軟件延時(shí)使能電源模塊2的正負壓輸出。2)SPI初始化,將SPI相關(guān)的片選信號、時(shí)鐘信號和數據信號拉高,不產(chǎn)生通信。3)OLED初始化,先配置所需顯示制式時(shí)鐘模式和接口模式,再執行清屏操作(寫(xiě)入數據0x0000),預定義圖片顯示范圍(行列起始地址),最后開(kāi)顯示(允許GRAM中數據顯示)。4)讀數據,單片機以SPI模式l從Flash存儲器中讀取相應的位圖數據。5)數據寫(xiě)入GRAM,單片機從Flash存儲器中讀數據的同時(shí)以SPI模式2向GRAM中寫(xiě)人數據,寫(xiě)滿(mǎn)后停止SPI通信。OLED模塊會(huì )自動(dòng)顯示。.GRAM中的圖像信息。
圖3OLED顯示軟件流程圖
單片機模擬SPI模式l的時(shí)序需嚴格按照圖4所示的讀寫(xiě)時(shí)序,任何時(shí)候讀寫(xiě)需先將片選CE拉低,在SCK的上升沿SI上數據寫(xiě)入,SCK下降沿SO上數據輸出。寫(xiě)數據時(shí)SO必須保持高阻狀態(tài).讀數據時(shí)SI狀態(tài)可任意。Flash存儲器中數據存儲格式為8位。
從Flash中讀取數據后,向GRAM中寫(xiě)入數據即可實(shí)現OLED顯示,而向GRAM中寫(xiě)指令、寫(xiě)數據和讀狀態(tài)都是在SPI模式2下進(jìn)行的,所以顯示子程序關(guān)鍵是模擬實(shí)現SPI的讀、寫(xiě)時(shí)序。SPI模式2下寫(xiě)指令時(shí)序如圖5所示,初始化時(shí)將CSB,SCL和SDI都拉高,先寫(xiě)入器件地址,再寫(xiě)入相應指令,指令格式為16位雙字節形式。寫(xiě)操作時(shí)需先將片選CSB拉低,在SCL上跳變時(shí)SDI上的數據寫(xiě)入,在SCL上升沿時(shí)SDI的數據必須保持穩定,結束時(shí)將SCL,SDI拉高,同時(shí)CSB置1。SPI模式2的寫(xiě)數據時(shí)序如圖6所示,數據格式為16位,每寫(xiě)一次數據都必須先發(fā)送一次8位器件地址,與寫(xiě)指令一樣,SCL上升沿時(shí)SDI的數據必須保持穩定才能準確寫(xiě)入。
實(shí)驗結果
CMEL C0283QGLD—T顯示模塊內部GRAM只支持16位格式的圖像數據信息,需通過(guò)圖片轉換軟件將圖片信息轉化為8位寬度的位圖信息,存儲到Flash存儲器中。軟件編程時(shí)需預先將數據格式從8位轉化為16位,然后在SPI模式2T逐位傳輸到GRAM中。圖7為SPI模式下的240x320的65 k色靜態(tài)圖片顯示效果。圖8為RGB(紅綠藍)三色圖片顯示效果,Flash存儲器中還可存儲其他測試圖片用以顯示。
結語(yǔ)
本設計實(shí)現了一種基于OLED顯示模塊CMELC0283QGLD—T的全彩色靜態(tài)圖片顯示系統。該系統設計簡(jiǎn)單可靠,是一套通用的中小尺寸OLED驅動(dòng)控制系統.同時(shí)單片機預留了多個(gè)I/O口可作后續擴展功能使用。通過(guò)與Flash存儲器的SPI通信解決了單片機內部存儲空間有限、無(wú)法存放過(guò)多圖片問(wèn)題??深A置多幅測試圖片到Flash存儲器進(jìn)行循環(huán)顯示,供用戶(hù)進(jìn)行相應的OLED顯示性能測試。