CAN接口簡介

1.1 CAN總線介紹

顧名思義,CAN總線名稱如下:
在這裏插入圖片描述
目前世界上絕大多數汽車製造廠商都採用CAN總線來實現汽車內部控制系統之間的數據通信。
在這裏插入圖片描述
CAN總線由CAN_H、CAN_L雙絞線組成,通過差分電壓傳輸信號,提高了抗干擾能力,保證了數據傳輸可靠性。

在這裏插入圖片描述
在這裏插入圖片描述
CAN總線兩端必須有120歐終端電阻。各通信節點全部並在CAN總線上,採用時分多路傳輸,保證各通信節點互通性。

汽車一般都提供CAN-OBD接口,用於汽車的故障維護。常見位置如下:
在這裏插入圖片描述

1.2 標準接口定義

CAN-OBD接口定義如下:
在這裏插入圖片描述
CAN-DB9接口定義如下:
在這裏插入圖片描述

1.3 CAN數據幀結構

CAN總線特點:串行、同步、半雙工、CRC;
在這裏插入圖片描述
一般幀ID越小,優先級越高
在這裏插入圖片描述
解析時注意大小端字節轉換

1.4 Linux CAN操作指令

(1)查看can網絡收發包數量、是否有錯誤等

ifconfig can0

(2)顯示can設備詳細信息

ip -details link show can0

(3)關閉打開can設備

ifconfig can0 up
ifconfig can0 down
ip link set can0 up
ip link set can0 down

對can設置進行設置時,最好先關閉can設備
(4)接收can數據

candump can0

(4)發送can數據

cansend can0 -i 100 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
cansend can0 -i 0x800 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 -e

-e 表示擴展幀,CAN_ID最大29bit,標準幀CAN_ID最大11bit
-i表示CAN_ID
0x800及以上必爲擴展幀
(5)設置迴環模式

canconfig can0 ctrlmode loopback on 
ip link set can0 up type can bitrate 800000 loopback on

自發自收,用於測試是硬件是否正常
迴環模式設置有效,設置時需要先關閉can設備
(6)設置波特率

canconfig can0 bitrate 500000
ip link set can0 up type can bitrate 800000

can的波特率一般爲500kbps,CAN網絡波特率最大值爲1Mbps

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章