新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的ISA總線/MMи總線接口轉(zhuǎn)換設(shè)計(jì)

基于FPGA的ISA總線/MMи總線接口轉(zhuǎn)換設(shè)計(jì)

作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

總線廣泛應(yīng)用于計(jì)算機(jī)、工業(yè)生產(chǎn)及各種。ISA總線為IBM公司推出的基于80286CPU的PC/AT微型計(jì)算機(jī)用擴(kuò)展總線標(biāo)準(zhǔn),是俄羅斯國內(nèi)自行設(shè)計(jì)的專用測試總線,主要用于程控單元模塊與之間數(shù)據(jù)及控制信息的交換。在某型導(dǎo)彈中,工控計(jì)算機(jī)采用了ISA總線,而俄制采用了,2種總線數(shù)據(jù)模式和傳輸制式不同。本文以為核心,設(shè)計(jì)了ISA總線/MMи總線2種總線之間的數(shù)據(jù)和控制指令轉(zhuǎn)換電路,實(shí)際應(yīng)用證明了該電路的可靠性。

本文引用地址:http://m.butianyuan.cn/article/201706/348964.htm

1 ISA總線和MMи總線簡介

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級中斷IRQ3~I(xiàn)RQ7,IRQ9~I(xiàn)RQ12,IRQ14~I(xiàn)RQ15;支持7個DMA傳輸通道DRQ0~DRQ3,DRQ5~DRQ7;支持主從控制、I/O等待和I/O校驗(yàn)等功能。為了與XT總線保持向下兼容,ISA總線在信號功能的定義和物理接口上均作了特殊的安排,即保持原有的XT總線不變,重新增加一個36線的連接插槽,分成C,D兩面,擴(kuò)充的功能設(shè)計(jì)在C,D兩面的信號線上。其引腳定義如下:
(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位撥動開關(guān)值完全匹配時,內(nèi)部產(chǎn)生一個片選信號,使轉(zhuǎn)換響應(yīng)I/O周期。

(2)地址信號SA0~SA3。I/O讀寫操作時作為轉(zhuǎn)換電路上芯片內(nèi)的寄存器選擇信號。

(3)讀寫信號,。寫操作中,轉(zhuǎn)換在上升沿鎖存數(shù)據(jù)。讀操作中,當(dāng)有效時,轉(zhuǎn)換模塊直接驅(qū)動8位數(shù)據(jù)線。

(4)中斷信號INTR。中斷狀態(tài)寄存器某使能中斷為真時,INTR有效。對INTR的有效聲明沒有最小脈寬要求。

(5)I/O通道準(zhǔn)備好信號IO CHRDY。IOCHRDY變低,表明當(dāng)前I/O周期需要被延長。寫周期中,當(dāng)數(shù)據(jù)從ISA總線上被鎖存時IO CHRDY變高。讀周期中,數(shù)據(jù)有效時IO CHRDY變高。進(jìn)行寄存器讀寫時IO CHRDY被拉低。IO CHRDY引腳用集電極開路邏輯門驅(qū)動,因此此信號會由一個內(nèi)部上拉電阻上拉至邏輯高電平。

(6)復(fù)位信號RESET。RESET信號有效時,觸發(fā)轉(zhuǎn)換模塊,使硬重肩。

1.2 MMи總線

MMи總線是俄羅斯國內(nèi)自行設(shè)計(jì)的專用測試總線,主要用于程控單元模塊與MMи總線之間數(shù)字及控制信息的交換,其基本技術(shù)性能如下:

(1)MMи總線采用異步、字節(jié)串行、位并行、雙向信息傳輸方式。

(2)MMи總線采用負(fù)邏輯,模塊服務(wù)請求信號(зOм)和轉(zhuǎn)換結(jié)束信號(KПp)除外。低電平電壓為0~0.6 V,表示邏輯1(對于服務(wù)請求信號зOМ和轉(zhuǎn)換結(jié)束信號KПp,邏輯1的電平為2.4~4.5 V);高電平電壓為2.4~4.5 V,表示邏輯0(對于服務(wù)請求信號зOМ和轉(zhuǎn)換結(jié)束信號KПp,邏輯0的電平為0~0.6 V)。

(3)總線上掛接的程控單元模塊最多為16個(包括控制器)。

(4)MMи總線中最多包含92根信號線路。一個程控單元模塊內(nèi)所使用的線路最多不超過50根,最少不少于15根。每一個具體的程控單元模塊所用的線路數(shù)量,可根據(jù)此模塊的具體技術(shù)要求確定。

(5)程控單元模塊與MMи控制器間總線電纜的最大長度不應(yīng)超過1 m。

(6)總線內(nèi)的信息傳輸最大速度由程控單元模塊與MMи總線的信息處理能力決定,最大不超過100 Kb/s。

(7)總線控制器與程控單元模塊間的連接方式有2種:鏈型連接及星型連接。鏈型連接總線上的所有裝置,包括控制器,都是并行連接的;其中的信號可以單向或雙向傳輸;星型連接總線將MMи控制器與單個程控單元模塊一對一地連接到一起,其中的信號單向傳輸。

(8)MMи總線線路可分以下6類:

數(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)зм”(串行詢問),“KOм.1……KOм.16”(控制指令)線路;中斷線——“зOм”(請求服務(wù)),“Kпp”(轉(zhuǎn)換結(jié)束)線路。

程控單元模塊從MMи控制器接收的所有指令都是尋址指令。在中斷線內(nèi),模塊服務(wù)請求信號“зOм”具有高優(yōu)先級,轉(zhuǎn)換結(jié)束信號“Kпp”具有低優(yōu)先級。

2 硬件設(shè)計(jì)

2.1 工作原理

如圖1所示,轉(zhuǎn)換電路由FPGA芯片EPF10K30-RI208-4、FPGA配置器件EPC2LI20、接收緩沖電路、地址比較電路和總線接收電路組成。工作原理如下:當(dāng)轉(zhuǎn)換電路工作時,首先根據(jù)FPGA配置器件內(nèi)的文件對FPGA芯片進(jìn)行自動配置,當(dāng)ISA總線相應(yīng)地址位與6位撥動開關(guān)值匹配時(撥動開關(guān)為預(yù)設(shè)待轉(zhuǎn)數(shù)據(jù)模塊地址),選中需要轉(zhuǎn)換數(shù)據(jù)的地址,然后由ISA數(shù)據(jù)總線發(fā)送數(shù)據(jù)或命令,F(xiàn)PGA芯片中的譯碼電路結(jié)合地址總線信號和控制總線信號將控制數(shù)據(jù)轉(zhuǎn)為MMи總線對后級程控模塊的控制指令,對后級模塊實(shí)現(xiàn)控制。

當(dāng)傳遞某MMи程控模塊的數(shù)據(jù)時,首先將MMи程控模塊初始化,然后由ISA總線發(fā)送“模塊選址”數(shù)據(jù),寫入FPGA中地址寄存器后,經(jīng)譯碼產(chǎn)生選址信號,并由觸發(fā)器保持。選址后,ISA總線發(fā)送“初始化”指令,寫入命令寄存器后,經(jīng)譯碼產(chǎn)生初始化信號。當(dāng)監(jiān)測到“準(zhǔn)備好”信號時,說明初始化成功,發(fā)送“清除模塊選址”信號。

MMи程控模塊接收信息時,在被尋址且發(fā)出準(zhǔn)備好信號后,ISA總線將要寫入程控模塊的數(shù)據(jù)先寫入FPGA中的數(shù)據(jù)輸出寄存器中,然后發(fā)送到MMи數(shù)據(jù)總線上,發(fā)出“Пpиeм”接收信號,程控模塊根據(jù)此信號將數(shù)據(jù)寫入相應(yīng)信息寄存器。信息接收結(jié)束后,取消“Пpиeм”接收信號,取消MMи數(shù)據(jù)總線上數(shù)據(jù)。程控模塊準(zhǔn)備接收新的信息字節(jié),并產(chǎn)生準(zhǔn)備好的信號。
程控模塊發(fā)送信息時,在被尋址且發(fā)出準(zhǔn)備好信號后,由ISA總線控制沿“A0~A2”線路指定接收信息寄存器地址,并發(fā)出“Bыд.”發(fā)送信號,程控模塊根據(jù)此信號從發(fā)送信息寄存器沿MMи數(shù)據(jù)總線發(fā)出信息字節(jié),所發(fā)出的信息字節(jié)被讀取到FPGA中的數(shù)據(jù)輸入寄存器后由ISA總線控制讀出。

2.2 FPGA配置器件電路

FPGA配置器件電路如圖2所示,EPC2LI20為配置芯片,工作電壓5 V或3.3 V,支持在系統(tǒng)編程(ISP)和菊花鏈配置,可重復(fù)編程;EPF10K 30R1208-4為Altera公司生產(chǎn)FPGA芯片,工作電壓為5 V,包含邏輯單元1 728個,存儲位數(shù)12 288位;JP為通過QuartusⅡ軟件對配置芯片進(jìn)行程序燒寫接口。

該配置電路采用PS配置方式,首先通過QuartusⅡ軟件將FPGA的邏輯程序?qū)懭肱渲眯酒珽PC2LI20,該芯片數(shù)據(jù)具有掉電保護(hù)功能。上電后,配置芯片和FPGA同時復(fù)位,然后FPGA向配置芯片發(fā)送程序下載請求,配置芯片將存儲的邏輯程序?qū)懭隖PGA,對FPGA進(jìn)行配置.配置完成后,F(xiàn)PGA內(nèi)部的寄存器和I/O管腳均被初始化。完成初始化程序后,F(xiàn)PGA按照設(shè)計(jì)的邏輯功能正常工作,即按要求實(shí)現(xiàn)兩種總線之間的數(shù)據(jù)轉(zhuǎn)換。

