你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
給你一個(gè)單片機(jī),你能造出一個(gè)示波器嗎?
發(fā)布時(shí)間:2017-03-01 責(zé)任編輯:susan
【導(dǎo)讀】本文解析如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易的示波器,整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,清晰。充分利用了AVR單片機(jī)內(nèi)部資源使系統(tǒng)電路得以簡(jiǎn)單化,通過(guò)測(cè)試該系統(tǒng)在測(cè)量頻率方向的誤差很小,可以用來(lái)比較準(zhǔn)確的測(cè)量測(cè)試信號(hào)的頻率。
1、系統(tǒng)結(jié)構(gòu)框圖
圖1.系統(tǒng)結(jié)構(gòu)圖
1.1、信號(hào)調(diào)理電路
信號(hào)調(diào)理電路要完成的功能是:程控放大,疊加直流分量。程控放大的作用是:當(dāng)輸入信號(hào)的幅度很小的時(shí)候就需要對(duì)輸入信號(hào)進(jìn)行放大,使得被測(cè)信號(hào)可以在LCD上盡可能清楚的顯示出來(lái)。疊加直流分量的作用是:ATmega16自帶的A/D是單電源的,沒辦法輸入負(fù)壓而待測(cè)信號(hào)又往往有負(fù)壓。這時(shí)候就需要這樣一個(gè)電路,可以把負(fù)壓抬高到0電平以上。
圖2.信號(hào)調(diào)理電路原理圖
R1,R2分別由一個(gè)模擬開關(guān)CD4051來(lái)連接不同的電阻,不同的R1,R2通過(guò)公式:這樣就可以實(shí)現(xiàn)程控放大功能了??烧{(diào)電阻R9用來(lái)設(shè)置信號(hào)調(diào)理電路加入的直流分量的大小。放大后的信號(hào)和直流分量最后由U3模擬加法器疊加后輸出。
輸入信號(hào)與輸出信號(hào)的關(guān)系:只要R4、R6、R7的阻值相同,調(diào)理電路輸入與輸出的關(guān)系簡(jiǎn)化為:。
Ux為U3的輸出電壓,輸出電壓的電壓值與可調(diào)電阻R9中間抽頭的電壓一至。
1.2、主控芯片軟件設(shè)計(jì)
這個(gè)系統(tǒng)的主控芯片選擇的是,Atmel公司的AVR系列單片機(jī)ATmega16,最高可達(dá)到16MPIS指令速度。ATmega16有16K的flash, 1K的SRAM, 512 B的EEPROM,單片機(jī)內(nèi)部自帶一個(gè)10 bits精度的逐次逼近型模數(shù)轉(zhuǎn)換器,內(nèi)建采樣/保持電路。ADC的時(shí)鐘是可編程的,在這個(gè)設(shè)計(jì)中為了太到最高的采樣頻率100KHz ADC的時(shí)鐘設(shè)置為2MHz。ADC的觸發(fā)源選擇為定時(shí)器/計(jì)數(shù)器0溢出,ATmega16的定時(shí)器的時(shí)鐘源也是可編程的。這樣就可以通過(guò)控制定時(shí)器/計(jì)數(shù)器0溢出中斷頻率來(lái)控制ADC的采樣頻率。
圖3.簡(jiǎn)易示波器系統(tǒng)程序流程圖
1.2.1、鍵盤功能
在這個(gè)系統(tǒng)中設(shè)置了7個(gè)按鈕分別為:運(yùn)行與停止,放大倍數(shù)增大,放大倍數(shù)減小,采樣頻率增大,采樣頻率減小,觸發(fā)電平上移,觸發(fā)電平下移。
運(yùn)行與停止鍵:是通過(guò)開啟和關(guān)閉ATmega16 ADC轉(zhuǎn)換完畢中斷的方式來(lái)實(shí)現(xiàn)的。
放大倍數(shù)的增大與減小:是通過(guò)ATmega16控制模擬開關(guān)CD4051來(lái)實(shí)現(xiàn)放大倍數(shù)的數(shù)字化控制。CD4051為8通道的模擬開關(guān),所以程控放大器可以有8檔。
采樣頻率的增大與減小:是通過(guò)控制ATmega16的定時(shí)器0的時(shí)鐘源及定時(shí)器的初始值來(lái)實(shí)現(xiàn)系統(tǒng)所需要的各個(gè)采樣頻率。定時(shí)器0的中斷頻率就等于ADC的采樣頻率。
觸發(fā)電平的上移與下移:是通過(guò)對(duì)采樣來(lái)的數(shù)據(jù)進(jìn)行數(shù)字觸發(fā)時(shí),當(dāng)數(shù)據(jù)的二進(jìn)制值在增加的過(guò)程中某個(gè)數(shù)據(jù)的大小剛好與數(shù)字觸發(fā)的二進(jìn)制數(shù)值一樣,在此以后的波形數(shù)據(jù)才存入顯示RAM中。
當(dāng)這7個(gè)按鍵中的某一個(gè)被觸發(fā),都會(huì)置位相應(yīng)的標(biāo)志位,以便刷新LCD液晶屏上相應(yīng)的顯示信息。
1.2.3、數(shù)字觸發(fā)功能
如何實(shí)現(xiàn)觸發(fā)呢?用硬件來(lái)完成的話又會(huì)增加系統(tǒng)硬件電路的復(fù)雜度,我就想了一個(gè)辦法,有軟件的方式來(lái)實(shí)現(xiàn)觸發(fā)的功能。實(shí)現(xiàn)的過(guò)程如下:
for (ik=0;ik<500;ik++){
if (k0_ram){
if (box_buff[ik] < trigger) {
kk_ram = 1 ;
}
if (kk_ram){
if ((box_buff[ik] >= trigger) & (ik < 402)){
en_ram = 1 ;
k0_ram = 0 ;
kk_ram = 0 ;
}}}
if (en_ram){
boxing[adc_data]=box_buff[ik] ;
adc_data++ ;
if (adc_data > 96){
adc_data = 0x00 ;
en_ram = 0 ;
}}}
trigger的大小可以通過(guò)觸發(fā)電平上移與觸發(fā)電平下移按鍵來(lái)設(shè)置它的大小。
1.2.3、還原波形
GDM12864A是一個(gè)具有128點(diǎn)x 64點(diǎn)的點(diǎn)陣LCD。根據(jù)所選的LCD的特點(diǎn),Y軸上只有64個(gè)點(diǎn),所以能顯示的數(shù)據(jù)范圍為0到63而采樣得到的數(shù)據(jù)為8位的二進(jìn)制數(shù)據(jù)為0到255。為了能在這個(gè)LCD上顯示只取8位數(shù)據(jù)的高6位。那么如何把這高6位的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成在LCD上的Y軸座標(biāo)和數(shù)據(jù)值呢?我想了這樣一個(gè)計(jì)算的方法:
LCD的縱向分為8個(gè)地址從上到下依次為0~7,每個(gè)地址段有8個(gè)數(shù)據(jù)點(diǎn)。在某個(gè)數(shù)據(jù)段中如果想依次讓這些位從上到下點(diǎn)亮就需要依次向這個(gè)地址段送數(shù)據(jù)0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,送入0x00后這個(gè)地址段的8個(gè)數(shù)據(jù)點(diǎn)將不被點(diǎn)亮。實(shí)現(xiàn)的具體過(guò)程如圖4所示。
dat = dat>>2
y = 7
dat >= 8 ?
dat = dat – 8; y--;
y == 1 ?
dat > 7 ?
dat = 7 ;
dat = 0x80 >> dat
write_add(y,x) ;
write_data(dat) ;
否
否
否
圖4.數(shù)據(jù)還原成波形上點(diǎn)的程序流程圖
1.2.4、ADC采樣頻率控制
ADC的采樣頻率在上文已有提及,ADC中斷的計(jì)算公式為:,通過(guò)ATmega16的特殊功能寄存器TCCR0的低3位CS02,CS01,CS00的設(shè)置就可以改變的頻率,再把TCNT0設(shè)置成不同的數(shù)值就可以得到這個(gè)系統(tǒng)所需要的各個(gè)采樣頻率值了。表1中的數(shù)據(jù)是通過(guò)上面的公式計(jì)算出來(lái)的數(shù)據(jù)再經(jīng)實(shí)際的系統(tǒng)調(diào)試并修正后的數(shù)據(jù)。
表1.采樣頻率的設(shè)置
系統(tǒng)性能指標(biāo)及誤差
2.1、系統(tǒng)性能指標(biāo)
系統(tǒng)主要性能指標(biāo)見表2所示。
表2.系統(tǒng)主要性能指標(biāo)
2.2、系統(tǒng)誤差
系統(tǒng)的誤差主要出在信號(hào)調(diào)理電路,因?yàn)槟M開關(guān)有一定的內(nèi)阻約為80Ω對(duì)調(diào)理電路的放大倍數(shù)會(huì)造成一定的影響。通過(guò)1.1中的計(jì)算公式計(jì)算出來(lái)的電阻值在實(shí)際中不存在,通過(guò)幾個(gè)電阻串聯(lián)來(lái)實(shí)現(xiàn)也還是會(huì)有一定的誤差。平衡電阻R3是固定的在R1,R2發(fā)生變化的時(shí)候,平衡電阻可能就不能平衡也會(huì)給運(yùn)算放大器引入一定的誤差。
2.3、可以改進(jìn)的地方
系統(tǒng)可以進(jìn)一步改進(jìn)的地方在于信號(hào)調(diào)理電路,可以通過(guò)選擇性能更好的模擬開關(guān)和運(yùn)算放大器,更合理的選擇電阻這樣就可以提高信號(hào)調(diào)理電路的放大的準(zhǔn)確度。使整個(gè)系統(tǒng)的性能得以進(jìn)一步改善。
2.4、系統(tǒng)實(shí)際工作情況
LCD顯示的信息分別有,波形圖像,在波形的上面是橫軸的標(biāo)尺,在屏幕的右邊為系統(tǒng)的運(yùn)行狀態(tài)(Run / Stop),Time為整個(gè)波形框的時(shí)間長(zhǎng)度,Volt-為電壓檔,在波形框與信息框之間有個(gè)小點(diǎn)為信號(hào)的觸發(fā)電平。信號(hào)的頻率=波形框中信號(hào)的周期數(shù)/Time。
結(jié)論
用這種方法可以實(shí)現(xiàn)一個(gè)簡(jiǎn)易的示波器,整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,清晰。充分利用了AVR單片機(jī)內(nèi)部資源使系統(tǒng)電路得以簡(jiǎn)單化,就連系統(tǒng)的工作時(shí)鐘也是AVR內(nèi)部自帶的。通過(guò)測(cè)試該系統(tǒng)在測(cè)量頻率方向的誤差很小,可以用來(lái)比較準(zhǔn)確的測(cè)量測(cè)試信號(hào)的頻率。
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗(yàn)科技驅(qū)動(dòng)的未來(lái)汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽(yáng)能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測(cè)量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級(jí)分流器以及匹配的評(píng)估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