我的習慣,在了解一種通訊協定前,先來站在使用者的立場上來看,到底要如何使用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差異]

 

arrow
arrow
    文章標籤
    CANBUS
    全站熱搜

    CuteParrot 發表在 痞客邦 留言(0) 人氣()