程志強(qiáng), 汪思靜,楊 杰,魏 磊
(1.武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081;2.武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430081)
嵌入式數(shù)字存儲(chǔ)示波器是近年發(fā)展起來的一種數(shù)據(jù)及波形實(shí)時(shí)顯示的智能終端設(shè)備,目前通用的數(shù)字示波器多采用單片機(jī)、DSP、FPGA或DSP+FPGA結(jié)構(gòu)。嵌入式數(shù)字示波器可看成是一種低成本、低功耗、可作為一個(gè)模塊使用的嵌入式智能終端。普通單片機(jī)在數(shù)據(jù)處理方面能力有限,不能滿足數(shù)字示波器要求的高速數(shù)據(jù)傳輸?shù)囊?,雖然DSP數(shù)據(jù)處理能力強(qiáng)大,運(yùn)行速度較高,F(xiàn)PGA靈活性強(qiáng),可以充分地進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證,便于系統(tǒng)升級(jí)[1-3]。但是,DSP和FPGA一般價(jià)格較高,不適合在低成本的嵌入式數(shù)字示波器開發(fā)中使用。
ARM是面向低價(jià)位市場設(shè)計(jì)的一種RISC微處理器,其優(yōu)點(diǎn)是性價(jià)比高,適合嵌入式數(shù)字示波器的需求。選用的是基于Cortex-M3內(nèi)核的ARM32位微處理器STM32F103VCT6作為主控芯片。該芯片內(nèi)部集成了16通道的12位高精度A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間僅為1μs,還有很多通信接口以及CAN總線,而且它具有一系列的睡眠、停機(jī)、待機(jī)等省電模式,功耗低,與傳統(tǒng)的單片機(jī)相比,其在性能上和處理能力上市遙遙領(lǐng)先的,滿足本款示波器的設(shè)計(jì)要求。
與傳統(tǒng)模擬示波器相比,數(shù)字存儲(chǔ)示波器不僅具有可存儲(chǔ)波形和使用方便等優(yōu)點(diǎn),而且還具有強(qiáng)大的信號(hào)實(shí)時(shí)處理分析功能,同時(shí),將嵌入式技術(shù)融入到示波器的設(shè)計(jì)中,使其具有功耗低,體積小等優(yōu)點(diǎn)。在電子測量領(lǐng)域,數(shù)字存儲(chǔ)示波器正在逐漸取代模擬示波器。但目前高性能的數(shù)字儲(chǔ)存示波器普遍價(jià)格昂貴,因此研究數(shù)字存儲(chǔ)示波器具有重要價(jià)值。鑒于此,提出了一種嵌入式數(shù)字存儲(chǔ)示波器的設(shè)計(jì)方案,經(jīng)測試,性能優(yōu)良。
根據(jù)系統(tǒng)的功能需求,系統(tǒng)總體框架圖如圖1所示,主要包括:A/D轉(zhuǎn)換模塊,F(xiàn)PGA模塊和STM32模塊等,F(xiàn)PGA進(jìn)行數(shù)據(jù)A/D轉(zhuǎn)換的控制,STM32對整個(gè)系統(tǒng)的流程進(jìn)行控制。工作流程如下:系統(tǒng)初始化完成后,A/D轉(zhuǎn)換器在FPGA的控制下進(jìn)行數(shù)據(jù)采樣在完成規(guī)定長度的采集工作之后,F(xiàn)PGA將數(shù)據(jù)存入其內(nèi)部模塊FIFO,從而實(shí)現(xiàn)對數(shù)據(jù)的緩存。同時(shí),由STM32在一定的條件下使能DMA通道,將A/D所采集的數(shù)據(jù)傳輸至LCD緩沖區(qū)中,由LCD對這些數(shù)據(jù)進(jìn)行顯示。
圖1 系統(tǒng)總體框圖Fig.1 System block diagram
本系統(tǒng)的前端調(diào)理電路采用抗混疊濾波電路,我們知道,A/D轉(zhuǎn)換器的采樣頻率的范圍都是一定的。由奈奎斯特定理可知,只有當(dāng)采樣頻率高于兩倍的輸入信號(hào)頻率時(shí)才能對信號(hào)可靠地?cái)?shù)字化,而如果有一部分輸入信號(hào)的頻率高于采樣頻率的一半.則這部分信號(hào)會(huì)變換到較低的帶寬內(nèi)。同時(shí)其幅度仍保持不變,這將使人很難區(qū)別輸入信號(hào)是低于采樣頻率的一半還是高于采樣頻率的一半??够殳B濾波器[9-10]的作用就是將高于采樣頻率的一半的信號(hào)濾除。以保證A/D數(shù)字化的正確性和可靠性。
采用CMOS雙路運(yùn)算放大器OPA2345對信號(hào)進(jìn)行放大或衰減,使信號(hào)滿足AD9288的模擬輸入要求,也就是將輸入信號(hào)的電壓調(diào)理在-0.5~0.5V范圍內(nèi),然后再進(jìn)入模數(shù)轉(zhuǎn)換器AD9288將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。
系統(tǒng)A/D轉(zhuǎn)換部分采用的是ADI公司的AD9288,這是一款雙通道8位的高速低功耗模數(shù)轉(zhuǎn)換器,最高采樣速率達(dá)100MSPS,模擬信號(hào)的輸入范圍為-0.5~+0.5 V。用戶只需提供3.3 V電源和一個(gè)編碼時(shí)鐘,許多應(yīng)用不需要外部基準(zhǔn)和驅(qū)動(dòng)元件,編碼器輸出的是TTS/CMOS兼容的8位數(shù)字量,它為改進(jìn)系統(tǒng),降低成本、提高可靠性和縮短上市時(shí)間提供了完整的解決方案。
本設(shè)計(jì)中,采用雙路設(shè)計(jì),A、B通道分時(shí)刻進(jìn)行數(shù)據(jù)采集,將采集到的數(shù)據(jù)送入FPGA進(jìn)行緩存。
FPGA部分主要功能包括數(shù)據(jù)緩存和主控制器(STM32)通信,由于AD9288為8位數(shù)據(jù)采樣精度,因此,F(xiàn)PGA使用8位的數(shù)據(jù)線和AD9288進(jìn)行數(shù)據(jù)交互,在和STM32通信方面,采用FSMC(靈活的靜態(tài)存儲(chǔ)器控制器)方式,此時(shí),F(xiàn)PGA相當(dāng)于STM32的一塊外部存儲(chǔ)器,F(xiàn)SMC通信方式的優(yōu)勢有:
1)支持多種靜態(tài)存儲(chǔ)器類型。STM32通過FSMC町以與SRAM、ROM、PSRAM、NOR Flash和 NANDFlash存儲(chǔ)器的引腳直接相連。
2)支持豐富的存儲(chǔ)操作方法。FSMC不僅支持多種數(shù)據(jù)寬度的異步讀/寫操作,而且支持對NOR/PSRAM/NAND存儲(chǔ)器的同步突發(fā)訪問方式。
3)支持同時(shí)擴(kuò)展多種存儲(chǔ)器。FSMC的映射地址空間中,不同的BANK是獨(dú)立的,可用于擴(kuò)展不同類型的存儲(chǔ)器。當(dāng)系統(tǒng)中擴(kuò)展和使用多個(gè)外部存儲(chǔ)器時(shí),F(xiàn)SMC會(huì)通過總線懸空延遲時(shí)間參數(shù)的設(shè)置,防止各存儲(chǔ)器對總線的訪問沖突。
4)支持更為廣泛的存儲(chǔ)器型號(hào)。通過對FSMC的時(shí)間參數(shù)設(shè)置,擴(kuò)大了系統(tǒng)中可用存儲(chǔ)器的速度范圍,為用戶提供了靈活的存儲(chǔ)芯片選擇空間。
5)支持代碼從FSMC擴(kuò)展的外部存儲(chǔ)器中直接運(yùn)行,而不需要首先調(diào)入內(nèi)部SRAM。
內(nèi)部框圖如圖2所示。
圖2 FPGA與各模塊通信及內(nèi)部框圖Fig.2 FPGA communicate with modules and internal block diagram
數(shù)據(jù)采集部分由FPGA進(jìn)行,因此,數(shù)據(jù)采集部分軟件設(shè)計(jì)即為FPGA電路設(shè)計(jì),在FPGA電路中,主要包含了如下幾個(gè)模塊,F(xiàn)IFO模塊、地址控制模塊、雙端口RAM模塊、IO模塊和信號(hào)同步和控制模塊。
程序的流程圖如圖3所示。
圖3 數(shù)據(jù)采集軟件流程圖Fig.3 Software flow chart of data acquisition
控制部分軟件指的是STM32部分的軟件設(shè)計(jì),主要包括系統(tǒng)初始化、時(shí)鐘,為了達(dá)到數(shù)據(jù)的高速傳輸,使能DMA功能,讓從FPGA傳回的數(shù)據(jù)通過FSMC方式直接傳入LCD中,此外,F(xiàn)PGA和STM32同樣采用FSMC通信方式,F(xiàn)PGA相當(dāng)于STM32的一塊外部存儲(chǔ)器,與LCD共用FSMC數(shù)據(jù)總線,這樣不僅節(jié)約了系統(tǒng)資源,也提高了數(shù)據(jù)的傳輸速度。程序流程圖如圖4所示。
圖4 控制軟件流程圖Fig.4 Flow chart of control software
在完成了系統(tǒng)的硬件和軟件設(shè)計(jì)后,需要進(jìn)行綜合調(diào)試和測試,通過調(diào)試,不斷優(yōu)化程序代碼,對程序中的問題進(jìn)行及時(shí)更正和修改,使系統(tǒng)的性能得到提高,工作更加穩(wěn)定,進(jìn)行測試時(shí),使用Hantek DSO 8060作為信號(hào)源,頻率FREQ1.00 kHz,幅值 AMP3.0 V,峰峰值 VPP6.0 V,顯示結(jié)果如圖5所示,使用該嵌入式示波器通道A對信號(hào)進(jìn)行顯示,如圖 6所示,頻率 FREQ1.021 kHz,峰峰值 VPP5.84 V,通過對比分析,嵌入式示波器和Hantek DSO 8060的顯示雖然存在誤差,頻率誤差率2.1%,峰峰值誤差率1.3%,基本滿足要求,實(shí)驗(yàn)成功。
圖5 Hantek DSO 8060顯示結(jié)果Fig.5 Displaying results on Hantek DSO 8060
圖6 嵌入式示波器顯示結(jié)果Fig.6 Displaying results on embedded oscilloscope
近年來,隨著國內(nèi)電子信息產(chǎn)業(yè)和電子技術(shù)的不斷發(fā)展,催生了龐大的數(shù)字示波器市場需求,數(shù)字示波器在信號(hào)處理和顯示方面有著獨(dú)特的優(yōu)勢,因此,數(shù)字示波器具有廣泛的研究前景。本系統(tǒng)采用STM32作為主控制器,充分利用FPGA的可編程邏輯功能,完成相關(guān)電路設(shè)計(jì),軟硬件有機(jī)結(jié)合實(shí)現(xiàn)嵌入式數(shù)字存儲(chǔ)示波器的設(shè)計(jì),系統(tǒng)總體功能完善,穩(wěn)定性高,使用方便。
[1]Mota H O,Vasoncelos FH.A partial discharge data acquisition system based on programmable digital oscilloscopes[J].IEEE Instrumentation and Measurement Technology Conference,2001(2):994-999.
[2]楊林楠,李紅剛,張麗蓮,等.基于FPGA的高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2007(4):246-248.YANG Lin-nan,LI Hong-gang,ZHANG Li-lian,et al.A high-speed multi-channel data acquisition system design based on FPGA[J].Computer Engineering,2007(4):246-248.
[3]劉堯猛,馬永軍,丁忠林.基于ARM9和FPGA的嵌入式數(shù)字示波器[J].計(jì)算機(jī)應(yīng)用與軟件,2010(3):84-86.LIU Yao-meng,MA Yong-jun,DING Zhong-lin.The embedded digital oscilloscope design based on ARM9 and FPGA[J].Computer Applications and Software,2010(3):84-86.
[4]王棟,張俊濤.基于SOPC的數(shù)字示波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子器件,2009,32(3):632-636.WANG Dong,ZHANG Jun-tao.Design and implementation of digital oscilloscope based on SOPC[J].Electronic Devices,2009,32(3):632-636.
[5]張雅珍.基于FPGA和ADS830的數(shù)字示波器設(shè)計(jì) [J].電子測量技術(shù),2009,179(6):69-71.ZHANG Ya-zhen.A design of digital oscilloscope based on FPGA and ADS830[J].Electronic Measurement Technology,2009,179(6):69-71.
[6]張錫純.電子示波器及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,1997.
[7]劉維清,吳隆穗,盧敏.基于ARM的數(shù)字存儲(chǔ)示波器設(shè)計(jì)[J].江西理工大學(xué)學(xué)報(bào),2010,31(5):11-13.LIU Wei-qing,WU Long-sui,LU Min.A design of digital storage oscilloscope based on ARM[J].Jiangxi University of Technology,2010,31(5):11-13.
[8]丁昊,宋杰,關(guān)鍵.基于TFT彩屏液晶的便攜數(shù)字存儲(chǔ)示波器[J].現(xiàn)代電子技術(shù),2010,33(18):13-15.DINGHao,SONGJie,GUAN Jian.A design of portable digital storage oscilloscope based onTFTcolor LCD[J].Modern Electronic Technology,2010,33(18):13-15.
[9]陶征,熊來紅.諧波分析與濾波器優(yōu)化配置軟件在電力系統(tǒng)中的應(yīng)用[J].陜西電力,2011(11):10-13.TAO Zheng,XIONG Lai-hong.Application of harmonic analysis and optimal configuring of filters software in power system[J].Shaanxi Electric Power,2011(11):10-13.
[10]楊建安,李健,徐志強(qiáng),等.基于互補(bǔ)濾波器的大型定轉(zhuǎn)速風(fēng)力發(fā)電機(jī)組有效風(fēng)速信號(hào)測量方法[J].陜西電力,2011(11):22-25.YANG Jian-an,LI Jian,XU Zhi-qiang,et al.Probe into the measurement method of effective Wind speed signal for fixed-speed wind turbines based on complementary filters[J].Shaanxi Electric Power,2011(11):22-25.