◆梁麗
基于單片機(jī)的波形采集、存儲(chǔ)與回放系統(tǒng)設(shè)計(jì)
◆梁麗
系統(tǒng)以單片機(jī)為核心,以低功耗運(yùn)放構(gòu)成輸入輸出電路,選用外部低功耗存儲(chǔ)芯片作存儲(chǔ),軟件系統(tǒng)控制外部A/D轉(zhuǎn)換器實(shí)現(xiàn)對(duì)輸入信號(hào)的采集、數(shù)據(jù)存儲(chǔ),并通過(guò)外部D/A轉(zhuǎn)換器實(shí)現(xiàn)對(duì)已采集信號(hào)的回放,系統(tǒng)的各種信息及采集波形信息由液晶顯示輸出。
單片機(jī);接口電路;波形采集
采用AT89C52單片機(jī)作為整個(gè)控制核心,通過(guò)軟件編程實(shí)現(xiàn)對(duì)模擬信號(hào)的采集、存儲(chǔ)數(shù)據(jù)的輸出以及各種測(cè)量、邏輯控制的功能?,F(xiàn)從系統(tǒng)單元電路設(shè)計(jì)、單片機(jī)與外部設(shè)備的接口電路設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì)的角度,闡述基于單片機(jī)的波形采集、存儲(chǔ)與回放系統(tǒng)的設(shè)計(jì)思想。
通道調(diào)理電路 將ADC0809轉(zhuǎn)換器的基準(zhǔn)電壓輸入端接至+5 V電源,它可對(duì)0~5 V的模擬信號(hào)進(jìn)行轉(zhuǎn)換。A通道輸入信號(hào)是單極性的,輸入電壓范圍為0~4 V,符合A/D轉(zhuǎn)換器對(duì)輸入信號(hào)的要求。A通道的輸入、輸出電路均選用電壓跟隨器,電壓跟隨器具有輸出電壓跟隨輸入電壓、輸入阻抗高、輸出阻抗低的特點(diǎn),使得整個(gè)通道的放大倍數(shù)為1。
B通道輸入信號(hào)是雙極性的,輸入電壓范圍為-50~+50 mV。為此,在B通道輸入端需將信號(hào)電壓由雙極性轉(zhuǎn)換為單極性,并調(diào)理為0~4 V電壓輸出,以匹配A/D轉(zhuǎn)換器的輸入電壓范圍;在B通道輸出端則需將信號(hào)電壓的極性和幅度范圍進(jìn)行還原。B通道輸入電路如圖1所示,它由三級(jí)運(yùn)放構(gòu)成:
第一級(jí)運(yùn)放構(gòu)成電壓跟隨器;
第二級(jí)運(yùn)放構(gòu)成反相比例電路,其交流放大倍數(shù)為-40,作用是將信號(hào)電壓由-50~+50 mV調(diào)理到+2~-2 V范圍內(nèi);
第三級(jí)運(yùn)放構(gòu)成反相求和電路,其交流放大倍數(shù)為-1,調(diào)節(jié)電位器給信號(hào)電壓+2 V的電平平移,將雙極性信號(hào)轉(zhuǎn)換為單極性,即將信號(hào)電壓由+2~-2 V調(diào)理到0~4 V范圍內(nèi)。
B通道輸出電路也由三級(jí)運(yùn)放構(gòu)成:
第一級(jí)運(yùn)放構(gòu)成電壓跟隨器;
第二級(jí)運(yùn)放構(gòu)成反相求和電路,其交流放大倍數(shù)為-1,調(diào)節(jié)電位器給信號(hào)電壓-2 V的電平平移,將單極性信號(hào)還原為雙極性,即將信號(hào)電壓由0~4 V調(diào)理到+2~-2 V范圍內(nèi);
第三級(jí)運(yùn)放構(gòu)成反相比例電路,其交流放大倍數(shù)為-0.025,作用是將信號(hào)電壓由+2~-2 V還原到-50~+50 mV范圍內(nèi)。
由此可見(jiàn),整個(gè)通道的放大倍數(shù)為1,滿足了信號(hào)回放的要求。
濾波、緩沖輸出電路 為了使產(chǎn)生的回放信號(hào)平滑且具有負(fù)載能力,采用濾波電路、輸出緩沖電路對(duì)D/A輸出的信號(hào)進(jìn)行后級(jí)處理。由于信號(hào)的頻率范圍為10 Hz~5 kHz,選用壓控電壓源二階低通濾波電路來(lái)濾除高頻噪聲;選用電壓跟隨器作為輸出緩沖電路,以提高電路帶負(fù)載能力。

