李志鵬 劉明明 邢詩寧
[摘要]詳細介紹ARM Cortex-M3架構(gòu)的無線觸摸點菜系統(tǒng)的組成和程序的設(shè)計。
[關(guān)鍵詞]ARM Cortex-M3處理器射頻通信觸摸操作電腦上位機
中圖分類號:TN92文獻標(biāo)識碼:A文章編號:1671-7597(2009)0710024-01
一、系統(tǒng)設(shè)計
(一)設(shè)計思路
該系統(tǒng)要求設(shè)計一套具有射頻通信功能的短距離觸摸通信系統(tǒng),實現(xiàn)觸摸端的控制信息能夠以無線傳輸?shù)姆绞桨l(fā)送到電腦上位機程序,實現(xiàn)電腦上位機與操作者之間的通信。設(shè)計分為觸摸、發(fā)射、接收和電腦上位機四部分。
(二)方案論證
1.觸摸屏的選擇。本系統(tǒng)采用的電阻式非內(nèi)置MCU的觸摸屏。這樣獲得觸摸信號的過程將會變得相當(dāng)復(fù)雜,但是有點也非常明顯。首先,由于觸摸屏沒有內(nèi)置MCU,使得觸摸屏的成本大大下降,這對于價格極其敏感的電子產(chǎn)品市場而言極其重要。其次,通過外加的處理器對觸摸底層信號進行處理,方便編程者對觸摸屏進行二次開發(fā),如提高或者降低觸摸精度,增加滑動操作等觸摸功能等。再次,內(nèi)置MCU的觸摸屏出于成本考慮,控制器頻率往往不夠高,導(dǎo)致觸摸屏反應(yīng)不夠靈敏,操作可靠性下降,效率降低。如果采用外置的高速處理器對觸摸底層信號進行處理,則可以縮短觸摸屏的反應(yīng)時間,操作感受更佳。
2.微處理器的選擇。無線發(fā)射控制和觸摸屏控制是該系統(tǒng)的主要組成部分,要求發(fā)射迅速,觸摸屏反應(yīng)要靈敏,因而本系統(tǒng)采用Luminary Micro的32位ARM系列微控制器。首先,如果采用51單片機,需要模擬SPI總線方式與無線模塊通信,系統(tǒng)可靠性降低;如果采用內(nèi)置SPI外設(shè)的微處理器,則系統(tǒng)的可靠性較高。其次,對觸摸屏的觸摸信號的獲得需要進行AD轉(zhuǎn)換,而一般的51單片機需要外置AD轉(zhuǎn)換芯片才能完成該功能,這無疑增加了硬件成本和復(fù)雜度,并且數(shù)據(jù)處理速度也大大降低。如果采用內(nèi)置AD轉(zhuǎn)換的高速ARM芯片,則可以避免這些問題。并且觸摸屏需要的高速AD轉(zhuǎn)換和數(shù)據(jù)處理也不是51單片機能做到的。
3.無線收發(fā)部分的選擇??紤]到本系統(tǒng)的應(yīng)用場合,選擇nRF905作為本系統(tǒng)的無線收發(fā)裝置。首先本系統(tǒng)一般是室內(nèi)使用,考慮到室內(nèi)環(huán)境對無線信號的影響,傳輸距離的理論值會大打折扣,因此選用nRF905可以提高系統(tǒng)無線通信的可靠性。其次,考慮到本系統(tǒng)無線傳輸數(shù)據(jù)量并不大,只需要間歇性地發(fā)送少量數(shù)據(jù),因此50kbps的傳輸速度已經(jīng)足以滿足要求。
4.電腦上位機程序設(shè)計的選擇。本系統(tǒng)上位機程序選擇Visual Basic語言進行上位機編程。雖然Turbo C語言編程比較容易,但是其編制的程序只能在DOS方式下運行,程序界面的友好程度遠不如Viual C++和Visual Basic語言,并且Turbo C語言并不適合在Windows下運行。Visual C++可以編寫專業(yè)的Windows下的程序,但是編程難度較大,開發(fā)周期較長。因此我們選擇Visual Basic開發(fā)上位機程序。如果上位機程序較復(fù)雜并且要求高穩(wěn)定性,則應(yīng)該使用Visual C++進行上位機程序開發(fā)。
二、單元硬件電路設(shè)計
(一)Luminary LM3S1751微處理器最小系統(tǒng)設(shè)計。LM3S1751是一款高性能的32位RISC微處理器,采用為小封裝應(yīng)用方案而優(yōu)化的32位ARM? CortexTM-M3 v7M架構(gòu),提供的系統(tǒng)定時器(SysTick)包括一個簡單的24
位寫清零、遞減、自裝載計數(shù)器,同時具有靈活的控制機制。LM3S1751僅采用與Thumb?兼容的Thumb-2指令集以獲取更高的代碼密度,工作頻率為50-MHz,支持硬件除法和單周期乘法,集成嵌套向量中斷控制器(NVIC),使中斷的處理更為簡捷。LM3S1751包括32個中斷,具有8個優(yōu)先級,其存儲器保護單元(MPU)提供一個特權(quán)模式來保護操作系統(tǒng)的功能,同時支持對非對齊式數(shù)據(jù)的訪問,使數(shù)據(jù)能夠更為有效的安置到存儲器。LM3S1751支持精確的位操作(bit-banding),不僅最大限度的利用了存儲器空間,而且還改良了對外設(shè)的控制。
(二)觸摸屏部分的電路的設(shè)計。本系統(tǒng)使用的觸摸屏利用壓力感應(yīng)進行控制。電阻觸摸屏的主要部分是一塊與顯示器表面非常配合的電阻薄膜屏,這是一種多層的復(fù)合薄膜,它以一層玻璃或硬塑料平板作為基層,表面涂有一層透明氧化金屬(透明的導(dǎo)電電阻)導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防擦的塑料層。它的內(nèi)表面也涂有一層涂層。在他們之間有許多細小的(小于1/1000英寸)的透明隔離點把兩層導(dǎo)電層隔開絕緣。當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點位置就有了接觸,電阻發(fā)生變化,在X和Y兩個方向上產(chǎn)生信號,然后送ARM處理器。處理器偵測到這一接觸并計算出(X,Y)的位置,再對比系統(tǒng)類狀態(tài)機所提供的信息,得知觸摸者需要進行什么樣的操作。這就是電阻式觸摸屏的最基本的原理。
(三)發(fā)射部分的電路設(shè)計。Nodiac公司生產(chǎn)的nRF905芯片一般工作于433Mhz開放ISM頻段,免許可證使用。其最高工作速率50kbps,采用高效GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合。芯片內(nèi)置125頻道,滿足多點通信和跳頻通信需要,內(nèi)置硬件CRC檢錯和點對多點通信地址控制。該芯片功耗功耗低,1.9-3.6V下均可工作,待機模式下狀態(tài)僅為2.5uA。該芯片收發(fā)模式切換時間<650us。在發(fā)射模式下,芯片工作電流為30mA,在接收模式下僅為12.2mA。
三、程序設(shè)計(觸摸屏程序設(shè)計)
初始化之后,觸摸屏將會顯示待選項,此時如果操作者觸摸屏幕選擇相應(yīng)的選項,將會導(dǎo)致屏幕下電阻值發(fā)生改變,通過AD轉(zhuǎn)換,CPU將會得知這一觸摸信號,并通過一系列的計算確定觸摸者的觸摸位置,進而得到觸摸者的觸摸對象。
本系統(tǒng)工作在nRF905芯片的ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)低速從微控制器送入,但高速發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關(guān)的所有高速信號處理都在片內(nèi)進行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)射);數(shù)據(jù)在空中停留時間短,抗干擾性高。ShockBurstTM技術(shù)同時也減小了整個系統(tǒng)的平均工作電流。
四、結(jié)論
以觸摸端、發(fā)射端、接收端和電腦上位機四部分組成的該系統(tǒng)工作穩(wěn)定,數(shù)據(jù)傳送正確率高,傳輸距離遠,用戶操作直觀簡便,可以大大提高相關(guān)應(yīng)用場合的管理效率,節(jié)約人力成本。
參考文獻:
[1]張克彥,AVR單片機使用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2004.
[2]周立功等,Cortex-M3開發(fā)指南基于LM3S8000.廣東:廣州致遠電子有限公司,2007.
[3]張偉,電路板設(shè)計與制作實戰(zhàn)訓(xùn)練[M].北京:人民郵電出版社,2006.