AD轉(zhuǎn)換和DA轉(zhuǎn)換苦心收集PPT教學(xué)課件_第1頁
AD轉(zhuǎn)換和DA轉(zhuǎn)換苦心收集PPT教學(xué)課件_第2頁
AD轉(zhuǎn)換和DA轉(zhuǎn)換苦心收集PPT教學(xué)課件_第3頁
AD轉(zhuǎn)換和DA轉(zhuǎn)換苦心收集PPT教學(xué)課件_第4頁
AD轉(zhuǎn)換和DA轉(zhuǎn)換苦心收集PPT教學(xué)課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、18.1 A/D和D/A轉(zhuǎn)換的基本問題8.1.1 A/D轉(zhuǎn)換1 1采樣精度采樣精度2 2采樣速率采樣速率3 3濾波濾波4 4物理量回歸物理量回歸數(shù)字控制系統(tǒng)框圖數(shù)字控制系統(tǒng)框圖 參量/電壓 轉(zhuǎn)換 A/D 轉(zhuǎn)換器 數(shù)字電子 計算機 D/A 轉(zhuǎn)換器 被控制 對象 被測參量 數(shù)字量 模擬量 數(shù)字量 模擬量 第1頁/共25頁28.1 A/D和D/A轉(zhuǎn)換的基本問題8.1.2 A/D轉(zhuǎn)換器積分型A/D轉(zhuǎn)換器逐次逼近型A/D轉(zhuǎn)換器 第2頁/共25頁38.1 A/D和D/A轉(zhuǎn)換的基本問題8.1.3 D/A轉(zhuǎn)換D/A轉(zhuǎn)換器的轉(zhuǎn)換精度 分辨率轉(zhuǎn)換誤差D/A轉(zhuǎn)換器的轉(zhuǎn)換速度 建立時間tset轉(zhuǎn)換速率SR第3頁/共2

2、5頁48.1 A/D和D/A轉(zhuǎn)換的基本問題8.1.4 D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器的組成 開關(guān)網(wǎng)絡(luò)電阻網(wǎng)絡(luò)集成運放組成比例求和電路倒T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器 第4頁/共25頁58.1 A/D和D/A轉(zhuǎn)換的基本問題 VREF d2 uo I2 - + A ? + RF R R R 2R 2R 2R 2R 2R d3 d1 d0 I1 I3 I0 I2 IREF I1 I3 I0 S 2 I S 1 S 0 S 3 I n0 n1 n2 n3 4 4位位R-2RR-2R倒倒T T型型D/AD/A轉(zhuǎn)換器轉(zhuǎn)換器 第5頁/共25頁68.2 DG128內(nèi)部A/D轉(zhuǎn)換模塊8.2.1 DG128內(nèi)部A/D轉(zhuǎn)換模塊

3、寄存器 A/D轉(zhuǎn)換控制寄存器2 A/D轉(zhuǎn)換控制寄存器3 A/D轉(zhuǎn)換控制寄存器4 A/D轉(zhuǎn)換控制寄存器5 A/D轉(zhuǎn)換狀態(tài)寄存器0 第6頁/共25頁78.2 DG128內(nèi)部A/D轉(zhuǎn)換模塊8.2.1 DG128內(nèi)部A/D轉(zhuǎn)換模塊寄存器 A/D轉(zhuǎn)換測試寄存器1 A/D轉(zhuǎn)換狀態(tài)寄存器1 A/D轉(zhuǎn)換輸入使能寄存器 A/D轉(zhuǎn)換端口數(shù)據(jù)寄存器 A/D轉(zhuǎn)換結(jié)果寄存器 第7頁/共25頁88.2 DG128內(nèi)部A/D轉(zhuǎn)換模塊 8.2.2 A/D轉(zhuǎn)換模塊的基本編程方法1A/D轉(zhuǎn)換初始化ATDCTL2 = 0bATDCTL2 = 0b1111000000; 000000; /ATDCTL2.ADPU = 1/ATDCT

4、L2.ADPU = 1為打開轉(zhuǎn)換電源開關(guān)為打開轉(zhuǎn)換電源開關(guān) /ATDCTL2.AFFC = 1/ATDCTL2.AFFC = 1為為A/DA/D轉(zhuǎn)換轉(zhuǎn)換CCFCCF自動清自動清0 0位位 ATDCTL3 = 0b0000ATDCTL3 = 0b000010111011; ; /ATDCTL3.S1C = 1/ATDCTL3.S1C = 1表示序列長度為表示序列長度為1 1 /ATDCTL3.FIFO = 0/ATDCTL3.FIFO = 0為非為非FIFOFIFO模式模式 /ATDCTL3.FRZ0/ATDCTL3.FRZ0FRZ1 = 11FRZ1 = 11表示立刻進入凍結(jié)模式表示立刻進入凍

