常 浩, 張 鍵, 王 彬
(中科芯集成電路有限公司, 江蘇 無錫 214072)
近年來電動車因其小巧方便、 節(jié)能環(huán)保等特點(diǎn),深受消費(fèi)者的喜愛,成為了很多人的代步工具[1]。 截至2017 年, 中國兩輪電動自行車社會保有量已達(dá)到2.5億輛。 電動車惠及大眾的同時(shí),易盜性也一直困擾著廣大車主,電動車自身防盜技術(shù)弱,銷贓快,追贓難,也給警務(wù)工作帶來了壓力[2]。 本文設(shè)計(jì)了一種車管家系統(tǒng), 利用先進(jìn)的物聯(lián)網(wǎng)通信技術(shù)和衛(wèi)星定位技術(shù),低成本地解決了電動車的定位、防盜、追蹤問題,對民眾的出行安全、公安的追贓等都起到了很大作用。
電動車管家系統(tǒng)的硬件主要由MCU 主控模塊、溫度采集模塊、電壓采樣模塊、控制器通信模塊、窄帶物聯(lián)網(wǎng)(NB-IoT)通信模塊、GPS 模塊組成,其功能框架如圖1 所示。
圖1 系統(tǒng)功能框架圖
直流電源部分采用SL3036 芯片將電動車電池電壓24~96 V 轉(zhuǎn)化為5 V 電壓,5 V 電壓再通過LDO 轉(zhuǎn)化為3.3 V 電壓,給控制MCU 部分進(jìn)行供電,直流電源電路如圖2 所示。
MCU 選用中科芯集成電路有限公司CKS32F103C8T6 標(biāo)準(zhǔn)型MCU 系列, 使用高性能的ARM?CortexTM-M3 32 位的RISC 內(nèi)核, 工作頻率為72 MHz,具有128 kB 的閃存和20 kB 的SRAM。 其中包含2 個(gè)12 位ADC、 3 個(gè)通用16 位定時(shí)器和1 個(gè)PWM 定時(shí)器、2 個(gè)I2C 接口 和SPI 接口、3 個(gè)USART接口。
圖2 電源部分原理圖
GPS 定位電路采用的是瑞士u-blox 公司研發(fā)的NEO-M8 芯片, 可用于同時(shí)接收GPS、GLONASS、北斗信號[3]。 該接收模塊具有功耗低、重量輕、定位速度快、導(dǎo)航精度高等特點(diǎn)。 NEO-M8 系列提供了高靈敏度和低電壓供應(yīng)下的最小反應(yīng)時(shí)間,同時(shí)為價(jià)格敏感的應(yīng)用做了優(yōu)化[4]。
GPS 定位電路如圖3 所示。
NB-IoT 通信電路采用中怡數(shù)寬TPB21-5 和外置天線構(gòu)成。 TPB21 系列模組應(yīng)用于NB-IoT, 基于3GPP Rel.13 協(xié)議,與各運(yùn)營商基站進(jìn)行溝通互聯(lián)。 模塊工作電壓為3.1~4.2 V,功耗低,信號強(qiáng)度高。NB-IoT技術(shù)支持大量低功耗設(shè)備通過蜂窩數(shù)據(jù)建立廣域連接,更加適合智能家居、共享單車、物流追蹤等場景[5]。NB-IoT 通信模塊原理圖如圖4 所示。
圖4 NB-IoT 通信模塊原理圖
NB-IoT 無線通信模塊通過串口與MCU 進(jìn)行數(shù)據(jù)交互,串口選擇UART2。NB-IoT 無線通信模塊從基站或管理平臺接收信號,將接收到的數(shù)據(jù)或指令傳輸給終端,并將終端回饋的數(shù)據(jù)或指令回傳給基站或管理平臺[6]。
震動電路選用滾珠類震動傳感器,傳感器內(nèi)部為金屬球的金屬導(dǎo)體,常閉的震動傳感器在靜止水平狀態(tài)時(shí)外部引腳呈現(xiàn)閉合狀態(tài),當(dāng)發(fā)生震動時(shí),內(nèi)部的金屬球會相互發(fā)生碰撞,從而使外部引出電極發(fā)生斷開的狀態(tài)變化。 通過MCU 檢測外部高低電平來監(jiān)測車輛是否發(fā)生震動。
車管家軟件流程如圖5 所示。系統(tǒng)軟件初始化后,車管家定時(shí)與電動車控制器進(jìn)行交互,獲取電動車電機(jī)狀況,車管家對電動車電壓、溫度、震動、故障、報(bào)警等狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測并定時(shí)通過NB-IoT 通信模塊上傳至云服務(wù)器,若出現(xiàn)故障、報(bào)警、震動等狀況時(shí)立即將相關(guān)數(shù)據(jù)上傳云服務(wù)器。 此外車管家還配有測試模式,測試模式打印數(shù)據(jù)僅供工廠測試生產(chǎn)用,查看板卡數(shù)據(jù)輸出,方便車管家生產(chǎn)測試管控。
圖5 車管家軟件流程圖
車管家終端無線通信協(xié)議支持NB-IoT 接入方式, 終端采集的數(shù)據(jù)需要通過NB-IoT 通信模塊上傳至云服務(wù)器端,通信數(shù)據(jù)幀格式主要分為兩種命令格式,一種為云服務(wù)器和終端的通用應(yīng)答指令,另一種為終端接收云服務(wù)器發(fā)起的控制指令以及終端主動監(jiān)測并上報(bào)狀態(tài)的指令[7]。
通用應(yīng)答指令包含NB-IoT 平臺應(yīng)答指令和終端車管家應(yīng)答指令,數(shù)據(jù)幀格式如表1 所示。
表1 通用應(yīng)答數(shù)據(jù)幀格式
上報(bào)及控制指令包含NB-IoT 平臺下發(fā)的控制指令、NB-IoT 平臺下發(fā)的配置參數(shù)指令和終端上報(bào)的數(shù)據(jù)指令,數(shù)據(jù)格式如表2 所示。
表2 控制及上報(bào)指令數(shù)據(jù)幀格式
數(shù)據(jù)幀格式中主要數(shù)據(jù)的意義如下所示。
(1) 消息指令碼表示消息指令的功能, 通過消息指令碼參數(shù)決定實(shí)現(xiàn)的功能。 每個(gè)功能對應(yīng)唯一的消息指令碼,部分消息指令碼如表3 所示。
表3 部分消息指令碼表
(2) 消息流水號表示數(shù)據(jù)幀的序號, 每個(gè)數(shù)據(jù)幀的消息流水號依次加1。
(3) 結(jié)果表示應(yīng)答結(jié)果,0x01 表示成功,0x05 表示不支持該命令,其他表示失敗。
(4) 數(shù)據(jù)長度表示數(shù)據(jù)幀的長度。
(5) 數(shù)據(jù)包表示數(shù)據(jù)的內(nèi)容, 不同的消息指令碼對應(yīng)不同的功能數(shù)據(jù)包。 例如當(dāng)消息碼為平臺控制指令時(shí),數(shù)據(jù)包0x01 表示鎖車,0x02 表示解鎖車輛。
電動車控制器和車管家MCU 采用串口UART3通信,波特率為9600。 電動車運(yùn)行時(shí),車管家定時(shí)通過與控制器串口通訊獲取電動車的轉(zhuǎn)速、故障狀態(tài)(控制器故障、電機(jī)霍爾故障、剎車故障)、電動車運(yùn)行狀態(tài)(電流、速度)等數(shù)據(jù)。當(dāng)MCU 收到服務(wù)器的遠(yuǎn)程鎖車/解鎖命令時(shí),MCU 按照通訊協(xié)議幀格式打包鎖車/ 解鎖命令給控制器執(zhí)行相應(yīng)操作。 MCU 定時(shí)與控制器進(jìn)行串口交互,采用定時(shí)器6 產(chǎn)生10 ms 的定時(shí)中斷,控制器通訊流程如圖6 所示。
圖6 車管家與控制器通信流程
NB-IoT 無線通信模塊通過串口2 與MCU 進(jìn)行數(shù)據(jù)交互,波特率為9600。 當(dāng)車管家需要上傳服務(wù)器數(shù)據(jù)時(shí),NB-IoT 無線通訊模塊將車管家采集的控制器數(shù)據(jù)打包成車管家通訊數(shù)據(jù)幀格式上傳至服務(wù)器,無線模塊接收服務(wù)器的遠(yuǎn)程數(shù)據(jù)采用的是UART2 串口中斷接收。
軟件流程如圖7 所示。
圖7 NB-IoT 無線通信模塊
串口中斷函數(shù)用于接收服務(wù)器下發(fā)的命令,當(dāng)車管家接收到APP 服務(wù)器下發(fā)的鎖車/ 解鎖等命令后,對收到的命令數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)成功后打包發(fā)送給控制器執(zhí)行命令,并回復(fù)服務(wù)器響應(yīng)成功的報(bào)文。
運(yùn)用上述開發(fā)方法完成電動車管家設(shè)計(jì),對該車管家系統(tǒng)進(jìn)行測試,將車管家安裝在電動車上,車管家從電動車電池取電, 車管家定時(shí)上報(bào)電動車位置、車輛狀態(tài)、故障報(bào)警等信息。 測試需配合配套APP 進(jìn)行,測試APP 界面如圖8 所示。 APP 主界面實(shí)時(shí)顯示車管家上傳的電動車電量、位置,通過點(diǎn)擊鎖車和解鎖按鍵,可以實(shí)現(xiàn)對綁定的電動車進(jìn)行遠(yuǎn)程的關(guān)鎖和開鎖功能。
圖8 測試APP 界面
基于CKS32F103 和NB-IoT 通信模塊的電動車管家是一款專門為電動車智能管理而設(shè)計(jì)開發(fā)的無線物聯(lián)網(wǎng)終端,尺寸小,安裝方便,內(nèi)置高性能GPS 和北斗定位模塊,寬電壓的設(shè)計(jì)基本適用于市面上大部分電動車。 采用低功耗的窄帶物聯(lián)網(wǎng)技術(shù),適合更多的應(yīng)用場景。 終端采集的信息實(shí)時(shí)傳輸?shù)皆贫耍贫送ㄟ^APP 把相關(guān)信息推送給用戶,推動了電動車現(xiàn)代化、智能化的管理。