傅 勇 ,張 雷,胡俊濤,呂國強,c
(合肥工業大學a.光電技術研究院 特種顯示技術教育部重點實驗室 特種顯示技術國家工程實驗室 省部共建現代顯示技術國家重點實驗室;b.儀器科學與光電工程學院;c.計算機與信息學院,安徽 合肥 230009)
OLED與薄膜場效應晶體管液晶顯示器(TFT-LCD)相比,具有響應快、全彩色、自發光、視角寬、對比度高、低電壓、可實現柔性顯示等優點,能更好地應用于手機、MP3、小尺寸儀表盤等[1-4]。OLED顯示器以其卓越的顯示性能成為下一代平板顯示器[5]的一個強有力競爭者,目前市場上已出現多種中小尺寸OLED,但配套的驅動接口電路設計[6]很少,筆者擬采用STC11L60XE單片機作為OLED顯示模塊CMEL CO283QGLD-T的主控制器,嘗試在SPI模式下實現OLED全彩靜態圖片顯示。
CMEL CO283QGLD-T顯示模塊是240×RGB×320點陣的2.8 in全彩OLED顯示模塊,集成了S6E63D6驅動器[7],圖1為S6E63D6的結構框圖。S6E63D6是一款帶控制器的OLED驅動專用芯片,最大可支持240×RGB×320點陣的圖形顯示,內置容量為240×18×320位的圖像存儲器(GRAM),向GRAM中寫入圖像數據可實現65 k、260 k色圖片顯示。其具有四種可編程彩色顯示接口模式:18-/16-/9-/8-位并行接口模式、18-/16-/6-位的RGB接口模式、串行外圍設備接口(SPI)模式和高速串行接口(MDDI)模式。S6E63D6內嵌DC-DC電壓轉換器,提供OLED模塊內部像素驅動電壓。

實現靜態圖片顯示需預存圖像數據,而單片機內部程序空間有限(60 k),不適合存儲圖像數據,采用Flash存儲器作為圖像數據存儲區能有效地解決這一問題。單片機只需讀取Flash存儲器中的圖像數據,再傳送到顯示模塊即可實現靜態圖片顯示。系統硬件結構框圖如圖2所示,整個系統采用5 V直流供電,兩個電源模塊提供整個控制電路所需電壓和OLED顯示所需電壓,微控制器(MCU)模塊實現與OLED模塊和Flash存儲器的通信,并提供了在線編程接口和硬件復位接口,使用SPI協議[8]進行串行通信。

1.2.1 電源模塊
電源模塊1輸出電壓3.3 V,為微控制器和接口電路供電。電源模塊2采用高效率開關電源,為OLED顯示提供正常工作所需的VDD和VSS。鑒于OLED顯示屏對供電電壓變化極其敏感,而安森美生產的NCP5810芯片[9]輸出電壓精準、轉換率高、封裝尺寸小(3.00 mm×3.00 mm×0.55 mm),可提供1%電壓容差的精確反饋電壓且輸出負載瞬態響應好,作為OLED驅動供電電源尤為合適。
1.2.2 微控制器
宏晶科技的STC11/10xx系列單片機[10]相比于傳統的89系列及2051系列單片機,成本更低,性能更強,故本設計系統選用STC11L60XE單片機作為微控制器。通過寄存器配置將單片機P3.0/RXD、P3.1/TXD設置為系統可編程(ISP)下載專用通信口。USB和串口轉換完成與用戶系統的USB連接,實現在用戶系統上調試和下載單片機程序。P4.7/RST引腳出廠時就被配置為復位引腳,外接復位電路實現上電復位。P3.4~P3.7預置為時鐘(SCK)、數據輸入端(SI)、數據輸出端(SO)、使能信號(CE),作為單片機與Flash存儲器的SPI接口,實現SPI串行通信。P2口部分引腳預置為時鐘線(CL)、片選信號(CSB)、數據輸出端(SDO)、數據輸入端(SDI),作為單片機與OLED顯示模塊的SPI接口,實現SPI串行通信。將P2.7預置為RE?SETB,用于控制整個OLED顯示模塊的復位。
1.2.3 SPI接口設計
硬件系統中SPI接口部分為:單片機與Flash存儲器的SPI通信接口和單片機與OLED顯示模塊的SPI通信接口。為了行文方便,約定單片機與Flash存儲器的SPI通信為SPI模式1,單片機與OLED顯示模塊的SPI通信為SPI模式2。在SPI模式2下單片機與OLED顯示模塊的連接采用接插件形式,更改接插件可實現不同尺寸OLED顯示模塊的硬件接口連接,實現系統設計的通用性。SPI模式1為四線制,包括CE,SCK,SI和SO;SPI模式 2也為四線制,包括 SCL,CSB,SDO,SDI。由于STC11L60XE單片機沒有硬件SPI接口,需設置單片機普通I/O口模擬SPI時序進行數據通信。SPI模式1中Flash存儲器SST25VF020[11]的器件地址為43H,存儲范圍為000000H~03FFFFH;SPI模式2中OLED顯示模塊SPI模式下寫指令起始地址為70H,寫數據起始地址為72H。
顯示之前,預存儲圖像數據到Flash存儲器,主程序主要完成從Flash中讀取數據,然后在SPI方式下通過單片機I/O口向顯示模塊中的GRAM輸入數據實現靜態圖片顯示。主程序軟件流程圖如圖3所示。主要功能包括:1)MCU初始化,設置單片機時鐘為外部輸入模式,設置ISP通信口和定時器,配置各個I/O口為數字口。軟件延時使能電源模塊2的正負壓輸出。2)SPI初始化,將SPI相關的片選信號、時鐘信號和數據信號拉高,不產生通信。3)OLED初始化,先配置所需顯示制式時鐘模式和接口模式,再執行清屏操作(寫入數據0x0000),預定義圖片顯示范圍(行列起始地址),最后開顯示(允許GRAM中數據顯示)。4)讀數據,單片機以SPI模式1從Flash存儲器中讀取相應的位圖數據。5)數據寫入GRAM,單片機從Flash存儲器中讀數據的同時以SPI模式2向GRAM中寫入數據,寫滿后停止SPI通信,OLED模塊會自動顯示GRAM中的圖像信息。

