FlexCAN详解
FlexCAN(Flexible Controller Area Network)模块是一种实现了CAN(Controller Area Network)协议的通信控制器,即遵循CAN 2.0B协议规范。FlexCAN广泛应用于需要实时处理、可靠通信和成本效益的汽车串口总线系统中。CAN协议满足了电磁干扰环境下的可靠操作、数据传输速率及带宽要求。 FlexCAN模块由多个子模块组成,其中包括用于存储消息缓冲区的内存区域、Rx全局掩码寄存器、Rx私有掩码寄存器、Rx先进先出队列以及Rx队列标识过滤器等。FlexCAN模块的核心是CAN协议引擎(PE),它负责管理CAN总线上的串行通信,处理消息帧的接收和传输、验证和错误处理。控制器主机接口子模块用于与CPU或其他模块进行通信,实现消息缓冲区的选择、仲裁和ID匹配算法。FlexCAN模块还通过总线接口单元提供了时钟、地址、数据总线或中断输出以及测试信号的访问。 FlexCAN模块的主要特征包括完全支持CAN2.0B协议,支持标准数据帧和扩展数据帧,数据长度可从0到8字节;具有可编程控制的波特率,最高可达1Mbps;支持0~8字节长度的消息缓冲区,每个缓冲区可独立配置为发送或接收缓冲区;消息缓冲区都有其私有的接收掩码控制寄存器;全功能的接收队列最多可以存储6个帧;具有传输中止的能力;可编程的时钟源,支持内部总线时钟或外部晶振;未使用的结构空间可作为普通RAM使用;支持回环模式用于自测试;具有基于16位自由运行定时器的时间戳机制;支持全局网络时间同步;拥有中断掩码功能;支持独立的传输媒介;高优先权信息具有较短响应时间;具备低功耗模式,并能在总线激活时从低功耗模式唤醒。 FlexCAN模块还有几个新特性,如远程请求帧可以被自动或软件处理;在正常模式下具备ID过滤配置的安全机制;“Freeze”模式下进行CAN比特时间设置与配置;发送缓冲区状态指示;接收帧的IDHIT寄存器;SYNC比特状态位;调试寄存器;报文的CRC状态;接收队列全局掩码寄存器;接收缓冲区与队列在匹配过程中的可选优先级;强大的接收队列ID过滤功能,能够匹配接受的ID,最多32个匹配能力;以及100%的FlexCAN以前版本兼容性。 FlexCAN模块支持四种不同的操作模式:正常模式(用户和管理员)、冻结模式、监听模式和回环模式。同时,也具备三种不同的低功耗模式:禁止模式、睡眠模式和停止模式。在正常模式下,FlexCAN模块可以收发数据帧、处理错误,所有CAN协议的功能都是开启的。冻结模式下,FlexCAN模块将停止收发帧,并且失去与CAN总线的同步。监听模式下,FlexCAN模块禁止数据收发,并冻结所有错误计数器,工作在CAN被动错误模式。回环模式允许FlexCAN模块内部进行自测试,发送到接收器的比特流被发送回内部的接收器输入。 FlexCAN模块的这些特征和操作模式,使其成为实现汽车电子控制单元(ECU)间可靠通信的优选方案。它不仅可以满足汽车行业对于稳定性和效率的高要求,同时也为工业控制网络提供了一种高性能、成本效益好、便于扩展的通讯方案。由于其灵活性和兼容性,FlexCAN模块也适用于多种其他场合,如医疗设备、航空航天和工业自动化等领域。在这些领域,实时性、稳定性以及对电磁干扰的抵抗能力都是至关重要的。
剩余57页未读,继续阅读
- sufrigate2019-09-18不要下载,骗积分的,就是泛滥的那份pdf 第48章 CAN(FlexCAN)
- weibo_csdn2019-09-17很好的资料 中文介绍 谢谢
- 顽石19902019-05-29虽然地址跟我的单片机对不上,但是可以参考,很好,谢谢分享!!!!!!!!!!!!!!!
- issta2019-04-29还好,入门了解一下
- csdn9789215592019-11-03确实是第48章 CAN,但没在别的地方找到,还是用这个吧
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助