




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
9.6A/D和D/A轉(zhuǎn)換一、一般測(cè)控系統(tǒng)組成控制對(duì)象微型計(jì)算機(jī)信號(hào)處理信號(hào)處理信號(hào)處理傳感器1傳感器2傳感器n執(zhí)行部件放大驅(qū)動(dòng)A/D轉(zhuǎn)換器D/A轉(zhuǎn)換器多路開(kāi)關(guān)采樣保持放大驅(qū)動(dòng)開(kāi)關(guān)量9.6A/D和D/A轉(zhuǎn)換控微型計(jì)算機(jī)信號(hào)處理信號(hào)處理信號(hào)處11.傳感器將物理量轉(zhuǎn)換為電量2.信號(hào)處理環(huán)節(jié)信號(hào)調(diào)理,一般含放大、阻抗匹配、高低通濾波等3.多路轉(zhuǎn)換開(kāi)關(guān)多路選擇一路,常用的有:CD4051、AD7501(八選擇一)4.采樣保持(采保)電路可工作于采樣、保持二種狀態(tài)。采樣時(shí),輸出與輸入相同;保持時(shí)在一定時(shí)間保持不變,一般用在A/D前端,保證在A/D轉(zhuǎn)換期間輸入電壓不變,提高A/D精度。常用的有:LF3981.傳感器2(一)轉(zhuǎn)換原理1、權(quán)電阻式D/A轉(zhuǎn)換器二、D/A(數(shù)模)轉(zhuǎn)換I0D02n-1RI1D12n-2RI2D22n-3RIn-1Dn-12RRf(R/2)VREFV0_
A+權(quán)電阻D/A轉(zhuǎn)換原理VO=-IRf(一)轉(zhuǎn)換原理二、D/A(數(shù)模)轉(zhuǎn)換I0D32.T型電阻網(wǎng)絡(luò)式D/A轉(zhuǎn)換器2.T型電阻網(wǎng)絡(luò)式D/A轉(zhuǎn)換器4(二)指標(biāo)1.分辨率分辨率是指最小輸出電壓(對(duì)應(yīng)于輸入數(shù)字量最低位增1所引起的輸出電壓增量)和最大輸出電壓(對(duì)應(yīng)于輸入數(shù)字量所有有效位全為1時(shí)的輸出電壓)之比,即表示DAC所能分辨的最小模擬信號(hào)的能力。 2.轉(zhuǎn)換精度絕對(duì)轉(zhuǎn)換精度是指滿刻度數(shù)字量輸入時(shí),模擬量輸出接近理論值的程度相對(duì)轉(zhuǎn)換精度一般用絕對(duì)轉(zhuǎn)換精度相對(duì)于滿量程輸出的百分?jǐn)?shù)來(lái)表示,有時(shí)也用數(shù)字量的最小有效值(LSB)的幾分之一來(lái)表示(二)指標(biāo)53.非線性誤差D/A轉(zhuǎn)換器的非線性誤差定義為實(shí)際轉(zhuǎn)換特性曲線與理想特性曲線之間的最大偏差,并以該偏差相對(duì)于滿量程的百分?jǐn)?shù)度量4.轉(zhuǎn)換速率/建立時(shí)間轉(zhuǎn)換速率實(shí)際是由建立時(shí)間來(lái)反映的建立時(shí)間是指數(shù)字量為滿刻度值(各位全為1)時(shí),DAC的模擬輸出電壓達(dá)到某個(gè)規(guī)定值(比如90%滿量程)時(shí)所需要的時(shí)間3.非線性誤差6三、A/D(模數(shù))轉(zhuǎn)換
A/D轉(zhuǎn)換器是指通過(guò)一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。A/D轉(zhuǎn)換后,輸出的數(shù)字信號(hào)有8位、l0位、12位和16位等。類型:雙積分、逐次逼近、并行等。三、A/D(模數(shù))轉(zhuǎn)換A/D轉(zhuǎn)換器是7VoVIND7D1D0逐次逼近式A/D轉(zhuǎn)換原理_+比較器逐次逼近寄存器(SAR)控制電路輸出緩沖寄存器D/A轉(zhuǎn)換器啟動(dòng)信號(hào)CLK時(shí)鐘轉(zhuǎn)換結(jié)束(一)A/D轉(zhuǎn)換原理VoVIND78(二)A/D轉(zhuǎn)換器的主要性能參數(shù)1.分辨率分辨率是指A/D轉(zhuǎn)換器能分辨的最小模擬輸入量。通常用能轉(zhuǎn)換成的數(shù)字量的位數(shù)來(lái)表示,如8位、10位、12位、16位等。2.轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間是A/D完成一次轉(zhuǎn)換所需的時(shí)間。3.量程量程是指所能轉(zhuǎn)換的輸入電壓范圍。4.精度
A/D轉(zhuǎn)換精度分為絕對(duì)精度和相對(duì)精度兩種。(二)A/D轉(zhuǎn)換器的主要性能參數(shù)1.分辨率9(1)絕對(duì)精度:是指對(duì)應(yīng)于—個(gè)給定量,A/D轉(zhuǎn)換器的誤差,其誤差大小由實(shí)際模擬量輸入值與理論值之差來(lái)度量。(2)相對(duì)精度:由相對(duì)誤差決定。相對(duì)誤差是指絕對(duì)誤差與滿刻度值之比,—般用百分?jǐn)?shù)表示。例如,對(duì)于—個(gè)8位0~5V的A/D轉(zhuǎn)換器,如果其絕對(duì)誤差為:
1/2565=19.5mV
則其相對(duì)誤差為0.39%。(1)絕對(duì)精度:是指對(duì)應(yīng)于—個(gè)給定量,A/D轉(zhuǎn)換器的誤差,其101、采樣保持電路(1)采樣:把一個(gè)時(shí)間上連續(xù)變化的模擬量轉(zhuǎn)換為一個(gè)脈沖串,脈沖的幅度取決于輸入模擬量。(2)保持:是將采樣得到的模擬量值保持下來(lái),使之等于采樣控制脈沖存在的最后瞬間的采樣值。(3)采樣定理:理論和實(shí)踐都證明,只要滿足下列條件,采樣保持得到的輸出信號(hào)在經(jīng)過(guò)信號(hào)處理后便可還原成原來(lái)的模擬輸入信號(hào):(三)A/D轉(zhuǎn)換的輔助電路
1、采樣保持電路(三)A/D轉(zhuǎn)換的輔助電路11V0-
Av+S(t)ViTVcCbV0-S(t)ViTVcCb12S(t)υI(t)υSH(t)T1T2T3T4T5T6T7T8tttOOO(a)采樣脈沖(b)輸入電壓(c)采樣保持S(t)υI(t)υSH(t)T1T2T3T4T5T6T7T132、多路轉(zhuǎn)換開(kāi)關(guān)在實(shí)際應(yīng)用時(shí),要解決多個(gè)回路和A/D、D/A轉(zhuǎn)換器之間的切換問(wèn)題。一般采用兩種方法:(1)一種方法是用獨(dú)立的多路轉(zhuǎn)換模擬開(kāi)關(guān)輪流切換各回路和A/D、D/A之間的通路,對(duì)于A/D轉(zhuǎn)換來(lái)說(shuō),要用到多路輸入一路輸出的模擬開(kāi)關(guān)電路,對(duì)于D/A轉(zhuǎn)換來(lái)說(shuō),要用到一路輸入,多路輸出的模擬開(kāi)關(guān)電路。(2)另一種方法是選擇帶有轉(zhuǎn)換開(kāi)關(guān)的A/D、D/A轉(zhuǎn)換器。2、多路轉(zhuǎn)換開(kāi)關(guān)14四、S3C2410A中的A/D模塊(一)概述
具有8通道模擬輸入的10位
模數(shù)轉(zhuǎn)換器(ADC)。在2.5MHz的A/D轉(zhuǎn)換器時(shí)鐘下,最大轉(zhuǎn)化速率可達(dá)到500KSPS。A/D轉(zhuǎn)換器支持片上采樣和保持功能。S3C2410A的AIN[7]和AIN[5]可用于連接觸摸屏的模擬信號(hào)輸入。
(二)特性逐次逼近式
分辯率:10-位線性度誤差:±2.0LSB最大轉(zhuǎn)換速率:500KSPS
供電電壓:3.3V
輸入模擬電壓范圍:0~3.3V
片上采樣保持功能查詢和中斷模式四、S3C2410A中的A/D模塊15(三)ADC控制寄存器(ADCCON)地址:0x58000000,可讀寫(xiě),復(fù)位值:0x3FC4
ECFLG(位15):AD轉(zhuǎn)換結(jié)束標(biāo)志(只讀)。0=A/D轉(zhuǎn)換操作中,1=A/D轉(zhuǎn)換結(jié)束PRSCEN(位14):A/D轉(zhuǎn)換器預(yù)分頻器使能0=停止,1=使能
PRSCVL(位13:6):A/D轉(zhuǎn)換器預(yù)分頻器數(shù)值,數(shù)據(jù)值N范圍:1~255,將PCLK進(jìn)行(N+1)分頻。
如PCLK=50MHZ,N=49,則A/D轉(zhuǎn)換器頻率=50MHz/(49+1)=1MHz轉(zhuǎn)換時(shí)間=1/1MHz×5=5us注意:ADC頻率應(yīng)該設(shè)置成小于PLCK的5倍,即N應(yīng)設(shè)置為大于4。(三)ADC控制寄存器(ADCCON)16SEL_MUX(位
5:3):模擬輸入通道選擇。000=AIN0 001=AIN1010=AIN2 011=AIN3100=AIN4 101=AIN5110=AIN6 111=AIN7STDBM(位2)0=普通模式1=Standby模式,A/D停止轉(zhuǎn)換,A/D數(shù)據(jù)寄存器保持原值SEL_MUX(位5:3):模擬輸入通道選擇。17READ_START(位1):
通過(guò)讀取來(lái)啟動(dòng)A/D轉(zhuǎn)換 0=停止通過(guò)讀取啟動(dòng),1=使能通過(guò)讀取啟動(dòng)ENABLE_START(位0):通過(guò)設(shè)置該位來(lái)啟動(dòng)A/D操作。如果READ_START是使能的,此位無(wú)效。0=無(wú)操作1=A/D轉(zhuǎn)換啟動(dòng),啟動(dòng)后該位被清零。READ_START(位1): 通過(guò)讀取來(lái)啟動(dòng)A/D轉(zhuǎn)換18(四)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0)地址:0x5800000C,可讀寫(xiě)。位9~0為A/D轉(zhuǎn)換的數(shù)字值。范圍為:0~3FFH。思考:設(shè)計(jì)A/D驅(qū)動(dòng)程序,使之能實(shí)現(xiàn)對(duì)多路模擬量的采集。(四)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0)19#defineDRIVER_NAME
"myDriver"staticintmyDriver_Major=0;
/*DriverMajorNumber*/staticintAD_READ(void)
{
inti,j;intval,aa;val=0;
ADCCON|=0x2;
//ADC轉(zhuǎn)換通過(guò)讀操作來(lái)啟動(dòng)aa=ADCDAT0&0x03ff;
//啟動(dòng)ADC轉(zhuǎn)換
for(i=0;i<16;i++){
while(!(ADCCON&0x8000));
//判斷ADC轉(zhuǎn)換是否結(jié)束
val+=(ADCDAT0&0x03ff);//取出ADC轉(zhuǎn)換值
for(j=0;j<500;j++);
}val=val/16;//計(jì)算ADC平均轉(zhuǎn)換值
returnval;
}#defineDRIVER_NAME
"myDriv20/*DriverOperationFunctions*/
staticintmyDriver_open(structinode*inode,structfile*filp){
MOD_INC_USE_COUNT;
PRINTK("myDriveropencalled!\n");/*進(jìn)行ADC模塊設(shè)置,其中x<<n表示第n位設(shè)置為x(若x超過(guò)一位,則向高位順延)*/
ADCCON=(0<<0)|
//ADC轉(zhuǎn)換設(shè)置
未設(shè)置
(0<<1)|//讀AD數(shù)據(jù)觸發(fā)AD轉(zhuǎn)換
未使用
(0<<2)|//StandBy模式選擇
為普通操作模式
(49<<6)|
//CLKDIV=Fpclk/(49+1)
(1<<14);
//預(yù)分頻器使能軟件預(yù)設(shè)值
PRINTK("ADCINITOK\n");
return0;}/*DriverOperationFunctions21staticintmyDriver_release(structinode*inode,structfile*filp){
MOD_DEC_USE_COUNT;
PRINTK("myDriverreleasecalled!\n");return0;}staticintmyDriver_release(st22staticssize_tmyDriver_read(structfile*filp,char*adc_value,size_tcount,loff_t*f_pos){
intadc=0;size_tread_size=count;adc=AD_READ();
copy_to_user(adc_value,&adc,sizeof(adc));
PRINTK("adc_vale=%d\n",adc);
returnread_size;}staticintmyDriver_ioctl(structinode*inode,structfile*file,unsignedintch,unsignedlongarg){
PRINTK("myDriverioctlcalled!\n");
if((ch>7)||(ch<0))
{
PRINTK("notavalidparameter,parametermustbetwween0and8\n");
return-1;
}
ADCCON|=(ch<<3);//channelset
PRINTK("ADCINITOK\n");
return0;}staticssize_tmyDriver_read(s23/*DriverOperationstructure*/
staticstructfile_operationsmyDriver_fops={owner:
THIS_MODULE,
open:
myDriver_open,ioctl:
myDriver_ioctl,
read:
myDriver_read,
release:
myDriver_release,};/*ModuleInit&Exitfunction*/#ifdefCONFIG_DEVFS_FSdevfs_handle_tdevfs_myDriver_raw;#endif
/*DriverOperationstructure24staticint__initmyModule_init(void){
/*Moduleinitcode*/PRINTK("myModule_init\n");/*Driverregister*/myDriver_Major=register_chrdev(0,DRIVER_NAME,&myDriver_fops);
if(myDriver_Major<0){PRINTK("registerchardevicefail!\n");returnmyDriver_Major;}PRINTK("registermyDriverOK!Major=%d\n",myDriver_Major);#ifdefCONFIG_DEVFS_FSdevfs_myDriver_raw=devfs_register(NULL,"myDriver",DEVFS_FL_DEFAULT,myDriver_Major,0,S_IFCHR|S_IRUSR|S_IWUSR,&myDriver_fops,NULL);PRINTK("adddevfiletodevfsOK!\n");#endif
return0;}staticint__initmyModule_ini25staticvoid__exitmyModule_exit(void){/*Moduleexitcode*/
PRINTK("myModule_exit\n");
/*Driverunregister*/
if(myDriver_Major>0)
{#ifdefCONFIG_DEVFS_FS
devfs_unregister(devfs_myDriver_raw);#endif
unregister_chrdev(myDriver_Major,DRIVER_NAME);
}
return;}MODULE_AUTHOR("myname");MODULE_LICENSE("GPL");module_init(myModule_init);module_exit(myModule_exit);staticvoid__exitmyModule_ex26第九章嵌入式Linux驅(qū)動(dòng)程序開(kāi)發(fā)課件3279.6A/D和D/A轉(zhuǎn)換一、一般測(cè)控系統(tǒng)組成控制對(duì)象微型計(jì)算機(jī)信號(hào)處理信號(hào)處理信號(hào)處理傳感器1傳感器2傳感器n執(zhí)行部件放大驅(qū)動(dòng)A/D轉(zhuǎn)換器D/A轉(zhuǎn)換器多路開(kāi)關(guān)采樣保持放大驅(qū)動(dòng)開(kāi)關(guān)量9.6A/D和D/A轉(zhuǎn)換控微型計(jì)算機(jī)信號(hào)處理信號(hào)處理信號(hào)處281.傳感器將物理量轉(zhuǎn)換為電量2.信號(hào)處理環(huán)節(jié)信號(hào)調(diào)理,一般含放大、阻抗匹配、高低通濾波等3.多路轉(zhuǎn)換開(kāi)關(guān)多路選擇一路,常用的有:CD4051、AD7501(八選擇一)4.采樣保持(采保)電路可工作于采樣、保持二種狀態(tài)。采樣時(shí),輸出與輸入相同;保持時(shí)在一定時(shí)間保持不變,一般用在A/D前端,保證在A/D轉(zhuǎn)換期間輸入電壓不變,提高A/D精度。常用的有:LF3981.傳感器29(一)轉(zhuǎn)換原理1、權(quán)電阻式D/A轉(zhuǎn)換器二、D/A(數(shù)模)轉(zhuǎn)換I0D02n-1RI1D12n-2RI2D22n-3RIn-1Dn-12RRf(R/2)VREFV0_
A+權(quán)電阻D/A轉(zhuǎn)換原理VO=-IRf(一)轉(zhuǎn)換原理二、D/A(數(shù)模)轉(zhuǎn)換I0D302.T型電阻網(wǎng)絡(luò)式D/A轉(zhuǎn)換器2.T型電阻網(wǎng)絡(luò)式D/A轉(zhuǎn)換器31(二)指標(biāo)1.分辨率分辨率是指最小輸出電壓(對(duì)應(yīng)于輸入數(shù)字量最低位增1所引起的輸出電壓增量)和最大輸出電壓(對(duì)應(yīng)于輸入數(shù)字量所有有效位全為1時(shí)的輸出電壓)之比,即表示DAC所能分辨的最小模擬信號(hào)的能力。 2.轉(zhuǎn)換精度絕對(duì)轉(zhuǎn)換精度是指滿刻度數(shù)字量輸入時(shí),模擬量輸出接近理論值的程度相對(duì)轉(zhuǎn)換精度一般用絕對(duì)轉(zhuǎn)換精度相對(duì)于滿量程輸出的百分?jǐn)?shù)來(lái)表示,有時(shí)也用數(shù)字量的最小有效值(LSB)的幾分之一來(lái)表示(二)指標(biāo)323.非線性誤差D/A轉(zhuǎn)換器的非線性誤差定義為實(shí)際轉(zhuǎn)換特性曲線與理想特性曲線之間的最大偏差,并以該偏差相對(duì)于滿量程的百分?jǐn)?shù)度量4.轉(zhuǎn)換速率/建立時(shí)間轉(zhuǎn)換速率實(shí)際是由建立時(shí)間來(lái)反映的建立時(shí)間是指數(shù)字量為滿刻度值(各位全為1)時(shí),DAC的模擬輸出電壓達(dá)到某個(gè)規(guī)定值(比如90%滿量程)時(shí)所需要的時(shí)間3.非線性誤差33三、A/D(模數(shù))轉(zhuǎn)換
A/D轉(zhuǎn)換器是指通過(guò)一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。A/D轉(zhuǎn)換后,輸出的數(shù)字信號(hào)有8位、l0位、12位和16位等。類型:雙積分、逐次逼近、并行等。三、A/D(模數(shù))轉(zhuǎn)換A/D轉(zhuǎn)換器是34VoVIND7D1D0逐次逼近式A/D轉(zhuǎn)換原理_+比較器逐次逼近寄存器(SAR)控制電路輸出緩沖寄存器D/A轉(zhuǎn)換器啟動(dòng)信號(hào)CLK時(shí)鐘轉(zhuǎn)換結(jié)束(一)A/D轉(zhuǎn)換原理VoVIND735(二)A/D轉(zhuǎn)換器的主要性能參數(shù)1.分辨率分辨率是指A/D轉(zhuǎn)換器能分辨的最小模擬輸入量。通常用能轉(zhuǎn)換成的數(shù)字量的位數(shù)來(lái)表示,如8位、10位、12位、16位等。2.轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間是A/D完成一次轉(zhuǎn)換所需的時(shí)間。3.量程量程是指所能轉(zhuǎn)換的輸入電壓范圍。4.精度
A/D轉(zhuǎn)換精度分為絕對(duì)精度和相對(duì)精度兩種。(二)A/D轉(zhuǎn)換器的主要性能參數(shù)1.分辨率36(1)絕對(duì)精度:是指對(duì)應(yīng)于—個(gè)給定量,A/D轉(zhuǎn)換器的誤差,其誤差大小由實(shí)際模擬量輸入值與理論值之差來(lái)度量。(2)相對(duì)精度:由相對(duì)誤差決定。相對(duì)誤差是指絕對(duì)誤差與滿刻度值之比,—般用百分?jǐn)?shù)表示。例如,對(duì)于—個(gè)8位0~5V的A/D轉(zhuǎn)換器,如果其絕對(duì)誤差為:
1/2565=19.5mV
則其相對(duì)誤差為0.39%。(1)絕對(duì)精度:是指對(duì)應(yīng)于—個(gè)給定量,A/D轉(zhuǎn)換器的誤差,其371、采樣保持電路(1)采樣:把一個(gè)時(shí)間上連續(xù)變化的模擬量轉(zhuǎn)換為一個(gè)脈沖串,脈沖的幅度取決于輸入模擬量。(2)保持:是將采樣得到的模擬量值保持下來(lái),使之等于采樣控制脈沖存在的最后瞬間的采樣值。(3)采樣定理:理論和實(shí)踐都證明,只要滿足下列條件,采樣保持得到的輸出信號(hào)在經(jīng)過(guò)信號(hào)處理后便可還原成原來(lái)的模擬輸入信號(hào):(三)A/D轉(zhuǎn)換的輔助電路
1、采樣保持電路(三)A/D轉(zhuǎn)換的輔助電路38V0-
Av+S(t)ViTVcCbV0-S(t)ViTVcCb39S(t)υI(t)υSH(t)T1T2T3T4T5T6T7T8tttOOO(a)采樣脈沖(b)輸入電壓(c)采樣保持S(t)υI(t)υSH(t)T1T2T3T4T5T6T7T402、多路轉(zhuǎn)換開(kāi)關(guān)在實(shí)際應(yīng)用時(shí),要解決多個(gè)回路和A/D、D/A轉(zhuǎn)換器之間的切換問(wèn)題。一般采用兩種方法:(1)一種方法是用獨(dú)立的多路轉(zhuǎn)換模擬開(kāi)關(guān)輪流切換各回路和A/D、D/A之間的通路,對(duì)于A/D轉(zhuǎn)換來(lái)說(shuō),要用到多路輸入一路輸出的模擬開(kāi)關(guān)電路,對(duì)于D/A轉(zhuǎn)換來(lái)說(shuō),要用到一路輸入,多路輸出的模擬開(kāi)關(guān)電路。(2)另一種方法是選擇帶有轉(zhuǎn)換開(kāi)關(guān)的A/D、D/A轉(zhuǎn)換器。2、多路轉(zhuǎn)換開(kāi)關(guān)41四、S3C2410A中的A/D模塊(一)概述
具有8通道模擬輸入的10位
模數(shù)轉(zhuǎn)換器(ADC)。在2.5MHz的A/D轉(zhuǎn)換器時(shí)鐘下,最大轉(zhuǎn)化速率可達(dá)到500KSPS。A/D轉(zhuǎn)換器支持片上采樣和保持功能。S3C2410A的AIN[7]和AIN[5]可用于連接觸摸屏的模擬信號(hào)輸入。
(二)特性逐次逼近式
分辯率:10-位線性度誤差:±2.0LSB最大轉(zhuǎn)換速率:500KSPS
供電電壓:3.3V
輸入模擬電壓范圍:0~3.3V
片上采樣保持功能查詢和中斷模式四、S3C2410A中的A/D模塊42(三)ADC控制寄存器(ADCCON)地址:0x58000000,可讀寫(xiě),復(fù)位值:0x3FC4
ECFLG(位15):AD轉(zhuǎn)換結(jié)束標(biāo)志(只讀)。0=A/D轉(zhuǎn)換操作中,1=A/D轉(zhuǎn)換結(jié)束PRSCEN(位14):A/D轉(zhuǎn)換器預(yù)分頻器使能0=停止,1=使能
PRSCVL(位13:6):A/D轉(zhuǎn)換器預(yù)分頻器數(shù)值,數(shù)據(jù)值N范圍:1~255,將PCLK進(jìn)行(N+1)分頻。
如PCLK=50MHZ,N=49,則A/D轉(zhuǎn)換器頻率=50MHz/(49+1)=1MHz轉(zhuǎn)換時(shí)間=1/1MHz×5=5us注意:ADC頻率應(yīng)該設(shè)置成小于PLCK的5倍,即N應(yīng)設(shè)置為大于4。(三)ADC控制寄存器(ADCCON)43SEL_MUX(位
5:3):模擬輸入通道選擇。000=AIN0 001=AIN1010=AIN2 011=AIN3100=AIN4 101=AIN5110=AIN6 111=AIN7STDBM(位2)0=普通模式1=Standby模式,A/D停止轉(zhuǎn)換,A/D數(shù)據(jù)寄存器保持原值SEL_MUX(位5:3):模擬輸入通道選擇。44READ_START(位1):
通過(guò)讀取來(lái)啟動(dòng)A/D轉(zhuǎn)換 0=停止通過(guò)讀取啟動(dòng),1=使能通過(guò)讀取啟動(dòng)ENABLE_START(位0):通過(guò)設(shè)置該位來(lái)啟動(dòng)A/D操作。如果READ_START是使能的,此位無(wú)效。0=無(wú)操作1=A/D轉(zhuǎn)換啟動(dòng),啟動(dòng)后該位被清零。READ_START(位1): 通過(guò)讀取來(lái)啟動(dòng)A/D轉(zhuǎn)換45(四)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0)地址:0x5800000C,可讀寫(xiě)。位9~0為A/D轉(zhuǎn)換的數(shù)字值。范圍為:0~3FFH。思考:設(shè)計(jì)A/D驅(qū)動(dòng)程序,使之能實(shí)現(xiàn)對(duì)多路模擬量的采集。(四)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0)46#defineDRIVER_NAME
"myDriver"staticintmyDriver_Major=0;
/*DriverMajorNumber*/staticintAD_READ(void)
{
inti,j;intval,aa;val=0;
ADCCON|=0x2;
//ADC轉(zhuǎn)換通過(guò)讀操作來(lái)啟動(dòng)aa=ADCDAT0&0x03ff;
//啟動(dòng)ADC轉(zhuǎn)換
for(i=0;i<16;i++){
while(!(ADCCON&0x8000));
//判斷ADC轉(zhuǎn)換是否結(jié)束
val+=(ADCDAT0&0x03ff);//取出ADC轉(zhuǎn)換值
for(j=0;j<500;j++);
}val=val/16;//計(jì)算ADC平均轉(zhuǎn)換值
returnval;
}#defineDRIVER_NAME
"myDriv47/*DriverOperationFunctions*/
staticintmyDriver_open(structinode*inode,structfile*filp){
MOD_INC_USE_COUNT;
PRINTK("myDriveropencalled!\n");/*進(jìn)行ADC模塊設(shè)置,其中x<<n表示第n位設(shè)置為x(若x超過(guò)一位,則向高位順延)*/
ADCCON=(0<<0)|
//ADC轉(zhuǎn)換設(shè)置
未設(shè)置
(0<<1)|//讀AD數(shù)據(jù)觸發(fā)AD轉(zhuǎn)換
未使用
(0<<2)|//StandBy模式選擇
為普通操作模式
(49<<6)|
//CLKDIV=Fpclk/(49+1)
(1<<14);
//預(yù)分頻器使能軟件預(yù)設(shè)值
PRINTK("ADCINITOK\n");
return0;}/*DriverOperationFunctions48staticintmyDriver_release(structinode*inode,structfile*filp){
MOD_DEC_USE_COUNT;
PRINTK("myDriverreleasecalled!\n");return0;}staticintmyDriver_release(st49staticssize_tmyDriver_read(structfile*filp,char*adc_value,size_tcount,loff_t*f_pos){
intadc=0;size_tread_size=count;adc=AD_READ();
copy_to_user(adc_value,&adc,sizeof(adc));
PRINTK("adc_vale=%d\n",adc);
returnread_size;}staticintmyDriver_ioctl(structinode*inode,structfile*file,unsignedintch,unsignedlongarg){
PRINTK("myDriverioctlcalled!\n");
if((ch>7)||(ch<0))
{
PRINTK("notavalidparameter,parametermustbetwween0and8\n");
return-1;
}
ADCCON|=(ch<<3);//channelset
PRINTK("ADCINITOK\n");
return0;}staticssize_tmyDriver_rea
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 精準(zhǔn)定位衛(wèi)生管理證書(shū)考試試題及答案
- 社區(qū)文化活動(dòng)與圖書(shū)館的結(jié)合試題及答案
- 激光測(cè)量與監(jiān)控技術(shù)試題及答案
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師考試技能認(rèn)可與評(píng)估試題及答案
- 藥品倫理審核與商業(yè)運(yùn)作的平衡試題及答案
- 育嬰師家庭環(huán)境與兒童成長(zhǎng)的關(guān)系探討試題及答案
- 藥品集中采購(gòu)政策試題及答案
- 教師資格筆試重要考點(diǎn)與試題及答案分享
- 藥物相關(guān)倫理問(wèn)題探討試題及答案
- 激光設(shè)備的應(yīng)用與管理考題試題及答案
- 2024年中考數(shù)學(xué)《二次函數(shù)的圖象與性質(zhì)》真題含解析
- 2024 NCCN指南:造血生長(zhǎng)因子指南更新要點(diǎn)及治療方案解讀
- 博士后研究報(bào)告(出站)
- 2025屆高考語(yǔ)文復(fù)習(xí):辨析并修改病句+課件
- 2023-2024學(xué)年貴州省黔南州八年級(jí)(下)期末數(shù)學(xué)試卷(含答案)
- 石家莊市橋西區(qū)第四十一中學(xué)2022-2023學(xué)年七年級(jí)下學(xué)期期中數(shù)學(xué)試題
- 高一地理必修-1.4-地球的圈層結(jié)構(gòu)課件
- 2024年吉林省考公務(wù)員面試題及參考答案
- 2024年4月貴州省高三年級(jí)適應(yīng)性考試地理試卷
- 農(nóng)村公路安全生命防護(hù)工程可行性研究報(bào)告
- 金屬?gòu)U料加工的廢料分類與分揀技術(shù)
評(píng)論
0/150
提交評(píng)論