欢迎光临
我们一直在努力

【IF-05】总线互连与桥接 - SRI/FPI体系深度解析

【IF-05】总线互连与桥接 – SRI/FPI体系

作者:Infineon AURIX技术深度解析系列

发布时间:2026-06-12

目录

  • 概述:为什么需要总线互连?
  • SRI总线体系架构
  • SRI从设备访问与仲裁
  • FPI总线详解
  • SRI与FPI的协同工作
  • EDC错误检测与纠正
  • 触发机制与调试
  • TC3xx系列总线互连实例
  • 总结

  • 1. 概述:为什么需要总线互连?

    在现代高性能微控制器(MCU)中,芯片上集成了大量的处理器核、存储单元、外设和专用加速器。这些模块需要通过高速互连网络进行数据交换。总线互连(Bus Interconnect)就是连接这些模块的"高速公路",其性能直接影响整个系统的运行效率。

    AURIX TC3xx系列采用了双层总线架构:

    • SRI(System Router Interface):系统路由接口,用于高性能计算单元之间的高速互联
    • FPI(Fast Peripheral Interface):快速外设接口,用于CPU与低速外设之间的通信

    fig35_fpi_basic_transactions title="图1 SRI/FPI总线架构概览"/>

    2. SRI总线体系架构

    2.1 SRI总线拓扑结构

    SRI是一种基于Crossbar(交叉开关)的片上互联架构,支持多个主设备(Master)和从设备(Slave)同时进行数据传输而互不干扰。相比传统的共享总线架构,SRI具有以下优势:

    • 并行性:多个事务可以同时进行
    • 低延迟:点对点直连,无仲裁等待
    • 高带宽:每对主从之间可达到独立的最大带宽

    fig_TC37x_block_diagram title="图2 TC37x Block Diagram"/>

    2.2 SRI主设备(Initiators)

    TC3xx系列中的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从设备(Targets)

    SRI从设备包括各大存储区域和外设接口:

    // 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配置寄存器
    fig36_fpi_block_transactions title="图3 FPI基本事务"/>

    3. SRI从设备访问与仲裁

    3.1 仲裁策略

    当多个主设备同时访问同一个从设备时,SRI使用可配置的仲裁策略:

    • 固定优先级:每个主设备分配固定优先级
    • 轮询(Round-Robin):公平访问
    • 时间片:按时间片轮换

    3.2 访问属性

    // SRI访问属性
    typedef struct {
    uint32_t addr; // 访问地址
    uint8_t len; // 数据长度 (0=byte, 1=halfword, 2=word)
    uint8_t burst; // 突发传输长度
    bool privileged; // 特权模式访问
    bool secure; // 安全区域访问
    bool writeThrough; // 写穿缓存
    bool readAlloc; // 读分配缓存
    } SRI_AccessAttrType;

    4. FPI总线详解

    4.1 FPI总线特性

    FPI(Fast Peripheral Interface)是连接CPU子系统与外设的低延迟总线。相比SRI,FPI具有:

    • 简化的协议,减少协议开销
    • 更低的访问延迟(通常2-3个时钟周期)
    • 支持DMA直接访问
    • 集成EDC(错误检测与纠正)

    图4 FPI块传输事务

    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位互转
    • 事务排队与调度

    fig37_fpi_edc_protection 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 Correction(EDC)机制,用于检测和纠正数据传输错误:

    • 奇偶校验:基础错误检测
    • ECC:单比特纠错,多比特检测

    fig38_fpi_edc_alarms title="图6 FPI EDC报警"/>

    6.2 EDC配置

    // FPI EDC寄存器配置
    typedef struct {
    uint8_t edcMode; // EDC模式 (0=关闭, 1=奇偶, 2=ECC)
    uint8_t dataParity; // 数据奇偶校验使能
    uint8_t addrParity; // 地址奇偶校验使能
    bool correctOnRead; // 读时自动纠错
    bool trapOnError; // 错误时触发陷阱
    } FPI_EDCConfigType;

    7. 触发机制与调试

    7.1 地址触发

    SRI/FPI支持基于地址的触发功能,可用于:

    • 调试:捕获特定地址的访问
    • 性能分析:统计访问模式
    • 安全监控:检测非法访问

    fig39_addr_trigger 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;
    fig40_signal_trigger title="图8 信号触发"/>

    8. TC3xx系列总线互连实例

    8.1 TC37x Block Diagram分析

    图9 Grant触发示意

    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传输机制。

    图10 思维导图:总线互连与桥接 title="图10 思维导图:总线互连与桥接"/>

    赞(0)
    未经允许不得转载:171主机测评 » 【IF-05】总线互连与桥接 - SRI/FPI体系深度解析
    分享到: 更多 (0)

    评论 抢沙发

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