我的習慣,在了解一種通訊協定前,先來站在使用者的立場上來看,到底要如何使用CANBUS呢?
了解使用者如何使用之後,再來深入探討CANBUS的通訊協定、硬體架構、與設計原理等.
CANBUS(Controller Area Network) 是一種網路,有點像以前的BNC同軸網路 (很久以前的網路架構),頭尾都必須要有安裝終端電阻.
CANBUS就只有兩條線,CAN_L 與CAN_H 這兩條,屬於電壓差動訊號.
在同一個CANBUS上的所有裝置,速度也就是 Bitrate都必須設定一樣,否則無法通訊
這邊舉例: 在一個CANBUS 總線上,有兩個裝置 A 裝置 (發送端), B裝置(接收端)
使用者希望在[A裝置]發送 資料到 [裝置B] ,作業系統 linux
---A裝置---
//setup link and bit rate t0 20k
ip link set can0 type can bitrate 20000
// can ethernet up
ip link set can0 up
// device send out data via CAN BUS
cansend can0 5A1#11.22.33.44.55.66.77.88 // send can bus data
---B裝置---
//setup link and bit rate
ip link set can0 type can bitrate 20000
// can ethernet up
ip link set can0 up
//device received data from CAN BUS
candump can0 // receive data
--A裝置,B裝置 結束傳輸--
//end CAN BUS transfer
ip link set can0 down //end link
B裝置,就能收到以下的資料
下一步將解釋[CANBUS 2.0A ,2.0B ,FD差異]
留言列表