于金杰
[摘 要]目前,CAN(Controller Area Network)總線已經推廣到鐵路行業(yè),主要是利用CAN總線實現采集監(jiān)測設備與采集處理器的通信。
[關鍵詞]CAN總線,采集監(jiān)測設備,采集處理器
中圖分類號:TP274.4 文獻標識碼:A 文章編號:1009-914X(2016)16-0349-01
1、 CAN總線的主要特點
CAN總線應用領域越來越廣泛主要是因為其本身具有的特點。
1) CAN為多主方式工作、網絡上任一節(jié)點均可在任意時刻主動的向網絡上其他節(jié)點發(fā)送信息,而不分主從;當多個節(jié)點同時發(fā)送時,依據報文的優(yōu)先級而不是節(jié)點的優(yōu)先級進行總線訪問控制。
2) CAN采用非破壞性總線仲裁技術。當多個節(jié)點同時向總線發(fā)送信息出現沖突時,高優(yōu)先級的節(jié)點可不受影響地繼續(xù)傳輸數據,從而大大節(jié)省了總線沖突仲裁時間,保證了高優(yōu)先級節(jié)點傳輸報文的實時性要求。
3) CAN節(jié)點只需通過對報文的標識符濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送接收數據。
4) 很遠的數據傳輸距離(長達10km)。
5) 高速的數據傳輸速率(高達1Mbps)。
6) 可根據報文的ID決定接收或者屏蔽該報文。
正是基于CAN總線的這些特點,CAN總線被應用于越來越多的通信領域。
2、 CAN總線傳輸介質
電氣傳輸介質使用方式:兩線總線、單線總線、共用一條線傳輸信號和供電。
在現有的鐵路設備CAN通信中,多使用兩線總線。兩線總線提供差分信號的傳輸,因此可以抑制共模誤差,即使在非常低的信號電平下也能保證信號的可靠傳輸。在兩線傳輸時,必須在總線的每一端接一個電阻(建議值為120Ω),以避免出現信號反射。
在現場使用過程中,出現過多達38個區(qū)段的監(jiān)測數據出現異常,主要現象是同一數據幀會重復出現幾次甚至幾十次,不僅增加了采集處理器的工作量,還會造成CAN線擁堵,影響通信。經過檢查是監(jiān)測CAN總線末端未加入120歐姆匹配電阻,造成CAN總線內信號反射,使數據成百上千倍的增加,造成CAN總線阻塞。通過在每路CAN總線末端加入120歐姆終端電阻,杜絕CAN總線上的信號反射,保障CAN總線通訊質量。
3、 CAN協(xié)議通信模式
CAN網絡是一個基于連接的主從式網絡,有一個主控設備來管理網絡上的其他設備,并監(jiān)控整個網絡的功能;各個從設備之間不能直接進行通信。CAN協(xié)議支持主從通信模式和事件觸發(fā)通信模式。事件觸發(fā)通信模式用于從站設備主動向主站中傳送數據報文;主從通信模式用于主站設備對于從站設備的訪問。
4、 CAN協(xié)議通信模式在鐵路設備中的應用
1) 事件觸發(fā)通信模式
在這種通信模式下,采集監(jiān)測設備可以定時循環(huán)向采集處理器發(fā)送數據,或者在設定的條件下向采集處理器發(fā)送數據,具體執(zhí)行過程見圖-1。
在實際使用中,采集監(jiān)測設備定時6s向采集處理器發(fā)送全部的模擬量和開關量;當判斷采集的模擬量或開關量發(fā)生了變化,則立刻將變化的模擬量和開關量發(fā)送給采集處理器,在這個過程中定時6s及模擬量和開關量變化即是觸發(fā)事件。
2) 主從通信模式
主從通信方式即命令/應答通信方式:通信由采集處理器發(fā)起,接收到命令幀的采集監(jiān)測設備返回應答幀。在新型的鐵路采集監(jiān)測設備中多數采用這種通信模式,它逐漸代替了事件觸發(fā)通信模式。
主從通信模式分為點對點式和廣播式兩種方式。
①點對點式是采集處理器和一個采集監(jiān)測設備進行通信。采集監(jiān)測設備接收到命令幀并處理完請求后返回相應的應答幀給采集處理器,具體執(zhí)行過程見圖-2。
在這種模式中一個完整的通信過程包括采集處理器的請求命令和采集監(jiān)測設備的應答,實現通信的關鍵是采集處理器能夠準確的接收到命令幀。
每個采集監(jiān)測設備必須有自己唯一的標識用以區(qū)分其他設備。在DSP28335硬件平臺上,通過對配置郵箱MSGID寄存器(DSP28335中郵箱標識符寄存器[1])的ID域配置來實現,ID域固定的位置可以包括設備的類型、設備的地址、優(yōu)先級、方向等多種信息,這些由通信協(xié)議確定,通過設備類型和設備地址就可以確定唯一的一臺設備。在通信過程中只有當采集處理器發(fā)出的命令幀中包含的幀頭信息與采集監(jiān)測設備接收命令的郵箱ID域配置一致,指定的采集監(jiān)測設備才能接收到命令幀,且只有一臺采集監(jiān)測設備能滿足要求。這種通信方式在未接收到采集處理器的請求時采集監(jiān)測設備是不會傳輸數據的。
②廣播式是采集處理器同時發(fā)送一種請求命令幀給所有采集監(jiān)測設備,它的通信過程與點對點式類似,只是滿足命令幀要求的設備為多臺。
在命令幀中忽略設備類型、設備地址等具有標識性的信息。在DSP28335硬件平臺,所有的采集監(jiān)測設備要將接收命令的郵箱MSGID寄存器的ID域配置成相同,同時也忽略掉設備類型、設備地址等具有標識性的信息。
5、數據發(fā)送與接收
1) CAN報文的發(fā)送分為查詢控制發(fā)送和中斷控制發(fā)送。
查詢控制發(fā)送:當在發(fā)送報文時,發(fā)送緩沖區(qū)對寫操作是鎖定的,這樣CPU必須檢查狀態(tài)寄存器的發(fā)送緩沖區(qū)狀態(tài)標志,以確定是否可以將一個新報文寫入發(fā)送緩沖區(qū)。
①當發(fā)送緩沖區(qū)被鎖定時,CPU周期性地查詢狀態(tài)寄存器,等待發(fā)送緩沖區(qū)被釋放。
②當發(fā)送緩沖區(qū)被釋放時,CPU將新報文寫入發(fā)送緩沖區(qū),并置位命令寄存器的發(fā)送請求標志,該標志導致發(fā)送的啟動。當發(fā)送完成狀態(tài)置位1時,表明CAN報文已發(fā)送成功。
中斷控制發(fā)送:將CAN報文寫入發(fā)送緩沖區(qū)和置位發(fā)送請求與查詢控制類似。
①當發(fā)送緩沖區(qū)被鎖定時,CPU必須將報文臨時保存到數據存儲器中,并置位軟件標志“還有報文”用于指示有新的報文等待發(fā)送。在結束當前運行的發(fā)送時啟動中斷服務程序,在中斷服務程序中進行下一個發(fā)送報文的起始處理。
②當發(fā)送緩沖區(qū)被釋放時,CPU將新報文寫入發(fā)送緩沖區(qū),并置位發(fā)送請求標志。在發(fā)送結束時CAN控制器產生一個發(fā)送中斷。
2) CAN報文的接收分為查詢控制接收和中斷控制接收。
查詢控制接收:CPU以一定周期讀取CAN控制器的狀態(tài)寄存器以檢查接收緩沖區(qū)狀態(tài)標志指示是否至少接收到一個報文。
①接收緩沖區(qū)狀態(tài)標志指示“空”,即沒有接收到報文;在沒有新的檢查接收緩沖區(qū)狀態(tài)的要求之前,CPU繼續(xù)當前的任務。
②接收緩沖區(qū)狀態(tài)標志指示“滿”,即已接收到一個或是多個報文;CPU從CAN控制器讀取第一個報文并置位命令寄存器中的釋放接收緩沖區(qū)標志。
中斷控制接收:已接收一個報文,該報文通過驗收濾波器并放入接收FIFO中,則產生一個接收中斷。CPU能夠立即響應將接收到的報文傳送到自身的報文存儲器,并置位命令寄存器的釋放緩沖區(qū)標志。
6、總結
論文描述了CAN總線的特點,并通過實際使用分析了CAN傳輸介質及終端120Ω電阻在實現正常通信過程中的重要作用;介紹了CAN協(xié)議的幾種通信模式在鐵路設備中的應用;最后對數據的發(fā)送和接收方式進行了簡單的介紹。
參考文獻
[1] 劉陵順,高艷麗,張樹團,王昉. TMS320F28335DSP原理及開發(fā)編程[M].北京航空航天大學出版社,2011.