微型計(jì)算機(jī)接口第9章ADDA轉(zhuǎn)換器接口_第1頁
微型計(jì)算機(jī)接口第9章ADDA轉(zhuǎn)換器接口_第2頁
微型計(jì)算機(jī)接口第9章ADDA轉(zhuǎn)換器接口_第3頁
微型計(jì)算機(jī)接口第9章ADDA轉(zhuǎn)換器接口_第4頁
微型計(jì)算機(jī)接口第9章ADDA轉(zhuǎn)換器接口_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2021-10-20計(jì)算機(jī)接口技術(shù)1第第9章章 a/d與與d/a轉(zhuǎn)換器接口轉(zhuǎn)換器接口本章主要內(nèi)容本章主要內(nèi)容模擬量接口的作用模擬量接口的作用 a/d轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法a/d轉(zhuǎn)換器轉(zhuǎn)換器接口應(yīng)用設(shè)計(jì)舉例接口應(yīng)用設(shè)計(jì)舉例d/a轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法d/a轉(zhuǎn)換器接口應(yīng)用設(shè)計(jì)舉例轉(zhuǎn)換器接口應(yīng)用設(shè)計(jì)舉例2021-10-20計(jì)算機(jī)接口技術(shù)29.1 模擬量接口的作用模擬量接口的作用 微型計(jì)算機(jī)在微型計(jì)算機(jī)在實(shí)時(shí)控制、在線動(dòng)態(tài)測量和對物理過程進(jìn)行監(jiān)控,以及圖像、語音處理領(lǐng)域的應(yīng)用中,都要與一些連續(xù)變化的模擬量與一些連續(xù)變化的模擬量(如溫度、壓力、

2、流量、位移、速度、光亮度、聲音、顏色等)打打交道交道,但數(shù)字計(jì)算機(jī)本身只能識(shí)別和處理數(shù)字量,因此,必須經(jīng)過必須經(jīng)過轉(zhuǎn)換器轉(zhuǎn)換器,把模擬量模擬量a轉(zhuǎn)換成數(shù)字量數(shù)字量d,或?qū)?shù)字量數(shù)字量d轉(zhuǎn)換成模擬量模擬量a,才能實(shí)現(xiàn)cpu與被控對象之間的信息交換。 顯然,微機(jī)在面向過程控制、自動(dòng)測量和自動(dòng)監(jiān)控系統(tǒng)與各種被控 、被測對象發(fā)生關(guān)系時(shí),需要設(shè)置一種需要設(shè)置一種“模擬量接口模擬量接口”。2021-10-20計(jì)算機(jī)接口技術(shù)3 模擬量接口電路的作用模擬量接口電路的作用:把把微處理器系統(tǒng)的離散離散的數(shù)字信號(hào)的數(shù)字信號(hào)與模擬設(shè)備中連續(xù)變化的模擬信號(hào)模擬設(shè)備中連續(xù)變化的模擬信號(hào)電壓、電流之間建立起適配關(guān)系建立起適

3、配關(guān)系,以便計(jì)算機(jī)執(zhí)行控制與測量任務(wù)。 從硬件角度來看,模擬量接口模擬量接口就是微處理器微處理器與a/d轉(zhuǎn)換器轉(zhuǎn)換器和d/a轉(zhuǎn)換器轉(zhuǎn)換器之間的連接電路連接電路,前者稱為模入接口模入接口,后者稱為模出接口模出接口。2021-10-20計(jì)算機(jī)接口技術(shù)49.2 a/d轉(zhuǎn)換器轉(zhuǎn)換器 在數(shù)據(jù)采集和過程控制中,被采集對象往往是連續(xù)變化的物理量(如溫度、壓力。聲波等),由于計(jì)算機(jī)只能處理離散的數(shù)字量,需要對連續(xù)變化的物理轉(zhuǎn)換為數(shù)字量,這一操作過程就是a/d轉(zhuǎn)換。 功能功能:把模擬量變換成數(shù)字量把模擬量變換成數(shù)字量 分類分類:按分辨率按分辨率可分為4位、6位、8位、10位、14位、16位和bcd碼的312位、

4、512位等 ; 按照轉(zhuǎn)換速度按照轉(zhuǎn)換速度可分為超高速、高速、中速及低速等; 按轉(zhuǎn)換原理按轉(zhuǎn)換原理可分為直接adc(有逐次逼近型、并聯(lián)比較型等 )和間接adc (有電壓時(shí)間轉(zhuǎn)換型(積分型)、電壓頻率轉(zhuǎn)換型、電壓脈寬轉(zhuǎn)換型等 )。2021-10-20計(jì)算機(jī)接口技術(shù)59.2.1 a/d轉(zhuǎn)換器的主要技術(shù)指標(biāo)轉(zhuǎn)換器的主要技術(shù)指標(biāo)1.1.分辨率分辨率 分辨率分辨率是指adc能夠把模擬量轉(zhuǎn)換成二進(jìn)制數(shù)的位數(shù)能夠把模擬量轉(zhuǎn)換成二進(jìn)制數(shù)的位數(shù)。例如,用1個(gè)10位adc轉(zhuǎn)換一個(gè)滿量程為5v的電壓,則它能分辨的最小電壓為5000mv/10245mv。若模擬輸入值的變化小于5mv的電壓,則adc無反映,輸出保持不變,

5、即只能分辨出5mv以上的變化。同樣5v電壓,若采用12位adc,則它能分辨的最小電壓為5000mv/40961mv??梢姡琣dc的數(shù)字量輸出位數(shù)越多,其分辨的數(shù)字量輸出位數(shù)越多,其分辨率就越高。率就越高。2021-10-20計(jì)算機(jī)接口技術(shù)6 adc的分辨率反映在它的輸出數(shù)據(jù)線的寬度上的分辨率反映在它的輸出數(shù)據(jù)線的寬度上,如adc0809的分辨率是8位,它的數(shù)據(jù)線也是8根;ad574a的分辨率是12位,它的數(shù)據(jù)線也是12根。 分辨率不同分辨率不同會(huì)影響adc接口與系統(tǒng)數(shù)據(jù)總線的連接接口與系統(tǒng)數(shù)據(jù)總線的連接。當(dāng)分辨率即adc的輸出數(shù)據(jù)線寬度大于微機(jī)系統(tǒng)數(shù)據(jù)總線寬度時(shí),就不能一次傳輸,而需兩次傳輸,

6、要增加附加電路(緩沖寄存器),從而影響接口電路的組成及數(shù)據(jù)傳輸?shù)耐緩健?021-10-20計(jì)算機(jī)接口技術(shù)72.2.轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間 轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間是從輸入啟動(dòng)轉(zhuǎn)換信號(hào)開始到轉(zhuǎn)換結(jié)束從輸入啟動(dòng)轉(zhuǎn)換信號(hào)開始到轉(zhuǎn)換結(jié)束,得到得到穩(wěn)定的數(shù)字量輸出為止所需的時(shí)間穩(wěn)定的數(shù)字量輸出為止所需的時(shí)間,一般為ms級(jí)和s級(jí)。 一般一般: : 常見有超高速(轉(zhuǎn)換時(shí)間常見有超高速(轉(zhuǎn)換時(shí)間1ns1ns)、)、 高速(轉(zhuǎn)換時(shí)間高速(轉(zhuǎn)換時(shí)間11s s)、)、 中速(轉(zhuǎn)換時(shí)間中速(轉(zhuǎn)換時(shí)間1ms1ms)和低速(轉(zhuǎn)換時(shí)間)和低速(轉(zhuǎn)換時(shí)間1s)1s)等。等。 如果采集對象是動(dòng)態(tài)連續(xù)信號(hào),要求如果采集對象是動(dòng)態(tài)連續(xù)信號(hào),要求

