周六上午-實驗二_第1頁
周六上午-實驗二_第2頁
周六上午-實驗二_第3頁
周六上午-實驗二_第4頁
周六上午-實驗二_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2D/A 接口實驗一、實驗目的學習D/A 轉換原理掌握MAX504 D/A 轉換的使用方法掌握不帶有D/A 的CPU 擴展D/A 功能的主要方法了解D/A 驅動程序加入內核的方法二、實驗內容學習 D/A 接口原理,了解實現 D/A 系統對于系統的文檔,掌握其使用方法。硬件要求。閱讀MAX504三、預備知識有C 語言基礎掌握在Linux 下常用編輯器的使用掌握 Makefile 的編寫和使用掌握Linux 下的程序編譯與交叉編譯過程四、實驗設備及工具硬件:UP-NETARM2410-S實驗、PC機Pentium 500以上, 硬盤10G以上。ARM-LINUX開發環境:PC機操作系統REDHIN

2、UX 9.0五、實驗原理1、D/A 轉換器D/A 轉換器的電路無太大差異,一般按輸出是電流還是電壓、能否作乘法運算等進行分類。大多數D/A轉換器由電阻陣列和n個電流開關(或電壓開關)切換開關,產生比例于輸入的電流(或電壓)。按數字輸入 值電壓輸出型(如TLC5620)電壓輸出型 D/A 轉換器雖有直接從電阻陣列輸出電壓的,但一般采用內置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負載,由于無輸出放大器部分的延遲,故常作為高速D/A轉換器使用。電流輸出型(如THS5661A)電流輸出型 D/A 轉換器很少直接利用電流輸出,大多外接電流電壓轉換電路得到電壓輸出,后者有兩種方法:一是只在輸

3、出引腳上接負載電阻而進行電流電壓轉換,二是外接運算放大器。用負載電阻進行電流電壓轉換的方法,雖可在電流輸出引腳上出現電壓,但必須在規定的輸出電壓范圍內使用,而且由于輸出阻抗高,所以一般外接運算放大器使用。此外,大部分CMOS DA轉換器當輸出電壓不為零時不能正確動作,所以必須外接運算放輸變補大器。當外接運算放大器進行電流電壓轉換時,則電路基本上與內置放大器的電壓出型相同,這時由于在D/A轉換器的電流建立時間上加入了運算放入器的延遲,使響應慢。此外,這種電路中運算放大器因輸出引腳的償。電容而容易起振,有時必須作相位乘算型(如AD7533)D/A 轉換器中有使用恒定基準電壓的,也有在基準電壓輸入上

4、加交流信號的,后者由于能得到數字輸入和基準電壓輸入相乘的結果而輸出,因而稱為乘算型D/A轉換器。乘算型D/A 轉換器一般不僅可以進行乘法運算,而且可以作為使輸入信號數字化地衰減的衰減器及對 輸入信號進行調制的調制器使用。一位D/A 轉換器一位 D/A 轉換器與前述轉換方式全然不同,它將數字值轉換為脈沖寬度調制或頻率調制的輸出,然后用數字濾波器作平均化而得到一般的電壓輸出(又稱位流方式),用于音頻等場合。2、D/A 轉換器的主要技術指標分辯率(Resolution)指最小模擬輸出量(對應數字量僅最低位為“1”)與最大量(對應數字量所有有效位為“1”)之比。建立時間(Setting Time)是將

5、一個數字量轉換為穩定模擬信號所需的時間,也可以認為是轉換時間。D/A 中常用建立時間來描述其速度,而不是A/D中常用的轉換速率。一般地,電流輸出D/A建立時間較 短,電壓輸出 D/A 則較長。 其他指標還有線性度(Linearity),轉換精度,溫度系數/漂移。3、MAX50410 位D/A 轉換器的特點由單個5V 電源供電電壓輸出緩沖2.048V 參考電壓INL= 1 LSB(MAX)2電壓不隨溫度變化 可變的輸出范圍:0VVDD,VSSVDD 上電復位串行輸出 其各個管腳的功能如表2.5.1所示:表 2.5.1 管腳定義管腳名稱功能1Oipolar offset/gain resistor

