AURIX™ TC3xx 中断服务(Interrupt Router)的简介

描述

AURIX 微控制器将三种强大的技术集成在一个硅芯片上,为嵌入式应用实现了新的功率、速度和经济性水平。AURIX 微控制器旨在满足最苛刻的嵌入式控制系统应用需求,在这些应用中,价格/性能、实时响应能力、计算能力、数据带宽和功耗等相互竞争的因素是关键的设计要素。

 

TriCore 架构手册描述了 Infineon Technologies TriCore 微控制器架构的核心架构和指令集。TriCore 是一种统一的 32 位微控制器-DSP 单核架构,针对实时嵌入式系统进行了优化。
 

TriCore 架构具有以下特点:

高性能和低功耗:TriCore 架构具有高效的指令集和流水线设计,可以实现高性能和低功耗。

实时响应能力:TriCore 架构具有多个实时特性,如多个优先级级别、硬体计时器和事件管理器,可以满足实时嵌入式系统的严格要求。

安全性:TriCore 架构具有多种安全特性,如记忆体保护和片上加密引擎,可以保护系统免受攻击。

 

TriCore 微控制器广泛应用于汽车、工业和消费电子领域,如汽车发动机控制、安全系统、工业自动化控制和智能家居设备等。

 

AURIX TC3xx为TriCore 162 generation, 最多有6个300Mhz CPUs

 

AURIXTC3xx family system architecture

 

依不同的需求,AURIX TC3xx 有着先进的封装技术提供最佳的价格/性能比,客户可以在同一引脚兼容封装中选择不同的包装。

 

AURIX TC3xx family package scalability 
 

中断管理模块(Interrupt Router (IR))

在真实的应用中,存在大量的中断事件。例如ADC采样,通讯模组(CAN, UART, SPI, I2C....)等等,这些事件的处理都会中断服务者停止运行程序,进而执行中断优先权高的程序。完成后回到中断处,继续运行主程序。而AURIX TC3xx提供了最多六个CPUs核心,这些事件中都需要使用者来分配相对应的事件给各个CPUs执行,以减轻单一CPU的负担。本文章主要介绍AURIX的系统中断和事件处理,主要包含外部中断、内部中断和软件中断。中断服务包含CPU与DMA。

 

Feature List

支持多达 1024 个服务请求的中断系统

每个 ICU / 服务提供者支持多达 255 个服务请求优先级级别

支持多达 8 个 ICU / 服务提供者

为每个已实现的 CPU / DMA 模块(服务提供者)提供一个专用的 ICU

低延迟仲裁 - 从收到服务请求到将其发送到服务提供者需要 3/4 个时钟周期

每个外围设备中断都有一个专用的服务请求节点 (SRN)

每个 SRN 都有一个可编程的 8 位优先级向量

每个 SRN 都可以映射到一个已实现的 ICU / 服务提供者

SRN 在配置的服务提供者确认中断时由硬件自动清除

支持完整性的中断系统

每个 CPU 有 8 个通用服务请求 (GPSR),可用作软件中断(未分配给外围设备或外部中断)

服务请求广播寄存器 (SRB) 可同时向多个服务提供者发送通用服务请求(软件中断)

优先级相关的中断请求屏蔽(对于 CPU,相关控制寄存器包含在 CPU 中)

具有滤波模式和触发模式的外部中断(例如,下降沿、上升沿、高电平或低电平)。模式可以在运行时配置

CPU 唤醒支持(向 CPUx 发送服务请求会发信号给 SCU,在 CPUx 处于 IDLE 状态时唤醒 CPUx)

 

Overview

中断请求可以由 CPU 或 DMA 模块来处理。中断请求被称为“Service Requests“,而不是“Interrupt Requests“,因为它们可以由任何一个Service Provider来处理。中断系统在中断路由器模块(Interrupt Router)中实现,该模块包括服务请求节点 (SRN)、中断控制单元 (ICU) 和用于软件开发支持的其他功能。

 

如下图所示,每个可以生成服务请求的模块都连接到中央中断路由器模块(Interrupt Router)中的一个或多个服务请求节点 (SRN)。中断路由器模块(Interrupt Router)还包括几个用于软件 (SW) 触发服务请求的通用服务请求节点 (SRN)。每个 SRN 都包含一个服务请求控制寄存器 (SRC),用于配置服务请求,例如优先级、映射到可用Service Provider之一。

Block Diagram of the Interrupt System
 

每个Service Request 必须配置为由其中之一Service Provider来服务

每个 SRN 都连接到中断路由器模块(Interrupt Router)中的所有 ICU,其中 SRN 控制寄存器设置定义了目标Service Provider和服务请求的优先级。每个 ICU 处理来自映射到 ICU 的 SRN 的竞争服务请求之间的中断仲裁。每个 ICU 都连接到一个Service Provider(CPU 或 DMA 模块),其中 ICU 在仲裁回合中提供有效的获胜Service Request/SRN,Service Provider反过来向 ICU 发信号表示何时以及正在处理哪个服务请求。

 

Tos

 

为每个服务请求分配优先级

每个服务请求必须分配一个从 0 到 255 的服务请求优先级号 (SRPN):

取决于所选的服务提供者 (TOS),SRPN 表示以下内容:

CPUx:相关服务请求的中断优先级(SRPN 0 为不触发)

DMA:要触发的 DMA 通道的编号。

 

仲裁

对于每个 ISPx,IR (Interrupt Router)在映射到该 ISPx 的挂起服务请求组中进行仲裁。仲裁回合的获胜者是具有最高优先级(SRPN 号码)的挂起 SR。

仲裁是中断系统中的一个重要过程,用于确定应由哪个服务提供者处理服务请求。在仲裁过程中,中断路由器模块 (IR) 会检查映射到每个服务提供者 (ISPx) 的挂起服务请求组。IR 会选择具有最高优先级(SRPN 号码)的挂起服务请求,并将其发送到该 ISPx。

 

仲裁过程可以确保最紧急的服务请求得到优先处理。例如,如果一个外部设备需要立即传输重要数据,则 IR 会确保该设备的服务请求得到优先处理。

仲裁过程通常在一个硬件模块中实现,该模块能够快速高效地进行仲裁。这确保了中断系统能够快速响应服务请求。

 

以下是一个仲裁过程的示例:

一个外部设备向中断路由器模块 (IR) 发送服务请求。

IR 检查映射到该设备的服务提供者 (ISPx) 的挂起服务请求组。

IR 选择具有最高优先级(SRPN 号码)的挂起服务请求。

IR 将所选服务请求发送到 ISPx。

ISPx 处理服务请求。

Arbitration
 

结论

中断系统是嵌入式系统中的重要组成部分,用于接收、管理和处理来自外围设备和其他模块的服务请求。Interrupt Roter是Aurix中断系统的核心。每个外围设备中断都有专门的服务请求节点 (SRN),服务提供者和服务请求优先级号配置,中断溢出,软件中断设置/清除。每个服务提供者都有专门的中断控制单元 (ICU)对映射到不同 ISP 的待处理服务请求进行并行和独立的仲裁。

支持优先级仲裁,以确保最紧急的服务请求得到优先处理。

支持多种Service Provider,包括 CPU 和 DMA 模块。

支持多种Service Request,包括中断请求和软件(SW)触发的服务请求。

提供使用者灵活的应用,以及可靠性的事件处理,采用硬件加速可快速响应服务的请求。

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分