賈 鑫,蔣 濤
(紹興文理學(xué)院元培學(xué)院信息與機(jī)電工程分院 浙江 紹興 312000)
傳統(tǒng)方法只能通過(guò)頻譜分析儀或?qū)S脙x器來(lái)實(shí)現(xiàn)對(duì)接收到的原始數(shù)據(jù)進(jìn)行分析計(jì)算,而這些設(shè)備往往具有較高的成本,并且還不能根據(jù)實(shí)際情況及時(shí)做出修改,從而導(dǎo)致了失真度檢測(cè)效率較低并容易受硬件限制。本文基于MSP432處理器內(nèi)核和現(xiàn)場(chǎng)可編程門陣列(field programmable gate array,FPGA)芯片以及ARM板所組成的混合系統(tǒng)可以有效地實(shí)現(xiàn)失真度檢測(cè);FPGA芯片主要用于對(duì)數(shù)據(jù)采集和轉(zhuǎn)換以及數(shù)字控制過(guò)程中所需要執(zhí)行的計(jì)算進(jìn)行處理;ARM板是作為MSP432運(yùn)行環(huán)境所需要使用的。同時(shí)通過(guò)Wi-Fi模塊和串口屏實(shí)現(xiàn)了多樣的人機(jī)交互。能夠比傳統(tǒng)的測(cè)量?jī)x有著更高的精度和實(shí)用性。
本設(shè)計(jì)主要可以分為硬件部分與軟件部分,硬件部分用于輔助軟件部分完成失真信號(hào)的運(yùn)輸與非失真的加工,使信號(hào)更加易于單片機(jī)的采集與處理;軟件部分的主要作用是將采集來(lái)的失真信號(hào)數(shù)據(jù)進(jìn)行處理,通過(guò)頻域變換來(lái)分析與計(jì)算失真信號(hào)的失真度與相關(guān)參數(shù),最后通過(guò)顯示屏設(shè)備和上位機(jī)來(lái)實(shí)現(xiàn)信號(hào)相關(guān)數(shù)據(jù)的顯示??傮w方案整體框架如圖1所示。
圖1 總體方案整體框架圖
本系統(tǒng)采用FPGA信號(hào)采集控制器電路、MSP432數(shù)據(jù)處理器電路、跟隨器電路、放大電路、比較器電路、Wi-Fi模塊電路組成。該設(shè)計(jì)的測(cè)量核心是信號(hào)的失真度大小,信號(hào)失真度是指在時(shí)域上的波形發(fā)生畸變,信號(hào)有了新的頻域成分。由于本次設(shè)計(jì)中要求失真信號(hào)的頻率范圍相對(duì)較寬,所以通過(guò)對(duì)信號(hào)頻率統(tǒng)計(jì)反饋實(shí)現(xiàn)不同頻率采樣速率采集來(lái)解決。MSP432單片機(jī)的片內(nèi)ADC采樣的范圍是0~3.3 V,而現(xiàn)實(shí)中的信號(hào)常常電壓幅度變化范圍不在此區(qū)間之內(nèi),所以需要通過(guò)硬件電路處理后再采集。顯示部分通過(guò)異步串口(Uart)與顯示器通信可以減少引腳的配置從而降低實(shí)現(xiàn)的難度與邏輯的復(fù)雜程度,通過(guò)Wi-Fi模塊與手機(jī)相連,制作上位機(jī)小程序接受通過(guò)Wi-Fi發(fā)送的數(shù)據(jù)信息。
為提高測(cè)量精度,選用LMH6643MA作為輸入放大器,查L(zhǎng)MH6643MA數(shù)據(jù)手冊(cè)可知,放大器5倍放大量時(shí)帶寬遠(yuǎn)大于1 MHz,滿足對(duì)100 KHz方波信號(hào)的不失真放大需求。由于MSP432單片機(jī)片內(nèi)ADC采樣電壓為0~3.3 V,需使用電壓正向偏置的單電源運(yùn)放供電電路以確保被采樣信號(hào)的電壓幅值可以被正確采樣。電路處理效果如式(1)所示:
(1)
為了適應(yīng)更寬的幅值范圍,將40~600 mV電壓范圍劃分成兩個(gè)區(qū)間放大,較大電壓區(qū)間的放大倍數(shù)為5倍,較小電壓區(qū)間的放大倍數(shù)15倍。為簡(jiǎn)化計(jì)算過(guò)程,將偏置電壓Vtg設(shè)置為3.3 V,正相偏置電壓設(shè)置為1.65 V左右,以充分利用片內(nèi)ADC采樣范圍。將偏置部分參數(shù)代入式(1)得式(2):
(2)
解得較大電壓幅值部分得Rdian為11k(歐姆),較小電壓幅值部分得Rdian為32k(歐姆)。為了降低因?yàn)轭l譜泄露對(duì)諧波測(cè)量精度的影響,整形模塊的采樣率應(yīng)確保是被測(cè)信號(hào)的整數(shù)倍,所以,輸入電路要有測(cè)量頻率功能,電路如圖2所示。
圖2 硬件電路設(shè)計(jì)圖
該電路包括大信號(hào)和小信號(hào)放大電路、整形電路。小信號(hào)放大電路的比較器前加電壓跟隨器,隔離了電路的單向放大和比較器部分,提高了系統(tǒng)的穩(wěn)定性。為提高信號(hào)準(zhǔn)確性,信號(hào)在經(jīng)過(guò)放大后串聯(lián)一對(duì)大小分別為10 uF與100 nF的電容進(jìn)行濾波,去除高頻和低頻噪聲信號(hào)。整形電路將正弦波轉(zhuǎn)為方波,方便頻率采集。
放大電路參數(shù)計(jì)算如式(3)、(4)、(5)、(6)、(7)所示:
(3)
(4)
(5)
(6)
(7)
對(duì)于輸入信號(hào)的幅值在100~300 mV之間的信號(hào),放大倍數(shù)為10倍左右,即設(shè)置放大電阻(R4)的大小為10k(歐姆);對(duì)于輸入信號(hào)的幅值在15~100 mV之間的信號(hào),放大倍數(shù)應(yīng)該為30倍左右,即設(shè)置放大電阻(即R4)的大小為30k(歐姆)。
計(jì)算過(guò)程推導(dǎo)如式(8)、(9)、(10)、(11)所示
(8)
(9)
當(dāng)輸出電壓由低電平變成高電平時(shí)
(10)
當(dāng)輸出電壓由高電平變成低電平時(shí)
(11)
軟件部分通過(guò)對(duì)硬件部分產(chǎn)生的信號(hào)進(jìn)行采樣與數(shù)據(jù)處理,從而得到所需要的基于標(biāo)準(zhǔn)正弦波的失真度值。這一部分總體的流程可分為系統(tǒng)初始化,AD采樣,FFT,處理數(shù)據(jù)計(jì)算總諧波失真和串口屏與Wi-Fi模塊組成。流程如圖3所示。
圖3 軟件總體流程圖
1.4.1 頻率采集與ADC采樣率調(diào)整
由于FFT需要至少一個(gè)完整的信號(hào)周期,但是在采集不同頻率信號(hào)時(shí),如采集低頻信號(hào)時(shí)無(wú)法采集一個(gè)完整的信號(hào)周期;采集高頻信號(hào)時(shí)會(huì)重復(fù)采集多個(gè)信號(hào)周期。所以通過(guò)先采集失真信號(hào)的頻率,再根據(jù)失真信號(hào)的頻率針對(duì)性地配置片內(nèi)ADC的采樣頻率,這樣做既能滿足采集一個(gè)完整周期的信號(hào),同時(shí)也能得到較合理的ADC采樣點(diǎn)數(shù),以用于FFT分析。
1.4.2 數(shù)據(jù)采集與存儲(chǔ)
當(dāng)采集完數(shù)據(jù)時(shí),一般都會(huì)將他們用于后續(xù)的處理,當(dāng)數(shù)據(jù)采集頻率較低時(shí),單片機(jī)處理數(shù)據(jù)的時(shí)間可以滿足小于兩次數(shù)據(jù)采集的時(shí)間間隔,但是當(dāng)數(shù)據(jù)采集速率較高時(shí),就會(huì)出現(xiàn)單片機(jī)處理一個(gè)數(shù)據(jù)的時(shí)間大于兩次數(shù)據(jù)采集的時(shí)間間隔,這時(shí)就容易出現(xiàn)數(shù)據(jù)不能正常處理與數(shù)據(jù)丟失的問(wèn)題,為了確保后期數(shù)據(jù)處理的有效性,采用了先將數(shù)據(jù)存儲(chǔ)起來(lái),再調(diào)用內(nèi)存對(duì)采集的數(shù)據(jù)進(jìn)行批量處理的方法。
1.4.3 FFT與數(shù)據(jù)分析
此部分是本設(shè)計(jì)的核心部分,在信號(hào)出現(xiàn)失真現(xiàn)象的時(shí)候,它的頻譜圖上就會(huì)出現(xiàn)與基波頻率不相同的部分,而FFT恰好具有將周期信號(hào)隨時(shí)間變化的特性轉(zhuǎn)換成頻譜圖的特性,因此這一部分的操作是通過(guò)FFT將時(shí)域上的失真信號(hào)轉(zhuǎn)換成頻域上的頻譜圖,再通過(guò)頻譜圖來(lái)分析失真信號(hào)的失真情況。FFT與頻譜分析框架如圖4所示。
圖4 FFT框架示意圖
FFT是信號(hào)分析和處理的重要工具。離散時(shí)間信號(hào)變格式,x(n)的連續(xù)傅里葉變換定義為式(12)[2]:
(12)
式(12)中,X(ejω)是一個(gè)連續(xù)函數(shù),不能直接在計(jì)算機(jī)上做數(shù)字運(yùn)算。為了在計(jì)算機(jī)上實(shí)現(xiàn)頻譜分析,必須對(duì)x(n)的頻譜作離散近似。有限長(zhǎng)離散信號(hào)x(n),n=0, 1,…,N-1的離散傅里葉變換(DFT)定義為式(13):
(13)
經(jīng)過(guò)分解后可以得到:式(14)為K為偶數(shù),式(15)為K為奇數(shù).
(14)
(15)
經(jīng)過(guò)FFT之后可以將FFT的蝶形圖算法通過(guò)復(fù)數(shù)運(yùn)算進(jìn)而得到需要的失真信號(hào)的頻譜圖。接下來(lái)要進(jìn)行的是統(tǒng)計(jì)與計(jì)算,本設(shè)計(jì)測(cè)量的失真信號(hào)的成分主要是基波的2~5次諧波,基波與這些諧波分量遠(yuǎn)遠(yuǎn)大于其他噪聲信號(hào)的頻譜幅度,通過(guò)一個(gè)比大小的函數(shù),逐次信號(hào)頻譜中最大的五個(gè)分量與其對(duì)應(yīng)的橫坐標(biāo)值,這五個(gè)最大的分量正是失真信號(hào)的基波分量與2~5次諧波分量,完成這一步之后需要通過(guò)公式計(jì)算信號(hào)的失真度大小。
計(jì)算公式如下:
(16)
1.4.4 顯示部分
本設(shè)計(jì)中顯示采用顯示器與手機(jī)屏幕一起同步顯示的方式。顯示部分總體框架如圖5所示。
圖5 顯示部分總體框架圖
本設(shè)計(jì)采用了異步串口協(xié)議(USART協(xié)議)來(lái)實(shí)現(xiàn)MSP432和串口屏之間的數(shù)據(jù)傳輸。手機(jī)顯示部分也使用異步串口協(xié)議(UART協(xié)議)連接MSP432和Wi-Fi模塊(ESP32)實(shí)現(xiàn)數(shù)據(jù)傳輸,通過(guò)Android Studio編寫的App手機(jī)端顯示輸入信號(hào)失真度的測(cè)量值、頻率、一個(gè)周期波形、基波與諧波的歸一化幅值等。為適配顯示器和MSP432單片機(jī)間傳輸信號(hào)的協(xié)議電壓不同,需要添加異步232模塊。通過(guò)這些措施可以大大提高傳輸速度和節(jié)省MSP432的引腳資源。
手機(jī)上制作一個(gè)簡(jiǎn)易的上位機(jī)程序來(lái)接受并顯示這些數(shù)據(jù),上位機(jī)中將不變的顯示部分,如背景等,通過(guò)制作界面時(shí)直接做上去,然后將Wi-Fi發(fā)過(guò)來(lái)的數(shù)據(jù)通過(guò)顯示地址,逐個(gè)打印在背景上。
(1)測(cè)量頻率為1 KHz,基波為50 mV,二次諧波為0 mV,三次諧波為10 mV,四次諧波為0 mV,五次諧波為5 mV的正弦波信號(hào)。(2)測(cè)量頻率為100 KHz,基波為440 mV,二次諧波為0 mV,三次諧波為120 mV,四次諧波為0 mV,五次諧波為0 mV的正弦波信號(hào)。兩者失真信號(hào)對(duì)比如圖6所示。
圖6 數(shù)據(jù)對(duì)比圖
(1)測(cè)量頻率為1 KHz,基波為50 mV,二次諧波為0 mV,三次諧波為10 mV,四次諧波為0 mV,五次諧波為5 mV的正弦波信號(hào),測(cè)量數(shù)據(jù)正確,基波與各次諧波分量測(cè)量與實(shí)際輸入相同。據(jù)理論計(jì)算得失真度為22.36%,測(cè)量得失真度大小為22.50%左右,失真度測(cè)量的絕對(duì)誤差為0.14%測(cè)量精度符合設(shè)計(jì)要求。
(2)測(cè)量頻率為100 KHz,基波為440 mV,二次諧波為0 mV,三次諧波為120 mV四次諧波為0 mV,五次諧波為0 mV的正弦波信號(hào),測(cè)量數(shù)據(jù)正確,基波與各次諧波分量測(cè)量分別為1,0.01,0,0.28,0與實(shí)際輸入相同。根據(jù)理論計(jì)算得失真度為27.27%,測(cè)量得失真度大小為28.10%左右,失真度測(cè)量的絕對(duì)誤差為0.9%測(cè)量精度符合設(shè)計(jì)要求。
兩者測(cè)試數(shù)據(jù)對(duì)比見(jiàn)表1。
表1 測(cè)試數(shù)據(jù)對(duì)比
2.2.1 頻率測(cè)量數(shù)據(jù)
從信號(hào)發(fā)生器產(chǎn)生頻率在(1~100)KHz的信號(hào),從表中可看出,當(dāng)測(cè)試信號(hào)頻率在(1~100)KHz時(shí),測(cè)得信號(hào)頻率數(shù)據(jù)誤差在±0.5 Hz,數(shù)據(jù)結(jié)果較為準(zhǔn)確。頻率測(cè)量數(shù)據(jù)對(duì)比見(jiàn)表2。
表2 頻率測(cè)量數(shù)據(jù)對(duì)比
2.2.2 電壓測(cè)量數(shù)據(jù)
經(jīng)過(guò)測(cè)試對(duì)比可看出,測(cè)量數(shù)據(jù)絕對(duì)誤差都在±10 mV以內(nèi),數(shù)據(jù)結(jié)果較為準(zhǔn)確。電壓測(cè)量數(shù)據(jù)對(duì)比見(jiàn)表3。
表3 電壓測(cè)量數(shù)據(jù)對(duì)比
2.2.3 失真度測(cè)量數(shù)據(jù)
從信號(hào)發(fā)生器中產(chǎn)生了正弦波、方波和三角波三種波形的失真度測(cè)量值分別是0.014%、39.05%、11.75%,對(duì)比下表的測(cè)量數(shù)據(jù),失真度的測(cè)量值與計(jì)算值之間的誤差為 ±0.05%。不同波形失真度對(duì)比見(jiàn)表4。
表4 不同波形失真度對(duì)比
通過(guò)以上數(shù)據(jù)表明,該系統(tǒng)雖然存在一定的誤差,但其誤差范圍只在0.05% 左右。這意味著測(cè)量系統(tǒng)可以高精度地自動(dòng)計(jì)算任意輸出波形的總諧波失真。該系統(tǒng)的操作簡(jiǎn)單,顯示較為清晰,同時(shí)誤差可控,系統(tǒng)性能指標(biāo)良好。這種技術(shù)可以廣泛應(yīng)用于普通電子產(chǎn)品的信號(hào)失真度測(cè)量,有較強(qiáng)的實(shí)用價(jià)值。該系統(tǒng)也可以作為一種測(cè)試儀器提供商業(yè)應(yīng)用。
本文設(shè)計(jì)了一個(gè)基于MSP432的高精度失真度測(cè)量?jī)x,該系統(tǒng)經(jīng)過(guò)測(cè)試表明,各項(xiàng)參數(shù)測(cè)試模塊均表現(xiàn)出了優(yōu)秀的性能。相較于傳統(tǒng)的失真度測(cè)量?jī)x,該儀器具有更高的精度、更簡(jiǎn)單的電路結(jié)構(gòu)和更高的可靠性。此外,該系統(tǒng)還能夠進(jìn)行遠(yuǎn)程數(shù)據(jù)查看,更好地滿足了對(duì)信號(hào)失真度測(cè)量的需求。