




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 8.1 概述 8.3 輸入輸出的數(shù)據(jù)傳送方式 8.5 可編程計數(shù)器定時器8253 8.2 輸入輸出端口 8.4 可編程并行通信接口8255A 8.6 可編程串行通信接口8251A 2022/8/11頁8.1 接口電路概述8.1.1 接口基本概念輸入設(shè)備:輸入信息輸出設(shè)備:送出結(jié)果輸入設(shè)備 鍵盤、鼠標(biāo)、掃描儀、磁帶機(jī)、磁盤機(jī)、光盤機(jī)、解調(diào)器、A/D轉(zhuǎn)換器輸出設(shè)備 顯示器、打印機(jī)、繪圖儀、磁帶機(jī)、磁盤機(jī)、光盤機(jī)、調(diào)制器、D/A轉(zhuǎn)換器 各設(shè)備的組成結(jié)構(gòu)、電氣性能和工作原理各不相同2022/8/12頁外部設(shè)備種類繁多,輸入/輸出的信號各不相同計算機(jī)只能處理數(shù)字信號,外設(shè)提供的是模擬信號或數(shù)字信號外設(shè)
2、的數(shù)字信號可以是并行信號或串行信號,而計算機(jī)只能接收和發(fā)送并行信號外設(shè)的輸入/輸出速度有很大差別。計算機(jī)與外部設(shè)備之間傳送的信息格式和電平高低也是多種多樣外部設(shè)備需要接口電路與計算機(jī)相連,而為什么不能象存儲器那樣直接連接到數(shù)據(jù)總線、地址總線和控制總線呢?2022/8/13頁解決的辦法:加入轉(zhuǎn)換及控制電路,實現(xiàn)信號的轉(zhuǎn)換及傳輸速度的匹配外設(shè)接口電路必然是多樣化的定義:把外部設(shè)備同計算機(jī)連接起來實現(xiàn)數(shù)據(jù)傳送的轉(zhuǎn)換和控制電路稱為外設(shè)接口電路,簡稱外設(shè)接口。計算機(jī)如何和這些電氣性能不同、速度不同以及所處理的信息格式不同的設(shè)備連接,以便能夠正確地輸入/輸出信息,而不造成信息的混亂、丟失呢?2022/8/
3、14頁8.1.2 接口電路的功能 外部設(shè)備的多樣性,導(dǎo)致接口電路多樣性。接口的基本功能傳輸信號提供緩沖功能滿足接口兩邊的時序要求外設(shè)接口電路應(yīng)具有的功能1數(shù)據(jù)格式轉(zhuǎn)換3數(shù)據(jù)緩沖功能5實現(xiàn)電平轉(zhuǎn)換及驅(qū)動7可編程序功能2提供聯(lián)絡(luò)信號4譯碼選址6具備時序控制8錯誤檢測功能2022/8/15頁1數(shù)據(jù)格式轉(zhuǎn)換接口與系統(tǒng)總線之間,采用并行傳送接口與外設(shè)之間,采用并行傳送或串行傳送串行外設(shè),接口具有串/并轉(zhuǎn)換、并/串轉(zhuǎn)換能力并行外設(shè),接口具有拼裝和分解的能力接口產(chǎn)生校驗位及對數(shù)據(jù)進(jìn)行校驗的功能2提供聯(lián)絡(luò)信號即狀態(tài)信息:協(xié)調(diào)數(shù)據(jù)傳送3數(shù)據(jù)緩沖功能具有輸入緩沖、輸出鎖存的功能2022/8/16頁4譯碼選址根據(jù)地
4、址信號提供地址譯碼的功能 5實現(xiàn)電平轉(zhuǎn)換及驅(qū)動計算機(jī)與外設(shè)的電源可能不同數(shù)據(jù)總線的驅(qū)動能力有限6具備時序控制對于工作同步,提供復(fù)位電路對于信號同步,具有時鐘發(fā)生器 7可編程序功能編程決定接口的功能 8錯誤檢測功能檢測數(shù)據(jù)傳輸錯誤和覆蓋錯誤 2022/8/17頁8.1.4 通信的概念 CPU與外部設(shè)備之間,計算機(jī)和計算機(jī)之間需要進(jìn)行信息交換,所有這些信息交換均稱為 1.并行通信是指數(shù)據(jù)的各位同時進(jìn)行傳送的方式,特點是傳輸速度快。 例如, CPU將數(shù)據(jù)通過并口送給打印機(jī)等都屬于并行通信。 通信的基本方式分為并行通信和串行通信兩種。 當(dāng)距離較遠(yuǎn)、位數(shù)又多時,則導(dǎo)致了通信線路復(fù)雜且成本高。2022/8
5、/18頁 2.串行通信是指數(shù)據(jù)的各位一位一位地進(jìn)行傳送, 特點是通信線路簡單,只需要一對傳輸線。 節(jié)省傳輸線(優(yōu)點);數(shù)據(jù)傳輸率較低(缺點)主要適用于長距離、低速率的通信中。并行通信把一個字符各位用幾條線同時進(jìn)行傳輸。 和串行通信相比,并行通信的信息實際傳輸速度快,信息傳輸率高。 遠(yuǎn)距離成本高。2022/8/19頁串行通信 有三種情況:即單工通信方式、半雙工通信方式和全雙工通信方式。 單工和雙工通信方式發(fā)送器接收器單工發(fā)送器/接收器發(fā)送器/接收器半雙工發(fā)送器/接收器發(fā)送器/接收器全雙工2022/8/110頁 同步方式和異步方式 異步通信:每個字符的前面要有一位起始位,起始位后面緊跟的是字符(數(shù)
6、據(jù)字),最后是停止位,兩個字符間的傳輸間隔是任意的。 標(biāo)準(zhǔn)的異步通信數(shù)據(jù)格式 MARK1 1 1 1 1 1第n個字符第 n 個字符第 n+1個字符5 8位數(shù)據(jù)位0起始位校驗位1位終止位1,1.5或2位先送低位2022/8/111頁波特率的概念:單位時間內(nèi)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),以位/秒(b/s)表示,也稱為數(shù)據(jù)位率。它是衡量串行通信速率的重要指標(biāo)。波特率因子的概念:通信時,發(fā)送端和接收端都要用時鐘來測定每1位對應(yīng)的時間長度,它們稱做發(fā)送時鐘和接收時鐘,這兩個時鐘的頻率相等,是信息位傳輸?shù)?6倍、32倍或者64倍。稱為波特率因子。 波特率因子=n波特率一般n取1, 16, 32和64等。對于異
7、步通信,常采用n=162022/8/112頁當(dāng)n=16時,數(shù)據(jù)傳輸監(jiān)測示意圖如下: 能完成上述功能的部件為通用異步收發(fā)器(UARTUniversal Asynchronous Receiver and Transmitter)。 2022/8/113頁 同步通信同步串行通信是以數(shù)據(jù)塊(字符塊)為信息單位傳送,而每幀信息包括成多個字符,傳送一旦開始,要求每幀信息內(nèi)部的每一位都要同步。 同步字符1同步字符2數(shù)據(jù)信息圖9-1-3 同步通信數(shù)據(jù)格式 有關(guān)串行通信的物理標(biāo)準(zhǔn) 字符格式:通信雙方要約好字符的編碼形式、奇偶校驗形式以及起始位和停止位的規(guī)定。2022/8/114頁波特率(Baud rate)
8、:波特率或傳輸率就是指每秒傳輸信息的位數(shù),衡量數(shù)據(jù)傳送速率的指標(biāo)要求發(fā)送端和接收端數(shù)據(jù)傳送速率相同。 例1:每個字符對應(yīng)1個起始位,7個信息位,1個校驗位,1個停止位,波特率為1200位/秒(波特),則每秒傳輸?shù)淖址麛?shù)為:1200/10=120個。每一位的傳送時間Td就是波特率的倒數(shù),如1200波特率,則:Td=1/1200=0.833ms2022/8/115頁答:1)波特率是 (7位數(shù)據(jù)位+1位起始位+1位校驗位+1位停止位)240 =2400b/s2)有效數(shù)據(jù)位傳輸位是 :7240=1680b/s3)傳輸效率是:1680/2400=70%例2:異步傳輸7位ASCII碼,如果需要數(shù)據(jù)傳輸速率
9、為240字符/秒,用1位奇偶校驗位和1位停止位,則:1)波特率應(yīng)該是多少?2)有效數(shù)據(jù)位傳輸位是多少?3)傳輸效率是多少?常用的標(biāo)準(zhǔn)波特率為:110,300,600,1200,1800,2400,4800,9600,19200,。2022/8/116頁3遠(yuǎn)程串行通信 采用模擬載波傳輸方式。如在采用有形介質(zhì)(如電話線)進(jìn)行串行通信時,通信雙方各接入一個專門設(shè)備調(diào)制解調(diào)器,將數(shù)字信號調(diào)制成模擬信號在電話線上傳輸,在接收端將模擬信號解調(diào),還原成數(shù)字信號。 電話線2022/8/117頁8.1.3 接口信號與計算機(jī)交換的信息數(shù)據(jù)信息、狀態(tài)信息和控制信息 。1數(shù)據(jù)信息數(shù)字量 、模擬量 、開關(guān)量 2狀態(tài)信息
10、外設(shè)發(fā)送給計算機(jī),反映外設(shè)工作狀態(tài) 有BUSY和READY3控制信息計算機(jī)發(fā)送給外設(shè),控制外設(shè)的工作隨著外設(shè)的具體工作原理不同而具有不同含義 2022/8/118頁8.2 輸入輸出端口8.2.1 輸入輸出端口的概念數(shù)據(jù)信息、狀態(tài)信息和控制信息都是信息,存放在接口的不同寄存器(端口,Port)中 ,每個端口有端口地址。數(shù)據(jù)端口:存放數(shù)據(jù)信息。輸入端口、輸出端口狀態(tài)端口:存放外設(shè)或接口部件本身的狀態(tài)信息控制端口:存放CPU發(fā)往接口的控制信息,以控制接口和外部設(shè)備工作2022/8/119頁輸入設(shè)備具備數(shù)據(jù)輸入端口,狀態(tài)端口,控制端口輸出設(shè)備具備數(shù)據(jù)輸出端口,狀態(tài)端口,控制端口輸入輸出設(shè)備具備數(shù)據(jù)輸入
11、和輸出端口,狀態(tài)端口,控制端口典型的外設(shè)接口:I/O接口控制端口狀態(tài)端口數(shù)據(jù)輸出端口數(shù)據(jù)輸入端口CPU外部輸入設(shè)備或輸出設(shè)備DB控制信息狀態(tài)信息數(shù)據(jù)信息CBABABCB2022/8/120頁8.2.2 輸入輸出端口編址方式對外設(shè)的訪問實質(zhì)上是對端口的訪問外設(shè)I/O端口的地址安排I/O端口獨立編址I/O端口與存儲器統(tǒng)一編址獨立編址的I/O端口,用I/O指令操作I/O端口與存儲器統(tǒng)一編址,用通用數(shù)據(jù)傳送等指令操作2022/8/121頁存儲器的地址空間為2n字節(jié),地址范圍為02n-1;若I/O尋址為16位,則I/O端口地址空間為216=65536字節(jié),地址范圍為065535存儲器訪問和I/O端口訪問
12、不會發(fā)生沖突存儲器的讀、寫操作由MEMR和MEMW信號控制1I/O端口獨立編址方式(I/O指令尋址)端口的讀、寫操作由IOR和IOW信號控制,用IN指令和OUT指令操作 兩個獨立的地址空間,地址空間重疊2022/8/122頁地址空間的分配接口與存儲器空間相互獨立2022/8/123頁I/O端口獨立編址方式的優(yōu)點 端口地址碼短,譯碼電路簡單,指令執(zhí)行速度快存儲器與端口操作指令不同,程序清晰,便于理解存儲器地址和端口地址獨立,端口地址空間不占用存儲器地址空間存儲器和端口的控制結(jié)構(gòu)相互獨立,可分別設(shè)計,且利于系統(tǒng)擴(kuò)展I/O端口獨立編址方式的缺點 需要專門的I/O指令,且只有IN和OUT兩類指令只能對
13、I/O端口進(jìn)行輸入和輸出操作,不能進(jìn)行其它運算處理所以程序設(shè)計的靈活性較差2022/8/124頁2I/O端口與存儲器統(tǒng)一編址(存儲器映像編址)端口被看作存儲器單元,分配給一個地址存儲器和I/O端口共用一個地址空間,兩者的地址是連續(xù)的,大小總共為2n字節(jié)CPU把I/O端口當(dāng)作存儲單元一樣進(jìn)行訪問,不再需要專門的I/O指令對I/O端口操作,可使用所有的存儲器指令2022/8/125頁地址空間的分配接口與存儲器空間合而為一2022/8/126頁I/O端口與存儲器統(tǒng)一編址的優(yōu)點 所有指令都可用于I/O端口從而編程靈活,操作方便I/O端口與存儲器統(tǒng)一編址的缺點 端口地址占用了存儲器地址,使得存儲器的地址
14、空間相對減少受地址空間的限制,不利于系統(tǒng)擴(kuò)展 由于地址位數(shù)長,指令碼相對增長,使得指令執(zhí)行速度較慢2022/8/127頁8.2.3 輸入輸出端口的地址譯碼通過CPU給出的地址信號選定一個端口可附加控制信號參與地址譯碼按照譯碼電路采用的元器件的不同,分為門電路譯碼與專用譯碼器譯碼 據(jù)使用的地址信號多少,分為全譯碼方式和部分譯碼方式2022/8/128頁全 譯 碼:全部地址信號參與譯碼部分譯碼:部分地址信號參與譯碼部分譯碼方式多個地址對應(yīng)一個端口,因為未參與譯碼的地址線的信號可以為任意值當(dāng)系統(tǒng)中端口較多時,為避免地址的沖突,采用全部地址譯碼當(dāng)系統(tǒng)中端口較少,為減少譯碼電路的復(fù)雜性,可采用部分地址譯
15、碼 2022/8/129頁1門電路譯碼如圖示:I/O端口獨立編址時的譯碼電路,對A0A9地址信號進(jìn)行譯碼,信號為1101001110B,即34EH。當(dāng)接口電路中需要端口較少時采用此方式此為部分地址譯碼(由于A10A15信號任意,則34EH、74EH、B4EH等都有效)2022/8/130頁2譯碼器譯碼A15A3的地址組合為0000001110000時選中74LS138當(dāng)接口電路中需多個端口地址時,采用專用譯碼器譯碼。2022/8/131頁8.3 輸入輸出的數(shù)據(jù)傳送方式計算機(jī)與I/O接口間的數(shù)據(jù)傳送即數(shù)據(jù)交換。數(shù)據(jù)傳送的控制方式 程序直接控制傳送方式、中斷方式、DMA方式和I/O處理機(jī)方式8.3
16、.1 程序直接控制傳送方式定義:是指在程序控制下進(jìn)行的數(shù)據(jù)傳送,通常是在用戶程序中安排一段由I/O指令和其它指令組成的程序段,直接控制I/O接口的輸入/輸出操作。又分為無條件傳送方式和程序查詢傳送方式2022/8/132頁1無條件傳送方式又稱同步傳送方式。傳送時無需查詢外設(shè)的狀態(tài),而直接使用I/O指令進(jìn)行數(shù)據(jù)傳送。外設(shè)的狀態(tài)固定、事先已知其狀態(tài),不需進(jìn)行查詢判斷,直接利用I/O指令進(jìn)行數(shù)據(jù)的傳送優(yōu)點硬件、軟件開銷小只需等待一段時間后進(jìn)行輸入/輸出即可使用場合 用于對一些簡單外設(shè)的操作,如讀取開關(guān)狀態(tài)、驅(qū)動七段數(shù)碼管顯示硬件不需要狀態(tài)端口和控制端口軟件2022/8/133頁無條件傳送的接口電路:
17、 接發(fā)光二極管接開關(guān)地址300H地址301H則輸入/輸出程序段為:CONTR: MOV DX,301H;輸入端口地址送入DX IN AL,DX;讀取開關(guān)狀態(tài) MOV DX,300H;輸出端口地址送入DX OUT DX,AL;控制發(fā)光二極管亮滅2022/8/134頁采用無條件傳送的數(shù)據(jù)采集系統(tǒng)八選一模擬開關(guān)A/D轉(zhuǎn)換器通道選擇轉(zhuǎn)換為數(shù)字讀取2022/8/135頁2程序查詢傳送方式又稱為條件傳送,或異步傳送I/O操作前,不斷讀取并測試外設(shè)的狀態(tài)。就緒,則交換信息,否則繼續(xù)查詢等待,直到就緒。接口電路中應(yīng)具有數(shù)據(jù)端口和狀態(tài)端口傳送過程讀取狀態(tài)字測試狀態(tài)字的相應(yīng)位是否滿足“就緒”條件,如果不滿足,則回
18、到前一步繼續(xù)讀取狀態(tài)字如果狀態(tài)字表明外設(shè)已經(jīng)處于“就緒”狀態(tài),則傳送數(shù)據(jù) 程序查詢傳送有查詢輸入和查詢輸出。2022/8/136頁查詢式輸入工作過程為:外設(shè)發(fā)選通信號,將外設(shè)的數(shù)據(jù)打入鎖存器;另使D觸發(fā)器輸出1,送狀態(tài)緩沖器; 讀取狀態(tài)緩沖器; 準(zhǔn)備好則讀取數(shù)據(jù)緩沖器 程序查詢輸入接口電路 查詢式輸入流程查詢輸入部分的程序為:INDATA:INAL,STATUS_PORT;從狀態(tài)端口讀入狀態(tài)TEST AL,01H;測試是否“準(zhǔn)備好”JZ INDATA;否,轉(zhuǎn)INDATA循環(huán)測試INAL,DATA_PORT;是,從數(shù)據(jù)端口讀取數(shù)據(jù)復(fù)位狀態(tài)狀態(tài)數(shù)據(jù)2022/8/137頁查詢式輸出工作過程:外設(shè)空閑
19、,發(fā)ACK復(fù)位D觸發(fā)器作為外設(shè)狀態(tài);CPU讀取外設(shè)狀態(tài);若外設(shè)空閑,則送出數(shù)據(jù),并置位D觸發(fā)器;讀狀態(tài)送數(shù)據(jù)置位2022/8/138頁OUTDATA:IN AL,STATUS_PORT;讀入狀態(tài) TESTAL,80H;測試是否”忙” JNZOUTDATA;是,轉(zhuǎn)OUTDATA循環(huán)測試 MOVAL,STORE;否,從緩沖區(qū)取數(shù)據(jù) OUTDATA_PORT,AL;輸出到數(shù)據(jù)端口查詢輸出部分的程序為:2022/8/139頁采用查詢方式的數(shù)據(jù)采集系統(tǒng)圖示電路為采用查詢方式進(jìn)行八路模擬量輸入的數(shù)據(jù)采集系統(tǒng)。2022/8/140頁8.3.2 中斷傳送方式程序直接控制數(shù)據(jù)傳送方式的優(yōu)點是電路簡單、軟件簡練且
20、清晰,但效率低。利用中斷實現(xiàn)CPU和外設(shè)間的數(shù)據(jù)傳送中斷傳送方式。在外設(shè)就緒時暫停執(zhí)行主程序在一定程度上實現(xiàn)了CPU和外設(shè)的并行工作在一定程度上也實現(xiàn)了外設(shè)與外設(shè)間的并行工作2022/8/141頁為了實現(xiàn)中斷傳送,計算機(jī)系統(tǒng)應(yīng)提供相應(yīng)的軟件和硬件方面的支持。在軟件方面,要編制中斷申請對應(yīng)的中斷處理(服務(wù))程序模塊并裝入內(nèi)存,再將各模塊的首地址寫入中斷向量表。在硬件方面,設(shè)置CPU使其能夠響應(yīng)中斷,設(shè)置中斷接口與中斷控制。有關(guān)中斷的詳細(xì)內(nèi)容見第8章中斷系統(tǒng)。 2022/8/142頁8.3.3 DMA(直接存儲器存?。┓绞?中斷傳送方式需要保護(hù)斷點、標(biāo)志和保護(hù)現(xiàn)場等操作,存在著CPU運算資源得不到
21、充分利用的問題。對于高速外設(shè),中斷傳送方式甚至不能滿足數(shù)據(jù)傳送的要求。為此提出了在外設(shè)和內(nèi)部存儲器之間直接傳送數(shù)據(jù)的方式,即DMA方式(Direct Memory Access)。DMA方式傳送數(shù)據(jù)直接在外設(shè)與內(nèi)部存儲器之間進(jìn)行,即開辟了一條數(shù)據(jù)傳送通道,傳送期間不需CPU干預(yù)也不需要軟件介入,數(shù)據(jù)傳送的速度的上限就取決于存儲器的工作速度。DMA控制器(DMAC-Direct Memory Access Controller)實施DMA傳送控制2022/8/143頁CPU存儲器高速設(shè)備DMAC總線DMA控制器作為系統(tǒng)的核心,具有兩個特性:總線從屬性和總線主控性??偩€從屬性 DMAC如同普通的I
22、/O接口芯片,可由CPU通過對其端口進(jìn)行讀寫,設(shè)置DMAC的工作方式總線主控性 DMAC作為DMA系統(tǒng)的核心器件,在DMA傳輸中其表現(xiàn)如同CPU一樣,可掌管總線控制權(quán) 2022/8/144頁1. DMA控制器的功能通常地址總線、數(shù)據(jù)總線和一些控制信號線由CPU管理。在DMA傳送時,DMA控制器接管這些總線。控制數(shù)據(jù)的傳送、判斷DMA傳送是否結(jié)束以及發(fā)出DMA結(jié)束等信號。所以DMA控制器必須具備以下功能DMAC能夠向CPU發(fā)出總線請求信號HOLD DMAC接管對總線的控制,進(jìn)入DMA方式2022/8/145頁在DMA傳送期間,能發(fā)出讀、寫等控制信號能決定傳送的字節(jié)數(shù),以及判斷DMA傳送是否結(jié)束在
23、DMA傳送結(jié)束,向CPU發(fā)出DMA結(jié)束信號,將總線控制權(quán)交還給CPU,使CPU恢復(fù)正常工作狀態(tài)DMAC能發(fā)出地址信號,對存儲器、外設(shè)進(jìn)行尋址;在完成一次傳送后修改地址指針,以便傳送下一數(shù)據(jù)2022/8/146頁2. DMA接口DMA系統(tǒng)框圖為:2022/8/147頁關(guān)鍵是如何識別合適的、可挪用的周期,以避免與CPU的操作發(fā)生沖突(即同時使用總線)。就是利用CPU不訪問存儲器的那些周期“挪用”過來實現(xiàn)DMA操作,此時,DMA控制器可以使用總線而不用通知CPU也不會影響CPU的工作,這種方法稱為“周期挪用”。3. DMA操作的基本方法周期挪用、周期擴(kuò)展和CPU停機(jī)方式三種周期挪用方式周期挪用方式不
24、影響CPU的操作,也不減慢CPU的速度,但可能需要復(fù)雜的時序電路來判斷可以挪用的周期,并且數(shù)據(jù)的傳送是不連續(xù)的、不規(guī)則的,所以使用的不普遍。2022/8/148頁周期擴(kuò)展方式周期擴(kuò)展方式需使用專門的時鐘發(fā)生器/驅(qū)動器電路當(dāng)需要進(jìn)行DMA傳送時,由DMA控制器發(fā)出請求信號給時鐘電路,于是時鐘電路把提供給CPU的周期加寬,而提供給存儲器和DMA控制器的時鐘周期不變。這樣,CPU在加寬的時鐘周期內(nèi)仍按正常的時鐘周期繼續(xù)操作,而加寬的時鐘周期卻相當(dāng)于若干個正常的時鐘周期,可用來進(jìn)行DMA操作。這種操作方法使得CPU的處理速度降低,且CPU時鐘周期的加寬是有限制的。因此,用這種方法進(jìn)行DMA傳送,一次只
25、能傳送一個字節(jié)。2022/8/149頁CPU停機(jī)方式該方式是最常用也是最簡單的DMA傳送方式。當(dāng)DMAC要進(jìn)行DMA傳送時,DMAC向CPU發(fā)出DMA請求信號,迫使CPU在現(xiàn)行機(jī)器周期結(jié)束后,讓出總線控制權(quán),使三總線對CPU處于高阻狀態(tài),并給出DMA響應(yīng)信號,DMAC接到響應(yīng)信號后,就接管總線的控制權(quán),進(jìn)行數(shù)據(jù)傳送的控制操作,至DMA操作完成,DMAC撤消DMA請求信號,CPU再恢復(fù)對總線的控制權(quán),繼續(xù)執(zhí)行被打斷的程序。2022/8/150頁DMAC保持DMA請求信號的時間決定了CPU讓出總線控制權(quán)的時間,所以可以進(jìn)行字節(jié)傳送或數(shù)據(jù)塊的傳送采用CPU停機(jī)方式進(jìn)行DMA傳送期間,CPU一直處于空
26、閑狀態(tài),而不能進(jìn)行任何操作,包括響應(yīng)中斷及動態(tài)存儲器的刷新都不能正常進(jìn)行,所以該方式降低了CPU的利用率,并且在使用時要考慮DMA控制器控制總線使用權(quán)的時間。2022/8/151頁4. DMA數(shù)據(jù)傳送方式三種方式:單字節(jié)傳送方式、成組(塊)傳送方式和請求傳送方式。單字節(jié)傳送方式每次DMA請求只傳送一個字節(jié)的數(shù)據(jù),傳送結(jié)束后把總線控制權(quán)歸還CPU接管。以后CPU又測試DMA請求信號是否有效,若有效則再次進(jìn)入DMA周期。注意:在DMA響應(yīng)信號有效前,DMA請求信號必須一直保持有效;既使連續(xù)請求DMA操作,在兩個字節(jié)傳送之間DMA控制器也必須釋放總線控制權(quán),中間至少有一個總線周期是讓CPU使用的。2
27、022/8/152頁成組(塊)傳送方式每次DMA請求傳送一組信息,不停頓地傳送直到規(guī)定長度的字節(jié)傳送完后,DMA控制器才撤消請求信號釋放總線控制權(quán)。既使把DMA請求信號撤除,也能保證連續(xù)傳送。結(jié)束信號只能由DMAC中的計數(shù)器產(chǎn)生。在DMA傳送中,為了使源和目的間的數(shù)據(jù)傳送取得同步,不同的DMA控制器在操作時都受到外設(shè)請求信號或準(zhǔn)備就緒信號的限制。2022/8/153頁請求方式成組傳送又稱查詢傳送方式,類似于成組傳送方式。每傳送一個字節(jié)后,DMA控制器都檢測DMA響應(yīng)信號是否有效,若無效,則掛起,但并不釋放總線;若有效,則繼續(xù)DMA傳送,直到一組信息傳送結(jié)束或外加信號強(qiáng)制DMA控制器終止操作。2
28、022/8/154頁5. DMA控制傳送過程三個階段:傳送前的初始化、數(shù)據(jù)傳送和傳送后處理。DMAC的初始化工作前,完成必要的準(zhǔn)備工作,向DMAC有關(guān)寄存器預(yù)置初態(tài),包括:數(shù)據(jù)傳送方向,即指定I/O設(shè)備對存儲器“讀”還是“寫”。通過指定控制/狀態(tài)寄存器中相應(yīng)控制位的值來實現(xiàn);數(shù)據(jù)來源于何處及傳送到何處,即需要傳送的數(shù)據(jù)塊在主存和在I/O設(shè)備的首地址;指定需要傳送數(shù)據(jù)的字節(jié)數(shù),即指定計數(shù)寄存器的初值。 預(yù)置工作完成后,就將外設(shè)與主存之間數(shù)據(jù)傳送的控制權(quán)交給了DMA控制器,即啟動了DMA數(shù)據(jù)傳送操作方式,CPU仍繼續(xù)執(zhí)行原來的程序2022/8/155頁DMA數(shù)據(jù)傳送在外設(shè)準(zhǔn)備好發(fā)送的數(shù)據(jù)(輸入)或
29、接收的數(shù)據(jù)已處理完畢(輸出),外設(shè)向DMA控制器發(fā)DMA請求,再由DMA控制器向CPU發(fā)總線請求信號(HOLD)。當(dāng)CPU允許進(jìn)行DMA傳送時(發(fā)回HLDA),便開始了一次DMA傳送。2022/8/156頁DMA請求觸發(fā)器向控制/狀態(tài)邏輯發(fā)出準(zhǔn)備就緒信號,再由控制/狀態(tài)邏輯向CPU發(fā)HOLD信號,申請進(jìn)行一次DMA傳輸;以成組輸入為例說明傳送過程:外設(shè)準(zhǔn)備好一個數(shù)據(jù)后,發(fā)出選通脈沖,使輸入數(shù)據(jù)送入緩沖寄存器,并使DMA請求觸發(fā)器置“1”;CPU在完成現(xiàn)行周期后,立即響應(yīng)DMA請求,向DMA控制器發(fā)HLDA信號,并由控制/狀態(tài)邏輯使DMA請求觸發(fā)器復(fù)位,此時CPU懸空其總線,使總線處于高阻狀態(tài),
30、DMAC接管系統(tǒng)總線控制權(quán);2022/8/157頁DMAC控制系統(tǒng)總線,發(fā)存儲器地址,并將數(shù)據(jù)緩沖寄存器的數(shù)據(jù)送到數(shù)據(jù)總線上,隨后在其讀/寫信號線上發(fā)讀命令;數(shù)據(jù)通過數(shù)據(jù)總線直接在I/O設(shè)備與存儲器之間傳送;每傳送一個字,DMAC的地址寄存器加1,從而得到下一個地址,字計數(shù)器減1,如此循環(huán),直到字計數(shù)器值為0,DMA傳送完畢。2022/8/158頁DMA傳送完畢時,可利字節(jié)計數(shù)器為0信號,由DMA控制器向CPU發(fā)中斷請求,即本次DMA的結(jié)束中斷,主機(jī)響應(yīng)后,通過服務(wù)程序?qū)MA傳送進(jìn)行結(jié)束處理。DMA結(jié)束處理2022/8/159頁綜上所述,進(jìn)行一次數(shù)據(jù)傳送,CPU進(jìn)行兩次干預(yù)第一次是初始化,預(yù)
31、置數(shù)據(jù)傳輸所必需的信息。第二次是進(jìn)行中斷后處理??梢姡捎肈MA方式傳送數(shù)據(jù),仍要調(diào)用程序、存在著程序中斷,因而DMA接口還包括程序中斷部件隨著大規(guī)模集成電路技術(shù)的發(fā)展,DMA傳送已經(jīng)不再局限于存儲器和外設(shè)間的信息交換,可以擴(kuò)展為存儲器的兩個區(qū)域之間、兩種高速外設(shè)之間的直接傳送。2022/8/160頁8.3.4 I/O處理機(jī)方式在DMA方式中,DMAC只能實現(xiàn)對數(shù)據(jù)輸入/輸出傳送的控制,而對輸入/輸出設(shè)備的管理和其它操作,如信息的變換、裝配、拆卸和數(shù)碼校驗等功能操作仍然需要由CPU來完成另外,DMA傳送不管采用單字節(jié)方式、成組方式或CPU停機(jī)方式,同樣存在著占用CPU時間的問題。為了使CPU完
32、全脫離管理和控制輸入/輸出的負(fù)擔(dān),引入專門的設(shè)備控制數(shù)據(jù)傳送,即I/O處理機(jī)(Input Output Processor,簡稱IOP),提出了數(shù)據(jù)傳送的I/O處理機(jī)方式。2022/8/161頁 8255A可編程并行輸入/輸出接口是Intel公司微處理器擴(kuò)展系統(tǒng)所用的標(biāo)準(zhǔn)外圍接口電路。它采用NMOS工藝制造,用單一+5V電源供電,具有40條引腳,采用雙列直插式封裝。8.4 可編程并行通信接口8255A 在主機(jī)側(cè),能夠方便地與各種微機(jī)系統(tǒng)相配;在設(shè)備側(cè),用8255A連接外部設(shè)備時,通常不需要再附加其它電路,給用戶使用帶來很大方便。 2022/8/162頁8.4.1 8255A的內(nèi)部結(jié)構(gòu) 2022
33、/8/163頁1. 8255具有2個獨立的8位I/O口(A口和B口)和2個獨立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。輸入時提供三態(tài)緩沖器功能,輸出時提供數(shù)據(jù)鎖存功能。其中,A口具有雙向傳輸功能。2. 8255有3種工作方式,方式0、方式1和方式2,能使用多種數(shù)據(jù)傳送方式完成CPU與I/O設(shè)備之間的數(shù)據(jù)交換,如無條件方式、查詢方式和中斷方式。 3. B口和C口的引腳具有復(fù)合晶體管驅(qū)動能力,在1.5V時輸出1mA電流,適于作輸出端口。4. C口除用做數(shù)據(jù)口外,當(dāng)8255工作在方式1和方式2時,C口的部分引腳作為固定的聯(lián)絡(luò)信號線。 2022/8/164頁 5.讀/寫控制邏
34、輯:讀/寫控制邏輯負(fù)責(zé)接收CPU的命令信號,管理8255A的數(shù)據(jù)傳輸過程。它接收以及來自系統(tǒng)地址總線的A1、A0和控制總線的RESET、RD、WR信號。6數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器是8位雙向三態(tài)數(shù)據(jù)緩沖器,8255A通過數(shù)據(jù)總線緩沖器與系統(tǒng)相連。 8.4.2 8255A的芯片引腳信號 2022/8/165頁1與外設(shè)相連的信號PA7PA0:A口數(shù)據(jù)線;PB7PB0:B口數(shù)據(jù)線;PC7PC0:C口數(shù)據(jù)線.2與主機(jī)相連的信號 Reset:復(fù)位信號,高電平有效。當(dāng)Reset=1時,8255A內(nèi)部寄存器都被清零。 D7D0:數(shù)據(jù)線。通常和系統(tǒng)的數(shù)據(jù)總線低8位相連。 CS:片選信號,低電平有效。有效時
35、允許8255A和CPU交換信息,一般情況由系統(tǒng)地址總線的某些位通過譯碼器產(chǎn)生信號。 在不同工作方式下可兼作控制聯(lián)絡(luò)線2022/8/166頁 RD:讀信號,低電平有效。當(dāng)有效時,CPU可以從8255A中讀取數(shù)據(jù)或狀態(tài)字。 WR:寫信號,低電平有效。當(dāng)有效時,CPU可以向8255A中寫入數(shù)據(jù)或控制字。和信號通常接系統(tǒng)中的讀/寫信號。 A1、A0:端口選擇信號。在8255A內(nèi)部有3個數(shù)據(jù)端口和1個控制端口。當(dāng)8255A的A1、A0為00時,選中端口A,為01時,選中端口B,為10時,選中端口C,為11時,選中控制端口。2022/8/167頁表8255的端口與操作選擇表 A1A0RDWRCS操作 0
36、0 1010000111000A口內(nèi)容讀至數(shù)據(jù)總線B口內(nèi)容讀至數(shù)據(jù)總線C口內(nèi)容讀至數(shù)據(jù)總線輸入00110101 1 1 1 100000000數(shù)據(jù)總線內(nèi)容寫至A口數(shù)據(jù)總線內(nèi)容寫至B口數(shù)據(jù)總線內(nèi)容寫至C口DB內(nèi)容寫至控制寄存器輸出X1XX1XX01X11100端口輸出為高阻非法端口輸出為高阻禁止2022/8/168頁8.4.3 8255A的控制字 通過指令向8255A的控制端口寫控制字來決定各端口的工作方式。8255A有兩種控制字:方式選擇控制字和按位置位/復(fù)位控制字。 1.方式選擇控制字:用來規(guī)定端口A、端口B和端口C的工作方式,其控制字的特征是:D7=1。8255A有三種基本工作方式 。 基
37、本輸入/輸出方式方式0,適用于端口A、端口B和端口C; 選通輸入/輸出方式方式1,適用于端口A和端口B; 雙向方式方式2,只適用于端口A。 2022/8/169頁方式選擇控制字格式 1 D7 D6 D5 D4 D3 D2 D1 D0A口1:輸入0:輸出B口1:輸入0:輸出A組控制B組控制A組方式選擇00:方式001:方式11X:方式2方式字標(biāo)志C口高4位PC7PC41:輸入0:輸出C口低4位PC3PC01:輸入0:輸出B組方式選擇0:方式01:方式12022/8/170頁例如,若使端口A工作于方式0,輸出;端口B工作于方式1,輸入;端口C的高4位工作于方式0,輸出。則方式選擇控制字為:1000
38、0110B。 1 0 0 0 0 1 1 0 D7 D6 D5 D4 D3 D2 D1 D0A口0:輸出 B口1:輸入A組方式選擇00:方式0方式字標(biāo)志C口高4位PC7PC40:輸出C口低4位PC3PC0配合B口工作B組方式選擇1:方式12022/8/171頁2.端口C的置位/復(fù)位控制字:C口可用來作為位控方式使用,這時用置位/復(fù)位控制字單獨設(shè)置C口各位。該控制字的特征是:D7=0。 0 D7 D6 D5 D4 D3 D2 D1 D0無用 端口C置位/復(fù)位標(biāo)志置位/復(fù)位1:置位0:復(fù)位位選擇000: PC0001 :PC1010 :PC2011 :PC3100 :PC4101 :PC5110
39、:PC6111 :PC7 2022/8/172頁【例8.2】 端口C的PC7要求置1,PC3要求清0,分析置1/置0控制字并為其編制程序段。設(shè)8255A的控制口地址為00EEH。 分析:PC7置1,則控制字為00001111B,即0FH;PC3清0,則控制字為00000110B,即06H,下面的程序段可以實現(xiàn)上述要求。MOV AL,0FH;對PC7置1的控制字MOV DX,00EEH;控制口地址送DXOUT DX,AL ;對PC7置1操作MOV AL,06H ;對PC3置0的控制字OUT DX,AL ;對PC3操作 2022/8/173頁1方式0 方式0提供兩個8位口(A和B)和兩個4位口(P
40、C7PC4,PC3PC0),任何一個口都可用做輸入或輸出,由CPU用簡單的I/O指令來進(jìn)行讀/寫。 8.4.4 8255的工作方式有三種工作方式 一般用于無條件傳送的場合,也可以用做查詢式傳送。 習(xí)慣上將A口和B口作為數(shù)據(jù)口,將C口作為控制輸出和狀態(tài)輸入口。 2022/8/174頁8255A方式0輸入時序2022/8/175頁8255A方式0輸出時序脈沖寬度tRRtRA端口輸入數(shù)據(jù)CS,A1,A0tHRtLRtARRDD7D0tDFtRD2022/8/176頁2.方式1選通輸入/輸出工作方式 當(dāng)A口工作在方式1的輸入/輸出時,端口C的PC7、PC6、PC3或PC5、PC4、PC3配合口A工作;
41、 當(dāng)B口工作在方式1的輸入/輸出時,端口C的PC2、PC1、PC0配合口B工作。 方式1輸入2022/8/177頁各控制信號說明如下: STB(Strobl):選通信號輸入端,低電平有效。當(dāng)有效時,8255A接收外設(shè)送來的8位數(shù)據(jù),外設(shè)將數(shù)據(jù)打入8255A輸入緩沖器。IBF(Input Buffer Full):緩沖器滿輸出信號,是輸出的狀態(tài)信號,高電平有效。有效時,表示當(dāng)前已有一個新的數(shù)據(jù)在輸入緩沖器中,一般供CPU查詢。 INTR(Interrupt Request):中斷請求信號,高電平有效。向CPU的信號,IBF有效時向CPU發(fā)請求信號,表示選通信號結(jié)束、從而外設(shè)已將一個數(shù)據(jù)送進(jìn)輸入緩
42、沖器中;在CPU讀取輸入緩沖器中的數(shù)據(jù)時,由讀信號的下降沿將INTR清除為低電平。2022/8/178頁8255A工作在方式1輸入的時序圖 IBFINTRRD端口數(shù)據(jù)輸入數(shù)據(jù)輸入外設(shè) 8255A8255A CPUSTB INTE為中斷允許位,對應(yīng)PC口的D6位(INTEA)和D2位 (INTEB) ,可通過對PC口按位寫方法設(shè)置;2022/8/179頁 方式1輸出 當(dāng)A口工作在方式1并作為輸出端口時,端口C的PC7作為“輸出緩沖器滿信號”,PC6作為外設(shè)“接收數(shù)據(jù)后的響應(yīng)”信號,PC3作為“中斷請求信號”INTRA; 當(dāng)B口工作在方式1并作為輸出端口時,端口C的PC1作為“輸出緩沖器滿信號”,
43、PC2作為外設(shè)接收數(shù)據(jù)后的響應(yīng)”信號,PC0作為“中斷請求信號”INTRB。 INTR端口數(shù)據(jù)輸出數(shù)據(jù)輸出CPU 8255A8255A 外設(shè)數(shù)據(jù)有效WROBFACK方式1輸出的時序圖 2022/8/180頁3.方式2雙向傳輸方式 方式2只能用于端口A,在方式2下,CPU既可以從A口讀數(shù)據(jù),又可以向A口寫數(shù)據(jù),此時端口C的5條引線配合端口A提供聯(lián)絡(luò)信號。 PA7-0INTE1PC7PC6PC2PC3I/OINTRAOBFA&I/OPC4PC5INTE21&(b) 方式2時各控制信號的意義STBAIBFAASKA PC3 PC7引腳與之配合; PC0、1、2可作為數(shù)據(jù)線使用。 中斷條件:STB=1
44、(無效),IBF=1、INTE=1;2022/8/181頁8.4.5 8255A的應(yīng)用舉例 +5VD0D7PA0A0 PA1A1 PA2PA3CS PA4PA5PA6PA7 RD PB3WR PB2 PB1PB0RESET8255AA0A1A2A15譯碼器11鎖存器AD0AD7A8A15A16/S3A19/S6ALERDM/IOWRRESETCPU【例8.3】B口4個開關(guān)用來輸入4位二進(jìn)制數(shù),A口接的是8段顯示器,要求根據(jù)8255A的B口輸入的二進(jìn)制情況,將其從A口輸出。地址是0FFF8H、0FFFAH 2022/8/182頁分析: A口:基本輸出方式,B口:基本輸入方式,方式控制字為82H。
45、循環(huán)讀取B口數(shù)據(jù),然后到字段表中取段碼,最后送到A口顯示。程序如下: MOVAL,82H MOVDX,0FFFEH;設(shè)置方式控制字 OUT DX,ALL:MOV DL,0FAH IN AL,DX ;讀B口開關(guān)數(shù)據(jù) AND AL,0FH ;屏蔽高4位 MOV BX,OFFSET BUFFER XLAT ;取段碼 MOV DL,0F8H;A口 OUT DX,AL ;輸出段碼顯示 JMP L HLT2022/8/183頁【例8.4】8255A作為連接打印機(jī)的接口,工作于方式0,連接如圖9-2-15所示。 打印機(jī)數(shù)據(jù)線BUSYSTRD0HD6HA0A1CS8255APC總線A0A1IORRDWRIOW
46、PA0PA7PC6PC2A2A9D0D7D0D7數(shù)據(jù)線片選譯碼2022/8/184頁具體查詢程序段如下: PP: MOV AL,81H OUT 0D6H,AL MOV AL,0CH OUT 0D6H,ALLSPT:IN AL,0D4H AND AL,04H JNZ LSPT MOV AL,DATASI OUT 0D0H,AL MOV AL,0DH OUT 0D6H,AL DEC AL OUT 0D6H,AL 控制字,三個口工作于方式0,A口出,PC3PC0入,PC7PC4為輸出方式。用置1/置0方式使PC6為0,即使STB為高電平測試D2位,如不為0,說明忙信號為1,即打印機(jī)處于忙狀態(tài),故循環(huán)
47、測試如不忙,把一字符送端口A,2022/8/185頁【例8.5】使8255A工作于方式1,作為用中斷方式工作的打印機(jī)的接口,電路如下。 設(shè)8255A的端口地址為:A端口:00C0H B端口: 00C2H C端口:00C4H 控制端口:00C6H。 8086D7D0D7D08255APC0PC6打印機(jī)ACKNLGPA7-PA0ACK接8259A的IR31PC32022/8/186頁【分析】8255A的A口作為數(shù)據(jù)通道,工作在方式1,輸出,此時PC6作為ACK信號輸入端,PC3自動作為INTR信號輸出端,PC7作為OBF信號輸出端。 打印機(jī)需要一個數(shù)據(jù)選通信號,故由CPU控制PC0來產(chǎn)生選通脈沖。
48、ACK接打印機(jī)的ACKNLG端;PC3連到8259A中斷管理器的中斷請求信號輸入端IR3,中斷類型號為0BH,中斷向量放在主存的00H段2CH,2DH,2EH,2FH這4個單元中。 對8255A初始化(設(shè)置控制字)程序段:MAIN:MOV AL,0A0H;控制字,A口方式1,輸出,PC3PC0為輸出。OUT 0C6H,AL2022/8/187頁MOV AL,01H ;置1/0方式使PC0=1,OUT 0C6H,AL ;即讓選通無效MOV DX,OFFSET ROUTINTRMOV AX,SEG ROUTINTR ;取中斷服務(wù)程序的偏移地址和段地址MOV DS,AXMOV AL,0BH ;選中斷
49、向量0BHINT 21H ;設(shè)置中斷向量MOV AL,0DH ;使PC6為1,允許8255A中斷OUT 0C6H,ALSTI ;開放中斷向量2022/8/188頁中斷處理子程序的主要程序段如下:ROUTINTR:MOV AL,DI ;打印字符緩沖區(qū) OUT 0C0H,AL ;將打印字符送口A口 MOV AL,00H OUT 0C6H,AL; INC AL OUT 0C6H,AL INC DI ;后續(xù)處理 IRET ;中斷返回用置1/置0方式使PC0為0用置1/置0方式使PC0為1,2022/8/189頁8.5 計數(shù)器定時器 1概述 定時信號的產(chǎn)生可用軟件和硬件兩種方法獲得。 軟件方法:用延時子
50、程序。一般是由循環(huán)程序并且包含一定量的指令完成的,設(shè)計者需要對這些指令的執(zhí)行時間進(jìn)行嚴(yán)格計算或精確測試,以便得到精確的延時時間,軟件方法節(jié)省硬件,但是CPU執(zhí)行延時子程序期間,不能做其它事,降低了CPU的效率,且不容易提供多作業(yè)環(huán)境。 硬件方法:用計數(shù)器/定時器來實現(xiàn)定時。即是一種靠硬件來實現(xiàn)的定時方法。本節(jié)主要介紹當(dāng)前廣泛應(yīng)用的可編程計數(shù)器/定時器Intel8253的原理和使用方法。 8.5.1 計數(shù)器定時器概述 2022/8/190頁2計數(shù)器/定時器的工作原理可編程計數(shù)器/定時器的功能體現(xiàn)為:一是計數(shù)功能,由程序?qū)τ嫈?shù)器設(shè)置好計數(shù)初值,啟動后便對外部事件開始減“1”計數(shù),減為“0”時,輸出
51、一個信號;二是定時功能:也是由程序設(shè)置好定時常數(shù)后進(jìn)行減“1”計數(shù),按定時常數(shù),不斷輸出為時鐘周期整數(shù)倍的定時間隔。計數(shù)器/定時器有以下用途: 在多任務(wù)的分時系統(tǒng)中,用來作為中斷信號實現(xiàn)程序的切換; 可以給外部設(shè)備提供精確的定時信號; 作為可編程的波特率發(fā)生器; 實現(xiàn)時間延時。 2022/8/191頁8.5.2 可編程計數(shù)器/定時器8253 18253的結(jié)構(gòu)和工作原理 邏輯結(jié)構(gòu):Intel 8253的邏輯結(jié)構(gòu)即編程結(jié)構(gòu)如圖(a)所示,引腳如圖(b)所示。8253是24腳封裝。D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND8253的引腳圖82531234567891011122
52、42322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1GATE1OUT1CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28253的編程結(jié)構(gòu)數(shù)據(jù)總線緩沖器讀/寫邏輯控制寄存器計數(shù)器0計數(shù)器1計數(shù)器2D7-D0A0A1RDWRCS2022/8/192頁 8253的工作原理 邏輯結(jié)構(gòu):8253內(nèi)部有3個計數(shù)器,分別稱為計數(shù)器0、計數(shù)器1和計數(shù)器2,它們的結(jié)構(gòu)完全相同。 每個計數(shù)器通過3個引腳和外部聯(lián)系:一個時鐘輸入端CLK、一個門控信號輸入端GATE和一個輸出端OUT,每個計數(shù)器內(nèi)部有一個8位的控制寄存器,還有一個16
53、位的計數(shù)初值寄存器CR、一個計數(shù)執(zhí)行部件和一個輸出鎖存器。8253的編程結(jié)構(gòu)數(shù)據(jù)總線緩沖器讀/寫邏輯控制寄存器計數(shù)器0計數(shù)器1計數(shù)器2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7-D0A0A1RDWRCS2022/8/193頁高8位 低8位高8位 低8位高8位 低8位初值計數(shù)器減法計數(shù)器輸出鎖存器工作原理 數(shù)據(jù)總線緩沖器:通過數(shù)據(jù)總線緩沖器,CPU可以對8253寫入初始化命令字、寫入計數(shù)初值、讀取計數(shù)值。所以與數(shù)據(jù)總線緩沖器相連的外部引腳D7D0接系統(tǒng)數(shù)據(jù)總線的低8位。 計數(shù)器0、計數(shù)器1和計數(shù)器2:三個互相獨立的計數(shù)器,各自可按不同的方式工作。計數(shù)器0、
54、1、2三個計數(shù)器/定時器內(nèi)部每個都由一個16位的可預(yù)置值的減法計數(shù)器構(gòu)成。每個計數(shù)器操作獨立,其內(nèi)部結(jié)構(gòu)相同,減法計數(shù)器由計數(shù)器初值寄存器裝入初值,計數(shù)初值寄存器通過程序設(shè)置,輸出寄存器用于鎖存計數(shù)器的內(nèi)容。2022/8/194頁 讀/寫邏輯電路:讀/寫邏輯電路從系統(tǒng)總線接收輸入信號,經(jīng)過組合產(chǎn)生對8253的控制信號。 控制寄存器:寫入控制字,決定計數(shù)器的工作方式。 8253的引腳功能與3個計數(shù)器有關(guān)的引腳計數(shù)器0:CLK0計數(shù)器0的時鐘輸入 GATE0計數(shù)器0的門脈沖控制輸入 OUT0 計數(shù)器0的輸出片選信號輸入,低電平有效。一般是由系統(tǒng)地址總線經(jīng)過譯碼后接入,對8253進(jìn)行使能控制。CS:
55、讀信號,低電平有效。它接系統(tǒng)控制總線的。當(dāng)有效時,表示CPU正在對8253進(jìn)行讀操作。WR:寫信號,低電平有效。它接系統(tǒng)控制總線的。當(dāng)有效時,表示CPU正在對8253進(jìn)行寫操作。 2022/8/195頁A1、A0:內(nèi)部計數(shù)器及控制寄存器選擇。 CS、RD、WR和A1、A0命令關(guān)系如下表:無操作1 1 0 0 1讀2#計數(shù)器當(dāng)前計數(shù)值 1 0 0 0 1讀1#計數(shù)器當(dāng)前計數(shù)值0 1 0 0 1讀0#計數(shù)器當(dāng)前計數(shù)值 0 0 0 0 1向控制字寄存器寫控制字1 1 0 1 0計數(shù)初值寫入2#計數(shù)器1 0 0 1 0計數(shù)初值寫入1#計數(shù)器0 1 0 1 0計數(shù)初值寫入0#計數(shù)器0 0 0 1 0操
56、作A1 A0 CS RD WR2022/8/196頁28253的控制字格式 D0 (BCD):設(shè)置計數(shù)器的計數(shù)數(shù)制。當(dāng)BCD=0時,計數(shù)器按二進(jìn)制計數(shù),當(dāng)BCD=1時,計數(shù)器按BCD碼計數(shù)。D3、D2、D1 (M2、M1、M0):工作方式選擇。有6種不同工作方式,如表9-7所示。 M2 M1 M0 工作方式 0 0 00 0 1 1 0 1 11 0 0 1 0 1 方式0方式1方式2方式3方式4 方式5 2022/8/197頁D5、D4(RW1、RW0):讀/寫指示位,具體如下:0 0:對計數(shù)器進(jìn)行鎖存操作,使當(dāng)前計數(shù)值鎖存到鎖存器中,以便進(jìn)行讀操作;0 1:只讀/寫低8位字節(jié);1 0:只讀
57、/寫高8位字節(jié);1 1:先讀/寫低8位字節(jié),再讀/寫高8位字節(jié)。D7、D6 (SC1、SC0):用來選擇計數(shù)器。 其對應(yīng)關(guān)系為:D7、D6 (SC1、SC0) 0 0:選擇計數(shù)器0 0 1:選擇計數(shù)器1 1 0:選擇計數(shù)器2 1 1:無效2022/8/198頁原則:對計數(shù)器設(shè)置初值前,先寫控制字:指出計數(shù)值是二進(jìn)制還是十進(jìn)制、工作方式、對哪個計數(shù)器的哪些字節(jié)進(jìn)行操作等規(guī)定。在讀計數(shù)器值時,必須先用鎖存命令,鎖住當(dāng)前計數(shù)值,再進(jìn)行讀操作,否則,在讀數(shù)時,計數(shù)器的數(shù)值可能處在改變過程中,這樣,讀出的計數(shù)值是一個不確定的數(shù)值。 38253的編程命令 48253的工作方式 控制字的D3、D2、D1 (
58、M2、M1、M0):工作方式選擇。有6種不同工作方式。 2022/8/199頁GATE=1CLKOUTN43210FF方式0計數(shù)結(jié)束產(chǎn)生中斷方式 CW寫入控制字n=4寫入初值4開始計數(shù)計數(shù)結(jié)束產(chǎn)生中斷原則:工作特點:計數(shù)時GATE =1,若GATE變?yōu)榈碗娖酵V褂嫈?shù)。初值為n時,OUT在n+1個時鐘后產(chǎn)生高電平。只計一遍數(shù),不重復(fù),直到寫入新的控制字為止。計數(shù)過程中,可改變計數(shù)初值,寫入新初值后,重新開始計數(shù)。GATE=0時寫入初值,到GATE變1時才開始計數(shù)。2022/8/1100頁 方式1單脈沖觸發(fā)器(可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器)FFCWCLKGATEOUT321032n=3寫入初值門控觸發(fā)
59、開始計數(shù)進(jìn)入暫穩(wěn)態(tài)計數(shù)時間到,回到穩(wěn)態(tài)再次觸發(fā)計數(shù)過程中,可改變計數(shù)初值,這時當(dāng)前計數(shù)不受影響,回0后OUT為高電平,若再次觸發(fā),則按新的初值進(jìn)行計數(shù)。計數(shù)過程中,又來一個門控信號,則再下一時鐘脈沖后,又重新從初值開始計數(shù),OUT仍維持為低電平,這樣使輸出脈沖比原來延長了。2022/8/1101頁 方式1單脈沖觸發(fā)器(可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器)重復(fù)周期寫入初值開始計數(shù)重復(fù)周期CWn=3CLKGATE=1OUT321321321可重復(fù),不用重寫初值。輸出n-1個高,1個低電平脈沖波形。計數(shù)過程中,如果改變計數(shù)初值,當(dāng)前計數(shù)不受影響,在下一個輸出周期中,將按新的計數(shù)值進(jìn)行計數(shù),這是GATE門一直有
60、效的情況。 2022/8/1102頁 方式3方波發(fā)生器 CWn=4W重復(fù)周期CLKGATE=1OUT432143214負(fù)半周正半周負(fù)半周寫入初值開始計數(shù)正半周OUT543215432重復(fù)周期2022/8/1103頁 方式4軟件觸發(fā)選通 寫入初值開始計數(shù)計數(shù)結(jié)束其特點是:若計數(shù)初值為n,寫入初值n+1個時鐘周期后,輸出一個時鐘寬度的負(fù)脈沖。GATE=1時,允許計數(shù),GATE=0時,禁止計數(shù),OUT端不受影響,維持當(dāng)時的電平。FFFFCWn=5CLKGATE=1OUT5432102022/8/1104頁 方式5硬件觸發(fā)選通 計數(shù)時間到寫入初值門控觸發(fā)開始計數(shù)再次觸發(fā)在計數(shù)過程中,使用GATE上升沿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨國公司科技創(chuàng)新能力的提升與市場機(jī)遇
- 山東2025年01月中國(山東)自由貿(mào)易試驗區(qū)青島片區(qū)(青島前灣綜合保稅區(qū))管理委員會2025年公開選聘35名工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 6.1《學(xué)無止境》課件 - 2024-2025學(xué)年統(tǒng)編版道德與法治九年級下冊
- 焊縫驗收輕鋼門式剛架施工驗收課件
- 3.2與世界深度互動課件- -2024-2025學(xué)年統(tǒng)編版道德與法治九年級下冊
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 生物試卷(含標(biāo)準(zhǔn)答案)
- 西安電子科技大學(xué)長安學(xué)院《流體力學(xué)與液壓氣壓傳動技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 種地地皮出售合同范本
- 貴州省黔西南州勤智學(xué)校2024-2025學(xué)年四下數(shù)學(xué)期末預(yù)測試題含解析
- 2025屆寧強(qiáng)縣小學(xué)六年級數(shù)學(xué)畢業(yè)檢測指導(dǎo)卷含解析
- 人衛(wèi)版外科學(xué)泌尿、男生殖系統(tǒng)外科檢查和診斷課件
- 西洋服裝史課件
- JIS C9335-2-5-2021 家用和類似用途電器.安全性.第2-5部分:洗碗機(jī)的特殊要求
- 振動流化床使用說明書振動流化床干燥機(jī)使用說明書
- 高考語文一輪復(fù)習(xí)小說表現(xiàn)手法ppt課件
- 一至六年級下冊音樂期末試卷及答案
- 多介質(zhì)過濾器計算書
- 鑼鼓曲譜16762
- 三、QHLY系列——露頂式弧形門閘門液壓啟閉機(jī)
- 《病毒性肝炎》課件.ppt
- UCP600中英文對照版
評論
0/150
提交評論