3.2.4 液晶屏數(shù)據(jù)流生成模塊
本設(shè)計(jì)中選用的液晶屏型號(hào)為NEC公司的NL6448-BC20-20[3],接口為LVTTL 數(shù)字RGB接口,包括R、G、B(每色為6bit)、HS、VS、DE、CLK等信號(hào)。
該液晶屏有兩種時(shí)序模式,固定時(shí)序模式和DE信號(hào)模式。固定時(shí)序模式下,液晶屏有效數(shù)據(jù)起始點(diǎn)是以HS、VS邊沿為參考的固定數(shù)值,而DE信號(hào)模式下,有效數(shù)據(jù)范圍是以DE信號(hào)為參考的。本設(shè)計(jì)中選擇了DE模式,每行中DE為高電平的第一個(gè)周期對(duì)應(yīng)第一個(gè)有效數(shù)據(jù)。
液晶屏數(shù)據(jù)生成設(shè)計(jì)框圖如圖6所示。該模塊采用DCM 生成25MHz像素時(shí)鐘,并采用兩個(gè)計(jì)數(shù)器(行計(jì)數(shù)器和列計(jì)數(shù)器)生成DE信號(hào)[4-5],根據(jù)液晶屏?xí)r序要求,每行總共800個(gè)時(shí)鐘,有效像素點(diǎn)為640個(gè)時(shí)鐘;每列總共525行,有效數(shù)據(jù)區(qū)域?yàn)椋矗福靶?。在FPGA設(shè)計(jì)中,行計(jì)數(shù)器在像素時(shí)鐘下計(jì)數(shù),從0計(jì)數(shù)到799后,輸出HS脈
沖,同時(shí)計(jì)數(shù)值回到0重新進(jìn)行下一輪的計(jì)數(shù);列計(jì)數(shù)器以HS信號(hào)脈沖為計(jì)數(shù)條件,從0計(jì)數(shù)到524行后,輸出VS脈沖,同時(shí)計(jì)數(shù)值回到0。

將行計(jì)數(shù)值定義為h_cnt,列計(jì)數(shù)值定義為v_cnt,數(shù)據(jù)有效信號(hào)DE設(shè)計(jì)為:

數(shù)據(jù)讀取模塊根據(jù)HS信號(hào)從SDRAM 存儲(chǔ)器中讀取一行有效數(shù)據(jù)到FIFO中,并采用DE信號(hào)作為FIFO的讀使能信號(hào),將FIFO中的數(shù)據(jù)取出,生成18bit?。遥牵?a target="_blank">數(shù)字信號(hào)送給液晶屏TCON板,驅(qū)動(dòng)液晶屏輸出顯示畫面。
?。常玻怠。樱模遥粒?控制器
采用的SDRAM 容量為32M×32bit,設(shè)計(jì)的工作頻率為65 MHz,SDRAM 中劃分為多個(gè)區(qū)域:顯示頁面區(qū)、繪制操作頁面區(qū)、字庫區(qū)、圖片區(qū)等。
?。樱模遥粒?器件在進(jìn)行讀寫操作時(shí),需要先激活一行,然后在該行內(nèi),針對(duì)某個(gè)列地址進(jìn)讀/寫操作,操作完畢后,需要進(jìn)行預(yù)充電以關(guān)閉該行,同時(shí),SDRAM 需要定期地進(jìn)行刷新以保持其內(nèi)部數(shù)據(jù)穩(wěn)定不丟失。用FPGA 實(shí)現(xiàn)的SDRAM控制器就是為了實(shí)現(xiàn)提供一個(gè)便于上層讀寫訪問的簡(jiǎn)單接口。
3.2.6?。疲蹋粒樱瓤刂破?/p>
采用的FLASH容量為16M×16bit的NOR FLASH。FLASH 主要用于存儲(chǔ)字庫和圖片,內(nèi)部數(shù)據(jù)可通過液晶顯示模塊數(shù)據(jù)通信口進(jìn)行下載。
FLASH 接口為異步接口,在進(jìn)行讀操作時(shí),其時(shí)序相對(duì)簡(jiǎn)單,類似于ROM。而在進(jìn)行寫操作時(shí)則相對(duì)復(fù)雜,在寫FLASH 之前,先確認(rèn)扇區(qū)為空,如果不為空,則需要先擦除。
?。常玻贰〈鎯?chǔ)仲裁器
存儲(chǔ)仲裁器模塊結(jié)構(gòu)如圖7所示,在同一時(shí)間,SDRAM 只能為其中一個(gè)模塊提供數(shù)據(jù)讀或?qū)懖僮?。該模塊的設(shè)計(jì)是為了解決多模塊同時(shí)訪問SDRAM 或FLASH 時(shí)的優(yōu)先級(jí)控制,以及提供排隊(duì)訪問的機(jī)制。該模塊中采用了標(biāo)志位In-QueueFlag[2∶0]來分別記錄各模塊的狀態(tài)請(qǐng)求,并分別給出應(yīng)答信號(hào),以控制其對(duì)于SDRAM的讀寫訪問。

在FPGA設(shè)計(jì)中,由于液晶屏數(shù)據(jù)生成模塊對(duì)數(shù)據(jù)的及時(shí)性要求最高,給予其最高的優(yōu)先級(jí),在SDRAM接口空閑的情況下,優(yōu)先處理InQueue-Flag[0]=1的請(qǐng)求,處理完畢后,InQueueFlag[0]清0。如果InQueueFlag[0]=0,則檢查InQueue-lag[1]是否為1,依次直至所有標(biāo)志位為0。
4 優(yōu)化系統(tǒng)性能的幾點(diǎn)設(shè)計(jì)
?。矗薄〔捎秒p圖層、多頁面的設(shè)計(jì)
顯示屏在顯示時(shí),具有前景和背景兩個(gè)圖層。在繪圖過程中,可進(jìn)行切換[6]。
該顯示模塊在設(shè)計(jì)時(shí),存儲(chǔ)區(qū)中開辟了10個(gè)操作頁面和顯示頁面。正常使用情況下,在后臺(tái)頁面進(jìn)行繪圖操作,繪制完成后,將顯示頁面切換至該頁面。這樣可避免因繪圖操作對(duì)內(nèi)存數(shù)據(jù)更新而引起的顯示不流暢感。
電子發(fā)燒友App


















評(píng)論