256 級灰度顯示 - 基于FPGA的OLED真彩色顯示設計
FPGA 處理器是設計的核心部分,其工作流程為,在每個clk_fifo 時鐘周期下,從8 個FIFO 緩存中并行讀出8 個8 bit 像素數(shù)據(jù),在時鐘clk_reg 上升沿到來時, 16 位移位寄存器發(fā)生移位,它的輸出端接16 個8位數(shù)據(jù)裝載寄存器的片選端,這樣16 個8 位數(shù)據(jù)裝載寄存器逐個被選通,此時這些數(shù)據(jù)就可以載入到16 個8 位數(shù)據(jù)裝載寄存器中,這16 個8 位寄存器的輸出端接在144 位鎖存器的輸入端上。16 個時鐘clk_reg 上升沿過后, 16 個8 位數(shù)據(jù)裝載寄存器都將依次被裝載滿,此時數(shù)據(jù)鎖存信號Lock 到達,將144 個數(shù)據(jù)鎖存到144 位數(shù)據(jù)鎖存器中,然后這些數(shù)據(jù)進入到DA 轉(zhuǎn)換模塊,轉(zhuǎn)換成16 路模擬量,送至OLED 顯示屏,完成一個Block 數(shù)據(jù)的載入。
在列掃描驅(qū)動脈沖cpy 和cpby 的控制下,80 個Block 依次被選通,在每一Block 被選通期間,都將進行一次144 個數(shù)據(jù)的移位寄存和鎖存,當80 個Block都鎖存完之后,一行數(shù)據(jù)的載入也就完成了。當?shù)谝恍械?0 個Block 數(shù)據(jù)顯示完畢后,列掃描起始信號sty過來,又開始從第一列掃描,與此同時,在行掃描驅(qū)動脈沖cpx 和cpbx 的作用下,第二行像素被選通,所以,這時將進行第二行的1 到80 個Block 的數(shù)據(jù)載入,以此類推,直到90 行數(shù)據(jù)都顯示完畢之后,行掃描起始信號stx 到來,重新選通第一行,循環(huán)往復,一幀幀地顯示數(shù)據(jù)。
2 仿真結(jié)果
選用Altera 公司Cyclone Ⅲ 系列芯片EP3C10E144C8 為目標芯片,采用Verilog HDL 語言進行設計,在GX - SOPC - EDA - EP3C10 - STARTER -EDK 開發(fā)板上進行Modelsim 仿真,仿真結(jié)果如圖4 和圖5 所示。
圖4 外圍驅(qū)動時序仿真結(jié)果
圖5 256灰度產(chǎn)生模擬仿真
由圖4 仿真結(jié)果可以看出,80 組列掃描脈沖cpy和cpby 控制80 個Block, 80 個列掃描脈沖完畢后,列掃描起始信號sty 脈沖開始,繼續(xù)掃描下一行。90 行掃描完畢后, stx 到來重新選通第一行,依此循環(huán),符合設計的要求。
由圖5 仿真結(jié)果可以看出,對于輸入的8 bit 像素數(shù)據(jù),經(jīng)灰度產(chǎn)生模塊轉(zhuǎn)化為灰度數(shù)據(jù)。以第一個輸入數(shù)據(jù)8 hff 為例,每位的顯示時間為128∶ 64∶ 32∶ 16∶ 8∶ 4∶2∶ 1,由其不同組合,從而實現(xiàn)了256 級灰度的功能。
3 結(jié)束語
基于FPGA 芯片設計了分辨率為480 × RGB × 640的真彩色OLED 顯示屏的驅(qū)動電路,在傳統(tǒng)的子場原理和脈寬調(diào)制占空比實現(xiàn)灰度的基礎上,對其進行優(yōu)化,采用R、G、B 單基色像素分時顯示的方法,實現(xiàn)了256 級灰度功能。經(jīng)仿真和軟硬件協(xié)同仿真驗證,實現(xiàn)了設計所要求滿足的功能。其256 級灰度實現(xiàn)方法簡單靈活,降低了對FPGA 驅(qū)動頻率的要求,對于在高刷率、高分辨率、高灰階顯示器件上的應用,具有很高的實用價值。利用該電路系統(tǒng)可以實現(xiàn)OLED 顯示的全彩色實時動態(tài)圖像的傳輸,為今后OLED 作為大尺寸顯示器提供了技術支持。
評論