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

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

3天内不再提示

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

瑞萨MCU小百科 来源:瑞萨MCU小百科 2025-05-20 13:53 次阅读

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

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

接着前面的章节,下面是关于FIFO中断配置的深入解析:

ed7684d4-352f-11f0-afc8-92fbcf53809c.png

1FIFO中断模式配置

CFDRFCCn.RFIM(RXFIFO)和CFDCFCCn.CFIM(公共FIFO)控制中断生成条件。

模式0(InterruptMode=0):

RX FIFO:FIFO计数器达到阈值(RFIGCV/CFIGCV配置)时触发中断。

TX FIFO:成功发送最后一条消息时触发中断。

GWFIFO:

接收帧:消息计数器达到阈值时触发中断。

发送帧:最后一条消息成功发送后触发中断。

模式1(InterruptMode=1):

RXFIFO:每接收一条消息即触发中断。

TXFIFO:每条消息成功发送后触发中断。

GWFIFO:

接收帧:消息存入FIFO时触发中断。

发送帧:消息成功发送后触发中断。

2中断阈值配置

阈值寄存器

CFDRFCCn.RFIGCV[2:0](RXFIFO)和CFDCFCCn.CFIGCV[2:0](公共FIFO)。

实际触发消息数:

根据FIFO深度(由FDC[2:0]位配置)计算。

示例:若FIFO深度为64消息(FDC=110b),配置阈值1/4满(001b),则触发阈值为16条消息。

3关键限制与注意事项

1.阈值配置依赖FIFO深度:

FDC[2:0]位配置的FIFO深度决定了阈值配置的有效性

例如:若FIFO深度为4消息(FDC=001b),某些阈值(如1/8满)可能不可用。

2.模式0的阈值应用:

仅在InterruptMode=0时生效,需确保阈值配置与FIFO深度匹配。

3.硬件无自动检查:

用户需自行验证配置合法性,避免因阈值超限导致中断失效。

4

应用场景建议

模式0(阈值触发):

适用于需要减少中断频率的场景(如高吞吐量系统),通过设定较高阈值(如3/4满)降低CPU负载。

模式1(每条消息触发):

适用于实时性要求高的场景(如关键控制指令),确保每条消息的即时处理。

GW模式中断:

需根据数据优先级选择接收/发送中断策略,避免关键消息丢失。

潜在问题与解决

中断未触发:

检查FDC[2:0]与阈值配置是否兼容(如深度过小时,阈值比例可能无效)。

确认Interrupt Mode位设置是否正确。

中断频率过高:

调整阈值至更高比例(如7/8满),或切换为模式0。

配置冲突:

若FIFO深度为0(未启用),所有中断配置均无效,需重新配置深度。

示例配置

1RX FIFO(高吞吐量场景):

深度:64消息(FDC=110b)。

中断模式:0(阈值触发)。

阈值:3/4满(101b),触发阈值48条消息。

2TX FIFO(实时控制):

中断模式:1(每条消息触发),确保每条指令的发送状态被即时监控。

3GW FIFO(数据转发):

接收中断:模式1(消息存入即触发),发送中断:模式0(最后一条消息触发)。

代码调试结果补充:

在RZN2L的canfd的example program中,对“RZN2L_RSK_canfd_Rev100a”工程做如下的配置:

开启CAN_TEST_MODE_LOOPBACK_EXTERNAL的回环测试模式

edcad9a8-352f-11f0-afc8-92fbcf53809c.png

通过4个不同的MB(Message Buffer)id发送4帧数据(不使能发送中断):

eddf5c52-352f-11f0-afc8-92fbcf53809c.png

edf22116-352f-11f0-afc8-92fbcf53809c.png

接收FIFO的设置:

ee0d55f8-352f-11f0-afc8-92fbcf53809c.png

Loopback Mode下的发送行为:

在不开启TX中断(Transmit Interrupt)的情况下发送数据帧。

如果发送的帧数少于4,则不会触发RX中断。

FIFO配置相关:

在FSP(Flexible Software Package,瑞萨的软件框架)中配置FIFO时:

先启用FIFO(即使能FIFO功能)。

然后设置FIFO的Depth(深度),即FIFO的存储容量。

再设置FIFO的中断模式(Interrupt Mode),即何时触发中断。

最后设置中断阈值(Interrupt Threshold Value)

如果使用同一个MB id发送,需要使能对应的MB的TX中断,比如用MB0来发送,可以使用如下的发送代码和配置:

ee19036c-352f-11f0-afc8-92fbcf53809c.png

ee2fd6fa-352f-11f0-afc8-92fbcf53809c.png

在使用不同的TXMB ID来发送CANFD数据帧的情况下,如果发送的帧数大于或等于4,才会触发RX中断,小于4则不会触发RX中断。在使用一个TXMB ID的情况下,对于接收FIFO的行为来说是一样的。如果发送的帧数大于或等于4,才会触发RX中断,小于4则不会触发RX中断。通过阈值的方式触发RX中断后,RX FIFO中的数据帧将逐一产生中断,直到RX FIFO中的数据帧为空。比如RX FIFO中有4帧数据,那么将逐一产生4次RX中断。注意这里并不是产生一次中断。

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

    关注

    0

    文章

    36

    浏览量

    9325
  • fifo
    +关注

    关注

    3

    文章

    400

    浏览量

    44640
  • 中断
    +关注

    关注

    5

    文章

    904

    浏览量

    42543
  • CANFD
    +关注

    关注

    0

    文章

    79

    浏览量

    5253

原文标题:带你解析RZN2L CANFD数据收发缓冲区及例程调试笔记(3)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐
    热点推荐

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

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/
    的头像 发表于 05-19 14:10 371次阅读
    <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>(1)

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

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/
    的头像 发表于 05-19 14:13 427次阅读
    <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/T2M RZ/N2L RZ/T2L系列应用心得

    RZ/T2M和RZ/N2L共用各种软件协议栈支持情况。
    的头像 发表于 11-15 16:09 3397次阅读
    <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 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 组数据表
    发表于 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 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>、<b class='flag-5'>RZ</b>/T<b class='flag-5'>2L</b>组 硬件设计指南

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

    产品详解 | 瑞萨电子RZ/N2L MPU
    的头像 发表于 04-20 08:06 2000次阅读
    产品详解 | 瑞萨电子<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 601次阅读
    瑞萨电子<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 459次阅读
    RTOS的流<b class='flag-5'>缓冲区</b><b class='flag-5'>机制</b><b class='flag-5'>解析</b>