5、結(jié)模式 ATDCTL4 =0b000ATDCTL4 =0b0000011100111; ; /ATDCTL4.PRS4/ATDCTL4.PRS4PRS0 = 00111PRS0 = 00111表示總線頻率表示總線頻率1616分頻分頻 ATDCTL4 &=0bATDCTL4 &=0b0 01111111; 1111111; /ATDCTL4.SRES8 = 0/ATDCTL4.SRES8 = 0表示表示1010位轉(zhuǎn)換精度位轉(zhuǎn)換精度 第8頁/共25頁98.2 DG128內(nèi)部A/D轉(zhuǎn)換模塊 8.2.2 A/D轉(zhuǎn)換模塊的基本編程方法2啟動A/D轉(zhuǎn)換ATDCTL5 = 0bATDCTL5 = 0b0 0

6、0 01 10000000000; ; /ATDCTL5.DJM = 0,/ATDCTL5.DJM = 0,結(jié)果寄存器數(shù)據(jù)采用左調(diào)結(jié)果寄存器數(shù)據(jù)采用左調(diào)整方式整方式/ATDCTL5.SCAN = 1/ATDCTL5.SCAN = 1,連續(xù)轉(zhuǎn)換序列,連續(xù)轉(zhuǎn)換序列/ATDCTL5.CC/ATDCTL5.CCCA = 000CA = 000,啟動,啟動0 0通道轉(zhuǎn)換通道轉(zhuǎn)換第9頁/共25頁108.2 DG128內(nèi)部A/D轉(zhuǎn)換模塊 8.2.2 A/D轉(zhuǎn)換模塊的基本編程方法3獲A/D轉(zhuǎn)換結(jié)果while(1) while(1) /判斷判斷ATDSTAT0ATDSTAT0的第的第7 7位是否為位是否為1 1

