徐巧玉,李 鵬,王軍委,趙傳鋒
(河南科技大學(xué) 機(jī)電工程學(xué)院,洛陽(yáng) 471003)
示波器是電子測(cè)量中一種最常用的儀器之一[1],主要用來(lái)測(cè)量、記錄各種瞬時(shí)或連續(xù)的信號(hào),并以直觀的方式顯示出來(lái)。模擬示波器常用于觀測(cè)周期性信號(hào),很難觀測(cè)到非周期性的單次脈沖信號(hào)。而數(shù)字存儲(chǔ)示波器能夠長(zhǎng)期存儲(chǔ)波形信號(hào),便于觀測(cè)單次過(guò)程和緩變信號(hào)。
傳統(tǒng)的數(shù)字示波器具有體積大、笨重、成本高等缺點(diǎn),現(xiàn)場(chǎng)測(cè)試和戶外檢測(cè)極其不便。便攜式數(shù)字存儲(chǔ)示波器具有體積小、使用靈活、便攜等優(yōu)點(diǎn),解決了傳統(tǒng)示波器在現(xiàn)場(chǎng)測(cè)試和戶外檢測(cè)的不便。目前,國(guó)外便攜式數(shù)字存儲(chǔ)示波器的主要生產(chǎn)商有Fluke、Metix、Svmmit等,國(guó)內(nèi)有廈門利利普科技有限公司、漳州東方電子有限公司等,但由于價(jià)格貴,不利于推廣,因此為了適應(yīng)市場(chǎng)亟需開(kāi)發(fā)研究一款既便宜又小巧實(shí)用的示波器。
文中設(shè)計(jì)了一種基于STM32和FPGA的便攜式數(shù)字儲(chǔ)存示波器,該系統(tǒng)具有250 MSPS實(shí)時(shí)采樣率、100MHz模擬帶寬、9 KB的存儲(chǔ)深度、垂直分辨率為 8 bit、2mV~5 V 的垂直靈敏度、1 ns~1 s的時(shí)基范圍以及邊沿觸發(fā)的雙通道數(shù)據(jù)采集功能。目前已投入生產(chǎn)。
便攜式數(shù)字存儲(chǔ)示波器的總體結(jié)構(gòu)如圖1所示,它主要由電源模塊、預(yù)處理電路、A/D轉(zhuǎn)換電路、觸發(fā)電路、觸摸電路、LCD顯示、SSD1963芯片、FPGA(EP4CE6E144) 芯片、STM32F407T6V6 等組成。STM32作為整體系統(tǒng)的控制核心,F(xiàn)PGA作為數(shù)據(jù)采集和預(yù)處理模塊,實(shí)現(xiàn)對(duì)外圍輸入模擬信號(hào)的采樣,對(duì)采樣的信號(hào)進(jìn)行處理,對(duì)波形參數(shù)的計(jì)算等[2]。通道1與通道2功能完全相同,被測(cè)信號(hào)首先經(jīng)過(guò)通道1或通道2進(jìn)入示波器的預(yù)處理電路,觸發(fā)電路觸發(fā)后由AD9481芯片對(duì)外圍輸入的模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),F(xiàn)PGA內(nèi)部的FIFO負(fù)責(zé)數(shù)字信號(hào)的傳輸,其具有對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和緩存的作用,STM32微處理器對(duì)數(shù)據(jù)進(jìn)行處理并控制SSD1963芯片驅(qū)動(dòng)4.3寸液晶屏顯示被測(cè)信號(hào)。STM32外接FLASH實(shí)現(xiàn)存儲(chǔ)程序代碼、字庫(kù)和需要保存的波形數(shù)據(jù)等。STM32外接ADS7843使系統(tǒng)實(shí)現(xiàn)觸摸功能。
圖1 便攜式數(shù)字存儲(chǔ)示波器的總體結(jié)構(gòu)Fig.1 Over structure of the portable digital storage oscilloscope
該示波器采用內(nèi)部電池和外部USB接口兩種供電方式工作。內(nèi)部電池采用鋰電池,具有能量密度高、體積小、容量大和無(wú)記憶效應(yīng)等優(yōu)點(diǎn)。充電管理模塊[3]采用LTC4054ES充電芯片,該芯片是可編程的獨(dú)立的線性鋰電池充電器,鋰電池可通過(guò)USB接口直接進(jìn)行充電。內(nèi)部電池供電和外部USB供電這兩種供電方式可通過(guò)STM32控制電子繼電器SW進(jìn)行自由切換。電源選擇接口電路如圖2所示,當(dāng)SW斷開(kāi)時(shí),可通過(guò)外部USB接口為本系統(tǒng)供電,同時(shí)可對(duì)內(nèi)部電池進(jìn)行充電,當(dāng)SW閉合且Q1導(dǎo)通時(shí),可由內(nèi)部鋰電池為系統(tǒng)供電。
圖2 電源選擇接口電路Fig.2 Power selection interface circuit
預(yù)處理電路的結(jié)構(gòu)主要由AC/DC耦合切換、衰減電路ATT、程控增益放大VGA及偏置調(diào)節(jié)等組成。被測(cè)信號(hào)經(jīng)過(guò)通道1或通道2進(jìn)入示波器的預(yù)處理電路即模擬通道,首先通過(guò)繼電器的開(kāi)關(guān)對(duì)輸入信號(hào)進(jìn)行選擇,選擇直流信號(hào)或交流信號(hào);然后再由衰減電路ATT(由繼電器控制完成10倍或100倍衰減)和程控增益放大VGA對(duì)信號(hào)進(jìn)行衰減或放大等處理(信號(hào)過(guò)小則放大,反之則衰減),使輸入信號(hào)在A/D轉(zhuǎn)換芯片的輸入范圍內(nèi),模擬信號(hào)不能過(guò)大也不能過(guò)小,模擬信號(hào)過(guò)大可能會(huì)損壞ADC,過(guò)小則不能充分利用ADC的分辨率[4]。
A/D轉(zhuǎn)換器是波形采集的關(guān)鍵部件,它決定了示波器的存儲(chǔ)帶寬、垂直分辨率、最大取樣速率等多項(xiàng)指標(biāo)[5]。模擬信號(hào)和數(shù)字信號(hào)之間的轉(zhuǎn)換由A/D轉(zhuǎn)換器完成,為了實(shí)現(xiàn)示波器具有250MSPS的采樣率及100 M模擬帶寬的標(biāo)準(zhǔn),本系統(tǒng)采用AD9481轉(zhuǎn)換芯片。
AD9481是ADI公司推出的雙8位單片模數(shù)轉(zhuǎn)換器,由一個(gè)跟蹤/保持放大器、一個(gè)A/D變換器、一個(gè)邏輯控制器、一個(gè)時(shí)鐘模塊、一個(gè)內(nèi)部參考電壓模塊和兩個(gè)數(shù)據(jù)輸出模塊組成。AD9481的最高轉(zhuǎn)換速率為250MSPS,其具有轉(zhuǎn)換速率高、功耗低、小尺寸等優(yōu)點(diǎn),它有內(nèi)部基準(zhǔn)和跟蹤/保持電路,用戶只需提供3.3 V電源盒差分時(shí)鐘,無(wú)需外基準(zhǔn)或驅(qū)動(dòng)元件。AD9481的數(shù)字輸出與TTL/MOS兼容,并可選用偏移二進(jìn)制碼或二進(jìn)制補(bǔ)碼,具有良好的線性和動(dòng)態(tài)性能,方便與FPGA芯片連接[6]。
AD9481操作時(shí)序圖中[7],數(shù)據(jù)轉(zhuǎn)換在數(shù)據(jù)同步(DS)建立以后開(kāi)始,在時(shí)鐘脈沖信號(hào)的控制下完成。當(dāng)信號(hào)輸入后,信號(hào)會(huì)經(jīng)跟蹤/保持電路送往A/D變換器,此時(shí),若DS+為高電平(DS-為低電平),則A/D變換器不會(huì)進(jìn)行采樣量化編碼,數(shù)據(jù)和時(shí)鐘輸出無(wú)效;若DS+信號(hào)位于要求的同步建立時(shí)間內(nèi),且在時(shí)鐘脈沖上升沿之前由高電平轉(zhuǎn)變?yōu)榈碗娖?,則數(shù)據(jù)同步建立,A/D轉(zhuǎn)換器開(kāi)始工作。當(dāng)時(shí)鐘脈沖上升沿到來(lái)后,A/D變換器將對(duì)該時(shí)刻的信號(hào)值(記為第N點(diǎn))進(jìn)行采樣量化編碼,并于8個(gè)脈沖之后從AD9481的A通道輸出;當(dāng)下一個(gè)時(shí)鐘脈沖的上升沿到來(lái)后,再對(duì)下一個(gè)時(shí)刻信號(hào)(記為第N+1點(diǎn))值采樣量化編碼,同樣于8個(gè)脈沖之后從通道B輸出。這樣AD9481就實(shí)現(xiàn)了對(duì)模擬信號(hào)的數(shù)字化。
觸發(fā)電路是DSO和其它信號(hào)采集系統(tǒng)的重要功能電路。觸發(fā)電路的接口電路如圖3所示,比較器是示波器的一個(gè)重點(diǎn)電路,系統(tǒng)何時(shí)開(kāi)始采樣大部分都取決于這個(gè)比較器。比較器選用LMV7235M5,比較器的兩個(gè)輸入分別加載示波器波形和直流電平TRIG_DC。示波器波形先經(jīng)過(guò)LMH6643MA再加載到比較器上,LMH6643MA起隔離和增加驅(qū)動(dòng)能力的作用,直流電平TRIG_DC是由STM32經(jīng)D/A轉(zhuǎn)換后得到的一個(gè)直流模擬信號(hào),它可以正負(fù)調(diào)節(jié),該示波器的觸發(fā)電平的調(diào)節(jié)就是通過(guò)調(diào)節(jié)這個(gè)直流電平實(shí)現(xiàn)的。在運(yùn)算放大器中,正反饋是不穩(wěn)定的,但是文中通過(guò)電阻R2實(shí)現(xiàn)了一個(gè)正反饋,來(lái)達(dá)到一個(gè)遲滯的效果,在比較電平中實(shí)現(xiàn)了一個(gè)遲滯電壓。如果沒(méi)有正反饋電路,當(dāng)示波器測(cè)量低頻吸納后(如10 Hz)的正弦波時(shí),會(huì)發(fā)生抖動(dòng)的現(xiàn)象,而且速度越快的比較器,抖動(dòng)的越厲害。示波器波形與直流電平相比較,輸出一個(gè)數(shù)字信號(hào)(高電平或低電平)進(jìn)入FPGA,實(shí)現(xiàn)上升沿或下降沿的觸發(fā),完成采樣控制,同時(shí)利用比較器的滯回特性消除抖動(dòng)的影響。
圖3 觸發(fā)電路的接口電路Fig.3 Interface circuit of the trigger circuit
該示波器的所有功能都基于觸摸屏完成,觸摸電路在該系統(tǒng)中發(fā)揮著至關(guān)重要的作用。系統(tǒng)采用4.3寸電阻式觸摸屏作為示波器顯示界面的硬件平臺(tái),電阻屏靈敏,輕輕觸摸即可觸發(fā)對(duì)應(yīng)的功能。采用ADS7843觸摸芯片作為觸摸屏的驅(qū)動(dòng)芯片,ADS7843是一個(gè)內(nèi)置12位模數(shù)轉(zhuǎn)換、低導(dǎo)通電阻模擬開(kāi)關(guān)的串行接口芯片,并通過(guò)SPI總線方式與STM32連接。
采用SSD1963芯片驅(qū)動(dòng)LCD顯示,SSD1963是一塊內(nèi)置1215 KB顯存,最大支持864*480*24位的LCD驅(qū)動(dòng)芯片,它支持多種MCU接口。MCU接口可以是8位、16位、8080總線或6800總線模式。STM32提供FSMC總線接口與SSD1963搭配,驅(qū)動(dòng)大屏幕速度要比模擬總線要快[8]。
LCD主要顯示CH1通道或CH2通道的波形、頻率、峰峰值、平均值、伏擊(每格電壓值)、時(shí)基(每格時(shí)間)和數(shù)字存儲(chǔ)示波器的標(biāo)題等。該數(shù)字存儲(chǔ)示波器中有波形上下移動(dòng)、伏擊修改、時(shí)基修改等功能,這些功能分別對(duì)應(yīng)不同的觸摸按鍵。如果觸摸CH1通道顯示波形上移按鍵,CH1通道顯示的波形將上移,如果超過(guò)波形顯示區(qū)域,則超出部分將不顯示。波形下移時(shí)能夠達(dá)到同樣的效果。伏擊有2mV、5mV、10mV、20mV、50mV、100mV、200mV、500mV、1 V、2 V、5 V等11個(gè)檔位,觸摸伏擊的增加或減少按鍵在各個(gè)伏擊之間進(jìn)行切換。
對(duì)研制的樣機(jī)進(jìn)行測(cè)試,圖4和圖5是樣機(jī)和標(biāo)準(zhǔn)示波器分別測(cè)量峰峰值和頻率為5 V、10 kHz的交流正弦波信號(hào)。
圖4 測(cè)量對(duì)比圖Fig.4 Measuring contrast figure
圖5 示波器界面圖Fig.5 Oscilloscope interface figure
選擇正弦波信號(hào),頻率為10 kHz,垂直靈敏度為0.1 v/div和1 v/div的測(cè)試數(shù)據(jù)如表1所示。
表1 垂直靈敏度測(cè)試誤差表Tab.1 Vertical sensitivity test table error
通過(guò)垂直靈敏度測(cè)試實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的垂直靈敏度在0.1 v/div~1 v/div可準(zhǔn)確測(cè)量0 V~8 V的模擬信號(hào),且誤差控制在0.05%~2.00%之間,在允許范圍之內(nèi)。
選擇正弦波信號(hào),幅度為1 V,掃描速度為0.2 μs/div、0.2ms/div和0.2 s/div的測(cè)試數(shù)據(jù)如表2所示(0.2 s/div時(shí)時(shí)基過(guò)大,觸發(fā)采樣失敗,利用掃描采樣,依然能測(cè)量到波形的數(shù)據(jù))。
表2 掃描速度測(cè)試誤差表Tab.2 Scanning speed test table error
通過(guò)掃描速度測(cè)試實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的掃描速度在 0.2μs/div~0.2 s/div可準(zhǔn)確測(cè)量 3000 Hz~5000 Hz的模擬信號(hào),且誤差控制在0.00%~4.50%之間,在允許范圍之內(nèi)。
經(jīng)測(cè)試,當(dāng)需要儲(chǔ)存波形數(shù)據(jù)時(shí)可點(diǎn)擊觸摸屏上的“波形存儲(chǔ)”按鍵,波形數(shù)據(jù)就被儲(chǔ)存在Flash中,當(dāng)需要回放儲(chǔ)存的波形時(shí)可通過(guò)點(diǎn)擊“波形回放”按鍵,調(diào)出相應(yīng)的波形數(shù)據(jù),在顯示屏上顯示,輸出波形穩(wěn)定,沒(méi)有明顯失真,完成了波形數(shù)據(jù)到Flash儲(chǔ)存及波形數(shù)據(jù)的回放。
文中基于STM32和FPGA進(jìn)行便攜式數(shù)字存儲(chǔ)示波器的設(shè)計(jì),克服了傳統(tǒng)示波器在各種現(xiàn)場(chǎng)測(cè)試中的不便等問(wèn)題。此系統(tǒng)完成后,測(cè)試表明該示波器能夠?qū)崿F(xiàn)傳統(tǒng)示波器的基本功能,具有廣泛的應(yīng)用前景。
[1] 張晨風(fēng).基于ARM平臺(tái)的數(shù)字示波器系統(tǒng)監(jiān)控軟件研究[D].電子科技大學(xué),2006.
[2] 任慶.電子測(cè)量原理[M].四川:電子科技大學(xué)出版社,2006.
[3] 武莉,李濟(jì)順,張洛平.基于USB接口的數(shù)據(jù)采集系統(tǒng)[J].河南科技大學(xué)學(xué)報(bào),2003(2):21-24.
[4] 馮國(guó)楠,張鵬云.基于FPGA的數(shù)字存儲(chǔ)示波表[J].河北工業(yè)科技,2010,27(6):490-491.
[5] 溫鈞明,張鵬云,和志強(qiáng).基于DSP的數(shù)字存儲(chǔ)示波器設(shè)計(jì)[J].河北工業(yè)科技,2012,29(6):474-475.
[6] AD9481 datasheet.8-Bit,250MSPS 3.3V A/D Converter[Z],2009.
[7] 8b,250MSPS,3.3V,A/D,Converter AD9481[Z].Analog Devices,Inc,2004.
[8] SSD1963中文資料[EB/OL].http://wenku.baidu.com/view/d0dc12 ccaa00b52acfc7ca1a.htm l. ■