在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

聊聊AMBA總線-APB

jf_78858299 ? 來源:IC解惑君 ? 作者:木飛 ? 2023-05-04 11:40 ? 次閱讀

1 - APB引言:

首先考慮一下以下的場景:

有一個水果店,只賣三種水果,分別是草莓、藍莓和蘋果。水果店按照客人購買量進行 水果的進貨 廠商根據水果店的要求 ,提供對應數量的水果并 運送到水果店 。

每次交易如下:

水果店根據需求使用****大喇叭廣播 自己的訂單需求 ,說出想要訂貨的數量, 對應廠商提供水果上門 ,水果店簽收。

使用這條水果運輸總線類比AMBA總線的APB****總線:

概念1: 主機(Master)

訂單的發起只能由 水果店發起 ,所以水果店在這條水果運輸總線里面運輸水果占有主動地位。

類比:

在APB總線里面,數據的傳輸只能由主機發起,其他部分響應主機操作。

概念2:從機(Slave)

當水果店發起訂單之后,和訂單匹配的廠家需要 提供對應的水果送到水果店 。這里面的廠家 只能根據要求送水果 ,自己不能隨便向水果店送水果(沒有主動的權限)。

類比:

在APB總線里面,數據的回復由從機完成,從機 只能完成主機發起的操作 ,自己不能發起操作然后完成操作。

概念3:單主機(Single Master)

在這條水果運輸總線里面,當前只有一個水果店,也只有這個水果店可以發起訂單需求,所以在 這條水果運輸總線里面,只有一個主機(按上圖來說)。

類比:

在APB總線里面, 有且只有一個主機可以連接到APB總線接口 ,其他的只能連接從機(外設),所以 APB總線只支持單主機模式

概念4:總線協議(Bus Protocol)

在這條水果運輸總線里面,水果店按照自己的需求,發起訂單,廠商提供水果,水果店確認收到 這一個完整的流程以及順序被稱為水果總線在傳輸水果的協議。

類比:

在APB總線里面,主機先發起要訪問的外設地址,外設根據要求返回數據,主機收到數據,這一個完整的流程被稱為APB總線協議。

所以我們可以根據上面得出 單主機 總線的正式概念

總線是被總線上所有的部件所共享的一組通路(連線),對于單主機來說,如果該主機想要與其中的外設部件進行通信(獲得數據),需要將地址(廠商名字)、數據(水果)、命令(進貨還是退貨)放到總線上,其他的從機部件對總線上的數據進行偵聽,檢查地址數據和命令的是否與自己相關,然后 相關部件做出響應

概念5: 命令總線、數據總線、地址總線

在這條水果運輸總線里面,水果店按照自己的需求,使用大喇叭發出進貨還是退貨(命令)、哪個廠家(地址)、退貨的水果或者進貨的水果(數據)。

類比:

在APB總線中,有地址線(PADDR),命令線(PWRITE、PENABLE、PESEL)和數據線(PRDATA、PWDATA)。

PS:舉的例子和APB不是一一完全對應,但是表達的意思相同

2 - APB總線協議詳解:

2-1 APB在SOC內使用的部分:

如圖:

CPU CPU是操作的發起者,CPU發起讀寫外設數據的操作。

APB_Interconnect :根據上文所說的總線協議和傳輸信號的要求,構建出來的設計實體,該實體接收CPU發出的數據和指令,然后廣播到每一個外設部件。

**SLAVE:對APB_interconnect輸出數據和指令進行響應。

**

Q1 : 是否可以不需要APB_interconnect,APB_Interconect的作用是什么?

如上圖,當CPU只有一個外設,那么直接可以和外設相連,不需要APB_Interconect。此時CPU的發出的指令和操作只會發給URT0,不需要地址來仲裁。如下圖:

但是當CPU需要連接多個外設的時候(CPU只管發出地址和命令),根據 CPU地址范圍分配表

(1)APB_Interconect對每一個外設設置地址,然后APB_Interconect根據CPU發出的地址,選中對應地址的外設,把CPU的地址和指令傳輸到該外設 [地址路由仲裁]。

結論: 是否需要APB_interconnect根據應用而定 ,如果只是單個的外設連接CPU(很少出現),可以直接連接CPU和外設通過APB總線。不需要APB_Interconect, 但是當外設數目變多 ,自然而然的就引入了 不同外設的區分, 所以當多個外設的時候,需要引入APB_Interconect來做這些相關的處理。

用水果店類比:水果店用大喇叭發出訂單,所有的水果廠家進行偵聽,然后響應訂單,**或者假如水果廠家沒有偵聽裝置,可以在水果店和水果廠家之間加一個Interconect,**這個Interconect的作用是當收到某一個廠家的名字時,根據 廠家名字和地址的關系 ,把需求 單獨發送給對應的廠家,專門通知供應廠家 (也就是選中外設)。

2-2 APB總線接口: (AMBA APB 2.0)

