基于PIC單片機(jī)的簡易數(shù)字示波器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:提出了利用PIC單片機(jī)作為控制核心的簡易數(shù)字示波器的設(shè)計(jì)方案。介紹了系統(tǒng)總體設(shè)計(jì)的體系結(jié)構(gòu),以及硬件和軟件的具體實(shí)現(xiàn)。輸入信號(hào)經(jīng)過預(yù)處理租AD轉(zhuǎn)換后,傳輸?shù)絾纹瑱C(jī),利用鍵盤做功能設(shè)置,在LCD上把波形顯示出來,實(shí)現(xiàn)信號(hào)的實(shí)時(shí)采樣、數(shù)據(jù)處理以及顯示控制等簡易數(shù)字示波器功能。此系統(tǒng)方案規(guī)模小、性能穩(wěn)定、實(shí)現(xiàn)方便、價(jià)格低廉,具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:PIC;單片機(jī);數(shù)字示波器;AD轉(zhuǎn)換;采樣
0 引言
數(shù)字示波器是工業(yè)控制、電子測量、信號(hào)處理及儀器儀表等行業(yè)最常用的測量儀器之一。它將捕捉到的模擬信號(hào)通過AD轉(zhuǎn)換后,存儲(chǔ)到示波器中,對信號(hào)作一步的處理,可以獲得被測信號(hào)的多種信號(hào)參數(shù),如頻率、幅值、前后沿時(shí)間、平均值等,有利于對產(chǎn)品作進(jìn)一步的分析設(shè)計(jì)。
1 總體設(shè)計(jì)
表征示波器的一些關(guān)鍵技術(shù)指標(biāo)有:采樣率、存儲(chǔ)容量、觸發(fā)類型、帶寬、分辨率等。采樣率定義了每秒從連續(xù)信號(hào)中提取并組成離散信號(hào)的采樣個(gè)數(shù),采樣率的倒數(shù)是采樣周期,它表示采樣之間的時(shí)間間隔。采樣率可分為實(shí)時(shí)采樣率和等效采樣率,實(shí)時(shí)采樣率指單次采樣所能達(dá)到的最大采樣率,等效采樣率指用多次采樣得到的信號(hào)共同完成信號(hào)的重建。
存儲(chǔ)容量指獲取波形的取樣點(diǎn)的數(shù)目,用直接存放AD轉(zhuǎn)換后數(shù)據(jù)的獲取存儲(chǔ)器的存儲(chǔ)單元數(shù)來表示記錄時(shí)間、取樣速率以及存儲(chǔ)深度三者之間的關(guān)系。示波器的存儲(chǔ)容量越大,采樣數(shù)據(jù)的能力越強(qiáng),更善于捕獲像毛刺這類通常偶爾發(fā)生的信號(hào)。
觸發(fā)常見的類型有上升沿觸發(fā)和下降沿觸發(fā),即通過指定的極性和電壓電平識(shí)別波形的觸發(fā),設(shè)定一個(gè)適當(dāng)?shù)挠|發(fā)電平以后,觸發(fā)電路開始捕捉觸發(fā)脈沖,完成數(shù)據(jù)采集。顯示出來的波形是以信號(hào)的某個(gè)上升沿或某個(gè)下降沿為觸發(fā)參考點(diǎn)的。作用是保證每次采集的數(shù)據(jù),都是從輸入信號(hào)上的一個(gè)精確確定的點(diǎn)作為參考點(diǎn)來顯示,有利于顯示波形重復(fù)且穩(wěn)定,如果沒有觸發(fā)電路,在屏幕上看到的將是雜亂無章的波形。
分辨率分為垂直(電壓)分辨率和水平(時(shí)間)分辨率,反映了信號(hào)波形的細(xì)節(jié)特性。AD轉(zhuǎn)換器通過把采樣電壓和參考電壓進(jìn)行比較來確定采樣電壓的幅度。構(gòu)成AD轉(zhuǎn)換器所用的比較器越多,AD轉(zhuǎn)換器可以識(shí)別的電壓層次也越多,這個(gè)特性稱為垂直分辨率,垂直分辨率越高,則示波器上的波形中可以看到的信號(hào)細(xì)節(jié)越小。
本系統(tǒng)將采集到的模擬信號(hào)經(jīng)過AD轉(zhuǎn)換后變成數(shù)字量,利用單片機(jī)進(jìn)行數(shù)據(jù)的處理儲(chǔ)存,轉(zhuǎn)換成LCD相應(yīng)的X、Y坐標(biāo)值和顯示數(shù)值??梢圆捎脝纹瑱C(jī)和FPGA/CPLD的方式實(shí)現(xiàn),由FPGA/CPLD完成采集、存儲(chǔ)、顯示及AD/DA等功能,即由FPGA/CPLD實(shí)現(xiàn)人機(jī)交互及信號(hào)測量分析等功能。由于 硬件的限制,系統(tǒng)的實(shí)現(xiàn)由PIC單片機(jī)、AD轉(zhuǎn)換器、LCD模塊等組成,由單片機(jī)完成基本處理分析,包括信號(hào)的采集、存儲(chǔ)、顯示等控制與變換工作。此方式的優(yōu)點(diǎn)在于系統(tǒng)規(guī)模比較小,可以靈活實(shí)現(xiàn),卻不適宜于觀察高速信號(hào)或復(fù)雜信號(hào)。體系結(jié)構(gòu)圖如圖1所示。
2 硬件設(shè)計(jì)
硬件電路由七部分組成:輸入程控放大電路、采樣電路(高速AD轉(zhuǎn)換電路)、FIFO存儲(chǔ)電路、觸發(fā)電路、顯示控制電路、時(shí)鐘產(chǎn)生電路和測頻與控制電路。其中程控放大電路、采樣電路和顯示控制電路是主要的三部分。程控電路是將波形幅值通過比例縮放顯示在屏幕上,之后在周邊加上標(biāo)尺注明,將波形調(diào)整到合適的采集范圍。采樣電路負(fù)責(zé)采集,它的核心為AD轉(zhuǎn)換器,采樣信號(hào)經(jīng)過AD轉(zhuǎn)換器,傳輸?shù)絾纹瑱C(jī),由單片機(jī)處理以及顯示控制電路。顯示控制電路負(fù)責(zé)按照要求的形式顯示被測信號(hào)的波形。
2.1 程控電路設(shè)計(jì)
程控電路的作用是對輸入信號(hào)進(jìn)行衰減或放大調(diào)整,使輸出信號(hào)電壓在AD轉(zhuǎn)換器輸入電壓要求范圍內(nèi),達(dá)到最好的測量與觀察效果,這就要求運(yùn)算放大器在規(guī)定帶寬內(nèi)的增益一定要平坦,選用NSC公司生產(chǎn)的LM6172運(yùn)算放大器,帶寬為100MHz,轉(zhuǎn)換速率3000v/μs。圖2是程控電路原理圖的一部分。
2.2 采樣電路設(shè)計(jì)
AD轉(zhuǎn)換電路將被測信號(hào)采樣并轉(zhuǎn)換成數(shù)字信號(hào)存入存儲(chǔ)器,它直接決定著數(shù)字示波器所能測量的最高頻率,在本電路中選用的8位高速AD轉(zhuǎn)換器ADS830E,采樣頻率為10kSa/s~60MSa/s。
ADS830E的每個(gè)時(shí)鐘周期進(jìn)行一次DA轉(zhuǎn)換,采樣率就是時(shí)鐘頻率,可以方便地通過控制采樣時(shí)鐘來控制采樣率,而且ADS830E的輸入電壓幅度是可以編程控制的,RSEL引腳為控制引腳,當(dāng)置高電平時(shí),ADS830E的輸入電壓范圍是1.5~3.5V,即2Vpp;當(dāng)置低電平時(shí),輸入電壓范圍是2~3V,即1Vpp。
由程控放大電路調(diào)整后的信號(hào)分成兩路,一路進(jìn)入AD轉(zhuǎn)換電路進(jìn)行采樣,采樣所得的數(shù)據(jù)由74LVC574鎖存緩沖后送入FIFO存儲(chǔ)器。在AD轉(zhuǎn)換器與PIC單片機(jī)之間加入FIFO的作用是起到高速數(shù)據(jù)緩沖的作用,因?yàn)锳D轉(zhuǎn)換器的最高工作頻率為60MHz,遠(yuǎn)高于單片機(jī)的工作頻率,所以讓FIFO與AD轉(zhuǎn)換器同步工作存儲(chǔ)AD轉(zhuǎn)換器的轉(zhuǎn)換輸出數(shù)據(jù),當(dāng)FIFO存儲(chǔ)器存滿后引腳被拉高,通知單片機(jī)進(jìn)行數(shù)據(jù)讀取,這時(shí)單片機(jī)禁止AD轉(zhuǎn)換器與FIFO存儲(chǔ)器的時(shí)鐘使能信號(hào),F(xiàn)IFO的控制權(quán)交給單片機(jī)。
2.3 顯示控制電路設(shè)計(jì)
顯示的核心是LCD在不同的坐標(biāo)位置上打點(diǎn),眾多的點(diǎn)聯(lián)系在一起就成了圖形。前面敘述了由于PIC單片機(jī)讀取數(shù)據(jù)的速度跟不上高速的采樣速率造成了在接收中要有個(gè)緩存的部分,此處采用了FIFO存儲(chǔ)器。FIFO的特點(diǎn)是速度快、雙端口、輸入和輸出分開,而且擁有空滿標(biāo)志。它可以從一端讀入數(shù)據(jù),不會(huì)使得AD轉(zhuǎn)換器和PIC共用一個(gè)I/O口,在處理數(shù)據(jù)上很方便。
PIC單片機(jī)對采集到的數(shù)據(jù)顯示的過程是先對FIFO做是否滿判斷,確認(rèn)采集到足夠的數(shù)據(jù)來顯示,然后清除屏幕上已有的圖像,之后判斷數(shù)據(jù)是否在屏幕顯示的范圍內(nèi),若超出范圍,將兩組數(shù)據(jù)合理組合得到在屏幕上顯示的數(shù)據(jù),通過調(diào)用顯示函數(shù)顯示出來。后面的數(shù)據(jù)只需讀出一組,通過和之前的數(shù)據(jù)運(yùn)算和處理顯示出來,這樣就可繪制出連續(xù)的波形了。
對顯示的控制采用鍵盤按鍵,鍵盤電路采用6個(gè)信號(hào)接口控制24個(gè)鍵,大大節(jié)省了單片機(jī)控制所使用的I/O口。鍵盤的24個(gè)鍵被分為3組,每一組對應(yīng)于一個(gè)741s148,它是一個(gè)3/8譯碼器,當(dāng)有一個(gè)鍵被按下,則其中一個(gè)被置低電平,741s148有三個(gè)口D0、D1、D2,這三個(gè)口可指出其中哪個(gè)鍵被按下,如Y1檢測電平拉低,則D0、D1、D2對應(yīng)是101。圖3是鍵盤控制電路圖。
3 軟件設(shè)計(jì)
軟件部分要由AD轉(zhuǎn)換子程序、顯示子程序、讀寫子程序、按鍵處理子程序組成。圖4是一次完整采樣處理的流程圖。
主程序在上電初始化后,等待信號(hào)采集,查詢AD轉(zhuǎn)換是否完成,AD轉(zhuǎn)換完成后,數(shù)據(jù)寫入FIFO存儲(chǔ)器,當(dāng)FIFO存儲(chǔ)器寫滿后,FIFO寫滿標(biāo)志位觸發(fā)單片機(jī)的數(shù)據(jù)讀取程序,把采樣數(shù)據(jù)讀取到單片機(jī)內(nèi),根據(jù)先前的按鍵狀態(tài)所設(shè)置的功能寄存器內(nèi)容,處理數(shù)據(jù),并在LCD上顯示需要的波形。
AD轉(zhuǎn)換程序在一定的采樣時(shí)間內(nèi),對輸入的模擬信號(hào)進(jìn)行數(shù)據(jù)采樣,由定時(shí)器定時(shí)產(chǎn)生中斷,在采樣中斷到來時(shí)開啟AD轉(zhuǎn)換,AD轉(zhuǎn)換結(jié)束后數(shù)據(jù)存儲(chǔ)到指定的區(qū)域。通過控制定時(shí)器定時(shí)的時(shí)間即可控制不同的采樣率,從而實(shí)現(xiàn)對不同頻率段數(shù)據(jù)的采集。由于AD轉(zhuǎn)換時(shí)間的限制,不能采集頻率高韻信號(hào)波形,對此采用等效采樣模式,等效采樣是指多個(gè)信號(hào)周期連續(xù)采樣來復(fù)現(xiàn)一個(gè)信號(hào)波形,采樣系統(tǒng)能以擴(kuò)展的方式復(fù)現(xiàn)頻率大大超過奈奎斯特極限頻率的信號(hào)波形。
顯示子程序?qū)⑥D(zhuǎn)換得到的數(shù)字信號(hào)量顯示在LCD相應(yīng)的點(diǎn)上。橫軸用于顯示耐間,縱軸顯示電壓大小的值,先計(jì)算出某一個(gè)待顯示數(shù)字量在橫軸上的位置,再根據(jù)數(shù)字量的大小計(jì)算出在縱軸上的位置,這樣就能在顯示器上顯示出該數(shù)字量所對應(yīng)的點(diǎn)。將所采集的點(diǎn)依次顯示后在屏幕上看到的即為信號(hào)的波形。
讀寫子程序的功能是將想要存儲(chǔ)的信號(hào)波形存儲(chǔ)起來,以便以后觀看波形細(xì)節(jié)。按鍵處理子程序的功能主要是根據(jù)不同的輸入,選擇不同的功能。采用行列掃描的方式對按鍵進(jìn)行掃描,當(dāng)掃描的某一按鍵按下時(shí),執(zhí)行相應(yīng)的功能。
4 結(jié)束語
本系統(tǒng)設(shè)計(jì)簡單、清晰,充分利用單片機(jī)內(nèi)部資源,實(shí)現(xiàn)了普通示波器的基礎(chǔ)功能如信號(hào)測量、頻率測量、觸發(fā)電平可調(diào),垂直與掃描檔可變等,同時(shí)又?jǐn)U展了按鍵波形存儲(chǔ),單次觸發(fā)等功能,可應(yīng)用于儀表實(shí)時(shí)顯示動(dòng)態(tài)波形,具有良好的使用前榮。如果選用性能更好的模擬開關(guān)和運(yùn)算放大器,更合理的電阻,可提高信號(hào)調(diào)理電路的放大準(zhǔn)確度,增大測量幅度范圍。