新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

作者: 時(shí)間:2010-11-24 來源:網(wǎng)絡(luò) 收藏

  2.2 系統(tǒng)建立

  基于FPGA的方案[3]的可配置性表現(xiàn)在搭建硬件平臺(tái)時(shí),用戶可以根據(jù)自己要實(shí)現(xiàn)的功能來靈活選擇所需要的存儲(chǔ)器以及外圍接口設(shè)備,而不用把所有提供的元件添加到系統(tǒng)中,這樣就可以因功能不同而有針對(duì)性地設(shè)計(jì)每一個(gè)系統(tǒng),從而也避免了添加無用元件占用FPGA資源而引起浪費(fèi)。例如,由系統(tǒng)的整體結(jié)構(gòu)可知,本系統(tǒng)所需要的基本組件有CPU、SDRAM控制器、JTAG-UART、SRAM、定時(shí)器以及用三態(tài)橋來連接的CPI-FLASH,因?yàn)樵?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/TFT-LCD">TFT-LCD已經(jīng)帶有控制器了,所以就不需要以自定義組件的形式在 Builder中添加該元件的控制器。

  本系統(tǒng)的構(gòu)建基于QuartusⅡ8.0版本的SoPC Builder工具,它使用CPU、存儲(chǔ)器接口和外圍設(shè)備(例如本設(shè)計(jì)中添加的掛接在三態(tài)橋上的接口gx_tft_lcd)生成系統(tǒng)模塊,并在Avalon總線模塊和所有系統(tǒng)組件上的從屬設(shè)備端口之間自動(dòng)生成互連邏輯。由于利用總線方式來訪問已經(jīng)帶有控制器(TCB8000A)的TFT LCD,因此需要在Nios Ⅱ系統(tǒng)模塊中手動(dòng)添加一個(gè)三態(tài)接口gx_tft_lcd。因?yàn)槭侵粍?chuàng)建一個(gè)接口,因此不需要HDL文件和HAL文件,但是在信號(hào)設(shè)置時(shí),應(yīng)根據(jù)Avalon總線三態(tài)從端口寫時(shí)序圖和TCB8000A的控制接口來添加需要的信號(hào)。

  設(shè)置生成新元件后就可以將新定制的gx_tft_lcd添加到Nios系統(tǒng)中,產(chǎn)生Nios II 系統(tǒng)模塊,并添加到工程中。保存編譯,通過之后可將編譯生成的sof文件下載到FPGA芯片,至此硬件方面的工作基本完成。

  圖2所示為搭建本設(shè)計(jì)的硬件平臺(tái)中使用SoPC Builder工具來添加生成的系統(tǒng)模塊。

基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

  3 軟件設(shè)計(jì)

  Nios II處理器的軟件程序設(shè)計(jì)使用HAL (Hardware Abstraction Layer)系統(tǒng)庫。HAI系統(tǒng)庫[4]為程序員提供了應(yīng)用程序與底層硬件交互的設(shè)備驅(qū)動(dòng)接口,簡化了應(yīng)用程序的開發(fā),同時(shí)還為應(yīng)用程序與底層硬件驅(qū)動(dòng)劃分了一條很清晰的分界線,從而大大提高了應(yīng)用程序的可復(fù)用性,使得應(yīng)用程序不受底層硬件變化的影響實(shí)現(xiàn)系統(tǒng)硬件和應(yīng)用程序之間的通信。HAI API[5](Application Program Interface)集成了ANSI C標(biāo)準(zhǔn)庫,使上層程序像訪問C函數(shù)庫一樣訪問系統(tǒng)硬件和軟件。軟件設(shè)計(jì)不用考慮底層硬件實(shí)現(xiàn)的細(xì)節(jié)而直接編寫應(yīng)用程序。系統(tǒng)軟件結(jié)構(gòu)如圖3所示。

基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

  軟件系統(tǒng)主要分為兩部分:系統(tǒng)的初始化對(duì)LCD控制器的控制以及顯示數(shù)據(jù)的處理。



關(guān)鍵詞: TFT-LCD NiosⅡFPGA SoPC

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