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