TC3xx MCMCAN MCAL配置注意项

英飞凌MCMCAN模块的5个隐藏技巧:如何用TC3xx的CAN FD实现400%吞吐量提升 本文深入解析了英飞凌AURIX 2G系列MCU中MCMCAN模块的5个高级配置技巧,包括Tx Queue调度、TDCR延迟补偿、报文RAM的DMA优化、中断合并处理以及时钟协同配置。通过实战调优,这些隐藏功能可帮助开发者在TC3xx平台上将CAN FD的有效数据吞吐量提升高达400%,并显著降低CPU负载与通信延迟,适用于汽车电子域控制器等高性能场景。 阅读详情
AI摘要

本文基于EB tresos,介绍嵌入式CAN相关配置。涉及波特率及采样点,包括CAN时钟分频、各段设置及典型配置;Canfd第二采样点,解决可变波特率下误报位错误问题;CanHwObject配置顺序;CanHwFilter,用于过滤邮箱报文,降低对CpuLoad的影响。

Based on EB tresos

1、波特率及采样点

其中,CAN时钟分频在Mcal Mcu Clock Config中已进行,如下图所示



因此BaudRate中,Fasyn/(DBRP + 1)项为40MHz,其余介绍如下:

1、SynCseg同步段,标准1个Tq

2、Propseg传播段,在mcal中对应Can设置为CanControllerPropSeg,单位Tq

3、Phaseseg1相位缓冲段1,在mcal中对应Can设置为CancontrollerSeg1,单位Tq

4、Phaseseg2相位缓冲段2,在mcal中对应Can设置为CancontrollerSeg2,单位Tq

这些变量与波特率和采样点有关,下面是典型配置,供参考,can采样点80%,canfd仲裁段80%,数据段70%





其中mcal还可配置一个参数,CanControllerSyncJumpWidth,该值用于相位缓冲器加长或缩短量的上限,由于再同步,传播段和相位缓冲段1可能会延长或者相位缓冲段2可能会缩短,为了使得采样点能存在容错的配置项,需要在系统级测试时进行标定处理,这里配置成典型值4

2、Canfd第二采样点

CAN总线节点在发送过程中,是要对输入信号进行回采的,以进行总线仲裁以及错误判断。如果在一定时间内没有回采到预期值,则会出现位错误。该时间阈值取决于CAN时钟频率。

当使用CANFD时,由于可变波特率,CAN位时间发生了变化,会导致该延时阈值较短,也就是需要硬件在更短的时间进行回读,但硬件的延时相对较为固定,这个时候就容易误报位错误。也就是实际该帧发送正常,但是硬件回读时间大于阈值。

在mcal中,可配置项在配置canfd数据段波特率时可选





配置时可根据mcal can um中描述的进行配置,由于波特率和CAN时钟频率都与例子一致,因此配置成16

3、CanHwObject

CanHwObject,下文简称为邮箱。

在使用mcal配置can模块时,应该碰见过CanHwObject和Cancontroller的顺序导致的报错,要注意配置CanHwObject时要按照,CanController的Id的顺序,并按照RECEIVE在前,TRANSFER在后的循序进行配置CanHwObject的Id

4、CanHwFilter

对于ObjectType为RECEIVE的邮箱,不管是FULL CAN还是BASIC CAN,都需要配置过滤器,过滤器用于过滤该邮箱所不需要的报文,降低由于无用报文导致的程序频繁进入接收中断,或加入RXFIFO,对CpuLoad造成影响;在配置时需要注意,mcal中有两个配置,一个FilterCode,一个FilterMask,Mask界定哪些位进行过滤,Code则标注目标值;假设需要过滤一个报文,id为0x456,那么配置Mask为0x7FF,Code为0x456即可;假设要过滤0x4xx的报文,那么Mask不能配置0xXX的配置,可以设为0x700,code配置为0x400即可(以上均为标准帧,id最大为0x7ff)



英飞凌Aurix2G TC3XX MCMCAN模块实战:从硬件原理到AUTOSAR配置与诊断 本文详细解析了英飞凌Aurix2G TC3XX的MCMCAN模块,从硬件架构到AUTOSAR配置与诊断实战。通过实际案例分享,深入探讨了Message RAM设计、操作模式、波特率配置等关键点,并提供常见问题解决方案和性能优化技巧,帮助开发者高效实现CAN通信系统。 阅读详情

相关推荐

告别盲调!用英飞凌Aurix TC3XX内部回环(Loopback)快速验证你的CANFD驱动

