FlexCAN模块是一种通信控制器,它实现了CAN协议,即CAN2.0B协议规范。CAN协议主要用于汽车串口总线,其设计满足实时处理、电磁干扰下的可靠操作、成本效益以及带宽要求。FlexCAN模块完全实现了CAN协议规范V2.0B版本,支持标准数据帧和扩展数据帧,数据长度为0~8字节,以及可编程控制的波特率,数据传输速率可达1Mbps。 FlexCAN模块的关键子模块包括: 1. 消息缓冲区:这些缓冲区用于存储消息,其数目可参考芯片配置细节。 2. CAN协议引擎(PE)子模块:负责管理CAN总线上的串行通信,请求存取RAM接收和传输消息帧,验证接收到的消息以及进行错误处理。 3. 控制器主机接口子模块:选择接收和传输的消息缓冲区,使用仲裁与ID匹配算法,以建立同CPU或者其他模块的连接。 FlexCAN模块具有以下鲜明的传统特征: 1. 全面支持CAN2.0B协议,包括标准数据帧和扩展数据帧。 2. 消息缓冲区的长度为0到8字节,每个缓冲区都可以配置为发送缓冲区或者接收缓冲区,支持标准和扩展帧格式。 3. 每个消息缓冲区都有自己的接收掩码控制寄存器,全功能的接收队列,最多可存储6个帧,并且自动进行内部指针处理。 4. 支持传输中止能力,可编程的CAN协议接口的时钟源,以及没有使用的结构空间可以作为普通的RAM空间使用。 5. 提供可编程的回环模式以支持自测试,传输优先级机制,基于16位自由运行定时器的时间戳机制,以及全局网络时间同步。 FlexCAN模块还支持远程请求帧的自动或软件处理,正常模式下ID过滤配置的安全机制,以及在“Freeze”模式下进行的CAN比特时间设置与配置比特。 FlexCAN模块的操作模式包括: 1. 正常模式:在此模式下,CAN模块收发数据帧、处理错误,CAN协议的所有功能全部开启。 2. 冻结模式:在此模式下,将停止收发帧,并且将丢失与CAN总线的同步。 3. 监听模式:在此模式下,CAN模块禁止数据收发,所有的错误计数器都被冻结,且该模块工作在CAN被动错误模式。 4. 回环模式:在此模式下,FlexCAN工作在内部闭环模式用于自测。 除了以上操作模式,FlexCAN模块还具有三种不同的低功耗模式,分别是禁止模式、睡眠模式以及停止模式。在这些模式下,FlexCAN模块可以根据需要进行低功耗操作,并且在总线激活时从低功耗模式唤醒。 FlexCAN模块还具有强大的接收队列ID过滤功能,能够匹配接收的ID是扩展的128字节、标准的256字节或者512部分(8比特)ID,最多32个匹配能力。此外,FlexCAN模块100%兼容之前版本。 在FlexCAN模块中,还包含了一些新的特征,如远程请求帧的自动或软件处理,正常模式下ID过滤配置的安全机制,以及在“Freeze”模式下进行的CAN比特时间设置与配置比特等。这些新特征进一步增强了FlexCAN模块的性能和灵活性。
剩余57页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助