單片機模擬SPI模式1的時序需嚴格按照圖4所示的讀寫時序,任何時候讀寫需先將片選CE拉低,在SCK的上升沿SI上數據寫入,SCK下降沿SO上數據輸出。寫數據時SO必須保持高阻狀態,讀數據時SI狀態可任意。Flash存儲器中數據存儲格式為8位。

從Flash中讀取數據后,向GRAM中寫入數據即可實現OLED顯示,而向GRAM中寫指令、寫數據和讀狀態都是在SPI模式2下進行的,所以顯示子程序關鍵是模擬實現SPI的讀、寫時序。SPI模式2下寫指令時序如圖5所示,初始化時將CSB,SCL和SDI都拉高,先寫入器件地址,再寫入相應指令,指令格式為16位雙字節形式。寫操作時需先將片選CSB拉低,在SCL上跳變時SDI上的數據寫入,在SCL上升沿時SDI的數據必須保持穩定,結束時將SCL,SDI拉高,同時CSB置1。SPI模式2的寫數據時序如圖6所示,數據格式為16位,每寫一次數據都必須先發送一次8位器件地址,與寫指令一樣,SCL上升沿時SDI的數據必須保持穩定才能準確寫入。


CMEL CO283QGLD-T顯示模塊內部GRAM只支持16位格式的圖像數據信息,需通過圖片轉換軟件將圖片信息轉化為8位寬度的位圖信息,存儲到Flash存儲器中。軟件編程時需預先將數據格式從8位轉化為16位,然后在SPI模式2下逐位傳輸到GRAM中。圖7為SPI模式下的240×320的65 k色靜態圖片顯示效果,圖8為RGB(紅綠藍)三色圖片顯示效果,Flash存儲器中還可存儲其他測試圖片用以顯示。


本設計實現了一種基于OLED顯示模塊CMEL CO283QGLD-T的全彩色靜態圖片顯示系統。該系統設計簡單可靠,是一套通用的中小尺寸OLED驅動控制系統,同時單片機預留了多個I/O口可作后續擴展功能使用。通過與Flash存儲器的SPI通信解決了單片機內部存儲空間有限、無法存放過多圖片問題。可預置多幅測試圖片到Flash存儲器進行循環顯示,供用戶進行相應的OLED顯示性能測試。
[1] XIE Z,HUNG L S,ZHU F.A flexible top-emitting organic light-emitting diode on steel foil[J].Chem.Phys.Lett.,2003,381(5-6):691-696.
[2] 劉式墉,趙毅,李峰.有機電致發光與應用進展[J].物理學和高新技術,2003,22(5):315-318.
[3] 蔣泉,成建波,何其銳,等.全彩OLED屏顯示系統的設計[J].光電子·激光,2008,19(1):26-30.
[4] JACQUES L,HUBERT G.Powering small AMOLED display in portable GSM systems[J].電子器件,2008,31(1):7-11.
[5] 應根裕,胡文波,邱勇,等.平板顯示技術[M].北京:人民郵電出版社,2002.
[6] 李文明,荊海,馬凱.彩色AMOLED驅動控制系統設計[J].液晶與顯示,2007,22(5):612-617.
[7] Samsung Semiconductors.S6E63D6 technical data[R].Beijing:Samsung Electronics Co.,Ltd.,2006.
[8] 楊美剛.SPI接口及其在數據交換中的應用[J].通信技術,2007,40(11):385-387.
[9] ON Semiconductors.NCP5810 Technical Data[R].Phoenix,USA:ON Semiconductors,2007.
[10] 深圳宏晶科技有限公司.STC11/10xx系列單片機器件手冊[G].深圳:深圳宏晶科技有限公司,2011.
[11] Silicon Storage Technology Inc.SST25VF020 technical data[R].Arizona,USA:Silicon Storage Technology Inc.,2004.