7、f f采采2 f2 f信信,也就是說必須在,也就是說必須在信號(hào)的一個(gè)周期內(nèi)采集信號(hào)的一個(gè)周期內(nèi)采集2 2個(gè)以上的數(shù)據(jù),才能保證信號(hào)形態(tài)被還原(避個(gè)以上的數(shù)據(jù),才能保證信號(hào)形態(tài)被還原(避免出殃免出殃“假頻假頻”),這就是),這就是“最小采樣最小采樣”原理。原理。 轉(zhuǎn)換時(shí)間的快慢轉(zhuǎn)換時(shí)間的快慢將會(huì)影響adc接口與接口與cpu交換數(shù)據(jù)的方式交換數(shù)據(jù)的方式。低速和中速adc一般采用查詢或中斷方式,而高速adc就應(yīng)采用dma方式。 3.3.絕對精度:絕對精度:指a/d轉(zhuǎn)換器實(shí)際輸出與理論值之間的誤差,一般采用數(shù)字量的最低有效位作為衡量單位(如1/2lsb)。4.4.相對精度:相對精度:當(dāng)模擬量變化時(shí),a

8、/d轉(zhuǎn)換器輸出的數(shù)字量按比例變化的程度。na/d轉(zhuǎn)換器的控制步驟:轉(zhuǎn)換器的控制步驟: 發(fā)啟動(dòng)換轉(zhuǎn)信號(hào)發(fā)啟動(dòng)換轉(zhuǎn)信號(hào)取轉(zhuǎn)換結(jié)束標(biāo)志取轉(zhuǎn)換結(jié)束標(biāo)志讀結(jié)果。讀結(jié)果。na/d轉(zhuǎn)換器與轉(zhuǎn)換器與cpu進(jìn)行數(shù)據(jù)交換的方式:進(jìn)行數(shù)據(jù)交換的方式: 查詢方式和中斷方式查詢方式和中斷方式n影響影響a/d轉(zhuǎn)換器接口的轉(zhuǎn)換器接口的因素:因素:(1)轉(zhuǎn)換器分辨率)轉(zhuǎn)換器分辨率 能夠輸出的二進(jìn)制數(shù)據(jù)的位數(shù)能夠輸出的二進(jìn)制數(shù)據(jù)的位數(shù)(2)轉(zhuǎn)換器的數(shù)據(jù)輸出結(jié)構(gòu))轉(zhuǎn)換器的數(shù)據(jù)輸出結(jié)構(gòu) 是否是可控三態(tài)輸出,可控則是否是可控三態(tài)輸出,可控則. 不可控不可控(3)轉(zhuǎn)換器的啟動(dòng)方式)轉(zhuǎn)換器的啟動(dòng)方式 有脈沖和電平兩種方式有脈沖和電平兩種

9、方式(4)讀取結(jié)果的數(shù)據(jù)傳送方式)讀取結(jié)果的數(shù)據(jù)傳送方式 數(shù)據(jù)的傳送方式有查詢方式、中斷方式、數(shù)據(jù)的傳送方式有查詢方式、中斷方式、dma方式方式2021-10-20計(jì)算機(jī)接口技術(shù)109.2.2 a/d轉(zhuǎn)換器的外部特性轉(zhuǎn)換器的外部特性 由于a/d轉(zhuǎn)換器轉(zhuǎn)換器內(nèi)部一般沒有設(shè)置供用戶訪問的寄存器沒有設(shè)置供用戶訪問的寄存器,也沒有命令字。它的轉(zhuǎn)換操作是由其內(nèi)部硬件邏輯電路完成的,而不是它執(zhí)行內(nèi)部的命令完成的,因此,它不好用可編程特性的編程模型來表述不好用可編程特性的編程模型來表述。在分析a/d轉(zhuǎn)換器芯片時(shí),主要是看它的外部連接特性主要是看它的外部連接特性,其中轉(zhuǎn)換啟動(dòng)信號(hào)是cpu對a/d轉(zhuǎn)換器唯一的控

10、制信號(hào)。 從外部特性來看從外部特性來看,無論是哪種adc芯片,都必不可少地設(shè)置設(shè)置有4種基本種基本外部信號(hào)線。外部信號(hào)線。這些信號(hào)線是實(shí)現(xiàn)a/d轉(zhuǎn)換操作的條件,也是設(shè)計(jì)是設(shè)計(jì)adc接口接口硬件硬件電路的依據(jù)。電路的依據(jù)。2021-10-20計(jì)算機(jī)接口技術(shù)111 1模擬信號(hào)輸入線模擬信號(hào)輸入線 來自被轉(zhuǎn)換對象的模擬量輸入線來自被轉(zhuǎn)換對象的模擬量輸入線,有單通道輸入與多通道輸入之分接口硬件電路的依據(jù)。2 2數(shù)字量輸出線數(shù)字量輸出線 adc的數(shù)字量數(shù)據(jù)輸出線的數(shù)字量數(shù)據(jù)輸出線。數(shù)據(jù)線的根數(shù)表示adc的分辨率。3 3轉(zhuǎn)換啟動(dòng)線轉(zhuǎn)換啟動(dòng)線 外部控制信號(hào)外部控制信號(hào),此信號(hào)一到,a/d轉(zhuǎn)換才能開始轉(zhuǎn)換才能

11、開始,啟動(dòng)轉(zhuǎn)換信號(hào)不到,adc不會(huì)自動(dòng)開始轉(zhuǎn)換,并且是發(fā)一次啟動(dòng)信號(hào)只能轉(zhuǎn)換一發(fā)一次啟動(dòng)信號(hào)只能轉(zhuǎn)換一次,次,采集一個(gè)數(shù)據(jù)。4 4轉(zhuǎn)換結(jié)束線轉(zhuǎn)換結(jié)束線 轉(zhuǎn)換完畢后由adcadc發(fā)出發(fā)出a/d轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束信號(hào)信號(hào),利用它以查詢或中斷方式向微處理器報(bào)告轉(zhuǎn)換已經(jīng)完成。只有轉(zhuǎn)換結(jié)束信號(hào)出現(xiàn)時(shí)只有轉(zhuǎn)換結(jié)束信號(hào)出現(xiàn)時(shí),微處理器才可以開始讀取數(shù)據(jù)才可以開始讀取數(shù)據(jù)。2021-10-20計(jì)算機(jī)接口技術(shù)12幾種a/d轉(zhuǎn)換器芯片相同功能的引腳對照相同功能的引腳對照如表如表9.1所示所示。adcadc實(shí)例實(shí)例(1 1)8 8位位adcadc連接與編程連接與編程adc0809adc0809是逐次逼近式的是逐次逼近

12、式的8 8位位adcadc芯片,引腳芯片,引腳和內(nèi)部結(jié)構(gòu)圖。和內(nèi)部結(jié)構(gòu)圖。lin0-in7in0-in7八路模擬量輸入端;八路模擬量輸入端;ladda,addb,addcadda,addb,addc地址輸入端,選通輸入端;地址輸入端,選通輸入端;(它們的編碼決定(它們的編碼決定8 8個(gè)輸入中的一個(gè))個(gè)輸入中的一個(gè))laleale地址鎖存允許信號(hào);地址鎖存允許信號(hào);lstartstart轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;ld0-d7d0-d7數(shù)字量輸出端;數(shù)字量輸出端;leoceoc轉(zhuǎn)換結(jié)束信息輸入端;轉(zhuǎn)換結(jié)束信息輸入端;loeoe輸出允許信號(hào);輸出允許信號(hào);lvcc,gndvcc,gnd

13、電壓輸入端和地線;電壓輸入端和地線;lvref+,vref-vref+,vref-正負(fù)基準(zhǔn)電壓輸入端正負(fù)基準(zhǔn)電壓輸入端lclockclock時(shí)鐘信號(hào)輸入端時(shí)鐘信號(hào)輸入端2827262524232221201912345678910in2in1in0addaaddbaddcaled7d6d5in3in4in5in6in7starteocd3oeclk1112131418171615d4d0vref-d2vccvref+gndd1adc0809(a)8路模擬開關(guān)地址鎖存譯碼電子開關(guān)逐次逼近寄存器控制與時(shí)序解碼網(wǎng)絡(luò)startclk三態(tài)門vccgndvref(+) vref(-)oeeocin0in7