圖1 B通道輸入電路
作者:梁麗,北京工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院副教授,研究方向?yàn)殡娮蛹夹g(shù)及應(yīng)用(100048)。

圖2 AT89C52單片機(jī)與ADC0809中斷方式的接口電路
外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 AT89C52內(nèi)部只有256 B RAM,需要擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。AT89C52擴(kuò)展一片32 K外部數(shù)據(jù)存儲(chǔ)器62256,數(shù)據(jù)線D0~D7直接與單片機(jī)的數(shù)據(jù)地址復(fù)用口P0相連,地址的低8位A0~A7由鎖存器74LS273獲得,地址的高7位A8~A14直接與單片機(jī)的A8~A14(P2.0~P2.6)相連,電路中用地址線A15(P2.7)來(lái)進(jìn)行片選。
A/D轉(zhuǎn)換器的接口電路 ADC0809采用逐次比較的方法完成A/D轉(zhuǎn)換,片內(nèi)帶有鎖存功能的8路選1的模擬開(kāi)關(guān),由C、B、A引腳上的編碼來(lái)決定所選的通道,AT89C52單片機(jī)與ADC0809中斷方式的接口電路如圖2所示。由于ADC0809具有三態(tài)輸出鎖存器,故可與單片機(jī)的數(shù)據(jù)總線直接相連,作為單片機(jī)的一個(gè)擴(kuò)展口;電路中用地址線P2.7來(lái)進(jìn)行片選,地址鎖存信號(hào)ALE、啟動(dòng)信號(hào)START及輸出允許信號(hào)OE分別由單片機(jī)讀寫(xiě)信號(hào)和P2.7通過(guò)或非門來(lái)控制;當(dāng)OE為邏輯1時(shí)選通三態(tài)門,使鎖存器中的A/D轉(zhuǎn)換結(jié)果送入地址總線;轉(zhuǎn)換結(jié)束信號(hào)EOC經(jīng)過(guò)反相器接單片機(jī)的中斷請(qǐng)求端P3.2,由外中斷服務(wù)程序讀A/D轉(zhuǎn)換結(jié)果,并啟動(dòng)下一次轉(zhuǎn)換[1]。
D/A轉(zhuǎn)換器的接口電路 DAC0832是具有內(nèi)部輸入數(shù)據(jù)寄存器和DAC寄存器的8位D/A轉(zhuǎn)換器,它能直接與AT89C52連接,可以有3種連接方式:直通方式、單緩沖方式和雙緩沖方式。
LCDI602模塊的接口電路 液晶顯示模塊選用LCDl602即可滿足系統(tǒng)顯示要求。LCDl602是一種專門用于顯示字母、數(shù)字、符號(hào)的點(diǎn)陣式LCD,顯示字符為16字×2行。單片機(jī)與LCDl602接口簡(jiǎn)單,使用靈活方便,控制程序簡(jiǎn)單,通過(guò)單片機(jī)向LCDl602寫(xiě)入相應(yīng)的命令和數(shù)據(jù),就可對(duì)顯示方式和顯示內(nèi)容做出選擇。
軟件采用模塊化程序設(shè)計(jì)方法構(gòu)建,軟件關(guān)鍵部分為信號(hào)采集、數(shù)據(jù)存儲(chǔ)子程序和顯示子程序。信號(hào)采集、數(shù)據(jù)存儲(chǔ)子程序控制A/D轉(zhuǎn)換進(jìn)行信號(hào)采集,并直接把數(shù)據(jù)送入內(nèi)存,顯示子程序把存儲(chǔ)在內(nèi)存中的數(shù)據(jù)送到D/A轉(zhuǎn)換,信號(hào)波形在示波器上回放,采集波形的周期、幅度等信息在液晶顯示器上顯示。
單片機(jī)是一個(gè)用于測(cè)控目的的微型計(jì)算機(jī),因此,只要在其外部適當(dāng)增加一些必要的外圍擴(kuò)展電路,就可以靈活地構(gòu)成各種應(yīng)用電路,如數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)和智能儀器儀表等。
[1]李廣第,朱月秀,等.單片機(jī)基礎(chǔ)(修訂本)[M].北京:北京航空航天大學(xué)出版社,2001.
G642
B
1671-489X(2016)18-0032-02
10.3969/j.issn.1671-489X.2016.18.032