欢迎光临
我们一直在努力

IF-10 AURIX TC3xx SCU系统控制单元深度解析

IF-10 AURIX TC3xx SCU系统控制单元深度解析

IF-10 思维导图

一、SCU概述

System Control Unit(SCU)是AURIX TC3xx芯片的核心系统控制模块,负责管理复位、看门狗、外部中断、紧急停止等关键系统功能。作为芯片的系统控制中枢,SCU确保了AURIX能够在汽车安全关键应用中稳定可靠地运行。

SCU内部包含七大功能模块:

  • RCU – Reset Control Unit(复位控制单元)
  • TRAP – Trap Generation(Trap生成单元)
  • SRU – System Register Unit(系统寄存器单元)
  • WDT – Watchdog Timer(看门狗定时器)
  • ERU – External Request Unit(外部请求单元)
  • ES – Emergency Stop(紧急停止)
  • PMC – Power Management Control(电源管理控制)

SCU内部结构概览

二、RCU复位控制单元详解

2.1 复位类型分类

RCU管理四种主要复位类型,每种复位对应不同的系统状态和恢复流程:

复位类型触发条件影响范围典型应用
Power-On Reset 上电/掉电检测 全系统 系统启动
Cold Reset 器件复位引脚/调试器 除模拟海外的全系统 系统初始化
Warm Reset 软件/看门狗/SMU CPU子系统 异常恢复
Application Reset 模块级复位请求 特定外设 外设重启

2.2 复位状态寄存器RSTSTAT

RSTSTAT寄存器记录最近一次复位的来源和类型,是系统启动诊断的关键数据源:

// RSTSTAT寄存器位域定义
struct RSTSTAT {
uint32_t PORST : 1; // Power-On Reset Flag
uint32_t CRST : 1; // Cold Reset Flag
uint32_t WRST : 1; // Warm Reset Flag
uint32_t STM0RST : 1; // STM0 Reset Request
uint32_t STM1RST : 1; // STM1 Reset Request
uint32_t … // 更多位
};

2.3 复位配置寄存器RSTCON

通过RSTCON0/1/2/3寄存器,软件可以配置各复位源的触发行为和优先级。

复位配置寄存器

三、看门狗定时器WDT深度剖析

3.1 WDT架构概述

AURIX TC3xx包含两种类型的看门狗:Safety WDT(安全看门狗)和CPU WDT(每个CPU独立)。这种双层看门狗架构满足了ISO 26262 ASIL-D功能安全要求。

3.2 Safety WDT特性

  • 独立于CPU运行,无法被CPU停止
  • 超时后触发系统复位
  • 支持Time-Base Check机制防止计数器被篡改
  • 与SMU(Safety Management Unit)深度集成

3.3 CPU WDT工作原理

每个CPU核心都有独立的看门狗计时器,需要定期"喂狗"操作:

// CPU看门狗喂狗操作(需正确密码序列)
void feed_cpu_wdt(uint8_t cpu_id) {
// WDTxCON1中写入特定序列
WDT0CPU0CON1 = 0x00FF; // 清零计数器
WDT0CPU0CON1 = 0xCC00; // 启动新周期
}

3.4 ENDINIT访问保护机制

ENDINIT是AURIX的关键安全机制,防止关键寄存器被意外修改:

// 解除ENDINIT保护(典型模式)
void unlock_config(void) {
// 读取当前密码
uint16_t pwd = WDT0CPU0CON0 & 0x0FFF;

// 构造解锁序列
WDT0CPU0CON0 = pwd | 0x08; // 设置ENDINIT=0

// 执行关键配置
// …

// 重新锁定
WDT0CPU0CON0 = pwd | 0x08 | 0x100; // 同时设置ENDINIT=1
}
看门狗定时器框图

四、ERU外部请求单元深度解析

4.1 ERU功能架构

ERU是AURIX连接外部信号的桥梁,支持8个独立输入通道,每个通道可独立配置触发条件:

  • EXICON – 外部输入配置寄存器(8通道)
  • IGF – Input Gate Filter(输入门控滤波器)
  • ERS – External Request Selector(事件选择器)
  • ETL – Event Trigger Logic(事件触发逻辑)
  • OGU – Output Gating Unit(输出门控单元,4个)

ERU外部请求单元概览

4.2 事件触发与路由

ERU支持灵活的事件路由配置,可以将外部中断路由到:

  • 任意CPU的中断控制器
  • DMA请求输入
  • SMU安全监控单元

// ERU通道配置示例
void eru_init_channel(uint8_t ch, uint8_t input_pin) {
// 配置输入引脚
EXICON[ch].DSEL = input_pin; // 选择输入源
EXICON[ch].LEN = 1; // 使能通道
EXICON[ch].REN = 1; // 上升沿触发
EXICON[ch].FEN = 1; // 使能滤波

// 配置事件路由到OGU0
ERS[ch].EX = 1; // 使能事件
OGU[0].IGE0 = ch; // 路由到OGU0
}

4.3 ETL边沿检测逻辑

