国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式Linux的整車控制器硬件在環(huán)遠程測試系統(tǒng)的設(shè)計

2022-07-15 09:54鄒慶勇龔元明
智能計算機與應(yīng)用 2022年7期
關(guān)鍵詞:整車云端客戶端

鄒慶勇,龔元明

(上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院,上海 201620)

0 引 言

環(huán)境污染、能源短缺問題越來越嚴(yán)重,電動汽車由于在節(jié)能、環(huán)保方面的突出優(yōu)勢越來越得到人們的青睞,傳統(tǒng)車企和新興車企都開始將電動汽車作為未來發(fā)展的方向。然而,作為電動汽車控制中心的整車控制器功能復(fù)雜、安全性要求嚴(yán)格,在軟件開發(fā)的過程中涉及大量的測試工作,因此開發(fā)周期較長、成本高。為了提高汽車控制器的開發(fā)效率,目前,比較常用的方式是采用硬件在環(huán),通過硬件在環(huán)仿真測試平臺對控制器不斷測試優(yōu)化,但僅僅依賴傳統(tǒng)的硬件在環(huán)仿真測試平臺,測試用例的創(chuàng)建和測試數(shù)據(jù)的分析等測試工作往往只能由現(xiàn)場測試人員完成,難以實現(xiàn)更多的人員快速參與到汽車控制器的開發(fā)工作中。如果采取遠程測試的方案,則會更大發(fā)揮整車控制器硬件在環(huán)測試的優(yōu)越性,提高整車控制器的開發(fā)效率。因此,本文提出了一種基于嵌入式Linux的整車控制器硬件在環(huán)遠程自動測試系統(tǒng),主要包括遠程診斷測試中心和現(xiàn)場測試終端,現(xiàn)場測試終端設(shè)備通過OBD接口與硬件在環(huán)仿真平臺相連。通過該系統(tǒng),遠程測試人員可以遠程創(chuàng)建診斷測試用例、開展測試。

1 整車控制器硬件在環(huán)遠程測試系統(tǒng)概述

該遠程測試系統(tǒng)由遠程客戶端、云端服務(wù)器和現(xiàn)場測試終端構(gòu)成。遠程客戶端通過與測試人員的交互實現(xiàn)所需測試內(nèi)容、CAN通訊配置信息的輸入以及測試結(jié)果的顯示。云端服務(wù)器程序分為網(wǎng)站后端程序和與現(xiàn)場測試終端通信的TCP服務(wù)器程序,網(wǎng)站后端程序用于存儲測試人員的測試命令和測試內(nèi)容,TCP服務(wù)器程序用于及時監(jiān)測診斷測試指令,做出響應(yīng)、接收現(xiàn)場測試終端的測試結(jié)果并存儲于數(shù)據(jù)庫中?,F(xiàn)場測試終端用于接收測試內(nèi)容,根據(jù)UDS協(xié)議和CAN通訊配置參數(shù)構(gòu)建診斷測試CAN報文,通過與硬件在環(huán)仿真平臺進行數(shù)據(jù)的交互從而實現(xiàn)對整車控制器的診斷測試。

硬件在環(huán)遠程測試系統(tǒng)的整體結(jié)構(gòu)如圖1所示。

圖1 硬件在環(huán)遠程測試系統(tǒng)整體結(jié)構(gòu)圖Fig.1 The overall structure of the hardware in-the-loop remote test system

硬件在環(huán)仿真系統(tǒng)選用dSPACE平臺,德國dSPACE公司研發(fā)的dSPACE實時仿真系統(tǒng)準(zhǔn)確穩(wěn)定、操作簡便、功能強大。該整車控制器硬件在環(huán)仿真測試系統(tǒng)的主要功能是通過仿真模型等模擬整車控制器的運行環(huán)境,接收控制器的輸出信號,為控制器提供所需的輸入信號。硬件在環(huán)仿真平臺有OBD接口,現(xiàn)場測試終端可以通過CAN轉(zhuǎn)OBD接入整車控制器硬件在環(huán)仿真平臺,實現(xiàn)與仿真平臺的數(shù)據(jù)交互。

2 現(xiàn)場測試終端設(shè)計