本文详细介绍了如何利用英飞凌Aurix TC3XX系列芯片的MCMCAN模块内部回环功能,快速验证CANFD驱动栈的正确性。通过内部回环模式,开发者无需外部硬件支持即可实现自发自收的闭环测试,显著提升开发效率并降低调试成本。文章涵盖技术原理、硬件准备、寄存器配置及高级调试技巧,为嵌入式系统开发提供实用指南。

weixin_42549451的博客 425

英飞凌TC3xx_MCMCAN(一)

1.基本概述英飞凌TC3xx的MCMCAN模块取代了TC2xx系列的MultiCAN;相比于之前的CAN模块,MCMCAN使用的是Bosch提供的M_CAN作为节点,满足ISO 11898-1的要求,支持CAN\CAN FD,最高传输速率可到8Mbit/s;同时还满足ISO 11898-4,基于时间同步事件触发通信方式。

认真搞搞汽车MCU 5774

AURIX TC397实战:用EB Tresos Studio 23搞定MCAL CAN通信(附完整代码)

本文详细解析了如何使用EB Tresos Studio 23在AURIX TC397开发板上实现MCAL CAN通信的全流程。从环境准备、端口配置到CAN控制器设置,提供了完整的代码示例和调试技巧,帮助工程师快速掌握TC397的CAN通信开发。

390

【AUTOSAR】 MCAL配置说明(二)----MCAL CAN模块配置

CAN 通讯模块配置 主要的配置内容如下: can 模块的时钟源 can busoff, rx, tx的处理方式 映射pin 脚选择 波特率,采样点设置 邮箱配置,接收、发送报文邮箱,标准帧/扩展帧

hellotzx的博客 7366

AURIX 2G MCMCAN模块实战:从寄存器配置到CAN FD通信全流程解析(附EB Tresos配置截图)

本文深入解析了英飞凌AURIX 2G系列MCU中MCMCAN模块的实战应用,提供了从寄存器配置到构建稳定CAN FD通信栈的完整工程化指南。内容涵盖模块架构、CAN FD位定时、控制器延迟补偿等核心配置,并结合EB Tresos工具详解了MCAL配置、中断管理、报文缓冲区优化及错误处理策略,旨在帮助汽车电子开发者高效实现高可靠车载网络通信。

w1x2y3的博客 298

保姆级教程:用EB23和MCAL1.0.0给英飞凌TC397开发板配置CAN通信(附完整代码)

本文提供了一份详细的英飞凌TC397开发板CAN通信配置指南,基于EB Tresos Studio 23和MCAL 1.0.0环境,涵盖开发环境准备、MCAL模块配置、CAN控制器设置及代码集成等关键步骤。特别针对端口配置、时钟树设置和中断管理等常见问题提供了实用解决方案,帮助开发者快速实现稳定可靠的CAN通信。

567

英飞凌TC3XX芯片CAN模块实战:从硬件连接到MCAL配置全解析

本文详细解析了英飞凌TC3XX芯片CAN模块的硬件连接与MCAL配置全流程,涵盖引脚分配、信号完整性设计、时钟配置、波特率计算及Message RAM深度配置等关键技术要点。通过实战案例和优化技巧,帮助开发者快速掌握CAN模块在汽车电子和工业控制中的应用,提升系统可靠性和实时性。

v5w6x的博客 472

TC387 MCMCAN Message RAM配置详解:Tx Buffer与Rx FIFO地址布局

在嵌入式CAN/CAN FD通信系统中,缓冲区和FIFO是数据收发的核心机制,而AURIX TC3xx系列单片机将这一机制集成在了MCMCAN模块专用的Message RAM中。这是一块由CAN控制器独占的内存区域,开发人员需要按照寄存器规范手动划分Tx Buffer、Rx FIFO、过滤元素等子区间。合理的RAM布局能确保不同功能区域互不重叠、有序排列,避免数据覆盖与错帧。通过掌握TXBC、RXF0C等配置寄存器的字段含义,结合实用的地址布局表,可以显著降低多节点CAN通信的调试成本。本内容面向使用TC3

weixin_34226182的博客 221

英飞凌TC3XX MCMCAN初始化实战:Message RAM与过滤器配置避坑指南

CAN总线作为嵌入式系统中应用最广泛的通信协议之一,其控制器初始化质量直接决定通信可靠性。在复杂车载网络中,CAN控制器不仅需要配置波特率,还需精心设计报文存储空间与过滤机制,才能确保数据准确收发。英飞凌AURIX TC3XX系列中的MCMCAN模块,基于Bosch M_CAN IP,将报文缓冲区统一放置于专用Message RAM中,通过寄存器划分地址,这一设计提高了灵活性,却也给开发者带来了配置陷阱。实际项目中的异常现象往往源于Message RAM越界、过滤器地址重叠或时钟树配置偏差。本文从CAN控制