14、addcaddbaddaaleadc0809引腳與內(nèi)部結(jié)構(gòu)2021-10-20計(jì)算機(jī)接口技術(shù)159.3 a/d轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法由于接口連接的對象接口連接的對象a/d轉(zhuǎn)換器自身的操作比較單一的操作比較單一,因而要求外部對它實(shí)施的控制比較簡單對它實(shí)施的控制比較簡單,所以轉(zhuǎn)換器接口只需少數(shù)幾根信號(hào)線,采用并行接口就綽綽有余,甚至使用一些ic芯片也能滿足接口功能要求。但是,轉(zhuǎn)換器轉(zhuǎn)換器與cpu交換數(shù)據(jù)的方式多種多樣交換數(shù)據(jù)的方式多種多樣,查詢、中斷、dma方式都有可能,因此在轉(zhuǎn)換器接口設(shè)計(jì)中接口設(shè)計(jì)中會(huì)牽涉到對系統(tǒng)中斷、會(huì)牽涉到對系統(tǒng)中斷、dma資源的應(yīng)用。的應(yīng)用。

15、 a/d轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù),轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù),主要有兩個(gè)方面:有兩個(gè)方面:adc如何與如何與cpu進(jìn)行連接進(jìn)行連接和如何與如何與cpu交換數(shù)據(jù)交換數(shù)據(jù),有時(shí)還要考慮對所采集的數(shù)據(jù)進(jìn)行在線處理。2021-10-20計(jì)算機(jī)接口技術(shù)169.3.1 a/d轉(zhuǎn)換器與轉(zhuǎn)換器與cpu的連接的連接在a/d轉(zhuǎn)換器與cpu的進(jìn)行連接時(shí),要注意分析它的4種外部信號(hào)線的特點(diǎn),采用不同的方法。1.adc1.adc轉(zhuǎn)換的啟動(dòng)信號(hào)轉(zhuǎn)換的啟動(dòng)信號(hào) 1)adc的轉(zhuǎn)換啟動(dòng)方式的轉(zhuǎn)換啟動(dòng)方式有脈沖啟動(dòng)脈沖啟動(dòng)和電平啟動(dòng)電平啟動(dòng)之分。若是脈沖啟動(dòng)脈沖啟動(dòng),則則只需接口電路提供提供1個(gè)寬度滿足啟動(dòng)要求的脈沖信號(hào)個(gè)寬度滿足啟動(dòng)要求

16、的脈沖信號(hào)即可。一般采用iow或ior的脈寬就可以了。若是電平啟動(dòng)電平啟動(dòng),則要求啟動(dòng)信號(hào)的電平在轉(zhuǎn)則要求啟動(dòng)信號(hào)的電平在轉(zhuǎn)換過程中保持不變換過程中保持不變,否則(如中途撤銷)就會(huì)停止轉(zhuǎn)換而產(chǎn)生錯(cuò)誤的結(jié)果。為此,就應(yīng)增加附加電路(如d觸發(fā)器、單穩(wěn)電路)或采用可編程并行i/o接口芯片來鎖存這個(gè)啟動(dòng)信號(hào),使之在轉(zhuǎn)換過程中維持不變。2021-10-20計(jì)算機(jī)接口技術(shù)17 2)adc的轉(zhuǎn)換啟動(dòng)信號(hào)的轉(zhuǎn)換啟動(dòng)信號(hào)有單個(gè)信號(hào)啟動(dòng)單個(gè)信號(hào)啟動(dòng)和由多個(gè)信號(hào)組合多個(gè)信號(hào)組合起來的復(fù)合信號(hào)起來的復(fù)合信號(hào)啟動(dòng)之分。若是由單個(gè)信號(hào)啟動(dòng)由單個(gè)信號(hào)啟動(dòng),如adc0809的start,則只需接口電路提供1個(gè)start正脈沖

17、信號(hào)。若是由復(fù)合信號(hào)啟動(dòng)由復(fù)合信號(hào)啟動(dòng),如ad574a的ce(r/c=0), cs,則 ce 、r/c=0和 cs三個(gè)信號(hào)要同時(shí)滿足要求才能啟動(dòng)。 2.adc2.adc模擬量輸入的控制信號(hào)模擬量輸入的控制信號(hào) 1)adc的模擬信號(hào)輸入信號(hào)的模擬信號(hào)輸入信號(hào)有多通道多通道和單通道單通道之分。若是多通道多通道,則則要求接口電路提供通道地址線提供通道地址線及通道地址鎖存信號(hào)線通道地址鎖存信號(hào)線,以便選擇與確定輸入模擬量的通道號(hào)。若是單通道單通道,則不需要處理則不需要處理。2021-10-20計(jì)算機(jī)接口技術(shù)18 3.adc3.adc數(shù)字量輸出的控制信號(hào)數(shù)字量輸出的控制信號(hào) 1)adc的數(shù)據(jù)輸出是否是三

18、態(tài)鎖存器。若是的數(shù)據(jù)輸出是否是三態(tài)鎖存器。若是,則adc的輸出數(shù)據(jù)的輸出數(shù)據(jù)線可直接掛在線可直接掛在cpu的數(shù)據(jù)總線上的數(shù)據(jù)總線上;否則否則,必須在adc的輸出數(shù)據(jù)線與cpu的數(shù)據(jù)總線之間外加三態(tài)鎖存器才能連接外加三態(tài)鎖存器才能連接。 2)adc的分辨率與系統(tǒng)數(shù)據(jù)總線寬度是否一致的分辨率與系統(tǒng)數(shù)據(jù)總線寬度是否一致。若一致若一致,則數(shù)據(jù)只需1次傳輸,數(shù)據(jù)線可直接連接數(shù)據(jù)線可直接連接;若不一致若不一致,則數(shù)據(jù)需分批傳輸,應(yīng)增增加附加電路加附加電路(緩沖寄存器)。2021-10-20計(jì)算機(jī)接口技術(shù)19 4.adc4.adc的轉(zhuǎn)換結(jié)束信號(hào)的轉(zhuǎn)換結(jié)束信號(hào) a/d轉(zhuǎn)換結(jié)束后,用轉(zhuǎn)換結(jié)束信號(hào)通知cpu,轉(zhuǎn)換

19、已經(jīng)結(jié)束,請求讀取數(shù)據(jù)。轉(zhuǎn)換結(jié)束信號(hào)轉(zhuǎn)換結(jié)束信號(hào)的邏輯定義,有的是高電平有效有的是高電平有效,有的是有的是低電平有效。低電平有效。轉(zhuǎn)換結(jié)束信號(hào)可用于查詢方式、中斷方式、dma方式的申請信號(hào)。2021-10-20計(jì)算機(jī)接口技術(shù)209.3.2 a/d轉(zhuǎn)換器與轉(zhuǎn)換器與cpu之間的數(shù)據(jù)交換方式之間的數(shù)據(jù)交換方式 采集的數(shù)據(jù)用什么方式采集的數(shù)據(jù)用什么方式傳輸?shù)絻?nèi)存?zhèn)鬏數(shù)絻?nèi)存,是是a/d轉(zhuǎn)換器接口設(shè)計(jì)轉(zhuǎn)換器接口設(shè)計(jì),也是數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)中的一個(gè)重要內(nèi)容數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)中的一個(gè)重要內(nèi)容,因?yàn)閿?shù)據(jù)傳輸速度是關(guān)系到數(shù)據(jù)采集速率的重要因素。假定adc的轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間為為t,每次轉(zhuǎn)換后將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)傳輸?shù)街付ǖ?/p>

20、內(nèi)內(nèi)存存單元所需的時(shí)間的時(shí)間為為,則采集采集速率的上限速率的上限為f0=1/(t+)。所以,為了提高數(shù)據(jù)采集速率,一是采用高速a/d轉(zhuǎn)換芯片,使t盡量小;一是減少數(shù)據(jù)傳輸過程中所花的時(shí)間,特別是高速或超高速數(shù)據(jù)采集高速或超高速數(shù)據(jù)采集系統(tǒng)系統(tǒng),的減少顯得尤為重要。的減少顯得尤為重要。因此,需要研究adc與cpu之間數(shù)據(jù)交換采用什么方式的問題。2021-10-20計(jì)算機(jī)接口技術(shù)21adc與內(nèi)存之間交換數(shù)據(jù)與內(nèi)存之間交換數(shù)據(jù),根據(jù)不同的要求,可采用查詢、可采用查詢、中斷、中斷、dma方式,以及在板方式,以及在板ram技術(shù)技術(shù)。不同的方式不同的方式使adc接接口電路的組成不同口電路的組成不同,編程的

