新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)和ADC0832的AD模數(shù)轉(zhuǎn)換

單片機(jī)和ADC0832的AD模數(shù)轉(zhuǎn)換

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
在工業(yè)控制和智能化儀表中,通常由微型計(jì)算機(jī)進(jìn)行實(shí)時(shí)控制及實(shí)時(shí)數(shù)據(jù)處理。計(jì)算機(jī)所加工的信息總是數(shù)字量,而被控制或被測(cè)量的有關(guān)參量往往是連續(xù)變化的模擬量,如溫度、速度、壓力等等,與此對(duì)應(yīng)的電信號(hào)是模擬信號(hào)。模擬量的存儲(chǔ)和處理比較困難,不適合作為遠(yuǎn)距離傳輸且易受干擾。在一般的工業(yè)應(yīng)用系統(tǒng)中傳感器把非電量的模擬信號(hào)變成與之對(duì)應(yīng)的模擬信號(hào),然后經(jīng)模擬(Analog)到數(shù)字(Digital)轉(zhuǎn)換電路將模擬信號(hào)轉(zhuǎn)成對(duì)應(yīng)的數(shù)字信號(hào)送微機(jī)處理。這就是一個(gè)完整的信號(hào)鏈,模擬到數(shù)字的轉(zhuǎn)換過(guò)程就是我們經(jīng)常接觸到的ADC(Analog to Digital Convert)電路。

模-數(shù)轉(zhuǎn)換(ADC)簡(jiǎn)介

本文引用地址:http://butianyuan.cn/article/201611/322224.htm

模-數(shù)轉(zhuǎn)換原理

ADC的轉(zhuǎn)換原理根據(jù)ADC的電路形式有所不同。ADC電路通常由兩部分組成,它們是:采樣、保持電路和量化、編碼電路。其中量化、編碼電路是最核心的部件,任何ADC轉(zhuǎn)換電路都必須包含這種電路。ADC電路的形式很多,通??梢圆閮深?lèi):

間接法:它是將采樣-保持的模擬信號(hào)先轉(zhuǎn)換成與模擬量成正比的時(shí)間或頻率,然后再把它轉(zhuǎn)換為數(shù)字量。這種通常是采用時(shí)鐘脈沖計(jì)數(shù)器,它又被稱(chēng)為計(jì)數(shù)器式。它的工作特點(diǎn)是:工作速度低,轉(zhuǎn)換精度高,抗干擾能力強(qiáng)。

直接法:通過(guò)基準(zhǔn)電壓與采樣-保持信號(hào)進(jìn)行比較,從而轉(zhuǎn)換為數(shù)字量。它的工作特點(diǎn)是:工作速度高,轉(zhuǎn)換精度容易保證。

模—數(shù)轉(zhuǎn)換的過(guò)程有四個(gè)階段,即采樣、保持、量化和編碼。

采樣是將連續(xù)時(shí)間信號(hào)變成離散時(shí)間信號(hào)的過(guò)程。經(jīng)過(guò)采樣,時(shí)間連續(xù)、數(shù)值連續(xù)的模擬信號(hào)就變成了時(shí)間離散、數(shù)值連續(xù)的信號(hào),稱(chēng)為采樣信號(hào)。采樣電路相當(dāng)于一個(gè)模擬開(kāi)關(guān),模擬開(kāi)關(guān)周期性地工作。理論上,每個(gè)周期內(nèi),模擬開(kāi)關(guān)的閉合時(shí)間趨近于0。在模擬開(kāi)關(guān)閉合的時(shí)刻(采樣時(shí)刻),我們就“采”到模擬信號(hào)的一個(gè)“樣本”。

量化是將連續(xù)數(shù)值信號(hào)變成離散數(shù)值信號(hào)的過(guò)程。理論上,經(jīng)過(guò)量化,我們就可以將時(shí)間離散、數(shù)值連續(xù)的采樣信號(hào)變成時(shí)間離散、數(shù)值離散的數(shù)字信號(hào)。

我們知道,在電路中,數(shù)字量通常用二進(jìn)制代碼表示。因此,量化電路的后面有一個(gè)編碼電路,將數(shù)字信號(hào)的數(shù)值轉(zhuǎn)換成二進(jìn)制代碼。

然而,量化和編碼總是需要一定時(shí)間才能完成,所以,量化電路的前面還要有一個(gè)保持電路。保持是將時(shí)間離散、數(shù)值連續(xù)的信號(hào)變成時(shí)間連續(xù)、數(shù)值離散信號(hào)的過(guò)程。在量化和編碼期間,保持電路相當(dāng)于一個(gè)恒壓源,它將采樣時(shí)刻的信號(hào)電壓“保持”在量化器的輸入端。雖然邏輯上保持器是一個(gè)獨(dú)立的單元,但是,工程上保持器總是與采樣器做在一起。兩者合稱(chēng)采樣保持器。

八位串行A/D轉(zhuǎn)換器ADC0832簡(jiǎn)介

