ARM芯片架构之coresight 时间戳组件介绍

时间戳组件(Timestamp Components)


1 关于时间戳组件(About the timestamp components)

时间戳组件在 SoC 内生成和传输时间戳信息,用于为调试和跟踪系统提供统一的时间基准。CoreSight SoC-400 提供以下时间戳相关组件:

  • 时间戳生成器(Timestamp generator)
  • 时间戳编码器(Timestamp encoder)
  • 窄时间戳复制器(Narrow timestamp replicator)
  • 窄时间戳异步桥(Narrow timestamp asynchronous bridge)
  • 窄时间戳同步桥(Narrow timestamp synchronous bridge)
  • 时间戳解码器(Timestamp decoder)
  • 时间戳插值器(Timestamp interpolator)

这些组件用于生成全局时间戳、压缩后传输、在多个模块间分发、支持跨时钟/电源域传输、恢复压缩后的时间戳,并在局部提供更高精度。


2 时间戳生成器(Timestamp generator)

时间戳生成器(cxtsgen)提供全局时间参考,产生宽时间戳信号供系统使用。

特性:

  • 提供自由运行的宽计数器,通常为 48 位或更宽。
  • 输出全局标准化的时间戳。
  • 支持通过 APB 接口进行配置和访问。
  • 与系统时钟绑定,需要选择合适的时钟源。

3 时间戳编码器(Timestamp encoder)

时间戳编码器(cxtse)将宽时间戳压缩成窄格式,减少传输带宽。

特性:

  • 接收宽位宽时间戳输入。
  • 使用压缩机制减少位宽。
  • 支持周期性或按需输出。

4 窄时间戳复制器(Narrow timestamp replicator)

窄时间戳复制器(cxntsreplicator)将单一路径的时间戳分发到多个模块。

特性:

  • 支持 1:2 分发。
  • 可选 APB 配置接口。
  • 可使能或禁用输出端口。

5 窄时间戳异步桥(Narrow timestamp asynchronous bridge)

窄时间戳异步桥(cxntsasyncbridge)用于跨异步时钟域传输时间戳。

特性:

  • 支持异步时钟域跨越。
  • 可跨电源域,提供低功耗接口(LPI)。
  • 可配置为仅主接口、仅从接口或完整桥接。

6 窄时间戳同步桥(Narrow timestamp synchronous bridge)

窄时间戳同步桥(cxntssyncbridge)用于跨同步时钟域传输。

特性:

  • 支持 1:1、1:n、n:1、n:m 多种比率。
  • 可插入寄存器切片以实现时序优化。
  • 可选低功耗接口(LPI)。

7 时间戳解码器(Timestamp decoder)

时间戳解码器(cxtsd)恢复压缩后的时间戳。

特性:

  • 接收窄时间戳输入。
  • 使用差分或基准点恢复完整宽时间戳。
  • 输出完整时间参考。

8 时间戳插值器(Timestamp interpolator)

时间戳插值器(cxtsintp)在局部模块内生成高分辨率时间信息。

特性:

  • 接收低分辨率全局时间戳。
  • 使用本地高速计数器插值。
  • 输出高分辨率结果。

程序员模型补充

时间戳生成器寄存器(Timestamp generator registers)

时间戳生成器通过 APB 接口暴露寄存器模型,提供对时间戳的配置、控制和读取。

主要寄存器

  1. TSGENCR - 控制寄存器

    • 偏移:0x000

    • 功能:使能或禁用时间戳生成器。

    • 位定义:

      • 0 ENABLE:1 = 使能时间戳生成;0 = 禁用。
      • 31:1 保留。
  2. TSGENCNTL - 低 32 位计数器

    • 偏移:0x004
    • 功能:保存时间戳计数器的低 32 位。
    • 类型:只读。
  3. TSGENCNTH - 高位计数器

    • 偏移:0x008
    • 功能:保存时间戳计数器的高 16 位或更多,具体取决于实现位宽。
    • 类型:只读。
  4. TSGENID - 组件 ID 寄存器

    • 偏移:0xFC0 - 0xFDC
    • 功能:提供 ARM 标准组件 ID 信息。
  5. TSGENPID - 外设 ID 寄存器

    • 偏移:0xFE0 - 0xFFC
    • 功能:提供外设识别号。

