張一荻
摘 要:設(shè)計(jì)了以STM32單片機(jī)為核心的脈沖信號(hào)參數(shù)測試儀,可測量脈沖信號(hào)的幅度、頻率、占空比、上升時(shí)間等參數(shù)。儀器利用STM32增強(qiáng)型單片機(jī)的高速、高精度運(yùn)算能力,可實(shí)現(xiàn)脈沖信號(hào)參數(shù)的高速精密采樣;采用的精度測量等一系列措施,有效提高了測量精度,縮短了測量時(shí)間。實(shí)驗(yàn)結(jié)果表明,研制的測試儀精度高、可靠性好、誤差率低,可用于電信號(hào)參數(shù)測量、儀器檢測等領(lǐng)域。
關(guān)鍵詞:STM32單片機(jī) 脈沖信號(hào) 精密測試 等精度測量
中圖分類號(hào):TP216 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)01(c)-0027-02
隨著現(xiàn)代電子技術(shù)的高速發(fā)展,對(duì)于脈沖信號(hào)測量精度和速度的要求也越來越高,尤其雷達(dá)信號(hào)等微弱脈沖信號(hào)的檢測[1-3]。但目前往往采用傳統(tǒng)示波器對(duì)脈沖信號(hào)進(jìn)行測試,這樣很難達(dá)到對(duì)脈沖信號(hào)參數(shù)的全面、精密測量。針對(duì)上述情況,該文設(shè)計(jì)了一種脈沖信號(hào)參數(shù)高精度測試儀,儀器以STM32增強(qiáng)型單片機(jī)為核心,利用STM32增強(qiáng)型單片機(jī)的高性能特性,可實(shí)現(xiàn)脈沖信號(hào)的幅度、頻率、占空比、上升時(shí)間等參數(shù)的高速高精度測量。
1 硬件電路設(shè)計(jì)
設(shè)計(jì)的脈沖信號(hào)參數(shù)測試儀如圖1所示,以單片微型計(jì)算機(jī)為核心,由信號(hào)調(diào)理電路、采樣控制電路、電源電路、鍵盤電路、通信電路、顯示器等組成。單片機(jī)選用32位的STM32增強(qiáng)型單片機(jī)[4], 該單片機(jī)的最高時(shí)鐘頻率為72 MHz,內(nèi)置8個(gè)定時(shí)/計(jì)數(shù)器和一個(gè)實(shí)時(shí)時(shí)鐘 RTC,并集成有3個(gè)12位的A/D轉(zhuǎn)換器、1個(gè)D/A轉(zhuǎn)換器和80個(gè)I/O口,其運(yùn)算速度快、計(jì)算精度高、功率消耗低,可高速高精度檢測脈沖信號(hào)的各個(gè)參數(shù)。
單片機(jī)電源電路如圖2所示,選用SPX1117 電壓轉(zhuǎn)換芯片,該芯片將5 V的電壓轉(zhuǎn)換為3.3 V的電壓,提供給單片機(jī),作為單片機(jī)的電源電壓。
考慮單片機(jī)的電源電壓為3.3 V,必須對(duì)被測的脈沖信號(hào)進(jìn)行幅值處理,脈沖信號(hào)調(diào)理電路如圖3所示,選用LM393比較器,比較器將輸入的不同幅值脈沖信號(hào)整形成3.3 V的方波信號(hào),再輸入單片機(jī),進(jìn)行頻率、占空比測量。
頻率測量采用等精度測量的方法,采樣時(shí)間為被測信號(hào)周期的整數(shù)倍。采樣電路如圖4所示,由兩個(gè)D觸發(fā)器構(gòu)成,經(jīng)兩個(gè)D觸發(fā)器的觸發(fā)后,將被測信號(hào)轉(zhuǎn)換成一個(gè)采樣信號(hào),采樣信號(hào)高電平的寬度為被測信號(hào)周期的2倍,當(dāng)采樣信號(hào)上升沿到來時(shí),單片機(jī)開始對(duì)片內(nèi)時(shí)鐘信號(hào)和被測信號(hào)進(jìn)行計(jì)數(shù);當(dāng)下降沿到來時(shí),停止計(jì)數(shù)。然后根據(jù)兩個(gè)計(jì)數(shù)器的計(jì)數(shù)值和時(shí)鐘信號(hào)的頻率,即可計(jì)算出被測信號(hào)的頻率。
2 軟件設(shè)計(jì)
2.1 測量頻率
測量頻率采用等精度測量的方法[5],采樣時(shí)間是被測信號(hào)周期的整數(shù)倍,與被測信號(hào)同步,由此消除對(duì)被測信號(hào)計(jì)數(shù)所產(chǎn)生的±1個(gè)字誤差,實(shí)現(xiàn)整個(gè)測試頻段的等精度測量。在采樣時(shí)間段,計(jì)數(shù)器分別對(duì)單片機(jī)時(shí)鐘脈沖信號(hào)和被測脈沖信號(hào)進(jìn)行計(jì)數(shù),設(shè)時(shí)鐘脈沖信號(hào)的頻率為,時(shí)鐘脈沖信號(hào)的計(jì)數(shù)值為N0,被測脈沖信號(hào)的計(jì)數(shù)值為N,則被測信號(hào)的頻率為:
(1)
2.2 占空比測量
測量占空比采取直接測量脈寬的方法。利用脈沖計(jì)數(shù)法,分別對(duì)待測信號(hào)的高電平和低電平用單片機(jī)時(shí)鐘脈沖進(jìn)行計(jì)數(shù),根據(jù)脈沖數(shù)目計(jì)算待測信號(hào)寬度。設(shè)高電平計(jì)數(shù)值為NH,低電平計(jì)數(shù)值為NL,則占空比為:
(2)
2.3 幅值和上升沿時(shí)間測量
脈沖信號(hào)幅值和上升沿時(shí)間直接通過單片機(jī)直接檢測,如圖1所示,被測信號(hào)經(jīng)A/D轉(zhuǎn)換后輸入單片機(jī),單片機(jī)對(duì)轉(zhuǎn)換后的數(shù)字量進(jìn)行采樣,若采樣結(jié)果低于某個(gè)值則認(rèn)為是低電平直接舍去,將剩余的數(shù)據(jù)存入單片機(jī)的數(shù)據(jù)存儲(chǔ)器中,再利用冒泡排序法求中位數(shù),即為脈沖信號(hào)的幅值。
在測量占空比時(shí),當(dāng)單片機(jī)檢測上升沿?cái)?shù)值達(dá)到10%幅值時(shí),發(fā)出中斷,觸發(fā)計(jì)數(shù)器計(jì)數(shù),當(dāng)單片機(jī)檢測上升沿?cái)?shù)值達(dá)到90%幅值時(shí),則計(jì)數(shù)器停止計(jì)數(shù)。設(shè)計(jì)數(shù)器的計(jì)數(shù)值為N0,時(shí)鐘脈沖信號(hào)的頻率為,則上升沿時(shí)間為:
(3)
3 實(shí)驗(yàn)測試
對(duì)設(shè)計(jì)的儀器進(jìn)行了頻率、占空比、幅值和上升時(shí)間測量功能的性能測試,測試數(shù)據(jù)如表1所示。
由表1可見,儀器能夠測量脈沖信號(hào)的頻率為10 Hz~5 MHz,誤差值小于0.01%;占空比為10%~90%,誤差值小于0.02%;幅度為0.1~10 V,誤差值小于0.1%;脈沖上升時(shí)間為100~900 ns,誤差值小于1%。
4 結(jié)語
設(shè)計(jì)的以STM32單片機(jī)為核心的脈沖信號(hào)參數(shù)測試儀,可測量脈沖信號(hào)的幅度、頻率、占空比、上升時(shí)間等參數(shù)。儀器利用STM32增強(qiáng)型單片機(jī)的高速高精度性能,可實(shí)現(xiàn)脈沖信號(hào)參數(shù)的快速精密測試;采用等精度測量等一系列措施,有效提高了測量精度,縮短了測量時(shí)間。實(shí)驗(yàn)結(jié)果表明,研制的測試儀精度高、可靠性好、誤差率低,可用于電信號(hào)參數(shù)測量、儀器檢測等領(lǐng)域。
參考文獻(xiàn)
[1] 徐文強(qiáng),任勇峰,文豐.基于FPGA的高速脈沖信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(2):229,251-252.
[2] 高曉陽,劉成忠.基于單片機(jī)的數(shù)字信號(hào)測試分析儀[J].甘肅農(nóng)業(yè)大學(xué)學(xué)報(bào),2006,41(2):95-97.
[3] 任勇峰,安榮,李圣昆.基于FPGA的雷達(dá)信號(hào)處理器測試臺(tái)McBSP接口設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2009(2):24-26.
[4] 李文濤,余福兵.基于STM32單片機(jī)的電阻爐智能溫度控制器的設(shè)計(jì)[J].化工自動(dòng)化及儀表,2012,39(1):89-91.
[5] 謝浪清.高速等精度頻率測量的研究[J].中國科技信息,2006(15):304-306.