6、2DINSerial data input3CLRClear. Asynchronously sets DAC register to all 0s.4SCLKSerial clock input5CSChip select, active low6DOUTSerial data output for daisy-chaining7DGNDDigital ground8AGNDog ground9REFINReference input10REFOUTReference output, 2.048V. Connect to VDD if not used.11Vegativeer supply

7、4、MAX504 在開發板上的連接MAX504在開發板中的連接如圖2.5.1所示:圖 2.5.1 Max504 的連接上圖中,RFB連接VOUT、OFF連接AGND,使得輸出電壓范圍為02VREFIN,即04.069V。時鐘和輸入、輸出信號分別與同步串口的時鐘、發送和接收端相連。可以通過WriteSDIO(data)函數(Uhal.h)向MAX504發送數據。發送數據時要注意,MAX504可接受12位的數據,但低兩位不起作用。WriteSDIO(data)函數一次只能發送8位的數據,所以 發送數據時應先將數據兩位,然后先發送高八位,再發送低八位數據。CLR 和 CS 分別 由MAX504_CL

8、EAR()和MAX504_ENABLE()、MAX504_DISABLE()函數(Max504.c)控制。12VOUTDAC output13VDDitiveer supply14RFBFeedback resistor六、程序分析程序流程圖如圖2.5.2:圖 2.5.2 實驗程序流程圖具體程序代碼da_main.c如下:/*by zou jian guo*2004.9.27 14:30*the driver is s3c2410_da_max504.c in drivers/char*/ #include #include #include #include #define DA0_IOCT

9、RL_WRITE0 x10#define DA1_IOCTRL_WRITE0 x11#define DA_IOCTRL_CLR0 x12#define Max504_FULL4.096f s icda_fd = -1;char *DA_DEV=/dev/exio/0raw;void Delay(t)i; for(;t0;t-)for(i=0;i400;i+);/*/ main(argc, char *argv)float v;unsignedvalue;/char *da_dev;/unsignedda_num=0; if(argc 3)pr f(n);pr f(Error parameter

10、n); pr f(Input as:n);pr f(./ad_main da_id numn);pr f(da_id: select betn 0 and 1n); pr);pr return 1;sscanf(argv2, %f,&v); if(vMax504_FULL)pr f(ut must betn: 0 to %fn, Max504_FULL); return 1;value=(unsigned)(v*1024.0f)/Max504_FULL); if(da_fd=open(DA_DEV, O_WRONLY)0)pr f(Error opening /dev/exio/0raw de

11、vicen); return 1;if(strcmp(argv1,0) = 0)ioctl(da_fd, DA_IOCTRL_CLR, 0);/clear da. ioctl(da_fd, DA0_IOCTRL_WRITE, &value);else if (strcmp(argv1,1) =0) ioctl(da_fd,/clear da.DA_IOCTRL_CLR, 1);七、實驗步驟1、閱讀理解源碼進入/arm2410s/exp/basic/05_da目錄,使用vi編輯器或其他編輯器閱讀理解源代碼2、編譯應用程序運行make產生da可執行文件da_main3、調試切換到終端窗口,使用NF

12、S mount開發主機的/arm2410s到/host目錄,然后進入/host/exp/05_da/drivers目錄,用insmod exio.o命令D/A驅動,并用 lsmod命令查看是否已經。rootzxt /# cd /arm2410s/exp/basic/05_da/ rootzxt 05_da# makearmv4known-linux-gcc-c -o da_main.o da_main.c armv4known-linux-gcc da_main.o -o da_main rootzxt 05_da# lsda_mainda_main.cda_main.odocdriversM

13、akefiles3c44b0-spi h#if 0ioctl(da_fd, DA_IOCTRL_CLR, 0);/clear da. for(;)ioctl(da_fd, DA0_IOCTRL_WRITE, &value); Delay(500);#endif close(da_fd);pr f(Current Voltage is %f vn, v); return 0;進入/host/exp/basic/05_da目錄,運行./da_main,觀察運行結果的正確性。在輸入 ./da_main后會出現下面的提示信息。這是由于沒有指定參數造成的,它的格式為 ./da_main da 的 id