ETL支持多种边沿检测模式:

  • 上升沿触发(Rising Edge)
  • 下降沿触发(Falling Edge)
  • 双边沿触发(Both Edges)
  • 电平敏感(Level Sensitive)

事件触发逻辑

五、Trap生成单元TRAP

5.1 TRAP机制概述

Trap是TriCore架构的同步异常处理机制,与中断不同,Trap具有更高的优先级且不可屏蔽(某些类型)。SCU的TRAP模块负责生成和管理系统Trap请求。

5.2 TRAP寄存器详解

// TRAPSTAT – Trap状态寄存器
struct TRAPSTAT {
uint32_t CPU0ESR0T : 1; // ESR0 Trap Request
uint32_t CPU0ESR1T : 1; // ESR1 Trap Request
uint32_t SMUART : 1; // SMU Alarm Trap
uint32_t … // 更多Trap源
};

// TRAPSET/CLR – 设置和清除Trap请求
#define TRAP_CLR_ALL() (SCU_TRAPCLR.U = 0xFFFFFFFF)

5.3 Trap与复位的协同

Trap可以作为复位请求的前置条件,当关键系统异常发生时:

  • Trap被触发,CPU进入Trap处理
  • Trap Handler执行安全关闭流程
  • 请求SMU生成系统复位
  • RCU接收复位请求并执行复位序列
  • Trap生成结构

    六、SRU系统寄存器单元

    6.1 芯片识别与配置

    SRU提供芯片ID、版本号等关键信息:

    // CHIPID寄存器
    struct CHIPID {
    uint32_t CHID : 4; // Chip ID
    uint32_t CHTEC : 2; // Chip Family
    uint32_t EEA : 1; // EMEM/ADAS Extension Available
    uint32_t … // 更多配置位
    };

    6.2 LCL本地锁控制

    LCL(Local Lockstep Comparator)用于Lockstep CPU对的故障检测:

    // LCLCON0 – CPU0/CPU2 Lockstep Control
    #define LCL_CON(x) (SCU_LCLCON0.U & (1 << (x)))

    // 检测Lockstep不一致
    if (LCL_CON(0)) {
    // CPU0与CPU1输出不一致,系统安全告警
    }

    6.3 访问控制ACCEN

    ACCEN寄存器控制各模块寄存器的CPU访问权限,防止非法访问。

    七、ES紧急停止单元

    7.1 紧急停止功能

    ES模块提供硬件紧急停止功能,通过专用引脚(P33.8)触发:

    // EMSR – Emergency Stop Register
    #define EMSR_EST0 (1 << 0) // Emergency Stop 0
    #define EMSR_EST1 (1 << 1) // Emergency Stop 1

    // 软件触发紧急停止
    SCU_ESR.B.EST0 = 1;

    // 读取紧急停止状态
    uint8_t status = SCU_EMSR.B.EST0;

    7.2 紧急停止响应流程

  • 检测到紧急停止信号(硬件或软件)
  • 立即关闭相关PWM输出
  • 触发Trap通知软件
  • 根据配置决定是否触发系统复位
  • 紧急停止ES单元

    八、PMC电源管理控制

    8.1 电源监控

    PMC模块监控芯片供电电压,确保在安全范围内运行:

    • EVRCORE – 内核电压监控
    • EVR33 – 3.3V供电监控
    • EVR13 – 1.3V供电监控

    8.2 掉电保护

    当检测到欠压情况,PMC会:

  • 触发SMU告警
  • 启动受控关闭序列
  • 必要时触发系统复位
  • 九、SCU寄存器总结

    寄存器地址功能描述
    RSTSTAT 0050H 复位状态寄存器
    RSTCON0 0088H 复位配置寄存器0
    RSTCON1 008CH 复位配置寄存器1
    RSTCON2 0090H 复位配置寄存器2
    RSTCON3 00F8H 复位配置寄存器3
    TRAPSTAT 0120H Trap状态寄存器
    TRAPCLR 012CH Trap清除寄存器
    WDT0CPU0CON0 0000H CPU0看门狗控制0
    WDT0CPU0CON1 0250H CPU0看门狗控制1
    CHIPID 0000H 芯片标识寄存器

    十、总结

    SCU作为AURIX TC3xx的系统控制中枢,承担着系统初始化、运行监控、异常处理等关键职责。其模块化设计使得各功能既相互独立又紧密协作,共同保障了汽车ECU的安全可靠运行。

    深入理解SCU的工作原理,对于开发高质量的汽车嵌入式软件至关重要。特别是在功能安全要求日益提高的今天,掌握SCU的复位管理、看门狗机制、Trap处理等核心功能,是每个AURIX开发者的必修课。


    推荐阅读:

    • IF-09 AURIX TC3xx DMA直接内存访问机制深度解析
    • IF-08 AURIX TC3xx时钟系统深度解析
    • IF-SAFE系列 AURIX功能安全设计指南

    本文基于Infineon AURIX TC3xx User Manual Part1编写,参考文档版本SCUV2.1.27

    赞(0)
    未经允许不得转载:171主机测评 » IF-10 AURIX TC3xx SCU系统控制单元深度解析
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址