為了實現(xiàn)對硬件在環(huán)仿真平臺中的整車控制器的診斷測試,通過CAN總線接入到仿真平臺中整車控制系統(tǒng)中,通過CANID選擇整車控制器進行測試。由于現(xiàn)場測試終端需要和云端TCP服務(wù)器程序通訊,而且需要較快的通信速度,所以現(xiàn)場測試終端選用以太網(wǎng)模塊。現(xiàn)場測試終端需要提供圖形交互界面,便于用戶操作,實現(xiàn)與云端服務(wù)器的連接、測試狀態(tài)及測試結(jié)果,故需要觸摸顯示屏。

另外,由于該遠程測試系統(tǒng)要求具有較高測試精度,現(xiàn)場測試終端需要具備較強的處理能力以便與控制器快速通信、數(shù)據(jù)的解析處理及上傳測試結(jié)果。為了支持復(fù)雜的應(yīng)用程序,現(xiàn)場測試終端選用嵌入式Linux操作系統(tǒng),其硬件平臺的結(jié)構(gòu)設(shè)計如圖2所示。

圖2 現(xiàn)場測試終端硬件平臺的結(jié)構(gòu)設(shè)計Fig.2 The structure design of field test terminal hardware platform

2.1 現(xiàn)場測試終端硬件選型

2.1.1 嵌入式微處理器的選擇

基于Cortex-A7內(nèi)核的MCIMX6Y2CVM05AB處理器是恩智浦公司推出的一款高性能的工業(yè)級處理器,該處理器的主頻高達800 MHz,帶有2個FlexCAN、1個RGB_LCD控制器、兩個10/100 M以太網(wǎng)MAC控制器等,還提供多種內(nèi)存接口,包括DDR3、NAND flash、EMMC接口等。本文通過MMDC接口和EMMC接口擴展了512 MB的DDR3內(nèi)存和8 G的存儲Flash。

2.1.2 存儲器的選擇

(1)非易失存儲器。為了使搭建的硬件平臺具有更好的性能,需要為處理器搭配一個存儲芯片,以便于存儲數(shù)據(jù)和操作系統(tǒng),常見的非易失性存儲芯片有NAND Flash、NOR Flash和EMMC等。其中,NOR Flash寫入和擦除速度較低,NAND Flash寫入和擦除速度較快,但是其對處理器的要求較高,數(shù)據(jù)傳輸時常常需要主機具備相應(yīng)的控制器。為了充分發(fā)揮NAND Flash的優(yōu)點,同時又不對處理器提出特殊要求,本文選用將NAND FLASH和控制芯片封裝在一塊的EMMC作為非易失存儲器。EMMC內(nèi)部分為3部分,分別為Flash Memory、Flash Controller和Host Initerface。

(2)內(nèi)存芯片。MCIMX6Y2CVM05AB處理器自帶的RAM比較小,只有128 KB的OCRAM,故需要外接一個RAM芯片。MCIMX6Y2CVM05AB處理器自帶MMDC接口,可以方便地實現(xiàn)外接DDR3L或DDR3存儲芯片,綜合考慮存儲芯片的性能和使用電壓,選擇DDR3L存儲芯片作為外接的RAM芯片。

2.1.3 以太網(wǎng)模塊

MCIMX6Y2CVM05AB處理器內(nèi)部集成了兩個MAC控制器,系統(tǒng)選擇使用第二個MAC,支持10/100 Mbit/S的動態(tài)配置,可以實現(xiàn)3層網(wǎng)絡(luò)加速,支持加速的網(wǎng)絡(luò)協(xié)議包含TCP和IP等;實現(xiàn)數(shù)據(jù)的收發(fā)需要外加一個PHY芯片,PHY芯片選擇LAN8720A,該芯片一端和MAC控制器相連,另一端通過變壓器和RJ45相連。MAC控制器和PHY芯片的數(shù)據(jù)傳輸分為MII接口和RMII接口。由于MII接口所需信號線較多,比RMII接口多出9根信號線,本系統(tǒng)選擇了RMII接口。另外,MAC控制器還需要對PYH芯片進行配置和寄存器讀取,實現(xiàn)這部分功能的通信接口是MDIO接口。

芯片上MAC和LAN8720A的連接框圖如圖3所示。

圖3 MAC和LAN8720的連接框圖Fig.3 Connection block diagram of MAC and lan8720

2.1.4 LCD顯示器

MCIMX6Y2CVM05AB處理器自帶有一個顯示屏接口eLCDIF,該接口支持RGB接口的LCD顯示屏。另外,該處理器自帶的顯示屏接口支持RGBLCD的DE模式和VSYNC模式,可以實現(xiàn)數(shù)據(jù)的高速傳輸。

