趙智佩,余震虹
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,無錫 214122)
當(dāng)前,為了降低汽車污染物的排放,人們逐漸使用電動(dòng)汽車作為交通工具.考慮到車輛電池在工作時(shí)的安全,需要一個(gè)系統(tǒng)對(duì)其工作狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),以便于后續(xù)工作的開展.此前,國(guó)內(nèi)外在電池信息監(jiān)測(cè)系統(tǒng)上大量運(yùn)用了GPRS 和3G網(wǎng)絡(luò)技術(shù),部分運(yùn)用了4G網(wǎng)絡(luò)技術(shù)都能達(dá)到較好的效果.
但為了提高整體的通信質(zhì)量和提供多種監(jiān)測(cè)方式,系統(tǒng)采用4G網(wǎng)絡(luò)技術(shù)和WLAN網(wǎng)絡(luò)技術(shù).4G網(wǎng)絡(luò)通信作為當(dāng)下流行的通信技術(shù),它有較高的通信速度,提高了通信的靈活性以及智能性;有更寬的網(wǎng)絡(luò)頻譜,兼容性能平滑度大大提高,并改善了使用效率,多媒體通信質(zhì)量得到了優(yōu)化.同時(shí)結(jié)合了WiFi 無線通信建立局域網(wǎng)通信,極大的豐富了監(jiān)測(cè)終端的網(wǎng)絡(luò)應(yīng)用與近程數(shù)據(jù)傳輸.無線局域網(wǎng)技術(shù)的優(yōu)勢(shì)很多:具有傳輸速度快的優(yōu)勢(shì);對(duì)人體健康危害較小等.WiFi的應(yīng)用范圍正在逐漸擴(kuò)大,WiFi 技術(shù)仍是將來網(wǎng)絡(luò)技術(shù)的主要發(fā)展趨勢(shì),隨著科技的不斷發(fā)展與進(jìn)步,它也會(huì)得到不斷的完善與優(yōu)化.
目前,該系統(tǒng)可以實(shí)時(shí)觀察電池的電壓與工作溫度,并且根據(jù)4G 和WiFi 組網(wǎng)可以實(shí)現(xiàn)近,遠(yuǎn)程實(shí)時(shí)準(zhǔn)確提供電池的電壓與環(huán)境溫度數(shù)據(jù),確保電池運(yùn)行的安全與穩(wěn)定.滿足監(jiān)測(cè)系統(tǒng)的組網(wǎng)靈活,安全可靠,便于觀察的需求.
檢測(cè)系統(tǒng)的組成涉及了數(shù)據(jù)采集客戶端和服務(wù)器兩部分,首先數(shù)據(jù)采集客戶端是以S3C2440處理器為核心,并包括內(nèi)部自帶A/D 轉(zhuǎn)換器,溫度傳感器,4G 通信模塊和WiFi 通信模塊等;服務(wù)器由兩部分組成,一是數(shù)據(jù)采集客戶端由4G 通信模塊通過Internet 向遠(yuǎn)程服務(wù)器發(fā)送采集的數(shù)據(jù),二是由WiFi 通信模塊向周邊用戶的移動(dòng)設(shè)備發(fā)送數(shù)據(jù).另外檢測(cè)系統(tǒng)同時(shí)可以組成4G-WiFi網(wǎng)絡(luò)向用戶提供流量數(shù)據(jù)服務(wù).監(jiān)測(cè)系統(tǒng)的示意圖如圖1.
圖1 監(jiān)測(cè)系統(tǒng)的整體示意圖
整個(gè)系統(tǒng)的硬件部分包括:ARM9 嵌入式開發(fā)板,4G 通信模塊,WiFi 通信模塊和溫度傳感器DS18B20模塊.硬件連接如圖2所示.
主控芯片采用的是三星公司的一款基于ARM9 內(nèi)核1 6/3 2 位精簡(jiǎn)指令集(R I S C)3 2 位微處理器S3C2440A 芯片,主要負(fù)責(zé)數(shù)據(jù)的采集與數(shù)據(jù)的轉(zhuǎn)發(fā)等功能,是整個(gè)系統(tǒng)結(jié)構(gòu)的核心.具體采用的是友善之臂MINI2440-FriendlyARM 核心板,該核心基于Linux2.6.32.2 內(nèi)核,采用沉金工藝的4 層板設(shè)計(jì),專業(yè)等長(zhǎng)布線,保證關(guān)鍵信號(hào)線的信號(hào)的完整性,并采用專業(yè)穩(wěn)定的CPU 內(nèi)核電源芯片和復(fù)位芯片來保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性.其主頻400 MHz,最高533 MHz,在板64MSDRAM,32 bit 數(shù)據(jù)總線,256 M/1 GB Nand Flash 和2MNor Flash.接口和資源:1個(gè)34pin GPIO 接口,1個(gè)USB Host 和1個(gè)100 M 以太網(wǎng)RJ-45 接口(采用DM9000網(wǎng)絡(luò)芯片)等.如圖3所示.
圖2 整體硬件結(jié)構(gòu)圖
圖3 MINI2440 開發(fā)板
ARM9 S3C2440 芯片自帶一個(gè)8 路10 位A/D 轉(zhuǎn)換器,它的最大轉(zhuǎn)換率為500 kHz,非線性度為正負(fù)1.5 位,其轉(zhuǎn)換時(shí)間[1]:當(dāng)系統(tǒng)時(shí)鐘為50 MHz,比例(預(yù)分頻器)值為49,則:
A/D 轉(zhuǎn)換器的供電電壓為3.3 V,模擬輸入電壓范圍為0~5 V,滿量程為5 V/1024,最小有效位(LSB)為4.88 mV,最小有效位(LSB)與模擬輸入電壓有關(guān).
系統(tǒng)采用的4G模塊是上海移遠(yuǎn)EC20 LTE模塊,采用LTE 3 GPP Rel.9 技術(shù),雖然在功能上與目前最新Rel.14 版有一定的差異,但并不影響正常使用.此模塊支持最大下行速率100 Mbps 和最大上行速率50 Mbps.EC20 LTE模塊采用Mini PCIe 封裝通過通信模塊轉(zhuǎn)接板(Mini PCI-E 接口卡)與主控板進(jìn)行USB 連接通信,Mini PCI-E 接口定義為USB 信號(hào)及3.6 V 電壓,USB 接口5 V 電壓通過DC to DC 電壓源芯片轉(zhuǎn)換成3.6 V 電壓和2 A 電流供給模塊及UIM/SIM 卡工作.EC20 LTE模塊支持頻段FDD-LTE:B1/B3 和TDD-LTE:B38/B39/B40/B41;支持Mini PCIe 接口:采用PCI Express Mini Card 1.2 標(biāo)準(zhǔn)接口;支持LTE 特性:符合3 GPP R9 CAT3 FDD 和TDD,支持1.4-20 MHz 射頻帶寬,F(xiàn)DD:Max 100 MHz (DL)50 MHz(UL),TDD:Max 61 MHz (DL)18 MHz (UL);支持的網(wǎng)絡(luò)協(xié)議為:支持TCP/UDP/PPP/QMI/HTTP 等協(xié)議,支持PAP 和CHAP 協(xié)議,支持標(biāo)準(zhǔn)AT 指令集及擴(kuò)展AT 指令集.其中,Mini PCI-E 轉(zhuǎn)USB 電路原理圖如圖4.
圖4 Mini PCI-E 轉(zhuǎn)USB 電路原理圖
系統(tǒng)采用的無線通信模塊RT3070 是高度集成的MAC/BBP 和2.4 G RF 單芯片,芯片支持150 Mbps 至300 Mbps的吞吐量.它完全符合IEEE802.11n draft 4.0 和IEEE802.11 b/g 標(biāo)準(zhǔn),在較遠(yuǎn)的高吞吐量下提供可靠,成本效益高,功能豐富的無線連接.由優(yōu)化的RF 結(jié)構(gòu)和基帶算法提供了卓越的性能和低功耗.智能的MAC 設(shè)計(jì)采用了高效的USB 引擎和硬件數(shù)據(jù)處理加速器,從而不使主機(jī)處理器過載.符合本系統(tǒng)的需求.
DS18B20 是美國(guó)Dallas 公司生產(chǎn)的單總線數(shù)字溫度傳感器,它具有微型化,低功耗,高性能,抗干擾能力強(qiáng),易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化為數(shù)字信號(hào)處理器處理.測(cè)量溫度范圍是-55°C~125°C,測(cè)溫誤差為±0.5°C.可編程的分辨率為9~12 位,可實(shí)現(xiàn)高精度測(cè)量.具有負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱燒毀.由電源線,信號(hào)線和地線三個(gè)引腳組成的三極管集成電路.DS18B20的應(yīng)用電路有:寄生電源供電方式,寄生電源強(qiáng)上拉供電方式和外部電源供電方式[2].該系統(tǒng)采用外部電源供電方式,DS18B20的工作電壓范圍3.0V~5.5V,信號(hào)引腳的上拉電阻范圍4.7 KΩ~10 KΩ.其中應(yīng)用原理圖如圖5.
圖5 DS18B20 外部電源供電電路圖
系統(tǒng)所采用的S3C2440 芯片內(nèi)部含有USB 主機(jī)接口和USB 設(shè)備接口,系統(tǒng)主要應(yīng)用的是USB 設(shè)備接口,它采用DMA 接口方案,允許控制傳輸,中斷傳輸和DMA 接口的批量傳輸,具有5個(gè)帶FIFO的端點(diǎn),支持USB2.0 協(xié)議,高速的理論速度為480 Mbps 和全速的理論速度為12 Mbps,包括支持熱拔插,標(biāo)準(zhǔn)統(tǒng)一和多設(shè)備連接等優(yōu)點(diǎn).其應(yīng)用電路圖如圖6所示.
圖6 USB Host 硬件電路圖
系統(tǒng)USB 集線器模塊采用FE2.1 集線器控制芯片,它是集成性比較高,品質(zhì)高,性能高,能耗低的高速七端USB2.0 集線器,系統(tǒng)應(yīng)用其中三個(gè)端.FE2.1模塊電路原理圖如圖7所示.
圖7 FE2.1模塊電路原理圖
整個(gè)系統(tǒng)的軟件設(shè)計(jì)在友善之臂Linux-2.6.32.2-mini2440-20150709 內(nèi)核的基礎(chǔ)上所開發(fā)設(shè)計(jì)的,主要包括Linux 操作系統(tǒng)的移植[3],4G-LTE模塊的驅(qū)動(dòng)移植和RT3070 無線模塊的驅(qū)動(dòng)移植以及所依賴的文件移植.通信模塊中的4G模塊和WiFi模塊都是通過USB 接口建立的驅(qū)動(dòng)模塊,在移植通信模塊前先要編譯Linux 內(nèi)核然后移植驅(qū)動(dòng).要實(shí)現(xiàn)4G-WiFi 路由則需要移植iptables,它可以完成封包過濾,封包重定向和網(wǎng)絡(luò)地址數(shù)據(jù)包轉(zhuǎn)換(NAT)等功能.關(guān)于iptables的具體移植方法,可以從網(wǎng)絡(luò)上了解.
(1)支持4G模塊的內(nèi)核編譯
進(jìn)入內(nèi)核的目錄并對(duì)內(nèi)核進(jìn)行裁剪,執(zhí)行make menuconfig 進(jìn)行界面選擇Multi-purpose USB Networking Framework 將Linux 內(nèi)核的rndis_host 配置為動(dòng)態(tài)模塊,可以在Linux 下使用USB網(wǎng)絡(luò).選擇USB driver for GSM and CDMA mdems,實(shí)現(xiàn)Linux 內(nèi)核對(duì)4G模塊驅(qū)動(dòng)的支持.選擇所有PPP網(wǎng)絡(luò)協(xié)議選項(xiàng),可以使Linux 內(nèi)核支持4G網(wǎng)絡(luò)撥號(hào),當(dāng)4G 通信模塊移植完成后可以通過PPP 撥號(hào)的方式連接網(wǎng)絡(luò)和互聯(lián)網(wǎng).
(2)4G 通信模塊驅(qū)動(dòng)移植安裝
通過對(duì)所提供的Linux 驅(qū)動(dòng)源碼和撥號(hào)聯(lián)網(wǎng)程序進(jìn)行修改編譯生成可執(zhí)行4G模塊驅(qū)動(dòng)文件.使用insmod 命令將4G模塊加載到內(nèi)核中,移植成功后可以看出在4G模塊在系統(tǒng)中被映射成為的網(wǎng)口和4G網(wǎng)卡IP 地址等信息,可以Ping 公網(wǎng)測(cè)試則移植成功[4,5].
(1)支持WiFi模塊AP模式的內(nèi)核編譯
在Linux 內(nèi)核選項(xiàng)中選擇IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)使內(nèi)核支持WiFi模塊的AP 功能.選擇RF switch subsystemsupport,此選項(xiàng)為了節(jié)約電力,很多無線網(wǎng)卡都有內(nèi)置的射頻開關(guān)用于開啟和關(guān)閉設(shè)備.選擇Generic IEEE802.11 Networking Stack (mac80211),Generic IEEE 802.11 Networking Stack (mac80211)選項(xiàng)是獨(dú)立于硬件的通用IEEE 802.11 協(xié)議棧模塊,可以讓系統(tǒng)能更好的控制硬件.
(2)WiFi 通信模塊驅(qū)動(dòng)的移植
2010_0203_RT3070_SoftAP_v2.4.0.1_DPA.bz2 驅(qū)動(dòng)下載,此驅(qū)動(dòng)是RT3070 在Linux 操作系統(tǒng)上實(shí)現(xiàn)軟AP模式的驅(qū)動(dòng).解壓縮文件后,在2010_0203_RT3070_SoftAP_v2.4.0.1_DPA 目錄下有三個(gè)文件夾分別為MODULE,NETIF,UTIL,在這三個(gè)文件中均有Makefile,在所有Makefile中修改其中的支持平臺(tái)與平臺(tái)下的內(nèi)核路徑和交叉編譯器.編譯通過后,在開發(fā)板修改rt2870ap.dat 文件讓rt3070ap 在啟動(dòng)的時(shí)候配置成WPA2的加密方式,并依次執(zhí)行insmod rtutil3070ap.ko,insmod rt3070ap.ko,insmod rtnet3070ap.ko.則可以系統(tǒng)可以識(shí)別無線模塊,并被映射成為相應(yīng)的網(wǎng)口[6,7].
對(duì)于單總線結(jié)構(gòu)的DS18B20的讀寫控制必須嚴(yán)格按照時(shí)序圖進(jìn)行編程,通過嵌入式設(shè)備的通用I/O 口GPF0 直接驅(qū)動(dòng)DS18B20的DQ 信號(hào)的交流端.通過調(diào)用精確的延時(shí)子程序,來對(duì)其準(zhǔn)確時(shí)序控制[1].DS18B20的讀寫時(shí)序圖如圖8 和圖9.
圖8 DS18B20 寫時(shí)序
圖9 DS18B20 讀時(shí)序
在Linux 系統(tǒng)中把DS18B20的溫度傳感器程序通過運(yùn)行交叉編譯器編譯成字符設(shè)備驅(qū)動(dòng).使用insmod 命令將溫度傳感器模塊加載到內(nèi)核中,移植成功后可以在系統(tǒng)/dev中發(fā)現(xiàn)溫度傳感器模塊被映射成為DS18B20的驅(qū)動(dòng)設(shè)備號(hào).
Socket 接口是支持TCP/IP網(wǎng)絡(luò)的應(yīng)用程序編程接口,是支持Linux 系統(tǒng)中通用的網(wǎng)絡(luò)接口,網(wǎng)絡(luò)的Socket 數(shù)據(jù)傳輸是一種特殊的I/O 接口,Socket 也是一種文件描述.在Socket 通信中有兩種通信協(xié)議:UDP協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議,面向無連接)和TCP 協(xié)議(傳輸控制協(xié)議,面向連接).UDP 協(xié)議和TCP 協(xié)議之間的區(qū)別如表1所示[8,9].
表1 UDP 協(xié)議和TCP 協(xié)議之間的區(qū)別
TCP 協(xié)議提供IP 環(huán)境下的數(shù)據(jù)可靠傳輸能力,它提供的服務(wù)包括數(shù)據(jù)流傳送,可靠性,有效流控,全雙工操作和多路復(fù)用.它建立連接使用三次握手過程,使一臺(tái)計(jì)算機(jī)發(fā)出的字節(jié)流無差錯(cuò)的發(fā)向網(wǎng)絡(luò)上的其他計(jì)算機(jī).在網(wǎng)絡(luò)比較弱的時(shí)候也能保證數(shù)據(jù)傳輸?shù)馁|(zhì)量,所以該系統(tǒng)選擇TCP 協(xié)議C/S 結(jié)構(gòu)的Linux Socket網(wǎng)絡(luò)編程[10].TCP 協(xié)議的編程流程圖如圖10.
圖10 TCP 協(xié)議的編程流程圖
以4G網(wǎng)絡(luò)為例.TCP 協(xié)議的Socket的服務(wù)器首先運(yùn)行,通過調(diào)用socket 函數(shù)創(chuàng)建一個(gè)Socket,然后調(diào)用bind 函數(shù)將其與本機(jī)地址以及一個(gè)本地端口號(hào)綁定,然后調(diào)用listen 函數(shù)在該Socket 上監(jiān)聽,等待客戶端的連接,接著調(diào)用accept 函數(shù)來接受連接服務(wù).客戶端程序先將接受的數(shù)據(jù)使用setsockopt 函數(shù)綁定到指定4G網(wǎng)絡(luò)端口,然后調(diào)用connect 函數(shù)和服務(wù)器建立連接,連接成功后客戶端和服務(wù)器之間調(diào)用send 和recv 來發(fā)送和接受數(shù)據(jù).最后,兩邊都關(guān)閉Socket.其中數(shù)據(jù)信息前兩位為溫度數(shù)據(jù),中間兩個(gè)空格,最后五位是電壓數(shù)據(jù).
手機(jī)端通信采用C/S模式Android 開發(fā)結(jié)合Socket 完成網(wǎng)絡(luò)通信.通信系統(tǒng)采用Android 6 版本,以JDK7+Eclipse+SDK 為開發(fā)環(huán)境,客戶進(jìn)入系統(tǒng)可以獲取WiFi 通信系統(tǒng)分配的IP 地址及設(shè)置通信端口號(hào)[11,12],啟動(dòng)創(chuàng)建可以接受到客戶端發(fā)來的電池電壓與工作溫度數(shù)據(jù).
數(shù)據(jù)采集采用3.3 V 電壓供電模擬電池實(shí)際5 V電壓,來測(cè)試電壓采集的數(shù)據(jù)如表2所示,電壓最大差約為0.33%,平均誤差為0.27%.采集的溫度數(shù)據(jù)與實(shí)際溫度沒有明顯的差距.由實(shí)驗(yàn)數(shù)據(jù)可以總結(jié)出,該系統(tǒng)采集性能良好,電壓與溫度數(shù)據(jù)誤差較小,比較好的完成對(duì)模擬電池的信息數(shù)據(jù)的讀取.
表2 模擬電池信息采集表
通過制定好的通信協(xié)議對(duì)測(cè)試數(shù)據(jù)打包,然后經(jīng)過嵌入式控制系統(tǒng)通過USB 接口傳到4G 通信模塊,通過4G 通信模塊向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù).如圖11,在客戶端運(yùn)行發(fā)送數(shù)據(jù)程序.
如圖12,Linux 服務(wù)器通過Internet網(wǎng)絡(luò)接受到客戶端發(fā)送來數(shù)據(jù)后采用制定好的協(xié)議解析,然后加上系統(tǒng)的日期和時(shí)間.
如圖13,PC 機(jī)服務(wù)器通過Internet網(wǎng)絡(luò)接受到客戶端發(fā)送來數(shù)據(jù)后采用制定好的協(xié)議解析,然后加上系統(tǒng)的日期和時(shí)間.
圖11 客戶端運(yùn)行狀態(tài)
圖12 服務(wù)器接收狀態(tài)
圖13 PC 機(jī)服務(wù)器接受狀態(tài)
手機(jī)通信服務(wù)端接受數(shù)據(jù)信息如圖14所示,每一條數(shù)據(jù)都占有客戶端不同的端口,并包含了每條數(shù)據(jù)發(fā)來的時(shí)間.
圖14 手機(jī)通信服務(wù)端接受效果
通過手機(jī)連接4G-WiFi 系統(tǒng)進(jìn)行測(cè)試.通過串口通信在LTE 制式下測(cè)試不同環(huán)境(第一組:室外,第二組:室內(nèi),第三組:地下車庫)的丟包率和往返延時(shí).測(cè)試結(jié)果如表3所示.
表3 LTE 制式下測(cè)試結(jié)果
本文系統(tǒng)在MINI2440 開發(fā)板上運(yùn)行Linux 操作系統(tǒng),將當(dāng)前階段網(wǎng)絡(luò)數(shù)據(jù)速率傳播最快的4G 移動(dòng)通信技術(shù)和常用的WiFi 無線通信技術(shù)結(jié)合起來,實(shí)現(xiàn)了可移動(dòng)強(qiáng),安全,操作簡(jiǎn)單等特點(diǎn),實(shí)現(xiàn)了溫度與電壓數(shù)據(jù)采集與傳輸,同時(shí)用戶可以隨時(shí)通過WiFi 終端連接上互聯(lián)網(wǎng),為客戶端解決了網(wǎng)絡(luò)信號(hào)差,網(wǎng)速慢的問題.特別是具有實(shí)時(shí)性較強(qiáng),設(shè)置簡(jiǎn)單和實(shí)現(xiàn)容易等優(yōu)點(diǎn),非常適合實(shí)時(shí)監(jiān)測(cè)的場(chǎng)景.