国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

AMBA APB4 與 AMBA3 AHB-Lite 1.0 協議介紹

發布時間:2013-9-18 16:54    發布者:絕對好文
關鍵詞: AMBA , APB4 , AHB-Lite
作者:Allen Zhan

[介紹]

根據 ARM 的說法, 今天 AMBA 已經成為了業界事實上的總線標準. 本文我們簡單對AMBA4 中的 APB v2.0(也稱為 APB4), 以及 AMBA3 AHB-Lite v1.0 進行簡單的了解. 我們的介紹集中在, 我們比較有興趣的地方. 盡管如此, 也可能幾乎覆蓋了協議中幾個最重要的部分.

[AMBA APB]

AMBA
Advanced Microcontroller Bus Architecture, 由ARM定義的總線架構(標準), 由一個協議家族組成. ARM 聲稱這一標準已經稱為事實上的 uController 業界通用標準.

APB
The Advanced Peripheral Bus(APB) 是 AMBA 協議家族中一個組成部分.
它被定義為一個 low-cost 的接口, 為了最小能耗與減小接口的復雜性進行的優化設計.
被用于連接通用外圍, 比如 timers, inerrupt controllers, UART是, and IOs.
通過 system-to-peripheral bus bridge 與 main system bus 相連, 有助于降低能耗.

APB 版本
當前(2013年9月), 最近的 APB協議版本是 AMBA APB Protocol Specification v2.0. 或者因為屬于 AMBA4 家族中的發布協議, 一般也被稱為 APB4.

而在第一個版本(APB2 )中, APB 的基本組元, APB bridge 與 APB slave 被定義.

而在 APB3 中, Ready signal 被引入, 這意味著增加了操作狀態中, 增加了 wait state. 另外增加了 PSLVERR, 用于錯誤報告的 signal.

最近的 APB4, 增加了 PPROT 與 PSTRB signal.

APB bridge 與 APB slave

我們可以掛載各種"慢速"的外設在 APB 上, 比如 IO, 比如 UART, 比如 SPI, etc. 它們都作為 slave 的角色存在.

但是, 我們想想看, bridge 這個 role 就蠻有意思. 它實際上暗示我們, APB 不能"單獨存在". 我們這里所謂不能"單獨存在"的意思, 是說 APB 一定不能直接連接在 processor 上(或者說 arm core上). 而最可能的, 是通過 APB bridge 而連接在高速的 bus 上.

實際上, 在 AHB-Lite 協議中, 我們發現 APB bridge 被作為 AHB-Lite 的 slave 而被定義.

Data buses
APB 協議有兩個獨立的 data bus, 一個用來讀 data, 一個用來寫 data.

因為沒有獨立的握手信號, 所以在兩根bus上, 同一時刻數據傳輸不能同時發生.

Write Transfers
我們簡單對 APB 的 trasfers 過程進行分析, 比如我們分析 write transfer with no wait states:
[圖例1: Write transfer with no wait states]



T0: Idle state
T1: Setup state
write address PADDR, write data PWDATA
setup state 僅僅只保持 1pcs clock cycle, 而在下一個 PCLK 的上升沿, 一定進入 Access state.
T2: Access state
APB bridge 通過拉高 PENABLE, 通知slave 第二階段(也就是 access phase) 開始.
因為是 no wait states, 我們見到了 PREADY 在此被拉高, 表示 slave 通知 bridge, 在下一個 PCLK 的上升沿, 本次 transfer 的過程可以結束.
T3: finish transfer, then enter Idle state again or the next setup.
PREADY 拉低, 說明 slave 通知本次 transfer 結束. 在 PREADY unasserted 之前, PADDR, PWDATA, 以及其他的 signals 都應該保持有效.

從上述時序中, 我們了解到, write transfer 看來至少需要 3 cycles. setup - access - finish

而在一個 write transfer with wait states 時序中,
[圖例2: Write transfer with wait states]



