CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
root@i2cmp15xbe:~# ifconfig -a
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00UPRUNNINGNOARPMTU:16Metric:1RXpackets:2errors:0dropped:0overruns:0frame:0TXpackets:1errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:10RXbytes:9(9.0B)TXbytes:4(4.0B)Interrupt:40
can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00UPRUNNINGNOARPMTU:16Metric:1RXpackets:1errors:0dropped:0overruns:0frame:0TXpackets:2errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:10RXbytes:4(4.0B)TXbytes:9(9.0B)Interrupt:42
root@pangu:~# ip link set can0 up type can bitrate 500000 dbitrate 4000000 fd on
[4098.096671] m_can 4400e000.can can0: bitrate error 0.3%[4098.100573] m_can 4400e000.can can0: bitrate error 2.3%[4098.112647] IPv6:ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
root@pangu:~# ifconfig can0 up
发送标准数据帧 使用cansend命令对于CAN FD的数据帧的发送,命令参数如下
cansend <can_id>##<flags>{data}
参数说明
<can_id>表示CAN帧的ID
<flags>有两个参数- 0x1 : BRS(bit rate switch)
0x2: error state indicator of the transmitting node