21、方法也不同編程的方法也不同。所謂在板所謂在板ram技術(shù)技術(shù)是針對超高速數(shù)據(jù)采集系統(tǒng),其adc速度非常快,采用dma方式傳輸也跟不上轉(zhuǎn)換的速度,故在在adc板上設(shè)置板上設(shè)置ram,把采集的數(shù)據(jù)先就近存放在,把采集的數(shù)據(jù)先就近存放在ram中中,然然后后,再從板上的再從板上的ram取出數(shù)據(jù)送到內(nèi)存取出數(shù)據(jù)送到內(nèi)存。這也是是數(shù)據(jù)采集系統(tǒng)中為解決為解決轉(zhuǎn)換速度快,而傳輸速度跟不上的一種方法轉(zhuǎn)換速度快,而傳輸速度跟不上的一種方法。2021-10-20計(jì)算機(jī)接口技術(shù)229.3.3 a/d轉(zhuǎn)換器的數(shù)據(jù)在線處理轉(zhuǎn)換器的數(shù)據(jù)在線處理實(shí)際應(yīng)用中,對采集到的數(shù)據(jù)一般都要進(jìn)行一些處理對采集到的數(shù)據(jù)一般都要進(jìn)行一些處理,

22、包括生成生成數(shù)據(jù)文件數(shù)據(jù)文件、存盤存盤、顯示顯示、打印打印、遠(yuǎn)距離傳輸遠(yuǎn)距離傳輸?shù)取S械倪€要將采集的數(shù)據(jù)作為重要參數(shù)參與運(yùn)算,進(jìn)行進(jìn)一步的加工。雖然這些處理不屬于adc接口控制程序的內(nèi)容,但它們是是a/da/d轉(zhuǎn)換之后,常常遇到的操作轉(zhuǎn)換之后,常常遇到的操作,因此,往往也把其中的一些操作放在a/d轉(zhuǎn)換程序之中。例如,將采集到的數(shù)據(jù)在屏幕上顯示出來,以便觀察a/d轉(zhuǎn)換的結(jié)果是否正確。又如,將前端機(jī)采集的數(shù)據(jù)生成數(shù)據(jù)文件,再傳輸?shù)缴衔粰C(jī)去進(jìn)行加工等。2021-10-20計(jì)算機(jī)接口技術(shù)239.3.4 a/d轉(zhuǎn)換器接口設(shè)計(jì)需考慮的問題轉(zhuǎn)換器接口設(shè)計(jì)需考慮的問題1.adc的模擬量輸入是否是多通道?的模擬

23、量輸入是否是多通道?是是,則需選擇通道號(hào),應(yīng)提應(yīng)提供通道選擇線供通道選擇線;不是不是,則不做處理則不做處理。2.adc的分辨率是否大于系統(tǒng)數(shù)據(jù)總線寬度?的分辨率是否大于系統(tǒng)數(shù)據(jù)總線寬度?是是,則要分兩次傳輸,故需增加鎖存器故需增加鎖存器,并提供鎖存器選通信號(hào);不是不是,則不做處理則不做處理。3.adc芯片內(nèi)部是否有三態(tài)輸出鎖存器?芯片內(nèi)部是否有三態(tài)輸出鎖存器?無無,則adc的數(shù)據(jù)線不能與系統(tǒng)的數(shù)據(jù)線直接連接,故需增加三態(tài)鎖存器需增加三態(tài)鎖存器,并提供鎖存允許信號(hào);有有,則不做處理則不做處理。4.adc的啟動(dòng)方式是脈沖觸發(fā)還是電平觸發(fā)?的啟動(dòng)方式是脈沖觸發(fā)還是電平觸發(fā)?是脈沖是脈沖,則提供脈沖信

24、號(hào);是電平是電平,則提供電平信號(hào),并保持到轉(zhuǎn)換結(jié)束。2021-10-20計(jì)算機(jī)接口技術(shù)245.a/d轉(zhuǎn)換的數(shù)據(jù)采用哪種傳輸方式?轉(zhuǎn)換的數(shù)據(jù)采用哪種傳輸方式?有無條件傳輸無條件傳輸、查詢方式查詢方式、中斷方式中斷方式和dma方式方式等多種方式選擇。傳輸?shù)姆绞讲煌涌诘挠布M成和軟件編程就不同。6.對對a/d轉(zhuǎn)換的數(shù)據(jù)進(jìn)行什么樣的處理?轉(zhuǎn)換的數(shù)據(jù)進(jìn)行什么樣的處理?有顯示顯示、打印打印、生成文生成文件存盤件存盤、遠(yuǎn)距離傳輸距離傳輸?shù)榷喾N處理。7.adc接口電路采用什么元器件組成?接口電路采用什么元器件組成?有普通ic芯片芯片、可編程可編程并行口芯片并行口芯片、gal器件等多種選擇。前面4項(xiàng)是由接口

25、對象adc決定的(可從芯片手冊中查到),用戶無法改變,只能按照它的要求在設(shè)計(jì)中給予滿足。后面3項(xiàng)是可以改變的,設(shè)計(jì)者應(yīng)根據(jù)設(shè)計(jì)目標(biāo)靈活選用。(1)設(shè)adc0809的8個(gè)模擬通道地址為300h 307h,畫連線試將圖中左側(cè)的信號(hào)與圖中右側(cè)的有關(guān)引腳連接起來。(2)若對in0通道的模擬電壓進(jìn)行轉(zhuǎn)換得到的數(shù)字量為9bh,計(jì)算輸入的模擬電壓uin0。vinbhu04.315512591258802021-10-20計(jì)算機(jī)接口技術(shù)269.4 查詢方式的查詢方式的adc接口設(shè)接口設(shè) 例例9.1 查詢方式的查詢方式的adc接口設(shè)計(jì)接口設(shè)計(jì)1 1要求要求要求利用要求利用adc0804adc0804采集采集10

26、0100個(gè)字節(jié)數(shù)據(jù)個(gè)字節(jié)數(shù)據(jù),采集的數(shù)據(jù)以查詢方式以查詢方式傳輸?shù)絻?nèi)存bufr區(qū)。接口電路采用普通接口電路采用普通icic芯片芯片組成。2分析分析按照按照9.3.4節(jié)的方法進(jìn)行分析節(jié)的方法進(jìn)行分析,adc0804是單個(gè)模擬量輸入單個(gè)模擬量輸入,故不提供通道選擇信號(hào)。adc0804的分辨率為分辨率為8位位,并具有三態(tài)輸出鎖存器具有三態(tài)輸出鎖存器,故可與系統(tǒng)數(shù)據(jù)總線直接相連。adc0804的啟動(dòng)方式啟動(dòng)方式為脈沖啟動(dòng)脈沖啟動(dòng),當(dāng)它的輸入引腳 cs和wr 兩個(gè)信號(hào)同時(shí)有效,就開始轉(zhuǎn)換。轉(zhuǎn)換結(jié)束信換結(jié)束信號(hào)號(hào)是 intr,當(dāng)intr =0,表示轉(zhuǎn)換結(jié)束。數(shù)據(jù)傳輸方式為查詢方式查詢方式,故需將轉(zhuǎn)換結(jié)束狀

27、態(tài)信號(hào)作為查詢的對象。 2021-10-20計(jì)算機(jī)接口技術(shù)273設(shè)計(jì)設(shè)計(jì)(1 1)硬件設(shè)計(jì))硬件設(shè)計(jì)由以上分析可知由以上分析可知,本接口電路的任務(wù)本接口電路的任務(wù)是提供轉(zhuǎn)換啟動(dòng)信號(hào)提供轉(zhuǎn)換啟動(dòng)信號(hào)和轉(zhuǎn)換轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)結(jié)束狀態(tài)信號(hào),以及輸入輸入8 8位數(shù)據(jù)的通路位數(shù)據(jù)的通路。為此,要設(shè)計(jì)端口地址譯要設(shè)計(jì)端口地址譯碼電路碼電路,產(chǎn)生產(chǎn)生 cscs,并由由 c cs s和和w wr r 共同組成共同組成啟動(dòng)信號(hào)啟動(dòng)信號(hào)。同時(shí),還要設(shè)要設(shè)置一個(gè)三態(tài)門置一個(gè)三態(tài)門,將轉(zhuǎn)換結(jié)束信號(hào)轉(zhuǎn)換結(jié)束信號(hào)i intrntr引到數(shù)據(jù)線的數(shù)據(jù)線的d7d7上上,以便cpu讀讀取狀態(tài)取狀態(tài)。而轉(zhuǎn)換器的轉(zhuǎn)換器的8 8位數(shù)據(jù)線

