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