计数器特性

  • 自由运行,不可写。
  • 在溢出时自动回绕。
  • 可通过 ENABLE 位控制启动与停止。

使用场景

  • 调试工具通过读取 CNTLCNTH 获取完整时间戳值。
  • ENABLE = 0 时,计数器保持当前值。
  • ENABLE = 1 时,计数器随时钟递增。

附录 时间戳组件信号(Timestamp component signals)

本附录定义了各时间戳组件的输入和输出信号。

通用信号

  • CLK:输入时钟信号。

  • RESETn:复位信号,低有效。

  • APB 接口信号

    • PCLK, PRESETn, PADDR, PWDATA, PWRITE, PSEL, PENABLE, PRDATA, PREADY, PSLVERR。
  • 时间戳输入/输出信号

    • TSIN:窄时间戳输入。
    • TSOUT:窄时间戳输出。
    • WIDETS:宽时间戳信号输出。

时间戳生成器(cxtsgen)

  • CLK:主时钟输入。
  • RESETn:复位输入。
  • APB 接口:提供寄存器访问。
  • WIDETS47:0:输出 48 位时间戳。

时间戳编码器(cxtse)

  • WIDETS47:0:宽时间戳输入。
  • TSOUT:压缩时间戳输出。
  • CLK, RESETn:控制信号。

窄时间戳复制器(cxntsreplicator)

  • TSIN:窄时间戳输入。
  • TSOUT0, TSOUT1:两个窄时间戳输出。
  • APB 接口:可选控制。

窄时间戳异步桥(cxntsasyncbridge)

  • TSIN:输入窄时间戳。
  • TSOUT:输出窄时间戳。
  • ACLK, BCLK:两侧独立时钟。
  • ARESETn, BRESETn:两侧复位。

窄时间戳同步桥(cxntssyncbridge)

  • TSIN:输入窄时间戳。
  • TSOUT:输出窄时间戳。
  • CLK:时钟。
  • RESETn:复位。

时间戳解码器(cxtsd)

  • TSIN:输入压缩时间戳。
  • WIDETS47:0:恢复的宽时间戳输出。
  • CLK, RESETn:控制信号。

时间戳插值器(cxtsintp)

  • WIDETS47:0:输入宽时间戳。
  • TSOUT:插值后的高分辨率输出。
  • CLK, RESETn:控制信号。

相关推荐
阿图灵2 小时前
Agentic AI 架构入门(九):Agent 通信协议全景——ACP/A2A/AG-UI/MCP
人工智能·ui·架构·ai agent·智能体·mcp·agentic ai
这个DBA有点耶4 小时前
3000万个应用共享一套数据库:多租户“逻辑表”架构是如何做到的?
数据库·架构·dba
消失的旧时光-19434 小时前
第一篇:Ktor Client 到底是什么?从 Retrofit 迁移理解 Ktor 网络请求架构
网络·架构·retrofit·ktor·dsl
zlinear数据采集卡4 小时前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构
香菜TTT4 小时前
主从架构锁丢失问题-----RedLock
架构
Rain的Java大神之路5 小时前
MQ重复消费问题怎么解决
java·经验分享·后端·面试·架构·rabbitmq·rocketmq
这个DBA有点耶5 小时前
DBA进阶之路:从“修数据库”到“管架构债”
数据库·架构·dba
珠***格6 小时前
通信链路全打通:西格电力四可装置的 4G/5G + 加密认证技术详解
大数据·数据库·分布式·5g·架构·能源
艾德克斯6 小时前
从OCP APAC Summit 2026看AI数据中心供电架构演进与测试挑战
人工智能·ai·架构·数据中心·开闭原则·供电测试
AI产品测评官7 小时前
从技术选型视角:AI招聘寻源类Agent的技术架构与落地实测分析
人工智能·架构·求职招聘