【IF-05】总线互连与桥接 - SRI/FPI体系作者Infineon AURIX技术深度解析系列发布时间2026-06-12目录概述为什么需要总线互连SRI总线体系架构SRI从设备访问与仲裁FPI总线详解SRI与FPI的协同工作EDC错误检测与纠正触发机制与调试TC3xx系列总线互连实例总结1. 概述为什么需要总线互连在现代高性能微控制器MCU中芯片上集成了大量的处理器核、存储单元、外设和专用加速器。这些模块需要通过高速互连网络进行数据交换。总线互连Bus Interconnect就是连接这些模块的高速公路其性能直接影响整个系统的运行效率。AURIX TC3xx系列采用了双层总线架构SRISystem Router Interface系统路由接口用于高性能计算单元之间的高速互联FPIFast Peripheral Interface快速外设接口用于CPU与低速外设之间的通信title图1 SRI/FPI总线架构概览/2. SRI总线体系架构2.1 SRI总线拓扑结构SRI是一种基于Crossbar交叉开关的片上互联架构支持多个主设备Master和从设备Slave同时进行数据传输而互不干扰。相比传统的共享总线架构SRI具有以下优势并行性多个事务可以同时进行低延迟点对点直连无仲裁等待高带宽每对主从之间可达到独立的最大带宽title图2 TC37x Block Diagram/2.2 SRI主设备InitiatorsTC3xx系列中的SRI主设备包括// SRI主设备列表 typedef enum { SRI_INITIATOR_CPU0 0, // CPU0 TriCore SRI_INITIATOR_CPU1, // CPU1 TriCore SRI_INITIATOR_CPU2, // CPU2 TriCore SRI_INITIATOR_CPU3, // CPU3 TriCore SRI_INITIATOR_CPU4, // CPU4 TriCore SRI_INITIATOR_CPU5, // CPU5 TriCore SRI_INITIATOR_DMA, // DMA控制器 SRI_INITIATOR_HSM, // 硬件安全模块 SRI_INITIATOR_DEBUG // JTAG/OCDS调试 } SRI_InitiatorType;2.3 SRI从设备TargetsSRI从设备包括各大存储区域和外设接口// SRI从设备地址映射 #define SRI_ADDR_FLASH0 0x80000000 // Program Flash 0 #define SRI_ADDR_FLASH1 0x80100000 // Program Flash 1 #define SRI_ADDR_SRAM0 0x50000000 // Data SRAM 0 #define SRI_ADDR_SRAM1 0x50100000 // Data SRAM 1 #define SRI_ADDR_EMEM 0x10000000 // Extension Memory #define SRI_ADDR_SRI_REG 0xF0030000 // SRI配置寄存器title图3 FPI基本事务/3. SRI从设备访问与仲裁3.1 仲裁策略当多个主设备同时访问同一个从设备时SRI使用可配置的仲裁策略固定优先级每个主设备分配固定优先级轮询Round-Robin公平访问时间片按时间片轮换3.2 访问属性// SRI访问属性 typedef struct { uint32_t addr; // 访问地址 uint8_t len; // 数据长度 (0byte, 1halfword, 2word) uint8_t burst; // 突发传输长度 bool privileged; // 特权模式访问 bool secure; // 安全区域访问 bool writeThrough; // 写穿缓存 bool readAlloc; // 读分配缓存 } SRI_AccessAttrType;4. FPI总线详解4.1 FPI总线特性FPIFast Peripheral Interface是连接CPU子系统与外设的低延迟总线。相比SRIFPI具有简化的协议减少协议开销更低的访问延迟通常2-3个时钟周期支持DMA直接访问集成EDC错误检测与纠正4.2 FPI事务类型// FPI事务类型 typedef enum { FPI_READ 0x0, // 单次读 FPI_WRITE 0x1, // 单次写 FPI_BURST4 0x2, // 4拍突发读/写 FPI_BURST8 0x3, // 8拍突发读/写 FPI_BURST16 0x4 // 16拍突发读/写 } FPI_TransactionType;4.3 FPI地址映射// FPI外设地址示例 #define FPI_ADDR_MSC0 0xF0020000 // MultiSPI 0 #define FPI_ADDR_CAN0 0xF0028000 // CAN/CAN-FD 0 #define FPI_ADDR_ETHERNET 0xF002C000 // Ethernet MAC #define FPI_ADDR_DMA 0xF0034000 // DMA控制单元5. SRI与FPI的协同工作5.1 桥接架构SRI和FPI通过桥接器Bridge进行互联。桥接器的主要功能协议转换SRI协议 ↔ FPI协议地址转换SRI地址空间 ↔ FPI地址空间数据宽度适配64位/32位互转事务排队与调度title图5 FPI EDC保护/5.2 跨域访问延迟// 访问延迟参考以CPU时钟为基准 // CPU核心 - SRI - SRAM: 3-4 周期 // CPU核心 - SRI - Flash: 6-8 周期 (取决于预取) // CPU核心 - FPI Bridge - 外设: 5-7 周期 // DMA - SRI - SRAM: 2-3 周期6. EDC错误检测与纠正6.1 EDC机制概述FPI总线集成了Enhanced Data CorrectionEDC机制用于检测和纠正数据传输错误奇偶校验基础错误检测ECC单比特纠错多比特检测title图6 FPI EDC报警/6.2 EDC配置// FPI EDC寄存器配置 typedef struct { uint8_t edcMode; // EDC模式 (0关闭, 1奇偶, 2ECC) uint8_t dataParity; // 数据奇偶校验使能 uint8_t addrParity; // 地址奇偶校验使能 bool correctOnRead; // 读时自动纠错 bool trapOnError; // 错误时触发陷阱 } FPI_EDCConfigType;7. 触发机制与调试7.1 地址触发SRI/FPI支持基于地址的触发功能可用于调试捕获特定地址的访问性能分析统计访问模式安全监控检测非法访问title图7 地址触发示意/7.2 信号触发除了地址触发还支持信号级触发// 触发条件类型 typedef enum { TRIG_READ 0, // 读访问 TRIG_WRITE 1, // 写访问 TRIG_BURST 2, // 突发传输 TRIG_USER0 4, // 用户自定义信号0 TRIG_USER1 5, // 用户自定义信号1 TRIG_ERROR 7 // 错误条件 } SRI_TriggerConditionType;title图8 信号触发/8. TC3xx系列总线互连实例8.1 TC37x Block Diagram分析8.2 关键特性// TC37x总线配置示例 // SRI主设备 - 6个TriCore CPU (含Lockstep对) - 1个DMA控制器 - 1个HSM硬件安全模块 // SRI从设备 - 2个Program Flash (共4MB) - 3个SRAM区域 (共736KB) - 1个EMEM接口 // FPI外设 - 3x CAN/CAN-FD - 2x MultiSPI - 1x Ethernet (1Gbps) - 1x GTM定时器 - 1x ADC/DMA接口9. 总结本文详细介绍了AURIX TC3xx系列的总线互连体系SRI总线基于Crossbar的高性能系统路由支持多主多从并行访问FPI总线低延迟外设接口适合高频访问的外设桥接机制SRI与FPI协同工作实现系统资源的高效利用安全特性EDC机制保障数据传输的可靠性调试支持灵活的触发机制便于系统调试和性能分析理解SRI/FPI体系对于AURIX系统设计和性能优化至关重要。下一篇文章将深入探讨TC3xx的DMA传输机制。title图10 思维导图总线互连与桥接/