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