系統信號
PCLK
PRESETN
地址總線
PADDR
命令總線
PSELx
PENABLE
PWRITE
數據總線
PRDATA
PWDATA

根據上圖,結合之前的類比和概念我們基本就可以知道APB該怎么運行。

2-3 APB Bridge示意接口(APB_Interconect)

根據AMBA APB手冊,截取APB Bridge接口

圖左邊的接口System Bus Slave Interface,連接APB 主機(即上面的CPU),這個接口也是APB完整的接口,包含上面舉例的信號。圖右邊和左下面的接口連接多個SLAVE, 其中PSELn有多個 ,每個對應不同的SLAVE。其他信號對于SLAVE是一致的,因為PSELn已經可以選中不同的SLAVE來接收傳輸的共享信號了。

2-4 APB BUS時序圖(AMBA APB 2.0手冊)

寫傳輸:

如上時序圖,主機在T2時刻把所要訪問的 地址,命令和數據全部放到APB總線上 ,沿著組成APB的接口的金屬線 傳播到從機接口處 。在T3時刻, 從機發現自己的PSEL信號為高 ,就知道 主機選擇它來處理數據的寫操作 ,此時從機內部準備好處理數據的準備動作,在T4時刻,從機 完成總線上數據采樣并進行內部數據處理 。

WriteEnable = PSEL & (!PENABLE) & PWRTIE ;
或者
WriteEnable = PSEL & PENABLE & PWRTIE ;


always @ (posedge PCLK or negedge PRESETn)
begin
  if(~PRESETn)
  begin
    reg_paddr  <= 'h0 ;
    reg_pwdata <= 'h0 ;
  end
  else if(WriteEnable)
  bein
    reg_paddr  <= PADDR ;
    reg_pwdata <= PWDATA ;   
  end
end


TODO:
外設內部處理數據

讀傳輸:

如上時序圖,主機在T2時刻把所要訪問的 地址,命令和數據全部放到APB總線上 ,沿著組成APB的接口的金屬線 傳播到從機接口處 。在T3時刻, 從機發現自己的PSEL信號為高 ,就知道 主機需要它內部的數據(PWRITE ==0) ,此時從機內部準備好 返回數據并把返回的數據放在數據總線上 ,在T4時刻,主機 完成總線上數據采樣得到需要的數據 。

ReadEnable = PSEL & (!PENABLE) & (!PWRTIE)
always @ (posedge PCLK or negedge PRESETn)
begin
  if(~PRESETn)
  begin
    reg_paddr  <= 'h0 ;
    reg_prdata <= 'h0 ;
  end
  else if(ReadEnable)
  bein
    reg_paddr  <= PADDR ;
    reg_prdata <= 外設內部產生的數據 ;   
  end
end
assign PRDATA = reg_prdata ;

2-5 APB BUS的優缺點:

優點:設計簡單,時序簡單,用在不需要高性能總線的外設上。

**缺點:每個數據的傳輸都需要兩個時鐘周期,這樣的話,APB BUS滿載的帶寬也只有50%,帶寬利用率不高。

