版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PAGE 第七章 中斷控制器8259A中斷控制器的功能是接收多個(gè)外部中斷源的請求,優(yōu)先級判斷,送CPU的INTR端。中斷處理過程中8259A還負(fù)責(zé)中斷的管理,如更高優(yōu)先級中斷的嵌套等。此處介紹Intel系列的8259A工作原理、工作方式、編程方法。8259A有下列工作特點(diǎn):1片8259能管理8級中斷,基本不增加外圍電路即可用9片8259管64級8259可編程,使用靈活,可編程實(shí)現(xiàn)多種不同的方式。8259A用NMOS工藝制造,只需要一組5V電源。8259A的引腿信號、編程結(jié)構(gòu)和工作原理8259A的外部引腿信號D7D0:這是8根數(shù)據(jù)引線,較大系統(tǒng)中一般使用總線驅(qū)動(dòng)器8286,小系統(tǒng)直接相連。INT
2、:和CPU的INTR相連,用來向CPU發(fā)中斷請求.INTA:接收來自CPU的中斷應(yīng)答信號,8259要求應(yīng)答信號有兩個(gè)負(fù)脈沖組成。圖6.1 8259A的外部引腿RD : 讀出信號通知8259將某個(gè)內(nèi)部寄存器的內(nèi)容送到數(shù)據(jù)總線上WR: 寫入信號,通知8259從數(shù)據(jù)線上接收數(shù)據(jù)(命令字)CS : 芯片選擇信號,通過地址譯碼邏輯電路與地址總線相連A0 : 用來指出當(dāng)前8259的哪個(gè)端口被訪問(奇偶兩個(gè)端口地址)IR7IR0:這8條引腿用來從IO設(shè)備接收中斷請求.多片系統(tǒng)中主片從從片接受請求.CAS2CAS0:這3條引腿上的信號用來指出具體的從片。SP/EN:此引腿雙向,用途有二.作為輸入時(shí)為1決定此片
3、為主片;作為輸出時(shí),SP/EN引出的信號在數(shù)據(jù)從8259往CPU傳輸時(shí),使數(shù)據(jù)總線驅(qū)動(dòng)器啟動(dòng)。如8259工作于緩沖方式,則為輸出,否則為輸入信號。為了使所有的數(shù)據(jù)傳輸都利用數(shù)據(jù)總線的低8位,必須把地址總線的A1線和8259的A0端相連,為何如此呢?給8259分配兩個(gè)相鄰的偶地址。8259A的編程結(jié)構(gòu)和工作原理圖6.3 8259A的編程結(jié)構(gòu)下半部分有7個(gè)(8位)寄存器,均可編程,分為兩組.第1組: 4個(gè),容納初始化命令字(ICW1ICW4)Initialization command word第2組:3個(gè),容納操作命令字初始化命令由計(jì)算機(jī)啟動(dòng)程序設(shè)定,工作過程中一般不再改變,OCW由中斷處理過程
4、動(dòng)態(tài)控制,可被多次設(shè)置.8259A處理外部中斷的具體過程如下:中斷請求寄存器IRR接收外部的中斷請求,IRR有8位,分別與IR7IR0相連,有請求則對應(yīng)位置1,也即作了鎖存.中斷屏蔽寄存器IMR (OCW1中對應(yīng)位)決定改為是否被屏蔽(=0未加屏蔽)中斷優(yōu)先級裁決器PR把新進(jìn)入的中斷請求與當(dāng)前運(yùn)行的中斷相比較,更高級中斷嵌套低級中斷。當(dāng)前中斷服務(wù)寄存器ISR存放正在處理的中斷請求如果CPU的IF=1,當(dāng)前指令執(zhí)行后可以響應(yīng)中斷,8086往INTA線上回送兩個(gè)負(fù)脈沖,第1個(gè)負(fù)脈沖到達(dá),8259完成下列3個(gè)動(dòng)作:使IRR的鎖存功能失效,不再接受IR07上的請求,直到第2個(gè)負(fù)脈沖來為止使當(dāng)前中斷服務(wù)
5、寄存器ISR中的相應(yīng)位置1,為中斷優(yōu)先級裁決器提供判斷依據(jù)使IRR中的相應(yīng)位清0第2個(gè)負(fù)脈沖到達(dá)時(shí),8259完成下列動(dòng)作:將中斷類型寄存器中的內(nèi)容ICW2送到數(shù)據(jù)總線,CPU獲得此中斷類型碼如ICW4中中斷自動(dòng)結(jié)束位為1,第2個(gè)INTA結(jié)束后,ISR中相應(yīng)位清0 8259A的工作方式8259A有多種工作方式,編程實(shí)現(xiàn),使用太靈活.1. 設(shè)置優(yōu)先級的方式全嵌套方式中斷請求按優(yōu)先級07進(jìn)行處理,0級中斷的優(yōu)先級最高。特殊全嵌套方式與上面只有一點(diǎn)不同,如有同級中斷請求,也會(huì)予以響應(yīng)。一般用于8259級連方式。以便對來自同一從片的不同中斷予以響應(yīng)。優(yōu)先級自動(dòng)循環(huán)方式一個(gè)設(shè)備受到中斷服務(wù)后,優(yōu)先級自動(dòng)降
6、為最低。一開始0級最高。優(yōu)先級特殊循環(huán)方式與上面只有一點(diǎn)不同,一開始的最高優(yōu)先級由編程確定(由OCW2)2. 屏蔽中斷源的方式普通屏蔽方式8259A內(nèi)部有一個(gè)屏蔽寄存器IMR,通過OCW1使屏蔽寄存器中的1位或幾位置1.相應(yīng)中斷就受到屏蔽。這是暫時(shí)的,程序中可以撤銷屏蔽(重設(shè)OCW1)特殊屏蔽方式如中斷處理過程中要對低級中斷開放,似乎可以在中斷服務(wù)程序中用OCW1將屏蔽寄存器中對應(yīng)本級中斷的位置1,使本級受屏蔽,以響應(yīng)低級中斷.但是在當(dāng)前中斷服務(wù)寄存器ISR中,ISn已被置1,只要中斷處理程序沒有發(fā)出EOI指令,8259就會(huì)禁止比它低級的中斷,因ISn未被清0,低級中斷仍得不到響應(yīng)。設(shè)置特殊屏
7、蔽方式后,再用OCW1對屏蔽寄存器中某一位置位時(shí),ISn清零.特殊屏蔽方式總是在中斷處理程序中使用。結(jié)束中斷處理的方式8259有兩類結(jié)束中斷方式,自動(dòng)和非自動(dòng)(又分為一般和特殊中斷結(jié)束方式結(jié)束方式)中斷結(jié)束處理,其實(shí)就是將ISn清0中斷自動(dòng)結(jié)束方式這種方式只能用在只有一片8259,并且多個(gè)中斷不會(huì)嵌套的情況。中斷自動(dòng)結(jié)束方式中,系統(tǒng)一進(jìn)入中斷過程,8259就將ISR中的相應(yīng)位ISn清0。中斷自動(dòng)結(jié)束方式的設(shè)置很簡單,只要8259初始化時(shí)置ICW4中AEOI1 一般的中斷結(jié)束方式用在全嵌套情況下,當(dāng)CPU用輸出指令往8259發(fā)一個(gè)中斷結(jié)束命令時(shí),8259就會(huì)把ISR中級別最高的非零位置0特殊的中
8、斷結(jié)束方式非全嵌套方式下,ISR無法確定哪一級中斷為最后響應(yīng)和處理的,無法確定當(dāng)前正在處理的是哪一級中斷。特殊中斷結(jié)束方式就是在程序中發(fā)一條特殊中斷結(jié)束命令,指出要清除ISR中那個(gè)ISn位.(OCW2指出)當(dāng)OCW2中的EOI=1,SL=1且R=0時(shí)為特殊結(jié)束,OCW2中的L2L1L0指出具體ISn位.級連方式下不用自動(dòng)結(jié)束方式,中斷處理結(jié)束時(shí)發(fā)兩次中斷結(jié)束命令,一次對主片發(fā),另一次對從片發(fā)。連接系統(tǒng)總線的方式(兩種)緩沖方式多片8259級連的大系統(tǒng)中,8259通過總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連緩沖方式緩沖方式下,SP/EN會(huì)在中斷類型碼或狀態(tài)字輸出的同時(shí)向總線驅(qū)動(dòng)器允許端輸出一個(gè)低電平,啟動(dòng)總線驅(qū)
9、動(dòng)器。非緩沖方式當(dāng)系統(tǒng)中只有一片或數(shù)片8259時(shí),可以直接與總線相連非緩沖方式ICW4設(shè)定非緩沖方式下,SP/EN作為輸入端,主片(單片)接高電平,從片接低電平。引入中斷請求的方法邊沿觸發(fā)方式,上升沿觸發(fā),由ICW1來設(shè)置。電平觸發(fā)方式,響應(yīng)后要及時(shí)撤除高電平,均由ICW1來設(shè)置。中斷查詢方式,特點(diǎn)是:設(shè)備仍然往8259發(fā)送中斷請求信號,但8259不通過INT向CPU請求,8259輸入端的中斷請求信號可以是上升沿或高電平,ICW1中LTIM位定。CPU內(nèi)部的中斷允許觸發(fā)位IF復(fù)位,禁止了外部對CPU的中斷請求。CPU要通過軟件查詢來確認(rèn)中斷源,從而實(shí)現(xiàn)對設(shè)備的中斷服務(wù)。CPU執(zhí)行的查詢軟件中必
10、須有查詢命令,才能執(zhí)行查詢功能,查詢命令是通過往8259發(fā)送OCW3實(shí)現(xiàn)的。圖為查詢字格式 中斷查詢方式一般用在多于64級中斷的場合,也可以用在一個(gè)中斷服務(wù)程序中的幾個(gè)模塊分別為幾個(gè)中斷設(shè)備服務(wù)的情況,8259代替完全查詢系統(tǒng)中大部分查詢電路的一種工作方式。8259A的初始化命令字和操作命令字8259A的初始化命令字初始化命令字通常是系統(tǒng)開機(jī)時(shí),由初始化程序填寫的。8259A有兩個(gè)端口地址,8位機(jī)為奇偶兩端口,16位機(jī)為兩連續(xù)偶端口。初始化命令字必須按順序填寫,ICW1填入偶地址,其余初始化命令字填入奇地址。ICW1的格式和含義ICW1叫芯片控制初始化命令字,寫入偶地址端口(8259的A0=0
11、) ICW2的格式和含義ICW2是設(shè)置中斷類型碼的初始化命令字,高5位決定了哪8類,低3位無影響表6.1 中斷類型碼與ICW2及引腿序號的關(guān)系ICW3的格式和含義(多片才有意義)ICW3是標(biāo)志主片從片的初始化命令字,寫入8259的奇地址端口。ICW4的格式和含義方式控制初始化命令字,寫入奇地址端口(ICW1的第0位為1才有必要設(shè))8259的初始化流程在8259 進(jìn)入工作之前,必須將系統(tǒng)中的每片8259初始化,命令字寫入端口,地址由連線決定,初始化流程次序固定。圖6.4 8259A的初始化流程圖8259A的操作命令字8259A有3個(gè)操作命令字OCW13,是在應(yīng)用程序內(nèi)部設(shè)置的,設(shè)置時(shí)次序無嚴(yán)格要
12、求,但OCW1必須寫入奇地址端口,余為偶地址端口。OCW1:中斷屏蔽操作命令字OCW2:設(shè)置優(yōu)先級循環(huán)方式和中斷結(jié)束方式。OCW3:設(shè)置和撤銷特殊屏蔽方式、中斷查詢方式、對8259A內(nèi)部寄存器的讀出命令。當(dāng)OCW3中的P0時(shí),通過使OCW3中的RR位為1,便可構(gòu)成對8259內(nèi)部寄存器IRR、ISR的內(nèi)容。先用輸出指令往8259偶地址端口發(fā)讀出命令,再用輸入指令從偶地址端口讀取IRR或ISR的內(nèi)容。8259的屏蔽寄存器IMR的值隨時(shí)可以通過輸入指令從奇地址端口讀取。中斷狀態(tài)字寄存器格式為:發(fā)出查詢命令后從奇地址讀的為狀態(tài)字。OCW2、OCW3都寫入偶地址端口,D3位區(qū)分。ICW24以及OCW1都
13、寫入奇地址端口,8259也不會(huì)混淆起來。8259A使用中的一個(gè)實(shí)際問題中斷請求信號的要求問題,電平方式觸發(fā)時(shí),如不及時(shí)撤除會(huì)再次響應(yīng),但在第1個(gè)INTA脈沖結(jié)束之前撤除,8259自動(dòng)假設(shè)中斷來自IR7可能不是。為此,系統(tǒng)設(shè)計(jì)時(shí)可將IR7對應(yīng)的中斷處理子程序設(shè)計(jì)成指示和處理中斷請求信號出錯(cuò)的程序。8259A使用舉例關(guān)于中斷全嵌套方式的例子系統(tǒng)主程序?qū)?259進(jìn)行初始化后,如不再寫入任何操作命令字,8259即處于全嵌套方式。且IR0優(yōu)先級最高。高級中斷處理結(jié)束后,要使較低級的中斷處理程序被繼續(xù)處理必須具備下列條件:高級中斷結(jié)束前運(yùn)行一條中斷結(jié)束命令和中斷返回指令。每當(dāng)CPU響應(yīng)一個(gè)中斷,會(huì)自動(dòng)關(guān)中
14、斷,使IF0。系統(tǒng)真正按照全嵌套方式工作有一定條件:主程序必須執(zhí)行開中斷指令,使IF1,才有可能響應(yīng)中斷。每當(dāng)進(jìn)入中斷系統(tǒng)自動(dòng)關(guān)中斷,中斷子程序中必須開中斷,才響應(yīng)高級中斷每個(gè)中斷程序結(jié)束必須執(zhí)行中斷結(jié)束指令,清除對應(yīng)的ISn才能返回?cái)帱c(diǎn)關(guān)于如何使用中斷結(jié)束命令的例子中斷結(jié)束命令的發(fā)出不可過早,以免被低級中斷打斷。兩個(gè)重要結(jié)論:進(jìn)入中斷處理子程序后,只有執(zhí)行STI指令,才允許嵌套。進(jìn)入中斷處理程序后STI使IF1,是否繼續(xù)用OCW2清除對應(yīng)ISn影響嵌套關(guān)于特殊屏蔽方式的例子6.1.6 多片8259A組成的主從式中斷系統(tǒng)圖6.26是多片8259組成的中斷系統(tǒng)原理圖如采取緩沖連接方式,只要把主片
15、的SPEN端和數(shù)據(jù)總線驅(qū)動(dòng)器OE端相連,再把8259的數(shù)據(jù)線D0D7和驅(qū)動(dòng)器的D0D7相連,從片的SPEN接地即可。要注意,設(shè)計(jì)譯碼電路時(shí),每片8259要分配2個(gè)相連的奇偶端口地址。中斷響應(yīng)過程:收到第1個(gè)INTA后,主片查看ICW3,如某腿無從片,主片自己發(fā)送中斷類型碼ICW2IBM PC/XT系統(tǒng)中只用1片8259,系統(tǒng)啟動(dòng)時(shí)執(zhí)行BIOS中的系統(tǒng)初始化程序,中斷請求上升沿有效,中斷類型08F0FH,不自動(dòng)結(jié)束,寫入1個(gè)含EOI的OCW2結(jié)束,數(shù)據(jù)線上有緩沖器,具有中斷嵌套方式。系統(tǒng)初始化完畢前屏蔽所有中斷。MOV AL,13H ; 寫ICW1OUT AL,20H MOV AL,08H ;
16、寫ICW2OUT 21H,ALMOV AL,09H ; 寫ICW4OUT AL,21HMOV AL,0FFH ; 寫OCW1OUT 21H,AL主片初始化與單片相似,但略有差別。從片初始化要注意兩點(diǎn)。SNGL也=0,ICW2中ID2-0設(shè)置。例2:某80868088最小系統(tǒng)中有1片8259,外設(shè)中斷從IR7引入,端口地址見圖,試找出中斷入口并初始化。圖中看出端口地址84H、86H,類型碼設(shè)為C7H。初始化程序如下;見書上181頁四、中斷控制器、計(jì)數(shù)器定時(shí)器考核點(diǎn)及例題解析6.1 中斷控制器、計(jì)數(shù)器定時(shí)器考核要點(diǎn)中斷控制器一節(jié)為全書學(xué)習(xí)難度最大的章節(jié),但對8259芯片的考核內(nèi)容相對說來低于其它芯
17、片,如串并行接口芯片8251、8255,定時(shí)器計(jì)數(shù)器芯片8253等。主要要求掌握相關(guān)概念,由于8259初始化控制字和操作命令字多達(dá)7個(gè),內(nèi)容甚多,只要在給出格式的情況下知道含義即可,無需靈活運(yùn)用,考核主要側(cè)重于概念。6.2中斷控制器、計(jì)數(shù)器定時(shí)器例題解析1. 什么叫中斷源?一般有幾類中斷源?答案要點(diǎn):1中斷源引起中斷的原因或發(fā)出中斷申請的來源2分類:外部設(shè)備請求中斷 如鍵盤、打印機(jī)實(shí)時(shí)時(shí)鐘請求中斷 如定時(shí)器/計(jì)數(shù)器3) 故障請求中斷2. 為什么要設(shè)置中斷優(yōu)先級? 1)兩個(gè)以上外設(shè)同時(shí)申請中斷需分先后2)有更重要的外設(shè)需要處理,需要中斷正在執(zhí)行的中斷3. 什么叫矢量中斷?請敘述中斷矢量號(中斷類
18、型)、中斷矢量表和中斷服務(wù)程序入口地址三者的關(guān)系。1)矢量中斷由請求中斷的外部設(shè)備接口向CPU提供矢量,CPU根據(jù)這個(gè)矢量到矢量表中轉(zhuǎn)換表跳轉(zhuǎn)中查找中斷服務(wù)程序入口地址,而轉(zhuǎn)入不同的中斷處理服務(wù)程序入口,這種方式很適合于多級中斷結(jié)構(gòu) 2) 8088/8086可以處理256種矢量中斷,對每種中斷都指定一個(gè)中斷矢量號代碼,從0255每一種中斷矢量號代碼都可以與一個(gè)中斷服務(wù)程序相對應(yīng)。中斷服務(wù)程序放在存儲(chǔ)區(qū)域內(nèi),而中斷服務(wù)程序的入口地址存在內(nèi)存儲(chǔ)器中斷矢量表內(nèi),當(dāng)CPU處理中斷時(shí),就需要指向中斷服務(wù)程序入口地址,中斷矢量表是中斷矢量號與這相應(yīng)的中斷服務(wù)程序入口地址之間的轉(zhuǎn)換表。 中斷矢量表占用存儲(chǔ)器
19、的最低地址區(qū),因?yàn)槊總€(gè)中斷矢量號要占用4個(gè)字節(jié)單元。 4. 8086/8088共有多少矢量號?每一個(gè)矢量表的幾個(gè)字節(jié)空間?它們的內(nèi)容是什么?中斷矢量表達(dá)式位于內(nèi)存儲(chǔ)器的何處?(1)256(2)4字節(jié)(3)中斷服務(wù)程序入口地址存儲(chǔ)器的最低1k地址區(qū)5. 一片8259A可以管理幾級中斷源?若系統(tǒng)有22級中斷源,該采取什么措施?(1)一片8259A可以管理8級中斷源 (2)若系統(tǒng)有22級中斷源,應(yīng)采用3片8259A級連,兩個(gè)從片16級,主片還剩6腳。 6. 8253有哪幾種工作模式? 模式0計(jì)數(shù)結(jié)束產(chǎn)生中斷(階躍信號發(fā)生器)模式1可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器模式2分頻器模式3方波發(fā)生器模式4軟件觸發(fā)的選
20、通信號發(fā)生器模式5硬件觸發(fā)的選通信號發(fā)生器7. 用8253通道1作為DRAM刷新定時(shí)器,動(dòng)態(tài)存儲(chǔ)器要求2ms內(nèi)對全部128行存儲(chǔ)單元刷新一遍,假定計(jì)數(shù)器用的時(shí)鐘頻率為2MHz,問該通道應(yīng)工作在什么方式?請寫出控制字和計(jì)數(shù)值(用16進(jìn)制數(shù)表示)應(yīng)工作在方式2,即頻率發(fā)生器方式。 控制字:54H。 計(jì)數(shù)器:計(jì)數(shù)周期為0.5s,兩行刷新的最大時(shí)間間隔為2ms/128=15.6s,15.6/0.5=31.2,可取計(jì)算值為31,符合時(shí)間間隔在15.6s以內(nèi)的要求。 8. 用8253通道2產(chǎn)生1000Hz的音頻信號,問該通道應(yīng)工作在什么方式?(寫出方式控制字)應(yīng)工作在方式3,即方波發(fā)生器方式。 控制字:B
21、6H。(有源濾波) 9. 8253的初始化編程分哪幾步進(jìn)行?芯片加電后,其工作方式是不確定的,為了正常工作,要對芯片進(jìn)行初始化。 初始化的工作有兩點(diǎn);一是向控制寄存器寫入方式控制字,以選擇計(jì)數(shù)器,確定工作方式,指定計(jì)數(shù)器計(jì)數(shù)初值的長度和裝入順序以及計(jì)數(shù)值的碼制。 已選定的計(jì)數(shù)器按方式控制字的要求寫入計(jì)數(shù)初值。 五、單元測驗(yàn)1. 若中斷矢量號N=13H,計(jì)算此中斷程序的矢量在矢量表的地址。2. 8259A有哪些寄存器可以被CPU讀入?各如何尋址?3. PC/XT與PC/AT對8259A的使用有什么區(qū)別?4. 簡要說明8259A中斷控制器中的IRR、ISR和IMR三個(gè)寄存器的功能。5. 在8086
22、/8088指令系統(tǒng)中,有無對TF標(biāo)志直接置位或復(fù)位的指令?6. 用8253通道1產(chǎn)生500Hz的音頻信號,假定計(jì)數(shù)器用的時(shí)鐘頻率為2MHz,請寫出計(jì)數(shù)值(用16進(jìn)制數(shù)表示)。7.如何根據(jù)8253的輸入時(shí)鐘頻率和所需定時(shí)長度求出計(jì)數(shù)器初值?8.8253內(nèi)部有幾個(gè)控制寄存器?作用如何?答案要點(diǎn):Chapter 10 模數(shù)和數(shù)模轉(zhuǎn)換10.1概述A/D和D/A轉(zhuǎn)換技術(shù)主要用于計(jì)算機(jī)控制和測量儀表中。連續(xù)變化的物理量模擬量。模擬電流模擬電壓數(shù)字量兩步:采樣保持和AD轉(zhuǎn)換最終目的是生產(chǎn)過程實(shí)施控制,D/A轉(zhuǎn)換技術(shù)。教學(xué)基本要求模擬接口即模擬量輸人輸出接口,就是通常所指的模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,這是微機(jī)控制
23、系統(tǒng)中不可缺少的部分。本章在簡述模擬接口在微機(jī)應(yīng)用系統(tǒng)中的作用之后,著重介紹 DAC 0832和 ADC 0809兩種轉(zhuǎn)換器芯片的工作原理及其應(yīng)用。并簡單介紹了采樣保持電路和多路轉(zhuǎn)換模擬開關(guān)的工作原理及其應(yīng)用。模擬接口的基本知識,要求達(dá)到“識記”層次。模擬接口在微機(jī)控制系統(tǒng)中的作用。模模轉(zhuǎn)換和數(shù)模轉(zhuǎn)換的概念。模擬信號的采樣和保持過程。數(shù)模轉(zhuǎn)換芯片的主要性能指標(biāo)。模數(shù)轉(zhuǎn)換芯片的主要性能指標(biāo)。、數(shù)模轉(zhuǎn)換器芯片 DAC 0832,要求達(dá)到“領(lǐng)會(huì)”層次。DAC 0832的外特性。DAC 0832的數(shù)據(jù)輸出方式。DAC 0832同 CPU的連接方式。、模數(shù)轉(zhuǎn)換器芯片 ADC 0809,要求達(dá)到“簡單應(yīng)用
24、”層次。 ADC0809的外特性及工作過程。 ADC0809同 CPU的接口技術(shù)硬件連接和軟件控制程序的編制。、采樣保持電路和多路轉(zhuǎn)換模擬開關(guān)的工作原理及其應(yīng)用,要求達(dá)到“領(lǐng)會(huì)”層次。二、教學(xué)重點(diǎn)和難點(diǎn)模擬接口的基本概念。*數(shù)模轉(zhuǎn)換的原理及典型芯片 DAC 0832同 CPU的連接與應(yīng)用。*模數(shù)轉(zhuǎn)換的方法和典型芯片 ADC 0809同 CPU的連接與應(yīng)用。*采樣保持電路。*多路轉(zhuǎn)換模擬開關(guān)。三、學(xué)習(xí)要點(diǎn)及教材分析10.1概述A/D和D/A轉(zhuǎn)換技術(shù)主要用于計(jì)算機(jī)控制和測量儀表中。連續(xù)變化的物理量模擬量。模擬電流模擬電壓數(shù)字量兩步:采樣保持和AD轉(zhuǎn)換最終目的是生產(chǎn)過程實(shí)施控制,D/A轉(zhuǎn)換技術(shù)連續(xù)量
25、控制。測量系統(tǒng),程序控制系統(tǒng)。10.1.1數(shù)模(DA)轉(zhuǎn)換器1.數(shù)模轉(zhuǎn)換的原理為了把一個(gè)數(shù)字量變成模擬量,必須把每一位上的代碼按照權(quán)來轉(zhuǎn)換為對應(yīng)的模擬量。集成電路中通常采用T型網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)字量到模擬電流的轉(zhuǎn)換,先由DA將數(shù)字量轉(zhuǎn)換為模擬電流,再用運(yùn)放轉(zhuǎn)換為模擬電壓。這是最簡單的DA轉(zhuǎn)換器,精度不易保證。用T型電阻網(wǎng)絡(luò)可提高轉(zhuǎn)換精度運(yùn)算放大器的工作原理和特點(diǎn)一是開環(huán)放大倍數(shù)非常高;二是阻抗非常大;三是輸出阻抗非常小。同相輸入端、反向輸入端、虛地輸入電流IiUi/Ri輸出電壓Uo-Ro.Ii-Ro.Ui/Ri帶反饋電阻的運(yùn)放的放大倍數(shù)為:Uo/Ui=-Ro/Ri書上圖7.2(c)的4支路運(yùn)放輸出電壓
26、為:Uo-(I1+I2+I3+I4).RoVREF是一個(gè)有足夠精度的標(biāo)準(zhǔn)電源,R,2R.8R稱為權(quán)電阻.分辨率和精度分辨率1/(2n1)絕對轉(zhuǎn)換精度相對轉(zhuǎn)換精度轉(zhuǎn)換速率建立時(shí)間線性誤差T型權(quán)電阻網(wǎng)絡(luò)R,2R,4R,.128R組成的獨(dú)立權(quán)電阻網(wǎng)絡(luò)工藝上難以實(shí)現(xiàn),產(chǎn)生了圖7.4 的T型電阻網(wǎng)絡(luò),只要R和2R兩種電阻。10.1.2數(shù)模轉(zhuǎn)換器件和有關(guān)電路分為有無數(shù)據(jù)輸入寄存器兩種DA芯片。DAC0832、AD7524有內(nèi)部寄存器。不帶數(shù)據(jù)輸入寄存器的DA芯片的使用。8086執(zhí)行數(shù)據(jù)輸出指令后,數(shù)據(jù)在總線上只保持2個(gè)CLK,這樣模擬量在輸出端的出現(xiàn)也會(huì)很短暫,難實(shí)現(xiàn)控制。圖中譯碼器的接法決定了鎖存器的端
27、口地址,當(dāng)CPU用輸出指令往這個(gè)端口輸出一個(gè)數(shù)據(jù)時(shí),就把累加器中的數(shù)據(jù)送到鎖存器,模擬電壓輸出。如果DA轉(zhuǎn)換器超過8位,一個(gè)鎖存器就不夠用了,如圖所示,CPU通過兩條輸出指令,執(zhí)行第1條時(shí),得到局部輸入,是個(gè)不希望的輸出,圖8.7的兩級緩沖方法,解決此問題.第3條輸出指令執(zhí)行的是偽輸出,并沒有把數(shù)據(jù)總線上的數(shù)據(jù)送到緩沖器,而僅僅是使緩沖器得到一個(gè)選通信號,從而,使第一級緩沖器的數(shù)據(jù)打入第二級緩沖器。具體程序段如下:MOVAL,DATALOUTPORTL,AL;低8位數(shù)據(jù)送第一級緩沖器MOVAL,DATAHOUTPORTH,AL;高8位數(shù)據(jù)送第一級緩沖器OUTPORT,AL ;使數(shù)據(jù)打入第二級緩
28、沖器帶有數(shù)據(jù)輸入寄存器的DA芯片的使用。對于內(nèi)部帶有數(shù)據(jù)輸入寄存器的DA芯片,可直接和數(shù)據(jù)總線相連。DAC0832內(nèi)部有一個(gè)T型電阻網(wǎng)絡(luò),用來實(shí)現(xiàn)DA轉(zhuǎn)換,它需要外接運(yùn)放,才能得到模擬電壓輸出,兩級鎖存器;第二級鎖存信號也叫通道控制信號??晒ぷ髟陔p緩沖方式,即在輸出模擬信號的同時(shí)可以采集下一個(gè)數(shù)字。為了用DAC0832進(jìn)行數(shù)模轉(zhuǎn)換,可用兩種方法工作。一是使輸入寄存器工作在鎖存狀態(tài);。二是使輸入寄存器工作在不鎖存狀態(tài),DAC寄存器工作在鎖存狀態(tài)DAC0832的3種工作方式雙緩沖方式DAC0832內(nèi)部有兩個(gè)數(shù)據(jù)寄存器,雙緩沖方式下CPU對芯片兩次寫操作將數(shù)據(jù)寫入輸入寄存器CPU發(fā)轉(zhuǎn)換信號轉(zhuǎn)換雙緩沖
29、優(yōu)點(diǎn):數(shù)據(jù)接收和轉(zhuǎn)換可同步進(jìn)行,提高效率,可多通道同時(shí)轉(zhuǎn)換。單緩沖方式一個(gè)寄存器工作于直通狀態(tài),另一個(gè)鎖存狀態(tài)。比如WR2和XFER都接地,數(shù)據(jù)一些入就轉(zhuǎn)換。直通工作方式將CS、WR1、WR2、XFER都接地,數(shù)據(jù)一寫入就轉(zhuǎn)換,但不能直接與CPU數(shù)據(jù)線相連。DAC0832的主要技術(shù)性能電流建立時(shí)間 1s分辨率 8位線性誤差0.2FSR(Full scale range)非線性誤差0.4FSR三種輸入方式雙緩沖、單緩沖和直通。數(shù)字輸入與TTL兼容增益溫度系數(shù)0.002FSR/低功耗20mW單電源+5-+15V參考電壓1010V例1:實(shí)現(xiàn)1次DA轉(zhuǎn)換假定待轉(zhuǎn)換數(shù)據(jù)放在1000H單元MOV BX,1
30、000HMOV AL,BXMOV DX,PORTA ;D/A轉(zhuǎn)換器端口號OUT DX,AL例2:鋸齒波電壓輸出MOV DX,PORTAMOV AL,0FFH ;初值為0FFHROTATE:INC ALOUT DX,AL ;OUT后還可以延遲一段時(shí)間JMP ROTATE(二)DAC1210美國國家半導(dǎo)體公司生產(chǎn),12位D/A轉(zhuǎn)換芯片。邏輯結(jié)構(gòu)與0832相似,但有12位數(shù)據(jù)輸入端,8+4位,B1/B2有效才能向8位輸入寄存器輸入。1.DAC1210的引腳功能CS、WR1、AGND、DI11DI0、VREFRfb:外部運(yùn)算放大器的反饋電阻接線端DGND、Iout1 Iout2、XFER、WR2 B1
31、/B2:字節(jié)控制端,1時(shí)12位數(shù)同時(shí)送輸入鎖存器。0時(shí)12位的低4位送到4位寄存器。2.DAC1210的主要技術(shù)指標(biāo)(同0832)有一個(gè)問題必須指出來,就是要正確的處理地線的連接問題。一類是數(shù)字電路芯片,一類是模擬電路芯片,“數(shù)字地”和“模擬地”要分別連在一起,再連到共地點(diǎn)。現(xiàn)在,再介紹用軟件怎樣實(shí)現(xiàn)書上圖7.10中的DA轉(zhuǎn)換MOVBX,1000HMOVAL,BX;數(shù)據(jù)送AL中MOVDX,PORTA;PORTA為D/A轉(zhuǎn)換器端口號OUTDX,AL看一下怎樣利用DA轉(zhuǎn)換器產(chǎn)生一個(gè)鋸齒電壓例2,產(chǎn)生一個(gè)鋸齒電壓。MOV DX,PORTA;PORTA為D/A端口號MOV AL,0FFH;初值為0FF
32、HROTATE:INC ALOUT DX,AL;往D/A輸出數(shù)據(jù)JMP ROTATE 對于鋸齒波的周期,可以用延遲進(jìn)行調(diào)整。10.2模數(shù)(AD)轉(zhuǎn)換器10.2.1模數(shù)轉(zhuǎn)換涉及的參數(shù)轉(zhuǎn)換精度轉(zhuǎn)換精度反映了A/D轉(zhuǎn)換器的實(shí)際輸出接近理想輸出的精確程度。A/D轉(zhuǎn)換的精度通常用數(shù)字量的最低有效位(LSB)來表示,設(shè)最低位對應(yīng)于模擬量最低有效位的當(dāng)量。如果模擬量在0.5范圍內(nèi)都產(chǎn)生唯一的數(shù)字量,那么這個(gè)AD轉(zhuǎn)換器的精度為0LSB. 如在0.75范圍內(nèi)都產(chǎn)生相同的數(shù)字量,精度為0.25LSB.轉(zhuǎn)換率完成一次AD轉(zhuǎn)換所需要的時(shí)間的倒數(shù),如200ns則5MHz分辨率A/D轉(zhuǎn)換器的分辨率表明了能夠分辨最小的量化
33、信號的能力。所以N位AD轉(zhuǎn)換器的分辨率為2N位。10.2.2模數(shù)轉(zhuǎn)換的方法和原理計(jì)數(shù)式AD轉(zhuǎn)換計(jì)數(shù)式AD轉(zhuǎn)換的原理圖Vi是模擬輸入電壓,D7D0是數(shù)字輸出,數(shù)字輸出量又同時(shí)驅(qū)動(dòng)一個(gè)DA轉(zhuǎn)換器,其輸出為Vo。當(dāng)C1時(shí),計(jì)數(shù)器從0開始計(jì)數(shù),C=0時(shí)停止計(jì)數(shù)。具體工作過程如下:啟動(dòng)信號由高電平變低電平,計(jì)數(shù)清零,恢復(fù)高電平時(shí)開始計(jì)數(shù),起初Vi大于Vo,C=1,當(dāng)Vo大于Vi時(shí),C0,停止計(jì)數(shù),此時(shí)的數(shù)字輸出就是數(shù)字量。信號C的負(fù)向跳變也是轉(zhuǎn)換結(jié)束信號,通知其他設(shè)備轉(zhuǎn)換完成。計(jì)數(shù)式轉(zhuǎn)換的缺點(diǎn)是速度比較慢。雙積分式AD轉(zhuǎn)換雙積分式AD轉(zhuǎn)換的電路原理圖。雙積分轉(zhuǎn)換信號變化過程積分器、比較器、計(jì)數(shù)器和標(biāo)準(zhǔn)電
34、壓源。一開始對模擬量進(jìn)行固定時(shí)間的積分,其值與Vi正比;然后對標(biāo)準(zhǔn)電源反向積分到0,所需時(shí)間與Vi成正比,高頻測時(shí)間即可。特點(diǎn)是精度高、干擾小、速度慢。逐次逼近式AD轉(zhuǎn)換。圖7.14逐次逼近AD轉(zhuǎn)換器逐次逼近A/D轉(zhuǎn)換器工作原理圖主要由下列幾部分組成:(1)模擬輸入部分:8路單端輸入多路開關(guān),3位地址輸入選通。(2)變換部分:控制邏輯提供轉(zhuǎn)換器的時(shí)鐘CLK和啟動(dòng)信號STRAT,轉(zhuǎn)換結(jié)束發(fā)EOC信號。逐位逼近寄存器SAR、比較器和電阻網(wǎng)絡(luò)(3)三態(tài)輸出緩沖器(4)基準(zhǔn)電壓輸入端REF(+)和REF(-)它們決定了輸入模擬電壓的最大值和最小值,通常把REF(+)和REF(-)分別接到VCC和GND
35、上,但要滿足條件:0Vref(-)Vref(+)Vcc且1/2(Vref(+)+Vref(-)=1/2Vcc(1)模擬輸入部分3位地址輸入ADDAADDBADDC編碼8選1(2)變換部分(四部分)控制邏輯提供轉(zhuǎn)換器的時(shí)鐘CLK和啟動(dòng)信號START.。逐次逼近寄存器工作時(shí)與普通計(jì)數(shù)器不同,它不是從低位往高位逐一進(jìn)行計(jì)數(shù)和進(jìn)位,而是從高位往低位逐次比較。經(jīng)過N次比較后,逐次逼近寄存器中的值就是轉(zhuǎn)換結(jié)果。轉(zhuǎn)換結(jié)束后控制電路送一個(gè)低電平作為結(jié)束信號,這個(gè)信號的下降沿將逐次逼近寄存器中的數(shù)字量送入緩沖寄存器,從而得到數(shù)字量輸出。也稱二分搜索法或?qū)Π胨阉鞣āK俣群芸臁?二)AD574A綜合性能較好的逐次逼
36、近式12位AD芯片,轉(zhuǎn)換時(shí)間為25-35s,可以12位轉(zhuǎn)換,也可8位,結(jié)果可以12位一起輸出,也可以分高8位和低4位兩次輸出,可以單端或雙端輸入,片內(nèi)有時(shí)鐘。有多種AD574品種。主要引腳:R/C讀啟動(dòng)轉(zhuǎn)換信號;A0=0啟動(dòng)1次12位轉(zhuǎn)換;12/8=1表示12位并行輸出;STS1正在轉(zhuǎn)換;10Vin模入0-10V雙極性-5-+5V;20Vin類似;BIP OFFSET與單雙極性有關(guān)。2.AD574的控制邏輯和時(shí)序CE、CS同時(shí)有效,R/C0啟動(dòng)轉(zhuǎn)換;R/C1讀出數(shù)據(jù)A/D轉(zhuǎn)換時(shí)序如下:以下時(shí)讀數(shù)據(jù)時(shí)序3.單極性與雙極性輸入接線方式A/D轉(zhuǎn)換結(jié)果是2進(jìn)制編碼,單雙極性接法不同,數(shù)值含義不同。見表
37、10-4 P28910.3 CPU與8位、12位接口芯片設(shè)BX寄存器中低12位為帶轉(zhuǎn)換的數(shù)字量START:MOV DX,0250H;DAC1210的基地址 MOV CL,04 SHL BX,CL;BX中的12位左移4位 MOV AL,BHOUT DX,AL;寫入高8位INC DX;修改DAC1210端口地址MOV AL,BL;低4位數(shù)到ALOUT DX,AL;寫入低4位INC DXOUT DX,AL;啟動(dòng)DA轉(zhuǎn)換HLT二、A/D轉(zhuǎn)換器與CPU的接口OUT DX,AL;啟動(dòng)AD轉(zhuǎn)換MOV AL,0BHOUT DX,AL;STARTPB4=0MOV DL,0FEH;8255的C口地址 TEST2:
38、IN AL,DX;讀C口狀態(tài)AND AL,10H;檢測EOC狀態(tài)JZ TEST2;未轉(zhuǎn)換完,再測試MOV DL,0FCH;8255的A口地址IN AL,DX;讀轉(zhuǎn)換結(jié)果INT 3三、光隔型DA轉(zhuǎn)換模板10.4數(shù)據(jù)采集系統(tǒng)實(shí)例電路組成模擬多路開關(guān)、通道譯碼、差分放大器、A/D轉(zhuǎn)換器、數(shù)據(jù)總線緩沖器、地址譯碼、轉(zhuǎn)換控制邏輯4. 用軟件和DA轉(zhuǎn)換器來實(shí)現(xiàn)AD轉(zhuǎn)換圖7.15是用軟件和DA實(shí)現(xiàn)AD轉(zhuǎn)換的原理電路圖下面依照逐次逼近式的原理來看看圖7.15電路進(jìn)行AD轉(zhuǎn)換的過程和軟件設(shè)計(jì)方法。(程序略)比較起來,計(jì)數(shù)式速度慢但價(jià)格低,適用于慢速系統(tǒng)。雙積分式分辨率高抗干擾適用于中等速度的系統(tǒng)。用軟件和DA實(shí)
39、現(xiàn)速度低但省硬件;逐次逼近速度最快。模數(shù)轉(zhuǎn)換器和系統(tǒng)連接時(shí)要考慮的問題A/D轉(zhuǎn)換芯片有各種型號,既有通用而價(jià)廉的AD570等,也由高精度高速的AD574、12位高分辨率的ADC1210,低功耗的AD7574等。不管是哪種型號的AD轉(zhuǎn)換芯片,對外引腿都是類似的:模擬輸入信號、數(shù)字輸出信號、啟動(dòng)轉(zhuǎn)換信號和轉(zhuǎn)換結(jié)束信號。輸入模擬電壓的連接A/D轉(zhuǎn)換芯片的輸入模擬電壓往往既可以是單端的也可以是差動(dòng)的,接VIN和VIN-為差動(dòng),接VIN和VIN-且其一接地為單端輸入。數(shù)據(jù)輸出線和系統(tǒng)總線的連接有一類芯片輸出端有可控的三態(tài)門,可直接與總線連接。另一類有不受外部控制的三態(tài)門,或沒有三態(tài)門,必須通過IO通道或
40、附加的三態(tài)門電路與CPU連接。至于8位以上的AD和系統(tǒng)的連接,考慮輸出位數(shù)和總線位數(shù)的關(guān)系,要輸出12次啟動(dòng)信號的供給A/D轉(zhuǎn)換器的啟動(dòng)信號一般有兩種形式,即電平啟動(dòng)信號和脈沖啟動(dòng)信號。如果中途撤走電平信號,轉(zhuǎn)換就會(huì)停止而出錯(cuò)。片選信號和寫信號可在片內(nèi)產(chǎn)生啟動(dòng)脈沖。轉(zhuǎn)換結(jié)束信號以及轉(zhuǎn)換數(shù)據(jù)的讀取CPU一般可以采用4種方式與A/D聯(lián)絡(luò)讀取結(jié)果。一是程序查詢方式, 二是中斷方式,三是CPU等待方式,四是固定延時(shí)。如果AD轉(zhuǎn)換時(shí)間長,中斷效率較高。例1:用帶有可控三態(tài)門的AD進(jìn)行AD轉(zhuǎn)換,中斷方式傳輸結(jié)果。ADC0804是8位分辨率的A/D,一次轉(zhuǎn)換時(shí)間100s,轉(zhuǎn)換精度1LSB。ADC0804的主要硬件特性如下:CS和WR有效時(shí)即啟動(dòng)轉(zhuǎn)換。片內(nèi)有可控制的三態(tài)輸出門,CS和RD同時(shí)有效時(shí)即可讀出數(shù)據(jù)。轉(zhuǎn)換結(jié)束時(shí)INTR端
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6空氣(說課稿)-2024-2025學(xué)年科學(xué)二年級上冊人教鄂教版
- 四年級數(shù)學(xué)(簡便運(yùn)算)計(jì)算題專項(xiàng)練習(xí)與答案
- 三年級數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案集錦
- 四年級數(shù)學(xué)(除數(shù)是兩位數(shù))計(jì)算題專項(xiàng)練習(xí)及答案
- 二零二五年按摩技師職業(yè)素養(yǎng)提升合同2篇
- 2025年新科版選修4化學(xué)下冊月考試卷含答案
- 2025年外研版三年級起點(diǎn)一年級語文下冊階段測試試卷含答案
- 店鋪轉(zhuǎn)讓合同
- 2025年人教A版選修6歷史上冊月考試卷含答案
- 2025年新科版八年級科學(xué)上冊階段測試試卷含答案
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識2024(全文)
- 二年級下冊加減混合豎式練習(xí)360題附答案
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 汽輪機(jī)盤車課件
- 異地就醫(yī)備案個(gè)人承諾書
- 蘇教版五年級數(shù)學(xué)下冊解方程五種類型50題
評論
0/150
提交評論