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