**

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 主機
    +關注

    關注

    0

    文章

    1033

    瀏覽量

    35834
  • 總線
    +關注

    關注

    10

    文章

    2953

    瀏覽量

    89404
  • apb2
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1529
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    什么是APB協議/總線?APB總線入門

    上一篇文章簡單講解了什么是AMBA總線,簡單來說,AMBA總線是一系列協議。定義了適用于不同場景的總線家族。今天我們就來將
    的頭像 發表于 01-02 11:37 ?5348次閱讀
    什么是<b class='flag-5'>APB</b>協議/<b class='flag-5'>總線</b>?<b class='flag-5'>APB</b><b class='flag-5'>總線</b>入門

    ARM總線協議AMBA中AHB、APB的區別與聯系

    , ASB, APB);Qchannel文章目錄1 AMBA總線2 AHB2.1 一個典型的基于AHB的微控制器2.2 AHB總線互聯結構:中心選擇器連接master與slave2.3
    發表于 02-09 07:46

    AMBA、APB、AHB簡介

    STM32菜鳥學習手冊——1、AMBA、APB、AHB簡介芯片上總線標準種類繁多,而由ARM公司推出的AMBA片上總線受到了廣大IP開發商和
    發表于 02-17 07:18

    AMBA AHB總線APB總線資料合集

    使用的是 SystemVerilog 描述。2、AMBA APB總線信號接口介紹前面分析了AHB總線協議。接下來分析APB
    發表于 04-07 10:03

    基于AMBA APB總線NandFlash控制器的設計

    介紹了基于AMBA APB總線NandFlash控制器的設計,首先簡單介紹了NandFlash的一些特點,然后詳細介紹了NandFlash控制器的整體框架、具體功能及其內部的數據通路。該控制器通過ModelSim進行了仿
    發表于 11-03 15:22 ?54次下載

    APB總線的應用框圖及接口信號

    APB(AdvancedPeripheralBus)是AMBA(AdvancedMicrocontrollerBusArcheticture)總線體系的一部分。相較于AMBA
    發表于 11-17 11:54 ?1.4w次閱讀
    <b class='flag-5'>APB</b><b class='flag-5'>總線</b>的應用框圖及接口信號

    基于AMBA總線介紹?

    1.1.AMBA發展史 AMAB1.0 AMBA2.0 AMBA3.0 AMBA4.0 AMBA1.0:ASB協議和
    的頭像 發表于 05-19 14:22 ?2314次閱讀
    基于<b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>介紹?

    淺述AMBA-APB總線

    1 APB介紹 高級外設總線APB) 是高級微控制器總線架構 (AMBA) 協議系列的一部分。它定義了一個低成本接口,該接口針對最低功耗
    的頭像 發表于 07-23 10:04 ?2582次閱讀
    淺述<b class='flag-5'>AMBA-APB</b><b class='flag-5'>總線</b>

    介紹AMBA2.0總線

    1.1.AMBA發展史 AMAB1.0 AMBA2.0 AMBA3.0 AMBA4.0 AMBA1.0:ASB協議和
    的頭像 發表于 09-06 09:53 ?3479次閱讀
    介紹<b class='flag-5'>AMBA</b>2.0<b class='flag-5'>總線</b>

    數字IC驗證:ARM總線協議AMBA中AHB、APB的簡介、區別與聯系

    , ASB, APB);Qchannel文章目錄1 AMBA總線2 AHB2.1 一個典型的基于AHB的微控制器2.2 AHB總線互聯結構:中心選擇器連接master與slave2.3
    發表于 12-05 15:36 ?16次下載
    數字IC驗證:ARM<b class='flag-5'>總線</b>協議<b class='flag-5'>AMBA</b>中AHB、<b class='flag-5'>APB</b>的簡介、區別與聯系

    STM32菜鳥學習手冊——AMBA、APB、AHB簡介

    STM32菜鳥學習手冊——1、AMBA、APB、AHB簡介芯片上總線標準種類繁多,而由ARM公司推出的AMBA片上總線受到了廣大IP開發商和
    發表于 12-22 19:09 ?16次下載
    STM32菜鳥學習手冊——<b class='flag-5'>AMBA</b>、<b class='flag-5'>APB</b>、AHB簡介

    聊聊AMBA 是如何演變的?

    Arm 在 1990 年代后期推出了 AMBA。第一批 AMBA 總線是高級系統總線 (ASB:Advanced System Bus) 和高級外圍
    的頭像 發表于 05-04 11:00 ?1492次閱讀
    <b class='flag-5'>聊聊</b><b class='flag-5'>AMBA</b> 是如何演變的?

    AMBA總線那些事之APB

    之前老李問過大家想看哪方面的知識,有不少同學提議老李寫寫總線,特別是AMBA總線,所以老李決定從這期開始開始一個AMBA總線介紹的系列文章
    的頭像 發表于 05-04 14:53 ?2750次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>那些事之<b class='flag-5'>APB</b>

    AMBA總線apb簡介

    APB(Advanced Peripheral Bus),外圍總線的意思。該總線協議是ARM公司提出的AMBA總線結構之一,幾乎已成為一種標
    發表于 06-05 15:10 ?2847次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>—<b class='flag-5'>apb</b>簡介

    AMBA 3 APB協議1.0版規范

    ARM AMBA3 APB 1.0
    發表于 01-15 14:45 ?0次下載
    主站蜘蛛池模板: 国产视频观看 | 九色综合九色综合色鬼 | 午夜免费视频观看 | 啪啪啦资源站永久 | 亚洲成a人片77777kkk | 国内精品久久影视 | 国产精品视频网站你懂得 | 播放一级毛片 | 婷婷深爱网 | 狠狠色狠狠色综合日日32 | 婷婷综合久久中文字幕蜜桃三 | 色噜噜网站 | 三级黄色片在线播放 | 永久免费观看午夜视频在线 | 日本三级视频 | 色综合成人网 | 男人扒开美女尿口无遮挡图片 | 婷婷影院在线综合免费视频 | 欧美资源在线 | 啪啪网站色大全免费 | 色婷婷激情五月综合 | 欧美午夜寂寞影院安卓列表 | 欧美xxxx日本| 日韩一区二区视频 | 大尺度视频网站久久久久久久久 | 天天操天天草 | 久久久久国产成人精品亚洲午夜 | 亚洲成a人片在线看 | 午夜视频福利在线观看 | 六月天丁香婷婷 | 99精品国产第一福利网站 | 午夜三级在线 | 一女被两男吃奶玩乳尖口述 | 免费网站毛片 | 国产精品毛片一区二区三区 | 天堂网在线资源www最新版 | 黄色三级视频在线观看 | 国产男女交性视频播放免费bd | 国产成人一区二区在线不卡 | 男人操女人视频网站 | 国产精品理论片在线观看 |