


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、D/A 接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí) D/A 轉(zhuǎn)換原理 掌握 MAX504 D/A 轉(zhuǎn)換芯片的使用方法 掌握不帶有 D/A 的CPU 擴(kuò)展D/A 功能的主要方法 了解 D/A 驅(qū)動(dòng)程序加入內(nèi)核的方法二、實(shí)驗(yàn)內(nèi)容學(xué)習(xí) D/A 接口原理,了解實(shí)現(xiàn)D/A 系統(tǒng)對(duì)于系統(tǒng)的軟件和硬件要求。閱讀MAX504芯片文檔,掌握其使用方法。三、預(yù)備知識(shí) 有 C 語言基礎(chǔ) 掌握在 Linux 下常用編輯器的使用 掌握 Makefile 的編寫和使用 掌握 Linux 下的程序編譯與交叉編譯過程四、實(shí)驗(yàn)設(shè)備及工具硬件:UP-NETARM2410-S 嵌入式實(shí)驗(yàn)平臺(tái)、PC 機(jī)Pentium 500 以上, 硬盤10G 以
2、上。軟件:PC 機(jī)操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX 開發(fā)環(huán)境五、實(shí)驗(yàn)原理1、D/A 轉(zhuǎn)換器D/A 轉(zhuǎn)換器的內(nèi)部電路構(gòu)成無太大差異,一般按輸出是電流還是電壓、能否作乘法運(yùn)算等進(jìn)行分類。大多數(shù)D/A 轉(zhuǎn)換器由電阻陣列和n 個(gè)電流開關(guān)(或電壓開關(guān))構(gòu)成。按數(shù)字輸入值切換開關(guān),產(chǎn)生比例于輸入的電流(或電壓)。 電壓輸出型(如TLC5620)電壓輸出型D/A 轉(zhuǎn)換器雖有直接從電阻陣列輸出電壓的,但一般采用內(nèi)置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負(fù)載,由于無輸出放大器部分的延遲,故常作為高速D/A 轉(zhuǎn)換器使用。 電流輸出型(如THS5661A)電流
3、輸出型D/A 轉(zhuǎn)換器很少直接利用電流輸出,大多外接電流電壓轉(zhuǎn)換電路得到電壓輸出,后者有兩種方法:一是只在輸出引腳上接負(fù)載電阻而進(jìn)行電流電壓轉(zhuǎn)換,二是外接運(yùn)算放大器。用負(fù)載電阻進(jìn)行電流電壓轉(zhuǎn)換的方法,雖可在電流輸出引腳上出現(xiàn)電壓,但必須在規(guī)定的輸出電壓范圍內(nèi)使用,而且由于輸出阻抗高,所以一般外接運(yùn)算放大器使用。此外,大部分CMOS DA 轉(zhuǎn)換器當(dāng)輸出電壓不為零時(shí)不能正確動(dòng)作,所以必須外接運(yùn)算放大器。當(dāng)外接運(yùn)算放大器進(jìn)行電流電壓轉(zhuǎn)換時(shí),則電路構(gòu)成基本上與內(nèi)置放大器的電壓輸出型相同,這時(shí)由于在D/A 轉(zhuǎn)換器的電流建立時(shí)間上加入了運(yùn)算放入器的延遲,使響應(yīng)變慢。此外,這種電路中運(yùn)算放大器因輸出引腳的內(nèi)部
4、電容而容易起振,有時(shí)必須作相位補(bǔ)償。 乘算型(如AD7533)D/A 轉(zhuǎn)換器中有使用恒定基準(zhǔn)電壓的,也有在基準(zhǔn)電壓輸入上加交流信號(hào)的,后者由于能得到數(shù)字輸入和基準(zhǔn)電壓輸入相乘的結(jié)果而輸出,因而稱為乘算型D/A 轉(zhuǎn)換器。乘算型D/A轉(zhuǎn)換器一般不僅可以進(jìn)行乘法運(yùn)算,而且可以作為使輸入信號(hào)數(shù)字化地衰減的衰減器及對(duì)輸入信號(hào)進(jìn)行調(diào)制的調(diào)制器使用。 一位 D/A 轉(zhuǎn)換器一位D/A 轉(zhuǎn)換器與前述轉(zhuǎn)換方式全然不同,它將數(shù)字值轉(zhuǎn)換為脈沖寬度調(diào)制或頻率調(diào)制的輸出,然后用數(shù)字濾波器作平均化而得到一般的電壓輸出(又稱位流方式),用于音頻等場(chǎng)合。2、D/A 轉(zhuǎn)換器的主要技術(shù)指標(biāo) 分辯率(Resolution)指最小模擬
5、輸出量(對(duì)應(yīng)數(shù)字量僅最低位為“1”)與最大量(對(duì)應(yīng)數(shù)字量所有有效位為“1”)之比。 建立時(shí)間(Setting Time)是將一個(gè)數(shù)字量轉(zhuǎn)換為穩(wěn)定模擬信號(hào)所需的時(shí)間,也可以認(rèn)為是轉(zhuǎn)換時(shí)間。D/A 中常用建立時(shí)間來描述其速度,而不是A/D 中常用的轉(zhuǎn)換速率。一般地,電流輸出D/A 建立時(shí)間較短,電壓輸出D/A 則較長。其他指標(biāo)還有線性度(Linearity),轉(zhuǎn)換精度,溫度系數(shù)/漂移。3、MAX504 10 位D/A 轉(zhuǎn)換器的特點(diǎn)由單個(gè) 5V 電源供電電壓輸出緩沖內(nèi)部 2.048V 參考電壓INL= 21 LSB(MAX)電壓不隨溫度變化可變的輸出范圍:0VVDD,VSSVDD上電復(fù)位串行輸出其各
6、個(gè)管腳的功能如表2.5.1 所示:表2.5.1 管腳定義管腳名稱 功能1 BIPOFF Bipolar offset/gain resistor2 DIN Serial data input3 CLR Clear. Asynchronously sets DAC register to all 0s.4 SCLK Serial clock input5 CS Chip select, active low6 DOUT Serial data output for daisy-chaining7 DGND Digital ground8 AGND Analog ground9 REFIN Ref
7、erence input10 REFOUT Reference output, 2.048V. Connect to VDD if not used.11 VSS Negative power supply12 VOUT DAC output13 VDD Positive power supply14 RFB Feedback resistor4、MAX504 在開發(fā)板上的連接MAX504 在開發(fā)板中的連接如圖2.5.1 所示:圖2.5.1 Max504 的連接上圖中,RFB 連接VOUT、BIPOFF 連接AGND,使得輸出電壓范圍為02VREFIN,即04.069V。時(shí)鐘和輸入、輸出信號(hào)分
8、別與同步串口的時(shí)鐘、發(fā)送和接收端相連。可以通過WriteSDIO(data)函數(shù)(Uhal.h)向MAX504 發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)時(shí)要注意,MAX504 可接受12 位的數(shù)據(jù),但低兩位不起作用。WriteSDIO(data)函數(shù)一次只能發(fā)送8 位的數(shù)據(jù),所以發(fā)送數(shù)據(jù)時(shí)應(yīng)先將數(shù)據(jù)左移兩位,然后先發(fā)送高八位,再發(fā)送低八位數(shù)據(jù)。CLR 和CS 分別由MAX504_CLEAR()和MAX504_ENABLE()、MAX504_DISABLE()函數(shù)(Max504.c)控制。六、程序分析程序流程圖如圖 2.5.2:圖2.5.2 實(shí)驗(yàn)程序流程圖具體程序代碼da_main.c 如下:/* by zou ji
9、an guo* 2004.9.27 14:30* the driver is s3c2410_da_max504.c in drivers/char*/#include #include #include #include #define DA0_IOCTRL_WRITE 0 x10#define DA1_IOCTRL_WRITE 0 x11#define DA_IOCTRL_CLR 0 x12#define Max504_FULL 4.096fstatic int da_fd = -1;char *DA_DEV=/dev/exio/0raw;void Delay(int t)int i;fo
10、r(;t0;t-)for(i=0;i400;i+);/*/int main(int argc, char *argv)float v;unsigned int value;/ char *da_dev;/ unsigned int da_num=0;if(argc 3)printf(n);printf(Error parametern);printf(Input as:n);printf(./ad_main da_id numn);printf( da_id: select between 0 and 1n);printf( num: range 0.0 4.096n);printf(n);r
11、eturn 1;sscanf(argv2, %f,&v);if(vMax504_FULL)printf(DA out must between: 0 to %fn, Max504_FULL);return 1;value=(unsigned int)(v*1024.0f)/Max504_FULL);if(da_fd=open(DA_DEV, O_WRONLY)0)printf(Error opening /dev/exio/0raw devicen);return 1;if(strcmp(argv1,0) = 0)ioctl(da_fd, DA_IOCTRL_CLR, 0); /clear d
12、a.ioctl(da_fd, DA0_IOCTRL_WRITE, &value);else if (strcmp(argv1,1) = 0)ioctl(da_fd, DA_IOCTRL_CLR, 1); /clear da.ioctl(da_fd, DA1_IOCTRL_WRITE, &value);#if 0ioctl(da_fd, DA_IOCTRL_CLR, 0); /clear da.for(;)ioctl(da_fd, DA0_IOCTRL_WRITE, &value);Delay(500);#endifclose(da_fd);printf(Current Voltage is %
13、f vn, v);return 0;七、實(shí)驗(yàn)步驟1、閱讀理解源碼進(jìn)入/arm2410s/exp/basic/05_da 目錄,使用vi 編輯器或其他編輯器閱讀理解源代碼2、編譯應(yīng)用程序運(yùn)行make 產(chǎn)生da 可執(zhí)行文件da_mainrootzxt /# cd /arm2410s/exp/basic/05_da/rootzxt 05_da# makearmv4l-unknown-linux-gcc -c -o da_main.o da_main.carmv4l-unknown-linux-gcc da_main.o -o da_mainrootzxt 05_da# lsda_main da_ma
14、in.c da_main.o doc drivers Makefile s3c44b0-spi.h3、下載調(diào)試切換到minicom 終端窗口,使用NFS mount 開發(fā)主機(jī)的/arm2410s 到/host 目錄,然后進(jìn)入/host/exp/05_da/drivers 目錄,用insmod exio.o 命令插入D/A 驅(qū)動(dòng),并用 lsmod 命令查看是否已經(jīng)插入。 /mnt/yaffscd /host/exp/basic/05_da/host/exp/basic/05_dacd drivers/host/exp/basic/05_da/driversinsmod exio.oUsing e
15、xio.o/host/exp/basic/05_da/driverslsmodModule Size Used by Not taintedexio 2384 0 (unused)i2c-tops2 14104 0 (unused)注意:卸載模塊可以使用rmmod 命令,以本實(shí)驗(yàn)為例,卸載方法如下:/host/exp/basic/05_darmmod exio進(jìn)入/host/exp/basic/05_da 目錄,運(yùn)行./da_main,觀察運(yùn)行結(jié)果的正確性。在輸入 ./da_main 后會(huì)出現(xiàn)下面的提示信息。/host/exp/basic/05_da./da_mainError paramet
16、erInput as:./ad_main da_id numda_id: select between 0 and 1num: range 0.0 4.096這是由于我們沒有指定參數(shù)造成的,它的格式為 ./da_main da 的id 號(hào) 數(shù)字,我們可以通過選擇0 或1 來決定輸出到開發(fā)板上的哪個(gè)D/A 接口;同時(shí)還需要在0.04.096V之間來選擇一個(gè)輸出電壓。下面的例子是用了開發(fā)板上的DA0 并且輸出1V 的電壓,我們可以使用萬用表對(duì)其進(jìn)行測(cè)量。/host/exp/basic/05_da./da_main 0 1Current Voltage is 1.000000 v八、思考題1D/A
17、轉(zhuǎn)換器的分類。(1)電壓輸出型電壓輸出型D/A轉(zhuǎn)換器雖有直接從電阻陣列輸出電壓的,但一般采用內(nèi)置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負(fù)載,由于無輸出放大器部分的延遲,故常作為高速D/A轉(zhuǎn)換器使用。(2)電流輸出型電流輸出型D/A轉(zhuǎn)換器直接輸出電流,但應(yīng)用中通常外接電流一電壓轉(zhuǎn)換電路得到電壓輸出。電流一電壓可以直接在輸出引腳上連接一個(gè)負(fù)載電阻,實(shí)現(xiàn)電流一電壓轉(zhuǎn)換。但多采用的是外接運(yùn)算放大器的形式。另外,大部分CMOS D/A轉(zhuǎn)換器當(dāng)輸出電壓不為零時(shí)不能正確動(dòng)作,所以必須外接運(yùn)算放大器。由于在D/A轉(zhuǎn)換器的電流建立時(shí)間上加入了外接運(yùn)算放入器的延遲,使D/A響應(yīng)變慢。此外,這種電路
18、中運(yùn)算放大器因輸出引腳的內(nèi)部電容而容易起振,有時(shí)必須作相位補(bǔ)償。(3)乘算型D/A轉(zhuǎn)換器中有使用恒定基準(zhǔn)電壓的,也有在基準(zhǔn)電壓輸入上加交流信號(hào)的,后者由于能得到數(shù)字輸入和基準(zhǔn)電壓輸入相乘的結(jié)果而輸出,因而稱為乘算型D/A轉(zhuǎn)換器。乘算型D/A轉(zhuǎn)換器一般不僅可以進(jìn)行乘法運(yùn)算,而且可以作為使輸入信號(hào)數(shù)字化地衰減的衰減器及對(duì)輸入信號(hào)進(jìn)行調(diào)制的調(diào)制器使用。另外,根據(jù)建立時(shí)間的長短,D/A轉(zhuǎn)換器可分為以下幾種類型: 低速D/A轉(zhuǎn)換器,建立時(shí)間100s;中速D/A轉(zhuǎn)換器,建立時(shí)間為10100s;高速D/A轉(zhuǎn)換器,建立時(shí)間為110s;較高速D/A轉(zhuǎn)換器,建立時(shí)間為100ns1s;超高速D/A轉(zhuǎn)換器,建立時(shí)間為100ns。根據(jù)電阻網(wǎng)絡(luò)的結(jié)構(gòu)可以分為權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器、T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器、倒T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器、權(quán)電流D/A轉(zhuǎn)換器等形式。2D/A 轉(zhuǎn)換器的主要技術(shù)指標(biāo)。(1)分辨率(Resolution)D/A轉(zhuǎn)換器的分辨率是指DAC電路所能分辨的最小輸出電壓與滿量程輸出電壓之比。最小輸出電壓是指輸入數(shù)字量只有最低有效位為1時(shí)的輸出電壓,最大輸出電壓是指輸入數(shù)字量各位全為1時(shí)的輸出電壓。DAC的分辨率可用下式表示:分辨率1/(2n1)式中,n表示數(shù)字量的二進(jìn)制位數(shù)。DAC產(chǎn)生誤差的主要原因有: 基準(zhǔn)電壓VREF的波動(dòng),運(yùn)放的零點(diǎn)漂移,電組網(wǎng)絡(luò)中電阻阻值偏差等原因。(2)轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 禮儀教育與學(xué)歷融合
- 環(huán)保生活未來可期
- 合伙出資股投資合同范本
- 廠房安全合同范本
- 入團(tuán)申請(qǐng)書范文
- 倒閉店鋪轉(zhuǎn)讓合同范本
- 管理會(huì)計(jì)復(fù)習(xí)試題附答案
- 借款質(zhì)押車合同范例
- 單位用水合同范本
- 員工烤酒合同范本
- 男護(hù)士的職業(yè)生涯規(guī)劃書
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫含答案
- 工藝技術(shù)人員工作總結(jié)
- DB61T-農(nóng)產(chǎn)品區(qū)域公用品牌管理規(guī)范
- 中央2025年中國民航大學(xué)勞動(dòng)合同制人員招聘7人筆試歷年參考題庫附帶答案詳解
- 高一生活指南模板
- 廣州電視塔鋼結(jié)構(gòu)施工方案
- 【9物一?!?024年安徽省合肥市廬陽中學(xué)九年級(jí)中考一模物理試卷
- 2024-2025學(xué)年部編版歷史七年級(jí)下冊(cè)第一單元綜合評(píng)估卷(含答案)
- 《工程經(jīng)濟(jì)與項(xiàng)目管理》課程教學(xué)大綱
- 人教版四年級(jí)下冊(cè)音樂第四單元《凱皮拉的小火車》優(yōu)質(zhì)教案
評(píng)論
0/150
提交評(píng)論