《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的OLED微顯示器的IIC控制模塊設(shè)計(jì)
基于FPGA的OLED微顯示器的IIC控制模塊設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2013年第5期
冉 峰,何林奇,儲(chǔ) 楚
上海大學(xué) 微電子研究與開發(fā)中心,上海200072
摘要: OLED微顯示器作為一種新興的微顯示器,具有眾多優(yōu)點(diǎn)。鑒于OLED微顯示大多采用IIC接口,利用Verilog語言,采用模塊化設(shè)計(jì)思想,設(shè)計(jì)了基于FPGA EP2C8Q208C8的OLED微顯示器的IIC接口的IIC控制模塊,該控制模塊包括寫數(shù)據(jù)存儲(chǔ)模塊、讀數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)讀寫模塊,從而準(zhǔn)確而有效地實(shí)現(xiàn)了對(duì)OLED微顯示內(nèi)部寄存器的讀寫操作。
中圖分類號(hào): TP332;TN27
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)05-0015-03
Design of the IIC interface control module of OLED microdislay based on FPGA
Ran Feng,He Linqi,Chu Chu
Microelectronic R&D Center, Shanghai University,Shanghai 200072,China
Abstract: As a new microdisplay, OLED microdisplay has many advantages.According to the OLED microdisplay mostly using IIC interface,we designed the IIC control module for OLED microdisplay′s IIC interface based on FPGA EP2C8Q208C8 using Verilog language and adopting the modular structure. The control module includes writing data storage module, reading data storage module, data reading and writing module,which realize the read and write operation of the OLED microdisplay internal registers accurately and effectively.
Key words : OLED microdisplay;modular design;FPGA;IIC interface

   微顯示器[1]是一種特殊形態(tài)的顯示器,它自身物理尺寸很小,但卻可以通過光學(xué)系統(tǒng)產(chǎn)生大屏幕顯示效果,主要應(yīng)用于投影機(jī)和近眼顯示系統(tǒng)。近年來,隨著有機(jī)發(fā)光技術(shù)的興起,基于OLED(有機(jī)發(fā)光二極管)的微顯示器也開始逐漸發(fā)展。OLED微顯示器具有主動(dòng)發(fā)光、固態(tài)顯示、超輕超薄、色彩豐富、驅(qū)動(dòng)電壓低、響應(yīng)速度快、溫度適應(yīng)范圍廣、功耗低等優(yōu)點(diǎn)。目前,大多OLED微顯示器都采用IIC接口[2],通過IIC接口控制OLED微顯示器內(nèi)部寄存器,從而實(shí)現(xiàn)對(duì)顯示模式、顯示方向、顯示位置、亮度、對(duì)比度、色度、伽瑪矯正等控制功能。

    IIC是Philips公司開發(fā)的一種用于芯片間通信的串行傳輸總線,它由串行時(shí)鐘線SCL和串行數(shù)據(jù)線SDA完成全雙工數(shù)據(jù)傳送。IIC最主要的優(yōu)點(diǎn)是其具備簡單性和有效性。其次,由于接口直接在組件上,IIC占用的空間非常小,同時(shí)其連線也少。
    本文通過利用Verilog語言,采用模塊化設(shè)計(jì)思想[3],設(shè)計(jì)了基于FPGA的OLED微顯示器的IIC接口的IIC控制模塊,該控制模塊包括寫數(shù)據(jù)存儲(chǔ)模塊、讀數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)讀寫模塊,從而準(zhǔn)確而有效地完成對(duì)OLED微顯示內(nèi)部寄存器的讀寫操作。
1 IIC接口的控制方案
1.1 OLED微顯示器

    本設(shè)計(jì)采用的OLED微顯示器是由云南北方奧雷德光電科技股份有限公司生產(chǎn)的SVGA050SC低功耗主動(dòng)式OLED微顯示器,內(nèi)部共有256個(gè)寄存器,通過IIC接口,可對(duì)其進(jìn)行讀寫操作,從而可實(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必須通過外部控制器經(jīng)電阻上拉至1.8 V/3.3 V電源。OLED顯示器只能作為從機(jī)使用,所有讀/寫操作必須由主機(jī)來實(shí)現(xiàn)。
1.3 控制方案概述
    通過對(duì)OLED微顯示器及IIC接口的分析,基于FPGA設(shè)計(jì)了OLED微顯示器IIC接口的IIC控制模塊,如圖1所示。該控制模塊包括寫數(shù)據(jù)存儲(chǔ)模塊、讀數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)讀寫模塊。寫數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)從機(jī)地址、寄存器地址以及寄存器寫入數(shù)據(jù),讀數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)從機(jī)地址、寄存器地址以及寄存器讀入數(shù)據(jù),數(shù)據(jù)讀寫模塊用于讀寫相應(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í)功耗降為原來的一半,非常經(jīng)濟(jì)實(shí)用[5]。
