新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)設(shè)計(jì)的簡(jiǎn)易多通道虛擬示波器系統(tǒng)電路

基于單片機(jī)設(shè)計(jì)的簡(jiǎn)易多通道虛擬示波器系統(tǒng)電路

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
  本文通過(guò)LabVIEW虛擬實(shí)驗(yàn)軟件平臺(tái)設(shè)計(jì)了一種利用ATmega16單片機(jī)進(jìn)行數(shù)據(jù)采集,通過(guò)RS232串行通信將數(shù)據(jù)傳送給PC的簡(jiǎn)易虛擬示波器。用戶可以在開發(fā)平臺(tái)上對(duì)數(shù)據(jù)采集參數(shù)進(jìn)行設(shè)置和調(diào)整以及對(duì)波形數(shù)據(jù)存儲(chǔ)。系統(tǒng)的創(chuàng)新點(diǎn)是擺脫了傳統(tǒng)開發(fā)平臺(tái)的限制,具有多通道、方便、靈活等特點(diǎn),在數(shù)據(jù)采集、傳感器監(jiān)測(cè)等領(lǐng)域有重要應(yīng)用。虛擬儀器是基于PC技術(shù)發(fā)展起來(lái)的,所以完全“繼承”了以現(xiàn)成即用的PC技術(shù)為主導(dǎo)的最新商業(yè)技術(shù)的優(yōu)點(diǎn),包括功能超卓的處理器和文件I/O,使在數(shù)據(jù)導(dǎo)入磁盤的同時(shí)就能實(shí)時(shí)地進(jìn)行復(fù)雜的分析。為了實(shí)時(shí)、準(zhǔn)確地測(cè)量輸入波形的參數(shù),本文采用自帶8路10位ADC的單片機(jī)ATmega16,結(jié)合簡(jiǎn)單的外圍電路,即可將輸入波形實(shí)時(shí)傳送給PC機(jī)進(jìn)行處理。通過(guò)PC機(jī)上虛擬儀器平臺(tái)LabVIEW開發(fā)的上位機(jī)軟件對(duì)波形進(jìn)行顯示和處理,從而達(dá)到簡(jiǎn)易虛擬示波器的效果。

  數(shù)據(jù)采集電路設(shè)計(jì)

