基于FPGA的ISA總線/MMи總線數(shù)據(jù)轉(zhuǎn)換電路設(shè)計(jì)
摘要:某型導(dǎo)彈測(cè)試設(shè)備控制總線為通用的ISA總線,而通信接口總線為非標(biāo)準(zhǔn)的MMи總線。在此以FPGA為核心設(shè)計(jì)了一種ISA總線/MMи總線轉(zhuǎn)換電路,該電路可以完成2種制式的數(shù)據(jù)和控制指令轉(zhuǎn)換。給出了轉(zhuǎn)換電路原理框圖、FPGA配置電路和地址比較電路原理圖。實(shí)驗(yàn)結(jié)果表明該電路具有轉(zhuǎn)換數(shù)據(jù)準(zhǔn)確,工作可靠等優(yōu)點(diǎn)。實(shí)際應(yīng)用表明,該電路完全能達(dá)到測(cè)試設(shè)備的要求。
關(guān)鍵詞:FPGA;ISA總線;MMи總線;數(shù)據(jù)轉(zhuǎn)換
總線廣泛應(yīng)用于計(jì)算機(jī)、工業(yè)生產(chǎn)及各種測(cè)試設(shè)備。ISA總線為IBM公司推出的基于80286CPU的PC/AT微型計(jì)算機(jī)用擴(kuò)展總線標(biāo)準(zhǔn),MMи總線是俄羅斯國(guó)內(nèi)自行設(shè)計(jì)的專(zhuān)用測(cè)試總線,主要用于程控單元模塊與MMи總線之間數(shù)據(jù)及控制信息的交換。在某型導(dǎo)彈測(cè)試設(shè)備中,工控計(jì)算機(jī)采用了ISA總線,而俄制測(cè)試設(shè)備采用了MMи總線,2種總線數(shù)據(jù)模式和傳輸制式不同。本文以FPGA為核心,設(shè)計(jì)了ISA總線/MMи總線2種總線之間的數(shù)據(jù)和控制指令轉(zhuǎn)換電路,實(shí)際應(yīng)用證明了該電路的可靠性。
1 ISA總線和MMи總線簡(jiǎn)介
1.1 ISA總線
ISA(Industrial Standard Architecture)總線是IBM公司于1984年進(jìn)一步擴(kuò)充XT總線標(biāo)準(zhǔn)而形成的。ISA總線標(biāo)準(zhǔn)支持24位的地址線、16位的數(shù)據(jù)線;支持11級(jí)中斷IRQ3~I(xiàn)RQ7,IRQ9~I(xiàn)RQ12,IRQ14~I(xiàn)RQ15;支持7個(gè)DMA傳輸通道DRQ0~DRQ3,DRQ5~DRQ7;支持主從控制、I/O等待和I/O校驗(yàn)等功能。為了與XT總線保持向下兼容,ISA總線在信號(hào)功能的定義和物理接口上均作了特殊的安排,即保持原有的XT總線不變,重新增加一個(gè)36線的連接插槽,分成C,D兩面,擴(kuò)充的功能設(shè)計(jì)在C,D兩面的信號(hào)線上。其引腳定義如下:
(1)數(shù)據(jù)總線SD0~SD7。SD0~SD7為8位雙向三態(tài)數(shù)據(jù)總線,在芯片和主接口間傳輸命令、數(shù)據(jù)和狀態(tài)。SD7為最高位。
寄存器選擇引腳為SA4~SA9,SW DIP-6(板基址011001)和。這些引腳決定轉(zhuǎn)換是否響應(yīng)I/O周期,當(dāng)為邏輯低電平且SA4~SA9與6位撥動(dòng)開(kāi)關(guān)值完全匹配時(shí),內(nèi)部產(chǎn)生一個(gè)片選信號(hào),使轉(zhuǎn)換響應(yīng)I/O周期。
(2)地址信號(hào)SA0~SA3。I/O讀寫(xiě)操作時(shí)作為轉(zhuǎn)換電路上FPGA芯片內(nèi)的寄存器選擇信號(hào)。
(3)讀寫(xiě)信號(hào),。寫(xiě)操作中,轉(zhuǎn)換在上升沿鎖存數(shù)據(jù)。讀操作中,當(dāng)有效時(shí),轉(zhuǎn)換模塊直接驅(qū)動(dòng)8位數(shù)據(jù)線。
(4)中斷信號(hào)INTR。中斷狀態(tài)寄存器某使能中斷為真時(shí),INTR有效。對(duì)INTR的有效聲明沒(méi)有最小脈寬要求。
(5)I/O通道準(zhǔn)備好信號(hào)IO CHRDY。IOCHRDY變低,表明當(dāng)前I/O周期需要被延長(zhǎng)。寫(xiě)周期中,當(dāng)數(shù)據(jù)從ISA總線上被鎖存時(shí)IO CHRDY變高。讀周期中,數(shù)據(jù)有效時(shí)IO CHRDY變高。進(jìn)行寄存器讀寫(xiě)時(shí)IO CHRDY被拉低。IO CHRDY引腳用集電極開(kāi)路邏輯門(mén)驅(qū)動(dòng),因此此信號(hào)會(huì)由一個(gè)內(nèi)部上拉電阻上拉至邏輯高電平。
(6)復(fù)位信號(hào)RESET。RESET信號(hào)有效時(shí),觸發(fā)轉(zhuǎn)換模塊,使FPGA硬重肩。
1.2 MMи總線
MMи總線是俄羅斯國(guó)內(nèi)自行設(shè)計(jì)的專(zhuān)用測(cè)試總線,主要用于程控單元模塊與MMи總線之間數(shù)字及控制信息的交換,其基本技術(shù)性能如下:
(1)MMи總線采用異步、字節(jié)串行、位并行、雙向信息傳輸方式。
(2)MMи總線采用負(fù)邏輯,模塊服務(wù)請(qǐng)求信號(hào)(зOм)和轉(zhuǎn)換結(jié)束信號(hào)(KПp)除外。低電平電壓為0~0.6 V,表示邏輯1(對(duì)于服務(wù)請(qǐng)求信號(hào)зOМ和轉(zhuǎn)換結(jié)束信號(hào)KПp,邏輯1的電平為2.4~4.5 V);高電平電壓為2.4~4.5 V,表示邏輯0(對(duì)于服務(wù)請(qǐng)求信號(hào)зOМ和轉(zhuǎn)換結(jié)束信號(hào)KПp,邏輯0的電平為0~0.6 V)。
(3)總線上掛接的程控單元模塊最多為16個(gè)(包括控制器)。
(4)MMи總線中最多包含92根信號(hào)線路。一個(gè)程控單元模塊內(nèi)所使用的線路最多不超過(guò)50根,最少不少于15根。每一個(gè)具體的程控單元模塊所用的線路數(shù)量,可根據(jù)此模塊的具體技術(shù)要求確定。
(5)程控單元模塊與MMи控制器間總線電纜的最大長(zhǎng)度不應(yīng)超過(guò)1 m。
(6)總線內(nèi)的信息傳輸最大速度由程控單元模塊與MMи總線的信息處理能力決定,最大不超過(guò)100 Kb/s。
(7)總線控制器與程控單元模塊間的連接方式有2種:鏈型連接及星型連接。鏈型連接總線上的所有裝置,包括控制器,都是并行連接的;其中的信號(hào)可以單向或雙向傳輸;星型連接總線將MMи控制器與單個(gè)程控單元模塊一對(duì)一地連接到一起,其中的信號(hào)單向傳輸。
(8)MMи總線線路可分以下6類(lèi):
數(shù)據(jù)線:“1 pиM,….8 pиM”線路(數(shù)據(jù)總線);第1電平地址線——“Aдp.эм”線路(程控模塊單元地址);第2電平地址線——“A0…A15”線路(信息寄存器地址);同步線——“ΓT”(準(zhǔn)備好),“Пpиeм”(接收),“Bыд”(發(fā)送),“Kнп”(傳輸結(jié)束)線路;控制線——“иAэм”(初始化),“эaпycK эм”(觸發(fā)),“ПO(jiān)зм”(串行詢(xún)問(wèn)),“KOм.1……KOм.16”(控制指令)線路;中斷線——“зOм”(請(qǐng)求服務(wù)),“Kпp”(轉(zhuǎn)換結(jié)束)線路。
程控單元模塊從MMи控制器接收的所有指令都是尋址指令。在中斷線內(nèi),模塊服務(wù)請(qǐng)求信號(hào)“зOм”具有高優(yōu)先級(jí),轉(zhuǎn)換結(jié)束信號(hào)“Kпp”具有低優(yōu)先級(jí)。
評(píng)論