文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)05-0015-03
微顯示器[1]是一種特殊形態(tài)的顯示器,,它自身物理尺寸很小,,但卻可以通過(guò)光學(xué)系統(tǒng)產(chǎn)生大屏幕顯示效果,,主要應(yīng)用于投影機(jī)和近眼顯示系統(tǒng),。近年來(lái),隨著有機(jī)發(fā)光技術(shù)的興起,,基于OLED(有機(jī)發(fā)光二極管)的微顯示器也開(kāi)始逐漸發(fā)展,。OLED微顯示器具有主動(dòng)發(fā)光、固態(tài)顯示,、超輕超薄,、色彩豐富、驅(qū)動(dòng)電壓低,、響應(yīng)速度快,、溫度適應(yīng)范圍廣、功耗低等優(yōu)點(diǎn),。目前,,大多OLED微顯示器都采用IIC接口[2],通過(guò)IIC接口控制OLED微顯示器內(nèi)部寄存器,,從而實(shí)現(xiàn)對(duì)顯示模式,、顯示方向、顯示位置,、亮度,、對(duì)比度、色度,、伽瑪矯正等控制功能,。
IIC是Philips公司開(kāi)發(fā)的一種用于芯片間通信的串行傳輸總線,它由串行時(shí)鐘線SCL和串行數(shù)據(jù)線SDA完成全雙工數(shù)據(jù)傳送。IIC最主要的優(yōu)點(diǎn)是其具備簡(jiǎn)單性和有效性,。其次,,由于接口直接在組件上,IIC占用的空間非常小,,同時(shí)其連線也少,。
本文通過(guò)利用Verilog語(yǔ)言,采用模塊化設(shè)計(jì)思想[3],設(shè)計(jì)了基于FPGA的OLED微顯示器的IIC接口的IIC控制模塊,,該控制模塊包括寫(xiě)數(shù)據(jù)存儲(chǔ)模塊,、讀數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)讀寫(xiě)模塊,,從而準(zhǔn)確而有效地完成對(duì)OLED微顯示內(nèi)部寄存器的讀寫(xiě)操作,。
1 IIC接口的控制方案
1.1 OLED微顯示器
本設(shè)計(jì)采用的OLED微顯示器是由云南北方奧雷德光電科技股份有限公司生產(chǎn)的SVGA050SC低功耗主動(dòng)式OLED微顯示器,內(nèi)部共有256個(gè)寄存器,,通過(guò)IIC接口,可對(duì)其進(jìn)行讀寫(xiě)操作,,從而可實(shí)現(xiàn)對(duì)OLED微顯示器顯示模式,、顯示方向、顯示位置,、亮度,、對(duì)比度、色度,、伽瑪矯正等的控制和調(diào)整,。主要寄存器如表1所示。
1.2 OLED微顯示器IIC接口的基本原理
IIC能以雙向數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL)實(shí)現(xiàn)完善的全雙工同步數(shù)據(jù)傳送[4],。工作時(shí),,SDA和SCL必須通過(guò)外部控制器經(jīng)電阻上拉至1.8 V/3.3 V電源。OLED顯示器只能作為從機(jī)使用,,所有讀/寫(xiě)操作必須由主機(jī)來(lái)實(shí)現(xiàn),。
1.3 控制方案概述
通過(guò)對(duì)OLED微顯示器及IIC接口的分析,基于FPGA設(shè)計(jì)了OLED微顯示器IIC接口的IIC控制模塊,,如圖1所示,。該控制模塊包括寫(xiě)數(shù)據(jù)存儲(chǔ)模塊、讀數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)讀寫(xiě)模塊,。寫(xiě)數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)從機(jī)地址,、寄存器地址以及寄存器寫(xiě)入數(shù)據(jù),讀數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)從機(jī)地址,、寄存器地址以及寄存器讀入數(shù)據(jù),,數(shù)據(jù)讀寫(xiě)模塊用于讀寫(xiě)相應(yīng)的數(shù)據(jù)。
FPGA采用Altera公司Cyclone II系列中的 EP2C8-Q208C8,。EP2C8Q208C8擁有8 256個(gè)邏輯單元,、1.1 Mbit內(nèi)部RAM、150個(gè)18×18乘法器,、4個(gè)PLL環(huán)和85個(gè)I/O接口,,最高數(shù)據(jù)率可以達(dá)到260 Mb/s,,完全滿足本系統(tǒng)要求的60 MHz系統(tǒng)時(shí)鐘需求。與其他FPGA產(chǎn)品不同,,Cyclone II FPGA性能提高了60%,,同時(shí)功耗降為原來(lái)的一半,非常經(jīng)濟(jì)實(shí)用[5],。
2 IIC控制模塊設(shè)計(jì)
2.1 寫(xiě)數(shù)據(jù)存儲(chǔ)模塊
寫(xiě)數(shù)據(jù)存儲(chǔ)模塊由reg型數(shù)據(jù)存儲(chǔ)8 bit數(shù)據(jù),,包括從機(jī)地址加寫(xiě)標(biāo)志位,由memory型數(shù)據(jù)構(gòu)成寄存器存儲(chǔ)器和寫(xiě)入數(shù)據(jù)存儲(chǔ)器,,每一個(gè)存儲(chǔ)單元大小為8 bit,,用于存儲(chǔ)寄存器地址和寄存器寫(xiě)入數(shù)據(jù),存儲(chǔ)單元的數(shù)量可以根據(jù)需要自行定義,。
自定義的存儲(chǔ)單元的數(shù)量決定了寄存器存儲(chǔ)器和寫(xiě)入數(shù)據(jù)存儲(chǔ)器的大小,。寫(xiě)數(shù)據(jù)存儲(chǔ)模塊內(nèi)部有一個(gè)與數(shù)據(jù)讀寫(xiě)模塊通信的計(jì)數(shù)變量,通過(guò)改變計(jì)數(shù)變量,,可將寄存器存儲(chǔ)器中新的地址和寫(xiě)入數(shù)據(jù)存儲(chǔ)器中新的數(shù)據(jù)傳輸給讀寫(xiě)數(shù)據(jù)模塊,。圖2為寫(xiě)數(shù)據(jù)存儲(chǔ)模塊,。
2.2 讀數(shù)據(jù)存儲(chǔ)模塊
讀數(shù)據(jù)存儲(chǔ)模塊由reg型數(shù)據(jù)存儲(chǔ)8 bit數(shù)據(jù),,包括從機(jī)地址加讀標(biāo)志位,由memory型數(shù)據(jù)構(gòu)成寄存器存儲(chǔ)器和讀入數(shù)據(jù)存儲(chǔ)器,,每一個(gè)存儲(chǔ)單元大小為8 bit,,用于存儲(chǔ)寄存器地址和寄存器讀入數(shù)據(jù),存儲(chǔ)單元的數(shù)量可以根據(jù)需要自行定義,。
自定義的存儲(chǔ)單元的數(shù)量決定了寄存器存儲(chǔ)器和讀入數(shù)據(jù)存儲(chǔ)器的大小,。讀數(shù)據(jù)存儲(chǔ)模塊內(nèi)部有一個(gè)與數(shù)據(jù)讀寫(xiě)模塊通信的計(jì)數(shù)變量,通過(guò)改變計(jì)數(shù)變量,,可將寄存器存儲(chǔ)器中新的地址傳輸給讀寫(xiě)數(shù)據(jù)模塊,,并將從讀寫(xiě)數(shù)據(jù)模塊傳回的寄存器數(shù)據(jù)存儲(chǔ)到讀數(shù)據(jù)存儲(chǔ)器中。圖3為讀數(shù)據(jù)存儲(chǔ)模塊,。
本設(shè)計(jì)采用的時(shí)鐘源頻率為40 MHz,,由于SCL的頻率要求在100 kHz~1 MHz范圍內(nèi),本設(shè)計(jì)將時(shí)鐘源進(jìn)行100分頻,,因此SCL的頻率設(shè)定為400 kHz,。考慮到IIC起始,、讀寫(xiě)以及停止的時(shí)序要求,,將SCL的時(shí)鐘周期平均分為上升沿、高電平,、下降沿和低電平4個(gè)狀態(tài),。在上升沿狀態(tài)或下降沿狀態(tài)時(shí),,設(shè)定SCL=1或SCL=0,而在高電平狀態(tài)或低電平狀態(tài)時(shí),,SDA才允許進(jìn)行數(shù)據(jù)變化,,這樣就能保證SDA進(jìn)行數(shù)據(jù)變化時(shí)SCL已經(jīng)處于高電平或者低電平狀態(tài),從而能夠避免SDA與SCL同時(shí)經(jīng)歷上升沿或下降沿而帶來(lái)的時(shí)序功能不確定性的問(wèn)題,。
為了實(shí)現(xiàn)對(duì)OLED微顯示器內(nèi)部寄存器的讀寫(xiě)操作,,本設(shè)計(jì)采用兩個(gè)狀態(tài)機(jī):一個(gè)寫(xiě)狀態(tài)機(jī),一個(gè)讀狀態(tài)機(jī),。讀/寫(xiě)狀態(tài)機(jī)由外部按鍵進(jìn)行切換,。
寫(xiě)狀態(tài)機(jī)由空閑狀態(tài)、起始狀態(tài),、從機(jī)地址傳輸寫(xiě)狀態(tài),、響應(yīng)1狀態(tài)、寄存器地址傳輸狀態(tài),、響應(yīng)2狀態(tài),、數(shù)據(jù)傳輸狀態(tài)、響應(yīng)3狀態(tài),、中間停止返回狀態(tài)以及最終停止?fàn)顟B(tài)構(gòu)成,。在從機(jī)地址傳輸寫(xiě)狀態(tài)、寄存器地址傳輸狀態(tài)及數(shù)據(jù)傳輸狀態(tài)中,,當(dāng)SCL處于低電平狀態(tài)時(shí),,SDA隨著計(jì)數(shù)器在0~7范圍的逐次增加而改變,直到傳輸完8 bit數(shù)據(jù),。在響應(yīng)狀態(tài)中,,由于SDA的三態(tài)設(shè)置,此時(shí)將SDA置于高阻狀態(tài),,從而響應(yīng)從機(jī)的應(yīng)答,。同時(shí),寫(xiě)狀態(tài)機(jī)設(shè)置有計(jì)數(shù)變量,,計(jì)數(shù)變量隨著寫(xiě)狀態(tài)機(jī)循環(huán)次數(shù)的增加而增加,。狀態(tài)之間的切換如圖5所示。在計(jì)數(shù)變量小于等于設(shè)定寫(xiě)入次數(shù)時(shí),,數(shù)據(jù)讀寫(xiě)模塊向OLED微顯示器的內(nèi)部寄存器寫(xiě)入數(shù)據(jù),。
讀狀態(tài)機(jī)由空閑狀態(tài)、起始狀態(tài),、從機(jī)地址傳輸寫(xiě)狀態(tài),、響應(yīng)1狀態(tài)、寄存器地址傳輸狀態(tài),、響應(yīng)2狀態(tài),、重新起始狀態(tài),、從機(jī)地址傳輸讀狀態(tài)、響應(yīng)3狀態(tài),、數(shù)據(jù)傳輸狀態(tài),、響應(yīng)4狀態(tài)、中間停止返回狀態(tài)以及最終停止?fàn)顟B(tài)構(gòu)成,。其中讀狀態(tài)機(jī)中從機(jī)地址傳輸寫(xiě)狀態(tài),、寄存器地址傳輸狀態(tài)、從機(jī)地址傳輸讀狀態(tài)以及響應(yīng)狀態(tài)與寫(xiě)狀態(tài)機(jī)中的相應(yīng)狀態(tài)類(lèi)似,。不同的是,,在數(shù)據(jù)傳輸狀態(tài)中,在SCL處于高電平狀態(tài)時(shí),,通過(guò)將SDA置于高阻狀態(tài),,把OLED微顯示器寄存器的數(shù)據(jù)逐位傳輸給8 bit的寄存器,然后傳遞給讀數(shù)據(jù)存儲(chǔ)模塊,。讀狀態(tài)機(jī)的狀態(tài)切換如圖6所示,。同樣,在讀狀態(tài)機(jī)中也設(shè)有計(jì)數(shù)變量,,當(dāng)計(jì)數(shù)變量小于等于設(shè)定讀入次數(shù)時(shí),,OLED微顯示器寄存器的數(shù)據(jù)通過(guò)讀寫(xiě)數(shù)據(jù)模塊傳輸給讀數(shù)據(jù)存儲(chǔ)模塊。
2.4 IIC控制模塊
通過(guò)對(duì)寫(xiě)數(shù)據(jù)模塊,、讀數(shù)據(jù)模塊以及數(shù)據(jù)讀寫(xiě)模塊的設(shè)計(jì),,完成了IIC控制模塊的設(shè)計(jì)。IIC控制模塊的原理圖如圖7所示,。
3 IIC控制模塊仿真及測(cè)試
軟件仿真在EDA軟件環(huán)境中進(jìn)行,通過(guò)模擬硬件產(chǎn)生測(cè)試信號(hào),,對(duì)編寫(xiě)的代碼進(jìn)行測(cè)試,。通過(guò)觀看時(shí)序波形或者數(shù)據(jù)報(bào)告文件來(lái)判斷綜合后的軟件邏輯是否正確,主要用于在各個(gè)分散的模塊之間的波形仿真,。在系統(tǒng)的設(shè)計(jì)過(guò)程中,,采用Quartus 8.1軟件作為前端的軟件仿真;功能測(cè)試中將整個(gè)系統(tǒng)組合起來(lái)采用軟件仿真并下載到FPGA進(jìn)行測(cè)試,;綜合驗(yàn)證則是通過(guò)EDA綜合工具將HDL代碼結(jié)合庫(kù)文件綜合成門(mén)級(jí)描述,,然后將綜合結(jié)果在軟件中做最后的驗(yàn)證[6]。IIC控制模塊的寫(xiě)仿真波形如圖8所示,。
通過(guò)IIC控制模塊對(duì)OLED微顯示寄存器進(jìn)行讀寫(xiě)操作,,實(shí)現(xiàn)了OLED微顯示器內(nèi)置圖像的顯示。圖9為OLED微顯示內(nèi)置圖像,。
FPGA EP2C8Q208C8作為核心控制器件,,在分析SVGA050SC OLED微顯示器和IIC接口的基礎(chǔ)上,,利用Verilog語(yǔ)言,采用模塊化設(shè)計(jì)思想,,設(shè)計(jì)了基于FPGA的OLED微顯示器的IIC接口的IIC控制模塊,。該控制模塊對(duì)于OLED微顯示器寄存器的控制提供了較好的解決方案,降低了控制的復(fù)雜度,,并且系統(tǒng)穩(wěn)定,,執(zhí)行效率較高。
參考文獻(xiàn)
[1] 應(yīng)根裕,,胡文波,,邱勇,等.平板顯示技術(shù)[M].北京:人民郵電出版社,,2002.
[2] 金陽(yáng).數(shù)字視頻和OLED微顯示技術(shù)[J].科技創(chuàng)新導(dǎo)報(bào),,2011,27(1):11-12.
[3] 呂國(guó)亮,,趙曙光,,趙俊.嵌入式邏輯分析技術(shù)及其在FPGA系統(tǒng)開(kāi)發(fā)中的應(yīng)用[J].液晶與顯示,2007,,22(2):227-231.
[4] 張家會(huì),,熊先越,曹麗珍.基于FPGA的I2C總線設(shè)計(jì)[J].光通信技術(shù),,2011,,9(1):40-41.
[5] 王鳴浩,吳小霞.基于FPGA的通用液晶顯示控制器的設(shè)計(jì)和實(shí)現(xiàn)[J].液晶與顯示,,2012,,27(1):87-92.
[6] 冉峰,何林奇,,季淵.無(wú)線OLED微顯示器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].液晶與顯示,,2012,27(5):633-637.