徐巧玉,李 鵬,王軍委,趙傳鋒
(河南科技大學 機電工程學院,洛陽 471003)
示波器是電子測量中一種最常用的儀器之一[1],主要用來測量、記錄各種瞬時或連續的信號,并以直觀的方式顯示出來。模擬示波器常用于觀測周期性信號,很難觀測到非周期性的單次脈沖信號。而數字存儲示波器能夠長期存儲波形信號,便于觀測單次過程和緩變信號。
傳統的數字示波器具有體積大、笨重、成本高等缺點,現場測試和戶外檢測極其不便。便攜式數字存儲示波器具有體積小、使用靈活、便攜等優點,解決了傳統示波器在現場測試和戶外檢測的不便。目前,國外便攜式數字存儲示波器的主要生產商有Fluke、Metix、Svmmit等,國內有廈門利利普科技有限公司、漳州東方電子有限公司等,但由于價格貴,不利于推廣,因此為了適應市場亟需開發研究一款既便宜又小巧實用的示波器。
文中設計了一種基于STM32和FPGA的便攜式數字儲存示波器,該系統具有250 MSPS實時采樣率、100MHz模擬帶寬、9 KB的存儲深度、垂直分辨率為 8 bit、2mV~5 V 的垂直靈敏度、1 ns~1 s的時基范圍以及邊沿觸發的雙通道數據采集功能。目前已投入生產。
便攜式數字存儲示波器的總體結構如圖1所示,它主要由電源模塊、預處理電路、A/D轉換電路、觸發電路、觸摸電路、LCD顯示、SSD1963芯片、FPGA(EP4CE6E144) 芯片、STM32F407T6V6 等組成。STM32作為整體系統的控制核心,FPGA作為數據采集和預處理模塊,實現對外圍輸入模擬信號的采樣,對采樣的信號進行處理,對波形參數的計算等[2]。通道1與通道2功能完全相同,被測信號首先經過通道1或通道2進入示波器的預處理電路,觸發電路觸發后由AD9481芯片對外圍輸入的模擬信號進行A/D轉換,將模擬信號轉換為數字信號,FPGA內部的FIFO負責數字信號的傳輸,其具有對數據進行預處理和緩存的作用,STM32微處理器對數據進行處理并控制SSD1963芯片驅動4.3寸液晶屏顯示被測信號。STM32外接FLASH實現存儲程序代碼、字庫和需要保存的波形數據等。STM32外接ADS7843使系統實現觸摸功能。

圖1 便攜式數字存儲示波器的總體結構Fig.1 Over structure of the portable digital storage oscilloscope
該示波器采用內部電池和外部USB接口兩種供電方式工作。內部電池采用鋰電池,具有能量密度高、體積小、容量大和無記憶效應等優點。充電管理模塊[3]采用LTC4054ES充電芯片,該芯片是可編程的獨立的線性鋰電池充電器,鋰電池可通過USB接口直接進行充電。內部電池供電和外部USB供電這兩種供電方式可通過STM32控制電子繼電器SW進行自由切換。電源選擇接口電路如圖2所示,當SW斷開時,可通過外部USB接口為本系統供電,同時可對內部電池進行充電,當SW閉合且Q1導通時,可由內部鋰電池為系統供電。

圖2 電源選擇接口電路Fig.2 Power selection interface circuit
預處理電路的結構主要由AC/DC耦合切換、衰減電路ATT、程控增益放大VGA及偏置調節等組成。被測信號經過通道1或通道2進入示波器的預處理電路即模擬通道,首先通過繼電器的開關對輸入信號進行選擇,選擇直流信號或交流信號;然后再由衰減電路ATT(由繼電器控制完成10倍或100倍衰減)和程控增益放大VGA對信號進行衰減或放大等處理(信號過小則放大,反之則衰減),使輸入信號在A/D轉換芯片的輸入范圍內,模擬信號不能過大也不能過小,模擬信號過大可能會損壞ADC,過小則不能充分利用ADC的分辨率[4]。
A/D轉換器是波形采集的關鍵部件,它決定了示波器的存儲帶寬、垂直分辨率、最大取樣速率等多項指標[5]。模擬信號和數字信號之間的轉換由A/D轉換器完成,為了實現示波器具有250MSPS的采樣率及100 M模擬帶寬的標準,本系統采用AD9481轉換芯片。
AD9481是ADI公司推出的雙8位單片模數轉換器,由一個跟蹤/保持放大器、一個A/D變換器、一個邏輯控制器、一個時鐘模塊、一個內部參考電壓模塊和兩個數據輸出模塊組成。AD9481的最高轉換速率為250MSPS,其具有轉換速率高、功耗低、小尺寸等優點,它有內部基準和跟蹤/保持電路,用戶只需提供3.3 V電源盒差分時鐘,無需外基準或驅動元件。AD9481的數字輸出與TTL/MOS兼容,并可選用偏移二進制碼或二進制補碼,具有良好的線性和動態性能,方便與FPGA芯片連接[6]。
AD9481操作時序圖中[7],數據轉換在數據同步(DS)建立以后開始,在時鐘脈沖信號的控制下完成。當信號輸入后,信號會經跟蹤/保持電路送往A/D變換器,此時,若DS+為高電平(DS-為低電平),則A/D變換器不會進行采樣量化編碼,數據和時鐘輸出無效;若DS+信號位于要求的同步建立時間內,且在時鐘脈沖上升沿之前由高電平轉變為低電平,則數據同步建立,A/D轉換器開始工作。當時鐘脈沖上升沿到來后,A/D變換器將對該時刻的信號值(記為第N點)進行采樣量化編碼,并于8個脈沖之后從AD9481的A通道輸出;當下一個時鐘脈沖的上升沿到來后,再對下一個時刻信號(記為第N+1點)值采樣量化編碼,同樣于8個脈沖之后從通道B輸出。這樣AD9481就實現了對模擬信號的數字化。
觸發電路是DSO和其它信號采集系統的重要功能電路。觸發電路的接口電路如圖3所示,比較器是示波器的一個重點電路,系統何時開始采樣大部分都取決于這個比較器。比較器選用LMV7235M5,比較器的兩個輸入分別加載示波器波形和直流電平TRIG_DC。示波器波形先經過LMH6643MA再加載到比較器上,LMH6643MA起隔離和增加驅動能力的作用,直流電平TRIG_DC是由STM32經D/A轉換后得到的一個直流模擬信號,它可以正負調節,該示波器的觸發電平的調節就是通過調節這個直流電平實現的。在運算放大器中,正反饋是不穩定的,但是文中通過電阻R2實現了一個正反饋,來達到一個遲滯的效果,在比較電平中實現了一個遲滯電壓。如果沒有正反饋電路,當示波器測量低頻吸納后(如10 Hz)的正弦波時,會發生抖動的現象,而且速度越快的比較器,抖動的越厲害。示波器波形與直流電平相比較,輸出一個數字信號(高電平或低電平)進入FPGA,實現上升沿或下降沿的觸發,完成采樣控制,同時利用比較器的滯回特性消除抖動的影響。

