当前位置: 首页 > news >正文

ARM芯片架构之CoreSight Channel Interface 介绍

CoreSight Channel Interface(通道接口)详解


1. 概述

Channel Interface 是 ARM CoreSight 架构中用于在不同组件之间传递触发事件的专用接口。它是 Event Interface 的增强版本,支持多通道、双向通信,以及同步与异步两种时钟域连接方式。
常见用途:

  • 多核 CPU 同步调试停止(Halt)
  • 多个 Trace 单元同步开始/停止捕获
  • Profiling 事件同步广播
  • 跨组件硬件触发协调

Channel Interface 特别适合低频、单次触发或允许少量事件合并的应用,但不适合高速计数场景

在这里插入图片描述


2. 信号结构详解

2.1 通道数量

  • 通道数量可配置(由 SoC 设计定义)。
  • ARM 推荐至少 4 个通道,以支持多种事件类型并行传输。
  • 当两个组件的通道数不同时,连接规则:
    • 通道数少的一方连接到多的一方的前 N 个通道
    • 额外通道留空,不参与连接

2.2 信号列表与说明

异步 Channel Interface(Asynchronous)

适用于不同时钟域之间的通信,采用 4 阶段握手机制 进行安全事件传输。

信号名称方向(相对于本组件)复位后值说明
CHOUT[n-1:0]输出0事件请求信号。源组件将其置高表示有事件产生。
CHOUTACK[n-1:0]输入事件确认信号。目标组件处理完事件后拉高,通知源组件可以结束本次事件。
CHIN[n-1:0]输入接收到的事件请求信号,由另一组件的 CHOUT 驱动。
CHINACK[n-1:0]输出1事件确认反馈信号,通知对方事件已被接收并处理。
异步 Channel Interface 连接形式

在这里插入图片描述


同步 Channel Interface(Synchronous)

适用于同一时钟域内的通信,事件直接依赖公共时钟 CHCLK 同步,无需握手。

信号名称方向(相对于本组件)复位后值说明
CHCLK输入通道接口时钟输入,保证两端同步采样。
CHOUT[n-1:0]输出0事件输出信号,直接在时钟边沿采样传输。
CHIN[n-1:0]输入事件输入信号,来自另一组件的 CHOUT
异步 Channel Interface 连接形式

在这里插入图片描述


3. 异步握手机制(四阶段握手)

在异步模式下,信号跨时钟域传输,需要通过四阶段握手确保事件不丢失。

过程描述

  1. 发起事件
    源组件将 CHOUT 从 0 置为 1,表示有事件产生。
  2. 事件到达目标
    目标组件检测到 CHIN 上升沿或高电平,执行事件处理逻辑。
  3. 目标确认
    目标组件事件处理完成后,将 CHINACK 置为 1,表示事件已处理。
  4. 释放握手
    源组件检测到 CHOUTACK 为 1 后,将 CHOUT 清零。目标组件随后清零 CHINACK,完成一次握手。

在这里插入图片描述

4. 同步模式工作流程

  • 所有事件信号在 CHCLK 上沿采样
  • 无需握手,事件传递延迟仅为 1 个时钟周期
  • 要求两端组件完全在同一时钟域

5. 与 CTI/CTM 的应用结合

CTI(Cross Trigger Interface)

  • 提供多个触发输入(TRIGIN)和输出(TRIGOUT)
  • 可以将 Channel Interface 的事件直接连接到 CTI 输入
  • 用于触发:
    • CPU 调试事件(halt、step)
    • Trace 启动/停止
    • 向其他 CTI 广播事件

CTM(Cross Trigger Matrix)

  • 连接多个 CTI,形成事件传播网络
  • 支持一对多、多对多事件广播
  • Channel Interface 在其中承担物理传输通道的角色

6. 系统应用示例

多核调试停止

  1. CPU0 断点 → ETM 输出事件
  2. 事件通过 Channel Interface 进入 CTI0
  3. CTI0 通过 CTM 向 CTI1、CTI2 广播事件
  4. CTI1、CTI2 发出 halt 信号 → CPU1、CPU2 同步停止

Trace 停止同步

  1. ETB 缓冲区满 → CTI 输出事件
  2. CTM 将事件分发给 ETR、TPIU
  3. 所有 Trace Sink 同步停止捕获

7. 设计注意事项

  • 异步接口必须用握手防止丢事件
  • 跨时钟域必须加同步器,防止亚稳态
  • 高速频繁事件建议使用专用事件总线
  • 通道数设计需预留裕量,ARM 建议 ≥ 4

http://www.lryc.cn/news/620158.html

相关文章:

  • 机器学习-Cluster
  • 机器学习——svm支持向量机
  • mac下载maven并配置,以及idea配置
  • O2OA:数字化转型中安全与效率的平衡之道
  • 深入理解 uni-app 的 uni.createSelectorQuery()
  • 云电竞游戏盒子技术分析
  • BAW56LT1G ON安森美 双串联开关二极管 电子元器件
  • Linux系统文件完整性检查工具AIDE在生产环境中推送钉钉告警
  • Nginx Stream代理绕过网络隔离策略
  • 雨量系列篇一:翻斗雨量传感器与压电雨量传感器的区别是什么
  • 古诗词多媒体内容生成工作流文档操作流程
  • 杂记 01
  • reactive和ref使用方法及场景
  • 基于通用优化软件GAMS的数学建模和优化分析(GAMS安装和介绍、GAMS程序编写、GAMS程序调试)
  • Python 类元编程(元类基础知识)
  • 正则表达式解析(三)
  • (50)QT 绘图里,视图 QGraphicsView、场景 QGraphicsScene 及图形项 QGraphicsRectItem 的举例
  • Unity:GUI笔记(二)——工具栏和选择网格、滚动列表和分组、窗口、自定义皮肤样式、自动布局
  • 面试实战 问题二十七 java 使用1.8新特性,判断空
  • 机器学习-----DBSCAN算法
  • 电子电气架构 --- 软件项目文档管理
  • mysql的快照读与当前读的区别
  • 云电竞游戏盒子相比传统PC有什么优势?
  • YOLO-v2-tiny 20种物体检测模型
  • Unity中启用DLSS 【NVIDIA】
  • 循序渐进学 Spring (上):从 IoC/DI 核心原理到 XML 配置实战
  • AWS Bedrock Claude模型费用深度分析:企业AI成本优化指南
  • HarmonyOS Navigation路由跳转的完整示例
  • 天猫商品评论API:获取商品热门评价与最新评价
  • 销售数据预处理与分析学习总结