28、位數(shù)據(jù)線直接與系統(tǒng)數(shù)據(jù)線連接系統(tǒng)數(shù)據(jù)線連接。接口電路原理接口電路原理如圖如圖9.19.1所示所示。2021-10-20計(jì)算機(jī)接口技術(shù)28圖9.1 查詢方式adc接口電路原理圖2021-10-20計(jì)算機(jī)接口技術(shù)29 (2) (2)軟件編程軟件編程 adcadc接口控制程序接口控制程序,也就是數(shù)據(jù)采集程序數(shù)據(jù)采集程序,其程序的基本其程序的基本結(jié)構(gòu)是循環(huán)程序結(jié)構(gòu)是循環(huán)程序。因?yàn)閿?shù)據(jù)采集往往要采樣多個(gè)點(diǎn)的數(shù)據(jù),而每一次啟動(dòng),只能采集(轉(zhuǎn)換)1個(gè)數(shù)據(jù),所以,采集程序要循環(huán)執(zhí)行多次,直至采樣次數(shù)已到為止。 查詢方式數(shù)據(jù)采集流程圖數(shù)據(jù)采集流程圖如圖如圖9.2所示所示。查詢方式數(shù)據(jù)采集匯編語言程序段和c語言程

29、序段,見教材見教材p166167. 圖9.2 查詢方式數(shù)據(jù)采集程序流程2021-10-20計(jì)算機(jī)接口技術(shù)309.5 中斷方式的中斷方式的adc接口設(shè)計(jì)接口設(shè)計(jì) 例例9.2 中斷方式的中斷方式的adc接口設(shè)計(jì)接口設(shè)計(jì) 1. 1.要求要求 采用采用adc0809,從通道通道7采集100個(gè)字節(jié)數(shù)據(jù)個(gè)字節(jié)數(shù)據(jù),采集的數(shù)據(jù)以中斷方式傳中斷方式傳輸輸?shù)絻?nèi)存緩沖區(qū),并將轉(zhuǎn)換結(jié)束信號(hào)eoc連到irq4上,請求中斷。 2.2.分析分析 要實(shí)現(xiàn)上述設(shè)計(jì)要求,至少有3個(gè)方面的問題個(gè)方面的問題需要考慮:被控對象adc0809的外部特性的外部特性、接口電路結(jié)構(gòu)形式接口電路結(jié)構(gòu)形式、中斷處理中斷處理。下面分別進(jìn)行分析。

30、(1)adc0809的外部特性的外部特性 adc0809的外部的外部引腳引腳如圖如圖9.3所示所示,內(nèi)部邏輯內(nèi)部邏輯如圖如圖9.4所示所示。 adc0809的時(shí)序的時(shí)序如圖如圖9.5所示所示。2021-10-20計(jì)算機(jī)接口技術(shù)31圖9.4 adc0809內(nèi)部邏輯原理圖 圖9.3 adc0809引腳圖2021-10-20計(jì)算機(jī)接口技術(shù)32adc0809的時(shí)序的時(shí)序如圖如圖9.5所示所示。圖9.5 adc0809的時(shí)序2021-10-20計(jì)算機(jī)接口技術(shù)33 按照按照9.3.4節(jié)的方法,結(jié)合圖節(jié)的方法,結(jié)合圖9.3、圖、圖9.4進(jìn)行分析進(jìn)行分析,adc0809有8個(gè)模擬量輸入端個(gè)模擬量輸入端(in0

31、in7),相應(yīng)設(shè)置相應(yīng)設(shè)置3根模擬量通道地址線根模擬量通道地址線(addaaddc),用以編碼來選擇8個(gè)模擬量輸入通道。并且還設(shè)置還設(shè)置1根通道地址鎖存允許信號(hào)根通道地址鎖存允許信號(hào)ale,高電平有效。當(dāng)選擇通道地址時(shí),需使ale變高,鎖存由addaaddc編碼所選中的通道號(hào),將該通道的模擬量接入adc。 adc0809的分辨為分辨為8,有有8根數(shù)字量輸出線根數(shù)字量輸出線(d7d0),帶有三態(tài)輸帶有三態(tài)輸出鎖存緩沖器出鎖存緩沖器。并設(shè)置了設(shè)置了1根數(shù)據(jù)輸出允許信號(hào)數(shù)據(jù)輸出允許信號(hào)oe,高電平有效。當(dāng)讀數(shù)據(jù)時(shí),要使oe置高,打開三態(tài)輸出緩沖器,把轉(zhuǎn)換的數(shù)字量送到數(shù)據(jù)線上。2021-10-20計(jì)算

32、機(jī)接口技術(shù)34(2)接口電路結(jié)構(gòu)形式接口電路結(jié)構(gòu)形式接口電路采用采用可編程并行接口芯片并行接口芯片82c55a,并把轉(zhuǎn)換結(jié)束信號(hào)把轉(zhuǎn)換結(jié)束信號(hào)eoc連到連到系統(tǒng)總線的irq4實(shí)現(xiàn)中斷傳送中斷傳送。(3)中斷處理中斷處理由于本例題是利用系統(tǒng)的中斷資源利用系統(tǒng)的中斷資源,故不需要進(jìn)行中斷系統(tǒng)的硬件設(shè)計(jì)和82c59a的初始化,只需做兩件事只需做兩件事: 中斷向量的修改中斷向量的修改:修改的對象是irq4的中斷向量,修改的步驟和方法見第5.9.1節(jié)。 對對82c59a兩個(gè)命令的使用兩個(gè)命令的使用:在主程序中用命令在主程序中用命令ocw1屏蔽屏蔽/開放開放irq4的中斷請求的中斷請求;在服務(wù)程序中在服務(wù)

33、程序中返回主程序之前,用用ocw2發(fā)中斷結(jié)束發(fā)中斷結(jié)束eoi,清除irq4在中斷控制器內(nèi)部isr寄存器中置1的位。2021-10-20計(jì)算機(jī)接口技術(shù)353 3設(shè)計(jì)設(shè)計(jì)(1)硬件設(shè)計(jì))硬件設(shè)計(jì)根據(jù)上述分析可知根據(jù)上述分析可知,本接口電路本接口電路要提供提供adc0809模擬量通道號(hào)模擬量通道號(hào)選擇信號(hào)選擇信號(hào)、啟動(dòng)轉(zhuǎn)換信號(hào)啟動(dòng)轉(zhuǎn)換信號(hào)、讀數(shù)據(jù)允許信號(hào)讀數(shù)據(jù)允許信號(hào)。這些信號(hào)都可由這些信號(hào)都可由82c55a接口芯片實(shí)現(xiàn)接口芯片實(shí)現(xiàn)。而eoc的中斷請求直接連到的中斷請求直接連到系統(tǒng)總線的irq4上。中斷方式的中斷方式的adc接口電路接口電路如圖如圖9.6所示所示。2021-10-20計(jì)算機(jī)接口技術(shù)3

34、6圖9.6 中斷方式的adc接口電路原理2021-10-20計(jì)算機(jī)接口技術(shù)37(a)主程序流程 (b)中斷服務(wù)程序(2 2)軟件設(shè)計(jì))軟件設(shè)計(jì)本例的程序流程圖程序流程圖如圖如圖9.7所示所示。整個(gè)程序分主程序和中斷服務(wù)程序兩部分。2021-10-20計(jì)算機(jī)接口技術(shù)38中斷方式數(shù)據(jù)采集中斷方式數(shù)據(jù)采集匯編語言程序段和匯編語言程序段和c語言程序段語言程序段見教材見教材p1701722021-10-20計(jì)算機(jī)接口技術(shù)399.6 dma方式的方式的adc接口設(shè)計(jì)接口設(shè)計(jì)例例9.3 dma方式的方式的adc接口設(shè)計(jì)接口設(shè)計(jì)1 1要求要求 8位adc共采集4kb數(shù)據(jù),采集的數(shù)據(jù)采集的數(shù)據(jù)用dma方式送到送

