




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1中南大學(xué)中國水利水電出版社2第第7章章 可編程接口芯片及應(yīng)用可編程接口芯片及應(yīng)用7.1 可編程定時器可編程定時器/計數(shù)器計數(shù)器82538253是是24腳雙列直插芯片,用腳雙列直插芯片,用+5V電源供電,每一片內(nèi)部電源供電,每一片內(nèi)部有三個獨立的有三個獨立的16位計數(shù)器,在微機中使用時最高頻率可達位計數(shù)器,在微機中使用時最高頻率可達2MHz。7.1.1 定時與計數(shù)定時與計數(shù)1定時與計數(shù)定時與計數(shù)在微機系統(tǒng)或智能化儀器儀表的工作過程中,經(jīng)常需要使在微機系統(tǒng)或智能化儀器儀表的工作過程中,經(jīng)常需要使系統(tǒng)處于定時工作狀態(tài),或者對外部過程進行計數(shù)。定時系統(tǒng)處于定時工作狀態(tài),或者對外部過程進行計數(shù)。定時或
2、計數(shù)的工作實質(zhì)均體現(xiàn)為對脈沖信號的計數(shù),如果計數(shù)或計數(shù)的工作實質(zhì)均體現(xiàn)為對脈沖信號的計數(shù),如果計數(shù)的對象是標(biāo)準(zhǔn)的內(nèi)部時鐘信號,由于其周期恒定,故計數(shù)的對象是標(biāo)準(zhǔn)的內(nèi)部時鐘信號,由于其周期恒定,故計數(shù)值就恒定地對應(yīng)于一定的時間,這一過程即為定時,如果值就恒定地對應(yīng)于一定的時間,這一過程即為定時,如果計數(shù)的對象是與外部過程相對應(yīng)的脈沖信號(周期可以不計數(shù)的對象是與外部過程相對應(yīng)的脈沖信號(周期可以不相等),則此時即為計數(shù)。相等),則此時即為計數(shù)。32定時與計數(shù)的實現(xiàn)方法定時與計數(shù)的實現(xiàn)方法(1)硬件法。專門設(shè)計一套電路用以實現(xiàn)定時與計數(shù),)硬件法。專門設(shè)計一套電路用以實現(xiàn)定時與計數(shù),特點是需要花費
3、一定的硬件設(shè)備,而且當(dāng)電路制成之后,特點是需要花費一定的硬件設(shè)備,而且當(dāng)電路制成之后,定時值及計數(shù)范圍不能改變。定時值及計數(shù)范圍不能改變。(2)軟件法。利用一段延時子程序來實現(xiàn)定時操作,特)軟件法。利用一段延時子程序來實現(xiàn)定時操作,特點是無需太多的硬件設(shè)備,控制比較方便,但在定時期間點是無需太多的硬件設(shè)備,控制比較方便,但在定時期間,CPU不能從事其他工作,降低了機器的利用率。不能從事其他工作,降低了機器的利用率。(3)軟、硬件結(jié)合法。即設(shè)計一種專門的具有可編程特)軟、硬件結(jié)合法。即設(shè)計一種專門的具有可編程特性的芯片來控制定時和計數(shù)的操作,而這些芯片具有中斷性的芯片來控制定時和計數(shù)的操作,而這
4、些芯片具有中斷控制能力,定時、計數(shù)到時能產(chǎn)生中斷請求信號,因而定控制能力,定時、計數(shù)到時能產(chǎn)生中斷請求信號,因而定時期間不影響時期間不影響CPU的正常工作。的正常工作。47.1.2 定時定時/計數(shù)器芯片計數(shù)器芯片Intel8253Intel8253是是8086/8088微機系統(tǒng)常用的定時微機系統(tǒng)常用的定時/計數(shù)器芯片,它計數(shù)器芯片,它具有定時與計數(shù)兩大功能,同類型的定時具有定時與計數(shù)兩大功能,同類型的定時/計數(shù)器芯片還有計數(shù)器芯片還有Intel8254等。等。18253的一般性能概述的一般性能概述(1)每個)每個8253芯片有芯片有3個獨立的個獨立的16位計數(shù)器通道。位計數(shù)器通道。(2)每個計
5、數(shù)器通道都可以按照二進制或二)每個計數(shù)器通道都可以按照二進制或二-十進制計數(shù)十進制計數(shù)。(3)每個計數(shù)器的計數(shù)速率可以高達)每個計數(shù)器的計數(shù)速率可以高達2MHz。(4)每個通道有)每個通道有6種工作方式,可以由程序設(shè)定和改變。種工作方式,可以由程序設(shè)定和改變。(5)所有的輸入、輸出電平都與)所有的輸入、輸出電平都與TTL兼容。兼容。5628253的外部引腳的外部引腳8253芯片是具有芯片是具有24個引腳的雙列直插式集成電路芯片,其個引腳的雙列直插式集成電路芯片,其引腳分布如圖引腳分布如圖7-2所示。所示。 738253的控制字的控制字8253有一個有一個8位的控制字寄存器,其格式如圖位的控制字
6、寄存器,其格式如圖7-3所示。所示。848253的工作方式的工作方式8253共有共有6種工作方式,各方式下的工作狀態(tài)是不同的種工作方式,各方式下的工作狀態(tài)是不同的,輸出的波形也不同,其中比較靈活的是門控信號的作,輸出的波形也不同,其中比較靈活的是門控信號的作用。由此組成了用。由此組成了8253豐富的工作方式、波形。豐富的工作方式、波形。 (1)幾條基本原則。)幾條基本原則。1)控制字寫入計數(shù)器時,所有的控制邏輯電路立即復(fù)位,輸出端)控制字寫入計數(shù)器時,所有的控制邏輯電路立即復(fù)位,輸出端OUT進入初始狀態(tài)。初始狀態(tài)對不同的模式來說不一定相同。進入初始狀態(tài)。初始狀態(tài)對不同的模式來說不一定相同。2)
7、計數(shù)初始值寫入之后,要經(jīng)過一個時鐘周期上升沿和一個下降)計數(shù)初始值寫入之后,要經(jīng)過一個時鐘周期上升沿和一個下降沿,計數(shù)執(zhí)行部才可以開始進行計數(shù)操作,因為第一個下降沿將計沿,計數(shù)執(zhí)行部才可以開始進行計數(shù)操作,因為第一個下降沿將計數(shù)寄存器的內(nèi)容送減數(shù)寄存器的內(nèi)容送減1計數(shù)器。計數(shù)器。3)通常,在每個時鐘脈沖)通常,在每個時鐘脈沖CLK的上升沿,采樣門控信號的上升沿,采樣門控信號GATE。不同的工作方式下,門控信號的觸發(fā)方式是有具體規(guī)定的,即或者不同的工作方式下,門控信號的觸發(fā)方式是有具體規(guī)定的,即或者是電平觸發(fā),或者是邊沿觸發(fā),在有的模式中,兩種觸發(fā)方式都是是電平觸發(fā),或者是邊沿觸發(fā),在有的模式中
8、,兩種觸發(fā)方式都是允許的。其中允許的。其中0、2、3、4是電平觸發(fā)方式,是電平觸發(fā)方式,1、2、3、5是上升沿觸是上升沿觸發(fā)。發(fā)。4)在時鐘脈沖的下降沿,計數(shù)器作減)在時鐘脈沖的下降沿,計數(shù)器作減1計數(shù),計數(shù),0是計數(shù)器所能容納是計數(shù)器所能容納的最大初始值。二進制相當(dāng)于的最大初始值。二進制相當(dāng)于216,用,用BCD碼計數(shù)時,相當(dāng)于碼計數(shù)時,相當(dāng)于104。 9(2)方式)方式0:計數(shù)結(jié)束產(chǎn)生中斷。方式:計數(shù)結(jié)束產(chǎn)生中斷。方式0的波形如圖的波形如圖7-4所示所示,當(dāng)控制字寫入控制字寄存器后,輸出,當(dāng)控制字寫入控制字寄存器后,輸出OUT就變低,當(dāng)計就變低,當(dāng)計數(shù)值寫入計數(shù)器后開始計數(shù),在整個計數(shù)過程
9、中,數(shù)值寫入計數(shù)器后開始計數(shù),在整個計數(shù)過程中,OUT保保持為低,當(dāng)計數(shù)到持為低,當(dāng)計數(shù)到0后,后,OUT變高;變高;GATE的高低電平控制的高低電平控制計數(shù)過程是否進行。計數(shù)過程是否進行。10(3)方式)方式1:可編程的硬件觸發(fā)單拍脈沖。:可編程的硬件觸發(fā)單拍脈沖。 11(4)方式)方式2:速率發(fā)生器。方式:速率發(fā)生器。方式2的波形如圖的波形如圖7-6所示所示 。12(5)方式)方式3:方波速率發(fā)生器。:方波速率發(fā)生器。 1314(6)方式)方式4:軟件觸發(fā)的選通信號發(fā)生器。:軟件觸發(fā)的選通信號發(fā)生器。 15(7)方式)方式5:硬件觸發(fā)的選通信號發(fā)生器。:硬件觸發(fā)的選通信號發(fā)生器。 16(8
10、)8253的工作方式小結(jié)。的工作方式小結(jié)。 1)方式)方式2、4、5的輸出波形是相同的,都是寬度為一個的輸出波形是相同的,都是寬度為一個CLK周期的負脈沖,但方式周期的負脈沖,但方式2連續(xù)工作,方式連續(xù)工作,方式4由軟件觸發(fā)由軟件觸發(fā)啟動,方式啟動,方式5由硬件觸發(fā)啟動。由硬件觸發(fā)啟動。2)方式)方式5與方式與方式1的工作過程相同,但輸出波形不同,方式的工作過程相同,但輸出波形不同,方式1輸出的是寬度為輸出的是寬度為N個個CLK脈沖的低電平有效的脈沖(計數(shù)脈沖的低電平有效的脈沖(計數(shù)過程中輸出為低),而方式過程中輸出為低),而方式5輸出的是寬度為一個輸出的是寬度為一個CLK脈脈沖的負脈沖(計數(shù)
11、過程中輸出為高)。沖的負脈沖(計數(shù)過程中輸出為高)。3)輸出端)輸出端OUT的初始狀態(tài)。方式的初始狀態(tài)。方式0在寫入方式字后輸出為在寫入方式字后輸出為低;其余方式,寫入控制字后輸出均變?yōu)楦摺5停黄溆喾绞?,寫入控制字后輸出均變?yōu)楦摺?)任一種方式,均是在寫入計數(shù)初值之后才能開始計數(shù),)任一種方式,均是在寫入計數(shù)初值之后才能開始計數(shù),方式方式0、2、3、4都是在寫入計數(shù)初值之后開始計數(shù)的,而都是在寫入計數(shù)初值之后開始計數(shù)的,而方式方式1和方式和方式5需要外部觸發(fā)啟動才開始計數(shù)。需要外部觸發(fā)啟動才開始計數(shù)。175)6種工作方式中,只有方式種工作方式中,只有方式2和方式和方式3是連續(xù)計數(shù),其他方是連續(xù)
12、計數(shù),其他方式都是一次計數(shù),要繼續(xù)工作需要重新啟動,方式式都是一次計數(shù),要繼續(xù)工作需要重新啟動,方式0、4由軟由軟件啟動,方式件啟動,方式1、5由硬件啟動。由硬件啟動。6)門控信號的作用。通過門控信號)門控信號的作用。通過門控信號GATE,可以干預(yù),可以干預(yù)8253某一通道的計數(shù)過程,在不同的工作方式下,門控信號起作某一通道的計數(shù)過程,在不同的工作方式下,門控信號起作用的方式也不同,其中用的方式也不同,其中0、2、3、4是電平起作用,是電平起作用,1、2、3、5是上升沿起作用,方式是上升沿起作用,方式2、3對電平和上升沿都可以起作對電平和上升沿都可以起作用。用。7)在計數(shù)過程中改變計數(shù)值,它們
13、的作用有所不同。)在計數(shù)過程中改變計數(shù)值,它們的作用有所不同。8)計數(shù)到)計數(shù)到0后計數(shù)器的狀態(tài)。方式后計數(shù)器的狀態(tài)。方式0、1、4、5進行倒計數(shù),進行倒計數(shù),變?yōu)樽優(yōu)镕F、FE,而方式,而方式2、3則自動裝入計數(shù)初值繼續(xù)計則自動裝入計數(shù)初值繼續(xù)計數(shù)。數(shù)。187.2 可編程并行接口芯片可編程并行接口芯片8255A7.2.1 并行通信與接口并行通信與接口Intel 8255A是一個通用的可編程并行接口芯片,它有三個是一個通用的可編程并行接口芯片,它有三個并行并行I/O口,又可通過編程設(shè)置多種工作方式,價格低廉、口,又可通過編程設(shè)置多種工作方式,價格低廉、使用方便,可以直接與使用方便,可以直接與I
14、ntel系列的芯片連接使用,在中小系列的芯片連接使用,在中小系統(tǒng)中有著廣泛的應(yīng)用。系統(tǒng)中有著廣泛的應(yīng)用。 197.2.2 8255A的編程結(jié)構(gòu)的編程結(jié)構(gòu)8255A的編程結(jié)構(gòu)如圖的編程結(jié)構(gòu)如圖7-10所示,由以下幾部分組成:所示,由以下幾部分組成:(1)三個數(shù)據(jù)端口)三個數(shù)據(jù)端口A、B、C。這三個端口均可看作是。這三個端口均可看作是I/O口,但它們的結(jié)構(gòu)和功能稍有不同???,但它們的結(jié)構(gòu)和功能稍有不同。(2)A組和組和B組的控制電路。組的控制電路。 (3)數(shù)據(jù)總線緩沖器。)數(shù)據(jù)總線緩沖器。 (4)讀)讀/寫控制邏輯。寫控制邏輯。 207.2.3 8255A的引腳功能的引腳功能引腳信號可以分為兩組:
15、一組是面向引腳信號可以分為兩組:一組是面向CPU的信號,一組是的信號,一組是面向外設(shè)的信號。面向外設(shè)的信號。1面向面向CPU的引腳信號及功能的引腳信號及功能2面向外設(shè)的引腳信號及功能面向外設(shè)的引腳信號及功能PA0PA7:A組數(shù)據(jù)信號,用來連接外設(shè)。組數(shù)據(jù)信號,用來連接外設(shè)。PB0PB7:B組數(shù)據(jù)信號,用來連接外設(shè)。組數(shù)據(jù)信號,用來連接外設(shè)。PC0PC7:C組數(shù)據(jù)信號,用來連接外設(shè)或者作為控制組數(shù)據(jù)信號,用來連接外設(shè)或者作為控制信號。信號。217.2.4 8255A的工作方式的工作方式8255A有三種工作方式,用戶可以通過編程來設(shè)置:有三種工作方式,用戶可以通過編程來設(shè)置:方式方式0:簡單輸入:
16、簡單輸入/輸出,查詢方式,輸出,查詢方式,A、B、C三個端口均三個端口均可。可。方式方式1:選通輸入:選通輸入/輸出,中斷方式,輸出,中斷方式,A和和B兩個端口均可。兩個端口均可。方式方式2:雙向輸入:雙向輸入/輸出,中斷方式,只有輸出,中斷方式,只有A端口才有。端口才有。工作方式的選擇可通過向控制端口寫入控制字來實現(xiàn)。在工作方式的選擇可通過向控制端口寫入控制字來實現(xiàn)。在不同的工作方式下,不同的工作方式下,8255A三個輸入三個輸入/輸出端口的排列示意輸出端口的排列示意圖如圖圖如圖7-11所示。所示。2223(1)方式)方式0。一種簡單的輸入。一種簡單的輸入/輸出方式,沒有規(guī)定固定的輸出方式,
17、沒有規(guī)定固定的應(yīng)答聯(lián)絡(luò)信號,可用應(yīng)答聯(lián)絡(luò)信號,可用A、B、C三個口的任一位充當(dāng)查詢信號三個口的任一位充當(dāng)查詢信號,其余,其余I/O口仍可作為獨立的端口和外設(shè)相連。方式口仍可作為獨立的端口和外設(shè)相連。方式0的應(yīng)用的應(yīng)用場合有兩種:一種是同步傳送,一種是查詢傳送。場合有兩種:一種是同步傳送,一種是查詢傳送。(2)方式)方式1。方式。方式1是一種選通是一種選通I/O方式,方式,A口和口和B口仍作為口仍作為兩個獨立的兩個獨立的8位位I/O數(shù)據(jù)通道,可單獨連接外設(shè),通過編程分?jǐn)?shù)據(jù)通道,可單獨連接外設(shè),通過編程分別設(shè)置它們?yōu)檩斎牖蜉敵?,而別設(shè)置它們?yōu)檩斎牖蜉敵?,而C口要有口要有6位,分成兩個位,分成兩個3
18、位,位,分別作為分別作為A口和口和B口的應(yīng)答聯(lián)絡(luò)線,其余兩位仍可工作在方口的應(yīng)答聯(lián)絡(luò)線,其余兩位仍可工作在方式式0,可通過編程設(shè)置為輸入或輸出。,可通過編程設(shè)置為輸入或輸出。(3)方式)方式2。方式。方式2為雙向選通為雙向選通I/O方式,只有方式,只有A口才有此方口才有此方式。這時,式。這時,C口有口有5根線用作根線用作A口的應(yīng)答聯(lián)絡(luò)信號,其余口的應(yīng)答聯(lián)絡(luò)信號,其余3根根線可用作方式線可用作方式0,也可用作,也可用作B口方式口方式1的應(yīng)答聯(lián)絡(luò)線。的應(yīng)答聯(lián)絡(luò)線。方式方式2就是方式就是方式1的輸入與輸出方式的組合,各應(yīng)答信號的功的輸入與輸出方式的組合,各應(yīng)答信號的功能也相同。而能也相同。而C口余下
19、的口余下的PC0PC2正好可以充當(dāng)正好可以充當(dāng)B口方式口方式1的應(yīng)答聯(lián)絡(luò)線,若的應(yīng)答聯(lián)絡(luò)線,若B口不用或工作于方式口不用或工作于方式0,則這三條線也可,則這三條線也可工作于方式工作于方式0 247.3 可編程串行接口芯片可編程串行接口芯片8251A7.3.1 8251A的基本性能的基本性能8251A是可編程的串行通信接口芯片,基本性能如下:是可編程的串行通信接口芯片,基本性能如下:(1)兩種工作方式。同步方式和異步方式。同步方式下,)兩種工作方式。同步方式和異步方式。同步方式下,波特率為波特率為064K;異步方式下,波特率為;異步方式下,波特率為019.2K。(2)同步方式下的格式。每個字符可
20、以用)同步方式下的格式。每個字符可以用5、6、7或或8位來位來表示,并且內(nèi)部能自動檢測同步字符,從而實現(xiàn)同步。除此表示,并且內(nèi)部能自動檢測同步字符,從而實現(xiàn)同步。除此之外,之外,8251A也允許同步方式下增加奇也允許同步方式下增加奇/偶校驗位進行校驗。偶校驗位進行校驗。(3)異步方式下的格式。每個字符也可以用)異步方式下的格式。每個字符也可以用5、6、7或或8位位來表示,時鐘頻率為傳輸波特率的來表示,時鐘頻率為傳輸波特率的1、16或或64倍,用倍,用1位作為位作為奇奇/偶校驗,偶校驗,1個啟動位,并能根據(jù)編程為每個數(shù)據(jù)增加個啟動位,并能根據(jù)編程為每個數(shù)據(jù)增加1個個、1.5個或個或2個停止位???/p>
21、以檢查假啟動位,自動檢測和處理個停止位??梢詸z查假啟動位,自動檢測和處理終止字符。終止字符。 (4)全雙工的工作方式。其內(nèi)部提供具有雙緩沖器的發(fā)送)全雙工的工作方式。其內(nèi)部提供具有雙緩沖器的發(fā)送器和接收器。器和接收器。(5)提供出錯檢測。具有奇偶、溢出和幀錯誤三種校驗電)提供出錯檢測。具有奇偶、溢出和幀錯誤三種校驗電路。路。257.3.2 8251A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8251A的內(nèi)部結(jié)構(gòu)如圖的內(nèi)部結(jié)構(gòu)如圖7-12所示。所示。1發(fā)送器發(fā)送器發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。發(fā)送器由發(fā)送緩沖器和發(fā)送控制電路兩部分組成。 2接收器接收器接收器由接收緩沖器和接收控制電路兩部分組成。接收器由
22、接收緩沖器和接收控制電路兩部分組成。3數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是數(shù)據(jù)總線緩沖器是CPU與與8251A之間的數(shù)據(jù)接口,包含之間的數(shù)據(jù)接口,包含3個個8位的緩沖寄存器位的緩沖寄存器 4讀讀/寫控制電路寫控制電路讀讀/寫控制電路用來配合數(shù)據(jù)總線緩沖器的工作寫控制電路用來配合數(shù)據(jù)總線緩沖器的工作 26277.3.3 8251A的引腳功能的引腳功能8251A的引腳如圖的引腳如圖7-13所示。所示。2818251A和和CPU之間的連接信號之間的連接信號8251A和和CPU之間的連接信號可以分為以下之間的連接信號可以分為以下4類:類: (1)片選信號。)片選信號。(2)數(shù)據(jù)信號。)數(shù)據(jù)信號
23、。(3)讀)讀/寫控制信號。寫控制信號。(4)收發(fā)聯(lián)絡(luò)信號。)收發(fā)聯(lián)絡(luò)信號。28251A與外部設(shè)備之間的連接信號與外部設(shè)備之間的連接信號8251A與外部設(shè)備之間的連接信號分為以下兩類:與外部設(shè)備之間的連接信號分為以下兩類:(1)收發(fā)聯(lián)絡(luò)信號。)收發(fā)聯(lián)絡(luò)信號。(2)數(shù)據(jù)信號。)數(shù)據(jù)信號。3時鐘、電源和地時鐘、電源和地8251A除了與除了與CPU及外設(shè)的連接信號外,還有電源端、地及外設(shè)的連接信號外,還有電源端、地端和端和3個時鐘端。個時鐘端。297.3.4 8251A的編程的編程編程的內(nèi)容包括兩大方面:一是由編程的內(nèi)容包括兩大方面:一是由CPU發(fā)出的控制字,即發(fā)出的控制字,即方式選擇控制字和操作命
24、令控制字;二是由方式選擇控制字和操作命令控制字;二是由8251A向向CPU送送出的狀態(tài)字。出的狀態(tài)字。1方式選擇控制字(模式字)方式選擇控制字(模式字)方式選擇控制字的格式如圖方式選擇控制字的格式如圖7-14所示。所示。30312操作命令控制字(控制字)操作命令控制字(控制字)操作命令控制字的格式如圖操作命令控制字的格式如圖7-15所示。所示。3狀態(tài)字狀態(tài)字狀態(tài)字的格式如圖狀態(tài)字的格式如圖7-16所示。所示。3233DSRSYNDET/BRKDETFEOEEPETxERxRDYTxRDYD7D6D5D4D3D2D1D0數(shù)據(jù)裝置準(zhǔn)備好奇偶錯標(biāo)志溢出錯標(biāo)志幀校驗錯標(biāo)志發(fā)送器準(zhǔn)備好接收器準(zhǔn)備好發(fā)送器
25、空SYNDETBRKDET1已達到同步0未達到同步1接收到斷缺字符0正常工作34例如,若要查詢例如,若要查詢8251A接收器是否準(zhǔn)備好,則可用下列程接收器是否準(zhǔn)備好,則可用下列程序段完成:序段完成: MOV DX,0FFF2H ;狀態(tài)口狀態(tài)口L:IN AL,DX ;讀狀態(tài)口讀狀態(tài)口 ANDAL,02H ;查查Dl=1?即準(zhǔn)備好了嗎?即準(zhǔn)備好了嗎? JZ L ;未準(zhǔn)備好,則等待未準(zhǔn)備好,則等待 MOV DX,OFFF0H ;數(shù)據(jù)口數(shù)據(jù)口 IN Al,DX ;已準(zhǔn)備好則輸入數(shù)據(jù)已準(zhǔn)備好則輸入數(shù)據(jù)3548251A的初始化的初始化步驟及流程圖(如圖步驟及流程圖(如圖7-17所示)如下:所示)如下:(1
26、)芯片復(fù)位以后,第一次用奇地址端口寫入的值作為)芯片復(fù)位以后,第一次用奇地址端口寫入的值作為模式字進入模式寄存器。模式字進入模式寄存器。(2)按照模式字中的規(guī)定,使)按照模式字中的規(guī)定,使8251A工作在同步模式。工作在同步模式。(3)由)由CPU用奇地址端口寫入的值將作為控制字送到控用奇地址端口寫入的值將作為控制字送到控制寄存器,而用偶地址端口寫入的值將作為數(shù)據(jù)送到數(shù)據(jù)制寄存器,而用偶地址端口寫入的值將作為數(shù)據(jù)送到數(shù)據(jù)輸出緩沖寄存器。輸出緩沖寄存器。36系統(tǒng)RESET初始化置方式輸出方式指令異步?輸出第一個同步字符一個同步字符?輸出第二個同步字符輸出命令指令傳送數(shù)據(jù)YYYYNNNNRESET
27、?完成?377.4 其他接口芯片介紹其他接口芯片介紹在外設(shè)接口電路中,經(jīng)常需要對傳輸過程中的信息進行放在外設(shè)接口電路中,經(jīng)常需要對傳輸過程中的信息進行放大、隔離以及鎖存,能實現(xiàn)上述功能的接口芯片最簡單的大、隔離以及鎖存,能實現(xiàn)上述功能的接口芯片最簡單的就是緩沖器、數(shù)據(jù)收發(fā)器和鎖存器。就是緩沖器、數(shù)據(jù)收發(fā)器和鎖存器。74LS373是一種是一種8D鎖存器,具有三態(tài)驅(qū)動輸出,其引腳電鎖存器,具有三態(tài)驅(qū)動輸出,其引腳電路如圖路如圖7-18所示。所示。74LS373的鎖存功能如表的鎖存功能如表7-2所示。所示。74LS373鎖存器主要用于鎖存地址信息、數(shù)據(jù)信息以及鎖存器主要用于鎖存地址信息、數(shù)據(jù)信息以及
28、DMA頁面地址信息等。頁面地址信息等。 38397.4.1 Intel 8279Intel 8279是一種通用的可編程序的鍵盤、顯示接口器件,是一種通用的可編程序的鍵盤、顯示接口器件,單片器件就能夠完成鍵盤輸入和顯示控制兩種功能。單片器件就能夠完成鍵盤輸入和顯示控制兩種功能。 7.4.2 HD7279AHD7279A是比高公司生產(chǎn)的單片具有串行接口、可同時驅(qū)是比高公司生產(chǎn)的單片具有串行接口、可同時驅(qū)動動8位共陰式數(shù)碼管(或位共陰式數(shù)碼管(或64只獨立只獨立LED)的智能顯示驅(qū)動)的智能顯示驅(qū)動芯片,該芯片可同時連接多達芯片,該芯片可同時連接多達64鍵的鍵盤矩陣,一片即可鍵的鍵盤矩陣,一片即可完
29、成完成LED顯示及鍵盤接口的全部功能。顯示及鍵盤接口的全部功能。 407.5 CPU和外設(shè)之間的數(shù)據(jù)傳送方式和外設(shè)之間的數(shù)據(jù)傳送方式各種外設(shè)的工作速度相差很大,如磁盤機的傳送速度高達各種外設(shè)的工作速度相差很大,如磁盤機的傳送速度高達0.1Mbps6Mbps,而鍵盤人工輸入數(shù)據(jù)的速度通常為幾,而鍵盤人工輸入數(shù)據(jù)的速度通常為幾十毫秒十毫秒1個字節(jié)。由于外設(shè)受機械和其他因素的影響工作速個字節(jié)。由于外設(shè)受機械和其他因素的影響工作速度不一致,度不一致,CPU何時從輸入設(shè)備讀取數(shù)據(jù)以及何時往輸出何時從輸入設(shè)備讀取數(shù)據(jù)以及何時往輸出設(shè)備寫入數(shù)據(jù)成為較復(fù)雜的定時問題。設(shè)備寫入數(shù)據(jù)成為較復(fù)雜的定時問題。CPU與
30、外設(shè)之間的數(shù)據(jù)傳送方式有三種:程序方式、中斷與外設(shè)之間的數(shù)據(jù)傳送方式有三種:程序方式、中斷方式和方式和DMA方式。方式。417.5.1 程序方式程序方式程序方式是指在程序控制下進行信息傳送。程序傳送又分程序方式是指在程序控制下進行信息傳送。程序傳送又分為無條件傳送方式和條件傳送方式。為無條件傳送方式和條件傳送方式。1無條件傳送無條件傳送無條件傳送是指計算機能夠確認(rèn)一個外設(shè)已經(jīng)準(zhǔn)備就緒,無條件傳送是指計算機能夠確認(rèn)一個外設(shè)已經(jīng)準(zhǔn)備就緒,不必查詢外設(shè)的狀態(tài)即可直接進行信息傳輸。不必查詢外設(shè)的狀態(tài)即可直接進行信息傳輸。 輸出鎖存器輸入緩沖器端口譯碼器往輸出設(shè)備來自輸入設(shè)備D7D0地址總線M/422條
31、件傳送方式條件傳送方式條件傳送也稱為查詢方式傳送。查詢方式是主機在傳送數(shù)條件傳送也稱為查詢方式傳送。查詢方式是主機在傳送數(shù)據(jù)(包括讀入和寫出)之前要檢查外設(shè)是否據(jù)(包括讀入和寫出)之前要檢查外設(shè)是否“準(zhǔn)備好準(zhǔn)備好”,若沒有準(zhǔn)備好,則繼續(xù)檢查其狀態(tài),直至外設(shè)準(zhǔn)備好了,若沒有準(zhǔn)備好,則繼續(xù)檢查其狀態(tài),直至外設(shè)準(zhǔn)備好了,即確認(rèn)外設(shè)已具備傳送條件之后才能進行數(shù)據(jù)傳送。即確認(rèn)外設(shè)已具備傳送條件之后才能進行數(shù)據(jù)傳送。 43輸入設(shè)備鎖存器數(shù)據(jù)緩沖器三態(tài)緩沖器R Q+5V數(shù)據(jù)選通地址譯碼數(shù)據(jù) 44READ=1?輸入一個字節(jié)到CPU對數(shù)據(jù)進行處理輸入完?結(jié)束YNYN457.5.2 中斷方式中斷方式1中斷傳送的工
32、作原理中斷傳送的工作原理在中斷傳送方式下,外設(shè)具有申請在中斷傳送方式下,外設(shè)具有申請CPU服務(wù)的主動權(quán)。當(dāng)服務(wù)的主動權(quán)。當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好或者輸出設(shè)備可以接收數(shù)據(jù)時,便輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好或者輸出設(shè)備可以接收數(shù)據(jù)時,便可以向可以向CPU發(fā)出中斷請求,使發(fā)出中斷請求,使CPU暫時停下當(dāng)前的工作而暫時停下當(dāng)前的工作而和外設(shè)進行一次數(shù)據(jù)傳輸,等數(shù)據(jù)傳輸操作過程結(jié)束后,和外設(shè)進行一次數(shù)據(jù)傳輸,等數(shù)據(jù)傳輸操作過程結(jié)束后,CPU再繼續(xù)進行原來的工作??梢?,在中斷傳送方式下,再繼續(xù)進行原來的工作??梢姡谥袛鄠魉头绞较?,CPU不必花大量時間去查詢外設(shè)的工作狀態(tài),因為外設(shè)準(zhǔn)不必花大量時間去查詢外設(shè)的工作狀
33、態(tài),因為外設(shè)準(zhǔn)備就緒后會主動發(fā)出中斷請求信號。然而備就緒后會主動發(fā)出中斷請求信號。然而CPU必須具有這必須具有這樣的功能:在每條指令執(zhí)行完畢后,會檢查外部是否有中樣的功能:在每條指令執(zhí)行完畢后,會檢查外部是否有中斷請求信號。如有中斷請求,在中斷標(biāo)志為斷請求信號。如有中斷請求,在中斷標(biāo)志為1的情況下,的情況下,CPU保留下一條指令的地址(稱為斷點)和當(dāng)前的標(biāo)志,保留下一條指令的地址(稱為斷點)和當(dāng)前的標(biāo)志,轉(zhuǎn)到中斷服務(wù)程序去執(zhí)行。當(dāng)從中斷服務(wù)程序返回時,轉(zhuǎn)到中斷服務(wù)程序去執(zhí)行。當(dāng)從中斷服務(wù)程序返回時,CPU會恢復(fù)標(biāo)志和斷點地址。會恢復(fù)標(biāo)志和斷點地址。 462中斷源類型中斷源類型發(fā)出中斷請求的外部
34、設(shè)備或引起中斷的內(nèi)部原因稱為中斷發(fā)出中斷請求的外部設(shè)備或引起中斷的內(nèi)部原因稱為中斷源。在源。在8086系統(tǒng)中,有兩類中斷:外部中斷和內(nèi)部中斷。系統(tǒng)中,有兩類中斷:外部中斷和內(nèi)部中斷。(1)外部中斷。)外部中斷。 1)不可屏蔽中斷)不可屏蔽中斷NMI。 2)可屏蔽中斷)可屏蔽中斷INTR。(2)內(nèi)部中斷。)內(nèi)部中斷。 3中斷優(yōu)先級中斷優(yōu)先級當(dāng)系統(tǒng)有多個中斷源時,就可能同時出現(xiàn)幾個中斷源申請當(dāng)系統(tǒng)有多個中斷源時,就可能同時出現(xiàn)幾個中斷源申請中斷,而中斷,而CPU在一個時刻只能響應(yīng)并處理一個中斷請求。在一個時刻只能響應(yīng)并處理一個中斷請求。為此,應(yīng)根據(jù)任務(wù)的輕重緩急給每個中斷源指定為此,應(yīng)根據(jù)任務(wù)的輕
35、重緩急給每個中斷源指定CPU響應(yīng)響應(yīng)的優(yōu)先級。安排了優(yōu)先級后,當(dāng)有多個中斷源申請中斷時的優(yōu)先級。安排了優(yōu)先級后,當(dāng)有多個中斷源申請中斷時,CPU只響應(yīng)并處理優(yōu)先級最高的中斷申請。通常在微機只響應(yīng)并處理優(yōu)先級最高的中斷申請。通常在微機系統(tǒng)中采用軟件查詢方式、簡單硬件方式和可編程中斷控系統(tǒng)中采用軟件查詢方式、簡單硬件方式和可編程中斷控制器解決優(yōu)先級問題。制器解決優(yōu)先級問題。477.5.3 DMA方式方式DMA主要用于需要高速大批量數(shù)據(jù)傳送的系統(tǒng)中,以提高主要用于需要高速大批量數(shù)據(jù)傳送的系統(tǒng)中,以提高數(shù)據(jù)的吞吐量。數(shù)據(jù)的吞吐量。 1DMA控制器的功能控制器的功能DMA控制器具有以下功能:控制器具有以
36、下功能:(1)當(dāng)外設(shè)準(zhǔn)備就緒希望進行)當(dāng)外設(shè)準(zhǔn)備就緒希望進行DMA操作時,會向操作時,會向DMA控控制器發(fā)出制器發(fā)出DMA請求信號,請求信號,DMA控制器接到此信號后,向控制器接到此信號后,向CPU發(fā)總線請求信號。發(fā)總線請求信號。(2)CPU接到總線請求信號后,如果允許,則會發(fā)出接到總線請求信號后,如果允許,則會發(fā)出DMA響應(yīng)信號,從而響應(yīng)信號,從而CPU放棄對總線的控制,這時放棄對總線的控制,這時DMA控制器應(yīng)能實現(xiàn)對總線的控制??刂破鲬?yīng)能實現(xiàn)對總線的控制。48(3)DMA控制器得到總線控制權(quán)后,要向地址總線發(fā)送控制器得到總線控制權(quán)后,要向地址總線發(fā)送地址信號,修改所用的存儲器或接口的地址指
37、針。為此,地址信號,修改所用的存儲器或接口的地址指針。為此,DMA控制器內(nèi)部有地址寄存器。一開始,由軟件向此寄存控制器內(nèi)部有地址寄存器。一開始,由軟件向此寄存器中設(shè)置器中設(shè)置DMA的首地址。在的首地址。在DMA操作過程中,每傳送一操作過程中,每傳送一個字節(jié),就會自動對地址寄存器的內(nèi)容進行修改,以指向個字節(jié),就會自動對地址寄存器的內(nèi)容進行修改,以指向下一個要傳送的字節(jié)。下一個要傳送的字節(jié)。(4)在)在DMA傳送期間,傳送期間,DMA控制器應(yīng)能發(fā)出讀控制器應(yīng)能發(fā)出讀/寫信號寫信號。(5)DMA內(nèi)部有一個字節(jié)計數(shù)器,用來存放所傳送的字內(nèi)部有一個字節(jié)計數(shù)器,用來存放所傳送的字節(jié)數(shù)。在節(jié)數(shù)。在DMA過程
38、中,每傳送一個字節(jié),字節(jié)計數(shù)器的值過程中,每傳送一個字節(jié),字節(jié)計數(shù)器的值便自動減便自動減1,當(dāng)字節(jié)計數(shù)器的值為,當(dāng)字節(jié)計數(shù)器的值為0時,時,DMA過程結(jié)束。過程結(jié)束。(6)DMA過程結(jié)束時,過程結(jié)束時,DMA控制器應(yīng)向控制器應(yīng)向CPU發(fā)出結(jié)束信發(fā)出結(jié)束信號,將總線控制權(quán)交還給號,將總線控制權(quán)交還給CPU。492DMA控制器的結(jié)構(gòu)及工作原理控制器的結(jié)構(gòu)及工作原理DMA控制器有兩種工作方式:單個數(shù)據(jù)傳輸和數(shù)據(jù)塊傳輸控制器有兩種工作方式:單個數(shù)據(jù)傳輸和數(shù)據(jù)塊傳輸。在單個數(shù)據(jù)傳輸方式下,每次數(shù)據(jù)傳輸之后,。在單個數(shù)據(jù)傳輸方式下,每次數(shù)據(jù)傳輸之后,DMA控制控制器立即將控制權(quán)還給器立即將控制權(quán)還給CPU
39、;在數(shù)據(jù)塊傳輸方式下,;在數(shù)據(jù)塊傳輸方式下,DMA控控制器直到整個數(shù)據(jù)塊傳輸完畢之后才將控制權(quán)交還給制器直到整個數(shù)據(jù)塊傳輸完畢之后才將控制權(quán)交還給CPU。在。在8086系統(tǒng)中,系統(tǒng)中,CPU通過通過HOLD引腳接收引腳接收DMA控制器的控制器的總線請求,而在總線請求,而在HLDA引腳上發(fā)出對總線請求的允許信號引腳上發(fā)出對總線請求的允許信號。DMA控制器向控制器向HOLD引腳發(fā)出一個高電平,表示發(fā)出總引腳發(fā)出一個高電平,表示發(fā)出總線請求,而當(dāng)線請求,而當(dāng)CPU在完成當(dāng)前總線操作后,就使在完成當(dāng)前總線操作后,就使HLDA引引腳出現(xiàn)高電平表示響應(yīng)總線請求。腳出現(xiàn)高電平表示響應(yīng)總線請求。DMA控制器收
40、到此信號控制器收到此信號后,成為總線的主宰。當(dāng)后,成為總線的主宰。當(dāng)DMA完成數(shù)據(jù)傳輸任務(wù)后,完成數(shù)據(jù)傳輸任務(wù)后,DMA控制器將控制器將HOLD端變?yōu)榈碗娖?,放棄對總線的控制。端變?yōu)榈碗娖?,放棄對總線的控制。8086系統(tǒng)檢測到系統(tǒng)檢測到HOLD信號變?yōu)榈碗娖胶?,也將信號變?yōu)榈碗娖胶螅矊LDA變?yōu)榈碗娮優(yōu)榈碗娖?,于是平,于是CPU又控制了系統(tǒng)總線,如圖又控制了系統(tǒng)總線,如圖7-22所示。所示。50地址總線數(shù)據(jù)總線控制總線DMA請求DMA響應(yīng)I/O設(shè)備總線請求總線響應(yīng)HRQ DREQHLDA DACKDMACHOLDHLDACPU51當(dāng)當(dāng)DMA工作在數(shù)據(jù)塊傳輸方式下,系統(tǒng)通過接口向內(nèi)存輸工作在
41、數(shù)據(jù)塊傳輸方式下,系統(tǒng)通過接口向內(nèi)存輸入一個數(shù)據(jù)塊的工作過程為:入一個數(shù)據(jù)塊的工作過程為:(1)接口向)接口向DMA控制器發(fā)出一個控制器發(fā)出一個DMA請求。請求。(2)DMA控制器發(fā)出總線請求,然后得到控制器發(fā)出總線請求,然后得到CPU送來的送來的DMA允許信號,得到總線控制權(quán)。允許信號,得到總線控制權(quán)。(3)DMA控制器中地址寄存器的內(nèi)容送到地址總線上??刂破髦械刂芳拇嫫鞯膬?nèi)容送到地址總線上。(4)DMA控制器向接口發(fā)一個確認(rèn)控制器向接口發(fā)一個確認(rèn)DMA傳輸?shù)男盘?,以傳輸?shù)男盘?,以便通知接口把?shù)據(jù)送到數(shù)據(jù)總線。便通知接口把數(shù)據(jù)送到數(shù)據(jù)總線。(5)數(shù)據(jù)送到地址總線所指定的內(nèi)存單元。)數(shù)據(jù)送到地
42、址總線所指定的內(nèi)存單元。(6)地址寄存器的值加)地址寄存器的值加1。(7)字節(jié)寄存器的值減)字節(jié)寄存器的值減1。(8)如果字節(jié)寄存器的值為)如果字節(jié)寄存器的值為0,則結(jié)束;否則返回第一步,則結(jié)束;否則返回第一步。 52下面給出一個典型的啟動數(shù)據(jù)塊輸入的程序段。程序中下面給出一個典型的啟動數(shù)據(jù)塊輸入的程序段。程序中INTSTAT表示接口的狀態(tài)寄存器,表示接口的狀態(tài)寄存器,INTCON表示接口的控表示接口的控制寄存器,制寄存器,DMACON表示表示DMA控制器的控制寄存器,控制器的控制寄存器,BYTE_REG和和ADD_REG分別表示分別表示DMA的字節(jié)計數(shù)器和地的字節(jié)計數(shù)器和地址計數(shù)器。址計數(shù)器
43、。 IDLE:INAL,INTSTAT;檢測設(shè)備是否是忙狀態(tài),如是,則等待TESTAL,04JNZIDLEMOVAX,COUNT;設(shè)置計數(shù)器OUTBYTE_REG,AXLEAAX,BUFFER;設(shè)置地址初值OUTADD_REG,AXMOVAL,DMAC;取原DMA控制字ORAL,49H ;設(shè)置方向、塊傳輸和允許標(biāo)志OUTDMACON,AL;設(shè)置DMA控制字MOVAL,INTC;設(shè)置接口的傳輸方向及允許標(biāo)志ORAL,05HOUTINTCON,AL;設(shè)置接口的控制字533DMA控制器的特點控制器的特點綜上所述,綜上所述,DMA控制器具有以下特點:控制器具有以下特點:(1)DMA控制器是一個特殊的接
44、口??刂破魇且粋€特殊的接口。DMA控制器是一控制器是一個接口電路,具有個接口電路,具有I/O端口地址,端口地址,CPU可以通過端口地址可以通過端口地址對對DMA控制器進行讀控制器進行讀/寫操作;另外,寫操作;另外,DMA控制器在獲控制器在獲得總線控制權(quán)后,可以控制系統(tǒng)總線,操縱外設(shè)與存儲得總線控制權(quán)后,可以控制系統(tǒng)總線,操縱外設(shè)與存儲器之間的數(shù)據(jù)傳輸。這是一般接口不具備的功能。器之間的數(shù)據(jù)傳輸。這是一般接口不具備的功能。(2)DMA控制器在傳輸數(shù)據(jù)時不用指令,而是通過硬控制器在傳輸數(shù)據(jù)時不用指令,而是通過硬件邏輯電路用固定順序發(fā)地址和讀件邏輯電路用固定順序發(fā)地址和讀/寫信號來實現(xiàn)高速數(shù)寫信號來
45、實現(xiàn)高速數(shù)據(jù)傳輸。在此過程中,數(shù)據(jù)不經(jīng)過據(jù)傳輸。在此過程中,數(shù)據(jù)不經(jīng)過CPU而是直接在外設(shè)而是直接在外設(shè)和存儲器之間傳輸。和存儲器之間傳輸。547.6 DMA控制器控制器Intel 82377.6.1 DMA控制器芯片控制器芯片Intel 8237的性能概述的性能概述7.6.2 8237的內(nèi)部組成與結(jié)構(gòu)的內(nèi)部組成與結(jié)構(gòu)18237的內(nèi)部組成的內(nèi)部組成8237的方框圖如圖的方框圖如圖7-23所示。所示。主要包含以下幾個部分:主要包含以下幾個部分:(1)四個獨立的)四個獨立的DMA通道。通道。 (2)定時及控制邏輯電路。)定時及控制邏輯電路。 (3)優(yōu)先級編碼邏輯。)優(yōu)先級編碼邏輯。 (4)共用寄存
46、器。)共用寄存器。 555628237的工作周期在設(shè)計8237時,規(guī)定它具有兩種主要的工作周期(或工作狀態(tài)),即空閑周期和有效周期,每一個周期又是由若干時鐘周期組成的。(1)空閑周期(Idle Cycle)。 DMA存儲器寫總線周期如圖7-24所示。 5758(2)有效周期()有效周期(Active Cycle)。當(dāng)處于空閑狀態(tài)的)。當(dāng)處于空閑狀態(tài)的8237的某一通道接收到外設(shè)提出的的某一通道接收到外設(shè)提出的DMA請求請求DREQ時,它立即時,它立即向向CPU輸出輸出HRQ有效信號,在未收到有效信號,在未收到CPU回答時,回答時,8237仍仍處于編程狀態(tài),又稱初始狀態(tài),記為處于編程狀態(tài),又稱初
47、始狀態(tài),記為S0狀態(tài)。狀態(tài)。38237的外部結(jié)構(gòu)圖的外部結(jié)構(gòu)圖8237是具有是具有40個引腳的雙列直插式集成電路芯片,其引腳個引腳的雙列直插式集成電路芯片,其引腳如圖如圖7-25所示。所示。596048237的工作方式的工作方式8237的各個通道在進行的各個通道在進行DMA傳送時,有傳送時,有4種工作方式:種工作方式:(1)單字節(jié)傳送方式。)單字節(jié)傳送方式。 (2)數(shù)據(jù)塊傳送。)數(shù)據(jù)塊傳送。 (3)請求傳送。)請求傳送。 (4)級聯(lián)方式。)級聯(lián)方式。 6158237的的DMA傳輸類型傳輸類型DMA所支持的所支持的DMA傳送可以在傳送可以在I/O接口到存儲器、存儲接口到存儲器、存儲器到器到I/O
48、接口以及內(nèi)存的不同區(qū)域之間進行,它們具有不接口以及內(nèi)存的不同區(qū)域之間進行,它們具有不同的特點,所需要的控制信號也不相同。同的特點,所需要的控制信號也不相同。(1)I/O接口到存儲器的傳送。接口到存儲器的傳送。 (2)存儲器到)存儲器到I/O接口。接口。 (3)存儲器到存儲器。)存儲器到存儲器。 68237各個通道的優(yōu)先級及傳輸速率各個通道的優(yōu)先級及傳輸速率(1)優(yōu)先級。)優(yōu)先級。8237有兩種優(yōu)先級方案可供編程選擇:有兩種優(yōu)先級方案可供編程選擇:1)固定優(yōu)先級:)固定優(yōu)先級: 2)循環(huán)優(yōu)先級:)循環(huán)優(yōu)先級: (2)傳送速率。)傳送速率。 627.6.3 8237的內(nèi)部寄存器組的內(nèi)部寄存器組(1
49、)基地址寄存器。)基地址寄存器。 (2)基字節(jié)數(shù)寄存器。)基字節(jié)數(shù)寄存器。 (3)當(dāng)前地址寄存器。)當(dāng)前地址寄存器。 (4)當(dāng)前字節(jié)數(shù)寄存器。)當(dāng)前字節(jié)數(shù)寄存器。 (5)地址暫存寄存器和字節(jié)數(shù)暫存寄存器。)地址暫存寄存器和字節(jié)數(shù)暫存寄存器。 (6)方式寄存器。)方式寄存器。 方式選擇00 請求傳輸方式01 單字節(jié)傳輸方式10 塊傳輸方式11 級聯(lián)傳輸方式D7D6D5D4D3D2D1D00通道00通道10通道20通道3通道選擇00 校驗傳輸01 寫傳輸10 讀傳輸11 無意義傳輸類型選擇自動預(yù)置功能選擇0 增11 減1地址增/減1選擇 0 禁止1 允許63(7)命令寄存器。)命令寄存器。 0 D
50、ACK低電平有效 1 DACK高電平有效D7D6D5D4D3D2D1D00 禁止存儲器到存儲器傳輸1 允許存儲器到存儲器傳輸0 禁止通道0地址保持1 允許通道0地址保持,D0=0時無意義0 啟動8237工作1 停止8237的工作0 正常時序1 壓縮時序0 固定優(yōu)先權(quán)1 旋轉(zhuǎn)優(yōu)先權(quán)0 不擴展寫入1 擴展寫入0 DREQ高電平有效1 DREQ低電平有效64(8)請求寄存器。)請求寄存器。 (9)屏蔽寄存器。)屏蔽寄存器。8237的屏蔽字有兩種形式:的屏蔽字有兩種形式:1)單個通道屏蔽字。)單個通道屏蔽字。 D7D6D5D4D3D2D1D0無用00 通道001 通道110 通道211 通道3通道選擇
51、0 清除屏蔽位1 置屏蔽位2)四通道屏蔽字。)四通道屏蔽字。 D7D6D5D4D3D2D1D0無用0 清通道0屏蔽位1 置通道0屏蔽位0 清通道1屏蔽位1 置通道1屏蔽位0 清通道2屏蔽位1 置通道2屏蔽位0 清通道3屏蔽位1 置通道3屏蔽位65(10)狀態(tài)寄存器。)狀態(tài)寄存器。 (11)暫存寄存器。用于存儲器到存儲器傳送過程中對)暫存寄存器。用于存儲器到存儲器傳送過程中對數(shù)據(jù)的暫時存放。數(shù)據(jù)的暫時存放。(12)字節(jié)指針觸發(fā)器。)字節(jié)指針觸發(fā)器。 667.7 8237的編程及應(yīng)用的編程及應(yīng)用7.7.1 8237的尋址及連接的尋址及連接7.7.2 8237在系統(tǒng)中的典型連接在系統(tǒng)中的典型連接選擇
52、 頁寄存器DACK3選擇 頁寄存器DACK2選擇 頁寄存器DACK1選擇 頁寄存器A19A16DACK0A19A16A15A08237 DMAC67687.7.3 8237的初始化的初始化地址低字節(jié)總清地址高字節(jié)字?jǐn)?shù)低字節(jié)字?jǐn)?shù)高字節(jié)方式字命令字屏蔽字其他通道參數(shù)69PC機中機中BIOS對對8237的初始化部分的說明:的初始化部分的說明:(1)為了對)為了對DMAC 8237初始化,首先進行總清??偳鍟r初始化,首先進行總清。總清時只要求對總清地址進行寫操作并不關(guān)心寫入什么數(shù)據(jù)。只要求對總清地址進行寫操作并不關(guān)心寫入什么數(shù)據(jù)。(2)對)對DMAC 8237的的4個通道的基地址寄存器與當(dāng)前地址個通道
53、的基地址寄存器與當(dāng)前地址寄存器、基字節(jié)數(shù)寄存器及當(dāng)前字節(jié)數(shù)寄存器先寫入寄存器、基字節(jié)數(shù)寄存器及當(dāng)前字節(jié)數(shù)寄存器先寫入FFFFH,再讀出比較,看讀寫操作是否正確,若正確,再,再讀出比較,看讀寫操作是否正確,若正確,再寫入寫入0000H;同樣讀出校驗,若仍正確則認(rèn)為;同樣讀出校驗,若仍正確則認(rèn)為DMAC工作工作正常,就開始對其初始化。若比較時發(fā)現(xiàn)有錯,則執(zhí)行停正常,就開始對其初始化。若比較時發(fā)現(xiàn)有錯,則執(zhí)行停機指令。機指令。由于每個通道的上述由于每個通道的上述4個寄存器占用兩個地址(見表個寄存器占用兩個地址(見表7-5),故將循環(huán)計數(shù)器,故將循環(huán)計數(shù)器CX的內(nèi)容置為的內(nèi)容置為8。 70(3)程序?qū)?/p>
54、)程序?qū)MAC 8237的通道的通道0初始化。在初始化。在PC機中,通道機中,通道0用于產(chǎn)生對動態(tài)存儲器的刷新控制。利用可編程定時器用于產(chǎn)生對動態(tài)存儲器的刷新控制。利用可編程定時器8253每隔每隔15.0857ms向向DMAC提出一次請求。提出一次請求。DMAC響應(yīng)后響應(yīng)后向向CPU提出提出DMA請求。獲得總線控制權(quán)后,使請求。獲得總線控制權(quán)后,使CPU進入總進入總線放棄狀態(tài)。在此線放棄狀態(tài)。在此DMA期間,期間,DMAC送出刷新行地址,并送出刷新行地址,并利用利用DACK0控制產(chǎn)生各刷新控制信號,對控制產(chǎn)生各刷新控制信號,對DRAM一行進行一行進行刷新。一行刷新結(jié)束,刷新。一行刷新結(jié)束,H
55、RQ變?yōu)闊o效,退出變?yōu)闊o效,退出DMA。此處給。此處給出通道出通道0的初始化程序,如下所示:的初始化程序,如下所示:DMAC 8237的接口地址及連接簡圖如圖的接口地址及連接簡圖如圖7-36所示。圖中接所示。圖中接口請求傳送數(shù)據(jù)的信號經(jīng)觸發(fā)器口請求傳送數(shù)據(jù)的信號經(jīng)觸發(fā)器74LS74的的Q端形成,由三端形成,由三態(tài)門輸出作為態(tài)門輸出作為DMA請求信號。當(dāng)請求信號。當(dāng)DMAC響應(yīng)接口請求時,響應(yīng)接口請求時,送出存儲器地址和信號,使選中存儲單元的數(shù)據(jù)出現(xiàn)在系送出存儲器地址和信號,使選中存儲單元的數(shù)據(jù)出現(xiàn)在系統(tǒng)數(shù)據(jù)總線統(tǒng)數(shù)據(jù)總線D0D7上上 71OUTDMA+0DH,AL;總清總清8237MOV DS
56、,BXMOV ES,BX;初始化初始化DS和和ESMOV AL,0FFHOUTDMA+1,ALOUTDMA+1,AL;通道通道0的傳送字節(jié)數(shù)為的傳送字節(jié)數(shù)為64KB,先寫低,先寫低位,后寫高位位,后寫高位MOV DL,0BH;使使DX=000BH(方式字地址)(方式字地址) MOV AL,58HOUTDX,AL;寫方式字,單字節(jié)傳送方式,每次傳寫方式字,單字節(jié)傳送方式,每次傳送行地址送行地址MOV AL,0;然后地址自動加然后地址自動加1,允許自動預(yù)置,允許自動預(yù)置OUTDMA+8,AL;寫入命令字寫入命令字OUTDMA+10,AL ;寫入屏蔽字(單通道屏蔽字)寫入屏蔽字(單通道屏蔽字) 72
57、73DMA初始化程序如下:INITADM:OUTDMA+13,AL;總清MOVAL,40HOUTDMA+2,AL;送地址低字節(jié)到通道1MOVAL,74HOUTDMA+2,AL;送地址高字節(jié)到通道1,7440H為通道基地址MOVAL,80HOUTPAG,AL;送頁地址1000BMOVAL,64HOUTDMA+3,AL;送傳送字節(jié)數(shù)低字節(jié)到通道1MOVAL,0;0064H表示100個字節(jié)OUTDMA+3,AL;送傳送字節(jié)數(shù)高字節(jié)到通道1MOVAL,59H ;通道1方式字:讀操作,單字節(jié)傳送OUTDMA+11,AL;地址遞增,自動預(yù)置MOVAL,0;命令字:允許工作,固定優(yōu)先級OUTDMA+8,AL
58、;DACK有效OUTDMA+15,AL;寫入四通道屏蔽寄存器,規(guī)定允許4個通道均可請 求DMA傳送747.7.4 通道控制方式通道控制方式通道控制方式是通道控制方式是DMA方式的進一步發(fā)展,實質(zhì)上,通道也方式的進一步發(fā)展,實質(zhì)上,通道也是實現(xiàn)外設(shè)和主存之間直接交換數(shù)據(jù)的控制器。通道與是實現(xiàn)外設(shè)和主存之間直接交換數(shù)據(jù)的控制器。通道與DMAC的主要區(qū)別在于:的主要區(qū)別在于:(1)通道比)通道比DAMC具有更強的獨立處理數(shù)據(jù)輸入具有更強的獨立處理數(shù)據(jù)輸入/輸出的能輸出的能力。力。 (2)通道通??梢酝瑫r控制多個同類或不同類的外部設(shè)備)通道通??梢酝瑫r控制多個同類或不同類的外部設(shè)備,而,而DMAC通常
59、只能控制一個或少數(shù)幾個同類設(shè)備。通常只能控制一個或少數(shù)幾個同類設(shè)備。系統(tǒng)中可以采用通道管理所有的系統(tǒng)中可以采用通道管理所有的I/O設(shè)備,也可以只用通道設(shè)備,也可以只用通道管理高速的管理高速的I/O設(shè)備,而仍用設(shè)備,而仍用CPU來控制低速的來控制低速的I/O設(shè)備。設(shè)備。757.8 總線總線微機系統(tǒng)中的大部分操作本質(zhì)上都是通過總線進行的信息微機系統(tǒng)中的大部分操作本質(zhì)上都是通過總線進行的信息交換,我們把這些與總線有關(guān)的操作統(tǒng)稱為總線操作。交換,我們把這些與總線有關(guān)的操作統(tǒng)稱為總線操作??偩€的兩個最大的特點是共享和分時。共享是指總線上可總線的兩個最大的特點是共享和分時。共享是指總線上可以掛接多個部件,
60、各個部件之間相互交換的信息都可以通以掛接多個部件,各個部件之間相互交換的信息都可以通過這組公共線路傳送;分時是指同一時刻總線上只能傳送過這組公共線路傳送;分時是指同一時刻總線上只能傳送一個部件的信息,如果系統(tǒng)中多個部件同時要求傳送信息一個部件的信息,如果系統(tǒng)中多個部件同時要求傳送信息,只能按一定的規(guī)則選擇其中的一個。,只能按一定的規(guī)則選擇其中的一個。 767.8.1 總線分類總線分類(1)按總線在微機中所處位置的不同(或者說按總線上數(shù)據(jù))按總線在微機中所處位置的不同(或者說按總線上數(shù)據(jù)傳送范圍的不同),可將總線分為片內(nèi)總線、片間總線、系傳送范圍的不同),可將總線分為片內(nèi)總線、片間總線、系統(tǒng)內(nèi)總
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健身器材用戶參與度提升策略實踐考核試卷
- 塑料鞋生產(chǎn)效率統(tǒng)計與分析考核試卷
- 數(shù)學(xué)空間想象力培養(yǎng)教具考核試卷
- 供應(yīng)鏈大數(shù)據(jù)分析在供應(yīng)鏈中的應(yīng)用案例解析考核試卷
- 北京車牌借用合同范本
- 蔬菜購銷合同范本
- 藥店店員培訓(xùn)課件
- 冷庫設(shè)備銷售合同范本
- 靜脈輸液的基本操作流程
- 數(shù)據(jù)傳輸網(wǎng)絡(luò)安全合作協(xié)議之?dāng)?shù)據(jù)傳輸保護服務(wù)合同
- 宮頸癌化療患者的護理
- 車間主任考核表實用文檔
- 提高領(lǐng)導(dǎo)干部的溝通能力
- 《航空公司服務(wù)質(zhì)量改善研究8800字(論文)》
- GB/T 9124-2010鋼制管法蘭技術(shù)條件
- GB/T 4117-2008工業(yè)用二氯甲烷
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 人教PEP版英語五年級下冊第四單元全部課件
- 硬筆書法 社團教案
- 中國膿毒癥及膿毒性休克急診治療指南
- 工序標(biāo)準(zhǔn)工時及產(chǎn)能計算表
評論
0/150
提交評論