【S32K 进阶之旅】FlexCAN 模块介绍

发布网友 发布时间:2024-09-26 22:48

我来回答

1个回答

热心网友 时间:2024-10-04 22:30

大大通——大联大线上技术支持平台& 方案知识库!

FlexCAN 模块介绍

FlexCAN 模块是基于 ISO 118-1标准和CAN 2.0 B 协议的通信控制器,支持 CAN-FD 模式和 CAN 2.0 B 版本协议,能实现高达 8Mbps 的数据传输速率。每个 S32K144 微控制器包含 3 个 FlexCAN 模块,其中 FlexCAN0 支持 CAN-FD。报文缓冲区(Message Buffer)大小为 16 字节,且每个 FlexCAN 模块的报文缓冲区数量具体见下表。FlexCAN 模块中的主要子块包括报文缓冲区、接收全局掩码寄存器、接收单个掩码寄存器、接收 FIFO 滤波器与接收 FIFO ID 滤波器等。

CAN 作为专为交通工具设计的数据总线,满足特定需求。FlexCAN 模块是 CAN 协议的高级版本,支持标准和拓展数据帧,并允许长达 字节的数据传输。FlexCAN 的协议引擎(PE)负责管理 CAN 总线上的串行通信,而总线接口单元(BIU)则用于建立与 CPU 和其他区块的联系,控制总线接口的访问。

FlexCAN 模块特性丰富,包含多种操作模式。在正常模式下,FlexCAN 模块执行所有 CAN 总线功能,包括数据帧的接收和发送。冻结模式下,FlexCAN 模块停止收发帧,与 CAN 总线同步丢失。回环模式主要用于 FlexCAN 模块自测,从发送器输出的比特流输出到接收器,忽略输入引脚。监听模式禁止数据收发,仅被动接收被其他节点应答的报文。在 CAN-FD 主动模式下,配置 MCR[FDEN]位实现。

FlexCAN 还具备三种低功耗模式:禁止模式、睡眠模式和停止模式。禁止模式下,FlexCAN 模块请求停止 CAN 总线协议引擎的时钟和控制器主机接口。睡眠模式下,请求禁止 CAN 总线协议引擎的时钟和 CAN 总线控制器主机接口子系统。停止模式中,FlexCAN 模块置于不活动状态,通知 MCU 关闭所有时钟。

FlexCAN 模块通过两个 I/O 信号连接到外部芯片引脚,具体信号总结在下表中。FlexCAN 内存映射与数据结构涉及寄存器和邮箱、Rx FIFO 的存储结构,用于发送和接收 CAN 报文。内存映射从 0x80 到 0x27F,分配 32个128位报文缓冲区(MBs)用于存储报文。邮箱使用从 0x80 到 0x27F 的内存区域,当启用 CAN-FD 模式时,每个 MB 的确切地址取决于其有效负载的大小。接收和发送缓冲区的 MB CODE 包含处理 MB、帧接收、远程发送请求、无效 CODE 和发送 MB 匹配过程等信息。

了解 FlexCAN 模块后,可以探索 S32DS IDE 中的例程烧录及代码讲解。推荐文章涵盖了 ADC 模块、中断模块、LPUART 模块的介绍与应用,以及 S32K3 RTD MCAL 开发环境搭建和从零开始搭建 S32K 开发环境的详细教程。

大大通提供 1500+ 系统级应用方案和大联大700+FAE 在线答疑解惑服务。

热心网友 时间:2024-10-04 22:23

大大通——大联大线上技术支持平台& 方案知识库!

FlexCAN 模块介绍

FlexCAN 模块是基于 ISO 118-1标准和CAN 2.0 B 协议的通信控制器,支持 CAN-FD 模式和 CAN 2.0 B 版本协议,能实现高达 8Mbps 的数据传输速率。每个 S32K144 微控制器包含 3 个 FlexCAN 模块,其中 FlexCAN0 支持 CAN-FD。报文缓冲区(Message Buffer)大小为 16 字节,且每个 FlexCAN 模块的报文缓冲区数量具体见下表。FlexCAN 模块中的主要子块包括报文缓冲区、接收全局掩码寄存器、接收单个掩码寄存器、接收 FIFO 滤波器与接收 FIFO ID 滤波器等。

CAN 作为专为交通工具设计的数据总线,满足特定需求。FlexCAN 模块是 CAN 协议的高级版本,支持标准和拓展数据帧,并允许长达 字节的数据传输。FlexCAN 的协议引擎(PE)负责管理 CAN 总线上的串行通信,而总线接口单元(BIU)则用于建立与 CPU 和其他区块的联系,控制总线接口的访问。

FlexCAN 模块特性丰富,包含多种操作模式。在正常模式下,FlexCAN 模块执行所有 CAN 总线功能,包括数据帧的接收和发送。冻结模式下,FlexCAN 模块停止收发帧,与 CAN 总线同步丢失。回环模式主要用于 FlexCAN 模块自测,从发送器输出的比特流输出到接收器,忽略输入引脚。监听模式禁止数据收发,仅被动接收被其他节点应答的报文。在 CAN-FD 主动模式下,配置 MCR[FDEN]位实现。

FlexCAN 还具备三种低功耗模式:禁止模式、睡眠模式和停止模式。禁止模式下,FlexCAN 模块请求停止 CAN 总线协议引擎的时钟和控制器主机接口。睡眠模式下,请求禁止 CAN 总线协议引擎的时钟和 CAN 总线控制器主机接口子系统。停止模式中,FlexCAN 模块置于不活动状态,通知 MCU 关闭所有时钟。

FlexCAN 模块通过两个 I/O 信号连接到外部芯片引脚,具体信号总结在下表中。FlexCAN 内存映射与数据结构涉及寄存器和邮箱、Rx FIFO 的存储结构,用于发送和接收 CAN 报文。内存映射从 0x80 到 0x27F,分配 32个128位报文缓冲区(MBs)用于存储报文。邮箱使用从 0x80 到 0x27F 的内存区域,当启用 CAN-FD 模式时,每个 MB 的确切地址取决于其有效负载的大小。接收和发送缓冲区的 MB CODE 包含处理 MB、帧接收、远程发送请求、无效 CODE 和发送 MB 匹配过程等信息。

了解 FlexCAN 模块后,可以探索 S32DS IDE 中的例程烧录及代码讲解。推荐文章涵盖了 ADC 模块、中断模块、LPUART 模块的介绍与应用,以及 S32K3 RTD MCAL 开发环境搭建和从零开始搭建 S32K 开发环境的详细教程。

大大通提供 1500+ 系统级应用方案和大联大700+FAE 在线答疑解惑服务。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com