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