35、到從30400h單元開始的內(nèi)存單元開始的內(nèi)存保存,以待處理,內(nèi)存地址以加1方式遞增。使用dmac 82c37的通道1,采用單一的傳輸方式。2 2分析與設(shè)計(jì)分析與設(shè)計(jì) 1)接口電路組成)接口電路組成 采用采用dma方式的數(shù)據(jù)采集系統(tǒng)電路方式的數(shù)據(jù)采集系統(tǒng)電路如圖如圖9.8所示所示。2021-10-20計(jì)算機(jī)接口技術(shù)40 dma方式的方式的adc接口接口電路電路包括adc、采樣保持器采樣保持器s/h、a/d轉(zhuǎn)換啟動(dòng)邏輯轉(zhuǎn)換啟動(dòng)邏輯u1、dma申請寄存器申請寄存器u2及dma回答信號(hào)回答信號(hào)dack1邏輯等部分。dma控制器82c37a未在圖9.8中畫出,只在圖9.8的左側(cè)畫出了它的部分信號(hào)線。 圖

36、9.8 dma方式的adc接口原理圖2021-10-20計(jì)算機(jī)接口技術(shù)413dmac傳輸參數(shù)的設(shè)置傳輸參數(shù)的設(shè)置 從從6.6節(jié)節(jié)用戶對系統(tǒng)dma資源的應(yīng)用可知可知,由于系統(tǒng)的dma控制器初始化已經(jīng)被系統(tǒng)在上電時(shí)設(shè)置好了,用戶要做的僅僅是設(shè)置相關(guān)的用戶要做的僅僅是設(shè)置相關(guān)的dma傳輸參數(shù)傳輸參數(shù),然后等待a/d轉(zhuǎn)換器申請dma傳送。在傳送開始之前,還要填寫頁面地址寄存器還要填寫頁面地址寄存器,將高于16位以上的地址寫入頁面地址寄存器。例如,假設(shè)傳送的內(nèi)存首地址是32000h,則頁面寄存器的內(nèi)容為3,基地址寄存器中內(nèi)容為2000h。如果尋址范圍不超過如果尋址范圍不超過16位位地址地址,則可不使用寫

37、頁面地址寄存器則可不使用寫頁面地址寄存器。 本例根據(jù)題意,需要啟用通道1的頁面地址寄存器。2021-10-20計(jì)算機(jī)接口技術(shù)42數(shù)據(jù)采集中數(shù)據(jù)采集中dma傳輸參數(shù)設(shè)置的傳輸參數(shù)設(shè)置的匯編語言程序段如下匯編語言程序段如下: adc_setup proc near cli ;關(guān)中斷 ;設(shè)置工作方式 mov al,00000101b ;屏蔽通道屏蔽通道1,禁止dreq1的申請 out 0ah,al mov al,01000101b ;方式命令字方式命令字(通道1,單傳方式,地址加1, ;非自動(dòng)預(yù)置,dma寫) out obh,al ;送入方式寄存器 out och,al ;清先清先/后觸發(fā)器后觸發(fā)器

38、(軟命令) ;設(shè)置頁面地址(最高4位地址) mov al,03h ;頁面地址頁面地址(最高4位地址) out 83h,al ;通道1的頁面寄存器2021-10-20計(jì)算機(jī)接口技術(shù)43 ;設(shè)置基地址(低16位) mov al,00h ;低低8位地址位地址 out 02h,al ;通道1的基地址寄存器 mov al,04h ;高高8位地址位地址 out 02h,al ;通道1的基地址寄存器 ;設(shè)置字節(jié)數(shù) mov al,0ffh ;字節(jié)數(shù)低字節(jié)數(shù)低8位位 out 03h,al ;通道1的字節(jié)計(jì)數(shù)器 mov al,0fh ;字節(jié)數(shù)高字節(jié)數(shù)高8位位 out 03h,al ;通道1的字節(jié)計(jì)數(shù)器 sti ;

39、開中斷 mov al,00000001b ;開通通道開通通道1,準(zhǔn)備接受dreq1的申請 out 0ah,al retadc_setup endp2021-10-20計(jì)算機(jī)接口技術(shù)44/數(shù)據(jù)采集中數(shù)據(jù)采集中dma傳輸參數(shù)設(shè)置的傳輸參數(shù)設(shè)置的c語言程序段如下語言程序段如下:void adc_setup()disable();/關(guān)中斷outportb(0 x0a,0 x05);/屏蔽通道1,禁止dreq1申請 outportb(0 x0b,0 x45);/工作方式字:單傳方式,地址 /加1,非自動(dòng)預(yù)置,dma寫,通道outportb(0 x0c,0 x45);/清先后觸發(fā)器(軟命令)/設(shè)置頁面地址

40、(最高4位地址)outportb(0 x83,0 x03);/頁面地址(最高4位地址)/設(shè)置基地址(低16位)outportb(0 x02,0 x00);/低8位地址outportb(0 x02,0 x04);/高8位地址2021-10-20計(jì)算機(jī)接口技術(shù)45 /設(shè)置字節(jié)數(shù)outportb(0 x03,0 x0ff);/字節(jié)數(shù)低8位outportb(0 x03,0 x0f);/字節(jié)數(shù)高8位enable();/開中斷outportb(0 x0a,0 x01);/開通通道1,允許dreq1申請 以上程序可作為數(shù)據(jù)采集系統(tǒng)的一個(gè)子程序供主程序調(diào)用。主程序應(yīng)包括a/d轉(zhuǎn)換定時(shí)啟動(dòng)等部分,不在此列出。2

41、021-10-20計(jì)算機(jī)接口技術(shù)469.7 d/a轉(zhuǎn)換器轉(zhuǎn)換器 9.7.1 d/a轉(zhuǎn)換器的主要技術(shù)指標(biāo)轉(zhuǎn)換器的主要技術(shù)指標(biāo) d/a d/a轉(zhuǎn)換器一般是根據(jù)自己的需要選擇相應(yīng)數(shù)據(jù)位寬度和速度轉(zhuǎn)換器一般是根據(jù)自己的需要選擇相應(yīng)數(shù)據(jù)位寬度和速度的的d/ad/a轉(zhuǎn)換芯片,在選擇轉(zhuǎn)換芯片,在選擇d/ad/a轉(zhuǎn)換器芯片時(shí)一般考慮如下指標(biāo)轉(zhuǎn)換器芯片時(shí)一般考慮如下指標(biāo)( (主要參數(shù)主要參數(shù)) ):1 1分辨率分辨率分辨率分辨率是指dac能夠把多少位二進(jìn)制數(shù)轉(zhuǎn)換成模擬量能夠把多少位二進(jìn)制數(shù)轉(zhuǎn)換成模擬量,或或1 1個(gè)二進(jìn)制增量所代個(gè)二進(jìn)制增量所代表的模擬量大小表的模擬量大小。例如,dac0832能夠把8位二進(jìn)制數(shù)

42、轉(zhuǎn)換成電流,故dac0832的分辨率是8位(1/2551/255);ad390能夠把12位二進(jìn)制數(shù)轉(zhuǎn)換成電壓,故ad390的分辨率是12位。分辨率分辨率體現(xiàn)在體現(xiàn)在dac的數(shù)據(jù)輸入線的寬度的數(shù)據(jù)輸入線的寬度,因此,不同的分辨率分辨率將影響影響dac與與cpu的數(shù)據(jù)線連接的數(shù)據(jù)線連接。當(dāng)分辨率大于數(shù)據(jù)總線寬度時(shí),數(shù)據(jù)分幾次傳輸,需增加附加電路(緩沖寄存器)。2 2轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間是指數(shù)字量從輸入到數(shù)字量從輸入到dac開始至完成轉(zhuǎn)換開始至完成轉(zhuǎn)換,模擬量輸出達(dá)到最終值所需的時(shí)間所需的時(shí)間。dac的轉(zhuǎn)換時(shí)間很快,一般為s級(jí)和ns級(jí)。3.3.絕對精度絕對精度 指d/a轉(zhuǎn)換器實(shí)際輸出與理

