概述
本文分析NXP S32K1 FlexCAN的寄存器,加深对其开发、故障定位的了解。
内存映射
FlexCAN0 base address: 4002_4000h
FlexCAN1 base address: 4002_5000h
FlexCAN2 base address: 4002_B000h
偏置从 0x80 to 0x27F 分配给32个 128-bit message buffers (MBs)。

从上图可以看出,寄存器分为三组:常用组、Pretended Networking组、CAN FD组。
常用寄存器分析
MCR
Module Configuration register
全局的系统配置,如操作模式、冻结、RXFIFO使能及软件复位等。
CTRL1
指定模块与CAN bus有关的特征,如位数率、采样点、模式等。
CAN位时间相关的变量配置也可以在 CBT 寄存器中,如果CBT[BTF] 置位,此时CTRL1中这几个位域将变为只读的。
TIMER
Free Running Timer
16位自由定时器,复位后从0x0 显性计数到0xFFFF,然后回绕。
读它将导致MB解锁。
RXMGMASK
Rx Mailboxes Global Mask register (RXMGMASK)
MCR[IRMQ] = 0, RXMGMASK 有效。
RX
NXP S32K1 FlexCAN寄存器详解

本文详细分析了NXP S32K1系列MCU的FlexCAN模块寄存器,包括MCR、CTRL1、TIMER等关键寄存器的功能和应用场景,旨在帮助开发者理解和优化CAN总线通信。
最低0.47元/天 解锁文章
7635

被折叠的 条评论
为什么被折叠?



