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