43、論值之間的誤差,一般采用數(shù)字量的最低有效位作為衡量單位(如1/2lsb)。如d/a分辨率為20mv,則精度為10mv.4.4.相對精度:相對精度: 當(dāng)數(shù)字量變化時(shí),d/a轉(zhuǎn)換器輸出的模擬量按比例變化的程度。 dacdac芯片與芯片與cpucpu或系統(tǒng)總路線連接時(shí),可從或系統(tǒng)總路線連接時(shí),可從數(shù)據(jù)數(shù)據(jù)總線寬度總線寬度是否與是否與dacdac位數(shù)據(jù)匹配、位數(shù)據(jù)匹配、dacdac是否具是否具有數(shù)據(jù)寄存器有數(shù)據(jù)寄存器兩個(gè)方面來慮,一般有下面幾兩個(gè)方面來慮,一般有下面幾種情況:種情況:(1 1)當(dāng)當(dāng)dacdac位數(shù)與數(shù)據(jù)總線寬度相同,具有數(shù)位數(shù)與數(shù)據(jù)總線寬度相同,具有數(shù)據(jù)緩沖能力時(shí),可直接與據(jù)緩沖能力時(shí)

44、,可直接與cpucpu連接。連接。(2 2)當(dāng)當(dāng)dacdac位數(shù)與數(shù)據(jù)總線寬度相同,位數(shù)與數(shù)據(jù)總線寬度相同,dacdac沒有沒有數(shù)據(jù)寄存器時(shí),必須外加鎖存器或數(shù)據(jù)寄存器時(shí),必須外加鎖存器或i/oi/o接口接口芯片(如芯片(如8255a8255a等)才能與等)才能與cpucpu連接。連接。 當(dāng)當(dāng)dacdac位數(shù)大于數(shù)據(jù)總線寬度,位數(shù)大于數(shù)據(jù)總線寬度,dacdac無論有無無論有無數(shù)據(jù)寄存器時(shí),都必須外加鎖存器或數(shù)據(jù)寄存器時(shí),都必須外加鎖存器或i/oi/o接接口芯片才能與口芯片才能與cpucpu相連接。相連接。1. 81. 8位位dacdac連接連接 dac0832dac0832是一片典型的是一片典

45、型的8 8位位dacdac芯片,其引芯片,其引腳和內(nèi)部結(jié)構(gòu)如圖所示。腳和內(nèi)部結(jié)構(gòu)如圖所示。 有兩級(jí)輸入鎖存器,以差動(dòng)電流的形式輸出有兩級(jí)輸入鎖存器,以差動(dòng)電流的形式輸出模擬量。模擬量。2019181716151413121112345678910vccilewr2xferdi4di5di6di7iout1iout2cswr1agnddi3di2di1di0vrefrfbdgnddac08322021-10-20計(jì)算機(jī)接口技術(shù)499.7.2 d/a轉(zhuǎn)換器的外部特性轉(zhuǎn)換器的外部特性dac的外部引腳信號(hào)線外部引腳信號(hào)線包括:1. 數(shù)字信號(hào)輸入線;2. 模擬信號(hào)輸出線;3. cs信號(hào)線和wr (或wr

46、1 ,wr2 )信號(hào)線,,用于將數(shù)字量打入dac轉(zhuǎn)換器;4. 數(shù)據(jù)輸入鎖存控制線;5. 模擬量輸出通道地址線。2021-10-20計(jì)算機(jī)接口技術(shù)50其中,前3種信號(hào)線是dac的基本信號(hào),后2種是附加信號(hào)線。附加信號(hào)線有時(shí)也集成在dac芯片內(nèi)部。當(dāng)dac芯片內(nèi)部設(shè)置了三態(tài)輸入鎖存器,則在外部就有輸入鎖存允許信號(hào)線。有的芯片(如dac0832)設(shè)置了兩級(jí)輸入鎖存器,相應(yīng)地在外部就有兩級(jí)輸入鎖存允許信號(hào)線。如果有的芯片(如ad390)設(shè)置了輸出模擬量開關(guān),則在外部就有模擬量輸出通道地址選擇信號(hào)。另外,在在dac的外部信號(hào)線的外部信號(hào)線中,沒有像沒有像adc那樣專門那樣專門的“轉(zhuǎn)轉(zhuǎn)換啟動(dòng)換啟動(dòng)”信號(hào)線

47、,也沒有也沒有“轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束”信號(hào)線。2021-10-20計(jì)算機(jī)接口技術(shù)519.8 d/a轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法轉(zhuǎn)換器接口設(shè)計(jì)的任務(wù)與方法9.8.1 d/a9.8.1 d/a轉(zhuǎn)換器與轉(zhuǎn)換器與cpucpu的連接的連接dac轉(zhuǎn)換器轉(zhuǎn)換器與adc轉(zhuǎn)換器轉(zhuǎn)換器的操作有不同的特點(diǎn)不同的特點(diǎn),首先首先,dac工作時(shí),只要只要cpu把數(shù)據(jù)把數(shù)據(jù)送到它的輸入端,寫入寫入dac,dac就就開始轉(zhuǎn)換開始轉(zhuǎn)換,而不需設(shè)置專門的啟動(dòng)信號(hào)不需設(shè)置專門的啟動(dòng)信號(hào)去觸發(fā)轉(zhuǎn)換開始。其次其次,dac也不提供轉(zhuǎn)換結(jié)束之類的狀態(tài)信號(hào)也不提供轉(zhuǎn)換結(jié)束之類的狀態(tài)信號(hào),所以cpu向dac傳輸數(shù)據(jù)時(shí),也不必查詢不必查詢dac的狀態(tài)

48、的狀態(tài),只要兩次傳輸數(shù)據(jù)之間的間隔不小于dac的轉(zhuǎn)換時(shí)間,就能得到正確結(jié)果。正因?yàn)閐ac不設(shè)專門的轉(zhuǎn)換啟動(dòng)信號(hào)線和轉(zhuǎn)換結(jié)束信號(hào)線,使接口對接口對dac提供的提供的信號(hào)線少信號(hào)線少,連連接也就接也就更簡單更簡單。2021-10-20計(jì)算機(jī)接口技術(shù)529.8.2 d/a轉(zhuǎn)換器與轉(zhuǎn)換器與cpu之間的數(shù)據(jù)交換方式之間的數(shù)據(jù)交換方式 d/ad/a轉(zhuǎn)換器與轉(zhuǎn)換器與cpucpu交換數(shù)據(jù)的方式很單一交換數(shù)據(jù)的方式很單一,既不用查詢,也不用中斷,更不用dma方式,是采用無條件方式是采用無條件方式與cpu交換數(shù)據(jù),因此軟件編程很簡單,其主要工作主要工作是向是向dacdac寫數(shù)據(jù)寫數(shù)據(jù)和解決解決cpucpu與與da

49、cdac之間的之間的數(shù)據(jù)緩沖問題數(shù)據(jù)緩沖問題。2021-10-20計(jì)算機(jī)接口技術(shù)539.8.3 d/a轉(zhuǎn)換器接口設(shè)計(jì)需考慮的問題轉(zhuǎn)換器接口設(shè)計(jì)需考慮的問題 分析與設(shè)計(jì)dac接口,相對于adc接口來講,比較簡單,可從以下幾個(gè)方面入手:1.dac的分辨率是否大于系統(tǒng)數(shù)據(jù)總線的寬度?的分辨率是否大于系統(tǒng)數(shù)據(jù)總線的寬度?是是,則要分兩次傳 輸,故需增加鎖存器需增加鎖存器,并提供鎖存選通信號(hào);不是不是,則不做處理則不做處理2.dac芯片內(nèi)部是否有三態(tài)輸入鎖存器?芯片內(nèi)部是否有三態(tài)輸入鎖存器?無無,則數(shù)據(jù)線不能與系統(tǒng) 的db直接連接,故需增加三態(tài)輸入鎖存器需增加三態(tài)輸入鎖存器,并提供鎖存允許信 號(hào);有有,

50、則不做處理則不做處理。3.dac的模擬量輸出是否是多通道?的模擬量輸出是否是多通道?是是,則需選擇通道號(hào),并提供提供 選擇線選擇線;不是不是,則不做處理則不做處理。4.dac的啟動(dòng)方式,只有脈沖觸發(fā)一種的啟動(dòng)方式,只有脈沖觸發(fā)一種。dac不設(shè)專門的轉(zhuǎn)換啟 動(dòng)信號(hào),是利用利用 cs和和 iow共同進(jìn)行假寫操作共同進(jìn)行假寫操作,來實(shí)現(xiàn)脈沖啟動(dòng)的。5.dac的數(shù)據(jù)傳輸方式,的數(shù)據(jù)傳輸方式,只有無條件傳輸無條件傳輸一種。6.dac接口電路采用什么元器件組成?接口電路采用什么元器件組成?有普通ic芯片芯片、可編程并可編程并行口芯片、gal器件器件等多種選擇。2021-10-20計(jì)算機(jī)接口技術(shù)549.9

