新聞中心

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

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

作者: 時間:2016-12-15 來源:網(wǎng)絡 收藏
異步周期結(jié)束方式

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

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

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

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

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

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

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

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



評論


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

關(guān)閉