14、號 數字,我們可以通過選擇0 或1來決定輸出到開發板上的哪個D/A接口;同時還需要在0.04.096V 之間來選擇一個輸出電壓。下面的例子是用了開發板上的DA0 并且輸出1V的電壓,可 以使用萬用表對其進量。調試結果:/host/exp/basic/05_da./da_main 0 1 Current Voltage is 1.000000 v/host/exp/basic/05_da./da_mainError parameter Input as:./ad_main da_id numda_id: select betn 0 and 1 num: range 0.0 4.096注意:卸載模

15、塊可以使用rmmod 命令,以本實驗為例,卸載方法如下:/host/exp/basic/05_darmmod exio/mnt/yaffscd /host/exp/basic/05_da/ /host/exp/basic/05_dacd drivers/ /host/exp/basic/05_da/driversinsmod exio.o Using exio.o /host/exp/basic/05_da/driverslsmodModuleSizeUsedNot ta edexio23840 (unused)i2c-tops2141040 (unused)八、思考題D/A轉換器的分類。電壓

16、輸出型電壓輸出型 D/A 轉換器雖有直接從電阻陣列輸出電壓的,但一般采用內置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負載,由于無輸出放大器部分的延遲,故常作為高速 D/A 轉換器使用。電流輸出型電流輸出型 D/A 轉換器直接輸出電流,但應用中通常外接電流一電壓轉換電路得到電壓輸出。電流一電壓可以直接在輸出引腳上連接一個負載電阻,實現電流一電壓轉換。但多采用的是外接運算放大器的形式。另外,大部分 CMOS D/A 轉換器當輸出電壓不為零時不能正確動作,所以必須外接運算放大器。由于在 D/A 轉換器的電流建立時間上加入了外接運算放入器的延遲,使 D/A 響應變慢。此外,這種電路中運算

17、放大器因輸出引腳的(3)乘算型電容而容易起振,有時必須作相位補償。D/A 轉換器中有使用恒定基準電壓的,也有在基準電壓輸入上加交流信號的,后者由于能得到數字輸入和基準電壓輸入相乘的結果而輸出,因而稱為乘算型 D/A 轉換器。乘算型 D/A 轉換器一般不僅可以進行乘法運算,而且可以作為使輸入信號數字化地衰減的衰減器及對輸入信號進行調制的調制器使用。另外,根據建立時間的長短,D/A 轉換器可分為以下幾種類型:1. 低速 D/A 轉換器,建立時間100s;2.3.4.5.中速 D/A 轉換器,建立時間為 10100s;高速 D/A 轉換器,建立時間為 110s;較高速 D/A 轉換器,建立時間為 1

18、00ns1s;速 D/A 轉換器,建立時間為100ns。根據電阻網絡的結構可以分為1.2.3.4.權電阻網絡 D/A 轉換器T 型電阻網絡 D/A 轉換器 倒 T 型電阻網絡 D/A 轉換器權電流 D/A 轉換器等形式2 D/A轉換器的主要技術指標。分辨率: 指最小輸出電壓(對應的輸入數字量只有最低有效位為“1”)與最大輸出電壓(對應的輸入數字量所有有效位全為“1”)之比。線性度用非線性誤差的大小表示 D/A 轉換的線性度。并且把理想的輸入輸出特性的偏差與滿刻度輸出之比的百分數定義為非線性誤差。轉換精度D/A 轉換器的轉換精度與 D/A 轉換器的集成的結構和接口電路配置有關。如果不考慮其他 D/A 轉換誤差時,D/A 的轉換精度就是分辨率的大小,因此要獲得高精度的 D/A 轉換結果,首先要保證選擇有足夠分辨率的 D/A 轉換器。同時 D/A 轉換精度還與外接電路的配置有關,當外部電路器件或電源誤差較大時,會造成較大的 D/A 轉換誤差,當這些誤差超過一定程度時,D/A 轉換就產生錯誤。在 D/A 轉換過程中,影響轉換精度的主

溫馨提示

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

評論

0/150

提交評論