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.pswp.cn/web/93576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93576.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Blender模擬結構光3D Scanner(二)投影儀內參數匹配

關于投影儀外參的設置可參見前一篇文章 Blender模擬結構光3D Scanner(一)外參數匹配-CSDN博客 使用Projectors插件模擬投影儀 Step 1 在Github下載插件(https://github.com/Ocupe/Projectors)。下載zip壓縮包即可,無…

synchronized的作用

目錄 一、核心作用 二、實現原理:基于"對象鎖" 三、使用方式 四、鎖的優化 五、優缺點 六、總結 synchronized 是 Java 中用于解決多線程并發安全問題的核心關鍵字,它的主要作用是實現線程間的同步,確保多個線程在訪問共享資…

機試備考筆記 14/31

2025年8月14日 小結:(17號整理14號的筆記,這輩子真是有了w(゚Д゚)w)昨天摔了跤大的,今天好媽媽在家,松弛。省流:6道中等,明天只學了10分鐘嘻嘻 目錄LeetCode22…

dolphinscheduler中任務輸出變量的問題出現ArrayIndexOutOfBoundsException

一段腳本任務如下:ret/data/dolphinscheduler/loadOraTable.sh "yonbip/yonbip10.16.10.69:1521/orcl" "select t.bondcontractno,t.olcunissuemny from yonbip.bond_contract t " "/dmp/biz" "bip" "2025-08-13"…

OpenCv(二)——邊界填充、閾值處理

目錄 一、邊界填充(Border Padding) 1. 常見填充類型及效果 2.代碼示例 (1)constant邊界填充,填充指定寬度的像素 (2)REFLECT鏡像邊界填充 (3)REFLECT_101鏡像邊界…

Leetcode 15 java

今天復習一下翻轉二叉樹 226. 翻轉二叉樹 給你一棵二叉樹的根節點 root ,翻轉這棵二叉樹,并返回其根節點。 示例 1: 輸入:root [4,2,7,1,3,6,9] 輸出:[4,7,2,9,6,3,1]示例 2: 輸入:root [2…

嵌入式學習的第四十九天-時鐘+EPIT+GPT定時器

一、時鐘1.時鐘系統基本概念(1)PLL (鎖相環, Phase-Locked Loop)作用:PLL是一種反饋控制電路,用于生成穩定的高頻時鐘信號。它通過將輸出時鐘與參考時鐘進行比較和調整,可以產生比輸入參考時鐘頻率高得多的輸出時鐘。倍…

Python Sqlalchemy數據庫連接

Python Sqlalchemy數據庫連接一、連接數據二、模型三、ORM操作一、連接數據 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker# 1. 連接數據庫 dbHost postgres://用戶名:密碼主機:端口/數據庫名 engine create_engine(dbHost) # create_engi…

【Node.js】ECMAScript標準 以及 npm安裝

目錄 一、 ECMAScript標準 - 默認導出和導入 二、ECMAScript標準 - 命名導出和導入 三、包的概念 五、 npm - 安裝所有依賴 六、 npm - 全局軟件包 Node.js總結 總結不易~ 本章節對我有很大的收獲, 希望對你也是!!! 本節素材…

NPM 、 NPX

NPM vs. NPX 簡單來說,npm 是一個 node 包管理器,npx 是一個 Node 包執行器。 NPX 是一個 Node 包執行器,該 Node 包可以是本地也可以是遠程的。允許開發者在無需安裝的情況下執行任意 Node 包。npm 在安裝nodejs 就自動帶了 npm install -g …

守護品質安全,防偽溯源系統打造全鏈路信任體系

一、引言在當下這個信息透明、品質至上的時代,防偽溯源已經成為眾多品牌保護自身利益、提升消費者信任度的重要手段。為了滿足市場上對高效、可靠的防偽溯源查詢系統的迫切需求,榕壹云精心打造了一款防偽溯源查詢系統。二、項目背景隨著商品市場的不斷擴…

【完整源碼+數據集+部署教程】無人機航拍視角洪水檢測與受災房屋識別圖像分割救援指導系統源碼和數據集:改進yolo11-DCNV2

背景意義 研究背景與意義 隨著全球氣候變化的加劇,極端天氣事件的頻率和強度不斷上升,洪水作為一種常見的自然災害,給人類社會帶來了嚴重的威脅。洪水不僅導致人員傷亡和財產損失,還對基礎設施和生態環境造成了深遠的影響。因此&a…

C# 結構體與類的區別是什么?

結構體是值類型是儲存在棧中獨立儲存的,數據與數據之間不會相互影響,即使將一個結構體賦值給另外一個結構體也不會相互影響。 類是一個模板,實例出來的對象是獨立的不會相互影響,但是將一個對象賦值給另一個對象時 會把指向堆內存中數據的指針賦值給另一個對象.從而發生兩個變量…

Redis GEO

Redis GEO 引言 Redis 是一款高性能的鍵值存儲系統,廣泛應用于緩存、消息隊列等領域。Redis GEO 是 Redis 2.4 版本后新增的一個功能,用于存儲地理位置信息。本文將詳細介紹 Redis GEO 的概念、使用方法以及應用場景。 什么是 Redis GEO? Redis GEO 是 Redis 的一個模塊…

Go從入門到精通系列學習路線規劃

Go從入門到精通系列學習路線規劃 目錄導航 Go從入門到精通系列學習路線規劃首頁說明 第1篇_Go語言初探_環境搭建與HelloWorld 第2篇_Go語言基礎語法_變量常量與數據類型 第3篇_Go語言控制結構_條件判斷與循環 第4篇_Go語言函數詳解 第5篇_Go語言數據結構詳解 第6篇_Go語言結構體…

Grid系統概述

目錄 概念及功能 網格對象(Grid Object) 和世界對象(World Object) 工作流程 概念及功能 TrinityCore 的 Grid 系統是一套復雜的地圖分區管理機制,其核心目標是通過動態管控游戲世界的區域狀態和對象生命周期&#…

一文搞懂LLM大模型!LLM從入門到精通萬字長文(2024.12月最新)

LLM從入門到精通精品文章 目錄 一、LLM基本概念 二、LLM發展歷程 三、LLM大模型的分類 四、LLM主流大模型類別 五、LLM大模型建立的流程 六、Fine-Tuning 七、Prompt-Tuning 八、超大規模參數模型Prompt-Tuning方法 8.1上下文學習 In-Context Learning 8.2.指令學習 …

Next.js跟React關系(Next.js是基于React庫的全棧框架)(文件系統路由、服務端渲染SSR、靜態生成SSG、增量靜態再生ISR、API路由)

文章目錄**1. React 是基礎,Next.js 是擴展****2. Next.js 解決了 React 的哪些痛點?****3. 核心區別****4. Next.js 的核心特性**1. **文件系統路由**2. **服務端渲染(SSR)**3. **靜態生成(SSG)**4. **增量…

Nightingale源碼Linux進行跨平臺編譯

最近使用Nightingale 需要實現對服務的監測,想要在Windows 系統中使用,看官方文檔中并不直接提供執行程序,原文如下: 準備工作 本地環境 本地已經安裝git 本地安裝git 便于后續下載源碼并進行自動編譯。 Linux操作系統環境&…

抽絲剝繭丨PostgreSQL 系國產數據庫%SYS CPU newfstatat() high 調優一例(二)

續接上回《PostgreSQL 系國產數據庫%SYS CPU newfstatat() high 調優一例(一)》,這個問題還在持續,并且原因并不只是一個,從調了文件系統級atime,到調整wal size減少日志被動清理,還有在驗證tem…