楊法松
CAN 是 Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協(xié)議。在汽車產業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數(shù)量也隨之增加。為適應“減少線束的數(shù)量”、“通過多個LAN,進行大量數(shù)據(jù)的高速通信”的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,在歐洲已是汽車網(wǎng)絡的標準協(xié)議。
CAN總線是德國BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率最高可達1Mbps。
CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。
CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點可使網(wǎng)絡內的節(jié)點個數(shù)在理論上不受限制,數(shù)據(jù)塊的標識符可由11位或29位二進制數(shù)組成,因此可以定義2或2個以上不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,從而保證了通信的實時性。CAN協(xié)議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業(yè)過程監(jiān)控設備的互連,因此,越來越受到工業(yè)界的重視,并已公認為最有前途的現(xiàn)場總線之一。
CAN總線信號實質上就是電平信號,電平信號的好壞決定著CAN總線信號的穩(wěn)定性和抗干擾能力。因此針對CAN總線的物理層即電平信號特性進行測試;需要測試電平信號的顯隱性電平的電壓、電平信號上升下降的斜率、電平信號的位時間等進行測試。作為 CAN總線信號的發(fā)送和接收者電控單元也需要對其進行物理層的測試驗證。因為電控單元的一些內部特性決定他發(fā)出的信號的電平特性和抗干擾能力;所以要測試電控單元的終端電阻、電控單元的耐高低壓測試、CAN總線故障測試和抗發(fā)動機啟動電壓波動測試。
電控單元的功能實現(xiàn),需要 CAN總線數(shù)據(jù)的交互;因此需要對 CAN總線信號傳輸?shù)耐ㄐ艑雍蛿?shù)據(jù)鏈路層進行測試。在通信層和數(shù)據(jù)鏈路層測試中,主要關注信號的采樣點測試、報文長度、報文周期、總線負載率和非預期幀接收的測試。這些測試可以保證電控單元數(shù)據(jù)發(fā)送和接收準確性。
CAN總線物理層測試項如表1所示。
CANoe:用來模擬除DUT外其它節(jié)點發(fā)送和接收報文;記錄監(jiān)測總線報文;對DUT進行ACK應答。
CAN示波器:具有CAN/LIN譯碼功能;CAN_H/CAN_L單通道輸入或者 CAN_H/CAN_L采用差分探頭差分輸入;KL15/IGN接入單通道輸入。
注:本文所提到示波器推薦采用 CANscope,也可采用外置示波器。
Powersupply:程控電源,通過PC可控模擬不同供電電壓。
表1
根據(jù)CAN總線物理層測試項的需求,測試連接圖如圖1:
R1R2:選配型終端電阻 120Ω。對于終端型 DUT,需選配R1或R2;對于非終端型DUT,需同時配置R1與R2。
測試評判標準如表2所示:
表2
CAN數(shù)據(jù)鏈路層和通信層項如表3所示:
表3
根據(jù)CAN總線物理層測試項的需求,測試連接圖如圖2:
CANoe:用來模擬除DUT外其它節(jié)點發(fā)送和接收報文;記錄監(jiān)測總線報文;對DUT進行ACK應答。
CAN Stress(DR):模擬總線物理干擾。
CAN示波器:具有CAN/LIN譯碼功能;CAN_H/CAN_L單通道輸入或者 CAN_H/CAN_L采用差分探頭差分輸入;KL15/IGN接入單通道輸入。
Powersupply:程控電源,通過PC可控模擬不同供電電壓。
R1R2:選配型終端電阻 120Ω。對于終端型 DUT,需選配R1或R2;對于非終端型DUT,需同時配置R1與R2。
測試評判標準如表4所示:
表4
CAN總線測試自動化的實現(xiàn),需要搭建自動化測試機柜;機柜設計包括機柜的結構布置設計和內部走線設計,具體設計需求如下:
機柜具有空氣開關,緊急制動開關等安全操控按鈕;
分層安裝電源控制模塊、顯示器、程控電源、高精度網(wǎng)絡示波器、CANstressDR、CAN-LIN外圍電路模擬模塊、抽屜、程控萬用表、工控機;
電源管理模塊
用于控制測試系統(tǒng)的整體供電,可以控制電源的通斷,同時具備短路保護和緊急制動功能。PDU電源模塊有防止突然斷電或短路等而損壞設備的自我保護能力;有獨立開關實現(xiàn)啟動和關閉。
電源管理模塊輸入為220V標準電壓,內部集成了12V電壓轉換模塊,直接給 CAN-LIN外圍電路模擬模塊供電,另再分出一路電源,給程控電源供電。
網(wǎng)絡測試系統(tǒng)內部電源走線設計的示意圖如如下:
程控電源
程控電源可以通過GPIB 接口與測試主機相連,由軟件程序直接控制其輸出,給被測節(jié)點供電和給測試臺架系統(tǒng)提供電源輸入,參數(shù)如下:
輸出電壓:0~80V;
輸出電流:0~100A;
尺寸為標準19寸/1U上架形式,無需設計面板和插箱;
電源輸出電壓可通過功能測試系統(tǒng)自動進行控制,也可手動實現(xiàn)電壓調節(jié);
具備USB程控接口;
型號:Agilent6700B(基礎模塊)+N6752A(電壓模塊)
該型號程控電源的優(yōu)勢為多模塊電源,最多支持4模塊輸出,且恒流源與電壓源之間可以任意切換,以實現(xiàn)11898-2中的測試項。程控電源示意如下圖所示:
電源控制原理示意圖如下圖所示:
高精網(wǎng)絡示波器
主要實現(xiàn)對 CAN信號輸出特性的精確捕捉、測量及分析,控制主機可通過示波器程控接口支持 CAN網(wǎng)絡的物理層測試。功能要求:
差分探頭,具有常規(guī)示波器的功能;
頻帶寬度:100MHZ;
采樣率:4GSa/S;
具備CAN/LIN信號采集分析能力;
可同時測量兩路不同速率的CAN信號;
測量時自動獲取波特率;
具備4個測量通道;
具備USB程控接口;
型號:Agilent MSO-X 3014A。
CANstress DR
CANstress DR主要實現(xiàn)對CAN網(wǎng)絡的物理屬性和邏輯電位進行干擾,將其直接串連到CAN 網(wǎng)絡中,通過CANoe編程實現(xiàn)各種觸發(fā)條件與干擾邏輯控制,包括:
線間短路,線/電源(地)短路,斷路;
位錯誤的模擬;
通過破壞 CAN報文特定的位域,對節(jié)點有目的施加干擾;
VN1640(CANoe)
VN1600產品系列是Vector公司最新CAN/LIN總線測試產品。其中本項目中使用的VN1640帶有4路CAN/LIN接口,且CAN/LIN接口可隨意配置。CANoe軟件具有以下實用測試功能:
支持 dbc/ldf等文件格式的網(wǎng)絡數(shù)據(jù)文件;
支持節(jié)點的仿真;
支持CAN、LIN 各類數(shù)據(jù)格式(如:.asc)的回放功能,在Configuration Setting界面中修改Animation Factor可以改變回放速度;
回放數(shù)據(jù)最大可達10G;
當存儲數(shù)據(jù)量大于2G時,CANoe會將此log文件另存;
支持回放快、慢的自由設置功能;
測試用例運行過程中,測試可暫停;在取消暫停功能后,測試能繼續(xù)運行;
接口面板
測試臺架線束與功能測試系統(tǒng)機柜的接口端子,覆蓋各被測ECU的I/O、總線以及電源引腳,不同ECU的線束通過不同的接口連接,方便靈活測試。
工控機
工控機用于運行軟件環(huán)境,開發(fā)和管理整個測試項目。工控機相關參數(shù)如下:
4U高度,能夠安裝于標準19寸機柜;
可鎖前門,防止未經許可的訪問;
雙核2.8G/內存2G/硬盤500G;
具備至少8個USB2.0接口,1個COM接口以及TCP/IP接口、5個PIC接口;
針對以上技術要求,選用研華(Advantech) 4U 上架式機箱,如下圖10所示:
走線設計
機柜內部走線指機柜各層之間信號交聯(lián)。
對于機柜內部走線采用端子排和連接器配合導軌及線槽實現(xiàn)暗藏式走線,其示意圖如下:
自動測試板卡
測試插箱的內部為5塊控制板卡及1塊預留的16通道I/O板卡組成(均為Hirain根據(jù)11898協(xié)議要求研發(fā),并已在其他項目中驗證應用),各個板卡的功能是采用NI-6509來實現(xiàn)的??刂瓢蹇ㄌ峁┤缦鹿δ埽?/p>
控制:控制板整體控制整個機柜的電源及控制信號,通過對繼電器矩陣的控制實現(xiàn)對3路CAN通道,2路LIN通道,實現(xiàn) CANH(LIN)、CANL、GND、Power Supply 、 WakeUp Line等的控制;
故障注入:可實現(xiàn)CAN_H/CAN_L對Vbat/GND的短路,CAN_H對CAN_L斷路,CAN_H/CAN_L斷路等網(wǎng)絡故障注入功能;
預留IO輸入輸出控制端口:共12路可靈活配置的IO端口,例如:可靈活配置3.3V、5V、12V、24 V輸出;
數(shù)字萬用表
數(shù)字萬用表用于測試過程中測試電壓、電阻及電流等值。萬用表相關參數(shù)如下:
7.5 位分辨率可進行高靈敏度的 DCV 和電阻測量:100 pV 和 100 n
內置低噪聲雙通道掃描儀;
采用 SPRT 探頭進行溫度測量,精度高達 0.003 ℃;
數(shù)字萬用表示意圖如下所示:
根據(jù)硬件構成搭建的測試機柜如下圖15所示:
根據(jù)CAN總線測試需求,程控電源、CANoe、示波器、數(shù)字萬用表、CAN外圍板卡和CANStress有效的集成在測試機柜中。示波器用來測試監(jiān)控電控單元電平信號的顯隱性電壓,電平信號跳變的上升下降斜率和信號位時間。程控電源用來控制電控單元的供電,可以實現(xiàn)高低壓通信的測試,并且配合CAN外圍板卡,實現(xiàn)CAN總線故障測試。數(shù)字萬用表用來測試電控單元的終端電阻。CANStress是總線干擾儀,實現(xiàn)對CAN總線的干擾busoff測試,并測試CAN總線的采樣點。CANoe是CAN總線的監(jiān)測、仿真、測試工具;對總線報文時間周期、報文長度等測試;仿真總線報文對電控單元測試非預期幀和預期幀的反饋。
程控電源、示波器、數(shù)字萬用表、CAN外圍板卡和CANStress可以開放外圍調用程序;CANoe具有調用其他端口和設備的功能,在CANoe自帶的編程軟件CAPL中將這些設備的調用庫函數(shù)進行聲明;就可以進行調用。用 CAPL編寫測試評判標準,然后采集這些設備測試數(shù)據(jù),進行測試驗證。
將程控電源、示波器、數(shù)字萬用表等設備的調用函數(shù)生成為CANoe識別的.cin文件,在測試主程序當中對設備庫函數(shù)進行聲明。函數(shù)聲明如圖16:
先將采集標志位清零,然后接收程控電源、示波器、數(shù)字萬用表等設備的測試數(shù)據(jù)。上升斜率數(shù)據(jù)采集如圖17:
將測試數(shù)據(jù)與評判標準進行對比,如果符合就輸出通過,并上傳通過數(shù)據(jù);如果失敗就輸出錯誤,上傳錯誤數(shù)據(jù);在測試報告中打印這些結果和測試數(shù)據(jù);最后將測試數(shù)據(jù)和測試條件等標志位清空。上升斜率測試數(shù)據(jù)評判如圖18:
將 CANoe CAPL軟件上傳的測試結果和測試數(shù)據(jù)添加到測試報告中,形成物理層測試報告。其中的一部分測試數(shù)據(jù)如表五,其中顯性電壓測試截圖如圖19:
表5
表6
數(shù)據(jù)鏈路層和通信層測試項主要通過 CANoe測試完成的,CANoe直接把采集到得數(shù)據(jù)記錄下來,并填寫到測試報告中。其中的一部分測試報告如表6。
本論文通過對CAN總線的介紹,引入對CAN總線測試方法和測試標準的介紹。結合測試方法和用到的測試工具;本文詳細闡述了一種通過CANoe測試工具,對其他CAN總線測試工具的調用和管理,達到測試數(shù)據(jù)的采集和評判;實現(xiàn) CAN總線物理層、數(shù)據(jù)鏈路層和通信層自動化測試的方法。
本文介紹的這種 CAN總線自動化測試方法,實現(xiàn)了總線測試的平臺化;大大節(jié)省了總線測試時間,縮短了總線開發(fā)周期;有效的推進了整車項目進度。
[1] 王立萍.CAN網(wǎng)絡在汽車控制方法的應用[J].工業(yè)儀表與 自動化裝置,2009(5):77—79.
[2] 梁銳.NI軟硬件平臺在汽車 ECU開發(fā)和測試中的應用[J].世界 電子元器件,2007(12):61—63.
[3] ISO 11898-1, Road vehicles - Controller area network (CAN) - Part 1: Data link layer and physical signaling.
[4] ISO 11898-2, Road vehicles - Controller area network(CAN) - Part 2:High-speed medium access unit.
[5] ISO 15765-1, Road vehicles - Diagnostics on Controller Area Networks (CAN) - Part 1: General information.