7、 if(ATDSTAT0&(1 SCFBit)!=0) if(ATDSTAT0&(1 6); temp = (temp 6); break; break; return temp; return temp; /返回返回10-bit10-bit的轉(zhuǎn)換結(jié)果的轉(zhuǎn)換結(jié)果第10頁/共25頁118.3 DG128內(nèi)部A/D轉(zhuǎn)換編程實例 8.3.1 A/D轉(zhuǎn)換C語言頭函數(shù)(ADC.h)/AD/AD轉(zhuǎn)換寄存器及標(biāo)志位定義轉(zhuǎn)換寄存器及標(biāo)志位定義#define SCFBit 7 /#define SCFBit 7 /轉(zhuǎn)換完成標(biāo)志位轉(zhuǎn)換完成標(biāo)志位/串行通信相關(guān)函數(shù)聲明串行通信相關(guān)函數(shù)聲明/A/D/A/D轉(zhuǎn)換初始化轉(zhuǎn)

8、換初始化void ADCInit(void); void ADCInit(void); /1/1路路1010位位A/DA/D轉(zhuǎn)換轉(zhuǎn)換INT16U ADCvalue(INT8U channel);INT16U ADCvalue(INT8U channel);/1/1路路1010位位A/DA/D轉(zhuǎn)換轉(zhuǎn)換( (中值濾波中值濾波) )INT16U ADCmid(INT8U channel);INT16U ADCmid(INT8U channel);/1/1路路1010位位A/DA/D轉(zhuǎn)換轉(zhuǎn)換( (平均值濾波平均值濾波) ) INT16U ADCave(INT8U n,INT8U channel); I

9、NT16U ADCave(INT8U n,INT8U channel); 第11頁/共25頁128.3 DG128內(nèi)部A/D轉(zhuǎn)換編程實例 8.3.2 A/D轉(zhuǎn)換的C語言子函數(shù)(ADC.c) A/D轉(zhuǎn)換初始化 void ADCInit(void) 1路10位A/D轉(zhuǎn)換函數(shù) INT16U ADCvalue(INT8U channel) 1路A/D轉(zhuǎn)換函數(shù)(中值濾波) INT16U ADCmid(INT8U channel) 1路A/D轉(zhuǎn)換函數(shù)(均值濾波) INT16U ADCave(INT8U n,INT8U channel)第12頁/共25頁138.3 DG128內(nèi)部A/D轉(zhuǎn)換編程實例 8.3.

10、3 A/D轉(zhuǎn)換測試實例主函數(shù)(main.c)第第1 1步:步:禁止總中斷禁止總中斷第第2 2步:步:芯片初始化芯片初始化第第3 3步:步:串口初始化串口初始化第第4 4步:步:A/DA/D轉(zhuǎn)換初始化轉(zhuǎn)換初始化第第5 5步:步:在通道在通道0 0做做A/DA/D轉(zhuǎn)換轉(zhuǎn)換,200,200次中值濾波次中值濾波第第6 6步:步:發(fā)送高發(fā)送高8 8位數(shù)據(jù)位數(shù)據(jù)第第7 7步:步:發(fā)送低發(fā)送低8 8位位第第8 8步:步:延遲延遲第第9 9步:步:轉(zhuǎn)第轉(zhuǎn)第5 5步步第13頁/共25頁148.4 高位AD擴展接口8.4.1 A/D芯片TLC2543概述 引腳說明 編程要點 控制字的格式 內(nèi)部寄存器 轉(zhuǎn)換過程與M

11、CU的接口方法 1 20 2 19 3 18 4 17 5 16 6 15 7 14 8 13 9 12 10 11 AIN0 AIN1 AIN2 AIN3 AIN4 AIN5 AIN6 AIN7 AIN8 AIN9 Vcc EOC I/O CLOCK DATA INPUT DATA OUTPUT CS REF+ REF- AIN11 AIN10 第14頁/共25頁158.4 高位AD擴展接口 8.4.2 SPI模塊與TLC2543的接口擴展 擴展電路設(shè)計 MC9S12DG128 PTC0 MISO MOSI SPSCK PTA1 PTA2 TLC2543(第0片) AIN0 CS DATA

12、OUT DATA NPUT I/O CLOCK AIN10 模擬量輸入 TLC2543(第1片) AIN0 CS DATA OUT DATA INPUT I/O CLOCK AIN10 TLC2543(第2片) AIN0 CS DATA OUT DATA INPUT I/O CLOCK AIN10 PTA0第15頁/共25頁168.4 高位AD擴展接口8.4.2 SPI模塊與TLC2543的接口擴展 編程方法 SPI頭函數(shù)(SPI.h) SPI通信寄存器及標(biāo)志位定義 SPI通信相關(guān)函數(shù)聲明 TLC2543驅(qū)動函數(shù)(TLC2543_Driver.c)l1路AD轉(zhuǎn)換函數(shù) INT16U TLC254

13、3(INT16U cs,INT8U channel) ln路AD均值濾波函數(shù) void ADCP(INT8U n, INT8U cs, INT8U channel, INT16U * Values) 第16頁/共25頁178.4 高位AD擴展接口8.4.2 SPI模塊與TLC2543的接口擴展 應(yīng)用舉例:利用上述子程序?qū)崿F(xiàn)n路A/D數(shù)據(jù)的采集,并進行平均值濾波。每一路取n次求平均。 void ADCP(INT8U n, INT8U cs, INT8U channel, INT16U void ADCP(INT8U n, INT8U cs, INT8U channel, INT16U * * V

14、alues) Values)n n:均值濾波次數(shù):均值濾波次數(shù)cscs:片數(shù):片數(shù)ChannelChannel:每片的通道數(shù):每片的通道數(shù)ValuesValues:ADAD平均值平均值 第17頁/共25頁188.5 擴展實現(xiàn)DA轉(zhuǎn)換8.5.1 DA芯片TLV5608概述 引腳說明 TLV5608的控制寄存器 控制寄存器0(CTRL0) 控制寄存器1(CTRL1) TLV5608工作原理 1 20 2 19 3 18 4 17 5 16 6 15 7 14 8 13 9 12 10 11 DGND DIN SCLK FS PRE OUTE OUTF OUTG OUTH AGND DVDD DOU

15、T LDAC MODE REF OUTD OUTC OUTB OUTA AVDD 第18頁/共25頁198.5 擴展實現(xiàn)DA轉(zhuǎn)換8.5.2 SPI模塊與TLV5608的接口實現(xiàn) MC9S12DG128 PTA2 MOSI SPSCK PTA3 TLV5608(第0片) OUTA FS DIN SCLK OUTH MODE 模擬量輸入 TLV5608(第1片) OUTA FS DIN SCLK OUTH MODE +5V 第19頁/共25頁208.5 擴展實現(xiàn)DA轉(zhuǎn)換8.5.3 擴展DA的程序?qū)崿F(xiàn) D/A轉(zhuǎn)換中的SPI初始化 void DA_SPIInit(void) D/A轉(zhuǎn)換程序 void DAC(INT16U *value) TLV5608芯片D/A轉(zhuǎn)換初始化子程序(TLV5608Init.c) void TLV5608Init(void) TLV5608芯片D/A轉(zhuǎn)換子程序(TLV5608Z.c) void TLV5608Z(INT16U ch

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論