《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于GAL的VME總線接口電路及程序設計
基于GAL的VME總線接口電路及程序設計
互聯網
摘要: 根據VME總線規(guī)范和協(xié)議要求,基于GAL芯片進行了VME總線地址譯碼、數據讀寫及中斷控制接口電路的設計,完...
Abstract:
Key words :

  1 引言

  VME 總線由于具有良好的物理特性、嚴格的技術規(guī)范和與微處理器接口靈活的特點而 被廣泛應用于雷達、聲納等大規(guī)模并行多處理器系統(tǒng)[1],在國內外船舶機艙自動化控制系統(tǒng) 中也有成功應用。用戶在開發(fā)基于VME 總線的信號采集模塊時,首先必須考慮和解決的是 與VME 總線的接口問題。本文采用基于GAL 芯片實現VME 總線接口電路的思路,對VME 總線接口設計問題進行了深入研究。文中通過軟件技術實現了VME 總線地址的譯碼以及數 據讀寫與中斷邏輯控制,有效簡化了硬件電路的設計。

  2 接口設計功能要求

  根據 VME 總線規(guī)范和本題具體任務需求,本文設計的VME 總線接口電路為一從控設 備接口電路(Slave Interface),接口的數據總線寬度和地址總線寬度均為16 位。主要接口功 能要求如下:

  1)產生電路板本身的程序復位和硬件復位信號;

  2)產生I/O 讀、寫信號及數據總線接口芯片片選信號;

  3)產生與VME 總線的應答信號、數據選通信號,控制數據傳送方向;

  4)具有中斷請求功能:可設定的中斷請求級;可編程中斷向量;支持中斷響應菊花鏈。

  3 主要接口電路設計與功能實現

  3.1 接口設計原理

  通過比較研究,本文選用 Lattice 的通用陣列邏輯(GAL)芯片來完成接口邏輯電路設 計。GAL 芯片是Lattice 公司開發(fā)的電可擦寫、可重復編程的PLD,具有結構簡單,易于編 程等優(yōu)點。本文采用3 片GAL 芯片進行接口邏輯電路設計,電路基本結構及原理如圖1 所 示。圖中2 片GAL20V8 完成地址譯碼和讀寫控制,1 片GAL16V8 完成中斷請求控制,數 據接口采用通用總線接口芯片Z8536。Z8536 是一種帶有兩個8 位I/O 口、通用可編程的總 線接口芯片。通過對控制寄存器進行配置,可將這兩個I/O 口作為兩路8 位信號通道,或共 同構成一路16 位信號的通道。在本設計中,GAL 芯片將VME 總線*問Z8536 的信號進 行譯碼,再通過LA4 和LA5 對Z8536 各個接口及工作方式配置寄存器進行選擇。VME 總 線借助Z8536 即實現對該從板上8 位或16 位數據的讀寫。

   圖1 電路基本結構及原理

  3.2 地址譯碼和讀寫控制電路設計與功能實現

  地址譯碼電路要實現的主要功能是當主設備發(fā)出的地址有效信號AS*有效時,自動從 總線上獲取地址和地址修飾碼,然后根據地址修飾碼配置本次地址傳送的方式,再根據地址 發(fā)出相應的片選信號選擇板上芯片。讀寫控制模塊的主要功能是通過讀寫周期時序內產生的 DS0*、DS1*、WRITE*、LWORD*、IACK*等信號正確配置數據傳送的形式,控制板上的 I/O 芯片的讀寫,并發(fā)出DTACK*信號還原主設備[2]。

  為滿足以上要求,地址譯碼芯片上的CE[3~0]分別接4 片Z8536 總線接口芯片的使能端; 讀寫控制芯片上的RD 和WR 分別接Z8536 的讀寫使能端。通過這兩塊芯片,實現了VME 總線對該從板上各路信號的讀寫進行的控制。

  由以上分析及邏輯推理確定了 GAL 芯片要實現的功能以后,根據總線協(xié)議和硬件電路 即可得到相關信號之間的邏輯關系,本文據此完成了相應ABEL-HDL 程序編寫并利用 Lattice 公司的專用開發(fā)工具ispLEVER5.1 對GAL 芯片程序進行了編譯和仿真調試,其地址 譯碼控制過程仿真波形如圖2 所示。

   圖 2 地址譯碼控制過程仿真波形

  3.3 中段請求控制電路設計與功能實現

  VME 優(yōu)先級中斷機制采用菊花鏈,它用于在板與板之間傳送一電平信號。它始于第一 槽而終結于最后一槽。系統(tǒng)可以提供IRQ 1 ~IRQ7 共7 個中斷請求,其中IRQ7 具有最高優(yōu) 先級。本文采用通過跳線設定優(yōu)先級的方法。當中斷處理器處理中斷請求時,中斷應答菊花 鏈驅動器啟動中斷應答菊花鏈工作,以確保只有一個中斷器響應正在進行中的中斷應答周 期。當主設備應答某個中斷時,首先把IACK*信號驅動為低,表示當前周期是中斷應答周 期,同時將相應的中斷請求級別值放到A01~A03 上。而中斷響應主要由中斷響應輸入 (IACKIN*)和中斷響應輸出((IACKOUT*)組成應答菊花鏈。若某一從設備發(fā)出中斷請求,并 且響應的中斷識別碼和自己匹配,同時接到上一級傳下來的有效的IACKIN*信號,則判斷 是自己的中斷響應,應該堵塞IACKOUT*信號,使之為高電平,否則應該繼續(xù)下傳 IACKOUT*信號[3]。根據上述的VME 總線中斷處理機制和過程,可以設計出在Slave 模式 下,從設備通過GAL 芯片申請中斷的控制邏輯。中斷控制邏輯部分的ABEL-HDL 源程序 如下:

 

  圖 3 是該程序在ispLEVER5.1 中的仿真波形圖。在該圖中,從設備板上的Z8536 通過 將INT 拉低請求一個權限為IRQ2 的中斷,譯碼識別代碼為010。由圖可見,當A[3~1]為 010 時,菊花鏈停止傳送,否則由IACKOUT 傳出。

   圖 3 中斷請求控制仿真波形

  4 結語

  目前基于上述接口電路的VME 總線I/O 接口板卡設計研制工作已完成,并已成功應用 于機艙自動化控制系統(tǒng)原理樣機中。試運行以來穩(wěn)定可靠,表明本文設計思路方法可行,電 路及程序實現達到預期目標,為VME 總線接口邏輯功能的設計與實現提供了一條途徑。

  本文創(chuàng)新點:VME 總線接口電路設計方法有多種,本文利用可編程邏輯器件,通過軟 件手段實現VME 總線地址譯碼以及數據讀寫與中斷控制邏輯,使總線接口電路得到了有效 的簡化。

此內容為AET網站原創(chuàng),未經授權禁止轉載。