- 相關推薦
簡易數字波形存儲器的實現的論文
給出了采用類似dma的設計思路以及使用雙口ram、快速邏輯電路和cpu(at89c51)組成的數字波形存儲系統的整體電路,從而解決了波形數據的快速采集和輸出顯示問題。
關鍵詞:dma;雙端口;ram;存儲器;at89c51 gal
隨著信號處理技術的發展,波形存儲變得日益重要,各種類型的波形存儲裝置也越來越多。相對于其它波形存儲裝置,本文給出的設計的最大特點是速度快,可進行DMA存儲,且不占用CPU時間來對信號進行處理。
1 系統的總體設計
由于本設計采用了雙口RAM和DMA思想,而且數據的采集、存儲與輸出均由邏輯電路控制,因此,提高了數據示波器的采樣速度,同時易于實現“實時顯示”,并可在“偽”實時處理時對數據進行操作。此外,數據的實時顯示和“偽”實時處理可通過“DMA允許”來控制,其總體設計方案如圖1所示。
1.1 輸入電路
本設計的輸入電路實際是一個可調增益電路,主要完成對信號的放大。本設計設置有0.01/div、0.1/div和1/div三檔垂直靈敏度,可分別對輸入信號進行1倍、10倍和100倍的放大。具體可采用以下兩種方案:
(1)采用可編程增益運放來實現1、10、100的放大倍數。由于采用集成運放,因而精度較高,調試方便,但造價也較高。
(2)采用三級放大,第一級為跟隨器方式,后兩級的放大倍數均為10,每一級放大后都有一個輸出抽頭。具體連接如圖2所示。
1.2 A/D轉換器的選擇(1)
A/D轉換器是波形存儲的關鍵部件。它決定了示波器的最大采樣速率以及分辨率。目前常用的A/D轉換器的輸出形式有并行和串行兩種,其轉換方式有逐次逼近型ADC、積分型ADC、∑-Δ型ADC與流水線型ADC。
對本設計來說,顯然應該選擇高速A/D。綜合考慮各方面的因素,筆者選用了8位CMOS、20MSPS模擬-數字轉換器(ADC)TLC5510。
如果需要進一步提高存儲示波器輸入信號的頻率,可考慮并行A/D,即用兩片A/D對一路信號進行分時采樣,因為這樣可在不提高器件頻率特性的基礎上將輸入信號的帶寬提高一倍。以此類推,可并聯多塊A/D以使輸入信號的帶寬進一步得到提高(本設計中不涉及此項,有興趣的讀者不妨一試)。
1.3 存儲器的選擇
筆者在本設計中選用了兩片雙口4kB的RAM IDT7134(4kB)。它在雙路使用時,一路對應一個存儲器。使用雙口RAM便于對波形進行實時處理和“偽”實時處理。
1.4 觸發電路的設計
觸發電路在設計時有三種方案,其一是采用可調電阻。因為該輸入信號處在一個連續的范圍內,即觸發電平可以連續變化,因此采用可調電阻能簡化電路。 其二是選用數字電位器代替模擬電阻。該方案雖然可實現程序控制,但觸發電平不能連續可調,且會增加系統的控制任務。其三是由D/A轉換器組成的觸發電路,如圖3所示。在該電路中,觸發電平與Di輸入的關系為:
V=VREF Di/2n
式中,n為D/A的位數,VREF為基準電壓。
利用D/A觸發電路能滿足觸發電平可調的要求,但會增加系統的復雜度。因此,應綜合考慮以上三個方案。
1.5 GAL和控制電路
a. GAL器件
GAL煟菠犉骷通常采用E2CMOS工藝制造,E2CMOS工藝的特點是可試驗性、低功耗、高速和立即可擦寫。目前最常用的GAL器件有GAL16V8和GAL20V8兩種系列,它們最多有8個輸出端(也可編程輸入),分別有16和20個輸入端。
GAL器件的特點如下:
● 方便編程,編程單元和邏輯配置可重復進行編程;
● 高性能的E2CMOS工藝使得器件的功耗很低(最大運行功耗為45mA),速度高(存取速度為15~25ns);輸出邏輯宏單元的配置使設計具有更大的靈活性;
●具有保密單元,可對程序進行加密以保護知識產權。
除此之外,GAL器件還具有輸出寄存器的預加載功能以及鎖定保護、輸入緩沖和加電復位等技術特性和功能。
筆者選用GAL16V8來完成圖4所示的邏輯功能。其GAL輸入輸出端口的邏輯關系為:
(abel語言)
Aout=(A0#A1#A2#A3);
Bout=!(B0#B1);
Cout1=!(C1);
Cout0=(C0&!S0#!C1&S0#!C2&S0);
系統中數字部分的邏輯關系均可由GAL來實現,這樣不但可使電路得到簡化,同時也可以提高系統的可靠性。
b. 數字控制電路
圖5所示是該系統中數字控制電路的工作原理圖。當系統工作于實時顯示模式時,CPU首先對所有控制電路進行復位,并使地址計數開始,然后在每一個時鐘完成A/D的數據輸出、寫入RAM和D/A直接輸出。直到地址溢出(滿屏顯示所需數據量)后,再將寫RAM地址計數信號禁止,同時給出CPU存儲完畢信號。
當系統進行波形鎖存時,A/D將停止工作,并將滿屏所需的數據量存于RAM中,此后計數器只需給出地址,即可由D/A輸出波形。
在進行波形移動時,如果在鎖存信號方式的基礎上一屏顯示未定,那么,CPU將對地址預置數+N(或-N),并會在輸出波形后將新的預置數送入地址口線,此時的CPU可再設定下次顯示的首地址,這樣即可實現波形的左右移動,從而顯示出波形的任意一部分。
2 系統軟件設計流程
本波形存儲器系統的主程序分為初始化和鍵盤管理兩部分。圖6為其主程序框圖。其中初始化模塊主要是在系統加電后熗瓿啥緣テ機系統即外圍元件的初始化熑綞裕校櫻罰玻保鉤跏甲刺的設定、對定時器和DMA系統初始狀態的設定以及為系統變量賦值等。
由74LS148和74LS76組成的8按鍵鍵盤管理模塊由AT89C51采用查詢方式進行處理。為了提高系統的可靠性,此處沒有使用中斷方式。鍵盤管理的功能是根據按鍵的功能號和當前狀態來轉入相應的狀態,并執行有關功能模塊,然后進入下一次循環。為了方便鍵盤的管理,本設計專門開辟了一個8字節的RAM區作為鍵盤的管理控制區(這樣)每次處理鍵盤服務程序時只須訪問此區即可。
3 可靠性設計
為了提高本系統的可靠性,本設計還采用了以下幾項措施:
(1)采用監控電路。對單片機系統進行監控。筆者在設計時,采用的是MAX813微處理監控芯片,通過該芯片可使程序在進入死循環時能夠重新復位,從而保證了軟件系統運行的可靠性,同時,在系統軟件設計時,筆者還采用了軟件看門狗技術。
(2)在可靠性方面。系統初始化時,也已用單片機對所有端口
按各子模塊要求進行了相應設置。
(3)系統開啟后,存儲器會首先運行自檢程序,以檢查存儲單元。若發現有連續9個存儲單元已壞,則在數碼管上顯示“-error-”,否則顯示“success”。
【簡易數字波形存儲器的實現的論文】相關文章:
一種簡易數字波形存儲器的實現05-01
遙測數字接口的研究與實現05-02
存儲器類型綜述及DDR接口設計的實現05-01
地震波形數據實時監控軟件的實現05-02
基于閃存的星載大容量存儲器的研究和實現05-01
數字國防三維建模的設計與實現04-28
在SUSE Linux系統下通過ADSL網絡實現地震波形瀏覽05-01
論文數字用法寫作要求04-30