圖3 觸發電路的接口電路Fig.3 Interface circuit of the trigger circuit
該示波器的所有功能都基于觸摸屏完成,觸摸電路在該系統中發揮著至關重要的作用。系統采用4.3寸電阻式觸摸屏作為示波器顯示界面的硬件平臺,電阻屏靈敏,輕輕觸摸即可觸發對應的功能。采用ADS7843觸摸芯片作為觸摸屏的驅動芯片,ADS7843是一個內置12位模數轉換、低導通電阻模擬開關的串行接口芯片,并通過SPI總線方式與STM32連接。
采用SSD1963芯片驅動LCD顯示,SSD1963是一塊內置1215 KB顯存,最大支持864*480*24位的LCD驅動芯片,它支持多種MCU接口。MCU接口可以是8位、16位、8080總線或6800總線模式。STM32提供FSMC總線接口與SSD1963搭配,驅動大屏幕速度要比模擬總線要快[8]。
LCD主要顯示CH1通道或CH2通道的波形、頻率、峰峰值、平均值、伏擊(每格電壓值)、時基(每格時間)和數字存儲示波器的標題等。該數字存儲示波器中有波形上下移動、伏擊修改、時基修改等功能,這些功能分別對應不同的觸摸按鍵。如果觸摸CH1通道顯示波形上移按鍵,CH1通道顯示的波形將上移,如果超過波形顯示區域,則超出部分將不顯示。波形下移時能夠達到同樣的效果。伏擊有2mV、5mV、10mV、20mV、50mV、100mV、200mV、500mV、1 V、2 V、5 V等11個檔位,觸摸伏擊的增加或減少按鍵在各個伏擊之間進行切換。
對研制的樣機進行測試,圖4和圖5是樣機和標準示波器分別測量峰峰值和頻率為5 V、10 kHz的交流正弦波信號。

圖4 測量對比圖Fig.4 Measuring contrast figure

圖5 示波器界面圖Fig.5 Oscilloscope interface figure
選擇正弦波信號,頻率為10 kHz,垂直靈敏度為0.1 v/div和1 v/div的測試數據如表1所示。

表1 垂直靈敏度測試誤差表Tab.1 Vertical sensitivity test table error
通過垂直靈敏度測試實驗結果表明,系統的垂直靈敏度在0.1 v/div~1 v/div可準確測量0 V~8 V的模擬信號,且誤差控制在0.05%~2.00%之間,在允許范圍之內。
選擇正弦波信號,幅度為1 V,掃描速度為0.2 μs/div、0.2ms/div和0.2 s/div的測試數據如表2所示(0.2 s/div時時基過大,觸發采樣失敗,利用掃描采樣,依然能測量到波形的數據)。

表2 掃描速度測試誤差表Tab.2 Scanning speed test table error
通過掃描速度測試實驗結果表明,系統的掃描速度在 0.2μs/div~0.2 s/div可準確測量 3000 Hz~5000 Hz的模擬信號,且誤差控制在0.00%~4.50%之間,在允許范圍之內。
經測試,當需要儲存波形數據時可點擊觸摸屏上的“波形存儲”按鍵,波形數據就被儲存在Flash中,當需要回放儲存的波形時可通過點擊“波形回放”按鍵,調出相應的波形數據,在顯示屏上顯示,輸出波形穩定,沒有明顯失真,完成了波形數據到Flash儲存及波形數據的回放。
文中基于STM32和FPGA進行便攜式數字存儲示波器的設計,克服了傳統示波器在各種現場測試中的不便等問題。此系統完成后,測試表明該示波器能夠實現傳統示波器的基本功能,具有廣泛的應用前景。
[1] 張晨風.基于ARM平臺的數字示波器系統監控軟件研究[D].電子科技大學,2006.
[2] 任慶.電子測量原理[M].四川:電子科技大學出版社,2006.
[3] 武莉,李濟順,張洛平.基于USB接口的數據采集系統[J].河南科技大學學報,2003(2):21-24.
[4] 馮國楠,張鵬云.基于FPGA的數字存儲示波表[J].河北工業科技,2010,27(6):490-491.
[5] 溫鈞明,張鵬云,和志強.基于DSP的數字存儲示波器設計[J].河北工業科技,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. ■