郭健忠 吳建立 謝斌 程峰 唐華亮
摘要:為實現(xiàn)汽車儀表全功能檢測及顯示策略驗證,利用實車數(shù)據(jù)搭建仿真測試環(huán)境。通過上位機讀取實車數(shù)據(jù)腳本,經(jīng)串口將數(shù)據(jù)發(fā)送給電控單元,電控單元控制產(chǎn)生儀表信號,實現(xiàn)儀表功能測試。利用步進電機帶動滑動變阻器模擬油浮子采集油量阻值原理,實現(xiàn)實車油量數(shù)據(jù)的仿真?;趙in32平臺開發(fā)數(shù)據(jù)分析環(huán)境,對實車數(shù)據(jù)提取分析,為儀表中控制策略、顯示算法提供數(shù)據(jù)依據(jù)。根據(jù)信號源制定通用的腳本協(xié)議,可以滿足多種儀表規(guī)范的測試需求。通過多款儀表測試,本平臺具有良好的實用性、通用性,且能大大縮短液晶儀表的研發(fā)、測試周期。
關(guān)鍵詞:儀表;實車數(shù)據(jù);測試;win32平臺;數(shù)據(jù)分析
中圖分類號:TP33 文獻標(biāo)志碼:A文章編號:1000-582X(2018)05-037-07
Abstract: In order to realize the full function test and display strategy verification of the automobile instrument, a simulation test environment is built by using the actual vehicle data. The host computer reads the real data script, and the serial data are sent to the electronic control unit, and then the electronic control unit controls instrument signal to realize instrument function test. The stepper motor is used to drive the sliding rheostat to simulate the oil fuel consumption value of the oil float and realize the simulation of the actual fuel quantity data. Based on win32 platform development data analysis environment, the actual vehicle data extraction analysis is realized to provide data basis for the instrumentation control strategy and display algorithm. A common script protocol is developed according to the source to meet a variety of instrument specifications test requirements. A variety of instrumentation tests show the platform has a good practicality, versatility, and can greatly shorten the LCD instrument research, development and testing cycle.
Keywords: instrument; real vehicle data; test; win32 platform; data analysis
現(xiàn)代汽車電子技術(shù)的發(fā)展使得儀表顯示信息更加復(fù)雜多元化,嵌入式技術(shù)在儀表中的應(yīng)用使得儀表從傳統(tǒng)的單一顯示功能到現(xiàn)在多功能集成系統(tǒng)的轉(zhuǎn)變[1-4]。液晶儀表與傳統(tǒng)儀表的顯示原理差異導(dǎo)致傳統(tǒng)儀表測試設(shè)備無法滿足現(xiàn)代儀表的測試需求[5-6]。汽車車型、車系的增多導(dǎo)致儀表不盡相同,增加了儀表通用性測試臺開發(fā)的難度。
在儀表開發(fā)過程中,軟件、硬件等各方面都會存在各種問題,及時地對儀表進行功能校驗,可以提高儀表研發(fā)效率。在儀表不能正常顯示或顯示誤差過大,需要利用測試工具進行系統(tǒng)檢測以確認問題來源。在油量、續(xù)航里程等涉及儀表多信號協(xié)同工作時,測試臺要滿足多種類型信號實時發(fā)送要求?,F(xiàn)有的儀表測試技術(shù)主要實現(xiàn)功能檢測,對涉及復(fù)雜控制策略的顯示時,測試信號協(xié)同工作處理不夠完善。
與傳統(tǒng)儀表測試臺對比,本開發(fā)平臺只需提供儀表的實車數(shù)據(jù)就可以模擬實際工況下的儀表工作,而不需要進行大量的實車測試,避免人力、物力的損失。汽車儀表在設(shè)計和工作原理各不相同,但儀表的信號類型主要還是CAN、硬線和電阻信號[7]。將3種不同信號用統(tǒng)一的腳本協(xié)議定義,使測試臺更具有靈活性、通用性,可以滿足絕大部分汽車儀表的測試。
1 數(shù)據(jù)測試平臺的總體設(shè)計
在汽車儀表不同類型的數(shù)據(jù)信號中,燃油表、冷卻液、溫度表的信號源為電阻信號。信號報警指示燈、手剎、機油溫度等類型為高低電平的硬線信號。車速表、轉(zhuǎn)速表等儀表的大部分信號源為脈沖信號,一般通過CAN數(shù)據(jù)幀進行傳輸[8]。為了便于測試腳本的編寫及測試的簡便性,上位機將電阻信號及硬線信號轉(zhuǎn)成CAN信號格式。
Win32 API是Microsoft 32位平臺的應(yīng)用程序編程接口,它們?yōu)閃indows提供應(yīng)用程序和操作系統(tǒng)[9],通過調(diào)用封裝好的API函數(shù)可以開發(fā)各種界面豐富,功能多樣的應(yīng)用程序。通過設(shè)置對話框及相關(guān)操作說明,達到良好的人機交互作用。本測試臺上位機選用Win32平臺,程序語言選用C語言,通過交互界面設(shè)計,研發(fā)測試人員能夠方便使用本平臺(如圖1所示)。
1.1 CAN信號、硬線信號數(shù)據(jù)的來源
CAN信號主要通過CAN分析儀采集實車在各種工況下的數(shù)據(jù),通過對錄取的CANlog文件數(shù)據(jù)的解析及回放實現(xiàn)CAN信號檢測。硬線信號主要是根據(jù)硬性信號控制策略錄取硬性信號的不同控制狀態(tài)。
1.2 電阻信號的獲取
電阻信號主要由儀表自定義CAN ID將實車采集的電阻信號經(jīng)過AD轉(zhuǎn)換器轉(zhuǎn)為數(shù)字信號,將數(shù)字信號經(jīng)過自定義的ID號通過CAN收發(fā)器輸出,從而得到在各種工況下的油量阻值數(shù)據(jù),油量數(shù)據(jù)采集框架圖(如圖2所示)。
2 仿真平臺電控單元的搭建及上位機程序的控制方法
實車數(shù)據(jù)測試平臺主要包括2個部分,一是數(shù)據(jù)解析部分,主要是CAN數(shù)據(jù)解析,另一部分是儀表實車數(shù)據(jù)仿真及測試。CAN數(shù)據(jù)解析主要對目前汽車主流CAN協(xié)議傳輸數(shù)據(jù)格式解析;數(shù)據(jù)仿真及測試主要有上位機控制、串口通信及電控單元等部分。
2.1 CAN數(shù)據(jù)解析
根據(jù)汽車廠商提供的CAN協(xié)議規(guī)范,可以將需要的儀表信息從實車數(shù)據(jù)log中提取出來。由于儀表信號占據(jù)的數(shù)據(jù)位及數(shù)據(jù)長度不同,需要開發(fā)工具進行數(shù)據(jù)的解析。一般情況下CAN數(shù)據(jù)主要信息有時間戳、接收發(fā)送標(biāo)志、通道選取、ID號、數(shù)據(jù)位數(shù)、具體8個字節(jié)的數(shù)據(jù)[10](如圖3所示)。
CAN解析工具實現(xiàn)的功能主要有對某一或某幾個ID號的數(shù)據(jù)位進行數(shù)據(jù)提取,因為汽車大多數(shù)儀表信號占用的數(shù)據(jù)位很少,一般一個ID號包含多個顯示信息。通過儀表功能規(guī)范查找顯示信息對應(yīng)的ID號及數(shù)據(jù)位。根據(jù)CAN協(xié)議的數(shù)據(jù)傳輸格式,對Inter數(shù)據(jù)格式類型,只需輸入ID號和起始位及數(shù)據(jù)長度,并勾選Inter格式選項框,輸入要解析的時間段。在Motorola格式里,需要手動勾選數(shù)據(jù)位進行數(shù)據(jù)解析工作(如圖4所示)。
對實車儀表數(shù)據(jù)解析,可以快速找到導(dǎo)致儀表顯示異常的數(shù)據(jù),對數(shù)據(jù)修訂后可以重新回放數(shù)據(jù),驗證數(shù)據(jù)優(yōu)化的有效性。另外在實車驗證燃油指示算法時,提取實車燃油真實數(shù)據(jù)和實際顯示數(shù)據(jù)做比較可以直觀顯示燃油算法的可靠性(如圖5所示)。
由于車輛運行過程中,油量采集值是波動變化的,尤其在上下坡、顛簸路等工況下,直接顯示油量的實時數(shù)據(jù)是不準(zhǔn)確的。目前采取策略控制方法實現(xiàn)油量的平穩(wěn)指示[11]。通過車速,轉(zhuǎn)速,點火狀態(tài)等信號判斷汽車的行駛狀態(tài)和實際油量顯示。圖中平滑曲線代表著通過油量控制策略算法后實現(xiàn)油量的均勻輸出,波動較大的曲線代表實車實時采集油浮子阻值對應(yīng)的油量值。通過數(shù)據(jù)分析可以得出實際顯示的油量數(shù)據(jù)和真實值有一定差距,有進一步優(yōu)化的空間。
2.2 CAN數(shù)據(jù)log文件回放
上位機軟件通過讀取CAN log文件里的腳本數(shù)據(jù),嚴格按照時間戳的時間差值將數(shù)據(jù)以精確的間隔時間回放出來,將采集的CAN log文件作為CAN信號源,只需要通過上位機讀取并通過USB CAN盒子將數(shù)據(jù)發(fā)送給儀表,便可測試CAN數(shù)據(jù)相關(guān)的儀表顯示功能是否正常。
在數(shù)據(jù)回放功能開發(fā)過程中,為了便于測試人員的使用,對USB_CAN分析儀進行二次開發(fā)。通過調(diào)用封裝好的發(fā)送函數(shù)將數(shù)據(jù)通過USB CAN盒子發(fā)送到儀表或者電控單元中去。在窗體內(nèi)設(shè)置輸入端口,實現(xiàn)和不同儀表匹配的波特率。為了盡可能真實的模擬仿真數(shù)據(jù)發(fā)送過程,選用高精度時控函數(shù)QueryPerformanceFrequency和QueryPerformanceCounte函數(shù),可以將數(shù)據(jù)精確地按時間戳回放。根據(jù)測試需求,數(shù)據(jù)回放可以是整個CAN log文件腳本數(shù)據(jù)的回放,也可以是腳本中某幾個ID的某幾位數(shù)據(jù)回放。
2.3 電阻信號模擬的實現(xiàn)
目前針對滑動電阻值的模擬主要有2種:一類為通過控制繼電器的開斷改變電阻矩陣的串并聯(lián)實現(xiàn)阻值調(diào)整。第二類為通過程序控制電壓的變化進而模擬阻值的變化[12]。兩類電阻指的模擬在一定程度上滿足測試需求,但輸出離散信號和實際油量阻值有本質(zhì)區(qū)別。本測試臺采用步進電機控制線性旋轉(zhuǎn)電位器的方式實現(xiàn)阻值線性變換,更切合實際油量的變化。
實車采集各種工況下的油量波動阻值數(shù)據(jù),主要工況有:加速、減速、彎道、上下坡等特殊工況。根據(jù)獲取的實際工況油量電阻信號,利用上位機程序?qū)⒛_本數(shù)據(jù)讀取后按照單位時間差值將數(shù)據(jù)通過CAN工具發(fā)送到單片機內(nèi)[13]。經(jīng)過單片機程序?qū)?shù)據(jù)的處理,控制單片機引腳產(chǎn)生脈沖信號,并在單位時間內(nèi)產(chǎn)生所需要的脈沖數(shù)保證電機在單位時完成轉(zhuǎn)動角度。步進電機通過聯(lián)軸器控制多圈電位器的旋轉(zhuǎn)角度進而實現(xiàn)燃油電阻模擬的線性阻值輸出。
2.4 腳本協(xié)議的制定
腳本協(xié)議的制定是實現(xiàn)通用化測試的關(guān)鍵,通過將不同類型信號以同一種腳本語言編寫,實現(xiàn)不同類型信號在一種協(xié)議下的發(fā)送。通過對協(xié)議的語法校驗、腳本解析,完成不同儀表的測試。腳本分為CAN信號格式腳本:主要從車上錄取的實車數(shù)據(jù)類型。測試信號腳本:自定協(xié)議類型腳本,主要包括CAN協(xié)議和IO協(xié)議,完成儀表特定功能測試。
CAN協(xié)議:以CAN 為標(biāo)志符,逗號為間隔,第一位是內(nèi)容發(fā)送類型標(biāo)志位,第二位S為直接發(fā)送給儀表的CAN數(shù)據(jù),N為發(fā)送給電控單元的CAN數(shù)據(jù),第三位為發(fā)送CAN的ID,第四位為發(fā)送數(shù)據(jù)長度,CAN數(shù)據(jù)的長度一般為8位,第五位為CAN數(shù)據(jù)內(nèi)容,第六位是時間標(biāo)志位作為發(fā)送時間間隔,時間以ms為單位。
示例:
IO協(xié)議:以IO為標(biāo)識符,逗號間隔,第一位為第幾個硬線IO口,冒號后為IO狀態(tài),0為低,1為高,2為懸空狀態(tài),以尖括號結(jié)束。
示例:
腳本協(xié)議可以兼容數(shù)據(jù)和字符串,如在第一個IO口時,可以是P1也可以是數(shù)字1表示。在編制腳本后可以通過上位機開發(fā)的腳本編譯器編譯腳本格式是否正確。
無論測試腳本還是實車log腳本,最終上位機轉(zhuǎn)為CAN信號格式,通過CAN盒子將數(shù)據(jù)發(fā)送出去。將編制好的腳本數(shù)據(jù)通過Win32 API edit_box工具在上位機交互界面顯示出來,可有效地觀察腳本數(shù)據(jù)執(zhí)行的具體情況。
2.5 硬線信號的實現(xiàn)
在模擬仿真硬線信號時,硬線信號的實現(xiàn)和電阻模擬平臺類似。不同儀表的硬線信號種類不同,數(shù)量不同,控制策略不同,腳本數(shù)據(jù)的格式可以充分發(fā)揮數(shù)據(jù)控制的靈活自主性。
硬線信號類型主要有高電平,低電平及懸空狀態(tài)。不同狀態(tài)及硬線信號顯示儀表的不同硬線信息(如圖6所示)。
2.5.1 電源模塊電路設(shè)計
測試臺電源選型,汽車測試芯片需要的電壓為5.5 V,測試臺芯片選用STM32F105VCT6,該芯片具有2路CAN滿足多路CAN儀表的測試,具有DAC引腳。電壓由12 V轉(zhuǎn)5 V選用LM2596S-5.0芯片,該芯片具有高負載轉(zhuǎn)換效率高的特點,自身有一定功率損耗。5 V轉(zhuǎn)3.3 V電壓轉(zhuǎn)換芯片選用LM1117-3.3,該芯片具有低負載時轉(zhuǎn)換效率高,自身功率消耗小的特點(如圖7所示)。
2.5.2 輸出端電路的控制要求
普通硬線信號只要提供高低電平,對負載能力要求很小,不需要增加功率晶體管。對儀表需要的ING電及BAT電不僅要提供高電平還要滿足大電流的需求,滿足儀表的正常供電情況。因此在點火和常電的輸出端加載功率晶體管U403BE311,以滿足儀表的工作需求。為實現(xiàn)儀表供電的實車仿真環(huán)境,考慮實車運行中汽車蓄電池電壓不穩(wěn)有可能會對儀表的正常工作造成一定影響。本平臺利用芯片的DAC引腳控制輸出電壓的波動以仿真實車蓄電池電壓不穩(wěn)的情況。一般儀表電壓工作范圍在7-18 V之間,通過調(diào)節(jié)電壓芯片LM2596進而調(diào)節(jié)電壓的變化,LM2596芯片支持3A電流輸出,滿足儀表供電需求。電源調(diào)壓芯片的原理如下(如圖8、9所示),(Vo-Vf)/R2 + (V-Vd-Vf)/Rx=Vf/R1,(1)其中:Vo為輸出電壓;Vf為反饋電壓;V為單片機輸出;Vd為二極管壓降。
通過控制芯片引腳的高低電平控制三極管的中斷導(dǎo)通,進而控制輸出高低電平實現(xiàn)硬線信號的模擬。在硬性輸出端加裝貼片LED燈,用以表示輸出端的電壓狀態(tài)。
3 儀表測試
測試平臺搭建完成后,通過實車錄取的相關(guān)儀表數(shù)據(jù),配置儀表的波特率連接CAN收發(fā)工具。進行數(shù)據(jù)檢測,檢測目的主要是觀察經(jīng)過臺測后儀表在各種工況下儀表顯示的效果儀表是否滿足儀表設(shè)計規(guī)范要求。進而對儀表控制策略進行修訂。
3.1 平臺測試規(guī)范
通過Win32平臺開發(fā)后,適用于研發(fā)階段的測試平臺人際交互界面(如圖10所示)。
操作界面主要分為2部分,一部分為實車仿真,主要實現(xiàn)實車數(shù)據(jù)回放,驗證實車數(shù)據(jù)下儀表是否正常;第二部分為測試部分,主要實現(xiàn)一些特定功能的測試,如儀表下點火電進低功耗測試,需要通過控制上下ING電時間判斷儀表是否進入低功耗,還有需要長期進行上下電的操作驗證儀表工作的穩(wěn)定性。
在儀表測試過程中要參考儀表測試規(guī)范的要求,檢測儀表指示等是否按儀表規(guī)范策略亮滅,報警音是否合乎要求,指針的旋轉(zhuǎn)精度,變換速度及是否有抖動現(xiàn)象等都是在儀表開發(fā)過程中需要測試的(如圖11所示)。產(chǎn)品開發(fā)過程中的測試要嚴格遵守儀表規(guī)范進行。
4 結(jié) 論
針對液晶儀表開發(fā)特點設(shè)計的儀表測試系統(tǒng)滿足儀表開發(fā)測試需求,有別于傳統(tǒng)的儀表測試方法。另外本測試平臺可移植性較好,對其它嵌入式產(chǎn)品的測試工作提供方法借鑒。針對基于控制策略的通用化測試臺的研究主要有:
1)將儀表信號源數(shù)據(jù)腳本化,減少受控單片機資源占用,實現(xiàn)測試臺的通用性 。
將汽車儀表信號源做成腳本數(shù)據(jù)的形式,通過搭建儀表信號發(fā)送的軟、硬平臺,仿真實車運行環(huán)境,實現(xiàn)信號控制。減少受控單片機的資源占用,提高單片機的使用效率。通過腳本數(shù)據(jù)的替換,使得數(shù)據(jù)源數(shù)據(jù)更改靈活方便,可適用現(xiàn)代汽車儀表的開發(fā)檢測使用。
2)利用步進電機控制電阻變化,實現(xiàn)各種工況下油量數(shù)據(jù)模擬。
創(chuàng)新性地利用步進電機帶動線性旋轉(zhuǎn)電位器的方法,實現(xiàn)實車油量阻值線性變化的模擬。通過模擬各種工況下的油量波動阻值,可以對油量顯示算法及續(xù)航里程算法的研究提供數(shù)據(jù)依據(jù)。對控制策略信號的協(xié)同發(fā)送,使得儀表設(shè)計多信號控制的顯示得到良好驗證。
3)本平臺操作簡單、功能多樣化。
通過Win32開發(fā)平臺設(shè)定的交互界面,測試人員可以簡單快捷操作本測試臺。采用實車數(shù)據(jù)做為信號源可以再現(xiàn)儀表在汽車不同工況下的顯示效果,為研發(fā)人員在后期界面優(yōu)化及顯示效果的改進提供測試依據(jù)。同時本平臺可提供實車CAN數(shù)據(jù)解析工作,提取實車數(shù)據(jù)進行數(shù)據(jù)分析優(yōu)化處理。通過對硬線信號腳本數(shù)據(jù)控制策略的更改測試儀表的工作穩(wěn)定性,輔助研發(fā)人員進行儀表研發(fā)工作。
參考文獻:
[1] 陳新,張桂香,肖奇云,等. 電動汽車液晶數(shù)字儀表的設(shè)計[J].汽車工程,2013,35(3):272-276.
CHEN Xin, ZHANG Guixiang, XIAO Qiyun, et al. Design of LCD digital instrument for electric vehicles[J].Automotive Engineering, 2013,35(3):272-276.
[2] Yuan H J, Liu W, Hu W, et al. Design of universal detection system for automobile combination dashboard[C]/ /2012 International Conference on Mechanical Design and Power Engineering, ICMDPE2012.[S.l.]:IEEE,2012:38-42.
[3] Bellotti F A, Gloria D, Poggi A, et al. Designing configurable automotive dashboards on liquid crystal displays[J].Cognifying Techndogy Work, 2004, 6: 247-265.
[4] 江學(xué)煥,張金亮,樊紅莉,等. 基于CAN/LIN雙總線電動汽車數(shù)字儀表系統(tǒng)的設(shè)計[J]. 計算機工程與科學(xué),2015,37(11):2182-2187.
JIANG Xuehuan, ZHANG Jinliang, FAN Hongli, et al. A design of electric vehicle digital instrument system based on CAN/LIN dual bus[J]. Computer Engineering& Science,2015,37(11):2182-2187.(in Chinese)
[5] 周桂成,秦貴和,陳筠翰,等. 通用汽車儀表檢測平臺的設(shè)計與實現(xiàn)[J]. 計算機工程,2012,38(20):228-231.
ZHOU Guicheng, QIN Guihe, CHEN Yunhan, et al. Design and implementation of general auto dashboard detection platform[J]. Computer of Engineering,2012,38(20):228-231.
[6] Huang Y,Mouzakitis A, Mcmurran R, et al. Design validation testing of vehicle instrument cluster using machine vision and hardware-in-the-loop[C]/ / 2008 IEEE International Conference onVehicular Electronics and Safety. USA:IEEE, 2008:265-270.
[7] 邱淑賢, 王登峰,陳曉春,等. 汽車數(shù)字組合儀表檢測系統(tǒng)研發(fā)[J].汽車工程,2010, 32(10):910-913.
QIU Shuxian, WANG Dengfeng,CHEN Xiaochun, et al. Research and development of inspection system for automotive digital instrument clusters[J].Automotive Engineering,2010, 32(10):910-913.
[8] 車曉鐳 ,王登峰 ,曹曉琳,等. 乘用車CAN總線數(shù)字儀表測試系統(tǒng)設(shè)計[J].汽車工程,2010, 32(10) :906-908.
CHE Xiaolei, WANG Dengfeng, CAO Xiaolin, et al. Design of test system for the cAN-bus digital instruments of a passenger car[J]. Automotive Engineering, 2010, 32(10) :906-908.
[9] 丁國興,高琴,高偉,等. 基于 Win32 API 的通用串口通信組件的開發(fā)[J] 工業(yè)控制計算機,2013.26(11):33-37.
DING Guoxing ,GAO Qing, GAO Wei, et al. Development of generic serial communication component based on Win32 APIs[J].Industrial Control Computer,2013,26(11):33-37.
[10] Kocian J, Skovajsa L, Vojcinak P, et al. Robotic arm controlled by CAN Bus[C]/ /IEEE 2007 Interational Conference.[S.l.]:IEEE, 2009: 92-93.
[11] Rashmi R, Durgale R. The novel of embedded based digital fuel gauge[J].Digital Signal Processing, 2012,9:23-30.
[12] 王春武,劉春玲,王歡,等. 程控可變電阻的設(shè)計與應(yīng)用[J].電子測量技術(shù),2007.30(5):182-183.
WANG Chunwu, LIU Chunling, WANG Huan. Design and application of variable resistances by program controlling[J].Electronic Measurement Technology, 2007,30(5):182-183.
[13] Wang J. Research of vehicle digital meter based on CANbus[J].International Electronic Elements, 2008(12):59-61.
(編輯 侯 湘)