日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]摘要:介紹一款基于SOPC的TFT—LCD觸控屏控制器IP核的設計與實現(xiàn)。采用Verilog HDL作控制器的模塊設計,并用ModelSim仿真測試,驗證其正確性;利用嵌入式SOPC開發(fā)工具,在開發(fā)板上完成觸控屏顯示驅(qū)動及其控制模

摘要:介紹一款基于SOPC的TFT—LCD觸控屏控制器IP核的設計與實現(xiàn)。采用Verilog HDL作控制器的模塊設計,并用ModelSim仿真測試,驗證其正確性;利用嵌入式SOPC開發(fā)工具,在開發(fā)板上完成觸控屏顯示驅(qū)動及其控制模塊的系統(tǒng)設計,給出系統(tǒng)硬、軟件設計,實現(xiàn)TFT—LCD觸控屏彩條顯示。這款觸控屏控制器IP核具備較強的通用性和兼容性,具有一定的使用范圍和應用價值。
關(guān)鍵詞:SOPC;控制器;IP核;觸控屏;NiosⅡ

    可編程片上系統(tǒng)(SOPC)是一種特殊的嵌入式系統(tǒng),它設計方式靈活,具備軟硬件在系統(tǒng)可編程功能。SOPC在設計上以集成電路IP核為基礎,而自行開發(fā)的SOPC IP核,根據(jù)實際硬件資源和功能任務需求來定制顯示控制功能,可以增強系統(tǒng)可靠性和設計靈活性,降低了成本。目前針對LCD顯示屏設計的控制器IP核文章較多,但對于TFT-LCD觸控屏設計的控制器IP核文章較少,而且這類文章中很少見對控制器各個模塊進行仿真驗證內(nèi)容。
    文中提出一種針對TFT-LCD觸控屏控制器IP核的設計方法。該控制器具有Avalon總線接口,與其他標準IP核一起構(gòu)成以NiosⅡ為核心的片上系統(tǒng)。針對本設計中觸控屏幀緩存讀操作的特點,選擇以Avalon主端口接口的形式對模塊進行開發(fā),大大提高了處理器運行效率,同時實現(xiàn)了觸控屏控制器IP核的參數(shù)化設計,提高了控制器對于不同LCD屏的可復用性,最后通過對輸出緩沖FIFO的使用,解決了數(shù)據(jù)讀出時鐘與像素時鐘不同步問題。

1 觸控屏控制器總體結(jié)構(gòu)
   
在SDRAM中開辟一段儲仔空間,用來存放屏幕圖像數(shù)據(jù),稱之為幀緩存。通過設計適當?shù)挠布壿媮斫彺媾c屏幕圖像像素之間的一一對應關(guān)系,并配合觸控屏顯示所必需的行、場時序信號,將幀緩存中的數(shù)據(jù)不斷地輸送給觸控屏,完成最終的顯示刷新,其總體結(jié)構(gòu)如圖1所示。


    觸控屏控制器刷新周期開始時,主端口模塊根據(jù)幀緩存地址生成邏輯所產(chǎn)生的地址,完成主端口的讀操作,實現(xiàn)幀緩存中數(shù)據(jù)讀取,并將該數(shù)據(jù)輸送給輸出緩沖模塊。同時,時序信號生成模塊依據(jù)觸控屏的時序規(guī)范生成行、場同步信號,以及與像素同步的相關(guān)顯示點的橫、縱坐標。觸控屏控制器數(shù)據(jù)顯示模塊不斷從緩存中讀取屏幕顯示數(shù)據(jù)。

2 觸控屏控制器模塊設計
2.1 Avalon-MM Slave接口模塊
   
本模塊掛載在Avalon總線上作為從設備使用,用來對所有的用戶邏輯進行配置和控制,核心功能是寄存器操作,包括讀、寫以及一些特殊指示與狀態(tài)信號的產(chǎn)生與轉(zhuǎn)換。通過從端口得到的數(shù)據(jù)分別賦值給相應的寄存器,寄存器分為:FIFO地址寄存器、坐標寄存器、一幀數(shù)據(jù)長度奇存器。本模塊是最后在觸控屏上實現(xiàn)圖形顯示功能的接口電路。
2.2 Avalon-MM Master接口模塊
   
LCD控制器的本功能是產(chǎn)生LCD時序信號,將幀緩存中的圖像信息進行有序輸出。由于圖形是一幀一幀地輸出到觸控屏上,而且顯示刷新過程是無限循環(huán)的,所以必須反復執(zhí)行幀緩存讀操作,因此本設計對上述讀操作進行了硬件加速??梢圆粩嗟貜腇IFO讀取圖像數(shù)據(jù),并且在行、場和觸控屏顯示有效時間段讀取圖像數(shù)據(jù),其它時間不讀圖像數(shù)據(jù),這樣減少了Avalon總線的使用,有利于圖像顯示并減少了總線負擔分析讀幀緩存的操作可以發(fā)現(xiàn),該過程總是按照一定的順序,將存儲器中的數(shù)據(jù)讀出來進行顯示輸出,規(guī)律性非常強。
    本模塊主要完成地址及操作時序的產(chǎn)生、像素數(shù)據(jù)緩存寫操作控制、數(shù)據(jù)寬度的變換等功能。
2.3 觸控屏時序產(chǎn)生模塊
   
