柴亞南(山東大學(xué)電氣工程學(xué)院,250061)
?
基于移動(dòng)終端的串口調(diào)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
柴亞南
(山東大學(xué)電氣工程學(xué)院,250061)
摘要:許多電子產(chǎn)品都帶有串口,啟用它們之前或復(fù)位以后都需要通過(guò)自身所帶的串口進(jìn)行一些初始化設(shè)置,通常都是使用筆記本電腦的串口,通過(guò)串口線連接進(jìn)行初始化設(shè)置,由于接線麻煩,距離短,筆記本笨重,很不方便。隨著手機(jī)和平板電腦等移動(dòng)終端的普及和應(yīng)用,為我們的工作帶來(lái)了許多方便,也為實(shí)現(xiàn)無(wú)線調(diào)試這些設(shè)備成為可能。本文設(shè)計(jì)了一個(gè)基于安卓移動(dòng)終端的串口調(diào)試系統(tǒng),可以完成與各種具有串口的電子設(shè)備進(jìn)行初始設(shè)置、調(diào)試等功能,極大提高了設(shè)備設(shè)置和調(diào)試的方便性。
關(guān)鍵詞:移動(dòng)終端;串口調(diào)試;android;Bluetooth;無(wú)線通訊
隨著計(jì)算機(jī)、電子通信以及物聯(lián)網(wǎng)等的迅猛發(fā)展,各種先進(jìn)的通訊技術(shù)已被廣泛應(yīng)用于各種工業(yè)和家用電子設(shè)備之中,使得對(duì)各種電子設(shè)備的維護(hù)管理提出了更搞得要求,使用輕便而實(shí)用的無(wú)線調(diào)試工具是很必要的,特別是各種便攜式智能手機(jī)終端的出現(xiàn),使得已成為它成為可能,也成為研究的熱點(diǎn)。智能手機(jī)和平板電腦因其具有全功能性、攜帶方便、可進(jìn)行二次開發(fā)和應(yīng)用廣泛的獨(dú)特優(yōu)勢(shì),它成為各種應(yīng)用的最佳選擇。特別是安卓平臺(tái)良好的開放性,它被廣泛的應(yīng)用在手機(jī)和平板電腦中,它支持各種通訊方式,為我們的開發(fā)基于智能終端的應(yīng)用提供了很好的平臺(tái)。本文主要在安卓系統(tǒng)的移動(dòng)智能終端上設(shè)計(jì)實(shí)現(xiàn)了一個(gè)超級(jí)串口調(diào)試助手SSPA(Super serial port assistant),用于調(diào)試檢測(cè)各種通過(guò)串口進(jìn)行設(shè)置的電子設(shè)備,它不僅可以用作調(diào)試和設(shè)置工具,也可以用作設(shè)備的監(jiān)控。
通過(guò)對(duì)當(dāng)前主流智能終端操作系統(tǒng)的開放性和普及性分析對(duì)比,我們最終決定采用Android平臺(tái)、Socket通信與SQLite數(shù)據(jù)庫(kù)設(shè)計(jì)串口調(diào)試助手SSPA;應(yīng)用測(cè)試結(jié)果表明,該系統(tǒng)運(yùn)行正常、穩(wěn)定,完全滿足要求。
該系統(tǒng)主要由硬件和軟件兩部分組成,硬件部分主要是智能移動(dòng)終端和由藍(lán)牙模塊與串口芯片構(gòu)成的通訊模塊,通訊模塊接插在被調(diào)試設(shè)備的串行口上。軟件部分則運(yùn)行在安卓移動(dòng)智能終端上,通過(guò)智能終端上的藍(lán)牙無(wú)線系統(tǒng)與連接到被調(diào)試設(shè)備的藍(lán)牙無(wú)線模塊實(shí)現(xiàn)點(diǎn)到點(diǎn)的通訊,達(dá)到對(duì)設(shè)備的調(diào)試和設(shè)置。
1.1 硬件部分
硬件部分原理圖如下圖,它由藍(lán)牙轉(zhuǎn)串口模塊和串口通信模塊組成,藍(lán)牙串口透?jìng)髂K采用市面上采購(gòu)的SPP-C藍(lán)牙無(wú)線透?jìng)髂K,它符合V2.1+EDR藍(lán)牙規(guī)范,支持UART接口和藍(lán)牙串口協(xié)議,內(nèi)置PCB射頻天線,3.3V電源,具有成本低、體積小、功耗低、收發(fā)靈敏性高等優(yōu)點(diǎn),只需配備少許的外圍元件就能實(shí)現(xiàn)其強(qiáng)大功能,而且可以通過(guò)串口AT命令就可以修改串口參數(shù)。該模塊采用了CC2541芯片,他是由TI公司生產(chǎn)的低功耗的芯片,支持250Kbps,500Kbps,1Mbpshe 2Mbps的數(shù)據(jù)速率,高達(dá)0dBm的可編程輸出功率和出色的接收靈敏度,采用極少的外部組件,采用QFN-40封裝,體積小,目前市場(chǎng)上很容易買到已經(jīng)集成的藍(lán)牙串口模塊。
由于藍(lán)牙模塊需要有源運(yùn)行,本系統(tǒng)采用3.3V可充電鋰電池供電,因此串口芯片采用SP323E,它要求的工作電壓可以低到3V,工作非常穩(wěn)定可靠,通過(guò)測(cè)試,其他串口芯片在3.3V下工作不是很穩(wěn)定,有數(shù)據(jù)丟失和亂碼的現(xiàn)象。因此選用SP323E芯片,它和藍(lán)牙串口透?jìng)髂K能很好的配合運(yùn)行,在600mAh的電池下可以連續(xù)運(yùn)行24小時(shí)以上。電源采用3.3V鋰電池供電,外加一塊鋰電充電保護(hù)模塊,我們選用了TP4056鋰電池專用充電芯片,它外圍電路簡(jiǎn)單,保護(hù)性能好,充電精度高,采用線性充電,1A充電電流,輸入電壓為4.5-5.5V,充電電流可調(diào)節(jié)調(diào)節(jié),充電口設(shè)計(jì)為微型USB接口。
調(diào)節(jié)R1的阻值確定電池充電電流的大小,R1與充電電流的關(guān)系見下表1,該系統(tǒng)采用2K電阻,充電電流位580毫安。計(jì)算公式為:
整個(gè)軟件系統(tǒng)基于安卓系統(tǒng)平臺(tái),利用Eclips+Andriod SDK開發(fā)平臺(tái),用java語(yǔ)言和XML編程。軟件主要分為兩部分組成,用戶界面和串行設(shè)備的通訊模塊。
2.1 用戶界面
用戶界面采用標(biāo)準(zhǔn)的安卓控件,界面如下圖所示:
圖3:藍(lán)牙轉(zhuǎn)串口通訊模塊實(shí)物圖
圖1:系統(tǒng)硬件原理圖
圖2:充電保護(hù)電路原理圖
表1
圖4:系統(tǒng)運(yùn)行界面和設(shè)置界面
圖5:系統(tǒng)運(yùn)行界面和設(shè)置界面
系統(tǒng)啟動(dòng)時(shí)自動(dòng)進(jìn)入主界面,它具有連接,命令清單,發(fā)送命令,發(fā)送郵件,設(shè)置等按鈕,實(shí)現(xiàn)命令的編輯發(fā)送和數(shù)據(jù)的接收等功能。設(shè)置界面主要是對(duì)系統(tǒng)的參數(shù)設(shè)置,包括串口通訊參數(shù)設(shè)置,數(shù)據(jù)顯示字體大小和字號(hào)設(shè)置, 電子郵件設(shè)置等。
系統(tǒng)運(yùn)行前,首先通過(guò)手機(jī)的藍(lán)牙設(shè)置找到連接的藍(lán)牙串口設(shè)備,并進(jìn)行配對(duì),然后就可以運(yùn)行該系統(tǒng)了。系統(tǒng)啟動(dòng)后,軟件會(huì)自動(dòng)發(fā)現(xiàn)要連接的串行設(shè)備,當(dāng)串行設(shè)備的序列號(hào)(上圖藍(lán)色字)出現(xiàn)后,點(diǎn)擊連接(connect),安卓系統(tǒng)就和相應(yīng)的串行設(shè)備連接起來(lái)了。連接建立后,用戶可以通過(guò)“CmdList” 選擇預(yù)先設(shè)置好的命令,或者在界面上輸入自己的命令。點(diǎn)擊發(fā)送,命令就會(huì)通過(guò)通訊模塊傳送給設(shè)備,同時(shí),設(shè)備執(zhí)行命令后的數(shù)據(jù)會(huì)通過(guò)通訊模塊傳送回來(lái)并顯示在界面中間部分。點(diǎn)擊右上角的信封,命令的執(zhí)行結(jié)果就會(huì)通過(guò)電子郵件傳送到相應(yīng)的人員信箱中,為了方便,用戶可以發(fā)送一系列的命令后再發(fā)送郵件,中間數(shù)據(jù)的顯示沒(méi)有限制,可以輕松支持上千行指令信息。點(diǎn)擊紅色的垃圾桶,顯示的數(shù)據(jù)就會(huì)被刪除。點(diǎn)擊右上角的齒輪,進(jìn)入系統(tǒng)設(shè)置界面,可以設(shè)置通訊參數(shù)和屏幕顯示參數(shù)。
2.2 通訊模塊
為了提供運(yùn)行效率,整個(gè)通訊模塊采用安卓綁定服務(wù)(bounded service)的形式運(yùn)行在安卓系統(tǒng)。它是一個(gè)獨(dú)立的線程,在系統(tǒng)啟動(dòng)的時(shí)候由用戶界面主模塊啟動(dòng)。它主要負(fù)責(zé)和串行設(shè)備的通訊,用戶命令通過(guò)主模塊發(fā)送給通訊模塊,通訊模塊以一定的格式將命令發(fā)送給串行設(shè)備,串行設(shè)備返回的數(shù)據(jù)由通訊模塊接收并傳送給主模塊進(jìn)行回顯處理。通訊模塊的流程圖如下所示:
主要程序代碼:
1.主模塊啟動(dòng)綁定服務(wù)并定義接口:
綁定服務(wù)收到串行設(shè)備的數(shù)據(jù)后會(huì)發(fā)送給主模塊,主模塊通過(guò)以下程序處理接受的數(shù)據(jù),并將數(shù)據(jù)顯示在主界面中
2.綁定服務(wù)通過(guò)藍(lán)牙連接串行設(shè)備
3.綁定服務(wù)接收串行設(shè)備的數(shù)據(jù)后通過(guò)廣播的形式發(fā)送給主模塊
用戶可以通過(guò)設(shè)置界面進(jìn)行串口波特率的設(shè)置,缺省設(shè)置為9600,N,8,1。顯示的字體也可以進(jìn)行改變。
本文詳細(xì)介紹了基于移動(dòng)終端的串口調(diào)試系統(tǒng)的基本原理和功能,它是一個(gè)很好的基于串口的設(shè)備調(diào)試工具,完全可以替代筆記本電腦的串口調(diào)試程序,它攜帶和使用非常方便,很適合工程設(shè)備現(xiàn)場(chǎng)調(diào)試使用,同時(shí)調(diào)試的過(guò)程數(shù)據(jù)可以通過(guò)電子郵件保存,以便作為文檔使用和共享。常用的調(diào)試命令可以保留在移動(dòng)終端中隨時(shí)調(diào)用。
參考文獻(xiàn)
[1] 翟大昆.《Android項(xiàng)目開發(fā)詳解》.北京:機(jī)械工業(yè)出版社,2012-06-01
[2] 李興華.《 Java開發(fā)實(shí)戰(zhàn)經(jīng)典》.北京:清華大學(xué)出版社,2009-8-1
[3] Mitch,《XML案例解析教程》,北京:清華大學(xué)出版社,2007-11
[5] http://www.ti.com/lit/ug/swru191f/swru191f.pdf?keyMa tch=cc2541f256&tisearch=Search-EN-TechDocs
[6] http://www.ti.com/lit/df/tidr203a/tidr203a.pdf
[7] SP3232E中文資料 http://www.sipex.com/
柴亞南(1982-),女,山東濟(jì)南人,碩士,助理工程師,主要研究方向?yàn)橛?jì)算機(jī)應(yīng)用
Android serial port assistant system design and development
Chai Yanan
(School of Electrical Engineering, Shandong University,Jinan Shandong 250061,China)
Abstract:Many devices have built-in serial ports for the purpose of configuration and diagnosis.Usually a laptop and a serial cable are used together to communicate with the device.We argue that this method is not a perfect solution due to the heavy weight of a laptop and the distance limitation of the serial cable. With the wide availability of cell phones and IPads,in this paper,we developed a new system that uses Android smart phone and Bluetooth technology to connect serial devices wirelessly.We developed a hardware bridge that can attach to the device serial port and translate the serial communication to Bluetooth,and hence can talk to Android phones.The software running at Android phone can send commands to and receive data from serial device through the hardware bridge.Our system removes the distance limitation of the serial cable and is also very lightweight and portable.
Keywords:Mobil terminal;Serial port debug;Android;Bluetooth;Wireless communication
作者簡(jiǎn)介
中圖法分類號(hào):TP393.08
文獻(xiàn)標(biāo)識(shí)碼:A