奥鲲电子文档中心

can调用
更新时间: 2023-12-27 22:02:57 人气: 81

CAN概述

CAN 的全称为 Controller Area Network,也就是控制局域网络,简称为 CANCAN 最早是 由德国 BOSCH(博世)开发的,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线 之一。BOSCH 主要是做汽车电子的,因此 CAN 一开始主要是为汽车电子准备的,事实也是如 此,CAN 协议目前已经是汽车网络的标准协议。当然了,CAN 不仅仅应用于汽车电子,经过 几十年的发展,CAN 协议的高性能和高可靠性已经得到了业界的认可,目前除了汽车电子以外 也广泛应用于工业自动化、医疗、工业和船舶等领域。


硬件简介

AUKUN-UTX-3568JT 主板总共外设2路CAN


DTS驱动配置

板级使能can,配置位置:arch/arm64/boot/dts/rockchip/aukun-utx-rk3568-base.dtsi

&can1 {
   assigned-clocks = <&cru clk_can1="">;
   assigned-clock-rates =<150000000>;
   pinctrl-names = "default";
   pinctrl-0 = <&can1m1_pins>;
   status = "enable";
};

&can2 {
   assigned-clocks = <&cru clk_can2="">;
   assigned-clock-rates =<150000000>;
   pinctrl-names = "default";
   pinctrl-0 = <&can2m1_pins>;
   status = "enable";
};

实验调用

CAN总线配置

can1总线的TX与can2总线的TX相连,将can1总线的RX与can2总线RX相连接。


CAN测试工具

1、can-utils 工具包内含 5 个独立的程序:canconfig、candump、canecho、cansend、cansequence

安装命令:

sudo apt install can-utils


2、工具包含的常用命令

cansend:

向指定的CAN总线接口发送十六进制数据,如:cansend can1 123#AABBCC,向can1接口发送0XAABBCC

candump:

使CAN总线接口保持监听状态。 CAN 总线接口接收数据并以十六进制形式打印到标准输出

通讯案例测试

1、设置比特率。当需要修改can模块的属性时,必须先关闭can模块

ip link set can0 down //关闭CAN总线接口
ip link set can0 type can bitrate 500000//设置比特率为500000


2、打开can模块

ip link setcan0 up   //打开CAN0模块


3、向指定的CAN总线接口发送数据

cansend can1 123#AABBCC  //从总线接口发出数据

can1:表示CAN通道名称,即被发送的CAN数据从该通道发出

发送CAN帧是标准帧; 123表示can帧的帧id。后面6个字节表示具体的CAN帧报文。


4、开启终端的监听打印模式

candump can0


 

 

 

 




  • 本页导读

    Copyright © 2022-2030 aukun.cn 合肥奥鲲电子科技版权所有  皖ICP备2023002494号-1