我們見到了, Slave 通過 unassert 的方式(拉低), 延遲了2pcs cycles(根據圖例的例子), 這樣在 T2 狀態上的拉高動作, 被延時到 T4 進行拉高. 也就是 Slave 通知在 T5 cycle 中結束本次 transfer.

這就是通過 PREADY 引入了 wait state 后現象, 我們注意到, 一般的術語被稱為"extend the transfer".

Operating States
Read Transfer 的情形與 Write Transfer 類似, 這樣, 我們就基本完備講述了 APB protocol, 附上 Operating States 進行理解:
[圖例3: State Diagram]



transfer cycles
APB protocol 中, 明確指出: "每個 Transfer 至少消耗 2 cycles".

而我們檢查, 即使是 transfer with no wait state, 也最少消耗了 3 cycles. 這里我們理解, 在圖例1中, T3 狀態下, finish 本次 transfer后, 如果要連續操作下一個寫傳遞的過程, 那么則在 T3 狀態下保持 PSEL asserted, 配合 PREADY unasserted, 恰好又進入了如 T1 cycle 相同的 setup state, 這時需要 bridge 更新地址 PWRITE, 以及數據 PWDATA. 也就是在連續 transfer(針對同一個 slave)的操作中, transfer 最少只消耗 2 cycle.

我們沒有在 APB 協議中, 獲得上述猜測的詳解, 我們保留上述對 "2 cycles" 的理解猜測于此.

總結

我們通過對 APB protocol 的理解, 得知 APB 是 unpipeline 的 bus. 無論如何, setup state 將占據一個 cycle, 而 access state 將占據另一個.

這種 unpipeline 的設計, 很可能就是 APB 被作為連接外圍的, 而不是用于 processor 之間的 memory 連接的 BUS 的重要原因. 因其不要求外圍在一個 cycle 中對 address 進行取樣, 這也給外圍更多的時間反應, 至少比較而言, 使用 APB 的外圍可以具備更小的 bandwidth.

[AMBA AHB-Lite]

AHB-Lite
AHB: Advanced High-performance Bus
用于高表現力高clock頻率的系統. 最經常的使用是連接 internal memeory device, external memory interface, 以及 high bandwidth 外圍. 其基本組元是: Master, Slave, Decoder, Multiplexor.
在 address/control phase 與 data phase 中, 存在 fixed pipeline.
AHB: 僅僅支持 AMBA AXI protocol 的功能子集(subset).
AHB-Lite: 如果除去在 master 與 slave IP 開發中不需要的部分, 則 AHB protocol 的這個 subset 則定義為 AHB-Lite.

Operation
每一個 trasfer 都包括 Address phase 與 Data Phase.

Address 不允許被 extend, 即便是來自 Slave 的請求, 因此我們可以想象, 全部的 Slaves 都必須在 Address phase(1 cycle) 完成 sampling address.

但是與 APB 一樣, Slave 也可以通過 HREADY signal 請求 extend data phase, 增加額外的時間去 sample data.
HRESP signal 被用來說明 transfer 的成功與否.

Address 總是可以在一個 single HCLK cycle 中完成, 除非是之前的 bus transfer 被 extend(我們理解, 這里應該是只有 data 才能做這個 extend).

Data 可以占有數個 HCLK cycle, 這取決于 HREADY signal 是否 extend transfer.

因此, Address phase 可以與 Data phase 的 overlapping, 就是 pipeline 的基礎.

[圖例4: 在不同地址上的3個transfer的例子]



Transfer types
Transfer types 包括: IDLE, BUSY, NONSEQ, SEQ
同猜想的一樣, 對于 Slave, 可以通過 HREADY 實現 extend transfer, 我們覺得, 這或者就是"較為慢速"的 Slave 實現 delay 的方式.

而 Master 如果在 HTRANS[1:0] 中使用 BUSY, 也可以在 burst transfer 的過程中, 插入idle cycles. 這讓人覺得, 這應算是 master 試圖做 delay 的方式.

