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