第 8 章 CAN(FlexCAN).pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章 CAN(FlexCAN)

第48 章 CAN (FlexCAN ) FlexCAN 模块是一个通信控制器,该模块实现了CAN 协议即CAN2.0B 协议规范。下图为一 个常用的框图,介绍了FlexCAN 模块的的字模块,包括了用来存储消息缓冲的相关联的内存区 域,Rx 全局掩码寄存器、Rx 私有掩码寄存器、Rx 先进先出队列以及Rx 队列标识过滤器。各 个子模块的功能将在随后的章节介绍。 图 48-1 FlexCAN 框图 48.1.1 概述 CAN 协议主要(但不是唯一)是设计用于汽车串口总线使用,在以下这些方面满足了规范 的要求:实时处理、汽车在电磁干扰环境下的可靠操作、成本效益以及有带宽要求。FlexCAN 模块完全实现了CAN 协议规范V2.0B 版本,该版本支持标准的与扩展的消息帧。消息缓冲区存 储在一个专用于FlexCAN 模块的RAM 区。可以参考芯片配置细节来了解在MCU 内配置的消息缓 冲区的数目。 CAN 协议引擎(PE)子模块管理CAN 总线上的串行通信,请求存取RAM 接收和传输消息帧, 验证接收到的消息以及进行错误处理。控制器主机接口子模块用来选择接收和传输的消息缓冲 区,使用仲裁与ID 匹配算法,以建立同CPU 或者其他模块的连接。时钟、地址、数据总线或 者中断输出以及测试信号通过总线接口单元都可以进行访问。 48.1.2 FlexCAN 模块特征 FlexCAN 模块具有以下鲜明的传统特征: 1.完全支持CAN2.0B 协议:标准数据帧;扩展数据帧;0~8 字节的数据长度;可编程控 制的波特率,数据传输速率可达1Mbps;与内容相关的寻址防止。 2.0 到8 字节长度报文缓冲区; 3.每个报文缓冲区都可以配置成发送缓冲区或者接受缓冲区,支持标准和扩展帧格式; 4.每个消息缓冲区都有自己的接受掩码控制寄存器; 5.全功能的接受队列,该队列可以存储最多6 个帧,并且自动进行内部指针处理; 6.传输中止能力; 7.可编程的CAN 协议接口的时钟源,可以是总线时钟也可以是外部晶振; 8.没有使用的结构空间可以当成普通的RAM 空间使用; 9.可编程的回环模式支持自测试; 10.可编程的传输优先级机制:最低ID、最少缓冲区数目或者最高优先级; 11.基于16位自由运行定时器的时间戳机制; 12.全局网络时间,通过一个特殊的帧来同步; 13.中断掩码; 14.独立的传输媒介(假定一个外部收发器); 15.对于高优先权信息具有短的相应时间; 16.低功耗模式,当总线激活时可以编程实现从低功耗模式唤醒。 此外,下面的最新的主要特征也添加到了先前的FlexCAN 版本中: 1.远程请求帧可以被自动或者软件处理; 2.正常模式下ID 过滤配置的安全机制; 3.只有在“Freeze”模式下进行的CAN 比特时间设置与配置比特; 4.发送缓冲区状态(最低优先级缓冲区或者空缓冲区); 5.用于接收帧的IDHIT 寄存器; 6.SYNC 比特状态位用来指示模块已经与CAN 总线同步; 7.调试寄存器 8.用于报文的CRC 状态; 9.接收队列全局掩码寄存器; 10.在匹配过程中接受缓冲区与接受队列可选择的优先级; 11.强大的接受队列ID 过滤功能,能够匹配接受的ID 是扩展的128 字节、标准的256 字 节或者512 部分(8 比特)ID,最多32 个匹配能力。 12.100%兼容FlexCAN 以前版本。 48.1.3 操作模式 FlexCAN 模块一共具有四种不同的功能模式:正常模式(用户和管理员)、冻结模式、监 听模式以及闭环模式。同样具有三种不同的低功耗模式:禁止模式、睡眠模式以及停止模式。 1.正常模式(用户与管理员) 在正常模式下,CAN 模块收发数据帧、处理错误,CAN 协议的所有功能全部开启。对于一 些控制比较严格的寄存器,在用户模式和管理员模式下访问时又区别的。 2.冻结模式 如果MCR 寄存器的FRZ 位被置位,那么将开启CAN 模块的冻结模式。当MCR 的HALT 位置 位时或者在MCU 级请求调试模式(Debug Mode)并且MCR 寄存器的FRZ_ACK 位被置位时,CAN 模块将进入到冻结模式。在该模式下,将停止收发帧,并且将丢失与CAN 总线的同步。有关该

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档