摘 要:簡介IDT7005芯片,一種基于IDT7005芯片的數控運動控制卡接口電路和ispGAL20V8B的控制電路程序設計。
關鍵詞:雙口RAM;數控運動控制卡;接口電路設計
在高速單片機數據采集和處理系統中,隨著采集數據量及數據處理任務的增加,對數據傳送的要求也越來越高,依靠單片機自帶的串口實現數據的串行傳輸已無法滿足要求,必須要進行高速的并行數據傳輸。雙口RAM能夠方便地構成各種工作方式下的高速數據傳送介質,解決數據傳輸低速引起的瓶頸問題。無論是并行處理網絡中的數據共享,還是流水線方式的高速數據傳輸,雙口RAM都可以發揮重要作用,從而保證數據通路的暢通。
一、IDT7005芯片
雙口RAM除了數據存儲功能外,還提供兩個完全獨立的端口,每個端口分別有自己的控制線、地址線和I/O數據線,允許雙端口同時讀寫數據,適合于兩個單片機以總線方式對存儲空間的共享。
IDT7005是IDT公司生產的高速8kb的八位雙端口RAM器件,它具有存取速度快、功耗低、可完全異步操作、接口電路簡單等優點。IDT7005L具有兩端完全對稱結構(即兩套完全獨立的I/O控制線、地址線、數據線) 和仲裁中斷旗語邏輯模塊,使得IDT7005L成為真正的雙端口RAM,允許兩個控制器同時讀取任何存儲單元,但不允許同時寫或一讀一寫同一地址單元。該芯片內部的功能結構如圖1所示。
二、硬件電路接口設計
1. IDT7005L的旗語令牌傳遞法由于IDT7005具有兩套獨立的總線結構,可用多種方法解決兩邊對同一單元的爭用問題。
一般可以利用雙口RAM的BUSY信號,但當兩端口對同一地址單元同時存取數據時,其中一個端口處于等待狀態,對于高速數據傳輸來說,插入等待狀態會降低數據傳輸效率,這在某些情況下是不能夠接受的,此時可以利用IDT7005L提供的旗語電路。這里介紹最為常用的旗語令牌傳遞法。IDT7005L的旗語操作見表1。
IDT7005內部有八個獨立于存儲單元的鎖存器,最多將8kb存儲單元分為八部分,可用來指示是否相應的共享RAM正被使用。當一側端口訪問共享RAM時先向相應的鎖存邏輯單元寫入“0”,如讀出“1”則表示共享RAM正被另一側占用,直到另一側端口釋放令牌,此時讀出的數據為“0”,可訪問相應RAM。
另外,值得注意的是,對旗語進行操作,應先寫后讀,不要先讀后寫,以避免出現爭用系統總線的現象。
2. 總體設計方案
接口電路設計的上位機采用工業控制機,AT89S52單片機作為下位機,ISA總線與雙口RAM以及雙口RAM與單片機的總體通信方案原理見圖2。

(1) IDT7005芯片接口設計。由于共享RAM使用了存儲器尋址,而旗語令牌的鎖存邏輯單元使用了I/O尋址,所以SMEW信號和IOW信號相與后送給IDT7005的R/WR信號,同樣,SMER信號和IOR相與后送給IDT7005的OER信號。對共享RAM和旗語令牌訪問時片選信號分別采用CE 和SEM。ISA總線的A0~A12接到IDT7005的A0R~A12R作為地址線,A13~A19接到GAL20V8B的一組輸入端。本試驗中,共享RAM可配置在D0000H~DFFFFH,旗語令牌可配置在300H~3FFH。
(2) ispGAL20V8B的讀寫控制電路程序設計。通用陣列邏輯GAL是由可編程的與陣列、固定(不可編程) 的或陣列和輸出邏輯宏單元(OLMC) 三部分構成。GAL芯片須借助GAL的開發軟件和硬件,對其編程寫入后,才能使GAL芯片具有預期的邏輯功能。GAL20V8B有八個I/O口、14個輸入口、10個寄存器單元,最高頻率超過100MHz。它通過程序來控制可編程陣列區的軟連線,從而實現所需的邏輯電路。ISA總線接口卡上采用GAL20V8B芯片實現存儲器地址范圍選擇、I/O地址選擇、地址總線和數據總線的選通控制、ISA總線與雙口RAM間的控制信號產生等功能。該系統所采用的控制邏輯的程序如下。
MODULE IDT7005 //模塊IDT7005開始
TITLE‘IDT7005‘ //標題語句
ADA PIN 15;
IOW,IOR,SMEMW,SMEMR
PIN1,2,4,5; //輸入管腳說明
A14,A15,A16,A17,A18,A19PIN7,8,9,10,11,13;
K1,K2,K3,K4PIN23,22,21,20;
OE,CE,RW,SEMPIN18,19,17,16;
S1= [A14,A15,A16,A17] ; //地址譯碼組合
S2= [K1,K2,K3,K4] ;
EQUATIONS //邏輯方程描述
WHEN (S1==S2) THENADA=1
ELSEADA=0;
! CE = ! ( SMEMW&SMEMR) &ADA&(A18&A19) ;
! SEM=! (IOW&IOR) &! (! A18#A19) ;
RW=SMEMW&IOW;
OE=SMEMR&IOR;
END //模塊IDT7005結束
經燒寫后的管腳功能圖見圖3。

三、結束語
通過雙口RAM實現單片機與上位機數據通信接口電路的設計及其ISA模式應用,利用IDT7005芯片實現了數控機床運動控制卡主從式處理器間的通信,試驗證明,該方法與串行和并行通信相比,具有速度快、數據傳輸可靠性高、抗干擾能力強、實現簡單的優點,有很強的實際應用價值。