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