基于FPGA的SDX總線與Wishbone總線接口設(shè)計(jì)
(3)狀態(tài)字結(jié)構(gòu)。
狀態(tài)字只能由從站發(fā)出,是對(duì)主站發(fā)出的有效命令的應(yīng)證性信號(hào),是通信中進(jìn)行差錯(cuò)控制和流量控制的重要手段。狀態(tài)字格式如圖4所示。本文引用地址:http://www.ex-cimer.com/article/190721.htm
1~3位:同步字頭(SYN),前1.5位為101,后1.5位為000時(shí)標(biāo)識(shí)指令字或狀態(tài)字。
4~13位:10 bit從站的地址(RA[9:0])。
14~18位:狀態(tài)代碼,表示響應(yīng)模塊的通信狀態(tài)。
19位:狀態(tài)字識(shí)別位(S),當(dāng)有效字為狀態(tài)字時(shí),該位為“1”。
20位:奇偶校驗(yàn)位(P),該字的奇偶校驗(yàn)位,奇校驗(yàn)有效。
注釋1,只有滿足下列判據(jù)才認(rèn)為傳輸中不存在錯(cuò)誤:(1)“字有效”,這是指都以有效的同步字頭開(kāi)始,并且除去同步字頭之外其余的都是有效的雙相碼,有效信息是16位,奇偶校驗(yàn)位一位,且奇校驗(yàn)。(2)“消息有效”,這是指在一次傳輸中,如果存在一個(gè)數(shù)據(jù)塊,那么在指令字與數(shù)據(jù)字之間,在數(shù)據(jù)字與數(shù)據(jù)字之間,消息是連續(xù)的,不存在任何“斷裂”的情況。(3)“指令有效”,這是指在指令字和數(shù)據(jù)字各場(chǎng)中不存在非法數(shù)據(jù),同時(shí)發(fā)出的數(shù)據(jù)塊長(zhǎng)度應(yīng)與設(shè)置長(zhǎng)度相等。如果以上3個(gè)判據(jù)中有任何一個(gè)得不到滿足,則消息錯(cuò)誤位置位。
注釋2,由于廣播消息格式要求禁止從站發(fā)回狀態(tài)字,為了解上一個(gè)廣播指令是否已被從站有效接收,可使用專門的命令類型讓某個(gè)從站發(fā)回狀態(tài)字,如此位置成“1”,而且忙位置成“0”,即說(shuō)明上一個(gè)指令的確是廣播指令,已被該從站有效接收。
2 Wishbone總線協(xié)議
Wishbone總線是一種內(nèi)部總線協(xié)議。它可以將片內(nèi)的各部分以及IP核等連接在一起,用來(lái)標(biāo)準(zhǔn)化各個(gè)獨(dú)立部分的接口,以更加方便地架構(gòu)SOC(Syctem-on-Chip)系統(tǒng)。其特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、靈活,只需要少量的邏輯門即可實(shí)現(xiàn),同時(shí)完全免費(fèi)、公開(kāi)。
Wishbone總線規(guī)范中,使用Master/Slave結(jié)構(gòu)實(shí)現(xiàn)靈活的系統(tǒng)設(shè)計(jì),Master/Slave有4種互連方式,分別為點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線和交叉互連。且Master和Slave之間使用握手協(xié)議,當(dāng)準(zhǔn)備好數(shù)據(jù)傳輸時(shí),Master使STB_O有效,且一直保持到Slave的響應(yīng)信號(hào)ACK_O,ERR_O,或RTY_O之一有效。Master在每個(gè)時(shí)鐘的上升沿對(duì)響應(yīng)信號(hào)采樣,若該信號(hào)有效,則置低STB_O,如圖5所示。
2.1 Wishbone總線基本傳輸周期
Wishbone總線支持完整的普通數(shù)據(jù)傳輸協(xié)議,包括單個(gè)讀寫周期、塊讀寫周期等。數(shù)據(jù)總線寬度為8~64位,地址總線寬度最高可達(dá)64位。Wishbone數(shù)據(jù)總線和地址總線分離,在傳輸上,保持一個(gè)地址、一個(gè)數(shù)據(jù)的傳輸結(jié)構(gòu)。以下為Wishbone總線單次讀、寫時(shí)序圖。圖6為單次讀周期時(shí)序,圖7為單次寫周期時(shí)序。
評(píng)論