51、鋸齒波三角波發(fā)生器器接口設(shè)計(jì)鋸齒波三角波發(fā)生器器接口設(shè)計(jì)例例9.4 dac0832接口設(shè)計(jì)接口設(shè)計(jì)1要求要求要求通過dac0832產(chǎn)生鋸齒波產(chǎn)生鋸齒波和三角波三角波,按任意鍵,停止波形輸出。2分析因?yàn)楸贿B的對象是dac0832,故首先按照按照9.8.3節(jié)的方法節(jié)的方法,分析分析dac0832的連接特性連接特性及工作方式工作方式。然后根據(jù)外部連接特性及工作方式進(jìn)行接口設(shè)計(jì)。2021-10-20計(jì)算機(jī)接口技術(shù)55(1)外部特性)外部特性 dac0832是分辨率為8位的乘法型dac,芯片內(nèi)部帶有兩級(jí)緩沖寄存器,dac0832的內(nèi)部結(jié)構(gòu)和外部引腳的內(nèi)部結(jié)構(gòu)和外部引腳如如圖圖9.9所示所示。圖9.9 d

52、ac 0832的內(nèi)部結(jié)構(gòu)和外部引腳2021-10-20計(jì)算機(jī)接口技術(shù)56dac0832的工作原理的工作原理 圖9.9中dac0832有兩個(gè)獨(dú)立的緩沖器兩個(gè)獨(dú)立的緩沖器,要轉(zhuǎn)換的數(shù)據(jù)先送到第一級(jí)緩沖器,但不進(jìn)行轉(zhuǎn)換,只有數(shù)據(jù)送到第二級(jí)緩沖器時(shí)才能開始轉(zhuǎn)換,因而稱為雙緩沖稱為雙緩沖。為此,設(shè)置了為此,設(shè)置了5個(gè)信號(hào)控制這兩個(gè)信號(hào)控制這兩個(gè)個(gè)緩沖緩沖器器進(jìn)行數(shù)據(jù)的鎖存數(shù)據(jù)的鎖存。其中其中,ile(輸入鎖存允許)、cs(片選)和wr1(寫信號(hào)1)3個(gè)信號(hào)組合控制第一級(jí)緩沖器的組合控制第一級(jí)緩沖器的鎖存鎖存,wr2(寫信號(hào)2)和xfer(傳遞控制)兩個(gè)信號(hào)組合控組合控制第二級(jí)緩沖寄存器的鎖存制第二級(jí)緩沖

53、寄存器的鎖存。 對于鎖存控制信號(hào)le1和le2,當(dāng)le1(le2)=1時(shí),不鎖存不鎖存;當(dāng)le1(le2)=0時(shí),進(jìn)行鎖存進(jìn)行鎖存。因此當(dāng)ile端為高電平,并且cpu執(zhí)行out指令時(shí),則與同時(shí)為低電平,使得le1=1,8位數(shù)據(jù)送到第一級(jí)緩沖器;只有當(dāng)cpu寫操作完畢,和都變高電平時(shí),才能使le1=0,對輸入數(shù)據(jù)鎖存,實(shí)現(xiàn)第一級(jí)緩沖實(shí)現(xiàn)第一級(jí)緩沖。同理,當(dāng)xfer與wr2同時(shí)為低電平時(shí),使得le2=1,第一級(jí)緩沖的數(shù)據(jù)送到第二級(jí)緩沖器;當(dāng)xfer和wr2上升沿使le2=0時(shí),將這個(gè)數(shù)據(jù)鎖存在第二級(jí)緩沖器中,實(shí)現(xiàn)第二級(jí)緩沖實(shí)現(xiàn)第二級(jí)緩沖,并開始轉(zhuǎn)換并開始轉(zhuǎn)換。2021-10-20計(jì)算機(jī)接口技術(shù)57

54、dac0832工作的時(shí)序關(guān)系工作的時(shí)序關(guān)系dac0832dac0832工作的時(shí)序關(guān)系工作的時(shí)序關(guān)系如圖如圖9.109.10所示所示。圖中表示,兩個(gè)數(shù)據(jù),數(shù)據(jù)數(shù)據(jù)1 1和數(shù)據(jù)數(shù)據(jù)2 2分別用用cs1cs1和cs2cs2鎖存到鎖存到兩個(gè)dac0832的第一級(jí)緩沖器第一級(jí)緩沖器中,最后用最后用xferxfer信號(hào)的上升沿將它們同時(shí)鎖存到鎖存到各自的第二級(jí)緩沖第二級(jí)緩沖器器,開始d/a轉(zhuǎn)換。圖9.10 dac0832時(shí)序圖2021-10-20計(jì)算機(jī)接口技術(shù)58(2)dac0832的工作方式的工作方式dac0832有單緩沖單緩沖、雙緩沖雙緩沖和直通直通3種工作方式種工作方式。直通直通就是不進(jìn)行緩沖不進(jìn)行

55、緩沖,cpu送來的數(shù)字量直接送到第二級(jí)緩沖器,并開始轉(zhuǎn)換。此時(shí),ile端加高電平,其他控制信號(hào)都接低電平。單緩沖單緩沖是只進(jìn)行一級(jí)緩沖只進(jìn)行一級(jí)緩沖,具體可用第一組或第二組控制信號(hào)對第一級(jí)或第二級(jí)緩沖器進(jìn)行控制。雙緩沖雙緩沖是進(jìn)行兩級(jí)緩沖進(jìn)行兩級(jí)緩沖,用兩組控制信號(hào)分別進(jìn)行控制。一般用于多片dac0832同時(shí)開始轉(zhuǎn)換。2021-10-20計(jì)算機(jī)接口技術(shù)59 3.設(shè)計(jì)設(shè)計(jì)(1)硬件設(shè)計(jì)硬件設(shè)計(jì)采用82c55a作為dac與cpu之間的接口芯片,并把82c55a的a口口作為數(shù)據(jù)輸出作為數(shù)據(jù)輸出,而b口口的pb0pb4 5根線作為控制信號(hào)作為控制信號(hào)來控制dac0832的工作方式及轉(zhuǎn)換操作。dac08

56、32的接口電路的接口電路如圖如圖9.11所示所示。圖9.11 dac0832作函數(shù)波形發(fā)生器 2021-10-20計(jì)算機(jī)接口技術(shù)60(2)軟件編程軟件編程 根據(jù)設(shè)計(jì)要求產(chǎn)生連續(xù)的鋸齒波產(chǎn)生連續(xù)的鋸齒波,可知本例的本例的d/a轉(zhuǎn)換程序是一個(gè)循環(huán)結(jié)構(gòu)轉(zhuǎn)換程序是一個(gè)循環(huán)結(jié)構(gòu),其程序流程圖程序流程圖如圖如圖9.12所示所示。圖9.12 產(chǎn)生鋸齒波的程序流程圖2021-10-20計(jì)算機(jī)接口技術(shù)61 鋸齒波發(fā)生器程序段鋸齒波發(fā)生器鋸齒波發(fā)生器匯編語言程序段匯編語言程序段如下如下:code segment assume cs:code,ds:code org 100hstart:mov ax,cs mov

57、ds,ax ;8255a初始化初始化 mov dx,303h ;82c55a的命令口 mov al,10000000b ;82c55a的方式字方式字 out dx,al ;指派指派b口控制口控制dac的轉(zhuǎn)換的轉(zhuǎn)換 mov dx,301h ;82c55a的b口地址 mov al,00010000b ;置dac0832為直通工作方式直通工作方式,ile置1 ;cs、wr1、wr2、xfer均置為0 out dx,al2021-10-20計(jì)算機(jī)接口技術(shù)62 ;生成鋸齒波的循環(huán);生成鋸齒波的循環(huán) mov al,0h ;輸出數(shù)據(jù)從數(shù)據(jù)從0開始開始 lop: mov dx,300h ;82c55a的a口地址 out dx,al ;al的值送dac0832 mov bl,al ;保存albl mov ah

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論