版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..2.4A/D一、實驗目的了解在linux環(huán)境下對S3C2410芯的8通道0位A/D的作與控制。二、實驗容學習A/D口原理,了解實現(xiàn)A/D系統(tǒng)對于系統(tǒng)的軟件和硬件要求。閱讀ARM片文檔,掌握ARM的A/D相關(guān)存放器的功能,熟悉ARM統(tǒng)硬件的A/D相關(guān)接口利用外部模擬信號編程實現(xiàn)ARM循環(huán)采全部前4通道,并且在超級終端上顯示。三、預備知識?有C語言。?掌握在Linux下常用編器的使用。?掌握Mkefie的編寫使用。?掌握Linux下的程序編譯與穿插編譯過程。四、實驗設(shè)備及工具硬件U-CHS2410/P270DVP嵌入實驗平臺PC機Pentium500以上,盤10G以上。軟件:PC操作系統(tǒng)REDHATLINUX9.0MINI+ARM-LINUX開發(fā)環(huán)境..五、實驗原理1、A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器模擬信號源和CPU之聯(lián)系的接口,它的任務(wù)是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以便計算機和數(shù)字系統(tǒng)進展處理、存儲、控制和顯示。在工業(yè)控制和數(shù)據(jù)采集及許多其他領(lǐng)域中,A/D轉(zhuǎn)換是可缺少的。A/D轉(zhuǎn)換器以下類型:逐位比擬型、積分型、計數(shù)型、并行比擬型、電壓-頻率型,主要應根據(jù)使用場合的具體要求,按照轉(zhuǎn)換速度、精度、價格、功能以及接口條件等因素來決定選擇何種類型。常用的有以下兩種:?雙積分型的A/D轉(zhuǎn)換器雙積分式也稱二重積分式,其實質(zhì)是測量和比擬兩個積分的時間,一個是對模擬輸入電壓積分的時間0此時間往往是固定的另一個是以充電后的電壓為初值對參考電源Vref反向積分積分電容被放電至零所需的時間T模擬輸入電壓Vi與考電壓VRef比等于上述兩個時間之比由于VRef0固定而放電時間T1以測出因而可計算出模擬輸入電壓的大小(VRf與i符號相反)。由于T0VRef為的固定常數(shù)因此反向積分時間T1與入模擬電壓Vi在T0時的平均值成正比輸入電壓i愈高VA大T1就長在T1時刻控制邏輯同時翻開計數(shù)器的控制門開場計數(shù),直到積分器恢復到零電平時,計數(shù)停頓。那么計數(shù)器所計出的數(shù)字即正比于輸入電壓Vi在T0時間平均值,于是完成了一次A/D轉(zhuǎn)。由于雙積分型A/D轉(zhuǎn)是測量輸入電壓Vi在0時間的平均值所以對常態(tài)干擾(串摸干擾)有很強抑制作用,尤其對正負波形對稱的干擾信號,抑制效果更好。雙積分型的A/D轉(zhuǎn)換器路簡單,抗干擾能力強,精度高,這是突出的優(yōu)點。但轉(zhuǎn)換速度比擬慢常的A/D轉(zhuǎn)換片的轉(zhuǎn)換時間為毫秒級例如12位積分型A/D片ADElB,其轉(zhuǎn)換時間為lms。因適用于模擬信號變化緩慢,采樣速率要求較低,而對精度要求較高,或現(xiàn)場干擾較嚴重的場合。例如在數(shù)字電壓表中常被采用。?逐次逼近型的A/D轉(zhuǎn)換器逐次逼近型(也稱逐位比擬式)的A/D轉(zhuǎn)換器,應用比積分型更為廣泛,其原理框圖如圖所示主要由逐次逼近存放器SARD/A轉(zhuǎn)器比擬器以及時序和控制邏輯等局部組成它的實質(zhì)是逐次把設(shè)定的SAR存放器中的數(shù)字量經(jīng)D/A轉(zhuǎn)換后得電壓Vc與轉(zhuǎn)換..模擬電壓V進展比擬比擬時先從SAR的高位開場逐次確定各位的數(shù)碼應是1〞還是0〞,其工作過程如下:轉(zhuǎn)換前,先將SAR存放器各位清零。轉(zhuǎn)換開場時,控制邏輯電路先設(shè)定SAR存放器的最高位為1〞其余位為0〞此試探值經(jīng)D/A轉(zhuǎn)換成壓Vc然將c與模輸入電壓Vx比擬。如果VxVc,說明SAR最高位的〞應予保存;如果Vx<Vc說明SAR位應予清零。然后再對SAR存放器的高位置1〞依上述方法進展D/A換和比擬如此重復上述過程,直至確定SAR存放器的低位為止過程完畢后狀態(tài)線改變狀態(tài)說明已完成一次轉(zhuǎn)換。最后逐次逼近存放器SAR中的容是與輸入模擬量V相應的二進制數(shù)字量顯然A/D轉(zhuǎn)換器的位數(shù)N決定于SAR的位和D/A的位數(shù)圖2.4.1(b)表示四位A/D轉(zhuǎn)換器的次逼近過程。轉(zhuǎn)換結(jié)果能否準確逼近模擬信號,主要取決于SAR和D/A位數(shù)。位數(shù)越多,越能準確逼近模擬量,但轉(zhuǎn)換所需的時間也越長。z逐次逼近式的A/D轉(zhuǎn)換器的主要特點是:轉(zhuǎn)換速度較快,在1—0/s以分辨率可以達18位,別適用于工業(yè)控制系統(tǒng)。轉(zhuǎn)換時間固定,不隨輸入信號的變化而變化??垢蓴_能力相對積分型的差。例如,對模擬輸入信號采樣過程中,假設(shè)在采樣時刻有一個干擾脈沖迭加在模擬信號上,那么采樣時,包括干擾信號在,都被采樣和轉(zhuǎn)換為數(shù)字量,這就會造成較大的誤差,所以有必要采取適當?shù)臑V波措施。圖逐次逼近式A/D轉(zhuǎn)換器2、A/D轉(zhuǎn)換的重要指標?分辨率(Resolution)分辨率反映A/D轉(zhuǎn)換器輸入微小變化響應的能力通常用數(shù)字輸出最低位(LSB)所應的..模擬輸入的電平值表示。n位A/D反響1/2n量程的模擬輸入電平。由于分辨率直接與轉(zhuǎn)換器的位數(shù)有關(guān)所以一般也可簡單地用數(shù)字量的位數(shù)來表示分辨率即n位二制數(shù),最低位所具有的權(quán)值,就是它的分辨率。值得注意的是,分辨率與精度是兩個不同的概念,不要把兩者相混淆。即使分辨率很高,也可能由于溫度漂移、線性度等原因,而使其精度不夠高。?精度(Accuracy)精度有絕對精度(AbsoluteAccuracy)和相對精(RelativeAccuracy)種表示方法。z絕對誤差:在一個轉(zhuǎn)換器中,對應于一個數(shù)字量的實際模擬輸入電壓和理想的模擬輸入電壓之差并非是一個常數(shù)。我們把它們之間的差的最大值,定義為絕對誤差〞。通常以數(shù)字量的最小有效位(LSB)分數(shù)值來表示絕對誤差,例如:±1LSB等。絕對差包括量化誤差和其它所有誤差。z相對誤差是指整個轉(zhuǎn)換圍,任一數(shù)字量所對應的模擬輸入量的實際值與理論值之差,用模擬電壓滿量程的百分比表示。例如滿量程為10V10位A/D芯假設(shè)其絕對精度為±1/2LSB那么其最小有效位的量化單位:9.77mV,其絕對度為=4.88mV,其相對度為0.048%。z轉(zhuǎn)換時間(Conversionie)轉(zhuǎn)換時間是指完成一次A/D轉(zhuǎn)換所的時間,即由發(fā)出啟動轉(zhuǎn)換命令信號到轉(zhuǎn)換完畢信號開場有效的時間間隔轉(zhuǎn)換時間的倒數(shù)稱為轉(zhuǎn)換速率例如AD570轉(zhuǎn)換時間為25us其轉(zhuǎn)換速率為40KHz。z電源靈敏度(powersuplyensiiit)電源靈敏度是指A/D換芯片的供電電源的電壓發(fā)生變化時,產(chǎn)生的轉(zhuǎn)換誤差。一般用電源電壓變化1%時相當?shù)哪M量變化的百分數(shù)來表示。z量程量程是指所能轉(zhuǎn)換的模擬輸入電壓圍,分單極性、雙極性兩種類型。例如,單極性量程為0~+5V,0+10V,0+20V;雙極性程為-5+,-0~1。z輸出邏輯電平多數(shù)A/D換器的輸出邏輯電平與TTL電平兼。在考慮數(shù)字量輸出與微處理的數(shù)據(jù)總線接口時,應注意是否要三態(tài)邏輯輸出,是否要對數(shù)據(jù)進展鎖存等。z工作溫度圍..由于溫度會比照擬器、運算放大器、電阻網(wǎng)絡(luò)等產(chǎn)生影響,故只在一定的溫度圍才能保證額定精度指標一般A/D轉(zhuǎn)器的工作溫度圍〔0~700軍品的工作溫度圍為〔-55~+1250C〕?M自帶的十位A/D轉(zhuǎn)換器ARMS3C2410芯片自帶一個8路10位A/D轉(zhuǎn)換器并且支持觸摸屏功能。ARM2410開板只用作3路A/D轉(zhuǎn)換器其最大轉(zhuǎn)換率為500K非線性度為正負1.5其轉(zhuǎn)換時間可以通過下式計算:如果系統(tǒng)時鐘為50MHz,比例為49,那么為A/D轉(zhuǎn)換器率=50MHz/(49+1)=1MHz轉(zhuǎn)換時間=1/(1MHz/5cycles)=1/200kHz相當于5us=5us表241采控制存放器的設(shè)置存放器地址讀/寫描述復位值A(chǔ)DCCON0x58000000R/WADC控制存放器0x3FC4表采樣控制存放器的位描述ADCCON位描述初始設(shè)置ECFLG[15]Endofconversionflag(readoly.0=A/Dconversioninprocess1=EndofA/Dconversion0PRSCEN[14]A/Dconverterrescalerenable.0=Disale1=Enale0PRSCVL[13:6]A/Dconverterrescaleralue.Dataale:1~255Notetatdivisinfactoris(+1)whentepescleralueisN.0xFFEL_MUX[5:3]Analoginptcannelselect.000=AIN0001=AIN1010=AIN2011=AIN3100=AIN4101=AIN5110=AIN6111=AIN7(P)0..STDBM[2]Standymodeelect.0=Normalopeationmode1=Standymde1READ_START[1]A/Dconversionstartyread.0=Disalestartyreadoeratin1=Enalestartyreadopeatin0ENABLE_START[0]A/Dconversionstartsysettinghisbi.IfREAD_STARTisenaled,tsvalueisntaid.0=Noopeation1=A/Dconveionstartsandtisbitisclaredaferthetart-up.0該存放器的0位是轉(zhuǎn)換能位,寫1表示轉(zhuǎn)換開場。1位是操作使能轉(zhuǎn)換,寫1表示轉(zhuǎn)換在讀操作時開場。34、5位是道號。[13:6]為AD轉(zhuǎn)比例因。14位為比例子有效位,15位為轉(zhuǎn)換標志位〔只讀。表轉(zhuǎn)結(jié)果數(shù)據(jù)存放器的設(shè)置存放器地址讀/寫描述復位值A(chǔ)DCDAT00x5800000CRADC轉(zhuǎn)換數(shù)據(jù)存放器-ADCDAT0:換結(jié)果數(shù)據(jù)存放器。該存放器的十位表示轉(zhuǎn)換后的結(jié)果,全為1時滿量程3.3伏。?A/D轉(zhuǎn)換器在擴展板的連接A/D轉(zhuǎn)換器擴展板的接法如圖所示,前路通過電位器接到3.3v電源上。圖轉(zhuǎn)換器在擴展板上的接法..六、程序分析〔關(guān)鍵代碼分析〕ad驅(qū)動對戶來說只是下面的一個文件構(gòu)造在用戶程序里只需要用到open、read、write、release等函數(shù)即可。本實驗采用的是模塊方式加載,可以在實驗箱的/mnt/yaffs/ad/中找到AD的驅(qū)動程。staticstructileoperationss3c210_fops={owner: THIS_MODULE,open:s3c2410_adc_oen,read:s3c2410_adc_read,write:s3c2410_adc_wite,release: s3c2410_adc_release,};下面我們對驅(qū)動局部重要函數(shù)進展說明。ad動在核里的代碼我們放到了本次實驗的src文件下里為arm2410頭件s3c2410.h初始化ADC的局部。所有代碼也可以到核里面去閱讀。關(guān)于驅(qū)動知識的根本介紹請見第4第一小節(jié),本節(jié)只作為應用實驗的簡單例子。staticits3c240_adc_open(strctinode*inode,structile*file){init_MUTEX(adcde.lock;init_watqueehead(&adcewait));adcde.chane0;adcde.prescl=0xf;MOD_INC_USE_COUN;DPRINTK("adcopene\n");return;} //AD通道和比例因子初始化staticssizets3c2410_adc_writestructile*file,constcar*bue,sizetcount,lof_t*ppos){intat;if(count=sizefdata)){//errorinputdatasizeDPRINTK("thesizeofinputatamustbe%\n",sizeof(data));return;}..coy_rom_user(&data,bufe,count);adcde.chaneADC_RITE_GETCH(data;adcde.precl=ADC_RITE_GETPRE(daa;DRINTK("etadcchanel=%,precae=0x\n",adcde.chanel,acde.pecae);returncount;} //告核驅(qū)動讀哪一個通道的數(shù)據(jù)和設(shè)置比例因子#defineSATADC_AIN(ch,prescale)\do{\ADCCON=PRESCALE_EN|PRSCVL(prescale)|ADC_INPUT((ch));\ADCCON|=ADC_SA;\}while(0)//PRESCALE_N左移14使位比例因子有效;PRSCVL左移6位設(shè)置比例因子;//ADC_INPUT左移3位選擇通道;//ADCCON|=ADC_SA;ADCCON0為置1,準備采集數(shù)據(jù)staticssizets3c2410_adc_readstructile*filp,char*bue,size_tcount, lf_t*ppos){intet=;if(down_interrptible&acde.lock))returnERESTSYS;SAT_ADC_AIN(nel,acde.pscale;interrutible_sleep_on(&acdewait);ret=ADCDT0;ret&=0x3f; //把據(jù)存放器容放入變量retDPRINTK("AIN[%d]=0x%04x,%d\n,adcde.chanel,et,ACCON&0x80"1:0);coyto_user(bfe,char*)&et,sizeof(et));..up(&adce.lck);returnsizeof(et;
//把ret變量的容傳給用戶緩沖區(qū)..} //由核采通道數(shù)據(jù)后把數(shù)據(jù)放回用戶區(qū)main.c的碼如下:/************************************************\*ythrewate<theewaerup-tchco>***..\***********************************************/#inclue<stioh>#inclue<uist.h>#inclue<y/types.h>#inclue<y/ic.h>#inclue<ys/ictl.h>#inclue<thread.h>#inclue<tl.h>#inclue"s3c210-adc.h"#defineADC_DEV "/dev/ac/0raw"staticitadc_fd=-1;staticitiit_Ddevice(vid){if((adc_fd=open(ADC_DE,O_RDWR))<0){printf("Erroropening%sadcdevice\n",ADC_DEV);return-;}}staticitGtADresult(intcannl){intECALE=0X;intaa=ADC_RITE(channl,RECALE);writeadc_fd,&at,izeof(at));read(dc_fd,&dta,zeof(dta);returndat;}staticitstop=;staticvoid*Monitor(void*ata){getcr();top=1;returnNULL;}intain(vid){inti;float;pthread_tth;void*retvl;..//sets3c44b0ADegisterandstatADif(initADdevice()<)return-;/*Cratethetheads/pthread_create(&th_,NULL,Monito,0;printf"\nPressEnteryeit!\n";while(top==0){for(i=0;i=;++){/采樣0~2路A/D值d=((float)GetADresult(i)*3.3/102.0;printf("a%d=%.4\t",,d);}uleep(1);printf("\r");}/*aituntilprodcerandconsumernish.*/pthread_join(th_,&retal);printf"\n");return0;}七、實驗步驟1、閱讀理解源碼進入/arm2410cl/exp/basi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024消防工程合同范本:消防滅火器材采購及配送服務(wù)3篇
- 化妝品研發(fā)崗位周工作總結(jié)
- 溫州2024年浙江溫州職業(yè)技術(shù)學院選聘工作人員3人筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 2025年上外版四年級語文上冊階段測試試卷
- 深圳2024年廣東深圳大鵬新區(qū)機關(guān)事務(wù)管理中心招聘編外人員筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 2025-2030年中國全自動生化儀(ACA)行業(yè)運行現(xiàn)狀及投資發(fā)展前景預測報告
- 2025-2030年中國產(chǎn)業(yè)金融市場前景趨勢及投資潛力分析報告
- 2025-2030年中國乳鐵蛋白(紅蛋白)行業(yè)需求規(guī)模及未來發(fā)展趨勢預測報告
- 2025-2030年中國中速柴油機曲軸行業(yè)運營狀況及投資前景預測報告
- 2025-2030年中國L谷氨酰胺市場十三五規(guī)劃及投資風險評估報告
- 2024年秋季新人教PEP版三年級上冊英語全冊教案
- 2024耐張線夾技術(shù)規(guī)范
- 第十五屆全國石油和化工行業(yè)職業(yè)技能競賽(化工總控工)考試題庫-上(單選題)
- DL∕T 423-2009 絕緣油中含氣量的測定方法 真空差壓法
- 醫(yī)院培訓課件:《靜脈血栓栓塞癥(VTE)專題培訓》
- 中藥配方免煎顆粒管理
- 新概念第一冊時態(tài)語法練習試題
- 豆制品采購服務(wù)豆制品配送服務(wù)方案
- 學校廚房設(shè)備投標方案(技術(shù)方案)
- 觸電事故預防措施
- 新型電力系統(tǒng)控制與優(yōu)化
評論
0/150
提交評論