1 AURIX™ TC3xx 中断服务(Interrupt Router)的简介-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

大大通 2023-11-14 08:27 次阅读

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)触发的服务请求。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151306
  • Infineon
    +关注

    关注

    2

    文章

    92

    浏览量

    29033
  • 中断服务
    +关注

    关注

    0

    文章

    9

    浏览量

    6840
  • Aurix
    +关注

    关注

    1

    文章

    71

    浏览量

    10910
收藏 人收藏

    评论

    相关推荐

    请问AURIX TC3xx tricore架构下浮点运算和将浮点数小数点去掉变成整数来计算哪种方式更加节省算力?

    AURIX TC3xx tricore架构下浮点运算和将浮点数小数点去掉变成整数来计算哪种方式更加节省算力? 比如一个浮点数12.89V,如果将其写成12890mV,再参与计算,哪种方式更加节省算力
    发表于 08-26 06:54

    aurixTC397的上电时序要求是怎样的呢?

    1.问下aurixTC397的上电时序要求是怎样的呢? 2.有看视频说TC3XX系列没有上电时序的要求,但是在Errata手册里看到,又有VDDM和VDD上电时间要求,否则会导致lock,能帮忙确认下
    发表于 06-04 09:39

    TSIM是否支持TC3xx系列在没有硬件的情况下调试应用程序?

    你好, TSIM是否支持TC3xx系列在没有硬件的情况下调试应用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于实现上述目的?
    发表于 05-17 07:02

    TC3xx的HSM中有没有单调计数器?

    你好, 我看到 OPTIGA 有单调计数器,但我在 TC3xx 的 HSM 中确实找不到单调计数器。 能否确认TC3xx的HSM中没有单调计数器?
    发表于 03-05 07:56

    深入解析TC3xx芯片中的SMU模块应用

    TC3xx芯片是德国英飞凌半导体公司推出的汽车级处理器芯片系列,其中的SMU(System Management Unit)模块是其重要组成部分之一。SMU模块在TC3xx芯片中具有重要的系统管理
    的头像 发表于 03-01 18:08 1731次阅读

    GCC和TASKING有什么区别?应该为AURIXTC3xx选择什么?

    GCC 和 TASKING 有什么区别? 我应该为 AURIXTC3xx 选择什么? 这将如何影响代码的运行?
    发表于 03-01 10:09

    请问TC3XX WDT 的check access应该如何使用?

    hi,各位老师:请问TC3XX WDT 的check access应该如何使用?以及Time Check Password如何理解及使用?读手册时,一直没有理解到Time Check
    发表于 02-02 08:17

    TC3xx系列是否支持RTC功能?

    请教各位,TC3xx系列芯片是否支持RTC功能,目前要记录snapshot的时间点(年月日时分秒)。
    发表于 02-02 07:53

    TC3xx系列怎么禁用trap?

    目前在TC3xx调试flash读写功能,单独运行flash相关功能没有问题,但将flash相关功能集成到工程中。操作pflash就会进入trap中,查看了一些帖子说是要禁掉trap?请问怎么禁用trap?目前没找到相关函数
    发表于 01-31 06:21

    TC38xxTC37xx变体之间的AURIX处理器中的Core0是否相同?

    我想确认一下 TC38xxTC37xx 变体之间的 AURIX 处理器中的 Core0 是否相同。
    发表于 01-26 06:33

    TC3XX寄存器读写时间过长怎么解决?

    我目前在做TC3XX底层代码优化,经过之前多次测试目前可以确定该系列芯片对单个寄存器地址的读写耗时超过100us。请问对于寄存器读写耗时你们官方有没有确切的文件说明?还有就是既然寄存器读写时间那么长100M的外设总线时钟是否有意义?
    发表于 01-25 06:56

    Pflash恢复保护命令最终会在Aurix TC3xx控制器上重置目标是为什么?

    我正在连接 T32 调试器的 Aurix TC3xx 控制器评估板上测试 Pflash 读/写保护机制,我配置了 UCB_pFlash 和 UCB 调试,我成功解锁了 Pflash 保护,然后尝试再次锁定保护,最终进入目标重置。 我不知道为什么会这样。
    发表于 01-24 06:42

    TC3xx SCR功耗应该怎么评估?

    TC3xx SCR处于70kHz active状态,以及CAN WAKE UP也处于active,Tricore都掉电了,这个时候功耗是多少呢?SCR中不同的组件激活状态下,功耗应该怎么评估,有没有
    发表于 01-19 08:28

    tc3xx休眠时mcu pin可以是高阻态吗?如何设置?

    tc3xx,休眠时mcu pin可以是高阻态吗?如何设置?
    发表于 01-19 08:26

    AURIXTC3XX如何暂时仅启用/禁用CAN中断

    你我使用的是 AURIXTC3XX。 在 CAN ISR 处理期间,如何暂时仅启用/禁用 CAN 中断
    发表于 01-18 06:47