張騰
徐州徐工鐵路裝備有限公司 江蘇 徐州 221000
CAN總線就是控制器局域網絡,是由德國一家汽車電子產品企業開發的,后形成了國際標準,當前CAN總線在國際上的應用十分廣泛,也是汽車計算機控制系統中最為常用的總線之一。與普通的通信總線相比,CAN總線有著實時性強、開發周期短的優勢,正因如此CAN總線被廣泛應用于各個領域。
隨著信息時代的到來,人們生產生活節奏不斷加快,對于信息傳輸的速度有了更高的要求,因此,想要實現實時數據處理,就需要不斷提高數據物理傳輸路徑的速度。此外,對于多主網絡而言,總線的仲裁水平也是判斷網絡系統的重要標準之一。而在這兩方面CAN總線有著極大的優勢。總線仲裁指的是,在網絡運行的過程中,當出現多個節點同時競爭主線的情況下,需要對各節點進行有效控制。常見的總線仲裁方法就是優先權法。節點優先權就是事先對網絡當中的各個節點確定唯一優先級,在網絡傳輸的過程中,如果出現多個節點搶占總線的情況,就會按照優先級進行處理,級別高的優先使用總線進行數據傳輸。相比于普通總線而言,CAN總線傳輸速率相對較快的原因是利用總線的僅是一些請求總線而尚未做出決定的站,此類請求會根據其在系統中的重要性逐個處理,因此當網絡節點相對較多的情況時,這種仲裁方式有著較大的優勢。
在進行總線仲裁的過程中,如果僅僅依靠信息的優先級進行總線占有權限分配的話,就會導致高優先級的實時信息量相對較多,或者高優先級節點信息傳輸的頻率相對較高,導致總線經常會被此類節點占用,其他低優先級節點難以獲得信息傳輸的機會,若此類信息長時間被壓制,就可能會導致系統出現一定問題[1]。
對于上述常見問題,在實際應用CAN總線的過程中,可以通過將節點優先和信息優先權進行有機結合,使得CAN總線仲裁的過程中,不僅要考慮節點的優先級還需要考慮數據的類型,以此確保總線能夠根據實際情況進行信息的處理和傳輸。
針對現代工程機械實際情況進行分析,可知CAN總線網絡中共包括三種類型的節點,即上位機節點、執行器節點以及傳感器節點。在實際進行消息類型確認之前,需要對通信過程中的消息類型進行明確。結合CAN總線的節點類型,可知消息類型包括實時數據、控制命令、報告數據以及數據要求指令。其中從傳感器節點向上位機節點以及執行器節點發送的信息均屬于實時數據類型;從上位機節點向執行器或者傳感器節點發送的消息屬于控制命令類型;而從執行器節點向上位機節點發送的數據信息則屬于報告數據;由上位機節點傳輸到傳感器節點的信息類型屬于數據要求指令。不同節點之間傳輸的信息數據有著不同的功能和作用,因此對于工程機械監控器的運行的意義也不盡相同。
以微芯公司的PICI8F485處理器為例,其中包括USB接口、串行接口、CAN接口以及調試接口。在該處理器中,RXF和RXM是CAN總線控制器當中負責接收濾波的寄存器,其中前者負責驗收碼部分,后者負責驗收屏蔽部分。在系統進行運作的過程中,只有接收到的數據標識和兩個寄存器之間滿足一定條件關系的情況下,才可以進行濾波并接受信息。簡而言之,就是在接收濾波的過程中,當接收到的標識符與驗收碼寄存器狀態相一致的情況下,才能夠被接受,否則就會被拒接。
當CAN總線在工程機械監控器當中進行運轉的過程中,為了保障總線在信息負荷過大的情況下可以有序進行數據傳輸的同時能夠符合濾波器運行要求,并且避免優先級較高的節點長時間占用總線,而阻礙了低優先級節點的傳輸,經分析后,決定將消息類型優先權和節點優先權策略進行有機結合,以此提高CAN總線的信息傳輸的實效性以及可靠性。并以此為思路對數據標識符進行劃分,其中包括發送節點標識、數據類型標識以及擴充位,并明確節點和數據標識內容。其中發送節點標識包括三種標識類型,即由傳感器節點發送的信息,由上位機節點發送的信息以及由執行器節點發送的信息。數據類型標識包括:實時數據、上位機到執行器節點的控制指令、上位機到傳感器節點的控制指令以及遠程數據要求。并且在設計的過程中通過不同的標識符類型對上述節點通信消息類型進行分別標注。例如,從上位機傳輸到傳感器節點的數據要求指令表示為0001 11 XXXXX;從執行器傳輸到上位機節點的報告數據用0011 00 XXXXX表示。并通過對通訊節點與消息類型的對應關系,明確得到CAN控制器中屏蔽寄存器和驗收碼寄存器中各個通信節點的定義。通過上述討論,能夠對CAN總線節點通信協議的優先級和寄存器中各節點的定義進行明確,這是CAN總線在工程機械監控器節點通信協議當中的關鍵環節,對于整個系統高效、可靠的運行有著十分重要的意義[2]。
綜上所述,由于CAN總線有著多種節點類型,因此在進行通信的過程中也有著不同的消息類型,而且由于CAN總線協議摒棄了傳統站地址編碼形式,而是通過通信數據塊形式進行的編碼,因此對于節點個數沒有過多限制,還能夠實現節點之間的通信自由。相信在未來工程機械的發展過程中,CAN總線將會發揮更大的作用。