新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 片上總線Wishbone 學習(八)總線周期之單次讀操作

        片上總線Wishbone 學習(八)總線周期之單次讀操作

        作者: 時間:2016-12-15 來源:網絡 收藏
        異步周期結束方式

        單次讀操作每次操作只完成一次讀或者寫,是最基本的總線操作方式。但是,Wishbone主設備或者從設備也可以不支持單次讀/寫操作,甚至沒有地址和數據總線。

        本文引用地址:http://www.104case.com/article/201612/330214.htm

        單次讀操作如圖1。在時鐘上升沿0,主設備將地址信號ADR_O()、TGA_O()放到總線上,將WE_O置為低表示讀操作,將適當的SEL_O()信號置高通知從設備將數據放在數據總線的適當位置,將CYC_O和TGC_O置高表示操作正在進行,將STB_O置高表示操作開始。

        在時鐘上升沿1到達之前,從設備檢測到主設備發起的操作,將適當的數據放到主設備的輸入信號DAT_I()和TGD_I(),將主設備的ACK_I置高作為對主設備STB_O的響應。

        在時鐘上升沿1,主設備發現ACK_I信號為高,將DAT_I()和TGD_I()采樣,并將STB_O和CYC_O置為低表示操作完成。從設備發現STB_O置低后,也將主設備的輸入信號ACK_I置低。

        在圖1中,從設備可以上升沿0和上升沿1之間插入任意多個等待周期。

        圖1Wishbone總線的單次讀操作(周期異步結束方式)

        同步周期結束方式
        圖2Wishbone總線的單次讀操作(周期同步結束方式)
        在時鐘上升沿0:
        • Master在[ADR_O()]和[TGA_O()]發出有效的地址
        • Master拉低[WE_O],表明是一個讀周期
        • Master發出有效數據選擇信號[SEL_O()]表明哪些數據是有效的
        • Master發出[CYC_O]和[TGC_O()]表明總線周期的開始
        • Master發出[STB_O]表明操作的開始
        在時鐘上升沿1:
        • Slave檢測到主設備發起的操作,準備發出[ACK_I]
        • Slave在[DAT_O]和[TGD_O()]發出有效的數據
        • Slave發出[ACK_I]應答[STB_O],表明數據有效,可以讀取數據了
        • Master發現[ACK_I],準備鎖存[DAT_I]和[TGD_I()]
        注意:Slave可以在發出[ACK_I]前插入等待周期(-WSS-),以控制傳速度。可以插入任意多個等待周期。
        在時鐘上升沿2:
        • Master鎖存[DAT_I]和[TGD_I()]
        • Master拉低[STB_O]和[CYC_O],表明總線周期的結束
        • Slave發現Master拉低[STB_O],也將[ACK_I]拉低



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 太康县| 广河县| 扶余县| 侯马市| 莱州市| 陆良县| 神木县| 宁南县| 遂溪县| 安国市| 永德县| 上思县| 广饶县| 达日县| 吴川市| 青河县| 汉川市| 佛教| 安福县| 英超| 哈尔滨市| 大邑县| 乌拉特后旗| 邢台县| 田东县| 庄浪县| 澜沧| 武乡县| 泰州市| 灌云县| 泗洪县| 安义县| 苍溪县| 谢通门县| 忻州市| 开远市| 浮梁县| 左权县| 雷山县| 当涂县| 屯留县|