新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 片上總線Wishbone 學(xué)習(xí)(九)總線周期之單次寫操作

片上總線Wishbone 學(xué)習(xí)(九)總線周期之單次寫操作

作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
異步周期結(jié)束方式
單次寫操作如圖1所示。

在時鐘上升沿0,主設(shè)備將地址信號ADR_O()、TGA_O()放到總線上,將數(shù)據(jù)信號DAT_O()、TGD_O()放到總線上,將WE_O置高表示寫操作,將適當(dāng)?shù)腟EL_O()信號置高通知從設(shè)備數(shù)據(jù)總線DAT_O()的哪些信號是有效的,將CYC_O和TGC_O置高表示操作正在進(jìn)行,將STB_O置高表示操作開始。

本文引用地址:http://2s4d.com/article/201612/330213.htm

在時鐘上升沿1到達(dá)之前,從設(shè)備檢測到主設(shè)備發(fā)起的操作,將主設(shè)備的ACK_I置高作為對主設(shè)備STB_O的響應(yīng)。

在時鐘上升沿1,從設(shè)備將DAT_I()和TGD_I()采樣;主設(shè)備發(fā)現(xiàn)ACK_I信號為高,將STB_O和CYC_O置為低表示操作完成;從設(shè)備發(fā)現(xiàn)STB_O置低后,也將主設(shè)備的ACK_I置低。

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

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

同步周期結(jié)束方式
圖2Wishbone總線的單次寫操作(周期同步結(jié)束方式)

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



評論


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

關(guān)閉