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

圖1 B通道輸入電路
作者:梁麗,北京工商大學計算機與信息工程學院副教授,研究方向為電子技術及應用(100048)。

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