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

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

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

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


















評論