本文引用地址:http://2s4d.com/article/201612/324752.htm

  ATmega16單片機(jī)是美國(guó)Atmel公司生產(chǎn)的基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器。ATmega16有如下特點(diǎn):16k字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫的能力,即RWW),512字節(jié)EEPROM,1k字節(jié)SRAM,32個(gè)通用I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8路 10位具有可選差分輸入級(jí)可編程增益(TQFP封裝)的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SPI 串行端口,以及六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。

  

  圖2 采樣電路原理圖。

  本設(shè)計(jì)正是利用ATmega16的8路10位可編程增益的逐次比較型ADC及可編程異步串行接口的內(nèi)部資源,從而簡(jiǎn)化了電路設(shè)計(jì)的難度及編程難度。采樣電路的電路圖如圖2所示,ATmega16只需結(jié)合簡(jiǎn)單的晶振電路和復(fù)位電路就可以完成本設(shè)計(jì)的需求。模擬信號(hào)通過(guò)8路模擬輸入的任意端口輸入即可,通過(guò)單片機(jī)內(nèi)部程序控制,很容易就將輸入模擬量轉(zhuǎn)化為數(shù)字量。單片機(jī)再通過(guò)串行接口傳輸給PC機(jī), 串行通信通過(guò)串行發(fā)送引腳TXD(PD1)和串行接收引腳RXD(PD0)連接串行通信接口電路實(shí)現(xiàn)數(shù)據(jù)的串行傳送與接收。

  串口通信接口電路設(shè)計(jì)

  本系統(tǒng)設(shè)計(jì)中通過(guò)Max232連接單片機(jī)和PC機(jī)。ATmega16 具有異步串行通訊接口(UART),UART是為能與計(jì)算機(jī)通訊的全雙工異步系統(tǒng)。本系統(tǒng)采用RS232接口方式, 由于RS232信號(hào)電平與AVR單片機(jī)信號(hào)電平(TTL 電平)不一致,因此在采用RS232標(biāo)準(zhǔn)時(shí)必須進(jìn)行信號(hào)電平轉(zhuǎn)換。在串行通信的接口電路中選用MAX232芯片作為信號(hào)電平轉(zhuǎn)換芯片,實(shí)現(xiàn)TTL電平和 RS232接口電平之間的轉(zhuǎn)換。從而把ATmega16內(nèi)部需要傳送的數(shù)字信號(hào)準(zhǔn)確無(wú)誤地傳輸給PC機(jī),供上位機(jī)軟件讀取并進(jìn)行信號(hào)處理。

  串行接口電路原理圖如圖3所示,TTL電平引腳輸入引腳9、10,連接ATmega16的串行發(fā)送接口TXD和串行接收接口RXD,通過(guò)電平轉(zhuǎn)換為RS232電平,通過(guò)7腳和8腳連接串行接口的2腳和3腳,串行接口通過(guò)串行通信線連接采樣模塊的串行接口和PC機(jī)的串行接口。ATmega16通過(guò)內(nèi)部編程很方便地把數(shù)據(jù)傳送給PC機(jī)。

  

  圖3 串口通信接口電路圖。

  多通道采樣原理:由于ATmega16內(nèi)部ADC為8選1數(shù)據(jù)通道,在具體實(shí)現(xiàn)某路數(shù)據(jù)采集時(shí)就必須更改多工選擇寄存器ADMUX的數(shù)值。為能隨時(shí)更改通道,本設(shè)計(jì)采用主從方式,通過(guò)上位機(jī)發(fā)送給ATmega16的數(shù)值來(lái)改變通道。在ATmega16的串行中斷的接收中斷中, 通過(guò)判斷接收的數(shù)值更改ADMUX的數(shù)值。同時(shí),在串行接口接收中斷中,通過(guò)接收的數(shù)值的編碼也可用來(lái)改變ADC相鄰兩次轉(zhuǎn)換之間的延時(shí)值,從而達(dá)到改變轉(zhuǎn)換速率的效果,當(dāng)需要采集雙通道數(shù)值時(shí),單片機(jī)內(nèi)部ADC可采用分時(shí)復(fù)用的原則,同時(shí)將獲得的八位數(shù)據(jù)加一個(gè)最高標(biāo)志位,擴(kuò)展為九位數(shù)據(jù)位。上位機(jī)通過(guò)對(duì)數(shù)據(jù)的最高位的校驗(yàn),可以很方便地區(qū)分?jǐn)?shù)據(jù),在顯示界面上將雙通道波形實(shí)時(shí)顯示更新。

  本文設(shè)計(jì)的虛擬示波器系統(tǒng)由單片機(jī)ATmega16和Max232構(gòu)成的下位機(jī)系統(tǒng)及由LabVIEW開發(fā)的上位機(jī)軟件構(gòu)成。系統(tǒng)充分利用 ATmega16單片機(jī)軟硬件資源,方便快捷地實(shí)現(xiàn)數(shù)據(jù)采集。并且通過(guò)RS232接口實(shí)現(xiàn)與上位PC機(jī)的連接,PC機(jī)通過(guò)LabVIEW開發(fā)平臺(tái)方便地實(shí)現(xiàn)進(jìn)行數(shù)據(jù)的分析、處理、存儲(chǔ)和打印輸出的簡(jiǎn)易虛擬示波器。本系統(tǒng)具有電路簡(jiǎn)單、使用靈活方便等特點(diǎn)。因此能廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、水文系統(tǒng)、環(huán)境監(jiān)測(cè)等領(lǐng)域,實(shí)現(xiàn)現(xiàn)場(chǎng)勘測(cè)和數(shù)據(jù)采集。



評(píng)論


技術(shù)專區(qū)

關(guān)閉