1 引言
VME 總線由于具有良好的物理特性,、嚴(yán)格的技術(shù)規(guī)范和與微處理器接口靈活的特點(diǎn)而 被廣泛應(yīng)用于雷達(dá),、聲納等大規(guī)模并行多處理器系統(tǒng)[1],,在國內(nèi)外船舶機(jī)艙自動(dòng)化控制系統(tǒng) 中也有成功應(yīng)用。用戶在開發(fā)基于VME 總線的信號(hào)采集模塊時(shí),,首先必須考慮和解決的是 與VME 總線的接口問題,。本文采用基于GAL 芯片實(shí)現(xiàn)VME 總線接口電路的思路,對(duì)VME 總線接口設(shè)計(jì)問題進(jìn)行了深入研究,。文中通過軟件技術(shù)實(shí)現(xiàn)了VME 總線地址的譯碼以及數(shù) 據(jù)讀寫與中斷邏輯控制,,有效簡(jiǎn)化了硬件電路的設(shè)計(jì)。
2 接口設(shè)計(jì)功能要求
根據(jù) VME 總線規(guī)范和本題具體任務(wù)需求,,本文設(shè)計(jì)的VME 總線接口電路為一從控設(shè) 備接口電路(Slave Interface),,接口的數(shù)據(jù)總線寬度和地址總線寬度均為16 位。主要接口功 能要求如下:
1)產(chǎn)生電路板本身的程序復(fù)位和硬件復(fù)位信號(hào),;
2)產(chǎn)生I/O 讀,、寫信號(hào)及數(shù)據(jù)總線接口芯片片選信號(hào);
3)產(chǎn)生與VME 總線的應(yīng)答信號(hào),、數(shù)據(jù)選通信號(hào),,控制數(shù)據(jù)傳送方向;
4)具有中斷請(qǐng)求功能:可設(shè)定的中斷請(qǐng)求級(jí),;可編程中斷向量;支持中斷響應(yīng)菊花鏈,。
3 主要接口電路設(shè)計(jì)與功能實(shí)現(xiàn)
3.1 接口設(shè)計(jì)原理
通過比較研究,,本文選用 Lattice 的通用陣列邏輯(GAL)芯片來完成接口邏輯電路設(shè) 計(jì)。GAL 芯片是Lattice 公司開發(fā)的電可擦寫,、可重復(fù)編程的PLD,,具有結(jié)構(gòu)簡(jiǎn)單,易于編 程等優(yōu)點(diǎn),。本文采用3 片GAL 芯片進(jìn)行接口邏輯電路設(shè)計(jì),,電路基本結(jié)構(gòu)及原理如圖1 所 示。圖中2 片GAL20V8 完成地址譯碼和讀寫控制,,1 片GAL16V8 完成中斷請(qǐng)求控制,,數(shù) 據(jù)接口采用通用總線接口芯片Z8536。Z8536 是一種帶有兩個(gè)8 位I/O 口,、通用可編程的總 線接口芯片,。通過對(duì)控制寄存器進(jìn)行配置,可將這兩個(gè)I/O 口作為兩路8 位信號(hào)通道,,或共 同構(gòu)成一路16 位信號(hào)的通道,。在本設(shè)計(jì)中,,GAL 芯片將VME 總線*問Z8536 的信號(hào)進(jìn) 行譯碼,再通過LA4 和LA5 對(duì)Z8536 各個(gè)接口及工作方式配置寄存器進(jìn)行選擇,。VME 總 線借助Z8536 即實(shí)現(xiàn)對(duì)該從板上8 位或16 位數(shù)據(jù)的讀寫,。
圖1 電路基本結(jié)構(gòu)及原理
3.2 地址譯碼和讀寫控制電路設(shè)計(jì)與功能實(shí)現(xiàn)
地址譯碼電路要實(shí)現(xiàn)的主要功能是當(dāng)主設(shè)備發(fā)出的地址有效信號(hào)AS*有效時(shí),自動(dòng)從 總線上獲取地址和地址修飾碼,,然后根據(jù)地址修飾碼配置本次地址傳送的方式,,再根據(jù)地址 發(fā)出相應(yīng)的片選信號(hào)選擇板上芯片。讀寫控制模塊的主要功能是通過讀寫周期時(shí)序內(nèi)產(chǎn)生的 DS0*,、DS1*,、WRITE*、LWORD*,、IACK*等信號(hào)正確配置數(shù)據(jù)傳送的形式,,控制板上的 I/O 芯片的讀寫,并發(fā)出DTACK*信號(hào)還原主設(shè)備[2],。
為滿足以上要求,地址譯碼芯片上的CE[3~0]分別接4 片Z8536 總線接口芯片的使能端,; 讀寫控制芯片上的RD 和WR 分別接Z8536 的讀寫使能端。通過這兩塊芯片,,實(shí)現(xiàn)了VME 總線對(duì)該從板上各路信號(hào)的讀寫進(jìn)行的控制,。
由以上分析及邏輯推理確定了 GAL 芯片要實(shí)現(xiàn)的功能以后,根據(jù)總線協(xié)議和硬件電路 即可得到相關(guān)信號(hào)之間的邏輯關(guān)系,,本文據(jù)此完成了相應(yīng)ABEL-HDL 程序編寫并利用 Lattice 公司的專用開發(fā)工具ispLEVER5.1 對(duì)GAL 芯片程序進(jìn)行了編譯和仿真調(diào)試,,其地址 譯碼控制過程仿真波形如圖2 所示。
圖 2 地址譯碼控制過程仿真波形
3.3 中段請(qǐng)求控制電路設(shè)計(jì)與功能實(shí)現(xiàn)
VME 優(yōu)先級(jí)中斷機(jī)制采用菊花鏈,,它用于在板與板之間傳送一電平信號(hào),。它始于第一 槽而終結(jié)于最后一槽。系統(tǒng)可以提供IRQ 1 ~IRQ7 共7 個(gè)中斷請(qǐng)求,,其中IRQ7 具有最高優(yōu) 先級(jí),。本文采用通過跳線設(shè)定優(yōu)先級(jí)的方法。當(dāng)中斷處理器處理中斷請(qǐng)求時(shí),,中斷應(yīng)答菊花 鏈驅(qū)動(dòng)器啟動(dòng)中斷應(yīng)答菊花鏈工作,,以確保只有一個(gè)中斷器響應(yīng)正在進(jìn)行中的中斷應(yīng)答周 期。當(dāng)主設(shè)備應(yīng)答某個(gè)中斷時(shí),,首先把IACK*信號(hào)驅(qū)動(dòng)為低,,表示當(dāng)前周期是中斷應(yīng)答周 期,同時(shí)將相應(yīng)的中斷請(qǐng)求級(jí)別值放到A01~A03 上,。而中斷響應(yīng)主要由中斷響應(yīng)輸入 (IACKIN*)和中斷響應(yīng)輸出((IACKOUT*)組成應(yīng)答菊花鏈,。若某一從設(shè)備發(fā)出中斷請(qǐng)求,并 且響應(yīng)的中斷識(shí)別碼和自己匹配,,同時(shí)接到上一級(jí)傳下來的有效的IACKIN*信號(hào),,則判斷 是自己的中斷響應(yīng),,應(yīng)該堵塞IACKOUT*信號(hào),使之為高電平,,否則應(yīng)該繼續(xù)下傳 IACKOUT*信號(hào)[3],。根據(jù)上述的VME 總線中斷處理機(jī)制和過程,可以設(shè)計(jì)出在Slave 模式 下,,從設(shè)備通過GAL 芯片申請(qǐng)中斷的控制邏輯,。中斷控制邏輯部分的ABEL-HDL 源程序 如下:
圖 3 是該程序在ispLEVER5.1 中的仿真波形圖。在該圖中,,從設(shè)備板上的Z8536 通過 將INT 拉低請(qǐng)求一個(gè)權(quán)限為IRQ2 的中斷,,譯碼識(shí)別代碼為010。由圖可見,,當(dāng)A[3~1]為 010 時(shí),,菊花鏈停止傳送,否則由IACKOUT 傳出,。
圖 3 中斷請(qǐng)求控制仿真波形
4 結(jié)語
目前基于上述接口電路的VME 總線I/O 接口板卡設(shè)計(jì)研制工作已完成,,并已成功應(yīng)用 于機(jī)艙自動(dòng)化控制系統(tǒng)原理樣機(jī)中。試運(yùn)行以來穩(wěn)定可靠,,表明本文設(shè)計(jì)思路方法可行,,電 路及程序?qū)崿F(xiàn)達(dá)到預(yù)期目標(biāo),為VME 總線接口邏輯功能的設(shè)計(jì)與實(shí)現(xiàn)提供了一條途徑,。
本文創(chuàng)新點(diǎn):VME 總線接口電路設(shè)計(jì)方法有多種,,本文利用可編程邏輯器件,通過軟 件手段實(shí)現(xiàn)VME 總線地址譯碼以及數(shù)據(jù)讀寫與中斷控制邏輯,,使總線接口電路得到了有效 的簡(jiǎn)化,。