目录
一、版本控制
版本 | 撰写日期 | 撰写记录 | 字体颜色 |
V1.0 | 2024.04.07 | 以当前时间点对AURIX 2G 复位控制单元(RCU)的认识及实践,撰写了此文档,旨在阐述RCU模块的实现原理。 | 黑色(有部分红色字体仅为辨识突出) |
二、功能概述
复位控制模块隶属于系统控制模块SCU,其实现了芯片复位的控制功能,了解此模块会了解芯片的主要复位源及其特性,不同复位源所导致的复位效果,能给工程应用出现复位问题时提供理论基础。
三、主要模块
按照 AURIX关于Reset 的描述,可将 Reset 分为如下几个触发源:
1. Power-on Reset
将上图左边的四个复位源统称为Power-OnReset,这些复位源与芯片的电源管理相关,具体每个复位Trigger的原理目前不详细阐述,了解芯片的电源管理(PMS)相关知识后再做阐述;
Power-on Reset 会导致整个系统的初始化,会产生Debug-Reset、System Reset、Application Reset,也称作 cold-reset,是指在系统通电期间或者响应电源临时故障时首次触发的复位。
2. PORST
PORST 是芯片的一个引脚,通常与SBC芯片的复位引脚相连,工程上通常与TLF35584 的 ROT引脚相连,以起到外部监控的作用。PORST既可以断言为Warm-Reset,也可以断言为Cold-Reset。
芯片将复位源分为两种,一种是一定能产生确定性复位的复位源,一种是能产生可配置型复位的复位源,能产生确定性复位源的有:
能产生可配置性复位的复位源可通过复位控制寄存器配置:
这些复位源可以配置是否产生系统复位和应用复位,也可以配置成不复位。这复位源主要有 ESRO&ESR1/SMU/SW/STM。
3. ESR0&ESR1
External Reset Sources,主要作用入下图所示,如何使用呢?
这个寄存器控制着这两个引脚的工作模式:
用作输入,作为复位源:
通过寄存器RSTCON.ESRx可配置ESRx引脚所能产生的复位类型;
通过寄存器PMSWCR0.ESRxDFEN可配置是否过滤ESRx信号:
使能run模式下,小于30ns的信号不能触发复位,大于100ns的信号一定产生复位。
ESRCFGx寄存器可配置边沿情况来触发复位:
用作输出,为应用程序复位提供复位输出指示(开漏输出):
ARI位代表自从上次 Clear 后有应用程序复位发生;
ARC 用来 Clear 位 ARI。
用作General 输出
OUT寄存器用来控制输出电平
OMR寄存器用来对 OUT寄存器的逻辑操作。
只读寄存器IN用来表征PIN的电平状态。
PDISC寄存器控制是否使能此PAD
4. SMU
Safety Management Unit 的 Alarm 导致的复位请求,这个部分等学习了 SMU 模块再阐述。
5. SW
通过寄存器 RSTCON.SW 可配置 SW 所能产生的复位类型。
EB针对MCU的MCAL驱动程序有两个API,其实就是对某些寄存器的操作:
Mcu PerformReset
MCU_Init
RSTSTAT寄存器存了上次复位的信息,能告知用户上次复位是啥原因导致的。
导致冷复位的一些复位源不会自动清除,可通过寄存器RSTCON2.CLRC手动清除。
6. STM
STM CMP0的Match事件可以触发复位,RSTCON.STMx控制了触发什么复位:
ARSTDIS.STMxDIS寄存器控制Application Reset是否会复位STMx的计数值。
四、参考文档
1.《AURIXTC3XX ts part1 V2.5.1.pdf》