weixin_33812433的博客 393

英飞凌TC3XX移植XCP_Basic:CANape DAQ测量全流程解析

在汽车电子控制器开发中,实时测量与标定是保证VCU/BMS等电控系统可靠性的关键环节。XCP协议作为主流的测量标定通信协议,通过CAN等物理层实现上位机与ECU的数据交互,其中DAQ(数据采集)模式支持按事件周期自动上传多路变量,显著提升调试效率。然而在英飞凌TC3XX多核MCU平台上,缺少商业协议栈或AUTOSAR XCP模块支持时,开发者常面临无法接入CANape等标定工具的困境。本文从XCP基本架构和A2L文件的作用出发,系统梳理了在TC3XX上移植XCP_Basic的完整过程,包括CAN驱动对接、多

weixin_29190169的博客 181

MCAL知识点(三):CAN驱动配置详解

CAN驱动程序为使用单片机中的MultiCAN+单元提供服务。一个MultiCAN+单元(在AUTOSAR中称为“硬件单元”)由共享许多独立消息对象(在AUTOSAR中称为“硬件对象”)的独立节点(在AUTOSAR中称为“控制器”)组成。Aurix微控制器中的CAN硬件单元为每个CAN节点提供了符合CAN规范V2.0 B的全CAN功能(符合ISO 11898)。CAN驱动在整个AUTOSAR架构图示如下软硬件之间匹配关系如下MultiCAN+模块包含独立操作的CAN节点,具有全CAN功能。

梦想技术家 3720

TC387 用户手册之MCMCAN Module

总体上:TC38X 有3个MCMCAN模块,每个模块下面有4个CAN节点,每个节点对应一个CAN通道即一对收发pin口。针对单个MCMCAN Module而言:这四个CAN节点除了拥有独立的TX、RX口,都共享所属模块下的控制单元、存储单元、中断单元针对单个CAN节点而言:每个CAN节点包含CAN协议控制器、时间戳、发送处理器、接收处理器其中TxHandler最多可配置32个Tx Buffers用于传输;

m0_60177650的博客 1078

TC3XX - MCAL知识点(二十):CAN MCAL配置及代码实战(CAN/CANFD/extenen CAN)

CAN驱动程序负责提供AUTOSAR指定的标准CAN通信服务。M_CAN单元是底层的CAN硬件单元,它由共享消息RAM(在AUTOSAR中称为硬件对象)的节点(在AUTOSAR中称为控制器)组成。CAN驱动提供以下服务:·初始化CAN控制器以控制CAN控制器的行为和状态·设置和修改CAN控制器的波特率配置·支持CAN和CAN FD帧的收发·在轮询和中断模式下,成功的帧传输通知,专用和FIFO消息的接收和总线事件通知·数据接收使用接收FIFO功能·假装网络模式处理·支持多读/写周期功能。

梦想技术家 3939

英飞凌TC3XX MCMCAN初始化详解:架构、寄存器与避坑指南

在嵌入式系统中,CAN总线控制器是实现可靠通信的核心外设之一。英飞凌TC3XX(AURIX)平台的MCMCAN模块融合了多节点共享Message RAM、灵活的收发缓冲区及复杂的时序控制逻辑,其初始化过程往往成为开发者从传统MCU迁移时遇到的首要门槛。理解MCMCAN的时钟使能、复位状态、位时序计算与采样点选择,是保证CAN报文正确收发的关键基础。在实际工程中,Message RAM分配重叠、过滤器配置失误或寄存器访问权限不当,常导致通信故障隐蔽且难排查。本文从CAN控制器通用原理出发,结合TC3XX硬件特

weixin_34289454的博客 268

TC3XX - MCAL知识点(九):PWM EB-tresos配置说明及代码浅析

脉冲宽度调制(PWM)驱动器负责提供与AUTOSAR指定的PWM信号生成相关的标准服务。PWM通道的底层定时器驱动是GTM (TOM或ATOM片)或CCU6 (T12或T13片)定时器通道。软硬件匹配关系如下:PWM直接引用的是GTM与CCU6模块,然后GTM与CCU6再关联到Port的,根据软硬件匹配关系,也能调用中断来使用,本例子没使用中断。CCU6是一个高分辨率的16位捕获和比较单元,具有特定的应用模式,主要用于交流驱动控制。特殊的工作模式支持控制无刷直流电机使用霍尔传感器或反电动势检测。

