齊家敏 耿 煜 程 昊
(湖北文理學(xué)院 純電動汽車動力系統(tǒng)設(shè)計與測試湖北省重點實驗室,湖北 襄陽441053)
CAN 總線是80 年代德國BOSCH 公司為了解決汽車內(nèi)部通訊而研發(fā)的一套局部短距離通訊協(xié)議,由于其高傳輸速率及可靠性,以及防爆特性而在汽車等眾多領(lǐng)域獲得了廣泛的應(yīng)用[1]。多年來一直備受各個廠家的青睞,是目前最有前途的現(xiàn)場總線之一。隨著電子技術(shù)日新月異,速率越來越高,工況干擾越來越復(fù)雜,同時對CAN 總線抗干擾能力提出了越來越高的要求。CAN 總線多用于工控和汽車領(lǐng)域,在CAN 總線的開發(fā)測試階段,需要對其拓撲結(jié)構(gòu),節(jié)點功能,網(wǎng)路整合等進行開發(fā)測試,需要虛擬、半虛擬、全實物仿真測試平臺,并且必須測試各節(jié)點是否符合ISO11898 中規(guī)定的錯誤響應(yīng)機制等。CAN 總線測試主要包括物理層測試、數(shù)據(jù)鏈路層測試以及應(yīng)用層測試,物理層測試主要測試CAN 總線的電氣特性,數(shù)據(jù)鏈路層和應(yīng)用層測試主要包括協(xié)議層測試及其抗干擾能力測試[2]。根據(jù)ISO11898 標準協(xié)議僅僅規(guī)定了物理層和數(shù)據(jù)鏈路層協(xié)議,應(yīng)用層交給廠家根據(jù)自己的需求開發(fā)自己的應(yīng)用層協(xié)議。應(yīng)用層協(xié)議現(xiàn)如今應(yīng)用比較廣泛的是特用于工廠自動化的Device Net、適用于嵌入式工業(yè)局域網(wǎng)的CANOpen 和專門為大型貨車和重工機械車輛設(shè)計J1939。CAN 總線測試是依據(jù)ISO11898-1 數(shù)據(jù)鏈路層標準和ISO11898-2 物理層協(xié)議標準,針對CAN 總線的電氣參數(shù)測試、協(xié)議兼容性測試、噪聲抑制等測試,制定了ISO16845 CAN總線一致性測試標準,主要包括單向接收、單向發(fā)送以及雙向通訊的測試目的、連接結(jié)構(gòu)、測試內(nèi)容和通過準則等內(nèi)容的測試細則,可有效而全面地解決CAN 總線產(chǎn)品的一致性、有效性測試問題[3]。ISO16845 規(guī)定的CAN 總線一致性測試除了對總線產(chǎn)品進行正常功能的測試外,還應(yīng)包括波形畸變、失真、注入錯誤、加入噪聲等特殊條件的測試。針對目前CAN 總線產(chǎn)品設(shè)計階段CAN 總線測試設(shè)備的普遍需求,由于所需測試指標繁多、信號要求苛刻,能完整進行CAN 總線校準標定的科研設(shè)備國內(nèi)還沒有研發(fā)和使用的報道[4]。因此,研發(fā)一套能夠?qū)AN 總線性能進行全面測試的系統(tǒng)是具有廣泛使用前景的。
CAN 總線信號實質(zhì)上就是電平信號,電平信號的好壞決定著CAN 總線信號的穩(wěn)定性和抗干擾能力。因此針對CAN 總線的物理層即電平信號特性進行測試;需要測試電平信號的顯隱性電平的電壓、電平信號上升下降的斜率、電平信號的位時間等進行測試。作為CAN 總線信號的發(fā)送和接收者電控單元也需要對其進行物理層的測試驗證。因為電控單元的一些內(nèi)部特性決定他發(fā)出的信號的電平特性和抗干擾能力;所以要測試電控單元的終端電阻、電控單元的耐高低壓測試、CAN 總線故障測試和抗發(fā)動機啟動電壓波動測試。電控單元的功能實現(xiàn),需要CAN 總線數(shù)據(jù)的交互;因此需要對CAN 總線信號傳輸?shù)耐ㄐ艑雍蛿?shù)據(jù)鏈路層進行測試。在通信層和數(shù)據(jù)鏈路層測試中,主要關(guān)注信號的采樣點測試、報文長度、報文周期、總線負載率和非預(yù)期幀接收的測試。這些測試可以保證電控單元數(shù)據(jù)發(fā)送和接收準確性。根據(jù)CAN 節(jié)點的測試要求,設(shè)計的CAN 總線自動化測試系統(tǒng)框圖如下圖:
圖1 CAN 自動化測試系統(tǒng)總體方案
CAN 總線測試分一對一測試和集成測試,一對一測試就是對CAN 總線的單個節(jié)點進行物理層和數(shù)據(jù)鏈路層測試,集成測試也就是把待測CAN 總線的所有節(jié)點同時打開來測試它的物理層和數(shù)據(jù)鏈路層特性。下面以單點一對一測試來簡單描述測試的基本原理和流程。
CAN 總線測試嚴格依據(jù)ISO11898-1CAN 總線數(shù)據(jù)鏈路層協(xié)議、ISO11898-2 CAN 總線物理層協(xié)議以及ISO16845 CAN 總線一致性測試標準要求。主要完成待測CAN 總線系統(tǒng)的電氣層、協(xié)議層及噪聲抑制性能校準測試,總體功能包括:
a. CAN 總線接收發(fā)送性能測試功能:輸出參數(shù)可控或經(jīng)過計量確認的總線信號,來校準規(guī)定的容差范圍內(nèi)的接收性能,總線信號波形可控的參數(shù)包括電壓幅度、占空比、上升沿、下降沿、過零點畸變、波形對稱性、噪聲疊加和同步信號。
b. CAN 總線時鐘穩(wěn)定度(抖動)的校準與測試功能:CAN 總線內(nèi)部的時鐘信號作為總線信號的基準,是影響總線波形參數(shù)的主要因素,包括位時間等,研究時鐘頻率對CAN 總線性能的影響。
c. 具備錯誤注入以及錯誤檢測功能,可注入/檢測的錯誤包括:奇偶檢驗錯誤、命令字錯誤、數(shù)據(jù)字錯誤及狀態(tài)字錯誤等。
本測試系統(tǒng)基于Windows 操作系統(tǒng),以Labview、VC++為程序設(shè)計工具,結(jié)合NI 公司MeasurmentStudio 虛擬儀器控件設(shè)計操作界面,使操作界面更加美觀且便于操作。為了便于功能的修改和擴充,軟件結(jié)構(gòu)采用模塊化程序設(shè)計方式。在功能上,根據(jù)CAN 總線物理層和數(shù)據(jù)鏈路層測試標準需求進行設(shè)計。
本測試系統(tǒng)的信號及控制流向見圖一的箭頭,具體測試項目描述如下:首先根據(jù)測試需求,CAN 信號源根據(jù)嚴格依據(jù)ISO11898-1CAN 總線數(shù)據(jù)鏈路層協(xié)議、ISO11898-2 CAN 總線物理層協(xié)議以及ISO16845 CAN 總線一致性測試標準要求產(chǎn)生標準幀、擴展幀以及錯誤幀等。
測試第一項,CAN 總線接收發(fā)送性能測試:首先在上位工控機的控制下,由CAN 信號源輸出參數(shù)可控或經(jīng)過計量確認的總線信號,來校準規(guī)定的容差范圍內(nèi)的接收性能,總線信號波形可控的參數(shù)包括電壓幅度、占空比、上升沿、下降沿、過零點畸變、波形對稱性、噪聲疊加和同步信號。同時在一次測試過程中程控電源固定一定的電平,在后續(xù)的測試過程中每次更換一種電平,以及CAN 信號干擾源提供各種強度的電磁干擾信號以及人為可控的某一位或多位信號,產(chǎn)生錯誤幀信號,待測試系統(tǒng)根據(jù)發(fā)送的信號產(chǎn)生相應(yīng)的回復(fù)信號,測試待測試系統(tǒng)針對不同信號的相應(yīng)過程,由上位機根據(jù)待測試系統(tǒng)的相應(yīng)來判斷和標定待測試系統(tǒng)的相應(yīng)性能。同時示波器也采集測試信號并把CAN 總線測試信號采集下來通過USB 接口把信號傳輸?shù)缴衔粰C進行記錄,根據(jù)示波器的采集信號與待測試系統(tǒng)的相應(yīng)過程信號進行比對,從而測試出待測試系統(tǒng)的物理層缺陷。上述測試過程發(fā)送的信號包括標準幀、擴展幀、遠程幀,出錯幀、超載幀等,信號電平在2v-3.75V 之間可調(diào),每次測試發(fā)送一種電平一種信號,然后更換下一種電平及下一種幀信號,從而完成所有可能信號在所有電平下的相應(yīng)性能。
測試第二項,CAN 總線時鐘穩(wěn)定度的校準與測試:CAN 總線信號內(nèi)部的時鐘信號作為總線信號的基準,是影響總線波形參數(shù)的主要因素,包括位時間等,研究時鐘頻率對CAN 總線性能的影響。測試系統(tǒng)首先控制CAN 信號源發(fā)送周期和占空比可調(diào)的同時符合CAN 總線標準協(xié)議的標準幀、擴展幀、遠程幀,出錯幀、超載幀等,也就是說發(fā)送時鐘抖動信號,根據(jù)待測試系統(tǒng)是否能在各種抖動情況下做出正確的接受來判斷待測試系統(tǒng)能承受多大的時鐘抖動信號,以判定待測試系統(tǒng)的接受性能。
測試第三項,總線誤碼率的校準和測試:提供外部噪聲接口,校準時引入1kHz~4MHz 的高斯噪聲信號,輸出一系列疊加規(guī)定干擾信號的數(shù)據(jù)字,統(tǒng)計出遠程終端RT 的拒收次數(shù)、接收字數(shù)、差錯次數(shù)等信息,對誤碼率進行統(tǒng)計,最終得到誤碼率的校準數(shù)據(jù)。在測試過程中這種干擾信號主要由測試系統(tǒng)的CAN總線干擾模塊來完成。
測試第四項,具備錯誤注入以及錯誤檢測功能,可注入/檢測的錯誤包括:奇偶檢驗錯誤、命令字錯誤、數(shù)據(jù)字錯誤及狀態(tài)字錯誤等。在測試過程中,首先在上位機的控制下分別依次發(fā)送標準幀、擴展幀、遠程幀,出錯幀、超載幀等,由總線干擾信號模塊通過上位機的命令來人為的干擾和更改上述信號中的一個數(shù)據(jù)位或者多個數(shù)據(jù)位而產(chǎn)生奇偶檢驗錯誤、命令字錯誤、數(shù)據(jù)字錯誤及狀態(tài)字錯誤等,根據(jù)待測試系統(tǒng)的返回信號,由上位機來決斷待測試系統(tǒng)是否做成了正確的相應(yīng)。根據(jù)注入錯誤,待測試系統(tǒng)的相應(yīng)過程應(yīng)該是不做相應(yīng)或者回復(fù)錯誤幀要求重發(fā)等才算做出了正確的相應(yīng),否則判斷待測試對此種錯誤信號不具備抗干擾能力。
本文主要討論了CAN 總線測試系統(tǒng)的整體設(shè)計方案以及測試方法與過程,本測試系統(tǒng)不但能完成CAN 總線接收發(fā)送性能測試,包括輸出參數(shù)可控或經(jīng)過計量確認的總線信號,來校準規(guī)定的容差范圍內(nèi)的接收性能,總線信號波形可控的參數(shù)包括電壓幅度、占空比、上升沿、下降沿、過零點畸變、波形對稱性、噪聲疊加和同步信號。同時設(shè)計了CAN 總線時鐘穩(wěn)定度(抖動)的校準與測試及錯誤注入以及錯誤檢測,通過實際工程驗證方案切實可行,有一定的推廣實用價值。