0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析RZ/N2L CANFD模块的缓冲区机制(1)

瑞萨嵌入式小百科 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2025-05-19 14:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/N2L CANFD模块的缓冲区机制,帮助工程师更高效地管理CAN消息,提高系统性能。(下面的内容主要涉及RZN2L CANFD外设手册的解读,篇幅较长,感兴趣的读者可以收藏,以备日后不时之需)

RZN2L CAN-FD模块提供高达8 Mbps的数据速率,支持丰富的缓冲管理机制(独立缓冲、FIFO缓冲、共享缓冲),提供完整的消息过滤、错误检测、消息路由及传输管理,同时具备低功耗模式和测试功能,适用于工业控制汽车电子、自动化系统等需要高可靠性和高性能通信的应用。

请先看一下RZN2L硬件手册中关于发送/接收缓冲区的描述:

2602a694-3142-11f0-afc8-92fbcf53809c.png

以下是对该截图内容的进一步解析:

1概述

CANFD模块的消息缓冲区包括:

RX普通消息缓冲区

(Reception Normal Message Buffers

RX FIFO消息缓冲区

(Reception FIFO Access Message Buffers)

共享IFO消息缓冲区

(Common FIFO Access Message Buffers)

TX普通消息缓冲区

(Transmission Normal Message Buffers)

RX消息缓冲区通过RX消息缓冲区寄存器访问。

RX FIFO缓冲区和共享FIFO缓冲区(RX模式、TX模式、GW模式)只能通过FIFO访问寄存器访问。

TX消息缓冲区通过TX消息缓冲区寄存器访问。

2FIFO模式说明

如果共享FIFO配置为TX模式,只能通过FIFO访问寄存器写入数据。

如果共享FIFO配置为RX模式或GW模式,只能通过FIFO访问寄存器读取数据。

未使用的消息缓冲区被读取时,值未知。

3该图展示了消息缓冲区的具体分布,

结构如下:

RX普通消息缓冲区

RXMB0~RXMB31

RX FIFO消息缓冲区

RX FIFO0~RX FIFO7

共享FIFO缓冲区

COM FIFO0~COM FIFO5(分别对应于Channel0和Channel1)

TX普通消息缓冲区

TXMB0~TXMB127(分别对应于Channel0和Channel1)

4重点理解

普通RX和TX缓冲区采用直接寄存器访问。

FIFO缓冲区需要FIFO访问寄存器进行读/写。

FIFO缓冲区的模式(RX/TX/GW)决定了其访问权限:

TX模式:仅可写

RX/GW模式:仅可读

未配置的缓冲区读取时,其值未知。

下面我们进一步深入了解一下硬件手册中34.6.2的FIFO缓冲区。

261c90f4-3142-11f0-afc8-92fbcf53809c.png

1FIFO缓冲区概述

CANFD模块提供固定数量的FIFO缓冲区,用于接收(RX)、发送(TX)和网关(GW)功能,适用于不同的CAN通道。

仅用于接收的FIFO缓冲区固定为8个。

每个CAN通道可配置3个共享FIFO缓冲区,这些缓冲区可用于:

发送消息(TX)

接收消息(RX)

网关(GW)

2FIFO缓冲区的配置选项

这些FIFO缓冲区可以启用或禁用,并且支持以下配置参数:

Size(大小):FIFO缓冲区的容量,即可存储多少个CAN帧。

Interrupt structure(中断结构):是否启用FIFO相关的中断及其触发机制。

Message lost mechanism(消息丢失机制):用于处理FIFO缓冲区满时的消息丢失策略。

Message over write mechanism(消息覆盖机制):当FIFO缓冲区满时,是否允许新消息覆盖旧消息。

Location of the TXFIFO or GWFIFO(TXFIFO或GWFIFO的存储位置):决定TXFIFO或GWFIFO在CAN通道中的存放位置。

3当接收帧超出数据字段大小时的处理

当接收到的CAN帧超出数据字段大小时,是否接收该帧取决于CFDGCFG.CMPOC位的配置,假如预设置的长度是32,消息拒绝的情况是整个数据帧全部不接收,截断的情况是只接收32长度的数据,超过的部分截断后不接收,仅保留配置好的长度数据载荷。

消息拒绝(Reject)

仅保留配置好的长度的数据载荷(Data payload cut)

4重点解析

固定8个RXFIFO,同时CANFD每个通道有3个可配置的共享FIFO(RX/TX/GW)。

FIFO具备丢失、覆盖、存储位置、中断等机制,可适应不同需求。

需要正确配置CFDGCFG.CMPOC以处理数据字段超长的情况。

这部分内容主要涉及CANFD FIFO机制的配置和管理,对于优化CAN通信和提升实时性具有重要作用。

下面我们解析一下普通消息缓冲区的一些基本用法:

263f963a-3142-11f0-afc8-92fbcf53809c.png

1Normal RX Message Buffers功能

CANFD模块通过AFL(Acceptance Filter List,接收过滤器列表)将不同通道接收的帧路由到配置的Normal RX Message Buffers(常规接收消息缓冲区)。

缓冲区数量:

可配置范围:0x00(无缓冲区)至最大值=16×CAN通道数。

示例:2个CAN通道时,最大缓冲区数为32(0x20)。

配置寄存器:RX Message Buffer Number Register。

2关键配置限制

AFL条目与缓冲区的匹配:

AFL条目数量不可超过RX Message Buffer Number Register中配置的缓冲区数量。

风险提示:CANFD模块无内部检查机制,错误配置可能导致缓冲区溢出或消息丢失,需用户自行确保正确性。

3数据字段大小与溢出处理

数据字段配置:

通过CFDRMNB.RMPLS[2:0]位配置,默认8字节,最大支持64字节。

溢出处理策略:

若接收帧超过配置大小,行为由CFDGCFG.CMPOC位决定:

拒绝消息(Message Rejecting)或截断数据(Data Payload Cut)。

配置注意事项

缓冲区数量:需根据实际通道数计算最大值(如3个通道时,最大缓冲区为48)。

AFL条目:必须与缓冲区数量严格匹配,避免超限。

数据截断风险:若系统要求完整数据帧,需将数据字段大小设为64字节(最大值)并启用拒绝消息模式。

潜在问题

若AFL条目配置超过缓冲区数量,可能导致未定义行为(如覆盖其他缓冲区数据)。

增加缓冲区数量会占用更多内存,需根据系统实时性需求平衡配置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 缓冲区
    +关注

    关注

    0

    文章

    36

    浏览量

    9462
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129031
  • CAN
    CAN
    +关注

    关注

    58

    文章

    3010

    浏览量

    471391
  • fifo
    +关注

    关注

    3

    文章

    406

    浏览量

    45480
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    解析RZ/N2L CANFD模块缓冲区机制2

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/
    的头像 发表于 05-19 14:13 1132次阅读
    <b class='flag-5'>解析</b><b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> <b class='flag-5'>CANFD</b><b class='flag-5'>模块</b>的<b class='flag-5'>缓冲区</b><b class='flag-5'>机制</b>(<b class='flag-5'>2</b>)

    解析RZ/N2L CANFD模块缓冲区机制(3)

    CANFD模块缓冲区机制,帮助工程师更高效地管理CAN消息,提高系统性能。(下面的内容主要涉及RZN2L
    的头像 发表于 05-20 13:53 940次阅读
    <b class='flag-5'>解析</b><b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> <b class='flag-5'>CANFD</b><b class='flag-5'>模块</b>的<b class='flag-5'>缓冲区</b><b class='flag-5'>机制</b>(3)

    RZ/T2M RZ/N2L RZ/T2L系列应用心得

    RZ/T2M和RZ/N2L共用各种软件协议栈支持情况。
    的头像 发表于 11-15 16:09 4656次阅读
    <b class='flag-5'>RZ</b>/T<b class='flag-5'>2</b>M <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> <b class='flag-5'>RZ</b>/T<b class='flag-5'>2L</b>系列应用心得

    RZ/T2M、RZ/N2L 组硬件设计指南

    RZ/T2M、RZ/N2L 组硬件设计指南
    发表于 01-09 18:57 3次下载
    <b class='flag-5'>RZ</b>/T<b class='flag-5'>2</b>M、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组硬件设计指南

    RZ/N2L 组数据表

    RZ/N2L 组数据表
    发表于 01-09 19:21 1次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组数据表

    RZ/N2L 组用户手册:硬件

    RZ/N2L 组用户手册:硬件
    发表于 01-09 19:21 2次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组用户手册:硬件

    RZ/T2M、RZ/N2L 组硬件设计指南

    RZ/T2M、RZ/N2L 组硬件设计指南
    发表于 06-30 18:33 2次下载
    <b class='flag-5'>RZ</b>/T<b class='flag-5'>2</b>M、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组硬件设计指南

    RZ/N2L 组数据表

    RZ/N2L 组数据表
    发表于 06-30 19:20 0次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组数据表

    RZ/N2L 组用户手册:硬件

    RZ/N2L 组用户手册:硬件
    发表于 06-30 19:21 4次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 组用户手册:硬件

    Renesas Starter Kit+ for RZ/N2L 用户手册

    Renesas Starter Kit+ for RZ/N2L 用户手册
    发表于 06-30 19:28 0次下载
    Renesas Starter Kit+ for <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 用户手册

    RZ/N2L工业网络SOM套件应用说明

    电子发烧友网站提供《RZ/N2L工业网络SOM套件应用说明.pdf》资料免费下载
    发表于 01-03 09:46 1次下载
    <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>工业网络SOM套件应用说明

    RZ/T2M、RZ/N2LRZ/T2L组 硬件设计指南

    电子发烧友网站提供《RZ/T2M、RZ/N2LRZ/T2L组 硬件设计指南.pdf》资料免费下
    发表于 02-02 09:39 7次下载
    <b class='flag-5'>RZ</b>/T<b class='flag-5'>2</b>M、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>、<b class='flag-5'>RZ</b>/T<b class='flag-5'>2L</b>组 硬件设计指南

    产品详解 | 瑞萨电子RZ/N2L MPU

    产品详解 | 瑞萨电子RZ/N2L MPU
    的头像 发表于 04-20 08:06 2863次阅读
    产品详解 | 瑞萨电子<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> MPU

    瑞萨电子RZ MPU家族精品RZ/N2L产品介绍

    瑞萨生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载瑞萨电子RZ/N2L,并携手瑞萨电子举办了产品发布会和产品研讨。瑞萨电子在本次活动中介绍了瑞萨明星
    的头像 发表于 12-23 14:10 1356次阅读
    瑞萨电子<b class='flag-5'>RZ</b> MPU家族精品<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>产品介绍

    RTOS的流缓冲区机制解析

    SAFERTOS中的流缓冲区(Stream buffer)机制,可以实现任务到任务或中断到任务之间的通信。字节流是由发送方写入缓冲区,接收方读取缓冲区数据。流
    的头像 发表于 02-14 11:33 971次阅读
    RTOS的流<b class='flag-5'>缓冲区</b><b class='flag-5'>机制</b><b class='flag-5'>解析</b>