【導(dǎo)讀】可編程邏輯器件(PLD)是一種“與-或”兩級式結(jié)構(gòu)器件,除了具有高速度、高集成度性能之外,其最大的特點(diǎn)就是用戶可定義其邏輯功能。因此PLD能夠適應(yīng)各種需求,大大簡化系統(tǒng)設(shè)計,縮小系統(tǒng)規(guī)模,提高系統(tǒng)可靠性,受到廣大工程技術(shù)人員的青睞。
可編程邏輯器件種類繁多,性能各異,主要有以下幾種基本類型:可編程只讀存儲器(PROM),現(xiàn)場可編程邏輯陣列(FPLA),編程陣列邏輯(PAL),通用陣列邏輯(GAL)。通用陣列邏輯GAL(Generic ArrayLogic)是新一代的可編程邏輯器件,是采用先進(jìn)的E2CMOS工藝制造的大規(guī)模集成電路,是新產(chǎn)品設(shè)計的理想器件。用戶可將設(shè)計的邏輯電路通過IBM-PC機(jī)對GAL芯片編程。編程過程可分為三步:(1)根據(jù)設(shè)計要求寫出與或邏輯表達(dá)式的布爾方程;(2)利用編譯器,由計算機(jī)輔助編程,得到陣列的熔絲圖,并驗證其正確性;(3)由于GAL的立即電可擦性,把編譯器的輸出送入編程器。編程器便按已確定的熔絲圖將新的內(nèi)部結(jié)構(gòu)信息存儲起來。這種編程方法簡單易行。
系統(tǒng)組成與系統(tǒng)設(shè)計
系統(tǒng)的組成
我們介紹的系統(tǒng)是一種基于兩次采樣的高準(zhǔn)確度A/D轉(zhuǎn)換器。它的計數(shù)容量可達(dá)兩百萬碼,相當(dāng)于六位半的A/D轉(zhuǎn)換器,是目前國內(nèi)所能做到的一種較高準(zhǔn)確度的A/D轉(zhuǎn)換器。它的工作原理是對被測信號進(jìn)行兩次采樣:第一次采樣由雙積分型A/D轉(zhuǎn)換器把被測信號高位轉(zhuǎn)換成對應(yīng)的數(shù)字量N2h。第二次采樣的定時積分時間要比第一次采樣的定時積分時間延長m倍,并用N2h來定時接通相應(yīng)的基準(zhǔn)電壓到求和積分器。定值積分時則改用小基準(zhǔn)電壓Es/n來進(jìn)行放電,從而獲得與被測信號低位相應(yīng)的讀數(shù)N2l。綜合兩次采樣結(jié)果,A/D轉(zhuǎn)換器的總計數(shù)值為:mnN2h+N2l。它的總體框圖如圖1所示。
圖1:A/D轉(zhuǎn)換器總體框圖
由于系統(tǒng)正常工作時需要一個龐大的邏輯控制電路來完成兩次采樣過程,所以我們采用PLD來實現(xiàn)硬件控制邏輯。
系統(tǒng)的設(shè)計
在所有PLD中,由于GAL器件具有低功耗、高速度、可重復(fù)編程和輸出可重組態(tài)的特點(diǎn),加上它的性價比明顯優(yōu)于SSI/MSI器件,所以被選用來完成高準(zhǔn)確度A/D轉(zhuǎn)換器的硬件邏輯控制電路。
硬件邏輯控制電路
GAL16V8芯片主要有五種輸出配置功能。設(shè)計中采用了其寄存器型器件中的組合輸出結(jié)構(gòu)和寄存器型輸出結(jié)構(gòu)。我們采用的GAL16V8芯片如圖2所示。
圖2:GAL芯片圖
它的各個管腳定義如下:
mT1:定時積分的定時時間信號(低電平有效),Th:反饋定時信號(低電平有效),ST:ADC轉(zhuǎn)換啟動信號(正跳沿有效),Sc:二次采樣信號(高電平有效),INPUT:檢零信號輸入(Ux>0時為0,Ux<0時為1),Tx:結(jié)果計數(shù)輸出(高電平有效),Sg:極性輸出(Ux>0時為0,Ux<0時為1),INT1:中斷信號(正跳沿有效),Kc:放電回路控制(高電平有效),Kx:被測量接入控制(高電平有效),VrN:負(fù)基準(zhǔn)接入控制(高電平有效),Vr:正基準(zhǔn)接入控制(高電平有效),Vr-10:十分之一正基準(zhǔn)(高電平有效),Csg:釋放極性輸出寄存器(高電平有效),CLK:時鐘輸入端。
硬件邏輯控制電路工作過程
硬件邏輯電路工作時,A/D轉(zhuǎn)換啟動信號ST由“0”變“1”,標(biāo)志第一次采樣正式開始。同時,Kx變?yōu)楦唠娖?,表示接入被測量Ux;mT1變?yōu)榈碗娖?,系統(tǒng)進(jìn)入第一次采樣的定時積分時間。假設(shè)Ux>0,則檢零信號INPUT為“0”。當(dāng)mT1變?yōu)楦唠娖綍r,第一次采樣的定時積分時間結(jié)束。接入VrN,進(jìn)入第一次采樣的定量積分階段。當(dāng)檢零信號發(fā)生變化時,表明定量積分結(jié)束。在定量積分過程中,Tx有計數(shù)結(jié)果輸出,這是被測信號的高位值。中斷信號INT1由“1”變“0”,表示第一次采樣結(jié)束,系統(tǒng)進(jìn)入休止階段。當(dāng)ST和二次采樣信號Sc同時產(chǎn)生正跳沿時,系統(tǒng)進(jìn)入第二次采樣階段。在第二次采樣過程中,邏輯控制過程與第一次采樣大致相同,只是定時積分時間變?yōu)榈谝淮尾蓸佣〞r積分時間的m倍,即mT1,而且在每一個T1時間內(nèi),都接通反饋定時信號Th。在定值積分階段,改用小基準(zhǔn)電壓Vr-10來進(jìn)行放電。從而Tx有計數(shù)結(jié)果輸出,這是被測信號的低位值。至此,兩次采樣A/D轉(zhuǎn)換結(jié)束。
硬件邏輯控制電路時序圖
利用可編程邏輯器件設(shè)計控制電路的關(guān)鍵在于正確畫出邏輯電路的時序圖。通過準(zhǔn)確分析兩次采樣A/D轉(zhuǎn)換器的邏輯電路,畫出它的時序圖。
(1)被測電壓為正時,GAL各管腳的時序圖如圖3所示。
圖3:U大于0時的硬件邏輯控制時序圖
(2)被測電壓為負(fù)時,GAL各管腳的時序圖如圖4所示。
圖4:U小于0時的硬件邏輯控制時序圖
GAL可編程器件程序
根據(jù)硬件邏輯電路時序圖,現(xiàn)對GAL16V8芯片進(jìn)行編程,完成上述邏輯功能。程序如下:
通過示波器對GAL16V8芯片各管腳輸出的波形進(jìn)行觀察,得到正確的波形輸出。把采用GAL后測得的數(shù)據(jù)與原有的邏輯電路測得的數(shù)據(jù)進(jìn)行比較,證明利用GAL所得的數(shù)據(jù)完全正確。因此,由GAL設(shè)計高準(zhǔn)確度A/D轉(zhuǎn)換器的硬件邏輯控制電路是可行的。此外,由于GAL只有一個時鐘控制端,在信號進(jìn)行動作時,為減少由于時鐘引起的誤差,使用的時鐘頻率要高于計數(shù)器使用時鐘頻率的兩倍以上。時鐘頻率越高,所帶來的誤差就越小。
與一般邏輯電路相比,GAL不僅保證了系統(tǒng)的正確性,更提高了系統(tǒng)的保密性和可靠性。