楊寶男,劉金東,楊 兵
(西京學(xué)院 計算機學(xué)院,陜西 西安 710123)
隨著汽車工業(yè)的快速發(fā)展和汽車保有量迅速增加,現(xiàn)代汽車技術(shù)的升級已經(jīng)進入“車聯(lián)網(wǎng)”的智能時代,也就是將車輛融入物聯(lián)網(wǎng)和互聯(lián)網(wǎng),使車輛的使用更安全、更經(jīng)濟、更穩(wěn)定、更可靠[1-2]。當車輛性能下降和有故障出現(xiàn)時就需要及時、快速、可靠地恢復(fù)和排除,由于車輛技術(shù)先進和配置高檔,給維修技師帶來了較大困難[3],因此需要在車聯(lián)網(wǎng)技術(shù)中應(yīng)用車載智能終端診斷系統(tǒng)。
隨著遠程診斷技術(shù)的發(fā)展,車輛智能終端診斷系統(tǒng)接口與移動App相結(jié)合的模式已經(jīng)被廣泛應(yīng)用,但該技術(shù)在智能聯(lián)網(wǎng)車輛中的應(yīng)用相對較少。通過移動終端讀取車輛運行參數(shù),實現(xiàn)對車輛運行狀態(tài)的故障云診斷,以較低的成本實現(xiàn)傳統(tǒng)智能聯(lián)網(wǎng)車輛的功能,降低智能聯(lián)網(wǎng)車輛的開發(fā)成本,為智能聯(lián)網(wǎng)車輛的設(shè)計提供新的角度。
針對目前車輛在車輛狀態(tài)診斷等方面存在的不足,設(shè)計了一款具有車輛故障診斷、在線升級、定位等功能的車輛智能監(jiān)控系統(tǒng)。該系統(tǒng)包括3部分:車載終端、移動App和云服務(wù)器。構(gòu)建了車輛狀態(tài)實時監(jiān)測網(wǎng)絡(luò)系統(tǒng),設(shè)計了車輛終端的總體框架。移動App使用MQTT協(xié)議與車載終端和云服務(wù)器傳輸信息,遠程實時監(jiān)控車輛,通過4G網(wǎng)絡(luò)下載升級文件,通過CAN總線升級第三方設(shè)備。
圖1為車載智能監(jiān)測系統(tǒng)總體設(shè)計,該系統(tǒng)包括3部分:車載終端、移動App和云服務(wù)器。車載設(shè)備由4G通信卡板與傳感器信息采集板卡組成,兩張板卡通過CAN協(xié)議進行通信,這樣的設(shè)計是為了提供更大的兼容性,設(shè)計單獨的4G通信板卡可以通過CAN 給更多的設(shè)備進行升級,每個車載終端都安裝物聯(lián)網(wǎng)卡,可以通過4G通信進行車輛的相關(guān)參數(shù)傳輸,也可以在車輛更換了傳感器,缺少新傳感器的驅(qū)動程序無法對新傳感器進行識別時,把更新的固件程序掛載在云服務(wù)器上。通過App發(fā)送的相關(guān)指令對新的固件程序進行在線燒寫,并具有GPS定位的功能。當4G網(wǎng)絡(luò)穩(wěn)定時,車載終端負責通過4G網(wǎng)絡(luò)向云服務(wù)器發(fā)送車輛位置信息、車輛故障信息等。云服務(wù)器負責信息的存儲和轉(zhuǎn)發(fā)。車主需要在自己的智能手機上安裝終端助手軟件,這樣就可以“形影不離”,隨時隨地監(jiān)控車輛狀態(tài)。
圖1 車載智能監(jiān)測系統(tǒng)總體設(shè)計
CAN是控制器局域網(wǎng)絡(luò)[4],它由BOSCH公司開發(fā),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。近年來,因其具有高可靠性和良好的錯誤檢測能力受到重視,被廣泛應(yīng)用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強及振動大的工業(yè)環(huán)境。
與具有時鐘信號的同步通信方式,如I2C,SPI等不同,CAN通信是一種僅使用CAN_High和CAN_Low信號線的異步通信,它們共同構(gòu)成一組差分信號線,以差分信號的形式進行通信。
CAN物理層的形式主要有兩種,本文選用的CAN通信網(wǎng)絡(luò)是一種遵循ISO11898標準的高速、短距離“閉環(huán)網(wǎng)絡(luò)”,它的總線最大長度為40 m,通信速度最高為1 Mbps,總線的每一端都需要一個120 Ω的電阻。
4G物聯(lián)網(wǎng)模塊是將硬件配置加載到特定頻段,軟件適用于標準LTE協(xié)議,硬件軟件高寬比集成化模組化的一種商品的通稱。它具有通信速度快、網(wǎng)絡(luò)帶寬寬、通信方便等特點。硬件配置將射頻和基帶芯片集成在一塊PCB板上,實現(xiàn)無線網(wǎng)絡(luò)中基帶信號的接收、發(fā)送和解決。4G物聯(lián)網(wǎng)模塊通過高速連接網(wǎng)絡(luò)將所有終端設(shè)備和機器設(shè)備運行的業(yè)務(wù)流程數(shù)據(jù)信息實時傳輸?shù)綐I(yè)務(wù)流程管理中心,按照管理方法監(jiān)控管理平臺,實時監(jiān)控智能終端的運行情況,能夠及時檢查機器設(shè)備的常見故障。從運營成本、運營規(guī)模、服務(wù)項目及時性等方面提高效率。
App背后的邏輯完全由Appinventor[5]編寫,其程序流程如圖2所示,在程序編寫過程中需要注意,在切換屏幕的時候MQTT客戶端會跟百度云服務(wù)器斷開。
這是因為每個屏幕的MQTT控件的客戶端標識一致,修改后恢復(fù)正常。為了避免整個程序一直在查詢是否有客戶端斷開,造成系統(tǒng)響應(yīng)卡死,此時需要創(chuàng)建一個后臺線程來監(jiān)控服務(wù)器連接情況。
連接到服務(wù)器后,App需要訂閱相關(guān)主題才能接收到數(shù)據(jù)。
本設(shè)計有3個主題,分別是下位機用來上傳數(shù)據(jù),App發(fā)布升級請求,下位機用來發(fā)布升級完成的信息。
在使用高德地圖定位時,當服務(wù)器接收到NEMA格式的GPS數(shù)據(jù)后,需要將數(shù)據(jù)處理成高德地圖能識別的格式才能調(diào)用高德API接口函數(shù)。在高德地圖API的使用過程中,高德開發(fā)者控制臺需要對應(yīng)用的SHA1碼和應(yīng)用包進行填寫,否則應(yīng)用無法使用。
3.2.1 通信板卡程序設(shè)計
(1)通信板卡的數(shù)據(jù)通信程序。
另一方面,“一帶一路”背景下的高等教育國際化發(fā)展又面臨著一些新的問題。如需進一步深化課程教學(xué)的改革,將國際意識和能力的強化滲透到課程教學(xué)與科研當中,將“一帶一路”國家和地區(qū)的有關(guān)情況作為應(yīng)用情景,培養(yǎng)學(xué)生運用知識和能力去分析和處理國際事務(wù)的能力。又如建立國際化的師資隊伍,引入國外師資力量,提升國內(nèi)教師的國際化視野等等。如何“吐故納新,中外結(jié)合”將會是我國高等教育改革的一大挑戰(zhàn)。
本次設(shè)計使用的是ML302 Cat.1模組中帶有定位功能的GNLM版本。使用衛(wèi)星定位和通信二合一模組,通常會比使用獨立的通信模組加衛(wèi)星定位模塊更加節(jié)省PCB的版面面積,減少電路的外圍元件。
本次連接服務(wù)器采用MQTT協(xié)議進行連接。ML302內(nèi)置MQTT協(xié)議的適配,僅僅使用簡單的AT指令就可完成與服務(wù)器之間的通信。模組首先要進行開機然后初始化配置。初始化完成后檢查SIM卡駐網(wǎng)情況等,與服務(wù)器之間的交互使用緩存模式。
當服務(wù)器發(fā)布主題或者發(fā)送消息時,模組會有提示,檢測到相應(yīng)的提示后,通信板卡會進行對應(yīng)操作或者任務(wù)。
通信板卡接收到CAN總線上傳輸過來的模擬數(shù)據(jù)時會自動進行。
下載是收到服務(wù)器的通知命令后,與服務(wù)器進行一系列的握手認證等操作,然后開始進入數(shù)據(jù)下發(fā)和接收流程,升級包的內(nèi)容包含包頭、流水號、數(shù)據(jù)、單包CRC校驗等,數(shù)據(jù)的大小為1 K。
(2)通信板卡的通過CAN的UDS。
通信板卡使用CAN總線的標準ID進行通信,每次通信傳輸為 8個字節(jié)。
通信板卡與數(shù)據(jù)板卡的信息交互:使用標準 ID,每次傳輸 8個字節(jié),每個字節(jié)0~255的范圍,一幀的報文數(shù)據(jù)就足夠本作品當前演示的采集內(nèi)容交互。
通信板卡與數(shù)據(jù)板卡的刷寫升級:參考UDS協(xié)議,使用0×10服務(wù)切換會話模式。使用0×27安全訪問服務(wù)交換種子驗證密鑰。使用0×34,0×36,0×37,0×31等服務(wù)完成請求下載、傳輸數(shù)據(jù)、請求傳輸退出。下載完所有字節(jié)后,用CRC校驗本次數(shù)據(jù)傳輸?shù)耐暾?。最后使用服?wù)0×11服務(wù)重啟完成升級。
3.2.2 數(shù)據(jù)采集板卡程序設(shè)計
數(shù)據(jù)采集板卡的程序主要是對傳感器的數(shù)據(jù)進行采集,其程序流程如圖3所示,通過數(shù)據(jù)采集板卡的STM32單片機的外部中斷對電機驅(qū)動產(chǎn)生的脈沖進行采集從而進行計數(shù),電機驅(qū)動板VCC接3.3 V,脈沖輸出的頻率為1 kHz左右,根據(jù)電機驅(qū)動說明書頻率除以4得到電機的轉(zhuǎn)速。
圖3 數(shù)據(jù)采集板卡程序流程
溫度傳感器DS18B20是通過1 wire協(xié)議進行通信,且時序十分嚴格,由于溫度這種物理量變化緩慢,所以對DS18B20的讀取應(yīng)該有一定間隔,開啟定時器對DS18B20間隔一定時間進行讀取。
油量跟電壓的模擬是根據(jù)通過電位器,ADC對模擬的電量進行采集,在做 ADC采集的時候應(yīng)該注意選擇采樣時間,如果采樣時間不合理,可能會產(chǎn)生較大的采樣誤差。ADC采樣需要給內(nèi)部電容較小的電容充電,當外部阻抗(信號調(diào)理電路輸入到ADC引腳的輸出阻抗)較大時,電流相對較小,充電時間相對較長。
根據(jù)實際判斷,ADC對電位器進行采樣的周期最終選擇為55.5個周期。數(shù)據(jù)采集完成后,數(shù)據(jù)采集板通過CAN協(xié)議與通信板進行通信。當上位機發(fā)送升級指令給數(shù)據(jù)采集板卡升級的時候,通信板卡下載數(shù)據(jù)板卡的升級包到flash,通信板卡向數(shù)據(jù)采集板卡發(fā)送相關(guān)命令,使數(shù)據(jù)板卡的MCU跳轉(zhuǎn)到提前分好的 BOOT區(qū)域,在BOOT區(qū)域的程序中通過CAN傳輸升級包的數(shù)據(jù)給單片機另外一塊新的flash區(qū)域,傳輸完畢后雙方會比對CRC的校驗結(jié)果,當雙方的CRC校驗結(jié)果均相等,說明本次數(shù)據(jù)傳輸完整,可以進行升級。
此時BOOT會清除需要升級的Flag標志位,開始將程序從存儲分區(qū)搬運到啟動分區(qū),搬運完成后BOOT會再次進行CRC校驗,確認文件搬運完整后會再次復(fù)位,此時BOOT會跳轉(zhuǎn)到新的程序運行。
本系統(tǒng)設(shè)計方案基于車聯(lián)網(wǎng)技術(shù),實現(xiàn)智能終端、云端與移動用戶端之間的數(shù)據(jù)傳輸與控制,具有應(yīng)用范圍廣、數(shù)據(jù)傳輸及時、可擴展性等特點。該系統(tǒng)能有效地解決車輛故障無法及時處理的問題,能有效地避免車輛故障造成的危害,讓車主更直接地了解車輛情況。