基于SOPC 的觸控屏控制器IP核設計

3)LCD 圖像顯示模塊測試
LCD 顯示模塊是將從FIFO 中讀出的圖像數據在觸控屏上顯示出來(lái)。從圖4 可以看出, 當DEN 有效時(shí), 將像素數據分為R、G、B 傳送給LCD,HCount 和VCount 為行計數器和場(chǎng)計數器,隨著(zhù)LCD 時(shí)鐘將各個(gè)像素點(diǎn)傳送給觸控屏。
圖4 LCD 顯示的數據
基于SOPC 觸控屏系統硬件設計如圖5 所示, 其中,SDRAM 控制器實(shí)現處理器和SDRAM 之間的數據存取,包括SDRAM 存儲程序和字符、圖形以及顏色等數據;JTAG UART實(shí)現PC 和開(kāi)發(fā)板通信, 主要用于調試, 從鍵盤(pán)輸入相應數據,然后通過(guò)NiosⅡ軟件調試處理器,將數據通過(guò)LCD 接口傳輸到觸控屏上顯示出來(lái)[4].開(kāi)發(fā)板采用大連宇華公司的H3C40-V6 開(kāi)發(fā)板。板上的FPGA 芯片為EP3C40F484C6, 觸控屏為4.3 英寸彩色數字TFT-LCD 觸控屏,分辨率800×484,可以顯示文字、彩圖等。板上自帶觸控屏顯示驅動(dòng)器。
根據所用到的外設和器件特性,在SOPC Builder 中建立系統所要添加的外設模塊, 主要包括:NiosⅡ、SDRAM 控制器、JTAG UART、時(shí)鐘橋、三態(tài)橋、鎖相環(huán)PIO 等[5-6].設定好各個(gè)參數,再添加LCD 控制器,將LCD 控制器的Avalon 主端口接口連接到SDRAM 上。
創(chuàng )建的包含NiosⅡ系統的QuartusⅡ頂層模塊,如圖6所示。
根據硬件設計編寫(xiě)軟件測試程序,以驗證LCD觸控屏顯示。首先往顯存中寫(xiě)入預定的數據來(lái)初始化顯存,然后通過(guò)編程將相應的參數寫(xiě)入LCD 的各個(gè)控制寄存器, 最后使能-LCD 控制器,以觀(guān)察顯示屏的顯示輸出是否正確。本設計采用C 語(yǔ)言編程,讓觸控屏顯示彩條。在NiosⅡIDE 軟件平臺上, 創(chuàng )建C/C++ 工程, 配置工程的系統屬性,然后編譯及運行程序。在編譯成功后,自動(dòng)下載到硬件平臺上開(kāi)始運行程序,這時(shí)在觸控屏上觀(guān)察到效果如圖7 所示, 圖中彩條顏色從上至下分別為紅、淺綠、藍、綠、粉、紅、紫、白、藍。
6 結論
采用自定義添加觸控屏接口控制模塊來(lái)定制用戶(hù)邏輯外設。使用硬件描述語(yǔ)言建立控制器模塊并進(jìn)行仿真測試;采用參數化組件設計,使其具有較強的通用性和兼容性。該控制器IP核設計有效利用FPGA 資源,節約成本,增強系統可靠性和設計靈活性,并且可移植性強。
評論