摘 要:文章完成了一款基于單片機(jī)STC12C5A60S2的波形采集存儲(chǔ)與回放控制系統(tǒng),其中單片機(jī)是整個(gè)控制系統(tǒng)的核心,結(jié)合AT24C04存儲(chǔ),可靠地實(shí)現(xiàn)對(duì)兩路外部信號(hào)進(jìn)行采集與存儲(chǔ)。系統(tǒng)分為軟件和硬件兩個(gè)部分。硬件電路主要包括單片機(jī)的外圍基本模塊、按鍵電路、波形采集回放電路等。軟件部分包括了按鍵觸發(fā)、信號(hào)存儲(chǔ)、數(shù)模信號(hào)轉(zhuǎn)換程序設(shè)計(jì)。
關(guān)鍵詞:波形;存儲(chǔ);回放
引言
波形采集回放系統(tǒng)是目前檢測(cè)電子電路的重要技術(shù)手段,已廣泛應(yīng)用于各式各樣的技術(shù)行業(yè),例如電力系統(tǒng)、醫(yī)療系統(tǒng)、教學(xué)科研系統(tǒng)等等。但隨著工作環(huán)境的日益復(fù)雜,傳統(tǒng)的示波器在狹小的空間中已不能滿足測(cè)量要求,因此設(shè)計(jì)一款輕便的數(shù)字濾波器對(duì)特殊工業(yè)環(huán)境有著較高的應(yīng)用價(jià)值。
1 系統(tǒng)參數(shù)設(shè)計(jì)
首先,需對(duì)系統(tǒng)實(shí)現(xiàn)的功能和相關(guān)參數(shù)進(jìn)行設(shè)計(jì)。要求能同時(shí)采集兩路周期信號(hào)波形,系統(tǒng)斷電恢復(fù)后,能連續(xù)回放已采集的信號(hào),顯示在示波器上。并且能完成對(duì)A通道單極性信號(hào)(高電平約4V、低電平接近0V)、頻率約1kHz信號(hào)的采集、存儲(chǔ)與連續(xù)回放。此外,要求系統(tǒng)輸入阻抗不小于10kΩ,輸出阻抗不大于1kΩ。采集、回放時(shí)能測(cè)量并顯示信號(hào)的高電平、低電平和信號(hào)的周期。原信號(hào)與回放信號(hào)電平之差的絕對(duì)值≤50mV,周期之差的絕對(duì)值≤5%。
2 系統(tǒng)方案設(shè)計(jì)
采樣方式選擇:等效時(shí)間采樣雖然可以對(duì)很高頻率的信號(hào)進(jìn)行采樣,可是步進(jìn)延遲的采樣技術(shù)與電路較為復(fù)雜。再者,它只限于處理周期信號(hào),而且對(duì)單次觸發(fā)采樣無(wú)能為力。實(shí)時(shí)采樣可以實(shí)現(xiàn)整個(gè)頻段的全速采樣。實(shí)時(shí)采樣是在信號(hào)存在期間對(duì)其采樣。根據(jù)采樣定理,采用速率必須高于信號(hào)最高頻率分量的兩倍。對(duì)于周期的正弦信號(hào),一個(gè)周期內(nèi)應(yīng)該大于兩個(gè)采樣點(diǎn)。為了不失真地恢復(fù)原被測(cè)信號(hào),通常一個(gè)周期內(nèi)就需要采8個(gè)點(diǎn)以上,故文章采用實(shí)時(shí)采樣方式。
A/D、D/A轉(zhuǎn)換方式選擇:采用芯片PCF8591轉(zhuǎn)換,其具有IIC接口,AIN0~AIN3四個(gè)模擬輸入通道和一個(gè)模擬輸出通道,最多可以有8片8591連接到IIC總線??赏ㄟ^(guò)時(shí)鐘線SCL和數(shù)據(jù)線SDA與單片機(jī)之間的數(shù)據(jù)進(jìn)行傳輸。
觸發(fā)方式選擇:要使屏幕上顯示穩(wěn)定的波形,需將被測(cè)信號(hào)本身或者與被測(cè)信號(hào)有一定時(shí)間關(guān)系的觸發(fā)信號(hào)加到觸發(fā)電路。觸發(fā)源選擇確定觸發(fā)信號(hào)由何處供給。通常有三種觸發(fā)源:內(nèi)觸發(fā)(INT)、電源觸發(fā)(LINE)、外觸發(fā)(EXT)。文章采用內(nèi)觸發(fā)方式,即使用被測(cè)信號(hào)作為觸發(fā)信號(hào)。通過(guò)比較器LM358將被測(cè)波形信號(hào)和觸發(fā)電平進(jìn)行比較,大于觸發(fā)電平時(shí)輸出為高電平,小于觸發(fā)電平時(shí)則輸出低電平,即可得到信號(hào)被整形后的脈沖序列,再在該脈沖序列的上升沿開(kāi)始存儲(chǔ)波形即實(shí)現(xiàn)了觸發(fā)存儲(chǔ)的功能。這種觸發(fā)方式穩(wěn)定,故采用了這種方案。
3 硬件設(shè)計(jì)
如圖1所示,設(shè)計(jì)了A、B雙通道波形輸入通道,進(jìn)行A/D轉(zhuǎn)換后,存儲(chǔ)并顯示在示波器上。波形回放時(shí),將波形進(jìn)行D/A轉(zhuǎn)換再由雙通道輸出回放。
如圖2所示,設(shè)計(jì)了以PCF8591為核心的波形采集回放電路。將其輸出口接在示波器通道上便于觀測(cè)波形。AOUT為D/A 轉(zhuǎn)換輸出端,AIN0~AIN3為A/D的模擬信號(hào)輸入端,輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過(guò)雙線雙向I2C總線以串行的方式進(jìn)行傳輸。此外,還設(shè)計(jì)了回放按鍵,按下按鍵即可進(jìn)行波形回放。
如圖3所示,液晶顯示屏LCD用來(lái)顯示電壓幅值和信號(hào)周期。LCD1602數(shù)據(jù)D0~D7接 AT89S51的P0口,RS\RW\E分別接位接AT89S51的P2.0、P2.1、P2.2接口。
如圖4所示,在進(jìn)行波形采集時(shí)要把三角波和正弦波轉(zhuǎn)換成矩形波。利用LM358將正弦波、三角波轉(zhuǎn)換成矩形波,將輸出的波形通過(guò)PNP三極管,CPU輸出高電平時(shí)三極管關(guān)斷;CPU輸出低電平時(shí),三極管導(dǎo)通,從而輸出波形。
4 系統(tǒng)軟件設(shè)計(jì)
電路硬件設(shè)計(jì)了一個(gè)回放鍵,按下時(shí)即可依次進(jìn)入回放已采集的信號(hào)狀態(tài),該系統(tǒng)將1ms的采樣波形進(jìn)行循環(huán)回放(重現(xiàn))。在采集時(shí)可改變幅值,并且采集到的數(shù)據(jù)也會(huì)同時(shí)在回放的時(shí)候變化。在回放時(shí),若按下回放鍵,將停止波形的回放;若按下采集鍵,將終止當(dāng)前波形的回放,并采集新的波形。如圖5所示,在回放鍵按下時(shí),進(jìn)行波形回放同時(shí)液晶顯示屏顯示波形相關(guān)數(shù)據(jù)。
LCD軟件設(shè)計(jì):LCD液晶顯示數(shù)據(jù)存放在內(nèi)存單元5EH~6CH中。其中5EH-66H存放LCD上排顯示,67H~6CH存放LCD下排顯示。從P0口輸出數(shù)據(jù),由P2.0~P2.1對(duì)LCD進(jìn)行數(shù)據(jù)操作選擇,就能顯示該地址單元的數(shù)據(jù)值。
A/D轉(zhuǎn)換軟件設(shè)計(jì):PCF8591采用典型的I2C總線接口器件尋址方法,在進(jìn)行數(shù)據(jù)操作時(shí),首先是主控器發(fā)出起始信號(hào),然后發(fā)出讀尋址字節(jié),被控器做出應(yīng)答后,主控器從被控器讀出第一個(gè)數(shù)據(jù)字節(jié),主控器發(fā)出應(yīng)答,主控器從被控器讀出第二個(gè)數(shù)據(jù)字節(jié),主控器發(fā)出應(yīng)答,直到主控器從被控器中讀出第n個(gè)數(shù)據(jù)字節(jié),主控器發(fā)出非應(yīng)答信號(hào),最后主控器發(fā)出停止信號(hào)。
5 結(jié)束語(yǔ)
經(jīng)過(guò)軟硬件調(diào)試,系統(tǒng)可處理的正弦波信號(hào)頻率范圍限定10Hz~10kHz,三角波信號(hào)頻率范圍限定在10Hz~2kHz,方波信號(hào)頻率范圍限定在10Hz~1kHz。該設(shè)計(jì)簡(jiǎn)單,能穩(wěn)定實(shí)現(xiàn)波形采集存儲(chǔ)以及回放功能,功耗低,體積小,具有一定的應(yīng)用價(jià)值。