方振生,任林超,宋玉玲,魯道邦





摘要:基于STC單片機設計一款可在線監測波形瞬時變化的高性價比示波器,其用編碼器做輸入控制,單片機模擬外設ADC模塊采集信號,然后存儲在單片機內進行處理計算,將波形實時顯示,可監測、存儲波形的瞬時變化值。實測結果表明:該系統運行穩定,有較高的采樣率;在單次觸發時,能捕獲1ms~10ms的波形瞬間變化情況,可應用于需要在線監測場所。該實驗結合了單片機原理、程序設計、接口原理等課程相關內容,實驗重復性較好,適合作為學生實驗內容。
關鍵詞:單片機;示波器;實時采樣;高性價比;在線;瞬時變化
中圖分類號:TP301? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)33-0087-03
1 引言
電路設計和測試要求合適的測量系統能夠匹配所設計電路的速度和帶寬,示波器作為電測行業基礎測量分析儀[1-2],在工業和教學領域應用廣泛。不過絕大多數情況下使用示波器都是在現場進行觀測,且功能繁雜價格昂貴,并不適合于需要持續在線觀測或只能采取遠程遙測方式的場所。另一方面,在一些場合下測試人員不能長時間靠近設備,而在做產品測試時又需要長時間觀察波形[3]。針對上述矛盾,本設計提出了一種適合長時間在線測量的簡易在線示波器。為了將測量信號進行存儲、分析及各種計算處理,需要將采樣電信號轉換為數字信號[4]。數字示波器具有能夠存儲波形,對采樣信號的數據進行實時分析和處理并觀測或回放,可在時域、頻域范圍觀察輸入信號這些更強大的功能[5]。隨著計算機技術及數字電路的發展,出現了專用于示波器系統的ASIC芯片,微處理器的誕生并廣泛地應用于電子測量儀器領域[6],使數字化智能化示波器得到了巨大的發展助力,有要將傳統模擬示波器取而代之的趨勢,示波器的數字化已成為必然。目前數字示波器的帶寬、采樣率、存儲深度、觸發協議及解碼功能等主要參數相比以往有了巨大提升[7]。如今高端數字示波器的帶寬和采樣率已經達到上百的程度,高帶寬范圍可以擴展示波器的應用范圍,高采樣率可以減小數字示波器的采樣誤差,大大提高測量精度,保證功能的多樣化和穩定性。在示波器實用市場,作為主要性能指標之一的帶寬,國內半導體行業由于發展起步較緩,目前只做到了2GHz,國外做到了110GHz;采樣率國內為20GSa/s,國外示波器產品做到了256GSa/s,顯而易見,國外公司在高端數字示波器市場占有絕對地位[8]。但在中低端領域國內已經打破了壟斷,使用高性能DSP和FPGA及優化算法,可以提高示波器的性能指標,采用更好的顯示器和更個性化的研發形式,國內研發的數字示波器更符合國內市場,設計和生產非常靈活,可以根據需求增加或改進某些功能,比如有帶電池支持的市電兩用示波器、平板型示波器、手持示波器等,方便快捷,都很符合國內應用的特點,且經過多年的發展,國產示波器產品更新迭代快,服務質量和響應速度高,產品質量和穩定性愈來愈好[9],形成了國內自有的體系。但目前與在線示波器相關的產品依舊較少,且價格較高,并不適合批量化應用,本設計提出的一種在線示波器設計,經實測運行穩定、實現方便、價格低廉,對在線示波器的研究具有參考意義。
2 系統框架及工作原理
2.1 設計目標
設計一款運行穩定、實現方便、價格低廉的簡易示波器,能在屏幕上清晰準確地顯示出采樣信號的波形、頻率、幅值、當前位置及采樣狀態,通過編碼器控制調整時間區間、電壓量程、觸發方式及方向和對系統參數的自定義設置,以及系統采樣的開始與中斷,波形的滾動和縮放等操作。其中一個重要特點是通過功能調節可顯示信號的瞬時變化情況,在添加相關功能模塊和外設之后可以實現遠程在線測量。本文以單片機為核心,設計在線示波器實驗,學生通過該實驗能夠由淺入深、更加系統地了解和掌握相關的理論和實踐課程,加強實踐能力的培養。
2.2 系統框架
該示波器系統以STC8A8K64S4A12單片機為控制中樞,是一個由采樣電路、采樣指示電路、OLED屏驅動顯示電路、EC11旋轉編碼器控制輸入電路、電池電壓采樣電路、鋰電池充放電管理及升壓模塊、系統電源濾波電路以及按鍵開關組成的單片機控制系統電路。系統的總體結構如圖 1所示。
2.3 工作原理
本設計通過對示波器的工作原理進行研究,使用STC高性能單片機作為主控芯片,基本思路是以單片機為核心,編碼器為控制輸入,由采樣電路實現對輸入信號的采樣,利用單片機內部集成的高精度模擬外設ADC完成采樣數據的離散化,并將數據保存在RAM和ROM中。單片機從存儲器中讀取部分采樣點數據進行處理并存于數組中,然后按照一定的順序把波形數據顯示到屏幕相應的位置上,其余采樣點用來計算波形參數,即可在屏幕上顯示波形及其相關信息。
2.4 控制核心的選擇
STC8A8K64S4A12高性能單片機運行速度快,且代碼兼容傳統的8051,可以執行keil開發平臺編譯出來的HEX文件,執行速度比傳統8051快約12倍,可以快速進行大量采樣點數據的處理運算,同時驅動OLED屏幕實時顯示波形信息;供電電壓寬,電源匹配容易,因此本設計使用鋰電池為系統供電,方便高效環保,還可以避免其他類型電源的紋波對單片機的安全和系統精準度造成影響;內部集成高精度IRC以及12位高精度多通道超高速ADC,模數轉換速度最高可達每秒80萬次,高精度時鐘可以保證程序更加快速地準確執行,同時系統的采樣速度也能夠得到提高,即可省去外部晶振電路和復位電路,使得電路更加簡潔快速穩定;擁有能夠存儲大量程序代碼的64K存儲器空間,以及可配置大小的48K字節的EEPROM空間,這個功能在實時存儲波形數據和保存主界面設置數據時會用到,8K字節RAM空間,能夠保證在進行采樣和驅動OLED屏幕時緩存還留有足夠余地,從而保證系統高速穩定運行。支持ISP方式更新應用程序,通過USB TO TTL下載線連接單片機和電腦,在STC-ISP軟件上可以方便地對單片機進行功能設置和下載程序。
3 系統模塊設計
3.1 AD轉換模塊
系統上電后延時啟動AD轉換并點亮指示燈,開始信號采集。由定時器定時產生中斷,在采樣中斷到來時開啟AD轉換。通過控制定時器定時,設置采樣時間即可產生不同的采樣率,從而實現對不同頻率段數據的采集[10],在AD轉換結束后把采樣數據存儲到指定的區域。選擇不同的時間區間(即采樣時間)AD轉換模塊就可在相應的時間段內對輸入信號進行離散化采樣并把數據存入緩存中,然后把采樣數據讀取到單片機內進行計算,即可在屏幕上繪制波形并顯示波形相關信息,如果采樣被中斷,則會使用緩存中的舊采樣點顯示波形。集成的高精度高速ADC模擬外設結合編碼器的控制,能夠保證系統快速采樣的準確性,進而做到實時準確地在屏幕上顯示波形的瞬間變化情況。系統程序流程圖如圖2所示。
3.2 編碼器控制模塊
編碼器控制模塊的作用是依據不同的設置需求,設計與之對應的輸入控制信號,配合單片機的中斷指令,進而做到選項切換和參數調節。編碼器每次旋轉或按下都會輸出一個電平脈沖,通過設置編碼器按下同時旋轉標志位,可以讓單片機識別出所有預設的編碼器輸入操作,據此可以通過旋轉編碼器控制單片機外部中斷端口電平高低來實現對整個系統的輸入控制。當單片機中斷端口掃描到某一規定的編碼器輸入脈沖時,相應的程序模塊就會被執行,以完成選項切換或參數調節等控制指令。由于無其他任何外接器件,直接控制單片機內的相關外設和運行相應程序模塊,進一步提高了系統的快速采樣和運算能力。
3.3 OLED屏幕驅動模塊
屏幕采用的是SSD1306 OLED 液晶顯示屏,屏幕像素為 128×64,像素點陣為自發光,低功耗,可以用來清晰準確地顯示采樣波形及其相關信息。屏幕驅動程序有寫字符、字符串、數字、16×16中文字符、畫水平線、垂直線、繪制圖片等功能,作用是把經過單片機處理計算之后的數據顯示在OLED屏幕上相應位置的點上,以實現波形的快速清晰顯示。原理為首先將采樣值映射到屏幕的顯示范圍并反轉,然后獲取一個距離屏幕中心最近的臨時觸發點的位置,分析采樣數據并計算出觸發點位置,根據這個點定位波形,向左右兩側連續查找和依據上升沿下降沿查找即可在屏幕上顯示出波形,緩存中剩余部分的點用來計算波形信息。
4 實測及結論
4.1 普通采樣實測
為了解系統運行時對輸入信號的實際測量情況,使用波形發生器輸出不同頻率的正弦波對該簡易示波器系統的準確度、采樣速度以及屏幕波形還原的顯示情況進行了測試。正弦波的頻率范圍為2KHz~10KHz,實際測量的記錄結果如表1所示,示波器的屏幕顯示情況如圖3所示。
4.2 單次采樣實測
在自動觸發方式下無論是否滿足觸發條件系統都會一直進行采樣并實時地顯示波形,這種測量方式可以用來觀測連續變化的波形,但無法捕捉波形的上升和下降可能只有幾毫秒甚至幾微秒的瞬間變化的波形。此時就需要用單次觸發方式來觀察信號波形,用單次觸發方式測量信號需要系統有很高的采樣速度,本設計充分利用單片機內部模擬外設,極少使用外部元器件,從而實現了快速測量的能力。
用單次觸發方式對一個輸出電壓為DC 4.2V的電源適配器進行上電瞬間輸出電壓波形變化的實際測量,若用常規模式測量屏幕上只是顯示一條水平直線,而用示波器單次觸發方式測試電源適配器上電瞬間輸出電壓變化情況則如圖4所示,在屏幕上能清晰地觀察到波形上升的變化折線及拐點,可見示波器完整測得了適配器上電瞬間輸出電壓的變化情況。
5 結束語
該系統以STC單片機為控制核心,通過軟硬件結合,實現了波形顯示、頻率計算、幅值測量、觸發方式可調及波形滾動等功能,可在自動觸發、普通觸發和單次觸發三種觸發方式之間切換,屏幕上顯示的波形正確、完整、標準,較好地將采樣信號重現了出來;還有較強的擴展能力,可在開發平臺上編寫更多不同的功能模塊,擴充該系統的數據處理及分析功能,以此來形成新的儀器功能。該設計價格低廉、運行穩定、可擴展性強,通過外接存儲器擴展存儲空間可存儲波形信息,添加相關模塊可以實現對瞬時變化波形脈沖的計數,可應用于需要在線實時監測的場所。實測表明:該示波器測量精度較高、功能多、調節方便;在單次觸發時,可捕獲和顯示1ms~10ms的波形瞬間變化情況。該實驗結合了單片機原理、程序設計、接口原理等課程相關內容,實驗重復性較好,適合作為學生實驗內容,也可用于學科競賽培訓。
參考文獻:
[1] Napoli E,Zacharelos E,D’Arco M,et al.Real-time downsampling in digital storage oscilloscopes with multichannel architectures[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2021,68(10):4142-4155.
[2] Wu F Q,Yang F Y,Ma D D,et al.Design of virtual digital oscilloscope based on LabVIEW[J].E3S Web of Conferences,2021,268:01059.
[3] 杜超,林開偉,陳曼雯,等.物聯網智能示波器研究與設計[J].物聯網技術,2017,7(11):36-39,41.
[4] 周宦銀,房宗良,曹劍鋒,等.基于雙口RAM核監測數字示波器設計研究[J].現代電子技術,2013,36(24):122-124,127.
[5] 周恩宜.數字示波器原理、基本特性和應用[J].電子制作,2015(18):6.
[6] 計長安.用MCU實現模擬示波器對信號的在線分析和處理[J].工業控制計算機,2004,17(1):52-53.
[7] 劉洪慶,向前.示波器最新技術進展與發展趨勢[J].電子質量,2021(8):1-5.
[8] Robert Lashlee.示波器發展趨勢展望[J].國外電子測量技術,2009,28(5):9-11.
[9] 于寅虎.國產示波器發展現狀及對策分析[J].電子產品世界,2014,21(5):10-11.
[10] 劉偉,丁雷,許婷,等.基于單片機微控制器的簡易數字示波器設計[J].信息系統工程,2010(10):82-83,85.
【通聯編輯:謝媛媛】