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