ARM的DA接口實驗_第1頁
ARM的DA接口實驗_第2頁
ARM的DA接口實驗_第3頁
ARM的DA接口實驗_第4頁
ARM的DA接口實驗_第5頁
已閱讀5頁,還剩3頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、【精品文檔】如有侵權,請聯系網站刪除,僅供學習與交流ARM的DA接口實驗ARM嵌入式系統實驗報告ARM的D/A接口實驗姓名:曾昌立學號:2009160221072011/10/20學習D/A 轉換原理,掌握MAX504 D/A 轉換芯片的使用方法,掌握不帶有D/A的CPU擴展D/A功能的主要方法,了解D/A驅動程序加入內核的方法。D/A接口實驗一、實驗目的1、學習D/A 轉換原理 2、掌握MAX504 D/A 轉換芯片的使用方法3、掌握不帶有D/A的CPU擴展D/A功能的主要方法 4、了解D/A驅動程序加入內核的方法二、實驗內容學習D/A 接口原理,了解實現D/A 系統對于系統的軟件和硬件要求

2、。閱讀MAX504芯片文檔,掌握其使用方法。三、預備知識1、有C 語言基礎 2、掌握在Linux 下常用編輯器的使用 3、掌握Makefile 的編寫和使用4、掌握Linux 下的程序編譯與交叉編譯過程四、實驗設備及工具硬件:UP-TECH S2410/P270 DVP 嵌入式實驗平臺、PC 機Pentium 500 以上, 硬盤10G 以上。軟件:PC 機操作系統REDHAT LINUX 9.0MINICOMARM-LINUX 開發環境五、實驗原理D/A 轉換器D/A 轉換器的內部電路構成無太大差異,一般按輸出是電流還是電壓、能否作乘法運算等進行分類。大多數D/A 轉換器由電阻陣列和n 個電

3、流開關(或電壓開關)構成。按數字輸入值切換開關,產生比例于輸入的電流(或電壓)。1、電壓輸出型(如TLC5620)電壓輸出型D/A 轉換器雖有直接從電阻陣列輸出電壓的,但一般采用內置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負載,由于無輸出放大器部分的延遲,故常作為高速D/A 轉換器使用。2、電流輸出型(如THS5661A)電流輸出型D/A 轉換器很少直接利用電流輸出,大多外接電流電壓轉換電路得到電壓輸出,后者有兩種方法:一是只在輸出引腳上接負載電阻而進行電流電壓轉換,二是外接運算放大器。用負載電阻進行電流電壓轉換的方法,雖可在電流輸出引腳上出現電壓,但必須在規定的輸出電壓范圍內使

4、用,而且由于輸出阻抗高,所以一般外接運算放大器使用。此外,大部分CMOS DA 轉換器當輸出電壓不為零時不能正確動作,所以必須外接運算放大器。當外接運算放大器進行電流電壓轉換時,則電路構成基本上與內置放大器的電壓輸出型相同,這時由于在D/A 轉換器的電流建立時間上加入了運算放入器的延遲,使響應變慢。此外,這種電路中運算放大器因輸出引腳的內部電容而容易起振,有時必須作相位補償。3、乘算型(如AD7533)D/A 轉換器中有使用恒定基準電壓的,也有在基準電壓輸入上加交流信號的,后者由于能得到數字輸入和基準電壓輸入相乘的結果而輸出,因而稱為乘算型D/A 轉換器。乘算型D/A轉換器一般不僅可以進行乘法

5、運算,而且可以作為使輸入信號數字化地衰減的衰減器及對輸入信號進行調制的調制器使用。4、一位D/A 轉換器一位D/A 轉換器與前述轉換方式全然不同,它將數字值轉換為脈沖寬度調制或頻率調制的輸出,然后用數字濾波器作平均化而得到一般的電壓輸出(又稱位流方式),用于音頻等場合。5、MAX504 在開發板上的連接Max504 的連接上圖中,RFB 連接VOUT、BIPOFF 連接AGND,使得輸出電壓范圍為02VREFIN,即04.069V。時鐘和輸入、輸出信號分別與同步串口的時鐘、發送和接收端相連。可以通過WriteSDIO(data)函數(Uhal.h)向MAX504 發送數據。發送數據時要注意,M

6、AX504 可接受12 位的數據,但低兩位不起作用。WriteSDIO(data)函數一次只能發送8 位的數據,所以發送數據時應先將數據左移兩位,然后先發送高八位,再發送低八位數據。CLR 和CS 分別由MAX504_CLEAR()和MAX504_ENABLE()、MAX504_DISABLE()函數(Max504.c)控制。六、程序分析實驗程序流程圖具體程序代碼da_main.c 如下:#include #include #include #include #define DA0_IOCTRL_WRITE 0x10#define DA1_IOCTRL_WRITE 0x11#define DA

7、_IOCTRL_CLR 0x12#define Max504_FULL 4.096fstatic int da_fd = -1;char *DA_DEV=/dev/exio/0raw;void Delay(int t)int i;for(;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:

8、n);printf(./ad_main da_id numn);printf( da_id: select between 0 and 1n);printf( num: range 0.0 4.096n);printf(n);return 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)pri

9、ntf(Error opening /dev/exio/0raw devicen);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, DA_IOCTRL_CLR, 1); /clear da.ioctl(da_fd, DA1_IOCTRL_WRITE, &value);#if 0ioctl(da_fd, DA_IOCTRL_CLR, 0)

10、; /clear da.for(;)ioctl(da_fd, DA0_IOCTRL_WRITE, &value);Delay(500);#endifclose(da_fd);printf(Current Voltage is %f vn, v);return 0;七、實驗步驟1、閱讀理解源碼進入/arm2410cl/exp/basic/05_da 目錄,使用vi 編輯器或其他編輯器閱讀理解源代碼2、編譯應用程序運行make 產生da 可執行文件da_mainrootzxt /# cd /arm2410cl/exp/basic/05_da/rootzxt 05_da# makearmv4l-un

11、known-linux-gcc -c -o da_main.o da_main.carmv4l-unknown-linux-gcc da_main.o -o da_mainrootzxt 05_da# lsda_main da_main.c da_main.o doc drivers Makefile s3c44b0-spi.h3、下載調試切換到minicom 終端窗口,使用NFS mount 開發主機的/arm2410cl 到/host 目錄,然后進入/host/exp/05_da/drivers 目錄,用insmod s3c2410-exio.o 命令插入D/A 驅動,并用 lsmod命令

12、查看是否已經插入。/mnt/yaffscd /host/exp/basic/05_da/host/exp/basic/05_dacd drivers/host/exp/basic/05_da/driversinsmod s3c2410-exio.oUsing s3c2410-exio.o/host/exp/basic/05_da/driverslsmodModule Size Used by Not taintedS3c2410-exio 2384 0 (unused)i2c-tops2 14104 0 (unused)注意:卸載模塊可以使用rmmod 命令,以本實驗為例,卸載方法如下:/host/exp/basic/05_darmmod s3c2410-exio進入/host/exp/basic/05_da 目錄,運行./da_main,觀察運行結果的正確性。在輸入 ./da_main 后會出現下面的提示信息。/host/exp/basic/05_da./da_mainError parameterInput as:./ad_main da_id numda_id: select between 0 and 1num: range 0.0 4.096這是由于我們沒有

溫馨提示

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

評論

0/150

提交評論