深入解析:ARM芯片架构之APB,ATB总线

CoreSight SoC-400

APB Interconnect Components 与 ATB Interconnect Components 技术详解(整理版)


1. APB Interconnect Components

1.1 概述

CoreSight 调试基础设施通过 AMBA APB3 协议提供对各调试单元寄存器的统一访问。
APB 互连组件负责:

  • 将一个或多个上游主设备(Master)连接到多个从设备(Slave)寄存器接口;
  • 提供地址解码、仲裁、错误响应及低功耗运行。

典型主设备:

  • AXI-to-APB 或 AHB-to-APB 桥接器;
  • 片上调试控制器。

典型从设备:

  • Embedded Trace Macrocell (ETM)
  • Cross Trigger Interface (CTI)
  • System Trace Macrocell (STM)
  • Trace Buffers (ETF/ETB) 等。

1.2 效果与特性

  • 多主多从:支持多达 N 个主设备接口与 M 个从设备接口。
  • 可编址性:每个从设备拥有独立、连续的地址空间。
  • 仲裁策略:静态优先级或轮询;可在 RTL 配置阶段参数化。
  • 低功耗:集成时钟门控、空闲检测。
  • 错误检测:无映射地址、从设备超时、无响应时返回 PSLVERR。

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2becc7cae92b402b8cd3132ec7baa717.png

1.3 接口信号

APB 互连严格遵循 AMBA APB3 接口。首要信号如下:

名称方向描述
PCLKinAPB 时钟信号
PRESETnin低电平有效复位
PADDR[31:0]in寄存器访问地址
PWRITEin1=写访问, 0=读访问
PWDATA[31:0]in写数据
PSELxout从设备片选,x 表示从设备编号
PENABLEin访问阶段指示
PRDATA[31:0]out读数据
PREADYout就绪/等待信号
PSLVERRout错误响应

时序要点

  • 传输分为 Setup 与 Enable 两阶段;
  • 当 PREADY 为低时,互连插入等待周期;
  • PSLVERR 在读/写结束周期有效,用于指示无效访问或外设错误。

1.4 编程模型

  • 所有寄存器 32 位对齐;
  • 地址空间通常以 4 KB 为粒度分配;
  • 支持 Secure / Non-Secure 访问区分,便于与 TrustZone 配合;
  • 典型寄存器类型:控制、状态、ID/特征寄存器。

1.5 典型寄存器表(示例)

偏移地址寄存器说明
0x000CONTROL互连全局使能、仲裁策略配置
0x004STATUS当前主/从接口状态与错误标志
0x008ERRADDR最近一次错误访问的地址

字段描述示例
CONTROL[0]:全局使能;
CONTROL[3:1]:仲裁模式选择。

实际寄存器及位定义请参见原始手册对应章节。


在这里插入图片描述

1.6 设计与集成注意

  • 功耗控制:建议在无访问时门控 PCLK。
  • 可扩展性:可级联形成分层结构;顶层互连解码至子互连。
  • 调试支持:集成状态寄存器和可选中断输出,便于 SoC 级调试。

2. ATB Interconnect Components

2.1 概述

ATB(Advanced Trace Bus)是 AMBA Trace 体系的高速单向通道,用于实时 Trace 数据传输
CoreSight 的 ATB 互连组件提供:

  • 多个 Trace 源到一个或多个 Trace Sink 的无损数据通路;
  • 可靠握手机制和流量控制。

2.2 架构组成

  • ATB Master 接口:连接 ETM、STM 等数据源。
  • ATB Slave 接口:连接 Trace Funnel、Replicator、ETF、TPIU 等接收端。
  • Funnel:多输入一输出的合并器,内建仲裁。
  • Replicator:一输入多输出的资料复制模块。
  • Crossbar/Router(可选):承受多源多汇的复杂拓扑。

2.3 信号定义

名称方向描述
ATCLKinATB 时钟
ATRESETnin低电平复位
ATDATA[n:0]outTrace 数据总线,32/64/128 位可配置
ATVALIDout源端数据奏效
ATREADYin目的端就绪
AFVALIDout辅助标志有效
AFREADYin辅助标志就绪

时序特性

  • 仅当 ATVALID=1 且 ATREADY=1 时数据传输成功;
  • 下游可拉低 ATREADY 实现流量调节;
  • 辅助信号通道用于时间戳和同步标志。

2.4 关键模块

  • Trace Funnel
    • 合并多个 Trace 流;
    • 支持优先级仲裁与可配备输入屏蔽。
  • Trace Replicator
    • 复制单一路径到多个接收端;
    • 常用于同时输出到外部调试接口和片上缓冲。
  • Trace Sink (ETF/ETB/TPIU)
    • 接收、缓存或输出 Trace 数据。
    • ETF/ETB 献出存储与回读;TPIU 负责高速外部输出。

2.5 设计考量

  • 带宽规划:根据所有 ETM 峰值速率决定总线位宽与时钟。
  • 延迟与缓冲:适度 FIFO 以平衡源与汇速度差。
  • 层次化拓扑:在大规模 SoC 中使用多级 Funnel、Replicator。
  • 调试与监控:可选性能计数器、状态寄存器。

3. 协同与系统集成

  • 控制面:APB
    • 配置各 Trace 源与 Sink 寄存器;
    • 启动/停止 Trace、设置触发条件。
  • 内容面:ATB
    • 传输实时 Trace 数据流;
    • 与调试主机或外部工具对接。

两者共同实现从“配置-启动”到“高速采集-输出”的完整调试闭环。


4. 设计与验证建议

  1. 地址映射一致性:确保 APB 从设备地址在全局内唯一。
  2. 跨时钟域同步:ATB 链路可能运行在高于 APB 的时钟域,需可靠同步。
  3. 安全策略:结合 TrustZone 设定安全/非安全访问。
  4. 仿真验证:进行满带宽压力、异常访问和超时场景测试。

参考

  • Arm® CoreSight™ SoC-400 Technical Reference Manual
  • Arm® AMBA® APB Protocol Specification
  • Arm® AMBA® ATB Protocol Specification

posted on 2025-10-14 09:25  slgkaifa  阅读(25)  评论(0)    收藏  举报

导航