一種簡(jiǎn)易數字波形存儲器的實(shí)現
關(guān)鍵詞:DMA;雙端口;RAM;存儲器;AT89C51 GAL
隨著(zhù)信號處理技術(shù)的發(fā)展,波形存儲變得日益重要,各種類(lèi)型的波形存儲裝置也越來(lái)越多。相對于其它波形存儲裝置,本文給出的設計的最大特點(diǎn)是速度快,可進(jìn)行DMA存儲,且不占用CPU時(shí)間來(lái)對信號進(jìn)行處理。
1 系統的總體設計
由于本設計采用了雙口RAM和DMA思想,而且數據的采集、存儲與輸出均由邏輯電路控制,因此,提高了數據示波器的采樣速度,同時(shí)易于實(shí)現“實(shí)時(shí)顯示”,并可在“偽”實(shí)時(shí)處理時(shí)對數據進(jìn)行操作。此外,數據的實(shí)時(shí)顯示和“偽”實(shí)時(shí)處理可通過(guò)“DMA允許”來(lái)控制,其總體設計方案如圖1所示。
1.1 輸入電路
本設計的輸入電路實(shí)際是一個(gè)可調增益電路,主要完成對信號的放大。本設計設置有0.01/div、0.1/div和1/div三檔垂直靈敏度,可分別對輸入信號進(jìn)行1倍、10倍和100倍的放大。具體可采用以下兩種方案:
(1)采用可編程增益運放來(lái)實(shí)現1、10、100的放大倍數。由于采用集成運放,因而精度較高,調試方便,但造價(jià)也較高。
(2)采用三級放大,第一級為跟隨器方式,后兩級的放大倍數均為10,每一級放大后都有一個(gè)輸出抽頭。具體連接如圖2所示。
1.2 A/D轉換器的選擇(1)
A/D轉換器是波形存儲的關(guān)鍵部件。它決定了示波器的最大采樣速率以及分辨率。目前常用的A/D轉換器的輸出形式有并行和串行兩種,其轉換方式有逐次逼近型ADC、積分型ADC、∑-Δ型ADC與流水線(xiàn)型ADC。
對本設計來(lái)說(shuō),顯然應該選擇高速A/D。綜合考慮各方面的因素,筆者選用了8位CMOS、20MSPS模擬-數字轉換器(ADC)TLC5510。
如果需要進(jìn)一步提高存儲示波器輸入信號的頻率,可考慮并行A/D,即用兩片A/D對一路信號進(jìn)行分時(shí)采樣,因為這樣可在不提高器件頻率特性的基礎上將輸入信號的帶寬提高一倍。以此類(lèi)推,可并聯(lián)多塊A/D以使輸入信號的帶寬進(jìn)一步得到提高(本設計中不涉及此項,有興趣的讀者不妨一試)。
1.3 存儲器的選擇
筆者在本設計中選用了兩片雙口4kB的RAM IDT7134(4kB)。它在雙路使用時(shí),一路對應一個(gè)存儲器。使用雙口RAM便于對波形進(jìn)行實(shí)時(shí)處理和“偽”實(shí)時(shí)處理。
1.4 觸發(fā)電路的設計
觸發(fā)電路在設計時(shí)有三種方案,其一是采用可調電阻。因為該輸入信號處在一個(gè)連續的范圍內,即觸發(fā)電平可以連續變化,因此采用可調電阻能簡(jiǎn)化電路。 其二是選用數字電位器代替模擬電阻。該方案雖然可實(shí)現程序控制,但觸發(fā)電平不能連續可調,且會(huì )增加系統的控制任務(wù)。其三是由D/A轉換器組成的觸發(fā)電路,如圖3所示。在該電路中,觸發(fā)電平與Di輸入的關(guān)系為:
V=VREF Di/2n
式中,n為D/A的位數,VREF為基準電壓。
利用D/A觸發(fā)電路能滿(mǎn)足觸發(fā)電平可調的要求,但會(huì )增加系統的復雜度。因此,應綜合考慮以上三個(gè)方案。
1.5 GAL和控制電路
a. GAL器件
GAL?2?器件通常采用E2CMOS工藝制造,E2CMOS工藝的特點(diǎn)是可試驗性、低功耗、高速和立即可擦寫(xiě)。目前最常用的GAL器件有GAL16V8和GAL20V8兩種系列,它們最多有8個(gè)輸出端(也可編程輸入),分別有16和20個(gè)輸入端。
GAL器件的特點(diǎn)如下:
● 方便編程,編程單元和邏輯配置可重復進(jìn)行編程;
● 高性能的E2CMOS工藝使得器件的功耗很低(最大運行功耗為45mA),速度高(存取速度為15~25ns);輸出邏輯宏單元的配置使設計具有更大的靈活性;
●具有保密單元,可對程序進(jìn)行加密以保護知識產(chǎn)權。
除此之外,GAL器件還具有輸出寄存器的預加載功能以及鎖定保護、輸入緩沖和加電復位等技術(shù)特性和功能。
筆者選用GAL16V8來(lái)完成圖4所示的邏輯功能。其GAL輸入輸出端口的邏輯關(guān)系為:
(abel語(yǔ)言)
Aout=(A0#A1#A2#A3);
Bout=!(B0#B1);
Cout1=!(C1);
Cout0=(C0&!S0#!C1&S0#!C2&S0);
系統中數字部分的邏輯關(guān)系均可由GAL來(lái)實(shí)現,這樣不但可使電路得到簡(jiǎn)化,同時(shí)也可以提高系統的可靠性。
b. 數字控制電路
圖5所示是該系統中數字控制電路的工作原理圖。當系統工作于實(shí)時(shí)顯示模式時(shí),CPU首先對所有控制電路進(jìn)行復位,并使地址計數開(kāi)始,然后在每一個(gè)時(shí)鐘完成A/D的數據輸出、寫(xiě)入RAM和D/A直接輸出。直到地址溢出(滿(mǎn)屏顯示所需數據量)后,再將寫(xiě)RAM地址計數信號禁止,同時(shí)給出CPU存儲完畢信號。
當系統進(jìn)行波形鎖存時(shí),A/D將停止工作,并將滿(mǎn)屏所需的數據量存于RAM中,此后計數器只需給出地址,即可由D/A輸出波形。
在進(jìn)行波形移動(dòng)時(shí),如果在鎖存信號方式的基礎上一屏顯示未定,那么,CPU將對地址預置數+N(或-N),并會(huì )在輸出波形后將新的預置數送入地址口線(xiàn),此時(shí)的CPU可再設定下次顯示的首地址,這樣即可實(shí)現波形的左右移動(dòng),從而顯示出波形的任意一部分。
2 系統軟件設計流程
本波形存儲器系統的主程序分為初始化和鍵盤(pán)管理兩部分。圖6為其主程序框圖。其中初始化模塊主要是在系統加電后?完成對單片機系統即外圍元件的初始化?如對PS7219初始狀態(tài)的設定、對定時(shí)器和DMA系統初始狀態(tài)的設定以及為系統變量賦值等。
由74LS148和74LS76組成的8按鍵鍵盤(pán)管理模塊由AT89C51采用查詢(xún)方式進(jìn)行處理。為了提高系統的可靠性,此處沒(méi)有使用中斷方式。鍵盤(pán)管理的功能是根據按鍵的功能號和當前狀態(tài)來(lái)轉入相應的狀態(tài),并執行有關(guān)功能模塊,然后進(jìn)入下一次循環(huán)。為了方便鍵盤(pán)的管理,本設計專(zhuān)門(mén)開(kāi)辟了一個(gè)8字節的RAM區作為鍵盤(pán)的管理控制區(這樣)每次處理鍵盤(pán)服務(wù)程序時(shí)只須訪(fǎng)問(wèn)此區即可。
3 可靠性設計
為了提高本系統的可靠性,本設計還采用了以下幾項措施:
(1)采用監控電路。對單片機系統進(jìn)行監控。筆者在設計時(shí),采用的是MAX813微處理監控芯片,通過(guò)該芯片可使程序在進(jìn)入死循環(huán)時(shí)能夠重新復位,從而保證了軟件系統運行的可靠性,同時(shí),在系統軟件設計時(shí),筆者還采用了軟件看門(mén)狗技術(shù)。
(2)在可靠性方面。系統初始化時(shí),也已用單片機對所有端口按各子模塊要求進(jìn)行了相應設置。
評論