24、master 重建被終止的burst 傳輸時(shí),是否有限制?
唯一的限制是,master 需要使用合法的burst組合來(lái)重建被終止的burst傳輸。例如,如果一個(gè)master 執(zhí)行8拍burst傳輸,但在完成3次傳輸后就失去了對(duì)總線的控制。這時(shí)其余的5次burst傳輸可以使用SINGLE burst傳輸,和INCR4 burst傳輸,也可以使用5拍INCR burst傳輸。
為簡(jiǎn)單起見(jiàn),建議master 使用INCR burst傳輸來(lái)重建剩余的傳輸。
25、 AHB如何處理LOCKed SPLITs?
當(dāng)傳輸被SPLIT 時(shí),arbiter 將該master 從仲裁選擇中移除 ,直到slave 指示傳輸可以完成。當(dāng)訪問(wèn)是LOCKed 時(shí),訪問(wèn)不能被另一個(gè)master訪問(wèn)中斷。
AHB系統(tǒng)能夠同時(shí)處理這兩個(gè)需求的唯一方法是在訪問(wèn)請(qǐng)求LOCKed 并且被SPLIT時(shí)授予一個(gè) "dummy master" 仲裁。dummy master在鎖定傳輸期間只執(zhí)行IDLE傳輸。因?yàn)閷⒅俨檬谟枞魏纹渌膍aster 都將違反AHB LOCK相關(guān)的協(xié)議。
當(dāng)所有的請(qǐng)求響應(yīng)都處于SPLIT 狀態(tài)時(shí),也需要使用 dummy master 在此期間一直發(fā)送IDLE傳輸 。所以,建議支持split的slave要一直監(jiān)測(cè)HMASTLOCK 輸入信號(hào),因?yàn)榇藭r(shí)split響應(yīng)沒(méi)有任何意義。
26、AHB中的wrapping burst可以和總的傳輸字節(jié)數(shù)對(duì)齊么?
可以,此行為符合AHB協(xié)議。
以四拍傳輸大小為4字節(jié)的wrapping burst傳輸為例(共傳輸16字節(jié))。如果傳輸?shù)钠鹗嫉刂肥?x30,則burst傳輸?shù)乃拇蔚刂窞?/span>0x30、0x34、0x38和0x3C。盡管HBURST被設(shè)置為WRAP4,但實(shí)際上不會(huì)發(fā)生wrap,當(dāng)然這也是AMBA AHB協(xié)議允許的。
27、master 應(yīng)該在什么時(shí)候拉高和拉低locked 傳輸中的HLOCK信號(hào)?
HLOCK信號(hào)至少在locked 傳輸?shù)牡刂冯A段開(kāi)始之前至少一個(gè)周期拉高,以便arbiter能夠在地址階段開(kāi)始時(shí)采樣到HLOCK信號(hào)。
在locked傳輸?shù)淖詈笠淮蝹鬏數(shù)牡刂冯A段,master 應(yīng)該拉低HLOCK信號(hào)。
28、master 什么時(shí)候應(yīng)該拉低HBUSREQ 信號(hào)?
對(duì)于一個(gè)未定義長(zhǎng)度的burst 傳輸(INCR),master 必須保持其hbusreq信號(hào)的拉高狀態(tài),直到它開(kāi)始了burst 傳輸中最后一次傳輸?shù)牡刂冯A段。
對(duì)于定義長(zhǎng)度的burst 傳輸,一旦獲得了第一次總線傳輸?shù)氖跈?quán),master 就可以拉低hbusreq信號(hào)。可以這樣做的原因是,arbiter可以計(jì)算burst傳輸中的傳輸數(shù)量,并保持授予給定master總線權(quán)限,直到burst傳輸完成。
29、在一次locked 傳輸后,arbiter 什么時(shí)候才可以授予另一個(gè)master 總線權(quán)限?
arbiter 總是在locked 傳輸結(jié)束時(shí)授予該master 一拍額外的傳輸,即master 在locked 傳輸?shù)淖詈笠淮蝹鬏數(shù)臄?shù)據(jù)階段會(huì)在拉低HMASTLOCK 信號(hào)執(zhí)行一次傳輸?shù)牡刂冯A段。
在此期間,仲裁器可以將HGRANT信號(hào)更改為新的master,但如果上次locked 傳輸?shù)臄?shù)據(jù)階段接收到SPLIT 或RETRY 響應(yīng),則master將驅(qū)動(dòng)HGRANT信號(hào)給正在執(zhí)行l(wèi)ocked 傳輸?shù)膍aster(RETRY 響應(yīng)場(chǎng)景)或者授權(quán)給Dummy master(SPLIT 響應(yīng)場(chǎng)景)。
30、master 可以在burst傳輸期間拉低HLOCK嗎?
AHB SPEC要求在burst傳輸期間所有控制信號(hào)(除HADDR和HTRANS外)保持不變。
因此,HLOCK必須在burst傳輸期間保持高,并且只能在最后一次的地址階段拉低。
31、當(dāng)master 沒(méi)有請(qǐng)求但是被授予總線權(quán)限時(shí),master 可以執(zhí)行非IDLE以外的傳輸嗎?
是的。master 沒(méi)有請(qǐng)求總線時(shí),可以執(zhí)行IDLE以外的傳輸。在這種情況下,仍然建議master 拉高其請(qǐng)求信號(hào),以便arbiter 在傳輸進(jìn)行期間不會(huì)將總線的權(quán)限授予給其他的master 。
32、如果默認(rèn)情況下當(dāng)前master 被授予了總線權(quán)限,那么在啟動(dòng)非idle傳輸之前,它必須拉高h(yuǎn)busreq多少個(gè)周期?
它可以立即啟動(dòng)一個(gè)非IDLE 傳輸。![]()