本文的觸控屏引出信號線有5根:像素數(shù)據(jù)信號、觸控屏時鐘信號、行同步信號、場同步信號、使能信號。為了實現(xiàn)觸控屏的正常顯示,必須對以上信號按照規(guī)范的時序進行驅(qū)動,其中,行、場同步信號分別用來標記屏幕上一行和一幀圖像的顯示時間,屏幕掃描線從上到下、從左到右依次掃描。在這個過程中,只需將幀緩存中的圖像像素數(shù)據(jù)依次輸出,就可以實現(xiàn)屏幕圖像顯示。
2.4 FIFO幀緩存模塊
    DDR控制器隨著系統(tǒng)時鐘不斷往FIFO寫數(shù)據(jù),當一幀數(shù)據(jù)寫滿時就不再進行寫狀態(tài),而等待LCD控制器進行讀狀態(tài),顏色處理器從FIFO中獲取數(shù)據(jù),每次從FIFO中讀取32 bit數(shù)據(jù)并不斷送給LCD。
    顏色處理器將每一個字節(jié)作為一個像素數(shù)據(jù),并將一個字節(jié)的像素數(shù)據(jù)轉(zhuǎn)換為3個字節(jié)的RGB數(shù)據(jù)。顏色處理器從同步FIFO緩沖器中讀取數(shù)據(jù),當同步FIFO緩沖器寫和讀相互不沖突時,同步FIFO緩沖器產(chǎn)生讀請求,讓Avalon主端口向Avalon總線發(fā)起讀傳輸,從總線上獲取的數(shù)據(jù)將寫入同步FIFO緩沖器,顏色處理器從FIFO中讀取像素值,并且傳給LCD顯示模塊。

3 Modelsim仿真與測試
   
1)Avalon從端口仿真與測試
    由圖2可知,從端口一位地址對應一位數(shù)據(jù)。當寫信號有效時,將數(shù)據(jù)寫入相應的寄存器;當讀信號有效時,對應寄存器地址將數(shù)據(jù)輸出。通過從端口數(shù)據(jù)寫入來控制LCD模塊,控制LCD讀取圖像的首地址和讀取數(shù)據(jù)的長度。


    2)Avalon主端口仿真與測試
    Avalon模塊的作用是響應Avalon主端口的讀請求,并將FIFO中的相應數(shù)據(jù)輸出給Avalon主端口。通過讀信號和相應地址主端口,不斷地從FIFO中讀取圖像數(shù)據(jù),并按照LCD時序?qū)D像數(shù)據(jù)輸送給LCD。圖3為Avalon主端口從顯存中讀取數(shù)據(jù)時的仿真波形圖。


    3)LCD圖像顯示模塊測試
    LCD顯示模塊是將從FIFO中讀出的圖像數(shù)據(jù)在觸控屏上顯示出來。從圖4可以看出,當DEN有效時,將像素數(shù)據(jù)分為R、G、B傳送給LCD,HCount和VCount為行計數(shù)器和場計數(shù)器,隨著LCD時鐘將各個像素點傳送給觸控屏。



4 基于SOPC觸控屏系統(tǒng)硬件設計
   
基于SOPC觸控屏系統(tǒng)硬件設計如圖5所示,其中,SDRAM控制器實現(xiàn)處理器和SDRAM之間的數(shù)據(jù)存取,包括SDRAM存儲程序和字符、圖形以及顏色等數(shù)據(jù):JTAG UART實現(xiàn)PC和開發(fā)板通信,主要用于調(diào)試,從鍵盤輸入相應數(shù)據(jù),然后通過NiosⅡ軟件調(diào)試處理器,將數(shù)據(jù)通過LCD接口傳輸?shù)接|控屏上顯示出來。


    開發(fā)板采用大連宇華公司的H3C40-V6開發(fā)板。板上的FPGA芯片為EP3C40F484C6,觸控屏為4.3英寸彩色數(shù)字TFT—LCD觸控屏,分辨率800×484,可以顯示文字、彩圖等。板上自帶觸控屏顯示驅(qū)動器。
    根據(jù)所用到的外設和器件特性,在SOPC Builder中建立系統(tǒng)所要添加的外設模塊,主要包括:NiosⅡ、SDRAM控制器、JTAG UART、時鐘橋、三態(tài)橋、鎖相環(huán)和PIO等。設定好各個參數(shù),再添加LCD控制器,將LCD控制器的Avalon主端口接口連接到SDRAM上。
    創(chuàng)建的包含NiosⅡ系統(tǒng)的QuartusⅡ頂層模塊,如圖6所示。



5 基于SOPC觸控屏系統(tǒng)軟件設計
   
根據(jù)硬件設計編寫軟件測試程序,以驗證LCD觸控屏顯示。首先往顯存中寫入預定的數(shù)據(jù)來初始化顯存,然后通過編程將相應的參數(shù)寫入LCD的各個控制寄存器,最后使能LCD控制器,以觀察顯示屏的顯示輸出是否正確。


    本設計采用C語言編程,讓觸控屏顯示彩條。在NiosⅡIDE軟件平臺上,創(chuàng)建C/C++工程,配置工程的系統(tǒng)屬性,然后編譯及運行程序。在編譯成功后,自動下載到硬件平臺上開始運行程序,這時在觸控屏上觀察到效果如圖7所示,圖中彩條顏色從上至下分別為紅、淺綠、藍、綠、粉、紅、紫、白、藍。

6 結(jié)論
   
采用自定義添加觸控屏接口控制模塊來定制用戶邏輯外設。使用硬件描述語言建立控制器模塊并進行仿真測試;采用參數(shù)化組件設計,使其具有較強的通用性和兼容性。該控制器IP核設計有效利用FPGA資源,節(jié)約成本,增強系統(tǒng)可靠性和設計靈活性,并且可移植性強。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