中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        AHB總線協(xié)議

        作者: 時(shí)間:2018-07-25 來(lái)源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.antipu.com.cn/article/201807/383796.htm

        擴(kuò)展數(shù)據(jù)周期的一個(gè)負(fù)效應(yīng)是必需延長(zhǎng)相應(yīng)的下一筆傳輸?shù)牡刂分芷?。A和C為零等待傳輸,B加入了一個(gè)等待周期,因此相應(yīng)的C地址周期要進(jìn)行擴(kuò)展。

        第一個(gè)周期,master發(fā)起一個(gè)操作A,并驅(qū)動(dòng)地址和信號(hào);

        第二個(gè)周期,slave收到了來(lái)自總線的請(qǐng)求,將HREADY信號(hào)拉高;

        第二個(gè)周期上升沿后,master發(fā)現(xiàn)有操作B需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第二個(gè)操作B;

        第三個(gè)周期,master獲取HREADY信號(hào)為高,表示操作A已經(jīng)完成;

        第三個(gè)周期上升沿后,master發(fā)現(xiàn)有操作C需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第三個(gè)操作C;

        第三個(gè)周期上升沿后,slave由于繁忙插入了一個(gè)等待狀態(tài),將HREADY拉低;

        第四個(gè)周期,master獲取HREADY信號(hào)為低,知道slave希望等待,于是master保持和上一拍一樣的信號(hào);

        第四個(gè)周期,slave處理完了事務(wù),將HREADY信號(hào)拉高,表示可以繼續(xù)處理;

        第五個(gè)周期,master獲取HREADY信號(hào)為高,知道slave已經(jīng)可以處理B操作;

        第五個(gè)周期上升沿后,B操作完成;

        第六個(gè)周期上升沿后,C操作完成。

        需要注意幾點(diǎn):

        HREADY在一定程度上表示了slave的pipeline能力,在AHB中是2個(gè)pipe,也就是總線上最多存在2個(gè)未處理完的transfer。只有當(dāng)總線上未完成的transfer少于2個(gè)時(shí),master才能發(fā)起操作。

        5.4 遞增burst

        T1,master傳入地址和信號(hào),因?yàn)槭切碌腷urst開(kāi)始,transfer的類型是NONSEQ;

        T2,由于master不能在第二個(gè)周期里處理第二拍,所以master使用BUSY transfer來(lái)為自己延長(zhǎng)一個(gè)周期的時(shí)間。注意,雖然是延長(zhǎng)了一個(gè)周期,但是master需要給出第二個(gè)transfer的地址和信號(hào);

        T3,slave采集到了master發(fā)來(lái)的BUSY,知道m(xù)aster需要等待一拍,所以slave會(huì)忽略這個(gè)BUSY transfer;

        T3,master發(fā)起了第二個(gè)transfer,因?yàn)槭峭粋€(gè)burst的第二個(gè)transfer,所以transfer的類型是SEQ;

        T5,slave將HREADY信號(hào)拉低,告訴master需要等待一個(gè)周期;

        T8時(shí)刻完成最后一個(gè)transfer。

        需要注意的 雖然slave會(huì)忽略掉BUSY transfer,但是master也需要給出下一拍的地址和控制信號(hào)。

        5.5 wrapping 4-beat burst

        跟之前唯一的區(qū)別在于地址的不同,在0x3C地址之后,根據(jù)回環(huán)的地址邊界,第三拍的地址變?yōu)?x30。一共四拍,4個(gè)地址,每個(gè)地址各不相同,這四個(gè)地址是一個(gè)回環(huán)范圍。起始地址決定了回環(huán)操作的回環(huán)范圍。

        5.6 遞增4拍burst

        和上面的基本一致,只不過(guò)地址在0x30并不回環(huán),而是遞增。

        6.控制信號(hào)

        HTRANS[1:0]
        傳輸類型
        Description
        00IDLE主設(shè)備占用總線,但沒(méi)進(jìn)行傳輸
        兩次burst傳輸中間主設(shè)備可發(fā)IDLE
        此時(shí)就算slave被使能,也不會(huì)從總線上獲取任何的數(shù)據(jù)信號(hào)。如果此時(shí)salve被選中,那么每一個(gè)IDLE周期slave都要通過(guò)HRESP[1:0]返回一個(gè)OKAY響應(yīng)
        01BUSY主設(shè)備占用總線,但是在burst傳輸過(guò)程中還沒(méi)有準(zhǔn)備好進(jìn)行下一次傳輸
        一次burst傳輸中間主設(shè)備可發(fā)BUSY
        這時(shí)slave不會(huì)從總線上收取數(shù)據(jù)而是等待,并且通過(guò)HRESP[1:0]返回一個(gè)OKAY響應(yīng)。需要注意的是,這個(gè)transfer需要給出下一拍的地址和控制信號(hào),盡管slave不會(huì)去采樣。
        10NONSEQ表明一次單個(gè)數(shù)據(jù)的傳輸或者一次burst傳輸?shù)牡谝粋€(gè)數(shù)據(jù)
        地址和控制信號(hào)與上一次傳輸無(wú)關(guān)
        11SEQburst傳輸接下來(lái)的數(shù)據(jù)
        地址和上一次傳輸?shù)牡刂肥窍嚓P(guān)的,這時(shí)總線上的控制信號(hào)應(yīng)當(dāng)與之前的保持一致,地址視情況遞增或者回環(huán)。

        HSIZE[2:0]SizeDescription
        0008 bitsByte
        00116 bitsHalfword
        01032 bitsWord
        01164 bits-
        100128 bits4-word line
        101256 bits8-word line
        110512 bits-
        1111024 bits-

        • Burst傳輸類型

        burst不能超過(guò)1K地址邊界。

        HBURST[2:0]類型Description
        000SINGLESingle transfer
        001INCRIncrementing burst of unspecified length
        010WRAP44-beat wrapping burst
        011INCR44-beat increment burst
        100WRAP88-beat wrapping burst
        101INCR88-beat increment burst
        110WRAP1616-beat wrapping burst
        111INCR1616-beat increment burst

        響應(yīng)信號(hào)

        master發(fā)起一筆傳輸后,slave可以決定這筆傳輸?shù)倪M(jìn)程,而master不能取消已經(jīng)發(fā)出的傳輸。slave通過(guò)HREADY信號(hào)反映傳輸是否完成,通過(guò)HRESP[1:0]反映傳輸?shù)臓顟B(tài)。

        slave可以如下方式完成一筆傳輸:

        立即完成一筆傳輸;

        延遲一個(gè)或幾個(gè)周期完成傳輸;

        傳輸失敗返回error;

        延遲傳輸,釋放總線。

        傳輸完成HREADY

        為高時(shí)傳輸完成,為低時(shí)傳輸需要延遲。

        傳輸響應(yīng)HRESP[1:0]

        00: OKAY

        01: ERROR

        10: RETRY

        傳輸未完成,請(qǐng)求主設(shè)備重新開(kāi)始一個(gè)傳輸,arbiter會(huì)繼續(xù)使用通常的優(yōu)先級(jí)

        11: SPLIT

        傳輸未完成,請(qǐng)求主設(shè)備分離一次傳輸,arbiter會(huì)調(diào)整優(yōu)先級(jí)方案以便其他請(qǐng)求總線的主設(shè)備可以訪問(wèn)總線

        地址譯碼

        地址譯碼器用于為總線上每個(gè)slave提供選擇信號(hào)HSELx,選擇信號(hào)是通過(guò)組合邏輯對(duì)地址碼譯碼產(chǎn)生的。只有當(dāng)前的數(shù)據(jù)傳輸完成后(HREADY為高),slave才會(huì)采樣地址和控制信號(hào)以及HSELx。在一定條件下可能會(huì)出現(xiàn)這樣的情況:產(chǎn)生HSELx信號(hào)而HREADY為低,在當(dāng)前傳輸后slave會(huì)改變。

        每個(gè)slave最小的地址空間為1KB,所有的master的burst傳輸上限也是1KB,如此設(shè)計(jì)保證了不會(huì)出現(xiàn)地址越界問(wèn)題。當(dāng)一個(gè)設(shè)計(jì)不會(huì)用到所有的地址空間時(shí),可能出現(xiàn)訪問(wèn)到一個(gè)不存在的地址的情況,這就需要增加一個(gè)附加的默認(rèn)slave來(lái)為上面的情況提供一個(gè)響應(yīng)。當(dāng)SEQ或NONSEQ傳輸訪問(wèn)到一個(gè)不存在的地址,默認(rèn)slave應(yīng)該提供ERROR響應(yīng);當(dāng)IDLE或BUSY傳輸訪問(wèn)到一個(gè)不存在的地址,默認(rèn)slave會(huì)響應(yīng)OKAY。地址譯碼器會(huì)帶有實(shí)現(xiàn)默認(rèn)slave的功能。

        仲裁

        仲裁機(jī)制保證了任意時(shí)刻只有一個(gè)master可以接入總線。arbiter決定哪個(gè)發(fā)出接入請(qǐng)求的master可以接入總線,這通過(guò)優(yōu)先級(jí)算法實(shí)現(xiàn)。AHB規(guī)范并沒(méi)有給出優(yōu)先級(jí)算法,設(shè)計(jì)者需要根據(jù)具體的系統(tǒng)要求定義。一般情況下arbiter不會(huì)中斷一個(gè)burst傳輸,將總線接入權(quán)讓給其他master。當(dāng)然未定義長(zhǎng)度的burst傳輸是可以打斷的,這要看優(yōu)先級(jí)算法是如何規(guī)定的。如果一筆burst被打斷,master再度獲得接入權(quán)限時(shí),會(huì)傳遞剩余的部分。如一筆長(zhǎng)度為INCR8的傳輸在傳遞3 beat后被打斷,master再次獲得接入授權(quán)后,會(huì)繼續(xù)傳輸剩余的5 beat,剩余部分可以由一個(gè)SINGLE和一個(gè)INCR4組成,或者一個(gè)INCR。

        HBUSREQx:master向arbiter發(fā)出接入請(qǐng)求的信號(hào)。

        HLOCKx:指示是否要進(jìn)行不可中斷的傳輸,這一信號(hào)與HBUSREQx同時(shí)由master向arbiter發(fā)出。

        HGRANTx:arbiter產(chǎn)生指示master獲得授權(quán),當(dāng)HGRANTx信號(hào)為高同時(shí)HREADY為高時(shí),master可以向總線傳輸?shù)刂沸盘?hào)。

        HMASTER[3:0]:arbiter產(chǎn)生指示哪個(gè)master獲得授權(quán),這一信號(hào)用于地址控制多路來(lái)選擇哪個(gè)master接入總線。

        HMASTERLOCK:arbiter產(chǎn)生指示當(dāng)前傳輸是否為鎖定序列傳輸。

        HSPLIT:供支持SPLIT傳輸使用。


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 微控制器 控制

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