2.3 地址比較電路

地址比較電路如圖3所示。74SL14為帶滯環(huán)比較的反向緩沖器,74SL85為4位數(shù)字比較器,6位的撥碼開關(guān)為預(yù)存待轉(zhuǎn)數(shù)據(jù)程控模塊地址,74SL00為反向緩沖器。撥碼開關(guān)共有6位,每1位都可以是邏輯高電平“1”或是邏輯低電平“0”,故該撥碼開關(guān)共有26個組合,可以代表26個程控模塊的地址。如圖3所示,撥碼開關(guān)為011001,代表將要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)來自地址為011001的程控模塊,當(dāng)控制信號給定的地址A27~A22與011001相符時,74SL00輸出低電平,該低電平與ISA總線的讀控制信號IOR和寫控制信號IOW#一起構(gòu)成FPGA從ISA總線讀數(shù)據(jù)或向ISA總線寫數(shù)據(jù)控制信號。



3 程序設(shè)計(jì)

實(shí)現(xiàn)ISA總線/MMи總線之間的數(shù)據(jù)轉(zhuǎn)換流程圖如圖4所示。程序開始后,首先與撥碼開關(guān)比較得到待轉(zhuǎn)換數(shù)據(jù)程控模塊的地址,然后FPGA通過配置芯片進(jìn)行初始化,初始化完成后,待轉(zhuǎn)數(shù)據(jù)程控模塊的地址寫入FPGA,F(xiàn)PGA自動分配傳輸數(shù)據(jù)的通道;然后,由ISA總線(MMи總線)發(fā)出數(shù)據(jù)傳輸請求信號,當(dāng)MMи總線(ISA總線)準(zhǔn)備好接收數(shù)據(jù)后,發(fā)一個應(yīng)答信號給ISA總線(MMи總線),表示數(shù)據(jù)傳輸準(zhǔn)備好,然后進(jìn)行數(shù)據(jù)傳輸,一直到數(shù)據(jù)傳輸完畢;發(fā)送的數(shù)據(jù)寫入接收端的數(shù)據(jù)緩沖器,MMи總線(ISA總線)從數(shù)據(jù)緩沖器讀出輸出的數(shù)據(jù)發(fā)送到相應(yīng)的程控模塊,從而完成從ISA總線(MMи總線)到MMи總線(ISA總線)的數(shù)據(jù)轉(zhuǎn)換。