[圖例5: BUSY Transfer type]



值得注意的是, 該例子, 使用了 4-beat 的 burst operation.

Locked transfers
通過 HMASTLOCK, master 可以要求完成"鎖定"的 transfer, 不能被打斷. 而這個用法, 往往在多個 master 的用法中存在.

[圖例6: Locked transfers]



Default slave
如果不存在的的 memory map 被 master 點中, AHB-Lite 協議給出了一個解決方案, 就是必須存在一個增加的 default slave 來進行回應.

Slave transfer responses
AHB-Lite 協議中指出, Master 一旦開始一個 transfer后, 將無法主動取消這個 transfer.
因此, 通過來自 Slave 的 HRESP signal 的狀態, 判斷 transfer 的成功與否將是重要的.

HWDATA 與 HRDATA

同 APB 協議一樣, data bus 的 read 與 write 是分離的.
所以不需要"三態"的 drivers. 我們此時有點大腦短路, 不太理解這里的意思, 這應該是說, 如果我們在單一的, 而不是分離的 data bus 上實現 read data 以及 write data, 那么我們就需要"三態驅動器"? 這里的 tristate 為何意? --有知道的同行, 這里定能有教于我.

[參考文獻]
1. AMBA3 AHB-Lite Protocol v1.0 Specification
2. AMBA APB protocol v2.0 Specification

[結語]
讓我們引用 Sailing 的文章 "ARM與x86之4--EAGLE is Coming!" (From: http://blog.sina.com.cn/s/blog_6472c4cc0100mnza.html) 中的論述 AMBA 的片段作為結語:

<剪切>
"最令Intel尷尬的是,x86處理器并沒有一個與 AMBA 總線類似的 SoC 平臺總線,這是Intel 進軍嵌入式領域一個不小的障礙。Intel 或者定義一條全新的SoC平臺總線,或者集成AMBA總線。從加速推出產品的角度上,直接使用 AMBA 總線無疑是一條捷徑。而世上沒有捷徑,從更長遠的時間上看,借用AMBA總線,會使ARM陣營更加強大。最初的所謂捷徑不過是為他人做的嫁衣裳。"
"面對ARM內核,Intel并不畏懼,面對AMBA總線陣營,Intel只剩下無奈。可以預計在相當長的一段時間里,Intel無法推出一條能和AMBA總線抗衡的SoC平臺總線。Intel只能暫時向AMBA總線示弱。"
<剪切>



Written by Allen Zhan
本文地址:http://m.qingdxww.cn/thread-121164-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 五月天香蕉| 特级做A爰片毛片免费看108| 欧美精品中文字幕亚洲专区| 亚洲一区综合图区| 天天狠狠色综合图片区| 青青草97国产精品免费观看| 午夜老司机在线观看| 视频一区二区精品的福利| 一个人的免费影院| 俄罗斯爱爱| 年轻的女教师2017韩国在线看| 日本一区二区三区有限公司| 欧美一级视频在线观看欧美| 五月激情站| 午夜亚洲国产成人不卡在线| 中国超帅18xxxx| 好男人在线高清WWW免费观看| 亚洲久久少妇中文字幕| 四虎影视永久免费观看网址| 日本夜夜夜| 一级黄色大片免费| 在线视频观看国产| 寂寞护士中文字幕 mp4| 中文字幕成人在线观看| 欧美综合图区| 亚洲欧美中文日韩在线v日本| 再深点灬舒服灬太大了添a| 国产亚洲视频在线播放香蕉| 污污内射在线观看一区二区少妇| 亚洲成人在线网| 青草五月天| 四虎影院在线观看免费| 真实迷下药在线观看| 内地同志男16china16| 日本中文字幕在线观看视频| 日本免费的一级v一片| 在线免费视频你懂的| 一区二区不卡在线观看| 走绳调教| 玖玖爱在线播放| 青在线视频|