毛江錕,王竹林,尉廣軍
(軍械工程學(xué)院 四系,河北 石家莊 050003)
基于ARM的某型導(dǎo)彈裝備數(shù)據(jù)采集系統(tǒng)需要與上位機(jī)進(jìn)行通信,通信中存在的問題是:二者間的通信受戰(zhàn)車環(huán)境的影響,數(shù)據(jù)傳輸不穩(wěn)定,可靠性低,且連接電纜比較繁瑣。近距離無線傳輸可以解決電纜連接繁瑣的問題。其中,IrDA技術(shù)要求兩個(gè)相互通信的設(shè)備必須對準(zhǔn),中間不能有障礙物;RFID和NFC的傳輸距離太短[1];Wi-Fi的安全性低;UWB的瞬時(shí)功率峰值有可能影響其他系統(tǒng)的正常工作;ZigBee的傳輸速率較低。于是,藍(lán)牙成為解決這個(gè)問題的可選方法。目前,已出現(xiàn)了ARM與上位機(jī)的藍(lán)牙通信系統(tǒng),但存在傳輸距離短(最遠(yuǎn)10 m)、傳輸速率低、有障礙物不能傳輸?shù)膯栴}。筆者采用CSR公司最新一代藍(lán)牙芯片BlueCore5設(shè)計(jì)藍(lán)牙通信系統(tǒng),預(yù)實(shí)現(xiàn)數(shù)據(jù)傳輸穩(wěn)定、傳輸速率高、可穿越障礙物的目標(biāo)。該設(shè)計(jì)對保障裝備數(shù)據(jù)的無線傳輸有借鑒意義。
本文設(shè)計(jì)的是一個(gè)藍(lán)牙通信系統(tǒng),用于實(shí)現(xiàn)某裝備的數(shù)據(jù)采集系統(tǒng)與上位機(jī)的通信。由于數(shù)據(jù)采集系統(tǒng)是以ARM為CPU做出來的,所以本設(shè)計(jì)主要是完成ARM與上位機(jī)之間的通信。藍(lán)牙通信系統(tǒng)的總體實(shí)現(xiàn)方案如圖1所示。此系統(tǒng)包括藍(lán)牙芯片、ARM與藍(lán)牙芯片的接口、上位機(jī)與藍(lán)牙芯片的接口。當(dāng)ARM要向上位機(jī)傳輸數(shù)據(jù)時(shí),通過藍(lán)牙向上位機(jī)申請配對,配對成功后,數(shù)據(jù)采集系統(tǒng)就可以把數(shù)據(jù)傳輸?shù)缴衔粰C(jī)。
圖1 藍(lán)牙通信系統(tǒng)總體框圖Fig.1 Overall block diagram of Bluetooth communication system
本系統(tǒng)的藍(lán)牙芯片選用的是CSR公司的BlueCore5藍(lán)牙芯片,它支持藍(lán)牙SIG最新2.1版規(guī)范,并支持增強(qiáng)速率EDR;向下兼容V1.1/V1.2/V2.0的藍(lán)牙設(shè)備,標(biāo)稱速率是3 Mb/s,實(shí)測最高速率可達(dá)207 kB/s;它是Class1產(chǎn)品,傳輸距離在開放空間可達(dá)100 m,可穿越多重混凝土墻壁進(jìn)行藍(lán)牙通信;設(shè)備間的配對過程大幅簡化,NFC短距離通訊技術(shù)可實(shí)現(xiàn)特定設(shè)備間的自動配對。Bluecore5芯片的這些特點(diǎn)滿足了本設(shè)計(jì)對數(shù)據(jù)傳輸?shù)乃俣取⒕嚯x、可穿越障礙物的要求[2]。
藍(lán)牙通信系統(tǒng)的硬件設(shè)計(jì)主要有ARM和藍(lán)牙芯片的接口電路、上位機(jī)和藍(lán)牙芯片的接口電路。這些硬件用來實(shí)現(xiàn)主控制器接口、藍(lán)牙協(xié)議的基帶、鏈路控制和無線部分。英國公司CSR的藍(lán)牙芯片BlueCore5是實(shí)現(xiàn)本設(shè)計(jì)的關(guān)鍵部分,ARM與上位機(jī)的通信主要是通過它來實(shí)現(xiàn)的。
本設(shè)計(jì)的ARM選用的是三星公司的S3C2440A,它采用ARM920T內(nèi)核,整體設(shè)計(jì)融合了 MMU、AMBA BUS和Harvard結(jié)構(gòu),具有獨(dú)立的16 kB指令Cache和16 kB數(shù)據(jù)Cache。其特點(diǎn)是功耗低、處理速度快等[3]。它是16/32位的RISC體系結(jié)構(gòu),支持大/小端模式、快速總線模式和同步總線模式,尋址空間是每bank 128 M字節(jié)。它的中斷控制器有60個(gè)中斷源,PWM功能的定時(shí)器是4通道16位的,擁有全面時(shí)鐘特性的RTC時(shí)鐘和24個(gè)外部中斷端口。它還有4通道的DMA控制器,TFT彩色顯示屏,LCD控制器,可以基于DMA模式或中斷模式工作的3通道UART,16位看門狗定時(shí)器。
藍(lán)牙的關(guān)鍵技術(shù)之一是跳頻技術(shù),它是把頻帶分成若干個(gè)跳頻信道(hop channel),在通信中,無線電收發(fā)器按照一定的碼序列,不間斷的從一個(gè)信道“跳”到另一個(gè)信道,此時(shí),發(fā)射和接受雙方是按照這個(gè)規(guī)律進(jìn)行的,其他的干擾不會按這個(gè)規(guī)律進(jìn)行干擾。跳頻的瞬時(shí)帶寬很窄,但使用擴(kuò)展頻譜技術(shù)可以使它變成寬頻帶,擴(kuò)展倍數(shù)可達(dá)百倍,這樣,干擾對系統(tǒng)通信的影響就小了[4]。跟相同頻段的其他工作系統(tǒng)相比,藍(lán)牙采用快跳頻和短分組技術(shù),減少同頻干擾,保證了數(shù)據(jù)傳輸?shù)目煽啃裕凰捎们跋蚣m錯(cuò)編碼技術(shù),減小了遠(yuǎn)距離傳輸時(shí)的隨機(jī)噪聲影響;使用2.4 GHz的ISM頻段,不需要申請?jiān)S可證;采用FM調(diào)制方式,降低了設(shè)備的復(fù)雜性,且以時(shí)分方式進(jìn)行全雙工通信,基帶協(xié)議是電路交換和分組交換的組合。
BlueCore5模塊采用陶瓷天線、高精度表貼晶振和獨(dú)立的電源模塊、功放IC、帶通濾波器,成本比一般藍(lán)牙高,但其穩(wěn)定性、可靠性、兼容性和通信性能十分出色,能夠滿足本設(shè)計(jì)的要求。藍(lán)牙與ARM的接口電路如圖2所示,BlueCore5的全雙工UART接口與S3C2440A的串行信號口對應(yīng)連接。其中,S3C2440A的發(fā)送端TXD0接BlueCore5的UART口的接收端UART_RX,S3C2440A的接收端 RXD0接 BlueCore5的UART口的發(fā)送端UART_TX。
圖2 ARM與藍(lán)牙的接口電路Fig.2 Interface circuit of ARM and Bluetooth
UART是上位機(jī)串行通信的重要端口,在上位機(jī)中,UART與產(chǎn)生兼容RS232規(guī)范信號的電路相連。RS232是EIA電平,邏輯1表示-3~-15 V,邏輯0表示3~15 V。EIA用正負(fù)電壓來表示邏輯狀態(tài),而TTL用高低電平來表示邏輯狀態(tài),因此為了同上位機(jī)接口進(jìn)行連接,需要在EIA與TTL電路之間進(jìn)行電平邏輯關(guān)系的變換。MAX232芯片可以實(shí)現(xiàn)TTL和EIA電平的雙向轉(zhuǎn)換。如圖3所示,是設(shè)計(jì)的藍(lán)牙BlueCore5與上位機(jī)的接口電路,在藍(lán)牙BlueCore5與上位機(jī)的串行通信口之間連接了一個(gè)MAX232芯片,用來實(shí)現(xiàn)TTL電平和EIA電平的轉(zhuǎn)換。其中,本地的串口信號發(fā)送端UART_TX與遠(yuǎn)端的串口信號接收端RXD連接,本地串口信號接收端UART_RX與遠(yuǎn)端串口信號發(fā)送端TXD連接,本地的UART_RTS與遠(yuǎn)端的CTS連接,本地的UART_CTS與遠(yuǎn)端的RTS連接。
圖3 藍(lán)牙與上位機(jī)的接口電路Fig.3 Interface circuit of Bluetooth and host computer
藍(lán)牙通信系統(tǒng)的軟件部分主要由應(yīng)用程序,中間層和傳輸層組成,如圖4所示。傳輸層包括Radio、LMP、基帶與鏈路控制[5]。Radio是藍(lán)牙通信系統(tǒng)的空中接口,Radio的規(guī)范規(guī)定了藍(lán)牙的發(fā)射功率、調(diào)制方式、射頻頻段、跳頻頻率和接受靈敏度等參數(shù)?;鶐Ш玩溌房刂茖哟_保微微網(wǎng)內(nèi)各藍(lán)牙設(shè)備之間由射頻構(gòu)成物理連接。基帶負(fù)責(zé)管理鏈路和信道中的安全設(shè)置、地址和信道編碼、信道控制、收發(fā)規(guī)則確定、跳頻選擇、鏈路類型等功能。LMP用來確定基帶數(shù)據(jù)分組的大小,管理鏈路連接、身份驗(yàn)證和加密,控制藍(lán)牙的工作模式和在微微網(wǎng)中的狀態(tài)。
圖4 藍(lán)牙通信系統(tǒng)的軟件框圖Fig.4 Software block diagram of Bluetooth communication system
中間層支持應(yīng)用層在邏輯鏈路上的工作,為高層應(yīng)用協(xié)議和程序提供不同的標(biāo)準(zhǔn)接口。中間層包括服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串口仿真協(xié)議(RFCOMM)、邏輯鏈路控制與適配協(xié)議(L2CAP)。軟件設(shè)計(jì)中用服務(wù)發(fā)現(xiàn)協(xié)議(SDP)獲取周邊藍(lán)牙設(shè)備的服務(wù)信息,在藍(lán)牙設(shè)備之間建立相應(yīng)的連接[6]。串口仿真協(xié)議(RFCOMM)提供L2CAP協(xié)議層之上的模擬串口,在藍(lán)牙基帶協(xié)議上仿真RS232控制和數(shù)據(jù)信號。邏輯鏈路控制與適配協(xié)議(L2CAP)是數(shù)據(jù)鏈路層的一部分,位于基帶協(xié)議層之上,為高層提供數(shù)據(jù)服務(wù),允許應(yīng)用層協(xié)議和高層協(xié)議以64 K字節(jié)收發(fā)L2CAP數(shù)據(jù)包,利用基帶的ARQ機(jī)制確保連接的可靠性,另外,L2CAP僅支持ACL數(shù)據(jù)包[7]。
應(yīng)用層包括數(shù)據(jù)傳輸程序和對象交換協(xié)議(OBEX)。對象交換協(xié)議(OBEX)與HTTP協(xié)議類似且假設(shè)傳輸層是可靠的,它的模式是客戶機(jī)/服務(wù)器且與傳輸應(yīng)用程序接口和傳輸機(jī)制是相互獨(dú)立的[8]。設(shè)計(jì)中,OBEX是實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)闹匾獏f(xié)議,為數(shù)據(jù)傳輸建立對象模型且面向?qū)ο蠛蛡魉瓦^程定義相應(yīng)的操作方法,最終實(shí)現(xiàn)數(shù)據(jù)的傳輸。
應(yīng)用程序在ARM系統(tǒng)和上位機(jī)間建立2個(gè)L2CAP信道(數(shù)據(jù)信道、控制信道),為藍(lán)牙服務(wù)和主機(jī)數(shù)據(jù)提供通信接口。應(yīng)用程序調(diào)用下層協(xié)議,并創(chuàng)建用戶界面。如圖5所示,是藍(lán)牙發(fā)送數(shù)據(jù)的流程圖,數(shù)據(jù)接收的流程圖與其類似。BlueCore通過主機(jī)控制器接口(HCI)與藍(lán)牙設(shè)備進(jìn)行通信,藍(lán)牙設(shè)備建立異步無連接鏈路 (ACL)和同步面向連接鏈路(SCO),BlueCore5與藍(lán)牙設(shè)備建立好異步無連接鏈路后,數(shù)據(jù)就可以進(jìn)行傳輸了。
圖5 藍(lán)牙數(shù)據(jù)發(fā)送流程圖Fig.5 Flow chart of sending Bluetooth data
在戰(zhàn)車工作的環(huán)境下,將數(shù)據(jù)采集系統(tǒng)與上位機(jī)分別置于不同的情況下,測試其傳輸數(shù)據(jù)的能力,測試結(jié)果如表1所示。表中的傳輸速率取的是平均數(shù)。沒有障礙時(shí),二者之間的通信距離可達(dá)100 m而且傳輸速率在80 m內(nèi)變化不大;當(dāng)中間隔著一堵墻時(shí),隨著傳輸距離的加大,傳輸速率明顯變??;二者之間有兩堵墻時(shí),速率非常低,隨距離增加,速率下降很快,30 m后基本沒有速度;當(dāng)數(shù)據(jù)采集系統(tǒng)被封閉于金屬箱內(nèi)時(shí),10 m傳輸速率還是比較大的,距離增大后,速率迅速減小。
實(shí)驗(yàn)結(jié)果表明,有障礙物的情況下,數(shù)據(jù)采集系統(tǒng)與上位機(jī)在20 m的傳輸速率滿足本設(shè)計(jì)的要求,并且,在實(shí)際測試過程中,固定好二者的位置后,傳輸速率比較穩(wěn)定,上下浮動不超過5 kb/s,還有,傳輸?shù)臄?shù)據(jù)正確無誤,可靠性高。
表1 系統(tǒng)測試數(shù)據(jù)Tab.1 Testing data of the system
本文應(yīng)用最新的BlueCore5藍(lán)牙芯片設(shè)計(jì)了ARM與上位機(jī)的藍(lán)牙通信系統(tǒng),解決了原有通信系統(tǒng)易受戰(zhàn)車環(huán)境影響導(dǎo)致的數(shù)據(jù)傳輸不穩(wěn)定的問題,提高了傳輸數(shù)據(jù)的可靠性,使原有系統(tǒng)不再受復(fù)雜電纜的束縛。本系統(tǒng)是大功率藍(lán)牙應(yīng)用于保障裝備的一個(gè)成功探索,未來,功能更強(qiáng)的4.0技術(shù)規(guī)范的藍(lán)牙將廣泛應(yīng)用于軍事裝備中。
[1]李珍香.基于ARM的RFID智能安全管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(12):2744-2745.LI Zhen-xiang.Design and implementation of intelligent security management system of RFID based on ARM[J].Computer Engineering and Design,2010,31(12):2744-2745.
[2]馬建輝.BlueCore5-MM在車載藍(lán)牙設(shè)備中的應(yīng)用[J].電子設(shè)計(jì)工程,2009,17(11):64-65.MA Jian-hui.Application of BlueCore5-MM in bluetooth car device[J].Electronic Design Engineering,2009,17(11):64-65.
[3]毛江錕,王竹林.基于ARM的某型導(dǎo)彈數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算技術(shù)與自動化,2010,29(4):36-37.MAO Jiang-kun,WANG Zhu-lin.Design of a missile data acquisition system based on ARM[J].Computing Technology and Automation,2010,29(4):36-37.
[4]牛相潮.Windows CE下基于藍(lán)牙協(xié)議的免提應(yīng)用實(shí)現(xiàn)[D].北京:北京交通大學(xué),2009:2-9.
[5]賀明,周中華.嵌入式藍(lán)牙文件傳送方案的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009(12):102-103.HE Ming,ZHOU Zhong-hua.Implementation of Bluetooth file transmission based on embedded technology[J].Electronic Technology Application,2009(12):102-103.
[6]顧劍鋒.基于ARM的藍(lán)牙數(shù)據(jù)通訊系統(tǒng)的研究[J].機(jī)械工程與自動化,2010(5):127-129.GU Jian-feng.Research of Bluetooth data communication system based on ARM [J].Mechanical Engineering and Automation,2010(5):127-129.
[7]張超,顧曉峰.基于藍(lán)牙模塊的嵌入式系統(tǒng)設(shè)計(jì)[J].電子與封裝,2009(12):20-22.ZHANG Chao,GU Xiao-feng.Design of embedded system based on Bluetooth chip[J].Electronics and Packaging,2009(12):20-22.
[8]馬航紅.嵌入式系統(tǒng)中藍(lán)牙文件傳輸應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2008:7-11.