RGBLCD由RGB三原色像素構(gòu)成,不同比重的RGB組合成不同的顏色,當(dāng)全亮?xí)r為白色,全暗時為黑色。LCD顯示器顯示信息豐富、功耗低,選用星翼電子推出的4.3寸電容觸摸顯示屏,分辨率為800×480,并行24位RGB接口,工作芯片為GT9147。

2.1.5 CAN通信模塊

CAN全稱Controller Area Network,廣泛應(yīng)用于汽車電子、工業(yè)自動化等方面。CAN作為一種串行通信方式,數(shù)據(jù)的傳輸穩(wěn)定可靠、傳輸速率塊、傳輸距離遠。CAN通信最高速度達到1 Mbps,最遠傳輸10 KM。實現(xiàn)CAN通信需要CAN控制器和CAN收發(fā)器共同完成。MCIMX6Y2CVM05AB處理器內(nèi)部已經(jīng)包含了CAN控制器FlexCAN,只需外加一個CAN收發(fā)器即可。本系統(tǒng)中,CAN收發(fā)器選用的是耐用、穩(wěn)定性好并且傳輸速率快的TLE6250GV33型號芯片。

2.2 現(xiàn)場測試終端軟件設(shè)計

現(xiàn)場測試終端和云端服務(wù)器程序進行數(shù)據(jù)的收發(fā)采用的是TCP Socket通訊。Socket是一種客戶端和服務(wù)器程序間進行通信的機制,為TCP/IP通信協(xié)議提供了獨立的網(wǎng)絡(luò)編程接口,應(yīng)用程序通過調(diào)用這些網(wǎng)絡(luò)編程接口實現(xiàn)計算機之間的數(shù)據(jù)傳輸。

現(xiàn)場測試終端軟件設(shè)計主要的功能模塊有:

(1)測試內(nèi)容的接收和存儲模塊;

(2)現(xiàn)場測試終端對硬件在環(huán)仿真測試平臺中的整車控制器進行診斷測試和結(jié)果上傳模塊。

現(xiàn)場測試終端軟件流程圖如圖4所示。

圖4 現(xiàn)場測試終端軟件流程圖Fig.4 Flow chart of software for field test terminal

2.2.1 存儲模塊設(shè)計

Sqlite數(shù)據(jù)庫體積小、性能穩(wěn)定且使用簡單,是非常適合嵌入式設(shè)備的輕量數(shù)據(jù)庫。Sqlite程序與測試終端應(yīng)用程序共用一個進程空間,使用方便簡單。另外,現(xiàn)場測試終端的應(yīng)用程序使用QT編寫,QT是一種跨平臺的C++圖形用戶界面應(yīng)用程序開發(fā)框架,具有豐富的模塊,其中QT SQL模塊可以方便地實現(xiàn)對Sqlite數(shù)據(jù)庫的各種操作。在QT內(nèi)借助QtSql模塊所包含的各種類來實現(xiàn)對Sqlite數(shù)據(jù)庫的各種操作。因此,現(xiàn)場測試終端選擇Sqlite作為存儲測試數(shù)據(jù)的數(shù)據(jù)庫。

2.2.1.1 CAN通訊配置參數(shù)表

ECU動態(tài)數(shù)據(jù)流獲取功能測試模塊使用的CAN通訊配置參數(shù)表的字段主要有幀類型、數(shù)據(jù)標(biāo)識符個數(shù)和狀態(tài)參數(shù)上傳周期period等,見表1。

表1 CAN通訊配置參數(shù)表Tab.1 CAN communication configuration parameter table

2.2.1.2 DID數(shù)據(jù)表

DID數(shù)據(jù)表主要存儲獲取的狀態(tài)參數(shù)對應(yīng)的數(shù)據(jù)標(biāo)識符,見表2。

表2 DID數(shù)據(jù)表Tab.2 DID data sheet

2.2.2 現(xiàn)場測試終端診斷測試模塊設(shè)計

現(xiàn)場測試終端接收全部測試內(nèi)容后,會向云端TCP服務(wù)端程序發(fā)送存儲完畢信號,云端服務(wù)器接收到該信號,將向測試終端發(fā)送“所有測試信息都已發(fā)送并開啟測試”命令,此時,診斷測試過程開始。

