基于VerilogHDL的SDX總線與Wishbone總線接口轉(zhuǎn)化的設(shè)計(jì)與實(shí)現(xiàn)
隨著微電子設(shè)計(jì)技術(shù)與工藝的迅速發(fā)展,數(shù)字集成電路逐步發(fā)展到專(zhuān)用集成電路(ASIC),其中超大規(guī)模、高速、低功耗的新型FPGA的出現(xiàn),降低了產(chǎn)品的成本,提高了系統(tǒng)的可靠性。同時(shí),各種電子產(chǎn)品的復(fù)雜度和現(xiàn)代化程度的要求也逐步提高,文中針對(duì)機(jī)載信息采集系統(tǒng)的可靠性、數(shù)據(jù)管理的高效性以及硬件成本的需求。設(shè)計(jì)實(shí)現(xiàn)了與Wishbone總線SDX總線的接口轉(zhuǎn)化,完成了數(shù)據(jù)采集功能模塊與SDX總線協(xié)議之間的數(shù)據(jù)傳輸。
該設(shè)計(jì)主要采用硬件描述語(yǔ)言VerilogHDL在可編程邏輯器件FPGA上實(shí)現(xiàn),由于數(shù)據(jù)采集功能模塊繁多,而Wishbone總線可以與任何類(lèi)型的ROM或RAM相連,因此需在SDX總線與數(shù)據(jù)采集模塊中嵌入Wishbone總線,使得整體設(shè)計(jì)簡(jiǎn)單、靈活,且數(shù)據(jù)能夠高效、快速的傳輸。
1SDX總線協(xié)議
1.1SDX總線結(jié)構(gòu)
SDX總線屬于非平衡配置的點(diǎn)對(duì)點(diǎn)和多點(diǎn)鏈路,站點(diǎn)類(lèi)型分為主站和從站,其數(shù)據(jù)傳輸方式為非平衡配置的指令/響應(yīng)方式。與國(guó)際標(biāo)準(zhǔn)化組織ISO制定的開(kāi)放系統(tǒng)互聯(lián)模型OSI/RM相比,參考模型只分為3層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層,如圖1所示。
圖1SDX參考模型與OSI/RM的對(duì)應(yīng)關(guān)系
1.2字格式及其各位場(chǎng)的含義
SDX總線采用面向消息的傳輸控制規(guī)程作為通信協(xié)議,選用曼徹斯特Ⅱ雙相電平編碼,總線最大傳輸速率20Mbit?s-1,字長(zhǎng)為20位。總線傳輸速率20Mbit?s-1時(shí),每字占1μs.規(guī)定每次傳輸一個(gè)消息的過(guò)程應(yīng)包括指令字、數(shù)據(jù)字和狀態(tài)字幾個(gè)部分。每種字的字長(zhǎng)為20位,有效信息位為16位,每個(gè)字的前3位為單字的同步字頭,而最后一位是奇偶校驗(yàn)位。同步字頭的作用是標(biāo)識(shí)每個(gè)字的開(kāi)始,起字同步作用。奇偶校驗(yàn)采用奇校驗(yàn),在發(fā)送端對(duì)16位有效位補(bǔ)齊,而在接收端進(jìn)行奇校,用于檢驗(yàn)字傳輸中有無(wú)錯(cuò)誤。需要指明的是:無(wú)論是何種字類(lèi)型,各場(chǎng)的數(shù)據(jù)總是高位(MSB)傳輸在先。
(1)指令字結(jié)構(gòu)。
指令字只能由主站發(fā)送,它的內(nèi)容指明主站要與哪個(gè)從站對(duì)話(huà),規(guī)定了該次數(shù)據(jù)傳輸?shù)牡刂贩较蚝头?wù)類(lèi)型。其格式如圖2所示。
圖2數(shù)據(jù)傳輸?shù)牡刂贩较蚝头?wù)類(lèi)型格式
方向和服務(wù)類(lèi)型
1~3位:同步字頭(SYN),前1.5位為101,后1.5位為000時(shí)標(biāo)識(shí)指令字或狀態(tài)字。
4~13位:10bit遠(yuǎn)程模塊地址(RA[9:0]),全"0"時(shí)為廣播地址,其余為各遠(yuǎn)程模塊地址。
14位:讀寫(xiě)控制位R.該位為"1"時(shí),表明主站要從被尋址的從站中讀取數(shù)據(jù);為"0"時(shí),表明主站要從被尋址的從站中寫(xiě)入數(shù)據(jù)。
15~18位:當(dāng)RA[9:0]為非全"0"時(shí),EP[3:0]有效。需要強(qiáng)調(diào)的是:當(dāng)RA[9:0]為非全"0",端點(diǎn)地址為全"0"時(shí),該地址為從站的系統(tǒng)管理訪問(wèn)地址。
19位:狀態(tài)字指示位S,當(dāng)該位為"0"時(shí),表明有效字為指令字;當(dāng)該位為"1"時(shí),表明有效字為狀態(tài)字。
20位:奇偶校驗(yàn)位(P),該字的奇偶校驗(yàn)位,奇校驗(yàn)有效。
(2)數(shù)據(jù)字結(jié)構(gòu)。
數(shù)據(jù)字既可以由主站傳送到從站,也可以由從站傳送到主站。數(shù)據(jù)字的格式如圖3所示。
圖3數(shù)據(jù)字格式
1~3位:前1.5位為101,后1.5位為111時(shí)標(biāo)識(shí)數(shù)據(jù)字。
4~19位:16bit長(zhǎng)數(shù)據(jù)(DATA[15:0]),高位(MSB)傳輸在先。
20位:奇偶校驗(yàn)位(P),該字的奇偶校驗(yàn)位,奇校驗(yàn)有效。
(3)狀態(tài)字結(jié)構(gòu)。
狀態(tài)字只能由從站發(fā)出,是對(duì)主站發(fā)出的有效命令的應(yīng)證性信號(hào),是通信中進(jìn)行差錯(cuò)控制和流量控制的重要手段。狀態(tài)字格式如圖4所示。
圖4狀態(tài)字格式
1~3位:同步字頭(SYN),前1.5位為101,后1.5位為000時(shí)標(biāo)識(shí)指令字或狀態(tài)字。
4~13位:10bit從站的地址(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狀態(tài)代碼描述
注釋1,只有滿(mǎn)足下列判據(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è)得不到滿(mǎn)足,則消息錯(cuò)誤位置位。
注釋2,由于廣播消息格式要求禁止從站發(fā)回狀態(tài)字,為了解上一個(gè)廣播指令是否已被從站有效接收,可使用專(zhuān)門(mén)的命令類(lèi)型讓某個(gè)從站發(fā)回狀態(tài)字,如此位置成"1",而且忙位置成"0",即說(shuō)明上一個(gè)指令的確是廣播指令,已被該從站有效接收。
2Wishbone總線協(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)單、靈活,只需要少量的邏輯門(mén)即可實(shí)現(xiàn),同時(shí)完全免費(fèi)、公開(kāi)。
評(píng)論