2 IIC控制模塊設(shè)計(jì)
2.1 寫數(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ù)讀寫模塊通信的計(jì)數(shù)變量,通過改變計(jì)數(shù)變量,可將寄存器存儲(chǔ)器中新的地址和寫入數(shù)據(jù)存儲(chǔ)器中新的數(shù)據(jù)傳輸給讀寫數(shù)據(jù)模塊。圖2為寫數(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ù)讀寫模塊通信的計(jì)數(shù)變量,通過改變計(jì)數(shù)變量,可將寄存器存儲(chǔ)器中新的地址傳輸給讀寫數(shù)據(jù)模塊,并將從讀寫數(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起始、讀寫以及停止的時(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)歷上升沿或下降沿而帶來的時(shí)序功能不確定性的問題。
    為了實(shí)現(xiàn)對(duì)OLED微顯示器內(nèi)部寄存器的讀寫操作,本設(shè)計(jì)采用兩個(gè)狀態(tài)機(jī):一個(gè)寫狀態(tài)機(jī),一個(gè)讀狀態(tài)機(jī)。讀/寫狀態(tài)機(jī)由外部按鍵進(jìn)行切換。
    寫狀態(tài)機(jī)由空閑狀態(tài)、起始狀態(tài)、從機(jī)地址傳輸寫狀態(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ī)地址傳輸寫狀態(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í),寫狀態(tài)機(jī)設(shè)置有計(jì)數(shù)變量,計(jì)數(shù)變量隨著寫狀態(tài)機(jī)循環(huán)次數(shù)的增加而增加。狀態(tài)之間的切換如圖5所示。在計(jì)數(shù)變量小于等于設(shè)定寫入次數(shù)時(shí),數(shù)據(jù)讀寫模塊向OLED微顯示器的內(nèi)部寄存器寫入數(shù)據(jù)。

    讀狀態(tài)機(jī)由空閑狀態(tài)、起始狀態(tài)、從機(jī)地址傳輸寫狀態(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ī)地址傳輸寫狀態(tài)、寄存器地址傳輸狀態(tài)、從機(jī)地址傳輸讀狀態(tài)以及響應(yīng)狀態(tài)與寫狀態(tài)機(jī)中的相應(yīng)狀態(tài)類似。不同的是,在數(shù)據(jù)傳輸狀態(tài)中,在SCL處于高電平狀態(tài)時(shí),通過將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ù)通過讀寫數(shù)據(jù)模塊傳輸給讀數(shù)據(jù)存儲(chǔ)模塊。

2.4 IIC控制模塊
    通過對(duì)寫數(shù)據(jù)模塊、讀數(shù)據(jù)模塊以及數(shù)據(jù)讀寫模塊的設(shè)計(jì),完成了IIC控制模塊的設(shè)計(jì)。IIC控制模塊的原理圖如圖7所示。

 

 

3 IIC控制模塊仿真及測試
    軟件仿真在EDA軟件環(huán)境中進(jìn)行,通過模擬硬件產(chǎn)生測試信號(hào),對(duì)編寫的代碼進(jìn)行測試。通過觀看時(shí)序波形或者數(shù)據(jù)報(bào)告文件來判斷綜合后的軟件邏輯是否正確,主要用于在各個(gè)分散的模塊之間的波形仿真。在系統(tǒng)的設(shè)計(jì)過程中,采用Quartus 8.1軟件作為前端的軟件仿真;功能測試中將整個(gè)系統(tǒng)組合起來采用軟件仿真并下載到FPGA進(jìn)行測試;綜合驗(yàn)證則是通過EDA綜合工具將HDL代碼結(jié)合庫文件綜合成門級(jí)描述,然后將綜合結(jié)果在軟件中做最后的驗(yàn)證[6]。IIC控制模塊的寫仿真波形如圖8所示。
    通過IIC控制模塊對(duì)OLED微顯示寄存器進(jìn)行讀寫操作,實(shí)現(xiàn)了OLED微顯示器內(nèi)置圖像的顯示。圖9為OLED微顯示內(nèi)置圖像。

    FPGA EP2C8Q208C8作為核心控制器件,在分析SVGA050SC OLED微顯示器和IIC接口的基礎(chǔ)上,利用Verilog語言,采用模塊化設(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] 金陽.數(shù)字視頻和OLED微顯示技術(shù)[J].科技創(chuàng)新導(dǎo)報(bào),2011,27(1):11-12.
[3] 呂國亮,趙曙光,趙俊.嵌入式邏輯分析技術(shù)及其在FPGA系統(tǒng)開發(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] 冉峰,何林奇,季淵.無線OLED微顯示器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].液晶與顯示,2012,27(5):633-637.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。