4 實(shí)驗(yàn)結(jié)果

應(yīng)用設(shè)計(jì)的ISA總線/MMи總線轉(zhuǎn)換電路以串行方式對一組數(shù)據(jù)進(jìn)行轉(zhuǎn)換。ISA總線向MMи總線傳輸數(shù)據(jù)的實(shí)驗(yàn)結(jié)果如圖5(a)所示,當(dāng)ISA控制信號發(fā)出詢問脈沖(第2個波形第1個脈沖)時,MMи總線給出應(yīng)答信號(第4個波形第1個脈沖);收到MMи總線給出的應(yīng)答(同步)信號后,ISA總線將數(shù)據(jù)信號11010101發(fā)送(第3個波形);由于MMи總線數(shù)據(jù)信號采用的是負(fù)邏輯,因此,MMи總線上收到了發(fā)送的信號00101010(第5個波形)。實(shí)驗(yàn)結(jié)果證明,設(shè)計(jì)的電路可以實(shí)現(xiàn)ISA總線到MMи總線的數(shù)據(jù)轉(zhuǎn)換。由MMи總線向ISA總線傳輸數(shù)據(jù)的實(shí)驗(yàn)結(jié)果如圖5(b)所示,當(dāng)MMи總線發(fā)送的數(shù)據(jù)為00110011時,ISA總線接收的數(shù)據(jù)為11001100。
用設(shè)計(jì)的電路插板更換導(dǎo)彈測試設(shè)備上的俄制電路插板,并用測試設(shè)備對某型導(dǎo)彈進(jìn)行常規(guī)測試,測試結(jié)果符合測試要求。實(shí)際應(yīng)用證明,設(shè)計(jì)的電路達(dá)到設(shè)計(jì)目的,可以可靠地實(shí)現(xiàn)ISA總線/MMи總線之間的數(shù)據(jù)轉(zhuǎn)換。


5 結(jié)語

ISA總線和MMи總線是2種完全不同的總線,ISA總線采用美制標(biāo)準(zhǔn),而MMи總線采用俄制標(biāo)準(zhǔn),因此在俄制測試設(shè)備中,ISA總線/MMи總線的轉(zhuǎn)換電路板是必備的。本文設(shè)計(jì)的電路完全能代替俄制電路板實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換功能,極大提高了部隊(duì)裝備的保障力;同時,由于俄制電路板價格較貴,因此采用國產(chǎn)器件實(shí)現(xiàn)的該轉(zhuǎn)換電路也具有較高的經(jīng)濟(jì)價值。



關(guān)鍵詞: MMи總線 測試設(shè)備 FPGA

評論


相關(guān)推薦

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

關(guān)閉