基于單片機(jī)設(shè)計(jì)的簡(jiǎn)易多通道虛擬示波器系統(tǒng)電路
數(shù)據(jù)采集電路設(shè)計(jì)
本文引用地址:http://2s4d.com/article/201612/324752.htmATmega16單片機(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)論