丁磊 董標(biāo) 韓磊 袁扣祥 林煜 崔淵 薛波



摘? ? 要:對信號的準(zhǔn)確觀測是研究信號的重要手段和首要前提,而逐漸多樣化的戶外信號研究更是讓人們渴望擁有一款能夠具有太陽能充電功能的便攜信號觀測儀器。初步探索了一種具有太陽能功能的便攜示波器,系統(tǒng)采用ARM-Cortex M7架構(gòu)的高性能處理器,配以相關(guān)信號調(diào)理電路,最終在TFT彩色液晶顯示器上實(shí)時(shí)動態(tài)顯示。系統(tǒng)以STM32微處理器為控制核心,以較低成本實(shí)現(xiàn)了信號采集、顯示、頻譜分析等功能。
關(guān)鍵詞:DDS;STM32;信號觀測;頻譜分析;幅頻特性
中圖分類號:TM935.3? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? 文章編號:2095-7394(2020)04-0043-10
隨著全球電子科學(xué)技術(shù)的飛速發(fā)展,電子電路設(shè)計(jì)日益成熟,信息傳輸方式更加快捷和多樣化,信號技術(shù)已逐漸從高端技術(shù)人員向普通學(xué)生、工人等群體普及。由于信號的處理方式不同,使各種形狀、頻率和幅度的信號層出不窮[1],因此,示波器作為觀察信號的一種工具應(yīng)運(yùn)而生。鑒于傳統(tǒng)的雙通道數(shù)字示波器操作不便、價(jià)格昂貴、體積較大且不便于攜帶[2],本設(shè)計(jì)采用32位單片機(jī)為控制處理核心,充分利用硬件電路的集成技術(shù)和核心處理芯片的資源優(yōu)勢,制作了一款具有太陽能充電功能的便攜示波器。
1? ?系統(tǒng)設(shè)計(jì)方案
如圖1所示,本設(shè)計(jì)采用Cortex m7架構(gòu)的ARM處理器STM32F767,配合DDS信號發(fā)生器輸出正弦信號實(shí)現(xiàn)掃頻功能,通過程控放大等電路使單片機(jī)引腳能夠采集輸入信號,并實(shí)時(shí)動態(tài)地送入高色彩的TFT顯示設(shè)備進(jìn)行波形顯示;同時(shí),對輸入信號FFT變換進(jìn)行頻譜分析。
如圖2、圖3、圖4所示,為系統(tǒng)模具設(shè)計(jì)圖。便攜示波器產(chǎn)品造型設(shè)計(jì)簡潔大方、立體感強(qiáng),結(jié)構(gòu)設(shè)計(jì)緊湊、可靠并且耐用。其表面工藝處理采用磨砂涂層,這樣的表面細(xì)節(jié)設(shè)計(jì)不僅可以增加產(chǎn)品的品質(zhì)感,而且還可以增強(qiáng)表面摩擦力,使其在戶外以及復(fù)雜環(huán)境的使用中更加符合人體工學(xué)要求。
2? ?單元電路分析與設(shè)計(jì)
2.1? STM32主控模塊設(shè)計(jì)
本設(shè)計(jì)采用CortexTM-M7為內(nèi)核的STM32F767高性能微處理器。STM32F767作為核心控制芯片,系統(tǒng)由它進(jìn)行A/D采集獲得信號,再進(jìn)行快速傅里葉變換得到設(shè)計(jì)所需要的頻譜數(shù)據(jù);由其控制DDS輸出特定頻率范圍的掃頻信號,并通過幅度檢測送回單片機(jī),來獲得外部器件的幅頻特性曲線。
2.2? 電源保護(hù)電路設(shè)計(jì)
本次設(shè)計(jì)采用太陽能電板和可充電電池組合,實(shí)現(xiàn)可持續(xù)5 V輸出電源,在電源接入電路前,對5 V電源進(jìn)行保護(hù),以防止電壓擊穿或電流倒流。圖5為電源保護(hù)電路設(shè)計(jì),由于系統(tǒng)使用5 V電源供電,為防止由于電路斷路、短路等引起過載、電流過大等問題,使用保險(xiǎn)絲和二極管器件,通過二極管的正向?qū)ㄐ院捅kU(xiǎn)絲熔斷特性實(shí)現(xiàn)電流保護(hù),從而保障用戶的使用安全。[3]如圖6所示為太陽能電路。
2.3? DDS信號源電路設(shè)計(jì)
本示波器由于擁有幅頻特性測試功能,該功能需要在一定時(shí)間內(nèi)測量不同頻點(diǎn)的幅值,因此,需要一個(gè)正弦波掃頻電路,它能夠通過程序改變頻率,輸出掃頻波形。設(shè)計(jì)采用DDS輸出掃頻,DDS信號源電路如圖7所示。
DDS采用串行數(shù)據(jù)傳輸芯片AD9834,工作時(shí)鐘為75 MHz。AD9834提供頻率寄存器和相位寄存器,頻率寄存器為28位,最低可達(dá)到0.28 Hz的分辨率。AD9834通過一個(gè)三線式串行接口寫入數(shù)據(jù),在總時(shí)鐘SCLK控制下, FSY口拉低、FS口拉低時(shí)寫入數(shù)據(jù)為信號頻率數(shù)據(jù);FSY口拉低、PS口拉低時(shí)寫入數(shù)據(jù)為信號相位數(shù)據(jù)。因此,單片機(jī)只需按照時(shí)序?qū)懭腩l率信息,AD9834即可在寄存器中找到對應(yīng)頻率,輸出指定頻率的正弦波。
2.4? 程控放大器電路設(shè)計(jì)
由于外部信號經(jīng)衰減電路后輸入,部分幅度不大的信號經(jīng)衰減后難以測量,因此,系統(tǒng)使用程控放大電路,對不同幅度段的信號進(jìn)行分級放大,以便于A/D轉(zhuǎn)換器采集。本設(shè)計(jì)采用PGA202作為程控放大芯片,該芯片是由德州儀器公司生產(chǎn)的數(shù)字可編程增益芯片,具有非常低的非線性度的特點(diǎn),能夠保證輸出增益穩(wěn)定。該芯片具有1/10/100/1 000共4個(gè)可調(diào)節(jié)增益,程序只需操作A0、A1兩位控制位即可改變芯片增益,簡單而又實(shí)用。[4]程控放大電路原理如圖8所示。
2.5? 有效值檢波電路設(shè)計(jì)
本設(shè)計(jì)使用程控放大電路前需要先對幅度進(jìn)行檢測,以此幅度為基礎(chǔ),再判斷該信號是否需要放大;因此,需要使用有效值檢波電路對衰減后的信號進(jìn)行幅度檢測。由于衰減電路輸出峰峰值為0~3.3 V的信號,因此檢波電路檢波幅度為0~1.65 V,而A/D轉(zhuǎn)換器采集上限為3.3 V,從而導(dǎo)致該檢波器檢波電壓增益不能超過2,否則會燒壞A/D轉(zhuǎn)換器。此外,有效值檢波器也存在一個(gè)普遍的問題,那就是頻率越高的信號,越容易出現(xiàn)截止的情況。[5]本設(shè)計(jì)所采用的AD637有效值檢波芯片,能夠檢測0~8 MHz的信號,且內(nèi)部增益為1,單片機(jī)采集到的電壓值無需再經(jīng)過轉(zhuǎn)換即可用于判斷電壓。檢波器電路原理如圖9所示。
3? ? 軟件設(shè)計(jì)及算法實(shí)現(xiàn)
3.1? DDS信號源模塊
采用串行傳輸方式,通過數(shù)據(jù)線SDATA、控制線(FS、PS)和時(shí)序線將數(shù)據(jù)輸入到寄存器,在FSYNC的低電平受SCLK下降沿控制裝入16位串行數(shù)據(jù),由FS和PS口控制數(shù)據(jù)輸入到相位和頻率寄存器。AD9834作為一款串行DDS芯片,能夠輸出正弦波、方波和三角波三種波形,軟件開始運(yùn)行后初始化DDS,將FSY端拉至低電平,等待時(shí)鐘即可寫入波形數(shù)據(jù),當(dāng)FSY為高電平時(shí)則寫入頻率數(shù)據(jù)。AD9834設(shè)置輸出波形流程如圖10所示。
AD9834頻率數(shù)據(jù)總共有28位,每7位一組,單片機(jī)設(shè)置輸出頻率后,軟件中將該頻率分為4組,每組7位,每組加上一位控制字后將低14位組合,再將高14位組合,最終組合成2組16位數(shù)據(jù),由SDATA口在時(shí)鐘控制下,串口輸出16位串行數(shù)據(jù)字,再由AD9834輸出頻率。AD9834設(shè)置輸出頻率流程如圖11所示。
3.2? ADC模塊
STM32F767有多個(gè)ADC通道,本系統(tǒng)需要3路ADC通道進(jìn)行采集,選擇PA1路采集波形信息,PA2路采集波形幅度以便控制增益,PA3路采集掃頻波形幅度測量幅頻曲線,在使用3路A/D轉(zhuǎn)換前需要先逐一進(jìn)行ADC初始化工作。ADC采集流程如圖12所示。
3.3? ?FFT模塊
系統(tǒng)采集輸入信號波形信息后,對該信號進(jìn)行FFT變換,由此得出所測量信號的幅度和頻率等信息。本設(shè)計(jì)采用ST公司已提供的DSP庫中的FFT函數(shù)。
3.4? ?藍(lán)牙通信模塊
本設(shè)計(jì)在測量外部信號頻譜等信息后,將通過STM32單片機(jī)的串口3發(fā)送信息給藍(lán)牙模塊,因此,單片機(jī)只需要進(jìn)行串口模塊的程序初始化和對應(yīng)的串口發(fā)送程序,即可實(shí)現(xiàn)藍(lán)牙數(shù)據(jù)傳輸。藍(lán)牙發(fā)送流程如圖13所示。
單片機(jī)與藍(lán)牙模塊通過串口傳輸信息,當(dāng)藍(lán)牙模塊成功與手機(jī)端相連后,會給單片機(jī)發(fā)送AT指令,單片機(jī)識別該指令后確認(rèn)連接藍(lán)牙,從而進(jìn)入對應(yīng)功能界面發(fā)送測量信息。
4? ? 實(shí)驗(yàn)結(jié)果和分析
根據(jù)PGA202芯片工作原理可知,STM32單片機(jī)控制2個(gè)I/O口輸出四組“0”“1”信號控制該芯片4級增益(1,10,100,1 000)。系統(tǒng)外部輸入信號經(jīng)衰減后,峰峰值被限制在-1.6 V~1.6 V,經(jīng)搬移的信號在0~3.3 V。但因?yàn)樗p電路,原本小幅度的信號也會衰減,從而導(dǎo)致A/D轉(zhuǎn)換器無法準(zhǔn)確辨認(rèn)幅度;因此,在33 ~330 mV的信號增益10倍,以此類推,提高小信號精確度。各級輸出增益電壓如表1所示,程控放大器增益對比如圖14所示。
由表1和圖14可知,隨著外部輸入峰峰值的上升,增益也在改變:1~3 mV的信號被放大到1~3 V,放大了1 000倍;3 ~30 mV信號放大了100倍;30 ~300 mV信號放大了10倍;300 mV~3.3 V信號保持不變。最終顯示增益輸出的幅度與程控增益表的增益等級相同,該程控放大電路正確。
利用信號發(fā)生器產(chǎn)生10 V、1 kHz的正弦信號,從輸入端輸入該信號,±5 V供電,觀察輸出信號,如圖15所示。從圖15可以看出,輸入10 V、
1 kHz的信號,輸出的信號幅度被衰減到3 V,衰減倍數(shù)約為3.3倍,滿足A/D轉(zhuǎn)換器采集范圍,衰減電路工作正常。如圖16所示,輸入信號加上1.65 V電壓,可將輸入信號搬移至X軸上方,加法器模塊工作正常。
AD637是一款高精度的單片RMS-to-DC(有效值轉(zhuǎn)直流)轉(zhuǎn)換器,它可以計(jì)算任何復(fù)雜波形的有效值。AD637采用波峰因數(shù)補(bǔ)償方案,當(dāng)測量信號的波峰因數(shù)達(dá)到10時(shí),它的額外誤差仍然保持在低于1%的水平[6];此外,通過數(shù)據(jù)擬合方式能夠?qū)⑵钶^大數(shù)據(jù)擬合,以提高最終結(jié)果的準(zhǔn)確度。擬合結(jié)果如表2所示。
將表2的數(shù)據(jù)擬合,在Excel中繪制曲線如圖17所示。從圖17可知,趨勢線擬合程度[R2]達(dá)到0.999 4,擬合度近似于1,可見AD637檢波結(jié)果較為準(zhǔn)確。考慮到STM32內(nèi)部ADC采集電壓的最大值為3.3 V,檢波器輸入電壓需要控制在4.7 V以內(nèi),而在檢波器前端為衰減電路;因此,10 V的輸入信號衰減為3 V后,檢波恰好落在較為準(zhǔn)確的檢波區(qū)域內(nèi),在此基礎(chǔ)上對檢波器輸出電壓使用公式進(jìn)行擬合,得到的幅度值將更加準(zhǔn)確。
進(jìn)入信號測量界面,從信號發(fā)生器接入外部信號,信號發(fā)生器輸出峰峰值為10 V、頻率為1 kHz的正弦信號,如圖18所示。測量該信號幅度、頻率及波形,手持示波器測量結(jié)果如圖19所示。信號頻率測量如表3、表4和圖20所示。
綜合表3、表4和圖20可知,在輸入信號峰峰值為1 V和10 V的條件下,系統(tǒng)測量的頻率與理論值的誤差均在0.01%以內(nèi),[R2]值為1,說明本設(shè)計(jì)頻率測量結(jié)果較為準(zhǔn)確。這是因?yàn)橄到y(tǒng)通過快速傅里葉變換計(jì)算頻率,快速傅里葉變換點(diǎn)數(shù)越多,頻率精確度越高,但相對的使用資源也就越多。例如:4 096 Hz的采樣頻率,采樣后進(jìn)行4 096點(diǎn)FFT,最終的頻率精度就是[4 0964 096=1 ]Hz,也就是說,最終測得的頻率1 Hz和1.25 Hz都會被分為1 Hz,頻率精度越高,測得的頻率越準(zhǔn)確。
5? ? 結(jié)語
采用STM32單片機(jī)實(shí)現(xiàn)的便攜示波器,以較高的性價(jià)比實(shí)現(xiàn)了輸入波形信號的測量、顯示以及信號的FFT變換、頻譜特性顯示等功能。本系統(tǒng)設(shè)計(jì)具備成本低廉、擴(kuò)展性好的特點(diǎn),其太陽能充電功能非常適合戶外及日常生活使用。
設(shè)計(jì)采用STM32的DSP庫進(jìn)行FFT變換。對于FFT類似數(shù)字變換,F(xiàn)PGA相較于STM32具有較大優(yōu)勢[7],因此,可以考慮將核心單片機(jī)更改為FPGA繼續(xù)設(shè)計(jì)。對于檢波電路,本系統(tǒng)在低頻和高頻的時(shí)候,檢波輸出幅度明顯下降,導(dǎo)致最終A/D轉(zhuǎn)換器測量和程控放大不準(zhǔn)確。這個(gè)問題部分是因AD637芯片能力限制所致,通過軟件擬合,能夠?qū)Ω哳l和低頻進(jìn)行額外增益,從而使最終輸入的信號保持在一個(gè)穩(wěn)定的幅度。
參考文獻(xiàn):
[1] 呂冬梅, 王小兵. 示波器的基本結(jié)構(gòu)和發(fā)展歷史[J]. 貴州農(nóng)機(jī)化,2001(3):26-27.
[2] 威海同力計(jì)算機(jī)工程有限公司. 示波器的發(fā)展史與選擇示波器的幾點(diǎn)建議[EB/OL].(2011-09-15)[2019-12-20].https://wenku.baidu.com/view1c14360e4a7302768e9939e3.html.
[3] KULAH H , AKIN T. A current mirroring integration based readout circuit for high performance infrared fpa applications[J]. IEEE Transactions on Circuits and Systems II Analog and Digital Signal Processing,2003,50(4):181-186.
[4] SERGIO F.基于運(yùn)算放大器和模擬集成電路的電路設(shè)計(jì)[M]. 西安:西安交通大學(xué)出版社,2004.
[5] 宋雁鵬. 基于單片機(jī)和DDS的高頻信號源的設(shè)計(jì)[J].電子世界,2015(13):131-134.
[6] 馬超,高鵬,楊自芹,等. 基于STM32和μC/OS-Ⅱ的嵌入式數(shù)字示波器設(shè)計(jì)[J].電子技術(shù),2013(12):78-81.
[7] 劉麗麗,樊延虎,高瑛. DDS原理及基于FPGA的實(shí)現(xiàn)[J].電子技術(shù),2010,47(9):44.
責(zé)任編輯? ? 盛? ? 艷