柴亞南(山東大學電氣工程學院,250061)
?
基于移動終端的串口調試系統的設計與實現
柴亞南
(山東大學電氣工程學院,250061)
摘要:許多電子產品都帶有串口,啟用它們之前或復位以后都需要通過自身所帶的串口進行一些初始化設置,通常都是使用筆記本電腦的串口,通過串口線連接進行初始化設置,由于接線麻煩,距離短,筆記本笨重,很不方便。隨著手機和平板電腦等移動終端的普及和應用,為我們的工作帶來了許多方便,也為實現無線調試這些設備成為可能。本文設計了一個基于安卓移動終端的串口調試系統,可以完成與各種具有串口的電子設備進行初始設置、調試等功能,極大提高了設備設置和調試的方便性。
關鍵詞:移動終端;串口調試;android;Bluetooth;無線通訊
隨著計算機、電子通信以及物聯網等的迅猛發展,各種先進的通訊技術已被廣泛應用于各種工業和家用電子設備之中,使得對各種電子設備的維護管理提出了更搞得要求,使用輕便而實用的無線調試工具是很必要的,特別是各種便攜式智能手機終端的出現,使得已成為它成為可能,也成為研究的熱點。智能手機和平板電腦因其具有全功能性、攜帶方便、可進行二次開發和應用廣泛的獨特優勢,它成為各種應用的最佳選擇。特別是安卓平臺良好的開放性,它被廣泛的應用在手機和平板電腦中,它支持各種通訊方式,為我們的開發基于智能終端的應用提供了很好的平臺。本文主要在安卓系統的移動智能終端上設計實現了一個超級串口調試助手SSPA(Super serial port assistant),用于調試檢測各種通過串口進行設置的電子設備,它不僅可以用作調試和設置工具,也可以用作設備的監控。
通過對當前主流智能終端操作系統的開放性和普及性分析對比,我們最終決定采用Android平臺、Socket通信與SQLite數據庫設計串口調試助手SSPA;應用測試結果表明,該系統運行正常、穩定,完全滿足要求。
該系統主要由硬件和軟件兩部分組成,硬件部分主要是智能移動終端和由藍牙模塊與串口芯片構成的通訊模塊,通訊模塊接插在被調試設備的串行口上。軟件部分則運行在安卓移動智能終端上,通過智能終端上的藍牙無線系統與連接到被調試設備的藍牙無線模塊實現點到點的通訊,達到對設備的調試和設置。
1.1 硬件部分
硬件部分原理圖如下圖,它由藍牙轉串口模塊和串口通信模塊組成,藍牙串口透傳模塊采用市面上采購的SPP-C藍牙無線透傳模塊,它符合V2.1+EDR藍牙規范,支持UART接口和藍牙串口協議,內置PCB射頻天線,3.3V電源,具有成本低、體積小、功耗低、收發靈敏性高等優點,只需配備少許的外圍元件就能實現其強大功能,而且可以通過串口AT命令就可以修改串口參數。該模塊采用了CC2541芯片,他是由TI公司生產的低功耗的芯片,支持250Kbps,500Kbps,1Mbpshe 2Mbps的數據速率,高達0dBm的可編程輸出功率和出色的接收靈敏度,采用極少的外部組件,采用QFN-40封裝,體積小,目前市場上很容易買到已經集成的藍牙串口模塊。
由于藍牙模塊需要有源運行,本系統采用3.3V可充電鋰電池供電,因此串口芯片采用SP323E,它要求的工作電壓可以低到3V,工作非常穩定可靠,通過測試,其他串口芯片在3.3V下工作不是很穩定,有數據丟失和亂碼的現象。因此選用SP323E芯片,它和藍牙串口透傳模塊能很好的配合運行,在600mAh的電池下可以連續運行24小時以上。電源采用3.3V鋰電池供電,外加一塊鋰電充電保護模塊,我們選用了TP4056鋰電池專用充電芯片,它外圍電路簡單,保護性能好,充電精度高,采用線性充電,1A充電電流,輸入電壓為4.5-5.5V,充電電流可調節調節,充電口設計為微型USB接口。
調節R1的阻值確定電池充電電流的大小,R1與充電電流的關系見下表1,該系統采用2K電阻,充電電流位580毫安。計算公式為:

整個軟件系統基于安卓系統平臺,利用Eclips+Andriod SDK開發平臺,用java語言和XML編程。軟件主要分為兩部分組成,用戶界面和串行設備的通訊模塊。
2.1 用戶界面
用戶界面采用標準的安卓控件,界面如下圖所示:

圖3:藍牙轉串口通訊模塊實物圖

圖1:系統硬件原理圖

圖2:充電保護電路原理圖

表1

圖4:系統運行界面和設置界面

圖5:系統運行界面和設置界面
系統啟動時自動進入主界面,它具有連接,命令清單,發送命令,發送郵件,設置等按鈕,實現命令的編輯發送和數據的接收等功能。設置界面主要是對系統的參數設置,包括串口通訊參數設置,數據顯示字體大小和字號設置, 電子郵件設置等。
系統運行前,首先通過手機的藍牙設置找到連接的藍牙串口設備,并進行配對,然后就可以運行該系統了。系統啟動后,軟件會自動發現要連接的串行設備,當串行設備的序列號(上圖藍色字)出現后,點擊連接(connect),安卓系統就和相應的串行設備連接起來了。連接建立后,用戶可以通過“CmdList” 選擇預先設置好的命令,或者在界面上輸入自己的命令。點擊發送,命令就會通過通訊模塊傳送給設備,同時,設備執行命令后的數據會通過通訊模塊傳送回來并顯示在界面中間部分。點擊右上角的信封,命令的執行結果就會通過電子郵件傳送到相應的人員信箱中,為了方便,用戶可以發送一系列的命令后再發送郵件,中間數據的顯示沒有限制,可以輕松支持上千行指令信息。點擊紅色的垃圾桶,顯示的數據就會被刪除。點擊右上角的齒輪,進入系統設置界面,可以設置通訊參數和屏幕顯示參數。
2.2 通訊模塊
為了提供運行效率,整個通訊模塊采用安卓綁定服務(bounded service)的形式運行在安卓系統。它是一個獨立的線程,在系統啟動的時候由用戶界面主模塊啟動。它主要負責和串行設備的通訊,用戶命令通過主模塊發送給通訊模塊,通訊模塊以一定的格式將命令發送給串行設備,串行設備返回的數據由通訊模塊接收并傳送給主模塊進行回顯處理。通訊模塊的流程圖如下所示:

主要程序代碼:
1.主模塊啟動綁定服務并定義接口:

綁定服務收到串行設備的數據后會發送給主模塊,主模塊通過以下程序處理接受的數據,并將數據顯示在主界面中


2.綁定服務通過藍牙連接串行設備


3.綁定服務接收串行設備的數據后通過廣播的形式發送給主模塊

用戶可以通過設置界面進行串口波特率的設置,缺省設置為9600,N,8,1。顯示的字體也可以進行改變。
本文詳細介紹了基于移動終端的串口調試系統的基本原理和功能,它是一個很好的基于串口的設備調試工具,完全可以替代筆記本電腦的串口調試程序,它攜帶和使用非常方便,很適合工程設備現場調試使用,同時調試的過程數據可以通過電子郵件保存,以便作為文檔使用和共享。常用的調試命令可以保留在移動終端中隨時調用。
參考文獻
[1] 翟大昆.《Android項目開發詳解》.北京:機械工業出版社,2012-06-01
[2] 李興華.《 Java開發實戰經典》.北京:清華大學出版社,2009-8-1
[3] Mitch,《XML案例解析教程》,北京:清華大學出版社,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-),女,山東濟南人,碩士,助理工程師,主要研究方向為計算機應用
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
作者簡介
中圖法分類號:TP393.08
文獻標識碼:A