【正文】
來(lái)產(chǎn)生 APB從設(shè)備選擇信號(hào) APB總線上的所有其他模塊都是 APB從設(shè)備 不是流水線方式 接口是零功耗 13 AMBA協(xié)議其他有關(guān)問(wèn)題 與工藝無(wú)關(guān) 沒(méi)有定義電氣特性 僅在時(shí)鐘周期級(jí)定義時(shí)序 提取時(shí)序參數(shù)依賴于所采用的工藝和工作頻率 14 目錄 AMBA總線概述 AHB APB 不同 IP之間的互連 15 AHB總線互連 16 AHB傳輸 發(fā)起一個(gè)請(qǐng)求給仲裁器 驅(qū)動(dòng)地址和控制信號(hào) 允許某個(gè)主設(shè)備控制總線 僅選中的從設(shè)備響應(yīng)地址/控制信號(hào) 拉高 HREADY信號(hào),總線傳輸完成 17 Dummy/Default Master Dummy Master Granted when all masters SPLIT Generates IDLE cycles only Typically Master 0 Granted when Locked master gets SPLIT response Implement as part of Address/Control Mux Default Master Granted when no master requires bus Generally master most likely to require bus Generates IDLE cycles when not requesting bus Avoids minimum 2 cycle Arbitration period Immediate access to bus 18 Default Slave Slave 3 (APB) Default Slave 0x0000_0000 0xFFFF_FFFF case HADDR is when …. = HSELebi = ‘1’。 when others = HSELdefault = ‘1’。 end case。 48 Slave Responses Mem A Mem B Mem D Mem C Slave Processor AMBA Write Mem E I couldn’t write it because of no mem E!!!! 49 Slave Responses Mem A Mem B Mem D Mem C Slave Processor AMBA Write Mem A I couldn’t write it now for busy!!! You could retry write it latter!! BUSY 50 例: Retry 響應(yīng) 51 RETRY和 SPLIT的不同 主要區(qū)別在于仲裁的方式 RETRY: arbiter會(huì)繼續(xù)使用通常的優(yōu)先級(jí) SPLIT: arbiter會(huì)調(diào)整優(yōu)先級(jí)方案以便其他請(qǐng)求總線的主設(shè)備可以訪問(wèn)總線 總線主設(shè)備應(yīng)該用同樣的方式處理 RETRY響應(yīng)和 SPLIT響應(yīng) 52 Locked Transfers HCLK HADDR HWDATA HLOCK Address Phase A Data Phase A Address Phase B A A Data Phase B Address Phase C C C B B ? Locked sequences of transfers cannot be interrupted by interconnect ? HLOCK indicates next address phase is part of a locked transfer ? In the above transfers to addresses B C are locked and should not be separated ? ARM processors use HLOCK for SWP instruction only 53 數(shù)據(jù)總線 不是三態(tài)總線,讀總線和寫(xiě)總線是分開(kāi)的。 如果沒(méi)有主設(shè)備請(qǐng)求總線,則給缺省主設(shè)備 grant信號(hào),且 HTRANS=IDLE 建議主設(shè)備在鎖定總線傳輸結(jié)束之后插入 IDLE傳輸,以重新仲裁優(yōu)先級(jí)。接著仲裁器改變主設(shè)備的優(yōu)先級(jí)。 結(jié)束 66 防止 Deadlock 當(dāng)多個(gè)不同的主設(shè)備試圖訪問(wèn)同一個(gè)從設(shè)備,這個(gè)從設(shè)備發(fā)出了 SPLIT或 RETRY信號(hào),這是很可能發(fā)生 deadlock 從設(shè)備最多可以接收系統(tǒng)中 16個(gè)主設(shè)備的請(qǐng)求。 } 96 例: DMA Step1: CPU設(shè)置( source address)、( destination address)( size) Write (0x30008,0x10000) Write(0x3000C,0x20230) Write(0x30010,0x100) Step 2: 啟動(dòng) DMA Write(0x30000,0x1) 97 例: DMA Step3: DMA把數(shù)據(jù)從memory 1 傳送到 memory 2 98 例: DMA Step 4: DMA 向CPU發(fā)出中斷請(qǐng)求 Step 5: CPU檢查DMA的狀態(tài) Read(0x30004, status) 演講完畢,謝謝觀看!