米联客 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种类型的帧,分别为:数据帧、远程帧、错误帧、过载帧和帧间隔。 数据帧:用于发送节点向接收节点传送数据的帧。 远程帧:用于接收节点向具有相同ID的发送节点请求数据的帧。 错误帧:用于当检测出错误时向其他节点通知错误的帧。 过载帧:用于接收节点通知其尚未做好接受准备的帧。 帧间隔:用于将数据帧及远程帧与前面的帧分离开来。 CAN帧格式如下图所示,CAN 2.0A中使用的是标准帧,CAN 2.0B中使用的是扩展帧。标准帧和扩展帧的区别在于扩展帧增加了18bit的扩展标识符。一般情况下,与用户直接相关的只有数据帧和远程帧。数据帧和远程帧都可以使用标准帧格式或者扩展帧格式。