診斷測試模塊由子線程執(zhí)行相應(yīng)診斷測試函數(shù)實現(xiàn),滿足遠程測試人員隨時執(zhí)行停止測試和重新測試等的要求,使得系統(tǒng)更加靈活。

當(dāng)用戶退出測試以后,軟件會清理測試過程中創(chuàng)建的數(shù)據(jù)表、初始化仿真測試平臺,關(guān)閉負責(zé)診斷測試的子線程,最后向云端發(fā)送退出完成回復(fù)。

整車控制器通過不斷獲取汽車的狀態(tài)信息,可以更好的實現(xiàn)對汽車的控制,還可以將一部分狀態(tài)數(shù)據(jù)提供給駕駛員,比如:轉(zhuǎn)速,車速等使其對汽車的運行狀態(tài)有更清晰的了解。因此,整車控制器應(yīng)能夠及時準(zhǔn)確地獲取汽車的狀態(tài)參數(shù),通過車輛狀態(tài)參數(shù)獲取功能測試即可判斷VCU是否可以實現(xiàn)這一重要功能。在對VCU狀態(tài)參數(shù)的獲取功能進行測試時,主要使用的數(shù)據(jù)傳輸服務(wù)為ReadDataByIdentifier(0x22)。

3 云端TCP服務(wù)器軟件設(shè)計

云端TCP服務(wù)器軟件用于為現(xiàn)場測試終端提供完整的診斷測試服務(wù),包括測試內(nèi)容的發(fā)送以及測試結(jié)果的接收等。

測試內(nèi)容發(fā)送及測試結(jié)果接收模塊程序流程圖如圖5所示。TCP服務(wù)器程序接收到現(xiàn)場測試終端查詢是否已啟動測試的命令之后,通過創(chuàng)建子線程定時從相關(guān)數(shù)據(jù)表中查詢用戶的測試啟動命令,一旦檢測到啟動信號,立即向TCP客戶端發(fā)送“測試人員已啟動測試”信號,發(fā)送成功之后,線程結(jié)束。在線程檢測啟動信號的過程中,由于TCP服務(wù)端仍然可以正常接收TCP客戶端信息,如心跳包,所以TCP客戶端和服務(wù)端可以始終保持正常連接狀態(tài)。

圖5 測試內(nèi)容發(fā)送和測試結(jié)果接收程序流程圖Fig.5 Flow chart of the procedure for sending test content and receiving test results

“測試人員已啟動測試”信號發(fā)送成功后,TCP服務(wù)端將接收到獲取測試內(nèi)容的命令,這時,需要創(chuàng)建子線程,用于發(fā)送測試內(nèi)容等。

4 遠程客戶端設(shè)計

遠程客戶端和后端服務(wù)器程序采用B/S架構(gòu)。網(wǎng)站的開發(fā)使用Django。Django使用的是MTV架構(gòu),即Model、Template和View。其中Model負責(zé)網(wǎng)站的數(shù)據(jù)存儲,通過Modle可以輕松實現(xiàn)網(wǎng)站和數(shù)據(jù)庫的數(shù)據(jù)交互;Template下存放html文件,即前端網(wǎng)頁的內(nèi)容,其和負責(zé)網(wǎng)頁顯示樣式的css文件以及負責(zé)網(wǎng)頁邏輯功能的js文件共同構(gòu)成一個完整的前端網(wǎng)頁;View負責(zé)對數(shù)據(jù)的邏輯處理,負責(zé)實現(xiàn)前端網(wǎng)頁的跳轉(zhuǎn)和用戶命令的接收、處理以及結(jié)果的反饋。

車輛狀態(tài)參數(shù)獲取功能測試界面用于創(chuàng)建所要獲取的車輛狀態(tài)參數(shù),以及實時顯示車輛的各種狀態(tài)。用戶創(chuàng)建好CAN通訊配置信息以及需要讀取的車輛狀態(tài)參數(shù)后,系統(tǒng)將各狀態(tài)參數(shù)對應(yīng)的數(shù)據(jù)標(biāo)識符以及讀取車輛狀態(tài)的命令等信息發(fā)送至云端數(shù)據(jù)庫中,由TCP服務(wù)器程序監(jiān)測并轉(zhuǎn)發(fā)至現(xiàn)場測試終端。

5 系統(tǒng)功能測試與驗證