ADC0832 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性?xún)r(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。ADC083X是市面上常見(jiàn)的串行模—數(shù)轉(zhuǎn)換器件系列。ADC0831、ADC0832、ADC0834、ADC0838是具有多路轉(zhuǎn)換開(kāi)關(guān)的8位串行I/O模—數(shù)轉(zhuǎn)換器,轉(zhuǎn)換速度較高(轉(zhuǎn)換時(shí)間32uS),單電源供電,功耗低(15mW),適用于各種便攜式智能儀表。本章以ADC0832為例,介紹其使用方法。

ADC0832是8腳雙列直插式雙通道A/D轉(zhuǎn)換器,能分別對(duì)兩路模擬信號(hào)實(shí)現(xiàn)模—數(shù)轉(zhuǎn)換,可以用在單端輸入方式和差分方式下工作。ADC0832采用串行通信方式,通過(guò)DI 數(shù)據(jù)輸入端進(jìn)行通道選擇、數(shù)據(jù)采集及數(shù)據(jù)傳送。8位的分辨率(最高分辨可達(dá)256級(jí)),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。

ADC0832 具有以下特點(diǎn):

· 8位分辨率;

· 雙通道A/D轉(zhuǎn)換;

· 輸入輸出電平與TTL/CMOS相兼容;

· 5V電源供電時(shí)輸入電壓在0~5V之間;

· 工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32μS;

· 一般功耗僅為15mW;

· 8P、14P—DIP(雙列直插)、PICC 多種封裝;

· 商用級(jí)芯片溫寬為0°C to +70°C,工業(yè)級(jí)芯片溫寬為-40°C to +85°C;

圖3 ADC0832引腳圖

芯片接口說(shuō)明:

· CS_ 片選使能,低電平芯片使能。

· CH0 模擬輸入通道0,或作為IN+/-使用。

· CH1 模擬輸入通道1,或作為IN+/-使用。

· GND 芯片參考零電位(地)。

· DI 數(shù)據(jù)信號(hào)輸入,選擇通道控制。

· DO 數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。

· CLK 芯片時(shí)鐘輸入。

· Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)

ADC0832的工作原理:

正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線(xiàn),分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)使用并與單片機(jī)的接口是雙向的,所以在I/O口資源緊張時(shí)可以將DO和DI并聯(lián)在一根數(shù)據(jù)線(xiàn)上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開(kāi)始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘(CLK)輸入端輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第一個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。在第二、三個(gè)脈沖下沉之前DI端應(yīng)輸入兩位數(shù)據(jù)用于選擇通道功能。

通道地址

通道

工作方式說(shuō)明

SGL/DIF

ODD/SIGN

0

1

0

0

+

-

差分方式

0

1

-

+

1

0

+

單端輸入方式

1

1

+

表1:通道地址設(shè)置表

如表1所示,當(dāng)此兩位數(shù)據(jù)為“1”、“0”時(shí),只對(duì)CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1”、“1”時(shí),只對(duì)CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)兩位數(shù)據(jù)為“0”、“0”時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)兩位數(shù)據(jù)為“0”、“1”時(shí),將CH0作為負(fù)輸入端IN-,CH1 作為正輸入端IN+進(jìn)行輸入。到第三個(gè)脈沖的下降之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開(kāi)始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)脈沖下降沿開(kāi)始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位Data7,隨后每一個(gè)脈沖的下降沿DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù)Data0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開(kāi)始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下降沿輸出Data0。隨后輸出8位數(shù)據(jù),到第19 個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。時(shí)序說(shuō)明請(qǐng)參照?qǐng)D4。

作為單通道模擬信號(hào)輸入時(shí)ADC0832的輸入電壓是0—5V且8位分辨率時(shí)的電壓精度為19.53mV,即(5/256)V。如果作為由IN+與IN-輸入的輸入時(shí),可是將電壓值設(shè)定在某一個(gè)較大范圍之內(nèi),從而提高轉(zhuǎn)換的寬度。但值得注意的是,在進(jìn)行IN+與IN-的輸入時(shí),如果IN-的電壓大于IN+的電壓則轉(zhuǎn)換后的數(shù)據(jù)結(jié)果始終為00H。

ADC0832的工作時(shí)序

圖4 ADC0832工作時(shí)序

ADC0832軟硬件設(shè)計(jì)實(shí)例

通過(guò)以上的理論學(xué)習(xí)之后,對(duì)模—數(shù)轉(zhuǎn)換應(yīng)該有了一定的了解,接下來(lái)就根據(jù)上文的指導(dǎo),對(duì)ADC0832進(jìn)行實(shí)際應(yīng)用,以加深印象。本實(shí)例功能是將通道1上采樣到的電壓顯示在LED數(shù)碼管上,通過(guò)改變通道1的輸入電壓變化,觀察輸出讀數(shù)。

硬件原理圖

圖7 硬件原理圖

程序流程圖

圖8 軟件流程圖

相信看到這里,你應(yīng)該可以理解我們是如何利用單片機(jī)來(lái)進(jìn)行模數(shù)轉(zhuǎn)換的處理了,你也可以根據(jù)自己的需要來(lái)寫(xiě)些AD模數(shù)轉(zhuǎn)換相關(guān)的應(yīng)用程序,如數(shù)字溫度計(jì),濕度傳感應(yīng)用,壓力傳感應(yīng)用等等。由于篇幅有限,讀者朋友可以通過(guò)網(wǎng)站或電子郵件一起交流與學(xué)習(xí)。在下幾期中,我們將陸續(xù)介紹51單片機(jī)綜合學(xué)習(xí)系統(tǒng)的其它功能原理與應(yīng)用。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