自用项目2222

CAN总线

概念部分

IIC和SPI是基于TTL电平的,距离大了电平会衰减,CAN是双线差分信号,两根线构成总线,CAN High与CAN Low,这两根线之间的电位差可以对应两个不同的逻辑状态进行编码,可以抑制共模干扰。CAN不分主从机,每个设备都有自己接收总线和发送总线的能力。

CAN数据帧格式:

仲裁场:和IIC一样,每一个CAN总线上的设备都有一个属于自己的ID,设备发送数据时,其他设备会检查这个ID是否是自己需要的数据。如果不是则忽略。ID存储在数据帧最前面的仲裁场内,CAN的ID分为标准ID和拓展ID两类,标准ID为11位,如果设备过多,ID不够用时会用拓展ID。

 SDO(服务数据对象)通讯

SDO主要用来在设备之间传输低优先级的对象,典型是用来对从设备进行配置、管理,比如用来修改速度环、位置环的PID参数,PDO配置参数等。

PDO(过程数据对象)通讯

 PDO用来传输实时数据,数据从一个生产者传到一个或多个消费者。1个PDO 每次最多传输8个字节的数据。PDO通讯参数:包含COB_ID、传输类型、禁止时间、定时器周期。

配置过程

(1)配置CAN总线发送接收IO口,cubemx配置,发送口配PD1,接收口配PD2.

(2)配置波特率为一兆比特

 (3)勾选RX0中断

(4)移植电机相关文件

(5)CAN屏蔽器和过滤器配置为0,只要CAN上有数据都接收。

(5)配置好can.c和can.h之后,在主函数中初始化can,以及发送电机的转速、机械角度、位值。

配置电机参数,向电机发送ecd角度点、speed转速、given电流。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值