目前世界上開發出了40多種現場總線,其中CAN總線因其具有實時性強、可靠性高、抗干擾性強、通信方式靈活、非破壞性的訪問方式和開發簡單、廉價等獨特之處,適合于汽車檢測線中應用。基于CAN總線的汽車檢測控制系統可以解決現有RS232、RS485等通信系統的傳輸速率慢,出現亂碼等缺點,可以提高數據傳輸的實時性和可靠性,而且創建與汽車中微電腦通信的平臺,以解決汽車與檢測互通信息的前瞻問題。
1、基于現場總線技術的汽車檢測線開發設計
1.1 汽車檢測線測控系統整體設計
汽車檢測站計算機網絡系統由現場總線網絡和數據處理網絡組成,兩者通過1臺NT服務器進行連接。現場總線網絡以CAN總線技術為核心,采用總線型網絡拓撲結構,而數據處理網絡均采用星型網絡拓撲結構,汽車檢測線總體結構如圖1所示。
圖1 基于CAN總線的汽車檢測線總體結構圖
數據處理網絡中,每個工位機的信息及車輛信息都可通過網絡進行資源共享,完成打印報表、財務報表和數據統計等各項任務。
在現場總線網絡檢測系統中,測控計算機和工位機之間都由CAN總線接口卡連接。測控計算機主要完成每個工位的初始化工作和對通信參數的設定,工位機接收汽車檢測儀器儀表的傳感器(以下簡稱下位機)的數據,檢測車到位狀態以及驅動顯示屏,下位機進行數據采集和數據初步處理。
汽車檢測站的檢測設備來自各個廠家,由于到目前為止還沒有一個統一的通信標準,不可能對檢測線上的各個檢測設備進行較大改動,所以下位機通過自身的硬件條件來確定通信方式,工位結構如圖2所示。如果下位機的通信接口是數據打印口、RS232或RS485接口,先連接現場總線通信轉換接口CAN卡,然后連接到現場總線上來完成現場總線通信。當然最好各檢測設備出廠時都采用CAN總線接口,這樣有利于設備的標準化。
圖2 工位結構圖
下位機N是汽車檢測儀表中帶有CAN的CAN控制模塊,它不需要CAN卡直接與CAN總線相連。在這種方式下,工控機只連接CAN 總線,每個下位機用并聯的方式掛接在總線上,而不需要每個下位機與工控機相連。具有節省屏蔽線、布線方式簡單和抗干擾性強的優點。工位機也可以由DSP或單片機組成的嵌入式控制器代替工控機。這種方案對檢測設備的影響較小、成本較低,總線獲取數據的可靠性較高。
1.2 汽車檢測儀表中帶有CAN的CAN控制模塊設計
CAN控制模塊是由8位的微處理器89C58、獨立CAN通信控制器SJA1000、CAN總線收發器82C250以及相關的接口組成的實時多任務的嵌入式控制系統(如圖3所示),實現CAN總線的通信協議以及相關功能,可以分成3個部分:
(1) 總線接口部分,包括總線收發器和總線控制器,這部分對于所有CAN總線智能模塊都是相同的。
(2) 與傳感器及執行機構與單片機的接口部分,不同的接口將各單元分成不同的類型。
(3) 將前兩部分連接成一個有機系統的微控制器及其外圍接口部分,稱為模塊,不同的模塊要求單片機實現不同的功能。微處理器負責從傳感器中采集數據、對SJAIO00初始化并且控制SJAIO00實現數據的接收和發送等通信任務。
圖3 CAN控制模塊的結構
2、CAN通信協議的制定
SJA1000 CAN總線控制器支持CAN 通信協議約定的4種不同幀格式,即數據幀、遠程幀、出錯幀和超載幀。
汽車檢測系統中下位機將檢測得到的數據以數據文件的形式緩存,傳輸時打包成數據幀,以報文為單位進行數據傳送。定義幀由優先級、單元地址、數據組成。
優先級的制定如表1所示,系統復位命令的優先級定義為0x00,由于1讓位于0的機制,其值越小,優先級越高。所以復位命令的優先級最高,只要收到這個命令下位機將停止發送及采集數據,并執行復位。
表1 汽車檢測系統優先級
單元地址表示下位機的地址信息,它可以由兩種方式制定,一個是使用編碼開關,現場制定地址,另外一個是出廠前程序中定義。若使用CAN卡只能使用第一種方式。
3、軟件設計
汽車檢測系統軟件主要由VC編程的主控程序,VB編程的報表程序,微處理器程序以及CAN節點通信程序組成。其中通信程序主要分為3個部分:CAN初始化,數據傳輸及數據接收。這里主要列出CAN芯片初始化程序,程序如下:
Unsigned char init_CAN (unsigned int btr0btr1)
{
EA=0;
EX0=1:
CAN— REGISTER [CONTROL]=1;//復位請求
CAN_ ACC=CAN_ REGISTER [CONTROL];
While (!CAN_ACC_0)
{
CAN REGISTER [CONTROL] =1;//確定是否復位
CAN_ACC=CAN—REGISTER [CONTROL];
}
//設置接受代碼寄存器
CAN-REGISTER [ACCEPTANCE_CODE]=ACC_CODE;
//設置接受屏蔽寄存器
CAN_REGISTER [ACCEPTANCE_MASK] =ACC_MASK;
//設置總線時序0寄存器
CAN — REGISTER [BUS_TIMING_1]=btr0btrl;
//設置總線時序1寄存器
CAN_REGISTER [BUS_TIMING_0]=btr0btrl> >8:
//設置輸出控制寄存器
CAN_REGISTER [OUTPUT— CONTROL]=OUTONTRL;
//設置時鐘分頻寄存器
CAN_REGISTER [CDR]=CDRVALUE;
//設置控制寄存器
CAN_REGISTER [CONTROL]=CNTRLREG
//設置命令寄存器
CAN_ REGISTER [COMMAN D]&=0xe0;
CAN_REGISTER [COMMAND]I=0x0e;
CAN_REGISTER [COMMA ND]&=0xe0;
EA=1:
Return (OK);
}
4、應用情況及效果
基于現場總線的汽車檢測系統由4個工位機組成。第1工位機包括底盤測功機、廢氣分析儀、噪聲聲級計、全自動煙度計及油耗儀;第2工位機包括轉向盤及操縱力檢測儀、全功能側滑臺、車輪轉向儀、懸架松曠檢測臺及傳動系松曠儀;第3工位機包括踏板力行程檢測儀、制動檢驗臺、懸架特性檢測臺、車體形位偏差儀及軸重儀;第4工位機包括發動機檢測儀、前照燈檢測儀、喇叭聲級計及左右軸距差檢測儀。網絡使用了屏蔽雙絞線,連線長為100m,傳輸速率為125kbps。
實踐證明,把現場總線技術應用到汽車檢測線以后,該系統通信可靠、性能穩定,取得了良好的經濟效益和社會效益,其主要表現在如下幾方面:
(1) 節省了成本。由于系統采用了現場總線,通過屏蔽雙絞線連接各處分散的獨立設備,而且嵌入式系統的控制器代替工位機中的工控機,與以前不使用現場總線技術相比,可以節省項目經費。
(2) 具有良好的擴展性。由于現場總線的開放性,可隨意增設工位,總線上可以掛接32個設備。
(3) 遠距離高速通信。傳輸距離小于50m時,數據傳輸速率可達1Mbps,提高檢車效率。
(4) 系統維修方便。總線上某個設備出現故障,不會導致整個系統的癱瘓,仍可維持其余設備的正常運行,檢修時只需斷開故障設備即可,提高了系統的整體可靠。
5、結束語
目前在汽車設計領域中,很多汽車廠家采用ISO頒布的CAN國際標準(ISO1 1898)。這標準允許不同廠家生產的零部件能在同一輛汽車中進行有效、協調的工作,構成了所謂的開放式系統,檢測線采用CAN總線技術,有利于從汽車上直接獲取其故障信息,使得標準化的故障診斷和排放檢測成為可能。
把現場總線技術應用在汽車檢測線上,不僅提高汽車檢測速度及檢車質量,也可以從設計、安裝、調試、運行到維護方面,節省成本和時間,從而得到了經濟效益,提高了市場競爭能力。
參考文獻
[1] 王錦標.現場總線控制系統[J],微計算機信息,1996(1)。
[2] 鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.
[3] 張建俊.汽車檢測與故障診斷技術[M].北京:機械工業出版社。2001