版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
8.1DMA技術(shù)
8.1.1DMA基本概念及功能
DMA(DirectMemoryAccess,存儲器直接訪問)是一種高速的數(shù)據(jù)傳輸技術(shù),它允許在外部設(shè)備和存儲器之間直接進行數(shù)據(jù)的讀/寫操作,即不通過CPU也不需要CPU干預(yù),整個數(shù)據(jù)傳輸操作是在一個稱為DMA控制器(DMAC)的控制下進行的。CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時進行一些處理外,在這個傳輸過程中CPU可以去完成其他的工作,所以在大部分時間里CPU和數(shù)據(jù)的輸入/輸出都處于并行操作狀態(tài),從而使整個計算機系統(tǒng)的效率得以大大提高。這與中斷方式依靠CPU執(zhí)行中斷服務(wù)程序進行數(shù)據(jù)傳輸?shù)牟僮魍耆煌?,DMA方式完全靠硬件控制。為實現(xiàn)DMA操作而設(shè)計了專用接口電路,如Intel8237、Intel8257、Z8410、MC6844等各個公司的DMAC芯片。
由于這種外設(shè)與內(nèi)存直接傳送,不需要CPU及其累加器AX中轉(zhuǎn),并且其傳輸控制(檢查字?jǐn)?shù)、修改地址等)均由硬件完成,從而實現(xiàn)了高速、大量數(shù)據(jù)的直接傳輸,因此在計算機中的應(yīng)用越來越廣泛,如磁盤存取、圖像處理、同步通信、高速數(shù)據(jù)采集、多媒體數(shù)據(jù)傳送以及RAM刷新等。
DMA的數(shù)據(jù)傳輸過程如圖8.1所示,工作描述如下:
(1)當(dāng)外設(shè)準(zhǔn)備好,具備DMA傳送的條件時,外設(shè)向DMAC提出傳送請求信號(DREQ);
(2)?DMAC收到外設(shè)的DMA請求,便向CPU發(fā)出占用總線的請求信號(HRQ);
(3)?CPU響應(yīng)DMAC的占用總線的請求,發(fā)出總線響應(yīng)信號(HLDA);
(4)?DMAC收到總線響應(yīng)信號(HLDA),得到總線的控制權(quán);
(5)?DMAC同時向外設(shè)發(fā)出DMA響應(yīng)信號(DACK),通知外設(shè),其DMA傳送請求獲得允許,可以進行數(shù)據(jù)傳輸了;
(6)DMAC發(fā)出地址信息和相關(guān)控制信號,實現(xiàn)外設(shè)與內(nèi)存間直接的數(shù)據(jù)傳送,并且DMAC自動修改地址(+1或-1)和字節(jié)計數(shù)器(-1直到0),據(jù)此判斷是否重復(fù)進行傳送操作;
(7)字節(jié)計數(shù)器為0,表明傳送完畢,DMAC撤銷發(fā)給CPU的HRQ信號,CPU檢測到HRQ信號失效,便撤銷HLDA,并在下一時鐘周期開始時DMAC讓出總線,CPU重新控制總線。
圖8.1DMA的數(shù)據(jù)傳輸過程8.1.28237的結(jié)構(gòu)與引腳
Intel8237是由Intel公司推出的典型的可編程DMA控制器,是高性能可編程的DMA控制器。其內(nèi)部有四個獨立的DMA通道,每個通道都有64KB的尋址和計數(shù)能力,具有不同的優(yōu)先級,且有四種工作方式,可以分別設(shè)置允許和禁止。多片8237芯片可以級聯(lián)以擴展通道數(shù)。在5MHz時鐘頻率下,數(shù)據(jù)傳送速率最高可達每秒1.6MB。其基本特點有:
(1)具有獨立的4個DMA通道,每個通道可以請求或屏蔽DMA傳送。
(2)?4個DMA通道具有不同的優(yōu)先級,通過編程可以工作在固定優(yōu)先級方式,也可以是循環(huán)優(yōu)先級方式。
(3)提供4個工作模式,即單字節(jié)傳送、數(shù)據(jù)塊傳送、請求傳送和級聯(lián)傳送,通過編程可進行選擇。
(4)提供3種DMA傳送類型,即寫傳送、讀傳送和校驗傳送。
(5)提供外部硬件DMA請求和軟件DMA請求兩種方式。
8237的基本結(jié)構(gòu)如圖8.2所示。圖8.28237的基本結(jié)構(gòu)
1.8237的基本結(jié)構(gòu)
8237主要由三個基本控制邏輯單元、三個地址/數(shù)據(jù)緩沖器單元和一組內(nèi)部寄存器組成。
1)控制邏輯單元
控制邏輯單元包括定時和控制邏輯、命令控制邏輯和優(yōu)先級控制邏輯,其功能如下:
(1)定時和控制邏輯:根據(jù)初始化編程所設(shè)置的工作方式寄存器的內(nèi)容和命令,在輸入時鐘信號的控制下,產(chǎn)生8237的內(nèi)部定時信號和外部控制信號。
(2)命令控制邏輯:主要是在CPU控制總線時(即DMA處于空閑周期),將CPU在初始化編程時送來的命令字進行譯碼;當(dāng)8237進入DMA服務(wù)時,對DMA的工作方式控制字進行譯碼。
(3)優(yōu)先級控制邏輯:用來裁決各通道的優(yōu)先權(quán)順序,解決多個通道同時請求DMA服務(wù)時可能出現(xiàn)的優(yōu)先權(quán)競爭問題。
2)地址/數(shù)據(jù)緩沖器單元
該緩沖器包括I/O緩沖器1、I/O緩沖器2和輸出緩沖器,其功能如下。
(1)?I/O緩沖器1:8位、雙向、三態(tài)地址/數(shù)據(jù)緩沖器,作為8位數(shù)據(jù)D7~D0的輸入/輸出和高8位地址A15~A8輸出緩沖。
(2)?I/O緩沖器2:4位地址緩沖器,作為地址A3~A0輸出緩沖。
(3)輸出緩沖器:4位地址緩沖器,作為地址A7~A4輸出緩沖。
3)內(nèi)部寄存器
8237的內(nèi)部寄存器以存儲器結(jié)構(gòu)形式構(gòu)成寄存器陣列,每個通道都有四個16位基地址/當(dāng)前地址寄存器、基字節(jié)/當(dāng)前字節(jié)計數(shù)寄存器,以及工作方式寄存器、請求寄存器、屏蔽寄存器,4個通道共用的控制寄存器、狀態(tài)寄存器和不能訪問的2個16位的地址暫存寄存器、字節(jié)計數(shù)暫存寄存器、1個8位數(shù)據(jù)暫存寄存器,如表8.1所示。表8.1
8237的內(nèi)部寄存器
2.8237的引腳信號
8237是40引腳雙列直插式芯片,如圖8.3所示。圖8.38237芯片的引腳排列8.1.3Intel8237的工作周期
由于8237要作為系統(tǒng)的控制器,控制外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸,所以它有主控和從屬兩種工作狀態(tài)。當(dāng)它沒有獲得總線控制權(quán)時,作為從屬設(shè)備由CPU控制,如初始化操作。8237一旦獲得總線控制權(quán),由從屬狀態(tài)變?yōu)橹骺貭顟B(tài),控制DMA進行數(shù)據(jù)傳送。數(shù)據(jù)傳送完畢,將總線控制權(quán)交還給CPU,又由主控狀態(tài)變?yōu)閺膶贍顟B(tài)。相應(yīng)的,8238有兩個工作周期,即空閑周期和有效周期,每個周期又由若干個時鐘周期組成。
2.有效周期
當(dāng)8237在SI狀態(tài)采樣到外設(shè)請求時,就脫離SI而進入S0狀態(tài)。
(1)S0狀態(tài)是DMA服務(wù)的第一個狀態(tài),在這個狀態(tài),8237已接收了外設(shè)的請求,向CPU發(fā)出了DMA請求信號HRQ,但尚未收到CPU的DMA響應(yīng)信號HLDA。
(2)當(dāng)接收到HLDA響應(yīng)信號時,8237即進入工作狀態(tài),開始DMA傳送,此時,8237就作為系統(tǒng)總線的主控設(shè)備。在通常情況下,工作狀態(tài)由S1、S2、S3、S4組成以完成數(shù)據(jù)傳送。若外設(shè)的數(shù)據(jù)傳送速度較慢,不能在S4之前完成,則可由READY線在S3或S2與S4之間插入Sw狀態(tài)。在存儲器與存儲器之間的傳送,則需8個時鐘周期。前4個時鐘周期S11~S14完成從存儲器讀,后4個時鐘周期S21~S24完成對存儲器寫。DMA傳送時序如圖8.4所示。
8237的時序包括SI、S0、S1、S2、Sw、S3、S4七個狀態(tài)。圖8.48237的DMA傳送時序
3.請求傳送方式
請求傳送方式與數(shù)據(jù)塊傳送方式類似,也是一種連續(xù)傳送數(shù)據(jù)的方式,區(qū)別在于8237在請求傳送方式下,每傳送一個字節(jié)就要檢測一次DREQ信號是否有效,若有效,則繼續(xù)傳送下一個字節(jié);若無效,則停止數(shù)據(jù)傳送,結(jié)束DMA過程。但DMA的傳送現(xiàn)場全部保持(當(dāng)前地址寄存器和當(dāng)前字節(jié)計數(shù)器的值),待請求信號DREQ再次有效時,8237接著原來的計數(shù)值和地址繼續(xù)進行數(shù)據(jù)傳送,直到當(dāng)前字節(jié)計數(shù)器減到0或由外設(shè)產(chǎn)生信號時,終止DMA傳送,釋放總線控制權(quán)。
請求傳送方式的特點是DMA操作可由外設(shè)利用DREQ信號控制數(shù)據(jù)傳送的過程。
4.多片級聯(lián)方式
這種工作方式用于通過多個8237級聯(lián)以擴展通道。如圖8.5所示的多片級聯(lián)由主、從兩級構(gòu)成,從片8237的HRQ和HLDA引腳與主片8237的DREQ和DACK引腳連接,一片主片最多可連接四片從片。在級聯(lián)方式下,從片進行DMA傳送,主片在從片與CPU之間傳遞聯(lián)絡(luò)信號,并對從片各通道的優(yōu)先級進行管理。級聯(lián)方式下可擴展多個DMA通道。圖8.58237的多片級聯(lián)方式8.1.5Intel8237的內(nèi)部寄存器結(jié)構(gòu)
8237內(nèi)部寄存器的端口地址分配及讀/寫功能見表8.2。表8.2
8237內(nèi)部寄存器的端口地址分配及讀/寫功能
8237的內(nèi)部寄存器有兩類。一類稱為通道寄存器,每個通道包括基地址寄存器、當(dāng)前地址寄存器、基字節(jié)計數(shù)寄存器、當(dāng)前字節(jié)計數(shù)寄存器和工作方式寄存器,這些寄存器的內(nèi)容在初始化編程時寫入。另一類為控制寄存器和狀態(tài)寄存器等,這類寄存器是四個通道公用的,控制寄存器用來設(shè)置8237的傳送類型和請求控制,初始化編程時寫入。狀態(tài)寄存器存放8237的工作狀態(tài)信息,供CPU讀取查詢。
(1)當(dāng)前地址寄存器:用來保存DMA傳送的當(dāng)前地址,每次傳送后該寄存器的值自動加1或減1。當(dāng)前地址寄存器可由CPU寫入或讀出。
(2)當(dāng)前字節(jié)計數(shù)寄存器:保存DMA要傳送的字節(jié)數(shù),每次傳送后減1。將寄存器的值可由CPU寫入和讀出,當(dāng)寄存器的值減到0時,終止計數(shù)。
(3)基地址寄存器和基字節(jié)計數(shù)寄存器:基地址寄存器中存放著與當(dāng)前地址寄存器、當(dāng)前字節(jié)計數(shù)寄存器相聯(lián)系的初始值,但不隨傳輸?shù)倪M行而變化,也不能讀出。初始化時,CPU將起始地址寫入基地址寄存器和當(dāng)前地址寄存器中,同時寫入基字節(jié)計數(shù)寄存器和當(dāng)前字節(jié)計數(shù)寄存器中。
(4)工作方式寄存器:該寄存器寄存相應(yīng)通道的方式控制字,它規(guī)定了相應(yīng)通道的操作方式。其寫入格式如圖8.6所示。圖8.68237的工作方式寄存器
(5)控制寄存器:控制寄存器存放8237的控制字,如圖8.7所示。它用來設(shè)置8237的操作方式,影響每個通道。復(fù)位時,控制寄存器被清0。在系統(tǒng)性能允許的范圍內(nèi),為獲得較高的傳輸效率,8237能將每次傳輸時間從正常時序的三個時鐘周期變成壓縮時序的兩個時鐘周期。圖8.78237的控制寄存器
(6)請求寄存器:8237除了可以利用硬件DREQ信號提出DMA請求外,當(dāng)工作在數(shù)據(jù)塊傳送方式時,也可以通過軟件發(fā)出DMA請求。在執(zhí)行存儲器與存儲器之間的數(shù)據(jù)傳送時,由通道0從源數(shù)據(jù)區(qū)讀取數(shù)據(jù),由通道1將數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)區(qū)。此時啟動DMA過程是由內(nèi)部軟件DMA請求來實現(xiàn)的,即對通道0的請求寄存器寫入04H,產(chǎn)生DREQ請求,使8237產(chǎn)生總線請求信號HRQ,啟動DMA傳送。其格式如圖8.8所示。圖8.88237的請求寄存器
(7)屏蔽寄存器:8237的每個通道都有一個屏蔽位,當(dāng)該位為1時,屏蔽對應(yīng)通道的DMA請求,屏蔽位可以用兩種命令字置位或清除,如圖8.9所示。圖8.98237的單通道屏蔽寄存器
8237的通道也可以一次屏蔽多個,用8237的多通道屏蔽寄存器進行設(shè)置,如圖8.10所示。圖8.108237的多通道屏蔽寄存器
(8)狀態(tài)寄存器:狀態(tài)寄存器用來存放各通道的工作狀態(tài)和請求標(biāo)志,低4位對應(yīng)表示各通道的終止計數(shù)狀態(tài)。當(dāng)某通道終止計數(shù)或外部信號有效時,則對應(yīng)位置1。高4位對應(yīng)表示當(dāng)前是否存在DMA請求。這些狀態(tài)位在復(fù)位或被讀出后,均被清0,如圖8.11所示。圖8.118237的狀態(tài)寄存器
(9)暫存寄存器:8237進行從存儲器到存儲器的數(shù)據(jù)傳送時,通道0先把從源數(shù)據(jù)區(qū)讀出的數(shù)據(jù),送入暫存寄存器中保存,然后由通道1從暫存寄存器中讀出數(shù)據(jù),傳送至目標(biāo)數(shù)據(jù)區(qū)中。傳送結(jié)束后,暫存寄存器只會保留最后一個字節(jié)數(shù)據(jù)并可由CPU讀出。復(fù)位時,用RESET信號清除此暫存寄存器中的內(nèi)容。
(10)清除命令:清除命令不需要通過寫入控制寄存器來執(zhí)行,只需要對特定的DMA端口執(zhí)行一次寫操作即可完成。總清除命令的功能與復(fù)位信號RESET類似,可以對8237進行軟件復(fù)位。只要對A3~A0=1101B的端口執(zhí)行一次寫操作,便可以使8237處于復(fù)位狀態(tài)。8.1.6Intel8237的應(yīng)用
1.編程步驟
8237的編程通常可按如下步驟進行:
(1)寫總清除命令。總清時只要求對總清地址進行寫操作,并不關(guān)心寫入什么數(shù)據(jù)。
(2)置頁面寄存器。
(3)寫入基地址和當(dāng)前地址寄存器。
(4)寫入基字節(jié)和當(dāng)前字節(jié)計數(shù)寄存器。
(5)寫入模式寄存器。
(6)寫入命令寄存器。
(7)寫入屏蔽寄存器。
(8)寫入請求寄存器。其中第(8)步是采用軟件DMA請求時所需要的,由此可將相應(yīng)的請求命令字寫入指定通道,從而啟動DMA傳送過程。若為硬件DMA請求,則無需此步驟,只要在完成了(1)~(7)步編程后,由通道的DREQ信號即可啟動DMA傳送過程。
【例8.1】
在IBMPC系統(tǒng)中,試?yán)?237的通道1,將內(nèi)存中自8000H:0H開始的16KB數(shù)據(jù)傳送至磁盤(地址增量傳送)。要求采用塊傳送方式,傳送完不自動預(yù)置,DREQ和DACK均為高電平有效,固定優(yōu)先級,普通時序,不擴展寫信號。系統(tǒng)中8237的端口地址為00H~0FH。通道1“頁面寄存器”的端口地址為83H。
(1)確定模式字,如圖8.12所示。圖8.12模式字
(2)確定命令字,如圖8.13所示。圖8.13命令字
(3)確定屏蔽字,如圖8.14所示圖8.14屏蔽字
2.8237與外設(shè)的接口電路
8237有四個獨立的DMA通道,通??偸前衙恳粋€通道指定給一個專門的外部設(shè)備。由圖8.15可見,電路中的四個DMA請求輸入信號DREQ3~DREQ0分別對應(yīng)通道3~0。在空閑狀態(tài),8237不斷采樣這些輸入信號,當(dāng)某個外設(shè)請求DMA操作時,相應(yīng)的DREQ變?yōu)橛行щ娖健?/p>
8237采樣到DREQ有效電平后,使HRQ信號變?yōu)楦唠娖接行В⑵鋫魉徒oCPU的HOLD輸入端,請求CPU讓出總線控制權(quán)。當(dāng)CPU準(zhǔn)備讓出總線控制權(quán)時,總線信號進入高阻狀態(tài),同時輸出信號HLDA變?yōu)楦唠娖接行?,作為對HOLD的應(yīng)答。8237接收到有效的HLDA應(yīng)答信號后,就取得了總線控制權(quán)。圖8.158237與外設(shè)的接口電路
8237取得總線控制權(quán)后,輸出信號DACK變?yōu)楦唠娖接行?,通知外設(shè)它已經(jīng)處于準(zhǔn)備就緒狀態(tài)。在8237控制總線期間,將產(chǎn)生存儲器、I/O數(shù)據(jù)傳送所需要的全部控制信號。DMA傳送有下列三種情況:
3)存儲器到存儲器的數(shù)據(jù)傳送
在這種傳送方式下,8237固定使用通道0和通道1。通道0的地址寄存器存放源數(shù)據(jù)區(qū)地址,通道1的地址寄存器存放目標(biāo)數(shù)據(jù)區(qū)的地址,通道1的字節(jié)計數(shù)寄存器存放需要傳送數(shù)據(jù)的字節(jié)數(shù)。傳送過程由設(shè)置通道0的軟件請求啟動,8237按正常方式向CPU發(fā)出HRQ請求信號,待HLDA響應(yīng)后傳送開始。每傳送一個字節(jié)需要8個時鐘周期,前4個時鐘周期用通道0地址寄存器的地址,從源數(shù)據(jù)區(qū)讀數(shù)據(jù)送入8237的暫存寄存器;后4個時鐘周期用通道1地址寄存器的地址,把暫存寄存器中的數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)區(qū)。每傳送1個字節(jié),源地址和目標(biāo)地址都要修改(加1或減1),字節(jié)數(shù)減1。傳送一直進行到通道1的字節(jié)計數(shù)寄存器減為0,終止計數(shù)并在端輸出一個脈沖。
3.?8237與CPU的連接
在32位PC中有兩個8237DMAC級聯(lián),并與其他功能芯片集成到一芯片組中。硬件連接分為8237與CPU的接口電路和8237與外設(shè)的接口電路。系統(tǒng)中,通道0用于動態(tài)RAM刷新,通道1為用戶保留,通道2用于軟盤數(shù)據(jù)傳輸,通道3用于硬盤數(shù)據(jù)傳輸。
在微機系統(tǒng)中,8237是作為外圍從屬設(shè)備進行工作的。它的操作必須通過軟件進行初始化處理,通過讀/寫內(nèi)部寄存器來實現(xiàn),而數(shù)據(jù)的傳送是通過它與CPU之間的接口電路來進行的。8237與CPU的接口電路如圖8.16所示。圖8.168237與CPU的接口電路
8.2定時/計數(shù)技術(shù)
8.2.1定時/計數(shù)技術(shù)概述
在微型計算機系統(tǒng)和測控應(yīng)用系統(tǒng)中,需要對一些操作實現(xiàn)定時或延時控制,如定時采集數(shù)據(jù)、CPU的時間片輪換、定時檢測與控制、波形發(fā)生等;有的需要對外部事件進行計數(shù),而后使微處理機產(chǎn)生相關(guān)操作等。因此在微型計算機的應(yīng)用系統(tǒng)中經(jīng)常要用到定時信號,以進行準(zhǔn)確的定時、延時和計數(shù)控制。
實現(xiàn)定時或延時控制主要有三種方法:軟件定時、不可編程硬件定時、可編程硬件定時。
1.軟件定時
軟件定時方法簡單、靈活,不需要增加硬件電路并且可用程序設(shè)計延時,但缺點是大量占用CPU時間而降低了CPU的利用率。用軟件定時方法必須深入了解處理器與指令的執(zhí)行狀況,安排合適的循環(huán)次數(shù)。該方法常用于定時時間短、重復(fù)調(diào)用次數(shù)少的場合。
2.不可編程硬件定時
不可編程硬件定時方法的硬件電路簡單,價格便宜,但缺點是一旦電路硬件確定并連接好后其定時時間和范圍就確定了,不能改變和控制,并且精度不高。一般可選用小規(guī)模集成電路器件555通過外接定時部件電阻和電容構(gòu)成,不占用CPU的時間。
3.可編程硬件定時
可編程硬件定時方法以硬件定時芯片電路為基礎(chǔ),通過編程能夠確定電路的定時值及其范圍。這種方法的靈活性高、定時精度高,且不占用CPU的時間。
微機采用的Intel8253/4PIT(ProgrammableIntervalTimer)是可編程定時/計數(shù)器芯片,用戶可通過編程設(shè)定其工作方式和計數(shù)值,外圍連接簡單,并可配合微機系統(tǒng)完成時間更新、時鐘定時、定時控制等。下面以Intel8253為對象介紹可編程定時/計數(shù)器芯片的功能,Intel8254在計數(shù)頻率和一些輔助功能方面有一定擴展,使用時基本相同。8.2.28253的主要功能與結(jié)構(gòu)
1.?8253的主要功能
Intel8253作為Intel系列微處理器的外圍芯片,具有可編程功能,采用24個引腳的雙列直插式封裝和?+5V電源供電,提供多個通道和多種工作方式。其主要功能如下:
(1)芯片上有3個獨立的16位的計數(shù)器。
(2)每個計數(shù)器可以單獨使用,并且都可以按照二進制或十進制來計數(shù)。
(3)每個計數(shù)器都有6種工作方式,都可以通過程序設(shè)置或改變。
(4)每個計數(shù)器的最高的計數(shù)頻率為2.6MHz(Intel8254的最高的計數(shù)頻率可達5MHz~10MHz,82801BA集成的8254的計數(shù)頻率為14.31808MHz)。
(5)所有的輸入、輸出都是TTL電平,便于與外圍接口電路相連接。
2.?8253的內(nèi)部結(jié)構(gòu)
8253在結(jié)構(gòu)上分為四大部分,即數(shù)據(jù)總線緩沖器、讀/寫控制邏輯、控制字寄存器以及三個獨立的16位的計數(shù)器,如圖8.17所示。圖8.178253的內(nèi)部結(jié)構(gòu)框圖表8.38253控制信號的組合功能
(3)控制字寄存器:存放CPU發(fā)給8253的控制字,只能寫入,不能讀出。8253按控制字進行初始化,設(shè)定計數(shù)器及工作方式。
(4)三個計數(shù)器:分別為計數(shù)器0、1和2,是三個獨立的計數(shù)/定時通道,它們都可按不同的方式工作。每個計數(shù)器內(nèi)部都包含一個初始值寄存器CR、一個減法計數(shù)執(zhí)行部件CE和一個計數(shù)輸出鎖存器OL。這三個寄存器都是16位的,分為高8位和低8位,也可用作8位寄存器。在初始化編程時,CPU把初始值送入初始值寄存器,在時鐘脈沖作用下送入減法計數(shù)器執(zhí)行部件,輸出鎖存器可以鎖存當(dāng)前的計數(shù)值以便讀出。啟動工作后,減法計數(shù)器進行遞減計數(shù),當(dāng)計數(shù)器內(nèi)容減為0時,還可控制初始值寄存器自動將其數(shù)值填入計數(shù)器內(nèi)重新開始計數(shù)。工作中,8253還能將計數(shù)器當(dāng)前數(shù)值隨時鎖存到鎖存寄存器內(nèi),以便讀出當(dāng)前計數(shù)值。
3.?8253的引腳
8253為單一5?V電源供電,其24引腳的雙列直插式芯片引腳和各個計數(shù)器框圖如圖8.18和8.19所示。圖8.188253的芯片引腳圖圖8.198253的計數(shù)器框圖8.2.38253的控制字
8253的控制字用于進行計數(shù)器選擇、讀/寫操作方式選擇、工作方式選擇以及計數(shù)方式選擇等。其具體格式如圖8.20所示。圖8.208253的控制字
計數(shù)初值的計算公式為8.2.48253的工作方式
8253有6種工作方式,對它們的操作都遵守以下3條基本原則:
(1)當(dāng)控制字寫入8253時,所有的控制邏輯電路自動復(fù)位,這時輸出端OUT進入初始態(tài)。
(2)當(dāng)初始值寫入計數(shù)器以后,要經(jīng)過一個時鐘周期,減法計數(shù)器才開始工作,時鐘脈沖的下降沿使計數(shù)器進行減1計數(shù)。計數(shù)器的最大初始值是0,用二進制計數(shù)時,0相當(dāng)于216;用BCD碼時,0相當(dāng)于104。
(3)一般情況下,在時鐘脈沖CLK的上升沿時,采樣門控信號。對門控信號(GATE)的觸發(fā)方式的具體規(guī)定為:門控信號為電平觸發(fā)—方式0、方式4。
門控信號為上升沿觸發(fā)—方式1、方式5。
門控信號可為電平觸發(fā)也可為上升沿觸發(fā)—方式2、方式3。
計數(shù)方式—方式0、方式1、方式4、方式5。
定時方式—方式2、方式3。
歸納起來,8253的計數(shù)有以下幾種工作模式:
①門控信號控制時鐘信號。門控信號有效,時鐘信號有效,計數(shù)器工作;門控信號無效時,時鐘信號無效。
②門控信號啟動重新計數(shù)過程或停止計數(shù)過程。③單一計數(shù)和循環(huán)計數(shù)。門控信號有效,單一計數(shù)到0,終止計數(shù);計數(shù)到0又從初始值寄存器獲得計數(shù)值,開始新的計數(shù)過程,循環(huán)往復(fù),進行循環(huán)計數(shù)。
8253的6種工作方式的不同主要表現(xiàn)在三個方面:一是它們的輸出波形不同;二是啟動計數(shù)器的觸發(fā)方式不同;三是計數(shù)過程中門控信號對計數(shù)操作的影響不同。
1.方式0——計數(shù)結(jié)束產(chǎn)生中斷的計數(shù)器
方式0是軟件啟動、不能自動重復(fù)的計數(shù)方式,如圖8.21所示。圖8.21方式0的基本波形寫入控制字(CW)后,其輸出OUT變?yōu)榈碗娖?。門控GATE為高電平情況下(此高電平信號一直保持)寫入計數(shù)初值N(圖中N?=?5),在寫信號以后經(jīng)過CLK的一個上升沿和一個下降沿開始計數(shù)。當(dāng)計數(shù)到達終點即計數(shù)器的值變成0時,OUT變?yōu)楦唠娖健?/p>
方式0可由門控信號控制暫停,GATE為低電平時,計數(shù)器暫停,GATE信號變高后,就接著計數(shù),如圖8.22所示。
計數(shù)到時的信號由低變高可以用來作為中斷請求信號,所以方式0可稱做計數(shù)結(jié)束產(chǎn)生中斷的計數(shù)器。它也可作為查詢信號,直接去控制某個操作,如讓某個開關(guān)動作。圖8.22方式0時GATE信號的作用
2.方式1——可編程單拍脈沖
方式1是硬件啟動、不能自動重復(fù)但通過GATE的正跳變可使計數(shù)過程重新開始的計數(shù)方式,如圖8.23所示。圖8.23方式1的波形在寫入控制字后OUT變?yōu)楦唠娖剑趯懭胗嫈?shù)初值后,要等GATE信號出現(xiàn)正跳變時才能開始計數(shù)。在下一個CLK脈沖到來后,OUT變低,送入計數(shù)初值并開始減1計數(shù),直到計數(shù)器減到0后OUT變?yōu)楦唠娖?。從而在OUT端產(chǎn)生一個負脈沖,寬度為N*TCLK(其中N為計數(shù)初值,TCLK為CLK信號的周期)。在GATE的每一個正跳變,計數(shù)器都輸出一個負脈沖。
在計數(shù)過程啟動之后、計數(shù)完成之前,若GATE又發(fā)生正跳變,則計數(shù)器又從初值開始重新計數(shù),OUT端仍為低電平,兩次的計數(shù)過程合在一起使OUT輸出的負脈沖加寬了。在計數(shù)過程中若寫入新的計數(shù)初值,也只是寫入到計數(shù)初值寄存器中,并不立即影響當(dāng)前的計數(shù)過程,同樣要等到下一個GATE正跳變啟動信號,計數(shù)器才接收新初值重新計數(shù)。
3.方式2——分頻脈沖發(fā)生器
方式2既可以用軟件啟動(GATE?=?1時寫入計數(shù)初值后啟動),也可以用硬件啟動(GATE?=?0時寫入計數(shù)初值后并不立即開始計數(shù),等GATE由低變高時啟動計數(shù)),如圖8.24所示。方式2一旦啟動,計數(shù)器就可以自動重復(fù)地工作。圖8.24方式2的波形寫入控制字后,OUT信號變?yōu)楦唠娖?。若計?shù)初值N=3,啟動計數(shù)后,以CLK信號的頻率進行減1計數(shù)。當(dāng)減到1時,OUT變?yōu)榈碗娖?,?jīng)過一個CLK周期,OUT恢復(fù)成高電平后,計數(shù)器又重新開始計數(shù)。因此,它能夠連續(xù)工作,輸出固定頻率的脈沖,OUT輸出信號的頻率為CLK信號頻率的1/N,即N次分頻。
GATE信號要保持高電平,當(dāng)GATE變?yōu)榈碗娖綍r,停止計數(shù)。GATE由低變高后,自動恢復(fù)重新開始計數(shù)。在計數(shù)過程中可以改變計數(shù)初值,對正在進行的計數(shù)沒有影響。在本次計數(shù)結(jié)束后,才以新的計數(shù)初值開始新的分頻工作方式。
4.方式3——方波發(fā)生器
工作于方式3時,在計數(shù)過程中其輸出前一半時間為高電平,后一半時間為低電平。其輸出是可以自動重復(fù)的周期性方波,輸出的方波周期為N*TCLK,如圖8.25所示。
圖8.25方式3的波形在寫入控制字后,計數(shù)器OUT端立即變高。若GATE信號為高,在寫完計數(shù)初值N后,開始對CLK信號進行計數(shù)。計數(shù)到N/2時OUT端變低,計完余下的N/2后OUT又變回高。如此自動重復(fù),OUT端產(chǎn)生周期為N*TCLK的方波。實際上,電路中對半周期N/2的控制方法是每來一個CLK信號,讓計數(shù)器減2。因此來N/2個CLK信號后,計數(shù)器就已經(jīng)減到零。OUT端發(fā)生一次高低電位的變化,且又將初值置入計數(shù)器重新開始計數(shù)。若計數(shù)初值為奇數(shù),計數(shù)的前半周期為(N+1)/2,計數(shù)的后半周期為(N-1)/2。在寫入計數(shù)初值時,如果GATE信號為低電平,計數(shù)器并不開始計數(shù),待GATE變?yōu)楦唠娖綍r,才啟動計數(shù)過程。在計數(shù)過程中,應(yīng)始終使GATE?=?1。若GATE?=?0,不僅中止計數(shù),而且OUT端馬上變高。待恢復(fù)GATE?=?1時產(chǎn)生硬件啟動,計數(shù)器又從頭開始計數(shù)。在計數(shù)過程中寫入新的計數(shù)初值不影響當(dāng)前的半個周期的計數(shù),在當(dāng)前的半個周期結(jié)束(OUT電位發(fā)生變化)時,啟用新的計數(shù)初值開始新的計數(shù)過程。
5.方式4——軟件觸發(fā)選通
方式4是軟件啟動、不自動重復(fù)的計數(shù)方式。其基本波形如圖8.26所示。圖8.26方式4的波形在寫入控制字后,OUT信號變?yōu)楦唠娖健.?dāng)寫入計數(shù)初值后立即開始計數(shù)(相當(dāng)于軟件觸發(fā)啟動)。當(dāng)計數(shù)到0時輸出一個CLK脈沖周期的負脈沖,計數(shù)器停止計數(shù)。只有CPU再寫入新的計數(shù)初值才開始另一次計數(shù)過程。方式4的計數(shù)形式屬于一次性的。
若在計數(shù)過程中改變計數(shù)初值,則可按新的計數(shù)初值重新開始計數(shù)。若計數(shù)初值是兩個字節(jié),則置入第一個字節(jié)時停止計數(shù),置入第二個字節(jié)后才按新的計數(shù)初值開始計數(shù)。
6.方式5——硬件觸發(fā)選通
方式5是硬件啟動、不自動重復(fù)的計數(shù)方式。其基本波形如圖8.27所示。圖8.27方式5的波形在寫入控制字后,OUT變?yōu)楦唠娖?,計?shù)器并不立即開始計數(shù),而是等待GATE信號出現(xiàn)一個正跳變,然后在下一個CLK信號到來后才開始計數(shù)。計數(shù)器減到0時,OUT變低,經(jīng)一個CLK信號后變高且一直保持。
由于方式5
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GBT 34690.7-2017 印刷技術(shù) 膠印數(shù)字化過程控制 第 7 部分:計算機直接制版》專題研究報告
- 《GBT 33290.5-2016 文物出境審核規(guī)范 第 5 部分:儀仗》專題研究報告
- 《GB-T 21021.1-2021無源射頻和微波元器件的互調(diào)電平測量 第1部分:一般要求和測量方法》專題研究報告
- 《GBT 32581-2016 入侵和緊急報警系統(tǒng)技術(shù)要求》專題研究報告
- 《AQ-T 2035-2023金屬非金屬地下礦山供水施救系統(tǒng)建設(shè)規(guī)范》專題研究報告
- 《寵物鑒賞》課件-雪納瑞
- 《Python語言程序設(shè)計》課件-7.2 理解數(shù)據(jù)的維度
- 《智慧景區(qū)服務(wù)與管理》課件-第二章 任務(wù)一 旅游景區(qū)票務(wù)服務(wù)
- 施工現(xiàn)場起重吊裝隱患識別及安全技術(shù)應(yīng)用
- 數(shù)字文旅景點導(dǎo)覽信息服務(wù)協(xié)議
- 心理因素對創(chuàng)新行為的影響
- 脊髓損傷的膀胱護理
- 《醫(yī)學(xué)影像診斷報告書寫指南》(2025版)
- 高校物業(yè)安全培訓(xùn)內(nèi)容課件
- (正式版)DB33∕T 1430-2025 《海塘安全監(jiān)測技術(shù)規(guī)程》
- 醫(yī)藥競聘地區(qū)經(jīng)理匯報
- 水庫調(diào)度操作規(guī)程模板
- 產(chǎn)科護士長年終總結(jié)
- 酒店情況診斷報告
- DBJ04-T483-2025 海綿型城市道路與廣場設(shè)計標(biāo)準(zhǔn)
- 農(nóng)藥運輸儲存管理制度
評論
0/150
提交評論