微型計算機接口第9章ADDA轉換器接口.ppt
《微型計算機接口第9章ADDA轉換器接口.ppt》由會員分享,可在線閱讀,更多相關《微型計算機接口第9章ADDA轉換器接口.ppt(72頁珍藏版)》請在裝配圖網上搜索。
2019/12/10,計算機接口技術,1,第9章A/D與D/A轉換器接口,本章主要內容模擬量接口的作用A/D轉換器接口設計的任務與方法A/D轉換器接口應用設計舉例D/A轉換器接口設計的任務與方法D/A轉換器接口應用設計舉例,2019/12/10,計算機接口技術,2,9.1模擬量接口的作用,微型計算機在實時控制、在線動態(tài)測量和對物理過程進行監(jiān)控,以及圖像、語音處理領域的應用中,都要與一些連續(xù)變化的模擬量(如溫度、壓力、流量、位移、速度、光亮度、聲音、顏色等)打交道,但數字計算機本身只能識別和處理數字量,因此,必須經過轉換器,把模擬量A轉換成數字量D,或將數字量D轉換成模擬量A,才能實現(xiàn)CPU與被控對象之間的信息交換。顯然,微機在面向過程控制、自動測量和自動監(jiān)控系統(tǒng)與各種被控、被測對象發(fā)生關系時,需要設置一種“模擬量接口”。,2019/12/10,計算機接口技術,3,模擬量接口電路的作用:把微處理器系統(tǒng)的離散的數字信號與模擬設備中連續(xù)變化的模擬信號電壓、電流之間建立起適配關系,以便計算機執(zhí)行控制與測量任務。從硬件角度來看,模擬量接口就是微處理器與A/D轉換器和D/A轉換器之間的連接電路,前者稱為模入接口,后者稱為模出接口。,2019/12/10,計算機接口技術,4,9.2A/D轉換器,在數據采集和過程控制中,被采集對象往往是連續(xù)變化的物理量(如溫度、壓力。聲波等),由于計算機只能處理離散的數字量,需要對連續(xù)變化的物理轉換為數字量,這一操作過程就是A/D轉換。功能:把模擬量變換成數字量分類:按分辨率可分為4位、6位、8位、10位、14位、16位和BCD碼的312位、512位等;按照轉換速度可分為超高速、高速、中速及低速等;按轉換原理可分為直接ADC(有逐次逼近型、并聯(lián)比較型等)和間接ADC(有電壓/時間轉換型(積分型)、電壓/頻率轉換型、電壓/脈寬轉換型等)。,2019/12/10,計算機接口技術,5,9.2.1A/D轉換器的主要技術指標,1.分辨率分辨率是指ADC能夠把模擬量轉換成二進制數的位數。例如,用1個10位ADC轉換一個滿量程為5V的電壓,則它能分辨的最小電壓為5000mV/1024≈5mV。若模擬輸入值的變化小于5mV的電壓,則ADC無反映,輸出保持不變,即只能分辨出5mV以上的變化。同樣5V電壓,若采用12位ADC,則它能分辨的最小電壓為5000mV/4096≈1mV??梢姡珹DC的數字量輸出位數越多,其分辨率就越高。,2019/12/10,計算機接口技術,6,ADC的分辨率反映在它的輸出數據線的寬度上,如ADC0809的分辨率是8位,它的數據線也是8根;AD574A的分辨率是12位,它的數據線也是12根。分辨率不同會影響ADC接口與系統(tǒng)數據總線的連接。當分辨率即ADC的輸出數據線寬度大于微機系統(tǒng)數據總線寬度時,就不能一次傳輸,而需兩次傳輸,要增加附加電路(緩沖寄存器),從而影響接口電路的組成及數據傳輸的途徑。,2019/12/10,計算機接口技術,7,2.轉換時間轉換時間是從輸入啟動轉換信號開始到轉換結束,得到穩(wěn)定的數字量輸出為止所需的時間,一般為ms級和μs級。一般:常見有超高速(轉換時間<1ns)、高速(轉換時間<1s)、中速(轉換時間<1ms)和低速(轉換時間<1s)等。如果采集對象是動態(tài)連續(xù)信號,要求f采≥2f信,也就是說必須在信號的一個周期內采集2個以上的數據,才能保證信號形態(tài)被還原(避免出殃“假頻”),這就是“最小采樣”原理。轉換時間的快慢將會影響ADC接口與CPU交換數據的方式。低速和中速ADC一般采用查詢或中斷方式,而高速ADC就應采用DMA方式。,3.絕對精度:指A/D轉換器實際輸出與理論值之間的誤差,一般采用數字量的最低有效位作為衡量單位(如1/2LSB)。4.相對精度:當模擬量變化時,A/D轉換器輸出的數字量按比例變化的程度。,,A/D轉換器的控制步驟:發(fā)啟動換轉信號——取轉換結束標志——讀結果。A/D轉換器與CPU進行數據交換的方式:查詢方式和中斷方式影響A/D轉換器接口的因素:(1)轉換器分辨率能夠輸出的二進制數據的位數(2)轉換器的數據輸出結構是否是可控三態(tài)輸出,可控則…..不可控……(3)轉換器的啟動方式有脈沖和電平兩種方式(4)讀取結果的數據傳送方式數據的傳送方式有查詢方式、中斷方式、DMA方式,2019/12/10,計算機接口技術,10,9.2.2A/D轉換器的外部特性由于A/D轉換器內部一般沒有設置供用戶訪問的寄存器,也沒有命令字。它的轉換操作是由其內部硬件邏輯電路完成的,而不是它執(zhí)行內部的命令完成的,因此,它不好用可編程特性的編程模型來表述。在分析A/D轉換器芯片時,主要是看它的外部連接特性,其中轉換啟動信號是CPU對A/D轉換器唯一的控制信號。從外部特性來看,無論是哪種ADC芯片,都必不可少地設置有4種基本外部信號線。這些信號線是實現(xiàn)A/D轉換操作的條件,也是設計ADC接口硬件電路的依據。,2019/12/10,計算機接口技術,11,1.模擬信號輸入線來自被轉換對象的模擬量輸入線,有單通道輸入與多通道輸入之分接口硬件電路的依據。2.數字量輸出線ADC的數字量數據輸出線。數據線的根數表示ADC的分辨率。3.轉換啟動線外部控制信號,此信號一到,A/D轉換才能開始,啟動轉換信號不到,ADC不會自動開始轉換,并且是發(fā)一次啟動信號只能轉換一次,采集一個數據。4.轉換結束線轉換完畢后由ADC發(fā)出A/D轉換結束信號,利用它以查詢或中斷方式向微處理器報告轉換已經完成。只有轉換結束信號出現(xiàn)時,微處理器才可以開始讀取數據。,,,2019/12/10,計算機接口技術,12,幾種A/D轉換器芯片相同功能的引腳對照如表9.1所示。,ADC實例(1)8位ADC連接與編程ADC0809是逐次逼近式的8位ADC芯片,引腳和內部結構圖。IN0-IN7八路模擬量輸入端;ADDA,ADDB,ADDC地址輸入端,選通輸入端;(它們的編碼決定8個輸入中的一個)ALE地址鎖存允許信號;START轉換啟動信號輸入端;D0-D7數字量輸出端;EOC轉換結束信息輸入端;OE輸出允許信號;VCC,GND電壓輸入端和地線;VREF+,VREF-正負基準電壓輸入端CLOCK時鐘信號輸入端,(a),2019/12/10,計算機接口技術,15,9.3A/D轉換器接口設計的任務與方法,由于接口連接的對象A/D轉換器自身的操作比較單一,因而要求外部對它實施的控制比較簡單,所以轉換器接口只需少數幾根信號線,采用并行接口就綽綽有余,甚至使用一些IC芯片也能滿足接口功能要求。但是,轉換器與CPU交換數據的方式多種多樣,查詢、中斷、DMA方式都有可能,因此在轉換器接口設計中會牽涉到對系統(tǒng)中斷、DMA資源的應用。A/D轉換器接口設計的任務,主要有兩個方面:ADC如何與CPU進行連接和如何與CPU交換數據,有時還要考慮對所采集的數據進行在線處理。,2019/12/10,計算機接口技術,16,9.3.1A/D轉換器與CPU的連接,在A/D轉換器與CPU的進行連接時,要注意分析它的4種外部信號線的特點,采用不同的方法。1.ADC轉換的啟動信號1)ADC的轉換啟動方式有脈沖啟動和電平啟動之分。若是脈沖啟動,則只需接口電路提供1個寬度滿足啟動要求的脈沖信號即可。一般采用IOW或IOR的脈寬就可以了。若是電平啟動,則要求啟動信號的電平在轉換過程中保持不變,否則(如中途撤銷)就會停止轉換而產生錯誤的結果。為此,就應增加附加電路(如D觸發(fā)器、單穩(wěn)電路)或采用可編程并行I/O接口芯片來鎖存這個啟動信號,使之在轉換過程中維持不變。,2019/12/10,計算機接口技術,17,2)ADC的轉換啟動信號有單個信號啟動和由多個信號組合起來的復合信號啟動之分。若是由單個信號啟動,如ADC0809的START,則只需接口電路提供1個START正脈沖信號。若是由復合信號啟動,如AD574A的CE(R/C=0),CS,則CE、R/C=0和CS三個信號要同時滿足要求才能啟動。,2.ADC模擬量輸入的控制信號1)ADC的模擬信號輸入信號有多通道和單通道之分。若是多通道,則要求接口電路提供通道地址線及通道地址鎖存信號線,以便選擇與確定輸入模擬量的通道號。若是單通道,則不需要處理。,2019/12/10,計算機接口技術,18,3.ADC數字量輸出的控制信號1)ADC的數據輸出是否是三態(tài)鎖存器。若是,則ADC的輸出數據線可直接掛在CPU的數據總線上;否則,必須在ADC的輸出數據線與CPU的數據總線之間外加三態(tài)鎖存器才能連接。2)ADC的分辨率與系統(tǒng)數據總線寬度是否一致。若一致,則數據只需1次傳輸,數據線可直接連接;若不一致,則數據需分批傳輸,應增加附加電路(緩沖寄存器)。,2019/12/10,計算機接口技術,19,4.ADC的轉換結束信號A/D轉換結束后,用轉換結束信號通知CPU,轉換已經結束,請求讀取數據。轉換結束信號的邏輯定義,有的是高電平有效,有的是低電平有效。轉換結束信號可用于查詢方式、中斷方式、DMA方式的申請信號。,2019/12/10,計算機接口技術,20,9.3.2A/D轉換器與CPU之間的數據交換方式,采集的數據用什么方式傳輸到內存,是A/D轉換器接口設計,也是數據采集系統(tǒng)設計中的一個重要內容,因為數據傳輸速度是關系到數據采集速率的重要因素。假定ADC的轉換時間為T,每次轉換后將數據傳輸到指定的內存單元所需的時間為τ,則采集速率的上限為f0=1/(T+τ)。所以,為了提高數據采集速率,一是采用高速A/D轉換芯片,使T盡量小;一是減少數據傳輸過程中所花的時間τ,特別是高速或超高速數據采集系統(tǒng),τ的減少顯得尤為重要。因此,需要研究ADC與CPU之間數據交換采用什么方式的問題。,2019/12/10,計算機接口技術,21,ADC與內存之間交換數據,根據不同的要求,可采用查詢、中斷、DMA方式,以及在板RAM技術。不同的方式使ADC接口電路的組成不同,編程的方法也不同。所謂在板RAM技術是針對超高速數據采集系統(tǒng),其ADC速度非???,采用DMA方式傳輸也跟不上轉換的速度,故在ADC板上設置RAM,把采集的數據先就近存放在RAM中,然后,再從板上的RAM取出數據送到內存。這也是數據采集系統(tǒng)中為解決轉換速度快,而傳輸速度跟不上的一種方法。,2019/12/10,計算機接口技術,22,9.3.3A/D轉換器的數據在線處理實際應用中,對采集到的數據一般都要進行一些處理,包括生成數據文件、存盤、顯示、打印、遠距離傳輸等。有的還要將采集的數據作為重要參數參與運算,進行進一步的加工。雖然這些處理不屬于ADC接口控制程序的內容,但它們是A/D轉換之后,常常遇到的操作,因此,往往也把其中的一些操作放在A/D轉換程序之中。例如,將采集到的數據在屏幕上顯示出來,以便觀察A/D轉換的結果是否正確。又如,將前端機采集的數據生成數據文件,再傳輸到上位機去進行加工等。,2019/12/10,計算機接口技術,23,9.3.4A/D轉換器接口設計需考慮的問題1.ADC的模擬量輸入是否是多通道?是,則需選擇通道號,應提供通道選擇線;不是,則不做處理。2.ADC的分辨率是否大于系統(tǒng)數據總線寬度?是,則要分兩次傳輸,故需增加鎖存器,并提供鎖存器選通信號;不是,則不做處理。3.ADC芯片內部是否有三態(tài)輸出鎖存器?無,則ADC的數據線不能與系統(tǒng)的數據線直接連接,故需增加三態(tài)鎖存器,并提供鎖存允許信號;有,則不做處理。4.ADC的啟動方式是脈沖觸發(fā)還是電平觸發(fā)?是脈沖,則提供脈沖信號;是電平,則提供電平信號,并保持到轉換結束。,2019/12/10,計算機接口技術,24,5.A/D轉換的數據采用哪種傳輸方式?有無條件傳輸、查詢方式、中斷方式和DMA方式等多種方式選擇。傳輸的方式不同,接口的硬件組成和軟件編程就不同。6.對A/D轉換的數據進行什么樣的處理?有顯示、打印、生成文件存盤、遠距離傳輸等多種處理。7.ADC接口電路采用什么元器件組成?有普通IC芯片、可編程并行口芯片、GAL器件等多種選擇。前面4項是由接口對象ADC決定的(可從芯片手冊中查到),用戶無法改變,只能按照它的要求在設計中給予滿足。后面3項是可以改變的,設計者應根據設計目標靈活選用。,,,,,,,(1)設ADC0809的8個模擬通道地址為300H~307H,畫連線試將圖中左側的信號與圖中右側的有關引腳連接起來。(2)若對IN0通道的模擬電壓進行轉換得到的數字量為9BH,計算輸入的模擬電壓UIN0。,,2019/12/10,計算機接口技術,26,9.4查詢方式的ADC接口設,例9.1查詢方式的ADC接口設計,1.要求要求利用ADC0804采集100個字節(jié)數據,采集的數據以查詢方式傳輸到內存BUFR區(qū)。接口電路采用普通IC芯片組成。2.分析按照9.3.4節(jié)的方法進行分析,ADC0804是單個模擬量輸入,故不提供通道選擇信號。ADC0804的分辨率為8位,并具有三態(tài)輸出鎖存器,故可與系統(tǒng)數據總線直接相連。ADC0804的啟動方式為脈沖啟動,當它的輸入引腳CS和WR兩個信號同時有效,就開始轉換。轉換結束信號是INTR,當INTR=0,表示轉換結束。數據傳輸方式為查詢方式,故需將轉換結束狀態(tài)信號作為查詢的對象。,2019/12/10,計算機接口技術,27,,3.設計(1)硬件設計由以上分析可知,本接口電路的任務是提供轉換啟動信號和轉換結束狀態(tài)信號,以及輸入8位數據的通路。為此,要設計端口地址譯碼電路,產生CS,并由CS和WR共同組成啟動信號。同時,還要設置一個三態(tài)門,將轉換結束信號INTR引到數據線的D7上,以便CPU讀取狀態(tài)。而轉換器的8位數據線直接與系統(tǒng)數據線連接。接口電路原理如圖9.1所示。,2019/12/10,計算機接口技術,28,圖9.1查詢方式ADC接口電路原理圖,2019/12/10,計算機接口技術,29,(2)軟件編程ADC接口控制程序,也就是數據采集程序,其程序的基本結構是循環(huán)程序。因為數據采集往往要采樣多個點的數據,而每一次啟動,只能采集(轉換)1個數據,所以,采集程序要循環(huán)執(zhí)行多次,直至采樣次數已到為止。查詢方式數據采集流程圖如圖9.2所示。查詢方式數據采集匯編語言程序段和C語言程序段,見教材P166~167.,圖9.2查詢方式數據采集程序流程,2019/12/10,計算機接口技術,30,9.5中斷方式的ADC接口設計例9.2中斷方式的ADC接口設計1.要求采用ADC0809,從通道7采集100個字節(jié)數據,采集的數據以中斷方式傳輸到內存緩沖區(qū),并將轉換結束信號EOC連到IRQ4上,請求中斷。2.分析要實現(xiàn)上述設計要求,至少有3個方面的問題需要考慮:被控對象ADC0809的外部特性、接口電路結構形式、中斷處理。下面分別進行分析。(1)ADC0809的外部特性ADC0809的外部引腳如圖9.3所示,內部邏輯如圖9.4所示。ADC0809的時序如圖9.5所示。,2019/12/10,計算機接口技術,31,圖9.4ADC0809內部邏輯原理圖,圖9.3ADC0809引腳圖,2019/12/10,計算機接口技術,32,ADC0809的時序如圖9.5所示。,圖9.5ADC0809的時序,2019/12/10,計算機接口技術,33,按照9.3.4節(jié)的方法,結合圖9.3、圖9.4進行分析,ADC0809有8個模擬量輸入端(IN0~IN7),相應設置3根模擬量通道地址線(ADDA~ADDC),用以編碼來選擇8個模擬量輸入通道。并且還設置1根通道地址鎖存允許信號ALE,高電平有效。當選擇通道地址時,需使ALE變高,鎖存由ADDA~ADDC編碼所選中的通道號,將該通道的模擬量接入ADC。ADC0809的分辨為8,有8根數字量輸出線(D7~D0),帶有三態(tài)輸出鎖存緩沖器。并設置了1根數據輸出允許信號OE,高電平有效。當讀數據時,要使OE置高,打開三態(tài)輸出緩沖器,把轉換的數字量送到數據線上。,2019/12/10,計算機接口技術,34,(2)接口電路結構形式接口電路采用可編程并行接口芯片82C55A,并把轉換結束信號EOC連到系統(tǒng)總線的IRQ4實現(xiàn)中斷傳送。(3)中斷處理由于本例題是利用系統(tǒng)的中斷資源,故不需要進行中斷系統(tǒng)的硬件設計和82C59A的初始化,只需做兩件事:①中斷向量的修改:修改的對象是IRQ4的中斷向量,修改的步驟和方法見第5.9.1節(jié)。②對82C59A兩個命令的使用:在主程序中用命令OCW1屏蔽/開放IRQ4的中斷請求;在服務程序中返回主程序之前,用OCW2發(fā)中斷結束EOI,清除IRQ4在中斷控制器內部ISR寄存器中置1的位。,,2019/12/10,計算機接口技術,35,3.設計(1)硬件設計根據上述分析可知,本接口電路要提供ADC0809模擬量通道號選擇信號、啟動轉換信號、讀數據允許信號。這些信號都可由82C55A接口芯片實現(xiàn)。而EOC的中斷請求直接連到系統(tǒng)總線的IRQ4上。中斷方式的ADC接口電路如圖9.6所示。,2019/12/10,計算機接口技術,36,圖9.6中斷方式的ADC接口電路原理,2019/12/10,計算機接口技術,37,,(a)主程序流程,(b)中斷服務程序,(2)軟件設計本例的程序流程圖如圖9.7所示。整個程序分主程序和中斷服務程序兩部分。,2019/12/10,計算機接口技術,38,中斷方式數據采集匯編語言程序段和C語言程序段見教材P170~172,2019/12/10,計算機接口技術,39,9.6DMA方式的ADC接口設計,例9.3DMA方式的ADC接口設計,1.要求8位ADC共采集4KB數據,采集的數據用DMA方式送到從30400H單元開始的內存保存,以待處理,內存地址以加1方式遞增。使用DMAC82C37的通道1,采用單一的傳輸方式。,2.分析與設計1)接口電路組成采用DMA方式的數據采集系統(tǒng)電路如圖9.8所示。,2019/12/10,計算機接口技術,40,DMA方式的ADC接口電路包括ADC、采樣保持器S/H、A/D轉換啟動邏輯U1、DMA申請寄存器U2及DMA回答信號DACK1邏輯等部分。DMA控制器82C37A未在圖9.8中畫出,只在圖9.8的左側畫出了它的部分信號線。,圖9.8DMA方式的ADC接口原理圖,2019/12/10,計算機接口技術,41,3.DMAC傳輸參數的設置,從6.6節(jié)用戶對系統(tǒng)DMA資源的應用可知,由于系統(tǒng)的DMA控制器初始化已經被系統(tǒng)在上電時設置好了,用戶要做的僅僅是設置相關的DMA傳輸參數,然后等待A/D轉換器申請DMA傳送。在傳送開始之前,還要填寫頁面地址寄存器,將高于16位以上的地址寫入頁面地址寄存器。例如,假設傳送的內存首地址是32000H,則頁面寄存器的內容為3,基地址寄存器中內容為2000H。如果尋址范圍不超過16位地址,則可不使用寫頁面地址寄存器。本例根據題意,需要啟用通道1的頁面地址寄存器。,2019/12/10,計算機接口技術,42,數據采集中DMA傳輸參數設置的匯編語言程序段如下:,ADC_SETUPPROCNEARCLI;關中斷;設置工作方式MOVAL,00000101B;屏蔽通道1,禁止DREQ1的申請OUT0AH,ALMOVAL,01000101B;方式命令字(通道1,單傳方式,地址加1,;非自動預置,DMA寫)OUTOBH,AL;送入方式寄存器OUTOCH,AL;清先/后觸發(fā)器(軟命令);設置頁面地址(最高4位地址)MOVAL,03H;頁面地址(最高4位地址)OUT83H,AL;通道1的頁面寄存器,2019/12/10,計算機接口技術,43,;設置基地址(低16位)MOVAL,00H;低8位地址OUT02H,AL;通道1的基地址寄存器MOVAL,04H;高8位地址OUT02H,AL;通道1的基地址寄存器;設置字節(jié)數MOVAL,0FFH;字節(jié)數低8位OUT03H,AL;通道1的字節(jié)計數器MOVAL,0FH;字節(jié)數高8位OUT03H,AL;通道1的字節(jié)計數器STI;開中斷MOVAL,00000001B;開通通道1,準備接受DREQ1的申請OUT0AH,ALRETADC_SETUPENDP,2019/12/10,計算機接口技術,44,//數據采集中DMA傳輸參數設置的C語言程序段如下:,voidADC_Setup(){disable();//關中斷outportb(0 x0a,0 x05);//屏蔽通道1,禁止DREQ1申請outportb(0 x0b,0 x45);//工作方式字:單傳方式,地址//加1,非自動預置,DMA寫,通道outportb(0 x0c,0 x45);//清先/后觸發(fā)器(軟命令)//設置頁面地址(最高4位地址)outportb(0 x83,0 x03);//頁面地址(最高4位地址)//設置基地址(低16位)outportb(0 x02,0 x00);//低8位地址outportb(0 x02,0 x04);//高8位地址,2019/12/10,計算機接口技術,45,//設置字節(jié)數outportb(0 x03,0 x0ff);//字節(jié)數低8位outportb(0 x03,0 x0f);//字節(jié)數高8位enable();//開中斷outportb(0 x0a,0 x01);//開通通道1,允許DREQ1申請},以上程序可作為數據采集系統(tǒng)的一個子程序供主程序調用。主程序應包括A/D轉換定時啟動等部分,不在此列出。,2019/12/10,計算機接口技術,46,9.7D/A轉換器9.7.1D/A轉換器的主要技術指標D/A轉換器一般是根據自己的需要選擇相應數據位寬度和速度的D/A轉換芯片,在選擇D/A轉換器芯片時一般考慮如下指標(主要參數):,1.分辨率分辨率是指DAC能夠把多少位二進制數轉換成模擬量,或1個二進制增量所代表的模擬量大小。例如,DAC0832能夠把8位二進制數轉換成電流,故DAC0832的分辨率是8位(1/255);AD390能夠把12位二進制數轉換成電壓,故AD390的分辨率是12位。分辨率體現(xiàn)在DAC的數據輸入線的寬度,因此,不同的分辨率將影響DAC與CPU的數據線連接。當分辨率大于數據總線寬度時,數據分幾次傳輸,需增加附加電路(緩沖寄存器)。2.轉換時間轉換時間是指數字量從輸入到DAC開始至完成轉換,模擬量輸出達到最終值所需的時間。DAC的轉換時間很快,一般為μs級和ns級。,3.絕對精度指D/A轉換器實際輸出與理論值之間的誤差,一般采用數字量的最低有效位作為衡量單位(如1/2LSB)。如D/A分辨率為20mV,則精度為10mV.4.相對精度:當數字量變化時,D/A轉換器輸出的模擬量按比例變化的程度。,DAC芯片與CPU或系統(tǒng)總路線連接時,可從數據總線寬度是否與DAC位數據匹配、DAC是否具有數據寄存器兩個方面來慮,一般有下面幾種情況:(1)當DAC位數與數據總線寬度相同,具有數據緩沖能力時,可直接與CPU連接。(2)當DAC位數與數據總線寬度相同,DAC沒有數據寄存器時,必須外加鎖存器或I/O接口芯片(如8255A等)才能與CPU連接。當DAC位數大于數據總線寬度,DAC無論有無數據寄存器時,都必須外加鎖存器或I/O接口芯片才能與CPU相連接。1.8位DAC連接DAC0832是一片典型的8位DAC芯片,其引腳和內部結構如圖所示。有兩級輸入鎖存器,以差動電流的形式輸出模擬量。,DAC0832,2019/12/10,計算機接口技術,49,9.7.2D/A轉換器的外部特性,DAC的外部引腳信號線包括:1.數字信號輸入線;2.模擬信號輸出線;3.CS信號線和WR(或WR1,WR2)信號線,,用于將數字量打入DAC轉換器;4.數據輸入鎖存控制線;5.模擬量輸出通道地址線。,2019/12/10,計算機接口技術,50,其中,前3種信號線是DAC的基本信號,后2種是附加信號線。附加信號線有時也集成在DAC芯片內部。當DAC芯片內部設置了三態(tài)輸入鎖存器,則在外部就有輸入鎖存允許信號線。有的芯片(如DAC0832)設置了兩級輸入鎖存器,相應地在外部就有兩級輸入鎖存允許信號線。如果有的芯片(如AD390)設置了輸出模擬量開關,則在外部就有模擬量輸出通道地址選擇信號。另外,在DAC的外部信號線中,沒有像ADC那樣專門的“轉換啟動”信號線,也沒有“轉換結束”信號線。,2019/12/10,計算機接口技術,51,9.8D/A轉換器接口設計的任務與方法,9.8.1D/A轉換器與CPU的連接,DAC轉換器與ADC轉換器的操作有不同的特點,首先,DAC工作時,只要CPU把數據送到它的輸入端,寫入DAC,DAC就開始轉換,而不需設置專門的啟動信號去觸發(fā)轉換開始。其次,DAC也不提供轉換結束之類的狀態(tài)信號,所以CPU向DAC傳輸數據時,也不必查詢DAC的狀態(tài),只要兩次傳輸數據之間的間隔不小于DAC的轉換時間,就能得到正確結果。正因為DAC不設專門的轉換啟動信號線和轉換結束信號線,使接口對DAC提供的信號線少,連接也就更簡單。,2019/12/10,計算機接口技術,52,9.8.2D/A轉換器與CPU之間的數據交換方式,D/A轉換器與CPU交換數據的方式很單一,既不用查詢,也不用中斷,更不用DMA方式,是采用無條件方式與CPU交換數據,因此軟件編程很簡單,其主要工作是向DAC寫數據和解決CPU與DAC之間的數據緩沖問題。,2019/12/10,計算機接口技術,53,9.8.3D/A轉換器接口設計需考慮的問題,分析與設計DAC接口,相對于ADC接口來講,比較簡單,可從以下幾個方面入手:1.DAC的分辨率是否大于系統(tǒng)數據總線的寬度?是,則要分兩次傳輸,故需增加鎖存器,并提供鎖存選通信號;不是,則不做處理2.DAC芯片內部是否有三態(tài)輸入鎖存器?無,則數據線不能與系統(tǒng)的DB直接連接,故需增加三態(tài)輸入鎖存器,并提供鎖存允許信號;有,則不做處理。3.DAC的模擬量輸出是否是多通道?是,則需選擇通道號,并提供選擇線;不是,則不做處理。4.DAC的啟動方式,只有脈沖觸發(fā)一種。DAC不設專門的轉換啟動信號,是利用CS和IOW共同進行假寫操作,來實現(xiàn)脈沖啟動的。5.DAC的數據傳輸方式,只有無條件傳輸一種。6.DAC接口電路采用什么元器件組成?有普通IC芯片、可編程并行口芯片、GAL器件等多種選擇。,2019/12/10,計算機接口技術,54,9.9鋸齒波三角波發(fā)生器器接口設計,例9.4DAC0832接口設計,1.要求要求通過DAC0832產生鋸齒波和三角波,按任意鍵,停止波形輸出。2.分析因為被連的對象是DAC0832,故首先按照9.8.3節(jié)的方法,分析DAC0832的連接特性及工作方式。然后根據外部連接特性及工作方式進行接口設計。,2019/12/10,計算機接口技術,55,(1)外部特性DAC0832是分辨率為8位的乘法型DAC,芯片內部帶有兩級緩沖寄存器,DAC0832的內部結構和外部引腳如圖9.9所示。,圖9.9DAC0832的內部結構和外部引腳,2019/12/10,計算機接口技術,56,,,DAC0832的工作原理圖9.9中DAC0832有兩個獨立的緩沖器,要轉換的數據先送到第一級緩沖器,但不進行轉換,只有數據送到第二級緩沖器時才能開始轉換,因而稱為雙緩沖。為此,設置了5個信號控制這兩個緩沖器進行數據的鎖存。其中,ILE(輸入鎖存允許)、CS(片選)和WR1(寫信號1)3個信號組合控制第一級緩沖器的鎖存,WR2(寫信號2)和XFER(傳遞控制)兩個信號組合控制第二級緩沖寄存器的鎖存。對于鎖存控制信號LE1和LE2,當LE1(LE2)=1時,不鎖存;當LE1(LE2)=0時,進行鎖存。因此當ILE端為高電平,并且CPU執(zhí)行OUT指令時,則與同時為低電平,使得LE1=1,8位數據送到第一級緩沖器;只有當CPU寫操作完畢,和都變高電平時,才能使LE1=0,對輸入數據鎖存,實現(xiàn)第一級緩沖。同理,當XFER與WR2同時為低電平時,使得LE2=1,第一級緩沖的數據送到第二級緩沖器;當XFER和WR2上升沿使LE2=0時,將這個數據鎖存在第二級緩沖器中,實現(xiàn)第二級緩沖,并開始轉換。,2019/12/10,計算機接口技術,57,DAC0832工作的時序關系DAC0832工作的時序關系如圖9.10所示。圖中表示,兩個數據,數據1和數據2分別用CS1和CS2鎖存到兩個DAC0832的第一級緩沖器中,最后用XFER信號的上升沿將它們同時鎖存到各自的第二級緩沖器,開始D/A轉換。,圖9.10DAC0832時序圖,2019/12/10,計算機接口技術,58,(2)DAC0832的工作方式,DAC0832有單緩沖、雙緩沖和直通3種工作方式。直通就是不進行緩沖,CPU送來的數字量直接送到第二級緩沖器,并開始轉換。此時,ILE端加高電平,其他控制信號都接低電平。單緩沖是只進行一級緩沖,具體可用第一組或第二組控制信號對第一級或第二級緩沖器進行控制。雙緩沖是進行兩級緩沖,用兩組控制信號分別進行控制。一般用于多片DAC0832同時開始轉換。,2019/12/10,計算機接口技術,59,3.設計,(1)硬件設計采用82C55A作為DAC與CPU之間的接口芯片,并把82C55A的A口作為數據輸出,而B口的PB0~PB45根線作為控制信號來控制DAC0832的工作方式及轉換操作。DAC0832的接口電路如圖9.11所示。,圖9.11DAC0832作函數波形發(fā)生器,2019/12/10,計算機接口技術,60,(2)軟件編程根據設計要求產生連續(xù)的鋸齒波,可知本例的D/A轉換程序是一個循環(huán)結構,其程序流程圖如圖9.12所示。,圖9.12產生鋸齒波的程序流程圖,2019/12/10,計算機接口技術,61,①鋸齒波發(fā)生器程序段鋸齒波發(fā)生器匯編語言程序段如下:CODESEGMENTASSUMECS:CODE,DS:CODEORG100HSTART:MOVAX,CSMOVDS,AX;8255A初始化MOVDX,303H;82C55A的命令口MOVAL,10000000B;82C55A的方式字OUTDX,AL;指派B口控制DAC的轉換MOVDX,301H;82C55A的B口地址MOVAL,00010000B;置DAC0832為直通工作方式,ILE置1;CS、WR1、WR2、XFER均置為0OUTDX,AL,2019/12/10,計算機接口技術,62,;生成鋸齒波的循環(huán)MOVAL,0H;輸出數據從0開始LOP:MOVDX,300H;82C55A的A口地址OUTDX,AL;AL的值送DAC0832MOVBL,AL;保存AL→BLMOVAH,0BH;檢查是否有任意鍵按下INT21HCMPAL,0FFHJESTOP;有,則停止輸出波形MOVAL,BL;無,恢復AL的值INCAL;數據加1JMPLOP;繼續(xù)循環(huán)輸出波形STOP:MOVAX,4C00H;退出INT21HCODEENDSENDSTART,2019/12/10,計算機接口技術,63,//鋸齒波發(fā)生器C語言程序段如下:,2019/12/10,計算機接口技術,64,②三角波發(fā)生器程序段若要求產生三角波,則程序只需將生成鋸齒波的循環(huán)修改為生成三角波的循環(huán),程序的其他部分保持不變。,2019/12/10,計算機接口技術,65,//三角波發(fā)生器的匯編語言程序段如下:;生成三角波的循環(huán)MOVDX,300H;82C55A的A口地址MOVAL,0H;輸出數據從0開始L1:OUTDX,ALMOVBL,AL;保存AL→BLMOVAH,0BH;檢查是否有任意鍵按下INT21HCMPAL,0FFHJESTOP;有任意鍵按下,則停止輸出波形MOVAL,BL;無,恢復AL的值INCAL;數據加1JNZL1;AL是否加滿FFH,未滿,繼續(xù)MOVAL,0FFH;已滿,AL置全1,2019/12/10,計算機接口技術,66,L2:OUTDX,ALMOVBL,AL;保存AL→BLMOVAH,0BH;檢查是否有任意鍵按下INT21HCMPAL,0FFHJESTOP;有,則停止輸出波形MOVAL,BLDECAL;輸出數據減1JNZL2;數據是否減到0,不為0,繼續(xù)JMPL1;為0,數據加1STOP:MOVAX,4COOHINT21H,2019/12/10,計算機接口技術,67,//三角波發(fā)生器C語言程序段如下:,2019/12/10,計算機接口技術,68,4.討論,①利用DAC產生鋸齒波輸出的方法是,將從0開始逐漸遞增的數據送到DAC,直到FFH,再回到0。重復上述過程,就可得到周期性的鋸齒波。實際上,從0到FFH,中間分為256個小臺階,但從宏觀上看,是一個線性增長的直線。②實際上,本例是利用DAC作為函數波形發(fā)生器,可以產生任何一種波形。如果要求產生正弦波,程序應如何編寫。,5.12位DAC連接由于微機的I/O指令一次只能輸出8位數據,因此對于數據寬度大于8位DAC只能分兩次輸入數據,為此一般大于8位數據寬度的DAC內部均設計有兩級數據緩沖,如12位DAC1210內部就有兩級數據緩沖,內部結構如圖9-4所示。,,,D0,D7,D8,D11,,D0,,D0,,D3,,,D7,,,右對齊,,D7,D6,D5,D4,D3,D2,D1,D0,DI11,DI10,DI9,DI8,DI7,DI6,DI5,DI4,,D3,D2,D1,D0,,,,,,,,,,,,,譯碼器,,,,,,,,,,,,,,,Y0,IOW,,AEN,AB,Y1,Y2,系統(tǒng)總線,WR1,,WR2,,BYTE1/BYTE2,,XFER,,CS,Vcc,AGND,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Rfb,,,,,,,,,,,101,102,22k,-12V,+12V,W1,10k,10k,Vout,,W2,22k,-12V,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Vref,DGND,+5V,+12V,2DW7C,470,200,W3,1K,100,4.7uF,,,,DAC1210與CPU連接,D4,D5,D11,2019/12/10,計算機接口技術,72,,本章小結,A/D與D/A轉換器接口是數據采集與實時控制系統(tǒng)的重要組成部分本章討論的A/D與D/A轉換器接口仍然是一種并行接口,但也有串行接口存在本章重點討論了查詢、中斷以及DMA3種不同方式的ADC接口設計討論了鋸齒波與三角波發(fā)生器的設計,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 微型計算機 接口 ADDA 轉換器
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.kudomayuko.com/p-3266945.html