【摘要】對觸點位置坐標識別與輸入是觸摸液晶屏的重要功能。由于SOPC Builder系統(tǒng)沒有提供TRDB-LTM觸摸屏的驅(qū)動,因而提出了一種基于Avalon總線的TRDB-LTM觸控IP核的設計方法。實現(xiàn)TRDB-LTM觸控屏觸碰位置坐標的準確錄入。給出系統(tǒng)硬、軟件設計過程。經(jīng)測試,所設計的IP核能夠準確快速的識別觸碰位置坐標,工作穩(wěn)定可靠。
【關鍵詞】TRDB-LTM觸控屏;Nios II;Avalon總線;IP核
Abstract:Identifying the position coordinates of the touch input is an important feature of the touch screen.As the SOPC Builder system does not provide TRDB-LTM touchscreen driver,a TRDB-LTM touch control IP core based on Nios II design method is proposed.The coordinates of the touch point were identified correctly.Provided both the hardware and software design process.According to the test,the IP core designed by this method can be quickly and accurately identify the touch location coordinates,runs stable and reliable.
Keywords:TRDB-LTM touchscreen;Nios II;Avalon bus;IP core
1.引言
隨著各類多媒體應用終端、平板電腦、智能手機等嵌入式系統(tǒng)設備與日俱增[1],觸摸屏作為一種集信息顯示與輸入,數(shù)據(jù)通信與轉(zhuǎn)換多種功能于一體的先進人機交互接口,已越來越廣泛地應用在各類嵌入式智能設備上,它輕薄體小,畫質(zhì)清晰,易于設計友好的交互界面和實現(xiàn)簡單直觀操作體驗。因而對觸摸屏實現(xiàn)支持幾乎已然成為嵌入式系統(tǒng)應用開發(fā)的必然要求。
在Altera的SOPC軟件工具中,已經(jīng)集成有一些參數(shù)化電路功能模塊,即IP核[2]。如SSRAM、Flash、Avalon三態(tài)橋、PLL、UART等。但是在顯示方面,Altera只提供了一個16*2 LCD的控制IP核[3],沒有提供觸屏IP核,使用時需要編寫硬件的時序程序[4]。另外,目前多數(shù)研究者致力于設計LCD顯示控制的IP核,即LCD的顯示(輸出),對于觸控屏(LTM-LCD)的觸控(輸入)的研究不多[5]。本文提出一個基于NiosⅡ的TRDB-LTM觸控IP核設計,用以實現(xiàn)TRDB-LTM的觸控功能。本IP核可以和系統(tǒng)自帶的IP核一樣,直接掛載于Avalon總線,作為NiosⅡ軟核的SOPC一個外設[5]。
2.Avalon總線
2.1 Avalon總線概述
Avalon總線是由Altera開發(fā)的一種專用的內(nèi)部連線技術[6]。它由SOPC自動生成,是處理器與外設之間理想的內(nèi)聯(lián)總線,是構建嵌入式系統(tǒng)、開發(fā)自定義外設IP核的基礎。Avalon接口規(guī)范定義了外設和Avalon Switch Fabric之間的數(shù)據(jù)傳輸。Nios II系統(tǒng)的所有外設都是通過Avalon總線與Nios II CPU進行數(shù)據(jù)交換。Avalon接口是一種開放標準,使用Avalon接口創(chuàng)建和發(fā)布定制外設不需要任何授權[6]。
2.2 Avalon總線從端口讀傳輸
Avalon總線傳輸有兩個基本模式:主傳輸和從傳輸[6]。支持流水傳輸、三態(tài)傳輸和突發(fā)傳輸屬性。TRDB-LTM觸控IP核使用的是效率較高的流水從端口讀傳輸,增加傳輸寬帶,提高觸控響應靈敏度。具體時序規(guī)范此處從略[7]。
3.硬件設計
3.1 TRDB-LTM觸碰功能
LTM是LCD Touch Panel Module的縮寫。TRDB-LTM是Terasic友晶科技公司推出的4.3英寸數(shù)字LCD觸碰屏幕套件,分辨率高達800*480。它包含了三個主要的架構:LCD觸摸面板、AD轉(zhuǎn)換器、40-pin IDE接口[8]。LTM可由40-pin插座排線連接到Alter DE2-70開發(fā)板,LTM集成ADI公司的AD7843觸摸屏轉(zhuǎn)換芯片,可將觸點的X/Y坐標數(shù)字化并保存,并通過SPI數(shù)字串行接口與FPGA芯片建立通信連接。AD7843的轉(zhuǎn)換過程參考其數(shù)據(jù)手冊[9]。
3.2 LTM屏幕坐標規(guī)劃
由Terasic公司提供的LTM文檔,我們可以知道,按照功能的不同,屏幕坐標被分成了兩種方式表現(xiàn),一種是時序坐標,一種是觸碰所得到的屏幕坐標。時序坐標(x,y)的取值范圍從(0,0)至(800,480)。X軸正向為水平向右,Y軸正向為垂直向上。
圖1 LTM四個角上的坐標[7]
3.3 TRDB-LTM觸摸屏控制器IP核
TRDB-LTM觸控IP核Touch_Avalon_Interface的設計結構圖如圖2所示,主要包括Avalon總線從端口、時鐘與復位模塊、TRDB_LTM接口模塊3個部分。Avalon總線從端口部分主要是為了與Avalon總線通信,時鐘與復位模塊為IP核提供時鐘與復位信號,TRDB_LTM接口模塊負責與LTM上的AD轉(zhuǎn)換芯片AD7843進行數(shù)據(jù)傳輸。
圖2 觸控IP核結構框圖
iADC_DOUT接收來自AD7843的坐標數(shù)據(jù),iADC_DIN向AD7843發(fā)送控制字,iADC_PENIRQ_n中斷指示信號,低電平有效,表示ADC轉(zhuǎn)換完成,詳細的轉(zhuǎn)換時序參見數(shù)據(jù)手冊[8]。將IP核在SOPC Builder里打包封裝,如圖3所示。
圖3 Touch_Avalon_Interface IP核
Avalon總線掛載界面
圖4 TRDB-LTM觸控IP核
添加到Nios II系統(tǒng)后的生成界面
圖5 Console控制端讀到的觸點位置坐標
4.軟件設計
Touch_Avalon_Interface IP核設計文件包括HAL和HDL兩個文件夾。HAL里面是IP核的Nios Ⅱ C語言驅(qū)動源程序(Touch_Avalon_Interface.h,Touch_Avalon_Interface.c)。HDL中是IP核的Verilog定義文件。限于篇幅,只附上頂層IP核端口的定義:
IP核的Nios Ⅱ C語言驅(qū)動源程序主要功能是將IP核讀取到的實時觸碰坐標通過算法轉(zhuǎn)換成顯示坐標,即前文所提的時序坐標。具體程序如下:
為了測試Touch_Avalon_Interface IP核的效果,將IP核添加到一個完整的Nios II系統(tǒng)中,如圖4所示。圖中紅色框中的Touch_Avalon_Interface即為本文所設計的自定義觸控IP核。
通過Nios II IDE建立用戶工程,將驅(qū)動文件拷貝進工程,設置編譯,完成后下載到Terasic的DE2-70開發(fā)板[10]上進行的測試。觸碰LTM屏幕,可在Nios II IDE的Console控制端實時顯示觸點位置坐標(如圖5所示)。
5.結語
本文所提出TRDB-LTM觸控IP核設計通過DE2-70開發(fā)板硬件平臺的測試,觸碰響應靈敏,定位準確,實現(xiàn)了TRDB-LTM觸碰位置坐標的準確錄入。由于Nios Ⅱ核在同一FPGA中的植入數(shù)量沒有限制,只要FPGA資源充足[7],因而本IP核可以非常自由地結合其他設計中的關于LCD顯示控制IP核掛載在Avalon總線上,使FPGA上的SOPC實現(xiàn)對觸摸屏的完全支持,使后續(xù)應用界面開發(fā)者不必關心觸屏的底層時序規(guī)范,從而縮短開發(fā)周期,提高開發(fā)效率。
參考文獻
[1]劉波文,張軍,等.FPGA嵌入式項目開發(fā)三位一體實戰(zhàn)精講[M].北京:北京航空航天大學出版社,2012:314-347.
[2]蘇陽,蔣銀坪,等.那些年,我們拿下了FPGA[M].北京:北京航空航天大學出版社,2013:304-306.
[3]李順方,周衛(wèi)星,白潔.基于Avalon總線的可配置LCD控制器IP的核設計[DB/OL].(2007-06-12)[2011-06-25].http://www.paper.edu.cn.
[4]劉少鵬,郭寶增,趙麗娜,馬韜.基于FPGA的彩色觸摸屏控制器的設計[J].微型機與應用,2012,31(12):18-20.
[5]崔旭晶,馬平全.基于SOPC的觸控屏控制器IP核設計與實現(xiàn)[J].電子設計工程,2012,20(14):165-169.
[6]梁旭,凌朝東.基于Nios II的TRDB-LTM控制器IP核設計[J].通信技術,2011,11(44):109-115.
[7]周立功.SOPC嵌入式系統(tǒng)基礎教程[M].北京:北京航空航天大學出版社,2006:233-239,260-264,2.
[8]Terasic.TRDB_DC2_UserGuideV1.22[M].[S.l.]: Terasic,2007.
[9]Analog Devices,Inc..AD7843Touch Screen Digitizer Datasheet [M].[S.l.]:Terasic,2004:Rev B.
[10]DE2-70 User Manual Version 1.08[Z].Terasic Technologies Ltd,2009.
作者簡介:
雷松華(1987—),男,湖南常德人,碩士研究生,研究方向:電子電路設計,嵌入式開發(fā)。
鄭鏗(1988—),男,廣東潮汕人,碩士研究生,研究方向:FPGA,圖像處理。