基于單片機(jī)的等效采樣示波器設(shè)計(jì)
3 軟件設(shè)計(jì)
3.1 總體軟件流程
總體軟件流程如圖3所示。MCU1接收MCU2的測(cè)頻結(jié)果,并將幅值信息傳遞給MCU2,由MCU1根據(jù)輸入頻率確定采樣方式,并控制精密時(shí)鐘發(fā)生電路為ADC提供采樣時(shí)鐘。一次采樣完成后,由MCU1處理采樣數(shù)據(jù)并送LCD顯示。
3.2 實(shí)時(shí)采樣的實(shí)現(xiàn)
實(shí)時(shí)采樣中,為了使采樣得到的波形盡量精確,系統(tǒng)將1.25MHz以下的信號(hào)分為三個(gè)頻率范圍,在每個(gè)頻率范圍內(nèi)由程控時(shí)鐘電器產(chǎn)生某一固定的基準(zhǔn)時(shí)鐘,結(jié)合相應(yīng)的分頻數(shù)進(jìn)行采樣。具體設(shè)置如睛:輸入頻率為1Hz~1kHz,由單片機(jī)提供40kHz采樣時(shí)鐘;輸入頻率為1kHz~1MHz,由芯片SY89429V提供40MHz采樣時(shí)鐘;輸入頻率為1MHz~1.25MHz,由芯片SY89429V提供50MHz采樣時(shí)鐘。
3.3 等效采樣的實(shí)現(xiàn)
由于可編程頻率合成芯片SY89429V在本系統(tǒng)所使用的25MHz~50MHz頻率范圍內(nèi),步進(jìn)值始終為0.125MHz。為便于數(shù)據(jù)處理,軟件設(shè)計(jì)過(guò)程中可以將所有的實(shí)際頻率轉(zhuǎn)換成以0.125MHz為單位的代值,即除以0.125MHz。 系統(tǒng)中所采用的模數(shù)轉(zhuǎn)換器TLC5540的轉(zhuǎn)換速率為5MHz~40MHz,當(dāng)輸入頻率小于40MHz時(shí),采用每個(gè)信號(hào)周期采一點(diǎn)的方法;當(dāng)輸入頻率超過(guò)40MHz時(shí),采用兩個(gè)信號(hào)周期一點(diǎn)的方法。
下面以輸入頻率在1.25MHz~40MHz之間的情況為例,輸入頻率大于40MHz的情況可以類推得到。 將輸入頻率fin轉(zhuǎn)換后的代值(以后簡(jiǎn)稱代值)記為dfin,根據(jù)輸入頻率設(shè)定芯片SY89429V的頻率字SY(只取整數(shù),用于控制輸出信號(hào)的頻率),經(jīng)過(guò)n分頻后產(chǎn)生采樣頻率。根據(jù)等效采樣的原理,采樣頻率與輸入頻率相近(對(duì)于輸入頻率為40MHz~80MHz的情況,采樣頻率與輸入頻率的二分頻接近),二者頻率代值的差值記做da,則SY可以表示為: SY=(dfin-da) %26;#215;n
(1) 這時(shí)復(fù)現(xiàn)一個(gè)波形所需的采樣點(diǎn)數(shù)為: d=(dfin-da)/da
(2) 本系統(tǒng)選用的液晶為160%26;#215;160點(diǎn)陣,將x軸上40個(gè)點(diǎn)所表示的時(shí)間定義為一格時(shí)基,記作A,則液晶屏幕上顯示的周期個(gè)數(shù)為: N=160%26;#215;da/(dfin-da) (3) 由此,時(shí)基可以表示為: A=N/(4%26;#215;fin)=40%26;#215;da/[fin%26;#215;(dfin-da)]
(4) 一個(gè)波形的采樣點(diǎn)數(shù)也可以用時(shí)基和輸入頻率來(lái)表示: d=40/(A%26;#215;fin)
(5) 筆者利用本文介紹的算法,實(shí)現(xiàn)了等效采樣,能夠地1MHz~80MHz的周期信號(hào)進(jìn)行波形復(fù)現(xiàn),效果令人滿意。這種簡(jiǎn)易示波器在人機(jī)界面上為用戶提供手動(dòng)和自動(dòng)兩種工作模式,性價(jià)比高,有廣闊的市場(chǎng)空間。
評(píng)論