梦想技术家 2885

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

TC397开发板实战:用HighTec调试MCAL驱动CAN与GPT外设的完整流程(避坑指南)

本文详细介绍了在TC397开发板上使用HighTec调试MCAL驱动CAN与GPT外设的完整流程,包括环境准备、工程初始化、外设配置及常见问题解决方案。特别针对CAN通信和GPT定时器的调试难点提供了实用技巧,帮助开发者高效避坑,快速实现功能集成。

aizhouqian5537的博客 625

智能座舱架构与芯片 - (3) 硬件篇 上

在了解智能座舱的基本架构之后,我们有必要针对智能座舱域的硬件平台,软件平台,SOC等进行逐一介绍。从它们的整体结构中去认识最新的智能座舱组成部件,以及主要功能等。如上图,是中央计算-区域控制架构下的智能座舱硬件平台框架图,其中,智能座舱控制器CDC挂载在以太网交换机上,与其他车控域VDC,自驾域ADC,网联设备5G+V2X等通过以太网实现数据交互。而智能座舱域的外部硬件设备还包含有连接子系统音频子系统摄像头子系统显示子系统存储子系统功能安全子系统等。

joanna_xiao的博客 2400

TC3xx中断配置从SRN地址计算到AUTOSAR集成实战

在嵌入式开发中,中断系统的正确配置是保证实时响应与系统稳定的关键。中断请求的产生、路由、仲裁与响应,涉及寄存器映射、优先级管理、多核协同等多个底层环节。对于采用AUTOSAR架构的工程师而言,中断链路不仅关乎芯片底层寄存器操作,还与Davinci Configurator工具链、MCAL驱动以及OS服务紧密相关。理解中断从外设事件到SRN服务请求节点,再经中断路由器送达CPU的完整流程,是解决中断不进、优先级失效等问题的前提。本文聚焦TC3xx平台,结合AUTOSAR工具链配置与SRN地址计算方法,梳理了从

weixin_34043301的博客 406

欧姆龙 CJ1W-SCU模块使用通配符+结束码实现非固定长度数据的接收

实验设备:CJ2M-CPU33、CJ1W-SCU21、XW2Z-200T 实验目的:了解 CJ1W-SCU 通配符使用 1.硬件接线: CJ1W-SCU21单元号拨码置于8,使用串口1(232口)。 2.软件设置: ① 新建工程,选择PLC型号CJ2M-CPU33,切换到编程模式,如下图: 、 ② 创建I/O并进行相关配置,如下图: ③ 设置为用户设置,协议宏模式,8位数据位,2位停止位,偶校验9600波特率,如下图: 、 ④ 打开CX-Protocal软件,新建工程: .

weixin_42118352的博客 1984

使用MiniExcel.SaveAsByTemplate快速地保存百万数据

该代码展示了如何使用MiniExcel快速生成并导出百万级销售数据。核心方法GenerateLargeData()可生成指定数量的随机销售记录,包含客户名、日期、VIP状态、积分等20个字段。通过随机函数模拟真实数据分布,并支持自定义数据量(默认100万条)。配合Excel模板使用MiniExcel.SaveAsByTemplate()方法,能高效地将大数据量导出为Excel文件,且处理速度极快。代码结构清晰,包含数据生成、随机日期辅助方法和数据模型类,适合需要批量生成测试数据或导出大型报表的场景。

大坡3D软件开发 253

Autosar MCAL中CAN模块配置从基础到实战:采样点与Filter避坑指南

CAN总线作为汽车电子控制单元间通信的骨干,其可靠性直接取决于MCAL层驱动配置是否精准。在Autosar分层架构中,MCAL的Can模块负责底层寄存器操作与硬件收发,而波特率、采样点、HardwareObject等参数虽看似零散,却紧密关联上层CanIf与CanNm的协同逻辑。理解位时序原理,掌握不同芯片(如S32K、TC3xx)的缓冲结构差异,是规避总线丢帧、错误帧以及唤醒失败问题的关键。从回环自测到实车联调,从Filter掩码计算到DLC一致性核对,系统化梳理CAN配置全链路,可显著提升嵌入式开发效率

weixin_29195615的博客 257

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

理论开篇,理解什么是编程

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3112
上一篇: TC38x Overlay配置及使用
下一篇: Aurix2G TC3xx UCB(启动部分)
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

您猜我猜不猜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值