王中源 張金龍
摘? 要:設計了一種高精度脈沖信號測試儀,可高效測量脈沖信號的一系列參數(shù)。充分利用STM32單片機的性能優(yōu)勢,采用等精度測量等方法,切實改善了測量效率與質量。由實驗所得數(shù)據(jù)表明,該測試儀具有較高精密度和較低誤差率。可運用于電子信號測試,自動控制等領域。
關鍵詞:STM32單片機;脈沖信號;等精度測量
中圖分類號:TM935.4 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)10-0031-02
Abstract: A high-precision pulse signal tester is designed to measure a series of parameters of pulse signal efficiently, make full use of the performance advantages of STM32 microcontroller, and use equal precision measurement and other methods, thus improving the measurement efficiency and quality. The data obtained from the experiment show that the tester has a high precision and lower error rate and can be used in electronic signal testing, automatic control and other fields.
Keywords: STM32 microcontroller; pulse signal; equal precision measurement
引言
在電子技術的日新月異的當代社會,通信水平提高的同時,對技術也提出了更高的要求。在傳統(tǒng)方法中,一般使用示波器對脈沖信號進行測量。但對于類似雷達信號等條件較為特殊的脈沖信號,傳統(tǒng)的示波器很難做到精確測量。面對以上問題,本文利用STM32增強型單片機的性能特性研究設計出了一種以上述單片機為核心的測試儀,以此對脈沖信號的一系列參數(shù)進行更加全面,更加精密地測量。
1 硬件電路設計
脈沖信號測試儀如圖1所示,核心為STM32單片機,其他部分由電源電路、鍵盤電路、顯示器、通信電路、頻率與占空比及幅值與上升時間調理電路、采樣控制電路等構成。其中,核心部件選用STM32(32位)增強型單片機[1],該單片機運算速率快、計算精密度高、功率損耗低,提高計算脈沖信號參數(shù)的質量與速率。
圖2為電源電路,選取SPX1117電壓轉換芯片,單片機的電源電壓就是取自該芯片將5V的電壓轉換為3.3V的電壓。
圖1 脈沖信號參數(shù)測試儀硬件框圖
如圖3所示為脈沖信號調理電路。調理電路是用來處理由于電源電壓為3.3V所引起的脈沖信號幅值問題。通過LM393比較器可以實現(xiàn)脈沖信號幅值處理,即將其全部轉化為3.3V的方波信號。最終,方波信號通過單片機,進行一系列測量。
考慮到常用的頻率測量法和周期測量法不能達到測量所要求的精度,因此運用等精度測量法。保證采樣時間為被測信號周期時長的整數(shù)倍。通過圖4a中兩個組合的D觸發(fā)器后,采樣為兩倍的被測信號周期。如圖4b所示,以上升沿和下降沿到來作為驅動信號,單片機分別對內部時鐘信號和被測信號進行和停止計數(shù),隨后由設備顯示出的測量數(shù)據(jù)進行轉換與計算。
2 軟件設計
2.1 測量頻率
考慮到使用等精度測量方法后,采樣時間是被測信號周期的整數(shù)倍[2],就消除了對被測信號產(chǎn)生的±1周期誤差。再利用數(shù)學公式推導:在計數(shù)時間內,分別同時對單片機中的標準時鐘信號和被測信號進行計數(shù),則有被測信號頻率用公式可表示為f=■ (1)
(f0為單片機標準時鐘信號頻率,N0為單片機時鐘信號計數(shù)值,N為被測脈沖信號計數(shù)值)。
(以下為對脈沖信號計數(shù)的設置)
TIM3_CH2為脈沖輸入口
1. 配置GPIO_GPIOA_PIN7 輸入
2. 配置TIM3 計數(shù)器在TI2 端的上升沿計數(shù):
(1). TIMx_CCMR1: CC2S =01;? 配置通道2檢測TI2輸入的上升沿
(2). TIMx_CCMR1:IC2F? =000;? 選擇輸入濾波器帶寬
(3). TIMx_CCER:? CC2P =0;? ? 配置上升沿極性
(4). TIMx_SMCR:? SMS? =111; 選擇定時器外部時鐘模式1
(5). TIMx_SMCR:? TS? ? =110;? 選擇TI2作為觸發(fā)輸入源
(6). TIMx_CR1:? ? CEN? =1;? ? 啟動計數(shù)器
2.2 占空比測量
占空比通過測量脈寬,利用公式原理,計算得出。運用脈沖計數(shù)法,用單片機時鐘脈沖分別對待測信號的高電平和低電平進行計數(shù),利用所得數(shù)據(jù)計算待測信號寬度,則占空比用公式可表示為?濁=(2)(NH為高電平計數(shù)值,NL為低電平計數(shù)值)。
2.3 幅值和上升沿時間測量
由于選用的STM32增強型單片機自帶A/D模塊,因此幅值和升高沿時間可直接得出測量結果。由圖1中測試儀構成可知,被測信號經(jīng)A/D轉換后輸入儀器,通過采樣控制電路進行篩選,當采樣數(shù)據(jù)小于某個值時,則將其視為低電平過濾舍去,剩余數(shù)據(jù)輸入單片機,保存于存儲器中,最后通過冒泡排序法求中位數(shù),此中位數(shù)為脈沖信號的幅值。
單片機以上升沿和下降沿到來作為驅動信號,當上升沿數(shù)值到達幅值的10%時,單片機斷開,計數(shù)器開始計數(shù),當上升沿數(shù)值到達幅值的90%時,計數(shù)器停止計數(shù)。則上升沿時間用公式可表示為?駐t=(3)(N0為計數(shù)器的計數(shù)值,f0為時鐘脈沖信號的頻率)。
3 儀器測試
由表1可見,對儀器的四項參數(shù)進行性能測試,得此數(shù)據(jù)。
4 結束語
設計的脈沖信號參數(shù)高精度測試儀以STM32單片機為核心,對以上四種參數(shù)的測量做出了一定的討論說明。通過詳細考察STM32增強型單片機的高效高性能的優(yōu)勢,設計此儀器高效精準地測量脈沖信號一系列參數(shù);在測量方法中,運用了等精度測量等等的一些方法,進一步提高了測量的效率與數(shù)據(jù)的精確性。研究測試所得數(shù)據(jù)可以發(fā)現(xiàn),測試儀具有較高精密度和較低誤差率。該測試儀可運用于電子信號測試,自動控制等領域。
參考文獻:
[1]李文濤,余福兵.基于STM32單片機的電阻爐智能溫度控制器的設計[J].化工自動化及儀表,2012,39(1):89-91.
[2]謝浪清.高速等精度頻率測量的研究[J].中國科技信息,
2006,15:304-306.