APB匯流排

来源:https://www.cnblogs.com/Yuya-memeda/archive/2022/06/15/15009936.html
-Advertisement-
Play Games

APB匯流排信號: APB匯流排狀態機與讀寫Timing IDIE是初始化態; SETUP是從機被PSELx選中以後進入的狀態,只維持一個cycle,下一個周期的上升沿到ENABLE態; ENABLE要使PENABLE HIGH,同時如果沒有繼續transfer那麼從ENABLE跳到IDIE,如果有繼續 ...


APB匯流排信號:

 

 

APB匯流排狀態機與讀寫Timing

 

 

  •  IDIE是初始化態;
  • SETUP是從機被PSELx選中以後進入的狀態,只維持一個cycle,下一個周期的上升沿到ENABLE態;
  • ENABLE要使PENABLE HIGH,同時如果沒有繼續transfer那麼從ENABLE跳到IDIE,如果有繼續transfer從ENABLE跳到SETUP(有點glitch可以接受);從SETUP到ENABLE調整期間所有信號(地址數據控制)都要保持穩定

 

 2個cycle進行一次transfer的timing;為了減低功耗,transfer結束後不會改變地址數據信號,除非下一次transfer開始。這實際上只要求clean PSELx信號(transfer結束回到LOW),但背靠背(back to back,讀寫交替的)傳輸中,PWRITE和PSEL可能會有glitch。

 

 

 APB從機讀取timing和寫基本一致,地址和PSEL,PENABLE無差異。PWRITE LOW表示讀,並且從機要在ENABLE狀態保持有效的PRDATA,該數據在ENABLE state的上升沿被採樣。

 

APB bridge

APB橋是APB架構中唯一的主機,同時APB也是AHB或ASB匯流排中的從機。

 

 APB從機

 

 從機WDATA可以在PSELx HIGH的時候,在1 PCLK的上升沿 或 PENABLE的上升沿被 latched。

從機RDATA要在PWRITE LOW並且PSELx 和 PENABLE 都HIGH時輸出。

 

APB到AHB

 

主機發起對APB從機的讀,T1時候AHB主機輸出了有效address;APB bridge採樣到address在T2上升沿,同時立即進行解碼decoding, 生成了PSELx選擇信號置為HIGH,PSELx對應的APB從機進入SETUP state;在下一個周期ENABLE state時APB從機必須提供有效的RDATA。而APB的RDATA通常直接給AHB匯流排;在ENABLE state時,在T4上升沿AHB採樣到RDATA。一次讀transfer完成。

burst read

 

 AHB對APB從機進行高頻讀取操作。一旦接受到RDATA,AHB HREADY為HIGH就進行下一個data的address更新,APB bridge開始新的一個APB從機的讀取操作。這樣在高頻操作中同樣是2個cycle完成一次讀取,APB bridge(作為AHB的從機)因此需要在第1個cycle置HREADT為LOW(插入1個 wait state),下1個cycle接受RDATA置HREADY為HIGH;但提高了AHB的工作頻率。

 

 

 APB bridge要採樣AHB主機輸出的HWDATA(還有地址,以及解碼生成PSELx),並且保持給APB從機2個cycle。

 

 在burst write中,只有AHB的第一個寫transfer是zero-wait state,由於APB匯流排需要2個cycle進行操作,因此burst中除了第一個transfer後續每個WDATA都要插入1個wait state。APB bridge必須要有2個address reg,確保在採樣更新AHB主機address的時候,同時也能把之前的address保持給APB從機。

back to back 傳輸,讀寫交替的

 

在T7-T8,顯然APB匯流排進入了IDIE state(但實際上我認為可以到setup,開始Addr3 的APB寫操作)

三態實現

APB匯流排推薦進行讀寫通道分離的機制。但允許通過三態合併讀寫為1路數據通道。

 

在APB匯流排以三態實現時,進行讀操作中:,SETUP state和IDIE state要有一個整個cycle的turnaround。圖中T5-6,T7-8,T10-11分別是APB的讀取SETUP,IDIE,讀取SETUP,PDATA都出現了turnaround。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 日常開發中,我們都會用到線程池,一般會用execute()和submit()方法提交任務。但是當你用過CompletableFuture之後,就會發現以前的線程池處理任務有多難用,功能有多簡陋,CompletableFuture又是多麼簡潔優雅。 要知道CompletableFuture已經隨著Ja ...
  • 能夠理解服務監控三要素 能夠理解常用的APM系統優勢差異 能夠基於IDEA集成Skywalking Agent 能基於生產環境使用Skywalking Agent 掌握Rocketbot 性能分析 鏈路追蹤 儀錶盤應用 Webhook 1 Skywalking概述 隨著互聯網架構的擴張,分散式系統變 ...
  • 作者:永動的圖靈機 鏈接:https://juejin.cn/post/6844904033488994317 統一結果返回 目前的前後端開發大部分數據的傳輸格式都是json,因此定義一個統一規範的數據格式有利於前後端的交互與UI的展示。 統一結果的一般形式 是否響應成功; 響應狀態碼; 狀態碼描述 ...
  • 今天產品下了新需求,要給系統加雙語切換,在做到國家城市庫映射的時候,我在度娘上找了個雙語版的資料庫,可是系統已經在生產半年了,直接換表肯定是要背鍋的,轉念一想,要是能把城市信息直接替換為拼音不就行了,在此將操作步驟整理下來。 首先需要安裝一下擴展overtrue/pinyin,執行命令,我的框架是6 ...
  • 函數中參數傳值 1、基本數據類型傳值 當函數中傳入的參數為基本數據類型時,函數中對傳入參數的操作不會對函數外的數據產生影響。由於基本數據類型的變數名指向的是具體的數值,在函數內部,相當於將參數進行了拷貝,函數內只對拷貝後的參數進行操作。 基本數據類型 public class ParamsTrans ...
  • 1.1.1 JAVA概述 Java版本 原網址(https://www.oracle.com/java/technologies/java-se-support-roadmap.html) Oracle 將僅將某些版本指定為長期支持 (LTS) 版本。Java SE 7、8、11 和 17 是 LT ...
  • 本項目將使用python3去識別圖片是否為色情圖片,會使用到PIL這個圖像處理庫,並且編寫演算法來劃分圖像的皮膚區域 介紹一下PIL: PIL(Python Image Library)是一種免費的圖像處理工具包,這個軟體包提供了基本的圖像處理功能,如:改變圖像大小,旋轉 圖像,圖像格式轉化,色場空間 ...
  • Android Jetpack Navigation基本使用 本篇主要介紹一下 Android Jetpack 組件 Navigation 導航組件的 基本使用 當看到 Navigation單詞的時候 應該就大概知道 這是一個關於導航用的,下麵我來簡單介紹一下 如何使用Navigation組件的基本 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...