CAN(Controller Area Network 控制器區域網)是一種高性能、高可靠性、易開發且低成本的現場總線,在全球得到廣泛應用,也是最早在我國應用的現場總線之一。是為解決眾多測量控制部件之間的數據交換問題而開發的一種串行數據通訊總線。最初,CAN作為汽車的監測、控制系統而設計在車載電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。比如速銳得科技針對本田豐田奔馳保時捷豪華品牌特斯拉等車型CAN總線DBC數據破解和數據採集,就需要通過技術員進入到發動機管理系統、變速箱控制器、車身BCM、儀表裝備、電子主幹系統中,根據嵌入的CAN控制器件裝置,採集相應的CAN數據。現在,由於CAN總線的自身特點,其應用領域已由汽車行業擴展到過程工業、機械工業、機器人和自動化領域等等。
CAN總線的特點
CAN與其他現場總線比,具有突出的可靠性、實時性和靈活性,其技術特點如下:
1、CAN從本質上講是一種多主或者對等網絡,網絡上任一節點均可主動發送報文,不分主從,通訊方式靈活。
2、廢除了傳統的站地址編碼,取而代之對通信數據進行編碼,通過報文過濾,可實現點對點、點對多播送、廣播等幾種數據傳送方式。
3、採用短幀結構,傳輸時間短,受幹擾概率低,具有極好的檢錯效果。CAN的每幀信息都有CRC及其他檢錯措施,降低了數據出錯概率,汽車政策控制策略DBC一定會用到。
4、具有多種檢錯措施及相應的處理功能,檢錯效果好,處理功能很強,保證了通訊的高可靠性。位錯誤和位填充錯誤檢測、CRC校驗、報文格式檢查和應答錯誤檢測及相應的錯誤處理。
5、通信介質一般採用雙絞線、同軸電纜或者光纖,選擇靈活,汽車上大多為雙絞線。
6、總線長度可達10KM,網速可達1Mbit/s(總線長度40M以下)。
7、網絡上的節點數主要取決於總線驅動電路,目前可達110個;標準格式的報文識別符可達2032個,而擴展格式的報文標識符的個數幾乎不受限制。
8、通過報文標識符來定義節點報文的優先級。對實時性要求不同的節點報文,可定義不同的優先級,從而保證高優先級的節點報文得到優先發送。
9、採用非破壞性逐位仲裁機制來解決總線訪問衝突。
10、發生嚴重錯誤的節點具有自動關閉輸出的功能,以CAN總線上其他節點的通信能夠繼續進行。
11、CAN總線構成網絡各節點之間的數據通訊實時性強,並且容易構成冗餘結構,提高系統的可靠性和靈活性。
12、CAN總線通過CAN控制器收發晶片兩個輸出端CAN H和CAN L與物理總線連接,CAN H端狀態只能是高電平或者懸浮狀態,CAN L端只能是低電平或者懸浮狀態,這個用萬用表可以測量出來。
開發CAN網絡的知識點準備
CAN總線技術包含了數據通信、計算機網絡、微處理器和軟體設計等多方面的知識,我們在了解CAN總線技術之前,應該了解和掌握一些相關的知識。
1、掌握模擬電路和數字電路基礎知識
模擬電路和數字電路是電子技術相關專業的基礎知識,要掌握半導體器件和運算放大器的應用及性質,掌握門電路、數字系統的電瓶和邏輯電路等知識,具有一定的動手實踐能力,得實際現場測試採集數據。
2、掌握微處理器的結構、原理及編程技術
CAN總線智能節點都有微處理器,我們可以基於ARM系列帶CAN的單片機的CAN總線智能節點設計,因此我們要具備熟練的ARM單片機的結構、原理和程序設計。
3、C語言編程技術
C語言簡介、緊湊、使用方便、靈活,C語言生成的目標代碼質量高,程序執行效率高,可移植性好。
4、數據通信的概念和工業控制網絡基礎知識
CAN總線是數據通信的一種方式,我們要具備掌握CAN總線就必須了解數據通信的基本概念和知識點,CAN總線網絡屬於工業控制網絡,所以,還要熟悉工業控制網絡相關的基礎知識。
以上部分實際上是個篩選的過程,目前國內能將CAN總線數據採集和傳輸做好的企業本身就不多,時間、效率、周期、效果都將同時考驗著團隊開發對工業控制、汽車ECU、數據通訊、數據質量、開發效率高低的比較。
CAN總線實驗的器材和工具
1、單片機Windows 開發環境
2、串口下載軟體
3、CPU和CAN總線模塊開發板
4、LED顯示模塊和鍵盤輸入模塊實驗板
5、一臺PC
6、萬用表、螺絲刀和導線若干