專利名稱:一種基于can總線汽車儀表的測試系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種測試汽車儀表的系統(tǒng)和方法,尤其涉及一種測試CAN總線汽車儀 表的系統(tǒng)和方法。
背景技術(shù):
CAN(ControIler Area Network,控制器局域網(wǎng))總線協(xié)議作為一種技術(shù)先進、實 時性強、可靠性高的通訊協(xié)議,已經(jīng)被廣泛地應(yīng)用于各種自動化控制系統(tǒng)中,在汽車電子領(lǐng) 域,尤其在車用電控模塊和儀表上也有著很好的應(yīng)用前景。在汽車儀表系統(tǒng)內(nèi)引入CAN總 線,使得汽車儀表系統(tǒng)具有開放式、易擴展的結(jié)構(gòu),可以將以前的模擬組合的各分離式儀表 數(shù)字化地統(tǒng)一管理起來,不僅減少了汽車系統(tǒng)的線束,簡化了儀表系統(tǒng)的接口,提高了系統(tǒng) 的抗干擾性,而且提高了儀表的穩(wěn)定性、精度和壽命,大大增加了系統(tǒng)的數(shù)據(jù)流量。
CAN總線汽車儀表就是基于這一理念設(shè)計出來的,作為我國汽車業(yè)的一項科技含 量高、具有自主技術(shù)知識產(chǎn)權(quán)的產(chǎn)品,得到了眾多國內(nèi)汽車制造尚的急切關(guān)注。它可以從汽 車內(nèi)部CAN網(wǎng)絡(luò)上接收車輛的各種行駛狀況參數(shù),并以指針方式或數(shù)字方式實時顯示給駕 駛員。
而CAN總線汽車儀表在裝車或者出售之前,首先應(yīng)該對CAN總線汽車儀表產(chǎn)品進 行測試,現(xiàn)有技術(shù)中存在一種對CAN總線汽車儀表產(chǎn)品進行測試的系統(tǒng)及方法,該系統(tǒng)包 括配置模塊、輸入模塊、虛擬輸出模塊和比較模塊;在配置模塊中,配置CAN總線汽車儀表 的控制邏輯;輸入模塊向所述CAN總線汽車儀表和虛擬輸出模塊發(fā)送CAN報文;虛擬輸出 模塊根據(jù)配置模塊中的控制邏輯和輸入模塊發(fā)送的CAN報文,模擬所述CAN總線汽車儀表 的輸出;比較模塊檢測所述虛擬輸出模塊的輸出與所述CAN總線汽車儀表的輸出是否一 致,如果一致則表明CAN總線汽車儀表測試正確;如果不一致則表明CAN總線汽車儀表測試 錯誤。以上對CAN總線汽車儀表的測試方法,主要是通過給汽車儀表和虛擬輸出模塊發(fā)送 單個報文點來測試儀表模塊是否與虛擬輸出模塊輸出的一致,顯然,這種測試方法只是發(fā) 送單個的間斷報文,測試方法過于單一,不能反應(yīng)儀表在CAN總線上復(fù)雜通訊情況下及變 化的報文輸出時的工作情況。發(fā)明內(nèi)容
本發(fā)明旨在解決現(xiàn)有技術(shù)中CAN總線汽車儀表測試過于單一,不能全面反應(yīng)汽車 儀表性能的問題,提供一種能夠動態(tài)測試CAN總線汽車儀表的測試系統(tǒng)及方法,達(dá)到全面 檢測CAN總線汽車組合儀表的目的。
一種基于CAN總線汽車儀表的測試系統(tǒng),包括單片機和CAN收發(fā)器,所述單片機包 括控制模塊、存儲模塊、發(fā)送模塊及計時模塊,所述存儲模塊、發(fā)送模塊、計時模塊分別與所 述控制模塊電連接,所述發(fā)送模塊通過CAN收發(fā)器與CAN總線汽車儀表相連接;
所述存儲模塊,用于存儲CAN總線汽車儀表測試用的各種速度報文信息;
所述發(fā)送模塊,用于向CAN總線汽車儀表發(fā)送速度報文;
所述計時模塊,用于在CAN總線汽車儀表測試中計時和/或計數(shù);
所述控制模塊,用于控制所述存儲模塊、發(fā)送模塊及計時模塊工作。
本發(fā)明還提供一種上述CAN總線汽車儀表測試系統(tǒng)的測試方法,包括以下步驟
測試系統(tǒng)進行初始化;
控制模塊根據(jù)其內(nèi)部設(shè)定的程序
a、控制發(fā)送模塊按照設(shè)定的周期向CAN總線汽車儀表發(fā)送速度報文,
b、控制計時模塊進行計時和/或計數(shù);
根據(jù)以上測試判斷CAN總線汽車儀表的工作情況。
以上技術(shù)方案,利用測試系統(tǒng)通過向CAN總線汽車儀表模擬發(fā)送連續(xù)甚至復(fù)雜的 通訊報文,以此來精確檢測CAN總線汽車儀表的工作情況,通過檢測CAN總線汽車儀表在各 種復(fù)雜情況下的工作狀況,不僅為了在CAN總線汽車儀表在裝車前能夠及時發(fā)現(xiàn)問題,而 且為車上CAN總線汽車儀表的更換帶來很大的便捷性和精確性,同時縮短了 CAN總線汽車 組合儀表的測試周期,有效降低了儀表的測試成本。
圖1是本發(fā)明測試系統(tǒng)與CAN總線汽車儀表的連接示意圖2是本發(fā)明測試系統(tǒng)單片機的一種實施例的結(jié)構(gòu)框圖3是本發(fā)明測試系統(tǒng)的主要測試流程圖4是本發(fā)明測試系統(tǒng)一種單片機的結(jié)構(gòu)圖5是本發(fā)明測試系統(tǒng)的抖動車速測試流程圖6是本發(fā)明測試系統(tǒng)的勻加減速測試流程圖7是本發(fā)明測試系統(tǒng)的CAN負(fù)載率測試一種實施例的流程圖8是本發(fā)明測試系統(tǒng)的CAN負(fù)載率測試另一種實施例的流程圖9是本發(fā)明測試系統(tǒng)的丟包測試一種實施例的流程圖10是本發(fā)明測試系統(tǒng)的丟包測試另一種實施例的流程圖。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
結(jié)合圖1和圖2所示,本發(fā)明CAN總線汽車儀表的測試系統(tǒng)包括單片機和CAN收 發(fā)器,該單片機包括控制模塊、存儲模塊、發(fā)送模塊及計時模塊,存儲模塊、發(fā)送模塊、計時 模塊分別與所述控制模塊電連接,發(fā)送模塊通過CAN收發(fā)器與CAN總線汽車儀表相連接;
存儲模塊,用于存儲CAN總線汽車儀表測試用的各種速度報文信息;
發(fā)送模塊,用于向CAN總線汽車儀表發(fā)送各種速度報文;
計時模塊,用于在CAN總線汽車儀表測試中計時和計數(shù);;
控制模塊,用于控制所述存儲模塊、發(fā)送模塊及計時模塊對所述CAN總線汽車儀 表進行相應(yīng)檢測試。
測試系統(tǒng)與CAN總線汽車儀表通過CAN總線進行通訊,具體地,測試系統(tǒng)的發(fā)送模塊通過通道RX和TX與CAN收發(fā)器相連接,CAN收發(fā)器通過CAN_H和CAN_L連接CAN總線汽 車儀表,測試系統(tǒng)通過控制模塊控制模擬產(chǎn)生CAN總線汽車儀表需要接收和處理的各種車 速報文信息,并按一定的周期將該通信報文通過CAN線路(CAN_H和CAN_L)發(fā)送給CAN總 線汽車儀表。
存儲模塊,預(yù)先存儲CAN總線汽車儀表測試用的各種車速報文信息,建立一個CAN 總線汽車儀表報文數(shù)據(jù)庫,包括各種車速報文,即從最小車速到最大車速之間的所有連續(xù) 值速度報文。
發(fā)送模塊,依照控制模塊的控制向CAN總線汽車儀表發(fā)送各種車速報文;如控制 模塊需要控制測試系統(tǒng)發(fā)送一個15km/h的速度報文信息,首先控制模塊會通過存儲模塊 調(diào)取一個15km/h的報文信息,然后控制模塊控制發(fā)送模塊發(fā)送此報文信息到CAN總線汽車 儀表,這樣CAN總線汽車儀表就會顯示一個15km/h的速度信息。
計時模塊,在CAN總線汽車儀表的測試過程中,需要通過計時模塊來進行相應(yīng)的 計時和計數(shù),如報文發(fā)送周期計時、報文發(fā)送次數(shù)的計數(shù)和計時及一些數(shù)據(jù)變量的計數(shù)等, 其具體的計時原理和計數(shù)過程將在下面具體的測試過程中一一詳述。
控制模塊,根據(jù)需求或者輸出控制來控制存儲模塊、發(fā)送模塊、計時模塊進行相應(yīng) 的工作??刂颇K可以根據(jù)需求調(diào)出存儲模塊內(nèi)預(yù)存的相關(guān)速度報文信息,調(diào)出相關(guān)速度 報文信息后,控制模塊可以控制發(fā)送模塊進行對此速度報文信息的模擬發(fā)送,控制發(fā)送模 塊將此報文信息模擬發(fā)送給CAN總線汽車儀表,而且,控制模塊可以控制計時模塊對相應(yīng) 速度報文的發(fā)送周期及報文次數(shù)進行計時或者計數(shù),控制完成對CAN總線汽車儀表的各種 的測試功能。
以上所述的單片機可以采用現(xiàn)有普通的帶有計時模塊的單片機對該CAN總線汽 車儀表進行檢測,只要對該單片機的內(nèi)部控制程序按照本發(fā)明的控制策略進行重新編程即 可。圖4所示為本發(fā)明中優(yōu)選采用的一種單片機,其型號為freescale的MC9S08DZ60單片 機,該單片機的控制模塊包括CPU,存儲模塊包括用戶閃存、用戶EEPR0M、用戶RAM,計時模 塊包括實時計數(shù)器、定時器,發(fā)送模塊包括轉(zhuǎn)換器、比較器及相應(yīng)的輸入輸出端口,因該單 片機為本領(lǐng)域的公知技術(shù),因此其中每個模塊的具體結(jié)構(gòu)在此不做詳述。該單片機通過發(fā) 送模塊的RX和TX接口與CAN收發(fā)器相連接,然后通過CAN收發(fā)器的CAN_H和CAN_L接口 接入CAN總線汽車儀表。
如圖3所示,本發(fā)明測試系統(tǒng)具有的對CAN總線汽車儀表的測試包括抖動車速測 試、勻加減速測試、CAN負(fù)載率測試和/或丟包測試。CAN總線汽車儀表測試系統(tǒng)開始工作 后,整個系統(tǒng)首先進行初始化,將原內(nèi)部計時模塊的各種計時或者計數(shù)清零,然后對CAN總 線汽車儀表進行相應(yīng)的測試。其中,上述幾種測試相互之間可以進行切換,如果對CAN總線 汽車儀表進行抖動車速測試,那么在測試開始前,可以提前將測試系統(tǒng)的測試切換到抖動 車速測試,然后對CAN總線汽車儀表進行抖動車速測試;當(dāng)抖動車速測試結(jié)束后,可以將測 試系統(tǒng)的測試切換到勻加減速測試,對CAN總線汽車儀表進行勻加減速測試,當(dāng)勻加減速 測試完成后,可以將測試系統(tǒng)的測試切換到CAN負(fù)載率測試或者丟包測試,總之,幾種測試 之間可以根據(jù)需求相互切換。當(dāng)然,所述測試系統(tǒng)可以只設(shè)置一種測試,可以只包括抖動車 速測試、或者勻加減速測試、或者CAN負(fù)載率測試、或者丟包測試。測試系統(tǒng)也可以設(shè)置抖 動車速測試、勻加減速測試、CAN負(fù)載率測試及丟包測試中的至少兩種測試,優(yōu)選地,當(dāng)測試系統(tǒng)設(shè)置抖動車速測試、勻加減速測試、CAN負(fù)載率測試及丟包測試中的至少兩種測試時, 所設(shè)置的測試之間的切換可通過設(shè)置在測試系統(tǒng)中的按鍵來實現(xiàn),通過單片機上的普通I/ 0接口連接一個或幾個按鍵,通過按鍵來實現(xiàn)測試系統(tǒng)不同測試之間的切換。如果測試系統(tǒng) 只設(shè)置一種測試模式,則可以設(shè)置與單片機上的普通I/O接口連接的按鍵來實現(xiàn)控制測試 的開始和結(jié)束,也可以不設(shè)置按鍵而通過內(nèi)部程序直接控制測試的開始。作為進一步改進, 所述單片機通過I/O接口還連接一復(fù)位鍵,當(dāng)系統(tǒng)需要初始化或者四種測試相互轉(zhuǎn)換后并 進行下一個模式的測試前,都可通過操作此復(fù)位鍵來對測試系統(tǒng)的控制程序進行初始化。
下面,結(jié)合以上所述對汽車儀表的各種測試的過程進行一一講解。
圖5所示為對CAN總線汽車儀表的抖動車速測試控制流程圖,在測試前,根據(jù)CAN 總線汽車儀表應(yīng)用的車型來進行設(shè)置測試系統(tǒng)的各種參數(shù),設(shè)定車速能夠在時間Tl內(nèi)從 車速0加速到車速V,或者在時間Tl內(nèi)能夠從車速V減速到車速0,設(shè)定發(fā)送模塊的固定發(fā) 送車速報文的周期為T_SPD,測試系統(tǒng)內(nèi)部的速度報文變量為newSPD,CAN總線汽車儀表接 收的速度報文變量為curSPD,當(dāng)測試系統(tǒng)中的計時模塊計時達(dá)到發(fā)送模塊的固定發(fā)送車速 報文的周期T_SPD時,控制模塊根據(jù)特定的計算公式計算后從存儲模塊調(diào)取一個車速報文 并賦予變量newSPD此速度報文值,然后控制模塊控制發(fā)送模塊將此車速報文發(fā)送給CAN總 線汽車儀表,CAN總線汽車儀表就會顯示該車速,即curSPD等于該車速,CAN總線測試儀表 的指針指示該車速。此時,因為汽車在時間Tl內(nèi)能夠從車速0加速到車速V,或者在時間Tl 內(nèi)能夠從車速V減速到車速0,所以在周期T_SPD內(nèi),車速變化范圍為-V*T_SPD/T1—V*T_ SPD/T1,也就是說,發(fā)送模塊第一次發(fā)送給CAN總線汽車儀表的速度報文與第二次發(fā)送給 CAN總線汽車儀表的速度報文之間的差異范圍為-V*T_SPD/T1-V*T_SPD/T1,這樣CAN總線 汽車儀表的指針會出現(xiàn)相應(yīng)的抖動,指針的抖動范圍為-V*T_SPD/T1-V*T_SPD/T1。具體的 控制步驟如下
步驟一,測試系統(tǒng)選擇抖動車速測試;
步驟二,系統(tǒng)初始化;
步驟三,控制系統(tǒng)設(shè)定車速報文變量newSPD的初始值為VI,同時計時模塊開始計 時;
步驟四,當(dāng)計時模塊計時時間達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD時,控 制模塊控制發(fā)送模塊發(fā)送該車速報文Vl給CAN總線汽車儀表,此時curSPD = Vl ;如果計 時模塊的計時時間沒有達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD,那么系統(tǒng)會繼續(xù)等待 直到計時模塊的計時時間達(dá)到其內(nèi)部設(shè)定的車速報文周期T_SPD ;
步驟五,控制系統(tǒng)控制計時模塊的計時數(shù)據(jù)清零,并重新開始計時;
步驟六,基于儀表顯示的當(dāng)前車速curSPD,控制系統(tǒng)賦予車速報文變量newSPD — 個新的報文值V2,使得V2 = Vl士V*T_SPD/T1,(這里設(shè)定車速在時間Tl內(nèi)可由0加速到 V,或者由車速V減速到0);
步驟七,當(dāng)計時模塊計時時間達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD時,控 制模塊控制發(fā)送模塊發(fā)送該車速報文V2給CAN總線汽車儀表;如果計時模塊的計時時間沒 有達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD,那么系統(tǒng)會繼續(xù)等待直到計時模塊的計時 時間達(dá)到其內(nèi)部設(shè)定的車速報文周期T_SPD ;
步驟八,觀察指針的反映,當(dāng)CAN總線汽車儀表車速指針擺動靈敏、平滑,指針指9數(shù)正確時表明儀表工作狀況完好;反之,當(dāng)CAN總線汽車儀表車速指針不能正確指示讀數(shù), 或者指針移動過程中有卡步現(xiàn)象,則說明此CAN總線汽車儀表指針的靈活性差,其控制存 在問題,需進一步改進和優(yōu)化。
為了增加對CAN總線汽車儀表的測試精確度,在以上測試過程中可以多次重復(fù)步 驟三到步驟八。
作為一種優(yōu)選的技術(shù)方案,為了能夠盡量適應(yīng)各種汽車儀表的測試,以上方案中 Tl的取值范圍為8S-12S,優(yōu)選為Tl = IOS ;T_SPD的取值范圍為0. 1S-0. 2S,優(yōu)選為T_SPD =0. IS ;速度V的取值范為90km/h-120km/h,優(yōu)選地V = 100km/h,即汽車能夠在10秒內(nèi) 從0加速到100km/h,或者在10秒內(nèi)從100km/h減速到0,根據(jù)車速報文的固定發(fā)送周期 T_SPD = 0. IS可知,測試系統(tǒng)發(fā)送給CAN總線汽車儀表的每兩次相鄰車速值的差值范圍應(yīng) 在-lkm/h-lkm/h內(nèi)。如果上一次測試系統(tǒng)發(fā)送給CAN總線汽車儀表的速度報文所指示的 速度是60km/h,那么下一次測試系統(tǒng)發(fā)送給CAN總線汽車儀表的速度報文所指示的速度應(yīng) 在59km/h-61km/h內(nèi),即本次測試,CAN總線汽車儀表的指針波動范圍在表盤讀數(shù)59km/ h~61km/h內(nèi)。通過此種控制,CAN總線汽車儀表的指針會在一個速度范圍值內(nèi)發(fā)生抖動, 當(dāng)CAN總線汽車儀表車速指針不能正確指示讀數(shù),或者指針抖動過程中有卡步現(xiàn)象,則說 明此CAN總線汽車儀表指針的靈活性差,其控制存在問題,需進一步改進和優(yōu)化。當(dāng)然根據(jù) 測試儀表的不同,為了檢測的精確性和直觀性,其T1、T_SPD和V可以設(shè)置其他不同的數(shù)值。
通過單片機上的與普通1/0接口連接的按鍵,將測試切換到勻加減速測試。如圖 6所示,測試系統(tǒng)對CAN總線汽車儀表的勻加減速測試過程如下
首先系統(tǒng)內(nèi)部程序設(shè)定其勻加速測試的加速度為al,勻減速測試的加速度為a2, 其內(nèi)部發(fā)送模塊發(fā)送速度報文的周期為T_SPD,同時,根據(jù)被測試的CAN總線汽車儀表的所 應(yīng)用的車型的最大速度設(shè)定測試系統(tǒng)的最大速度為Vmax,然后測試系統(tǒng)通過連接在單片機 上的按鍵選擇勻加減速測試,并通過復(fù)位鍵對系統(tǒng)進行初始化。
步驟S01,首先控制模塊判斷當(dāng)前測試是否為勻加速測試,如果判斷結(jié)果為是,系 統(tǒng)進入步驟S02,如果判斷結(jié)果為否的話,系統(tǒng)進入步驟S07對CAN總線汽車儀表進行勻減 速測試;
步驟S02,計時模塊開始計時,系統(tǒng)進入步驟S03 ;
步驟S03,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的速度報 文發(fā)送周期T_SPD,如果是系統(tǒng)進入步驟S04,如果判斷結(jié)果為否,則計時模塊會繼續(xù)計時 直到其計時達(dá)到內(nèi)部速度報文發(fā)送周期T_SPD ;
步驟S04,此時計時模塊對整數(shù)變量i進行累加計數(shù),i初始值為1,然后系統(tǒng)進入 步驟S05 ;
步驟S05,控制模塊從存儲模塊調(diào)取一個速度報文值Vi,并控制發(fā)送模塊將此速度 報文發(fā)送給CAN總線汽車儀表,同時計時模塊的計時清零,計數(shù)不清零,然后系統(tǒng)進入步驟 S06 ;
步驟S06,控制系統(tǒng)判斷速度Vi是否達(dá)到其內(nèi)部設(shè)定的最大車速Vmax,如果Vi達(dá) 到了其內(nèi)部設(shè)定的最大車速Vmax,那么系統(tǒng)進入步驟S07,從而對CAN總線汽車儀表轉(zhuǎn)入勻 減速測試,如果Vi沒有達(dá)到其內(nèi)部設(shè)定的最大車速Vmax,則系統(tǒng)返回步驟S02從而進入下 一個勻加速測試循環(huán);
以上是對CAN總線汽車儀表進行的勻加速測試過程,以上測試步驟中對整數(shù)變量 i進行累加計數(shù)從而發(fā)送不同的速度報文值Vi,為了滿足對CAN總線汽車儀表進行勻加速 測試的要求,控制模塊會在前一次速度報文\的基礎(chǔ)上計算下一次所要輸出的報文Vi+1,使 得Vi與vi+1滿足下面的公式Vi+1 = Vi+al*T_SPD。下面所述為對CAN總線汽車儀表進行勻 減速測試的過程
步驟S07,系統(tǒng)轉(zhuǎn)入勻減速測試,開始對CAN總線汽車儀表進行勻減速測試;
步驟S08,計時模塊開始計時,系統(tǒng)進入步驟S09 ;
步驟S09,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的速度報 文發(fā)送周期T_SPD,如果是系統(tǒng)進入步驟S10,如果判斷結(jié)果為否,則計時模塊會繼續(xù)計時 直到其計時達(dá)到內(nèi)部速度報文發(fā)送周期T_SPD ;
步驟S10,此時計時模塊對η進行累加計數(shù),η的初始值為1,然后系統(tǒng)進入步驟511;
步驟Sl 1,控制模塊從存儲模塊調(diào)取一個速度報文值\,并控制發(fā)送模塊將此速度 報文發(fā)送給CAN總線汽車儀表,同時計時模塊的計時清零,計數(shù)不清零,然后系統(tǒng)進入步驟512;
步驟S12,控制系統(tǒng)判斷速度Vn是否達(dá)到其內(nèi)部設(shè)定的最小車速0,如果Vn達(dá)到了 其內(nèi)部設(shè)定的最小車速0,那么系統(tǒng)又轉(zhuǎn)入勻加速測試,進入步驟S02,從而對CAN總線汽車 儀表轉(zhuǎn)入勻加速測試,如果Vn沒有達(dá)到其內(nèi)部設(shè)定的最小車速0,則系統(tǒng)返回步驟S08從而 進入下一個勻減速測試循環(huán);
在以上測試過程中,同樣對整數(shù)變量η進行累加計數(shù)從而發(fā)送不同的速度報文值 Vn,為了滿足對CAN總線汽車儀表進行勻減速測試,控制模塊會在前一次速度報文Vn的基礎(chǔ) 上計算下一次所要輸出的報文Vn+1,使得Vn與Vn+1滿足下面的公式Vn+1 = Vn+a2*T_SPD。
以上所述,為了增大測試的精確性,可以多次重復(fù)步驟S02到步驟S05以及步驟 S08到S11,或者對CAN總線汽車儀表進行勻加速測試,直到CAN總線汽車儀表達(dá)到或者指 示其最大車速后,然后系統(tǒng)轉(zhuǎn)入勻減速測試,繼續(xù)以上過程,直到CAN總線汽車儀表達(dá)到或 者指示其最小車速零后,系統(tǒng)控制再將測試轉(zhuǎn)入勻加速測試,如此往復(fù),測試不同勻加減速 情況下儀表指針的工作情況。
勻加減速測試主要用于測試CAN總線汽車儀表在模擬汽車勻加減速狀態(tài)下,通過 觀察儀表車速指針的動作,優(yōu)化完善儀表對車速指針的控制,達(dá)到儀表車速指針響應(yīng)靈活、 移動平滑的目的,增加儀表的動感;如果測試過程中,CAN總線汽車儀表的指針移動出現(xiàn)跳 躍或者卡步現(xiàn)象,那么可以判定所測試的CAN總線汽車儀表的指針相應(yīng)靈活性低,需要進 一步完善和優(yōu)化對CAN總線汽車儀表指針的控制。
為了適應(yīng)盡可能多的CAN總線汽車儀表的測試,作為一種優(yōu)選的技術(shù)方案,以上 對CAN總線汽車儀表進行勻加減速測試的過程中其系統(tǒng)內(nèi)設(shè)的Vmax的取值范圍為90km/ h-120km/h,優(yōu)選為100km/h,其加速度al的值的取值范圍為2. 5m/s2-4m/s2,優(yōu)選為al = 2. 8m/s2,其加速度a2的取值范圍為-5m/s2--8m/s2,a2優(yōu)選為-6m/s2。當(dāng)然根據(jù)測試的CAN 總線汽車儀表的不同,為了檢測的精確性和直觀性,其設(shè)定值Vmax、al和a2可以設(shè)置其他 不同的數(shù)值。
圖7是測試系統(tǒng)對CAN總線汽車儀表的CAN負(fù)載率測試流程,通過按鍵將測試系統(tǒng)選擇CAN負(fù)載率測試,然后系統(tǒng)開始初始化,控制模塊控制發(fā)送模塊按照系統(tǒng)設(shè)定的車 速報文發(fā)送周期T_SPD對CAN總線汽車儀表發(fā)送車速報文,這樣每次發(fā)送的車速報文都會 在CAN總線汽車儀表有一個相應(yīng)的指示,然后控制模塊控制按照每次時間t的幅值改變車 速報文的發(fā)送周期。例如,以時間t的幅值逐漸減小車速報文的發(fā)送周期,或者以時間t 的幅值逐漸增大車速報文的發(fā)送周期,即發(fā)送模塊第一次發(fā)送車速報文的周期為T_SPD, 如果按照以時間t的幅值來逐漸減小車速報文的發(fā)送周期,那么控制模塊控制發(fā)送模塊第 二次發(fā)送車速報文的周期變?yōu)門_SPD-t,第三次發(fā)送車速報文的周期變?yōu)門_SPD-2t,第四 次發(fā)送車速報文的周期相應(yīng)變?yōu)門_SPD-3t,以此類推;如果按照以時間t的幅值來逐漸增 大車速報文的發(fā)送周期,那么控制模塊控制發(fā)送模塊第二次發(fā)送車速報文的周期變?yōu)門_ SPD+t,第三次發(fā)送車速報文的周期變?yōu)門_SPD+2t,第四次發(fā)送車速報文的周期相應(yīng)變?yōu)?T_SPD+3t,以此類推;通過以上方式,不斷縮短或者延長車速報文的發(fā)送周期,即單位時間 內(nèi)測試系統(tǒng)往與CAN總線相連的CAN總線汽車儀表上發(fā)送報文數(shù)據(jù)量越來越大或者越來越 ??;通過觀察記錄CAN總線汽車儀表在不同CAN總線負(fù)載率的狀況下,CAN總線汽車儀表的 工作狀況,找出一個臨界點,當(dāng)CAN負(fù)載率高于此臨界點時對儀表工作狀況會產(chǎn)生影響;反 之,當(dāng)CAN負(fù)載率在此臨界點之下時,CAN總線汽車儀表工作正常。
傳統(tǒng)的CAN總線汽車儀表CAN負(fù)載率的臨界點一般位于0與測試系統(tǒng)內(nèi)設(shè)的車速 報文發(fā)送周期T_SPD之間,即發(fā)生在控制系統(tǒng)逐漸減小車速報文的發(fā)送周期的測試中,一 般情況下,控制系統(tǒng)逐漸增大車速報文發(fā)送周期時不會存在臨界點的情況,因為增大控制 系統(tǒng)內(nèi)部的車速報文發(fā)送周期有效減少了 CAN總線汽車儀表的工作頻率和疲勞度,CAN總 線汽車儀表在此種狀態(tài)下工作可以延長其使用壽命。
當(dāng)CAN總線汽車儀表達(dá)到其負(fù)載率的臨界點時,此時如果測試系統(tǒng)內(nèi)部的負(fù)載率 繼續(xù)增加的話,CAN總線汽車儀表的相應(yīng)速度就跟不上測試系統(tǒng)發(fā)送車速報文的速度了,這 樣相比于測試系統(tǒng)速度報文發(fā)送頻率,CAN總線汽車儀表的指針反應(yīng)就會變得滯后一些。優(yōu) 選地,測試系統(tǒng)的單片機通過I/O接口還連接有一顯示裝置,用來顯示測試系統(tǒng)的報文發(fā) 送周期及每次發(fā)送的車速報文數(shù)值。當(dāng)出現(xiàn)CAN總線汽車儀表指針指示的速度比測試系統(tǒng) 發(fā)送車速報文的顯示滯后時,可以判定CAN總線汽車儀表達(dá)到其負(fù)載率臨界點。
作為一種優(yōu)選的技術(shù)方案,通過測試系統(tǒng)的單片機的普通I/O 口可以接出兩個按 鈕KEYl和KEY2,按鈕KEYl用于增加測試系統(tǒng)的CAN負(fù)載率,即縮短測試系統(tǒng)內(nèi)部的車速報 文發(fā)送周期,按鈕KEY2用于降低測試系統(tǒng)的CAN負(fù)載率,即延長測試系統(tǒng)內(nèi)部的車速報文 發(fā)送周期。
如圖8所示,系統(tǒng)進行初始化后,系統(tǒng)進入步驟S001,按照其內(nèi)部設(shè)定的固有周期 T.SPD向CAN總線汽車儀表發(fā)送速度報文;
步驟S002,控制模塊會時時檢測是否有按鈕按下,如果有,則會進一步判斷是按鈕 KEYl還是按鈕KEY2 ;如果沒有檢測到按鈕按下的信息,則測試系統(tǒng)會返回步驟S001,按照 原有的車速報文發(fā)送周期發(fā)送其車速報文;
步驟S003,如果判斷按鈕KEYl被按下,控制系統(tǒng)進入對CAN總線汽車儀表的增加 CAN負(fù)載率的測試,然后系統(tǒng)進入步驟S004,如果判斷按鈕KEYl沒有被按下,則會判斷按鈕 KEY2被按下,系統(tǒng)進入步驟S006 ;
步驟S004,控制模塊會控制系統(tǒng)按照時間t的降幅減少系統(tǒng)上一次發(fā)送報文時的報文發(fā)送周期,如果上一次是T_SPD,則本次車速報文發(fā)送周期就會被修改為T_SPD_t,然 后系統(tǒng)進入步驟S005 ;
步驟S005,測試系統(tǒng)的車速報文發(fā)送周期變化后,控制模塊控制發(fā)送模塊按照減 小后的報文發(fā)送周期對CAN總線汽車儀表進行車速報文的發(fā)送,然后系統(tǒng)進入步驟S002重 新進行下一個報文發(fā)送循環(huán);
步驟S006,當(dāng)控制模塊判斷按鈕KEY2被按下時,控制模塊會控制系統(tǒng)按照時間t 的增幅增大系統(tǒng)上一次發(fā)送車速報文時的報文發(fā)送周期,如果上一次是的車速報文發(fā)送周 期是T_SPD,則本次車速報文發(fā)送周期就會被修改為T_SPD+t,然后系統(tǒng)進入步驟S007 ;
步驟S007,測試系統(tǒng)的車速報文發(fā)送周期變化后,控制模塊控制發(fā)送模塊按照增 大后的報文發(fā)送周期對CAN總線汽車儀表進行車速報文的發(fā)送,然后系統(tǒng)進入步驟S002重 新進行下一個報文發(fā)送循環(huán)。
以上測試過程中,時間t的取值范圍為0. 005-0. 015,優(yōu)選為t = 0. 01。
通過本測試方法解決了目前CAN總線汽車儀表測試只注重測試儀表對CAN總線上 有效報文的處理、響應(yīng),而忽視了 CAN總線上大量報文數(shù)據(jù)對組合儀表造成的沖擊。通過本 測試方法,可以檢測出CAN總線汽車儀表的負(fù)載率臨界點,測試出CAN總線汽車儀表在不同 CAN總線負(fù)載率狀況下的工作情況,對暴露出的問題及時解決,避免組合儀表在裝車后,汽 車高CAN負(fù)載時工作狀況差的問題。
下面講述測試系統(tǒng)對CAN總線汽車儀表進行丟包測試的控制過程。當(dāng)測試系統(tǒng)通 過按鍵選定丟包測試時,相應(yīng)的與測試系統(tǒng)的單片機相連接的按鈕KEYl和KEY2也就被賦 予了新的功能,按鈕KEYl用于增加測試系統(tǒng)的CAN負(fù)載率,即縮短測試系統(tǒng)內(nèi)部的車速報 文發(fā)送周期,按鈕KEY2用于降低測試系統(tǒng)的CAN負(fù)載率,在丟包測試中,通過按鈕KEYl可 以增加報文發(fā)送時不能正確發(fā)送數(shù)據(jù)報文的概率,通過按鈕KEY2可以減小報文發(fā)送時不 能正確發(fā)送數(shù)據(jù)報文的概率,例如,測試系統(tǒng)內(nèi)部設(shè)定報文不能正確發(fā)送的概率為15%,也 就是說,每發(fā)送100次速度報文的時候,系統(tǒng)應(yīng)該模擬有15次的速度報文數(shù)據(jù)發(fā)送是不正 確的,那么通過操作按鈕KEYl可以增加報文發(fā)送時不能正確發(fā)送數(shù)據(jù)報文的概率,如增大 到20 %,只要變化為比15 %大的一個概率就可以;而通過按鈕KEY2可以減小報文發(fā)送時不 能正確發(fā)送數(shù)據(jù)報文的概率,如減小到10%,只要變化為比15%小的一個概率就可以。
同時,在系統(tǒng)內(nèi)部設(shè)定一個變量數(shù)據(jù)random,random的取值可取1_100內(nèi)的任 意一個數(shù)值,即測試過程中測試系統(tǒng)可以將1-100以內(nèi)的任何一個數(shù)值以均等的機會分 配給數(shù)據(jù)變量random,也就是數(shù)據(jù)變量random被賦予1-100內(nèi)的任意一個數(shù)值的概率都 是相等的,都為1%,然后系統(tǒng)內(nèi)部設(shè)定兩個變量值datal和data2,兩個變量的關(guān)系為, 1 ( datal ( data2 ( 100,然后測試系統(tǒng)可以開始對CAN總線汽車儀表進行丟包測試的測 試ο
實施例一
如圖9所示,測試系統(tǒng)先進行初始化;
步驟S0001,控制模塊控制計時模塊清零并開始計時;
步驟S0002,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的車速 報文發(fā)送周期T_SPD ;如果判斷結(jié)果為是,系統(tǒng)進入步驟S0003,如果判斷結(jié)果為否,則控制 模塊控制計時模塊繼續(xù)進行計時;
步驟S0003,控制模塊控制隨機變量random從數(shù)值1一100內(nèi)隨意取一整數(shù)值,然 后系統(tǒng)進入步驟S0004 ;
步驟S0004,控制模塊比較隨機變量random的數(shù)值與其內(nèi)部設(shè)定的數(shù)據(jù)變量 datal和data2的大小;如果滿足datal ^ random ^ data2,則系統(tǒng)進入步驟S0005,如果 不滿足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S006。
步驟S0005,控制模塊控制發(fā)送模塊放棄當(dāng)前速度報文的發(fā)送,即形成丟包;然后 系統(tǒng)返回步驟S0001繼續(xù)進行下一個循環(huán);
步驟S0006,即random不滿足關(guān)系式datal ^ random ^ data2,此時控制模塊控 制發(fā)送模塊發(fā)送當(dāng)前速度報文,之后系統(tǒng)返回步驟S0001進行下一個速度報文發(fā)送循環(huán);
在以上測試流程中,測試系統(tǒng)內(nèi)部報文丟包的概率為(data2-datal+l)/100,如 果需要增大測試系統(tǒng)的丟包的概率,則可以通過控制按鈕KEYl的操作來實現(xiàn),通過控制按 鈕KEYl的操作可以實現(xiàn)改變測試系統(tǒng)內(nèi)部變量datal和data2的數(shù)值,即通過增大變量 data2的取值或者減小變量datal的取值來實現(xiàn)增大測試系統(tǒng)內(nèi)部的丟包概率。但是變量 datal和data2的數(shù)值在滿足關(guān)系式datal ^ data2的同時不能超出1—100的數(shù)值范圍; 同樣通過控制按鈕KEY2的操作可以實現(xiàn)改變測試系統(tǒng)內(nèi)部變量datal和data2的數(shù)值,即 通過減小變量data2的取值或者增大變量datal的取值來實現(xiàn)減小測試系統(tǒng)內(nèi)部的丟包概 率。但是變量datal和data2的數(shù)值同樣在滿足關(guān)系式datal ^ data2的同時不能超出 1-100的數(shù)值范圍;通過以上方式,可以在通過按鈕KEYl或按鈕KEY2改變測試系統(tǒng)內(nèi)部設(shè) 定的丟包概率后再對CAN總線汽車儀表進行重復(fù)檢測。
實施例二
如圖10所示,測試系統(tǒng)先進行初始化;
步驟S0001,控制模塊控制計時模塊清零并開始計時;
步驟S0002,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的車速 報文發(fā)送周期T_SPD ;如果判斷結(jié)果為是,系統(tǒng)進入步驟S0003,如果判斷結(jié)果為否,則控制 模塊控制計時模塊繼續(xù)進行計時;
步驟S0003,控制模塊控制隨機變量random從數(shù)值1一100內(nèi)隨意取一整數(shù)值,然 后系統(tǒng)進入步驟S0004 ;
步驟S0004,控制模塊比較隨機變量random的數(shù)值與其內(nèi)部設(shè)定的數(shù)據(jù)變量 datal和data2的大?。蝗绻麧M足datal ^ random ^ data2,則系統(tǒng)進入步驟S0005,如果 不滿足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S006。
步驟S0005,控制模塊調(diào)取并修改當(dāng)前速度報文,將修改后一個錯誤速度報文發(fā)送 給CAN總線汽車儀表;然后系統(tǒng)返回步驟S0001繼續(xù)進行下一個循環(huán);
步驟S0006,即random不滿足關(guān)系式datal ^ random ^ data2,此時控制模塊控 制發(fā)送模塊發(fā)送當(dāng)前速度報文,之后系統(tǒng)返回步驟S0001進行下一個速度報文發(fā)送循環(huán);
這樣通過按鈕KEYl或按鈕KEY2也可以改變測試系統(tǒng)內(nèi)部設(shè)定的發(fā)送錯誤報文數(shù) 據(jù)的概率,然后再對CAN總線汽車儀表進行重復(fù)檢測。
以上兩個實施例中,考慮到測試的便捷性,變量datal優(yōu)選取值為1,變量data2優(yōu) 選取值為15。
在以上測試過程中,對CAN總線汽車儀表進行丟包測試的目的是為了觀察儀表在惡劣的CAN通信狀況下的工作狀況,通過測試觀察儀表指示、顯示部分的工作狀況間接的 反應(yīng)出整車的CAN通信狀況,如果在檢測過程中發(fā)現(xiàn)汽車儀表的顯示與測試系統(tǒng)發(fā)送的內(nèi) 部速度報文不一致,則表明CAN總線汽車儀表存在問題需要進一步優(yōu)化,通過這種檢測可 以為CAN總線汽車儀表裝車時可能出現(xiàn)的問題做提前測試、分析、改進。
本測試方法是對汽車組合儀表失效模式的一種測試,通過測試、觀察CAN總線汽 車儀表在惡劣的汽車CAN總線通信狀況下的工作情況,為CAN總線汽車儀表裝車時可能出 現(xiàn)的問題做分析、參考,做到提前發(fā)現(xiàn)、暴露問題,及時解決問題。縮短了 CAN總線汽車組合 儀表的測試周期,降低了 CAN總線汽車儀表的測試成本。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于CAN總線汽車儀表的測試系統(tǒng),其特征在于,所述測試系統(tǒng)包括單片機和 CAN收發(fā)器,所述單片機包括控制模塊、存儲模塊、發(fā)送模塊及計時模塊,所述存儲模塊、發(fā) 送模塊、計時模塊分別與所述控制模塊電連接,所述發(fā)送模塊通過CAN收發(fā)器與CAN總線汽 車儀表相連接;所述存儲模塊,用于存儲CAN總線汽車儀表測試用的速度報文信息; 所述發(fā)送模塊,用于向CAN總線汽車儀表發(fā)送速度報文; 所述計時模塊,用于在CAN總線汽車儀表測試中計時和/或計數(shù); 所述控制模塊,用于控制所述存儲模塊、發(fā)送模塊及計時模塊工作。
2.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述測試系統(tǒng)對CAN總線汽車儀表的 測試包括抖動車速測試、勻加減速測試、CAN負(fù)載率測試和/或丟包測試。
3.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述測試系統(tǒng)還設(shè)有用于切換抖動 車速測試、勻加減速測試、CAN負(fù)載率測試及丟包測試中至少兩種測試的按鍵,所述按鍵通 過I/O接口與所述單片機相連。
4.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述測試系統(tǒng)還通過單片機上的I/O 接口連接一復(fù)位鍵,所述復(fù)位鍵用于對測試系統(tǒng)進行初始化操作。
5.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述測試系統(tǒng)還設(shè)有按鈕KEYl和 KEY2,所述按鈕通過單片機上的I/O接口與所述單片機連接。
6.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述單片機的型號為MC9S08DZ60。
7.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于,所述測試系統(tǒng)還包括用于顯示測試 系統(tǒng)工作情況的顯示裝置,所述顯示裝置與所述控制模塊電連接。
8.一種基于CAN總線汽車儀表測試系統(tǒng)的測試方法,其特征在于,包括以下步驟 測試系統(tǒng)進行初始化;控制模塊根據(jù)其內(nèi)部設(shè)定的程序a、控制發(fā)送模塊按照設(shè)定的報文發(fā)送周期向CAN總線汽車儀表發(fā)送速度報文,b、控制計時模塊進行相應(yīng)的計時和/或計數(shù); 根據(jù)以上測試判斷CAN總線汽車儀表的工作情況。
9.根據(jù)權(quán)利要求8所述的測試方法,其特征在于,包括以下步驟 步驟一,測試系統(tǒng)選擇抖動車速測試;步驟二,系統(tǒng)初始化;步驟三,控制模塊設(shè)定車速報文變量newSPD的初始值為VI,同時計時模塊開始計時; 步驟四,當(dāng)計時模塊計時時間達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD時,控制模 塊控制發(fā)送模塊發(fā)送該車速報文Vl給CAN總線汽車儀表;步驟五,控制系統(tǒng)控制計時模塊的計時數(shù)據(jù)清零,并重新開始計時; 步驟六,基于儀表顯示的當(dāng)前車速curSPD,控制系統(tǒng)賦予車速報文變量newSPD —個新 的報文值V2 ;步驟七,當(dāng)計時模塊計時時間達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD時,控制模 塊控制發(fā)送模塊發(fā)送該車速報文V2給CAN總線汽車儀表; 步驟八,觀察指針的反映。
10.根據(jù)權(quán)利要求9所述的測試方法,其特征在于,在測試開始前,測試系統(tǒng)設(shè)定速度可在時間Tl內(nèi)速度由0加速到V,或者速度由V減速到0。
11.根據(jù)權(quán)利要求10所述的測試方法,其特征在于,所述V2滿足關(guān)系式V2= Vl士V*T_SPD/T1。
12.根據(jù)權(quán)利要求9所述的測試方法,其特征在于,在所述步驟四和步驟七中,當(dāng)計時 模塊的計時時間沒有達(dá)到其內(nèi)部設(shè)定的車速報文發(fā)送周期T_SPD時,測試系統(tǒng)處于等待狀 態(tài),當(dāng)計時模塊的計時時間達(dá)到其系統(tǒng)內(nèi)設(shè)的車速報文周期T_SPD時,系統(tǒng)進入下一個步馬聚ο
13.根據(jù)權(quán)利要求10所述的測試方法,其特征在于,所述Tl的取值范圍為8S-12S。
14.根據(jù)權(quán)利要求10所述的測試方法,其特征在于,所述速度V的取值范為90km/ h-120km/h。
15.根據(jù)權(quán)利要求8所述的測試方法,其特征在于,還包括步驟S01,控制模塊判斷當(dāng)前測試為勻加速測試時,系統(tǒng)進入步驟S02 ; 步驟S02,計時模塊開始計時;步驟S03,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的速度報文發(fā) 送周期T_SPD,如果是,系統(tǒng)進入步驟S04 ;如果否,計時模塊繼續(xù)計時直到其計時達(dá)到內(nèi)部 速度報文發(fā)送周期T_SPD ;步驟S04,計時模塊對內(nèi)設(shè)整數(shù)變量i進行累加計數(shù),整數(shù)變量i初始值為1 ; 步驟S05,控制模塊調(diào)取一個速度報文值Vi,并控制發(fā)送模塊將此速度報文Vi發(fā)送給 CAN總線汽車儀表,同時計時模塊的計時清零;步驟S06,控制系統(tǒng)判斷速度Vi是否達(dá)到其內(nèi)部設(shè)定的最大車速Vmax,如果Vi達(dá)到了 其內(nèi)部設(shè)定的最大車速Vmax,那么系統(tǒng)進入勻減速測試,如果Vi沒有達(dá)到其內(nèi)部設(shè)定的最 大車速Vmax,則系統(tǒng)返回步驟S02進入下一個勻加速測試循環(huán)。
16.根據(jù)權(quán)利要求15所述的測試方法,其特征在于,所述控制模塊判斷當(dāng)前測試為勻 減速測試時,系統(tǒng)進入步驟S07 ;步驟S07,系統(tǒng)轉(zhuǎn)入勻減速測試; 步驟S08,計時模塊開始計時;步驟S09,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的速度報文發(fā) 送周期T_SPD,如果判斷結(jié)果為是,系統(tǒng)進入步驟SlO ;如果判斷結(jié)果為否,計時模塊繼續(xù)計 時直到其計時達(dá)到內(nèi)部速度報文發(fā)送周期T_SPD ;步驟S10,計時模塊對內(nèi)設(shè)整數(shù)變量η進行累加計數(shù),所述整數(shù)變量η的初始值為1 ; 步驟Sll,控制模塊從存儲模塊調(diào)取一個速度報文值Vn,并控制發(fā)送模塊將所述速度 報文Vn發(fā)送給CAN總線汽車儀表,同時計時模塊的計時清零;步驟S12,控制系統(tǒng)判斷速度Vn是否達(dá)到其內(nèi)部設(shè)定的最小車速0,如果是,系統(tǒng)進入 步驟S02 ;如果否,系統(tǒng)返回步驟S08從而進入下一個勻減速測試循環(huán)。
17.根據(jù)權(quán)利要求15所述的測試方法,其特征在于,所述速度報文Vi滿足公式:vi+1= Vi+al*T_SPD,al為測試系統(tǒng)內(nèi)設(shè)的勻加速測試時的加速度。
18.根據(jù)權(quán)利要求16所述的測試方法,其特征在于,所述速度報文Vn滿足公式Vn+1= Vn+a2*T_SPD,a2為測試系統(tǒng)內(nèi)設(shè)的勻減速測試時的加速度。
19.根據(jù)權(quán)利要求15所述的測試方法,其特征在于,所述Vmax的取值范圍為90km/h-120km/h。
20.根據(jù)權(quán)利要求17所述的測試方法,其特征在于,所述al的取值范圍為2.5m/s2-4m/2S 。
21.根據(jù)權(quán)利要求18所述的測試方法,其特征在于,所述a2的取值范圍為-5m/s2--8m/2S 。
22.根據(jù)權(quán)利要求8所述的測試方法,其特征在于,還包括以下步驟 步驟S001,按照系統(tǒng)內(nèi)設(shè)的固有周期發(fā)送T_SPD發(fā)送車速報文;步驟S002,控制模塊檢測是否有按鈕按下,如果有,控制模塊進一步判斷是按鈕KEYl 還是按鈕KEY2 ;如果沒有檢測到按鈕按下的信息,系統(tǒng)返回步驟SOOl ; 步驟S003,如果判斷按鈕KEYl被按下,系統(tǒng)進入步驟S004 ;步驟S004,控制模塊控制發(fā)送模塊按照時間t的降幅減少系統(tǒng)上一次發(fā)送報文時的報 文發(fā)送周期;步驟S005,控制模塊控制發(fā)送模塊按照減小后的報文發(fā)送周期發(fā)送車速報文,然后系 統(tǒng)返回步驟S002重新進行下一個報文發(fā)送循環(huán)。
23.根據(jù)權(quán)利要求22所述的測試方法,其特征在于,所述測試方法還包括步驟S006,當(dāng)控制模塊判斷按鈕KEY2被按下時,控制模塊控制系統(tǒng)按照時間t的增幅 增大系統(tǒng)上一次發(fā)送車速報文時的報文發(fā)送周期;步驟S007,控制模塊控制發(fā)送模塊按照增大后的報文發(fā)送周期發(fā)送車速報文,然后系 統(tǒng)進入步驟S002重新進行下一個報文發(fā)送循環(huán)。
24.根據(jù)權(quán)利要求22所述的測試方法,其特征在于,所述時間t的取值范圍為 0.005S-0. 015S。
25.根據(jù)權(quán)利要求8所述的測試方法,其特征在于,所述測試方法還包括 步驟S0001,控制模塊控制計時模塊清零并開始計時;步驟S0002,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的車速報文 發(fā)送周期T_SPD ;如果判斷結(jié)果為是,系統(tǒng)進入步驟S0003,如果判斷結(jié)果為否,則控制模塊 控制計時模塊繼續(xù)進行計時;步驟S0003,控制模塊控制隨機變量random從數(shù)值1一100內(nèi)任意取一整數(shù)值; 步驟S0004,控制模塊比較隨機變量random的數(shù)值與其內(nèi)部設(shè)定的數(shù)據(jù)變量datal和 data2的大小,如果滿足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S0005,如果不滿 足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S006。步驟S0005,控制模塊控制發(fā)送模塊放棄當(dāng)前速度報文的發(fā)送,即形成丟包;然后系統(tǒng) 返回步驟S0001繼續(xù)進行下一個循環(huán);步驟S0006,控制模塊控制發(fā)送模塊發(fā)送當(dāng)前速度報文,之后系統(tǒng)返回步驟S0001進行 下一個速度報文發(fā)送循環(huán)。
26.根據(jù)權(quán)利要求8所述的測試方法,其特征在于,所述測試方法還包括以下步驟 步驟S0001,控制模塊控制計時模塊清零并開始計時;步驟S0002,控制模塊判斷計時模塊的計時時間是否達(dá)到其系統(tǒng)內(nèi)部設(shè)定的車速報文 發(fā)送周期T_SPD ;如果判斷結(jié)果為是,系統(tǒng)進入步驟S0003,如果判斷結(jié)果為否,則控制模塊 控制計時模塊繼續(xù)進行計時;步驟S0003,控制模塊控制隨機變量random從數(shù)值1一100內(nèi)任意取一整數(shù)值,然后系 統(tǒng)進入步驟S0004 ;步驟S0004,控制模塊比較隨機變量random的數(shù)值與其內(nèi)部設(shè)定的數(shù)據(jù)變量datal和 data2的大?。蝗绻麧M足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S0005,如果不 滿足關(guān)系式datal ^ random ^ data2,則系統(tǒng)進入步驟S006。步驟S0005,控制模塊調(diào)取并修改當(dāng)前速度報文,將修改后一個錯誤速度報文發(fā)送給 CAN總線汽車儀表;然后系統(tǒng)返回步驟S0001繼續(xù)進行下一個循環(huán);步驟S0006,控制模塊控制發(fā)送模塊發(fā)送當(dāng)前速度報文,之后系統(tǒng)返回步驟S0001進行 下一個速度報文發(fā)送循環(huán)。
27.根據(jù)權(quán)利要求25或沈任意一項所述的測試方法,其特征在于,所述變量datal和 data21 ( datal ( data2 ( 100。
28.根據(jù)權(quán)利要求27所述的測試方法,其特征在于,所述測試系統(tǒng)內(nèi)部丟包或者發(fā)送 錯誤報文的概率為(data2_datal+l)/100。
29.根據(jù)權(quán)利要求9、15、22、25或26任意一項所述的測試方法,其特征在于,所述TSPD 的取值范圍為0. 1S-0. 2S。
全文摘要
一種基于CAN總線汽車儀表的測試系統(tǒng),包括單片機和CAN收發(fā)器,所述單片機包括控制模塊、發(fā)送模塊及計時模塊,所述存儲模塊、發(fā)送模塊、計時模塊分別與所述控制模塊電連接,所述發(fā)送模塊通過CAN收發(fā)器與CAN總線汽車儀表相連接,還提供一種測試方法,測試系統(tǒng)進行初始化;控制模塊根據(jù)其內(nèi)部設(shè)定的程序a、控制發(fā)送模塊按照設(shè)定的周期向CAN總線汽車儀表發(fā)送速度報文,b、控制計時模塊進行計時和/或計數(shù);根據(jù)以上測試判斷CAN總線汽車儀表的工作情況。以上技術(shù)方案,利用測試系統(tǒng)通過向CAN總線模擬發(fā)送連續(xù)甚至復(fù)雜的通訊報文,縮短了CAN總線汽車組合儀表的測試周期,有效降低了儀表的測試成本。
文檔編號G01P21/02GK102033141SQ20091019055
公開日2011年4月27日 申請日期2009年9月30日 優(yōu)先權(quán)日2009年9月30日
發(fā)明者張銘君, 祖波 申請人:比亞迪股份有限公司