張本俊
摘 要:本文利用STM32微處理器為控制核心,結合外部信號處理單元,提出了A/D采樣的定時器控制法,利用微處理器定時器的 PWM 輸出模式作為系統A/D采樣的觸發源,并利用 DMA 技術進行采樣數據輸送,形成了以定時器控制 A/D 采樣、DMA 數據輸送,最終將在 TFT 上面顯示波形信息。與現有數字示波器相比,該數字示波器系統具有性價比高、可操控性好、低功耗、便攜方便等
優點。
關鍵詞:數字示波器 STM32 觸發 采樣速率 定時器控制 直接內存存取
示波器是電子測量行業最常用的測量儀器之一,用來測量并顯示被測信號的波形等參數,在很多領域得到廣泛的應用。現有示波器模擬帶寬頻率更高,作為示波器的衡量技術指標,其重要性顯而易見;同時為不斷滿足行業測試標準,特別是電源設計領域,電子設計工程師在技術開發的過程中每天要面臨著新技術帶來的挑戰。
1 系統總體方案設計
示波器接上電池或外接DC電源,打開開關,如果白屏或花屏,按復位鍵重啟;S-和S+為時間軸加減鍵;V-和V+為電壓幅度加減鍵;在關機狀態下按住出廠設置鍵,不松手,再開機然后松開‘出廠設置鍵,這樣所有的設置回到初始化狀態;顯示功能菜單鍵顯示與隱藏;AUTO(自動)和HOLD(保持)按鍵為狀態轉換,按一下保持波形靜止狀態,具體性能參數如下:
最高實時取樣率:1Msps;精度:12位ADC取樣;模擬帶寬輸入:最大200KHz;輸入阻抗:0-2MΩ;最高輸入電壓:16Vpp(10:1探頭和標準探頭),150Vpp(100:1探頭);信號耦合方式:DC/AC/GND;自帶1KHz /3.3V方波測試信號源與LCD背光調節;
2 系統硬件設計
根據系統的功能需求,系統結構主要包括:STM32最小系統模塊,電源電路模塊設計,信號處理模塊,模式選擇模塊,顯示器模塊,AD轉換模塊,按鍵輸入模塊等。
2.1電源電路的設計
用LM7805 供電,外側加5 V電壓,經過LM7805 穩壓后,ASM1117將5 V的降壓到3.3 V,ASM1117 通過輸出電壓采樣,反饋調節并作用輸出阻抗上,輸出電壓的高低與輸出級阻抗的壓降大小成反比。ASM1117 外圍電路簡單,幾乎是由電容構成進行濾波,使電壓紋波達到最小,低頻率的紋波采用容值相比高比率的電容對其進行濾波,高頻率的紋波采用容值相比低頻率的電容對其進行濾波。
2.2 信號處理模塊
阻容衰減電路由電阻、電容網絡組成,完成對信號的最佳補償及1倍程衰減、10倍程衰減的選擇。程控放大電路采用RC電路,分別外接不同阻值電阻和不同容值電容,選擇不同通道上電阻與 TL082 芯片組成反比例放大電路,實現對輸入信號的放大。
2.3 顯示器模塊的設計
采用 TFT 屏作為人機交互界面。移入嵌入式圖形界面UCGUI,實現全觸摸人機界面、多級菜單設計,省去部分外圍硬件電路設計,減小數字示波器體積。同時,運用 PWM 技術,智能調節 TFT 屏幕亮度,自動降低能耗。不同產品使用不同的顯示方式。本次設計考慮高效、亮度高真,因此采用3.2寸TFT 顯示屏。
2.4 按鍵輸入模塊
● 復位電路設計:當reset 被拉低時有效,當reset為高時,不復位。
● 接上電池或外接DC電源開關鍵;
● 復位鍵:白屏或花屏情況下按復位鍵重啟;
● S-和S+為時間軸加減鍵;
● V-和V+為電壓幅度加減鍵;
● 恢復出廠設置鍵
● 顯示功能菜單鍵:顯示與隱藏
3 系統程序設計
配置微處理器的通用定時器為 PWM 輸出模式, 作為 ADC 的觸發源,通過重裝計數器值來調節系統采樣速率, 采樣值由 DMA 控制器輸送后,進行波形重建; 配置微處理器的高級定時器為輸入捕獲模式,實現對信號頻率、周期、占空比等參數測量。
3.1 . A/D 采樣數據的 DMA 輸送
STM32F103x系列MCU提供了固件庫,包括ADC在內的各種功能模塊的軟件使用接口, ADC的配置代碼如下:
1. ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //獨立ADC模式
2. ADC_InitStructure.ADC_ScanConvMode = DISABLE ; //禁止掃描模式
3. ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //連續轉換模式 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不用外部觸發
4. ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //采集數據右對齊
5. ADC_InitStructure.ADC_NbrOfChannel = 1; //要轉換的通道數目1
6. ADC_Init(ADC1, &ADC;_InitStructure);
3.2. 鍵盤控制設計
利用4個按鍵來選擇波形的放大和縮小,按鍵采用外部中斷方式。其中K1和K2來調整波形顯示的高度比例, K3和K4來改變采樣間隔增加或減少一個周期內采樣點數,達到控制水平掃描速度,使低頻率波形完整顯示。當檢測到K1時,波形幅度系數置為2,當檢測到K2時,波形幅度系數置為1/2,否則波形幅度系數為1,以此控制幅度的放大和縮小。當檢測到K3、K4時,采樣函數中分別加入不同的延時函數來拉長或縮短波形。
結論
本次設計采用 STM32F103 為主控制器,使用信號調理電路之后通過內部 AD 采樣,利用 Cortexm3 內核的獨特的 FPU 進行運算,分析、處理數據,存儲數據, 最終將在 TFT 上面顯示,并通過不同功能按鍵實現幅值、測量頻率等功能。與現有數字示波器相比,該數字示波器系統具有性價比高、可操控性好、低功耗、便攜方便等優點。
參考文獻:
[1] 姜瑞. 基于STM32F103ZET6數字示波器設計[J]. 北京: 集成電路應用, 2017, 1.
[2] 丁紅斌等.基于STM32的虛擬示波器的設計與實現[J]. 電子器件, 2009.12:1007-1010.
[3] 劉帥, 張浩然. 基于STM32的便攜式多功能數字示波器設計[M].微型機與應用, 2015.