米联客 ZYNQ/SOC精品教程 S02-CH13 CAN总线通信实验

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

13.1 概述

      ZYNQ的PS中包含了2个CAN接口,兼容CAN 2.0A和CAN 2.0B,最高可支持1Mbps的波特率。CAN作为工业应用中的一个重要的总线标准,广泛应用于各行各业之中。本教程介绍了ZYNQ中PS端CAN接口的基本使用方法,并通过CAN接口实现与PC端CAN调试软件之间的数据接收和发送测试。

13.2 CAN总线介绍

13.2.1数据格式

     CAN总线中的数据以帧为单位,一共包含5种类型的帧,分别为:数据帧、远程帧、错误帧、过载帧和帧间隔。

  1. 数据帧:用于发送节点向接收节点传送数据的帧。
  2. 远程帧:用于接收节点向具有相同ID的发送节点请求数据的帧。
  3. 错误帧:用于当检测出错误时向其他节点通知错误的帧。
  4. 过载帧:用于接收节点通知其尚未做好接受准备的帧。
  5. 帧间隔:用于将数据帧及远程帧与前面的帧分离开来。

     CAN帧格式如下图所示,CAN 2.0A中使用的是标准帧,CAN 2.0B中使用的是扩展帧。标准帧和扩展帧的区别在于扩展帧增加了18bit的扩展标识符。一般情况下,与用户直接相关的只有数据帧和远程帧。数据帧和远程帧都可以使用标准帧格式或者扩展帧格式。

f27aa040a5387d37d963f634558a007da3b.jpg

CAN总线消息主要由仲裁区、数据区、CRC校验区以及帧结束区荃部分构成。各区主要情况如下:

仲裁区:

-定义消息的优先级;

-消息的逻辑地址(标识符);

-标准帧11位标识符;   

-扩展帧29位标识符。

数据区:

-每个消息最多可以包含8字节的数据;   

-允许不包含数据帧的帧存在(数据区长度为0字节)。

CRC校验区

-包含循环冗余校验位。

结束区

-帧结束区消息响应标识、错误消息、消息结束

 

上图给出的帧包含起始位、标识符、远程传输请求、标识扩展等,所有相关的仲裁、数据、CRC校验以及帧结束构成了完整的CAN总线消息帧,各部分的具体含义如下:

 

SOF(1 bit): 标识一个消息帧的开始,在空闲时间的下降沿同步所有的总线模块;

标识符(11 bits):定义消息的逻辑地址和优先级,优先级的数字越小优先级越高;   

RTR(1 bit):远程传输请求,如果RTR=1表示在数据帧中没有有效数据,请求远程节点向发出请求帧的节点发送数据;   

IDE(1 bit):标识符扩展,如果IDE=1,则采用扩展的数据帧传送数据;   

r0 保留;   

DLC(4 bits):数据长度代码,数据帧长度允许的数据字节数为{0~8),其他长度数值不允许使用;   

数据(0~8字节):消息数据;   

CRC(15 bits):循环冗余校验码”只用于检测错误而不能校正;   

ACK(2 bits)每一个接听者接收到消息后必须发送响应位(ACK):   

EOF(7 bits=1,recesslve):帧的结束;   

 

       关于更多CAN数据格式和协议的介绍可以参考官方CAN总线标准的文档,或者广州周立功的《CAN-bus规范V2.0版本》。

13.2.2数据帧

       一个数据帧由7个不同的部分组成,分别为:帧起始、仲裁段、控制段、数据段、 CRC段、ACK应答段、帧结尾。如下图所示。

a7b8c738cda491193a15883843e271e844d.jpg

1)、帧起始和结尾

帧起始和帧结尾说明如下图所示。

2b7464d78cbfe8ec73cda04eda8306a7bed.jpg

2)、仲裁段

仲裁段说明如下图所示。

2333f2bca9c43c84e59d8bc451233375faf.jpg

3)、控制段

控制段说明如下图所示。

33d240e1d85ce3f29d7cd5ad5842da3166a.jpg

4)、数据段

数据段说明如下图所示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值