為了檢測狀態(tài)參數(shù)獲取功能測試模塊的實際效果,可以通過硬件在環(huán)仿真測試平臺模擬駕駛員的操作,改變車輛的狀態(tài)參數(shù),然后在遠程測試界面創(chuàng)建將要獲取的車輛狀態(tài)參數(shù),通過該遠程測試系統(tǒng)讀取模擬的車輛狀態(tài)信息,對比模擬的車輛狀態(tài)和遠程測試界面實際獲取的車輛狀態(tài),從而判斷狀態(tài)參數(shù)獲取功能測試模塊是否滿足要求。

通過硬件在環(huán)仿真測試平臺中的仿真模型設(shè)置車輛的狀態(tài)參數(shù),包括右后門玻璃升降開關(guān)狀態(tài)、外后視鏡鏡片方向調(diào)節(jié)開關(guān)、中控鎖開關(guān)、遙控鑰匙命令、左后門玻璃升降開關(guān)狀態(tài)等,見表3。

表3 硬件在環(huán)仿真測試平臺模擬的車輛狀態(tài)信息Tab.3 Vehicle status information simulated by the hardware inthe-loop simulation test platform

在客戶端進入狀態(tài)參數(shù)獲取功能測試模塊,創(chuàng)建需要讀取的車輛狀態(tài),測試完成后,現(xiàn)場測試終端顯示測試結(jié)果,與表3中硬件在環(huán)仿真測試平臺模擬的車輛狀態(tài)進行對比,結(jié)果一致,表明現(xiàn)場測試終端可以實現(xiàn)對硬件在環(huán)仿真測試平臺中的整車控制器進行測試,現(xiàn)場測試終端獲取狀態(tài)參數(shù)功能正常。

現(xiàn)場測試終端接收到車輛狀態(tài)參數(shù)數(shù)據(jù)后也會立即上傳至云端服務(wù)器,遠程客戶端實時讀取狀態(tài)信息并顯示,顯示結(jié)果與表3一致,表明遠程客戶端與現(xiàn)場測試終端之間的通訊以及數(shù)據(jù)解析正常。綜上,該遠程測試系統(tǒng)具備實時查詢車輛狀態(tài)參數(shù)的功能,可以實現(xiàn)對整車控制器的車輛狀態(tài)信息獲取功能的測試。

6 結(jié)束語

為了打破地域限制,充分利用硬件在環(huán)仿真測試平臺設(shè)備,讓更多的人更方便地參與汽車控制器的開發(fā),從而縮短汽車控制器的開發(fā)時間,本文詳細設(shè)計了一種整車控制系統(tǒng)硬件在環(huán)遠程測試系統(tǒng)。該遠程測試系統(tǒng)主要由遠程網(wǎng)頁客戶端、云端服務(wù)器、現(xiàn)場測試終端和硬件在環(huán)仿真測試平臺構(gòu)成,主要實現(xiàn)的功能是遠程對整車控制器進行車輛狀態(tài)參數(shù)獲取功能測試。現(xiàn)場測試終端通過創(chuàng)建QT應(yīng)用程序使得操作更加方便,測試過程更加清晰。

未來工作中,考慮遠程下載控制器的控制策略程序到在環(huán)仿真系統(tǒng)中,對控制器參數(shù)進行標(biāo)定等展開更加深入的研究。

猜你喜歡
整車云端客戶端
“人民網(wǎng)+客戶端”推出數(shù)據(jù)新聞
——穩(wěn)就業(yè)、惠民生,“數(shù)”讀十年成績單
基于滑門MPV的整車寬度優(yōu)化
基于六自由度解耦分析的整車懸置設(shè)計
基于啟停控制系統(tǒng)的整車安全性策略
四海心連·云端匯聚
基于正交試驗的整車驅(qū)動輪滾動阻力因素分析
在云端永生
云端旅行
虛擬專用網(wǎng)絡(luò)訪問保護機制研究
新聞客戶端差異化發(fā)展策略
霍林郭勒市| 四川省| 瓦房店市| 丰城市| 襄垣县| 黄大仙区| 鄂托克旗| 叶城县| 石门县| 宁陕县| 大兴区| 上蔡县| 邯郸市| 扶绥县| 南木林县| 乌拉特后旗| 合作市| 寿阳县| 彭泽县| 扶绥县| 高安市| 淮南市| 绥阳县| 陕西省| 凤翔县| 怀化市| 浦东新区| 花莲市| 韶关市| 衡水市| 都江堰市| 青阳县| 清新县| 平安县| 海伦市| 宣威市| 舒城县| 峡江县| 翁源县| 日照市| 永定县|