le="display: block;">
CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,由德國BOSCH公司開發,并最終成為國際標準(ISO11898)。是國際上應用最廣泛的現場總線之一。在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。
CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點可使網絡內的節點個數在理論上不受限制,數據塊的標識碼可由11位或29位二進制數組成,因此可以定義211或229個不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據,這一點在分布式控制系統中非常有用。數據段長度最多為8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會占用總線時間過長,從而保證了通信的實時性。CAN協議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。
CAN控制器工作于多主方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符)采用無損結構的逐位仲裁的方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,并且容易構成冗余結構,提高系統的可靠性和系統的靈活性。
隨著CAN總線的普及,其相關的測試設備也越來越多,但各種設備的側重點以及功能和性能卻不盡相同,美國英特佩斯控制系統有限公司()開發的總線應用軟件vehicle spy憑借其功能的全面的性能可靠被通用汽車選定為其全球標準測試工具,該軟件功能強大但卻易于學習和使用,可以同時實現數據采集,數據分析和解碼,ECU仿真,自動測試,CCP標定等功能。
其數據采集功能可以連接PC采集數據也可以脫離PC獨立采集數據,在軟件中只需點擊鼠標就可以完成所需要的數據采集要求,其數據采集設置界面見下:

“Buffer”中可以過濾出需要或不需要采集的數據;“start”中可以設置軟件開始數據采集的時刻,可以基于軟件運行時采集、接收到某個觸發條件時采集或當用戶自己設置的表達式為真時采集,如發動機轉速大于5000等(見圖①);“stop and trigger”選項設置數據保存方式,可以將采集到的數據保存到不同的緩存器中如一次性緩存器(保存固定數量的數據,當存滿以后自動創建新的文件保存新的數據)、循環緩存器(始終保存最新的給定數量的數據)、基于觸發點的數據保存(保存觸發點滿足之前或之后設定數量的數據,用于檢查模塊故障,見圖②);“storage”選項用于設置采集完畢的條件,可以由軟件自動保存數據,也可以基于手動或某個觸發保存數據或設置某個表達式來控制數據保存。
Vehicle spy的另一個亮點就是可以通過其自身的腳本語言來創建自動測試步驟,工程師只需要選擇命令然后選擇參數即可創建邏輯序列來實現自動測試而無需編程基礎,見圖④。

圖④
每個腳本的命令行數量無限制,腳本數量也無限制,而且命令中還提供了腳本與腳本之間互相調用的命令,可以實現腳本間的嵌套來完成復雜的自動測試需求。
此外該軟件除了支持CAN總線協議之外,還支持LIN、Kline、J1939,ISO15765、J1850等等協議。