基于MAX7000系列CPLD的數據采集系統
CPLD構成數據總線(xiàn)控制器
在這個(gè)高速數據采集系統中,為了提高數據傳輸和尋址的速度,在正常采樣期間,其數據總線(xiàn)和地址總線(xiàn)并不需要CPU控制,數據存儲是由系統硬件自動(dòng)完成的。但當CPU2監測到輸入模擬量的突變時(shí),再經(jīng)過(guò)預定的一段持續采樣時(shí)間后,就會(huì )發(fā)出控制信息給地址發(fā)生器和數據總線(xiàn)控制器,停止繼續存儲采樣數據和自動(dòng)產(chǎn)生地址,而由CPU2取得總線(xiàn)的控制權,對處在高速緩沖RAM中的故障前后數據進(jìn)行操作。為避免總線(xiàn)沖突,就需要一塊數據總線(xiàn)的控制器處理好系統總線(xiàn)和局部總線(xiàn)的關(guān)系。
EPM7064可以很好地解決這個(gè)問(wèn)題。在EPM7064的內部,用三態(tài)門(mén)將CPU2的讀寫(xiě)控制線(xiàn)、8根數據總線(xiàn)以及AD9225的12根數據線(xiàn)及一根溢出線(xiàn)與控制高速緩沖RAM的讀寫(xiě)控制線(xiàn)和數據線(xiàn)隔離開(kāi)來(lái),由CPU2的P1.7作為CPU2或高速A/D控制總線(xiàn)的控制信號線(xiàn),這樣就能方便地實(shí)現緩沖RAM數據線(xiàn)訪(fǎng)問(wèn)控制權的切換??紤]篇幅,不再詳細給出實(shí)現程序。地址總線(xiàn)控制邏輯實(shí)現方法類(lèi)似,不再介紹。
CPLD構成的ISA總線(xiàn)接口
在PC系列機中,I/O空間是獨立的,共有1KB(地址編號為000H~3FFH)。由于I/O接口一部分分布在主機母板上,另一部分分布在擴展槽上,所以I/O的1024個(gè)口地址也分成兩個(gè)部分,其中前512個(gè)由母板上的接口控制器使用,后512個(gè)供擴展槽內的接口控制卡使用。而且由于后512個(gè)地址中的一部分已經(jīng)被配置成系統資源的接口,所以真正能被用戶(hù)設計開(kāi)發(fā)的I/O端口為數不多,而且不連續。這樣就不能采用常規的用PC機提供的地址總線(xiàn)來(lái)尋址雙口RAM的方法,因為這種方法只能尋址其中為數不多而且不連續的一些單元。所以這是一個(gè)難點(diǎn)。為此,采用用PC機的數據線(xiàn)來(lái)尋址雙口RAM的方式,只需占用三個(gè)I/O端口,就能尋址整個(gè)4K的RAM區。
ISA總線(xiàn)接口電路邏輯框圖如圖3所示。
采用了ISA插槽中的8位數據線(xiàn)、10位地址線(xiàn)、讀寫(xiě)控制線(xiàn)IOW和IOR以及電源線(xiàn),并假設使用390H、391H、392H三個(gè)端口。當PC機要訪(fǎng)問(wèn)某一地址單元時(shí),首先通過(guò)390H端口將低8位地址送到數據總線(xiàn)上。此時(shí)由PC-AB送出的390H信號和IOW信號經(jīng)解碼電路輸出一個(gè)鎖存脈沖到鎖存器(L),將此低8位地址鎖存;然后通過(guò)391H端口將高4位地址送到數據總線(xiàn)上,此時(shí)由PC-AB送出的391H信號和IOW信號經(jīng)解碼電路輸出一個(gè)鎖存脈沖到鎖存器(H),將此高4位地址鎖存;最后通過(guò)392H端口進(jìn)行讀寫(xiě),只要PC-AB上出現392H信號,解碼電路就輸出一個(gè)低電平到雙口RAM的/CS,再根據相應的讀寫(xiě)控制信號就能進(jìn)行讀寫(xiě)操作。
用ALTERA公司的EPM7064SLC84-5實(shí)現這一接口的VHDL文件如下:
仿真結果表明此電路設計完全可以實(shí)現上述功能。PC機使用端口392H讀取雙口RAM中的數據時(shí)的仿真圖如圖4所示。
CPLD是現代電子工程領(lǐng)域的一門(mén)新技術(shù),它提供了基于計算機和信息技術(shù)的電路系統設計方法,提高了設計電路的集成度和可靠性。筆者在將ALTERA公司推出的MAX7000系列產(chǎn)品應用于高速數據采集方面做了嘗試,具體使用EPM7032和EPM7064設計了地址發(fā)生器、數據總線(xiàn)控制器和ISA總線(xiàn)的接口,目前已經(jīng)將其應用在電力系統某精確故障定位系統中。
評論