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