2總線(xiàn)與接口芯片解讀課件_第1頁(yè)
2總線(xiàn)與接口芯片解讀課件_第2頁(yè)
2總線(xiàn)與接口芯片解讀課件_第3頁(yè)
2總線(xiàn)與接口芯片解讀課件_第4頁(yè)
2總線(xiàn)與接口芯片解讀課件_第5頁(yè)
已閱讀5頁(yè),還剩147頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章總線(xiàn)與接口芯片1、總線(xiàn)概述2、總線(xiàn)的仲裁、定時(shí)和數(shù)據(jù)傳送模式3、常用總線(xiàn)標(biāo)準(zhǔn)及其主要參數(shù)4、I/O端口編址與譯碼5、8254可編程定時(shí)器/計(jì)數(shù)器總線(xiàn)概述1.總線(xiàn)定義:總線(xiàn)就是各種信號(hào)線(xiàn)的集合,總線(xiàn)是計(jì)算機(jī)中傳輸數(shù)據(jù)信號(hào)的通道,即是計(jì)算機(jī)各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。2總線(xiàn)特點(diǎn):分時(shí)、共享??偩€(xiàn)的分類(lèi)1.按相對(duì)于CPU或其它芯片的位置,總線(xiàn)可分為:片內(nèi)總線(xiàn)(InternalBus)片外總線(xiàn)(ExternalBus)。前者是CPU內(nèi)部寄存器之間和算術(shù)邏輯部件ALU與控制部件之間傳輸數(shù)據(jù)所用的總線(xiàn),即芯片內(nèi)部的總線(xiàn);后者是CPU與內(nèi)存RAM、ROM和輸入/輸出設(shè)備接口之間進(jìn)行通訊的通路。按功能分類(lèi)2.按總線(xiàn)的功能可分為:地址總線(xiàn)(ABus)、數(shù)據(jù)總線(xiàn)(DBus)、控制總線(xiàn)(CBus)。地址總線(xiàn)上傳送地址信號(hào),總線(xiàn)主控用地址信號(hào)指定其需要訪(fǎng)問(wèn)的部件(如外設(shè)、存儲(chǔ)器單元)??偩€(xiàn)主控發(fā)出地址信號(hào)后,總線(xiàn)上的所有部件均感受到該地址信號(hào),但只有經(jīng)過(guò)譯碼電路選中的部件才接收主控的控制信號(hào),并與之通信。地址總線(xiàn)是單向的,即地址信號(hào)只能由總線(xiàn)主控至從控。地址總線(xiàn)也是三態(tài)的,非主控部件不能驅(qū)動(dòng)地址總線(xiàn)。數(shù)據(jù)總線(xiàn)數(shù)據(jù)總線(xiàn)上傳送數(shù)據(jù)信息,數(shù)據(jù)總線(xiàn)是雙向的,數(shù)據(jù)信息可由主控至從控(寫(xiě)),也可由從控至主控(讀)。數(shù)據(jù)總線(xiàn)是三態(tài)的,未被地址信號(hào)選中的部件,不驅(qū)動(dòng)數(shù)據(jù)總線(xiàn)(其數(shù)據(jù)引腳為高阻)。數(shù)據(jù)總線(xiàn)的根數(shù)稱(chēng)為總線(xiàn)的寬度。16位總線(xiàn),指其數(shù)據(jù)總線(xiàn)為16根??刂瓶偩€(xiàn)控制總線(xiàn)上傳送一個(gè)部件對(duì)另一個(gè)部件的控制信號(hào)。在總線(xiàn)上,可以控制其他部件的部件稱(chēng)為總線(xiàn)主控或主控(busmaster),被控部件稱(chēng)為從控(slave)根據(jù)不同的使用意義,有的為雙向,有的為三態(tài),有的非三態(tài)按層次結(jié)構(gòu)分類(lèi)3.按總線(xiàn)的層次結(jié)構(gòu)可分為:(1)CPU總線(xiàn),包括地址線(xiàn)(CAB)、數(shù)據(jù)線(xiàn)(CDB)和控制線(xiàn)(CCD),它用來(lái)連接CPU和控制芯片。(2)存貯總線(xiàn),包括地址線(xiàn)(MAB)、數(shù)據(jù)線(xiàn)(MDB)和控制線(xiàn)(MCD),用來(lái)連接存儲(chǔ)控制器和DRAM。(3)系統(tǒng)總線(xiàn),也稱(chēng)為I/O通道總線(xiàn),包括地址線(xiàn)(SAB)、數(shù)據(jù)線(xiàn)(SDB)和控制線(xiàn)(SCB)(即數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn))(4)外部總線(xiàn):用來(lái)連接外設(shè)控制芯片,如主機(jī)板上的I/O控制器和鍵盤(pán)控制器。包括地址線(xiàn)(XAB)、數(shù)據(jù)線(xiàn)(XDB)和控制線(xiàn)(XCB)。按位置分類(lèi)4.按總線(xiàn)在微機(jī)系統(tǒng)中的位置可分為:

(1)機(jī)內(nèi)總線(xiàn):上面介紹的各類(lèi)都是機(jī)內(nèi)總線(xiàn)。(2)機(jī)外總線(xiàn)(PeripheralBus—外設(shè)總線(xiàn)):指與外部設(shè)備接口的總線(xiàn),實(shí)際上是一種外設(shè)的接口標(biāo)準(zhǔn)。微機(jī)系統(tǒng)總線(xiàn)PC系列機(jī)上采用的總線(xiàn)標(biāo)準(zhǔn):ISA工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)

(IndustrialStandardArchitecture)EISA擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)

(ExtendedIndustrialStandardArchitecture)VESA視頻電氣標(biāo)準(zhǔn)協(xié)會(huì)(又稱(chēng)VL-bus)(VideoElectronicsStandardsAssociation)PCI外部設(shè)備互連

(PeripheralComponentInterconnect)USB通用串行總線(xiàn)(UniversalSerialBus)AGP圖形加速端口(顯卡專(zhuān)用線(xiàn))(AcceleratedGraphicsPort)ISA、EISA、PCI總線(xiàn)比較ISA總線(xiàn)·24位地址線(xiàn)可直接尋址的內(nèi)存容量為16MB·8/16位數(shù)據(jù)線(xiàn)·最大位寬16位(bit)·最高時(shí)鐘頻率8MHz·最大穩(wěn)態(tài)傳輸率16MB/sEISA總線(xiàn)·32位地址域直接尋址范圍為4GB·32位數(shù)據(jù)線(xiàn)·最大時(shí)鐘頻率8.3MHz·最大穩(wěn)態(tài)傳輸率33MB/sPCI總線(xiàn)·32位/64位地址/數(shù)據(jù)復(fù)用·總線(xiàn)時(shí)鐘頻率33.3MHz/66MHz·最大數(shù)據(jù)傳輸速率133MB/s·時(shí)鐘同步方式·與CPU及時(shí)鐘頻率無(wú)關(guān)·總線(xiàn)寬度32位(5V)/64位(3.3V)其他總線(xiàn)簡(jiǎn)介由于目前的一些新型接口標(biāo)準(zhǔn),如USB、IEEE1394等,允許同時(shí)連接多種不同的外設(shè),因此也把它們稱(chēng)為外設(shè)總線(xiàn)。此外,連接顯示系統(tǒng)的新型接口AGP,由于習(xí)慣上的原因(原來(lái)的顯示卡插入ISA或者PCI總線(xiàn)插槽中),也被稱(chēng)為AGP總線(xiàn),但是實(shí)際上它應(yīng)該是一種接口標(biāo)準(zhǔn)。

IEEE1394總線(xiàn)IEEE1394是一種串行接口標(biāo)準(zhǔn),這種接口標(biāo)準(zhǔn)允許把計(jì)算機(jī)、外部設(shè)備、各種家用電器非常簡(jiǎn)單地連接在一起。從IEEE1394可以連接多種不同外設(shè)的功能特點(diǎn)來(lái)看,也可以稱(chēng)為總線(xiàn),即一種連接外部設(shè)備的機(jī)外總線(xiàn)。

IEEE1394的原型是運(yùn)行在AppleMac電腦上的FireWire(火線(xiàn)),由IEEE采用并且重新進(jìn)行了規(guī)范。它定義了數(shù)據(jù)的傳輸協(xié)定及連接系統(tǒng),可用較低的成本達(dá)到較高的性能,以增強(qiáng)電腦與外設(shè)(如硬盤(pán)、打印機(jī)、掃描儀),與消費(fèi)性電子產(chǎn)品(如數(shù)碼相機(jī)、DVD播放機(jī)、視頻電話(huà)等)的連接能力。IEEE1394總線(xiàn)由于要求相應(yīng)的外部設(shè)備也具有IEEE1394接口功能才能連接到1394總線(xiàn)上,所以直到1995年第3季度Sony推出的數(shù)碼攝像機(jī)加上了IEEE接口后,1394才真正引起廣泛的注意。機(jī)外總線(xiàn)將改變當(dāng)前電腦本身?yè)碛斜姸喔郊硬蹇?、連接線(xiàn)的現(xiàn)狀,它把各種外設(shè)和各種家用電器連接起來(lái)。電腦也成為一種普通的家電。USB總線(xiàn)USB(UniversalSerialBus)稱(chēng)為通用串行總線(xiàn),是由Compaq、DEC、IBM、Intel、Microsoft、NEC和NT(北方電訊)七大公司共同推出的新一代接口標(biāo)準(zhǔn)。它和IEEE1394一樣,也是一種連接外圍設(shè)備的機(jī)外總線(xiàn)。根據(jù)USB規(guī)范,USB傳送速度可達(dá)12Mb/s(每秒12兆位),除了可以與鍵盤(pán)、鼠標(biāo)、MODEM等常見(jiàn)外設(shè)連接外,還可以與ISDN(綜合業(yè)務(wù)數(shù)據(jù)網(wǎng))、電話(huà)系統(tǒng)、數(shù)字音響、打印機(jī)/掃描儀等低速外設(shè)連接。從性能上來(lái)看,USB在很多方面不如IEEE1394,但是由于USB有著IEEE1394無(wú)法比擬的價(jià)格優(yōu)勢(shì),在一段時(shí)間內(nèi)USB將與IEEE1394共存,分別管理低速和高速外設(shè)。有關(guān)UBS更詳細(xì)內(nèi)容將在串行接口章節(jié)中介紹。AGP(AcceleratedGraphicsPort)AGP是一種為了提高視頻帶寬而設(shè)計(jì)的總線(xiàn)規(guī)范。因?yàn)樗屈c(diǎn)對(duì)點(diǎn)連接,即連接控制芯片和AGP顯示卡,因此嚴(yán)格說(shuō)來(lái),AGP不能算是總線(xiàn),而是一種接口標(biāo)準(zhǔn),它在主內(nèi)存與顯示卡之間提供了一條直接的通道,使得3D圖形數(shù)據(jù)不通過(guò)PCI總線(xiàn),而直接送入顯示子系統(tǒng)。這樣就能突破由于PCI總線(xiàn)形成的系統(tǒng)瓶頸,從而實(shí)現(xiàn)了以相對(duì)低價(jià)格來(lái)達(dá)到高性能3D圖形的描繪功能以提高計(jì)算機(jī)對(duì)圖像的處理能力。目前的主板產(chǎn)品大多支持AGP。本章第三節(jié)將進(jìn)一步介紹AGP的有關(guān)技術(shù)指標(biāo)??偩€(xiàn)的主要參數(shù)1.總線(xiàn)的帶寬總線(xiàn)的帶寬指的是一定時(shí)間內(nèi)總線(xiàn)上可傳送的數(shù)據(jù)量,即我們常說(shuō)的每秒鐘傳送多少M(fèi)B(兆字節(jié))的最大穩(wěn)態(tài)數(shù)據(jù)傳輸率。2.總線(xiàn)的位寬總線(xiàn)的位寬指的是總線(xiàn)能同時(shí)傳送的數(shù)據(jù)位數(shù),即我們常說(shuō)的32位、64位等總線(xiàn)寬度的概念。3.總線(xiàn)的工作時(shí)鐘頻率總線(xiàn)的工作時(shí)鐘頻率以MHz為單位。工作頻率越高則總線(xiàn)工作速度越快,也即總線(xiàn)帶寬越寬??偩€(xiàn)位寬越寬、總線(xiàn)工作時(shí)鐘頻率越高則總線(xiàn)帶寬越大。當(dāng)然,單方面提高總線(xiàn)的位寬或工作時(shí)鐘頻率都只能部分提高總線(xiàn)的帶寬,并容易達(dá)到各自的極限。只有兩者配合才能使總線(xiàn)的帶寬得到更大的提升??偩€(xiàn)應(yīng)用舉例例如ISA總線(xiàn),傳送數(shù)據(jù)寬度是8/16位(1/2字節(jié)),總線(xiàn)時(shí)鐘頻率固定為8.33MHz,每2個(gè)時(shí)鐘周期完成一次數(shù)據(jù)的傳送??偩€(xiàn)的帶寬(最大穩(wěn)態(tài)數(shù)據(jù)傳輸率)=8.33MHz×2Bytes÷2Cycles=8.33MB/S最大數(shù)據(jù)傳輸速率:

=總線(xiàn)時(shí)鐘頻率×數(shù)據(jù)字節(jié)數(shù)

=8.33MHz×2Bytes=16MB/S總線(xiàn)的仲裁連接到總線(xiàn)上的功能模塊有主動(dòng)和被動(dòng)兩種形態(tài)。如CPU模塊,它在不同的時(shí)間可以用做主方,也可用做從方;而存儲(chǔ)器模塊只能用做從方。主方可以啟動(dòng)一個(gè)總線(xiàn)周期,而從方只能響應(yīng)主方的請(qǐng)求。每次總線(xiàn)操作,只能有一個(gè)主方占用總線(xiàn)控制權(quán),但同一時(shí)間里可以有一個(gè)或多個(gè)從方。

除CPU模塊外,I/O功能模塊也可提出總線(xiàn)請(qǐng)求。為了解決多個(gè)主設(shè)備同時(shí)競(jìng)爭(zhēng)總線(xiàn)控制權(quán)的問(wèn)題,必須具有總線(xiàn)仲裁部件,以某種方式選擇其中一個(gè)主設(shè)備作為總線(xiàn)的下一次主方。對(duì)多個(gè)主設(shè)備提出的占用總線(xiàn)請(qǐng)求,一般采用優(yōu)先級(jí)或公平策略進(jìn)行仲裁。例如,在多處理器系統(tǒng)中對(duì)各CPU模塊的總線(xiàn)請(qǐng)求采用公平的原則來(lái)處理。對(duì)I/O模塊的總線(xiàn)請(qǐng)求采用優(yōu)先級(jí)策略。被授權(quán)的主方在當(dāng)前總線(xiàn)業(yè)務(wù)一結(jié)束,即接管總線(xiàn)控制權(quán),開(kāi)始新的信息傳送。主方持續(xù)控制總線(xiàn)的時(shí)間稱(chēng)為總線(xiàn)占用期。(1)鏈?zhǔn)讲樵?xún)方式主要特點(diǎn)是:總線(xiàn)授權(quán)信號(hào)BG串行地從一個(gè)I/O接口傳送到下一個(gè)I/O接口。假如BG到達(dá)的接口無(wú)總線(xiàn)請(qǐng)求,則繼續(xù)往下查詢(xún);假如BG到達(dá)的接口有總線(xiàn)請(qǐng)求,BG信號(hào)便不再往下查詢(xún)。這意味著該I/O接口就獲得了總線(xiàn)控制權(quán)。排列在鏈?zhǔn)椎脑O(shè)備具有最高優(yōu)先級(jí),在鏈末的設(shè)備優(yōu)先級(jí)越低。因此,鏈?zhǔn)讲樵?xún)是通過(guò)安排接口設(shè)備的先、后位置來(lái)實(shí)現(xiàn)優(yōu)先級(jí)排隊(duì)的。鏈?zhǔn)讲樵?xún)方式的優(yōu)缺點(diǎn)只用很少幾根線(xiàn)就能按一定優(yōu)先次序?qū)崿F(xiàn)總線(xiàn)仲裁,并且這種鏈?zhǔn)浇Y(jié)構(gòu)很容易擴(kuò)充設(shè)備。缺點(diǎn)1:對(duì)詢(xún)問(wèn)鏈的電路故障很敏感,如果第i個(gè)設(shè)備的接口中有關(guān)鏈的電路有故障,那么第i個(gè)以后的設(shè)備都不能進(jìn)行工作。缺點(diǎn)2:優(yōu)先級(jí)是固定的,如果優(yōu)先級(jí)高的設(shè)備出現(xiàn)頻繁的請(qǐng)求時(shí),那么優(yōu)先級(jí)較低的設(shè)備可能長(zhǎng)期不能使用總線(xiàn)。計(jì)數(shù)器定時(shí)查詢(xún)方式工作原理:總線(xiàn)上的任一設(shè)備要求使用總線(xiàn)時(shí),通過(guò)BR線(xiàn)發(fā)出總線(xiàn)請(qǐng)求。中央仲裁器接到請(qǐng)求信號(hào)以后,在BS線(xiàn)為“0”的情況下讓計(jì)數(shù)器開(kāi)始計(jì)數(shù),計(jì)數(shù)值通過(guò)一組地址線(xiàn)發(fā)向各設(shè)備。每個(gè)設(shè)備接口都有一個(gè)設(shè)備地址判別電路,當(dāng)?shù)刂肪€(xiàn)上的計(jì)數(shù)值與請(qǐng)求總線(xiàn)的設(shè)備地址相一致時(shí),該設(shè)備將BS線(xiàn)置“1”,獲得了總線(xiàn)使用權(quán),此時(shí)中止計(jì)數(shù)查詢(xún)。計(jì)數(shù)器定時(shí)查詢(xún)方式的優(yōu)缺點(diǎn)優(yōu)點(diǎn):每次計(jì)數(shù)可以從“0”開(kāi)始,也可以從中止點(diǎn)開(kāi)始。如果從“0”開(kāi)始,各設(shè)備的優(yōu)先次序與鏈?zhǔn)讲樵?xún)法相同,優(yōu)先級(jí)的次序是固定的。如果從中止點(diǎn)開(kāi)始,則每個(gè)設(shè)備使用總線(xiàn)的優(yōu)先級(jí)相等。計(jì)數(shù)器的初值也可用程序來(lái)設(shè)置,這就可以方便地改變優(yōu)先次序缺點(diǎn):增加了連線(xiàn)數(shù)量獨(dú)立請(qǐng)求方式每一個(gè)共享總線(xiàn)的設(shè)備均有一對(duì)總線(xiàn)請(qǐng)求線(xiàn)BRi和總線(xiàn)授權(quán)線(xiàn)BGi。當(dāng)設(shè)備要求使用總線(xiàn)時(shí),便發(fā)出該設(shè)備的請(qǐng)求信號(hào)。中央仲裁器中有一個(gè)排隊(duì)電路,它根據(jù)一定的優(yōu)先次序決定首先響應(yīng)哪個(gè)設(shè)備的請(qǐng)求,給設(shè)備以授權(quán)信號(hào)BGi。獨(dú)立請(qǐng)求方式的優(yōu)缺點(diǎn)優(yōu)點(diǎn)1:仲裁請(qǐng)求響應(yīng)時(shí)間快。優(yōu)點(diǎn)2:對(duì)優(yōu)先次序的控制相當(dāng)靈活。它可以預(yù)先固定,例如BR0優(yōu)先級(jí)最高,BRl次之……BRn最低;也可以通過(guò)程序來(lái)改變優(yōu)先次序;還可以用屏蔽(禁止)某個(gè)請(qǐng)求的辦法,不響應(yīng)來(lái)自無(wú)效設(shè)備的請(qǐng)求。當(dāng)代總線(xiàn)標(biāo)準(zhǔn)普遍采用獨(dú)立請(qǐng)求方式。分布式仲裁不需要中央仲裁器,每個(gè)潛在的主方功能模塊都有自己的仲裁號(hào)和仲裁器。當(dāng)它們有總線(xiàn)請(qǐng)求時(shí),把它們唯一的仲裁號(hào)發(fā)送到共享的仲裁總線(xiàn)上,每個(gè)仲裁器將仲裁總線(xiàn)上得到的號(hào)與自己的號(hào)進(jìn)行比較。如果仲裁總線(xiàn)上的號(hào)大,則它的總線(xiàn)請(qǐng)求不予響應(yīng),并撤消本身的仲裁號(hào)。最后,獲勝者的仲裁號(hào)保留在仲裁總線(xiàn)上。是以?xún)?yōu)先級(jí)仲裁策略為基礎(chǔ)的一種仲裁方式??偩€(xiàn)的定時(shí)1.同步定時(shí)2.異步定時(shí)3.半同步定時(shí)4.分離方式定時(shí)同步定時(shí)在同步定時(shí)協(xié)議中,事件出現(xiàn)在總線(xiàn)上的時(shí)刻由總線(xiàn)時(shí)鐘信號(hào)來(lái)確定。總線(xiàn)周期是固定的,每次傳送一旦開(kāi)始,主、從設(shè)備都必須嚴(yán)格按照時(shí)間規(guī)定完成相應(yīng)的動(dòng)作。同步定時(shí)的優(yōu)缺點(diǎn)現(xiàn)代微機(jī)中的PCI總線(xiàn)就是同步方式總線(xiàn)。全部系統(tǒng)模塊由單一時(shí)鐘信號(hào)控制。優(yōu)點(diǎn)1:電路設(shè)計(jì)比較簡(jiǎn)單;優(yōu)點(diǎn)2:完成一次傳輸?shù)臅r(shí)間很短,它不允許主從設(shè)備間有等待,適合于高速設(shè)備的數(shù)據(jù)傳輸。缺點(diǎn):它不能滿(mǎn)足高/低速設(shè)備在同一系統(tǒng)中的使用。否則,只能按最慢的設(shè)備來(lái)確定總線(xiàn)周期長(zhǎng)短或頻帶,這樣高速設(shè)備只能按照低速設(shè)備的速度來(lái)進(jìn)行數(shù)據(jù)傳輸,使整個(gè)系統(tǒng)性能下降。異步定時(shí)數(shù)據(jù)采用“應(yīng)答式”傳輸。無(wú)系統(tǒng)時(shí)鐘信號(hào),而是靠“請(qǐng)求”(REQ)和“應(yīng)答”(ACK)兩根信號(hào)線(xiàn)來(lái)協(xié)調(diào)傳輸過(guò)程。異步定時(shí)的特點(diǎn)連接任何外部設(shè)備都不需要考慮該設(shè)備的速度,它根據(jù)模塊的響應(yīng)速度自動(dòng)調(diào)整響應(yīng)時(shí)間。異步方式的應(yīng)答關(guān)系完全互鎖,REQ和ACK兩個(gè)信號(hào)是有制約關(guān)系的。主設(shè)備的請(qǐng)求使REQ有效,由從設(shè)備的ACK來(lái)響應(yīng);ACK有效,允許主設(shè)備撤消REQ,只有REQ撤消,最后才撤消ACK;只有ACK已經(jīng)撤消,才允許下一傳輸周期的開(kāi)始,這保證了數(shù)據(jù)傳輸?shù)目煽啃浴.惒蕉〞r(shí)的優(yōu)缺點(diǎn)優(yōu)點(diǎn):總線(xiàn)周期長(zhǎng)度可變。不把響應(yīng)時(shí)間強(qiáng)加到功能模塊上,因而允許快速和慢速的功能模塊都能連接到同一總線(xiàn)上。缺點(diǎn)1:增加總線(xiàn)的復(fù)雜性和成本。缺點(diǎn)2:不管從模塊的速度,每完成一次傳輸,主、從模塊之間的互鎖控制信號(hào)都要經(jīng)過(guò)4個(gè)步驟,即請(qǐng)求、響應(yīng)、撤消請(qǐng)求和撤消響應(yīng),它的傳輸延遲是同步傳輸?shù)膬杀?。因此,異步方式比同步方式要慢,總線(xiàn)的頻帶窄,總線(xiàn)傳輸周期長(zhǎng)。半同步定時(shí)綜合同步和異步傳送的優(yōu)點(diǎn),是兩者混合的傳送方式。從總體上看,它是一個(gè)同步系統(tǒng),仍用系統(tǒng)時(shí)鐘來(lái)定時(shí),利用某個(gè)脈沖的上升沿或下降沿判斷某一個(gè)信號(hào)的狀態(tài),使得傳輸操作與時(shí)鐘同步。為了克服同步方式的缺點(diǎn),它允許兩個(gè)速度不同的設(shè)備使用像異步方式那樣的傳輸。為此,設(shè)置了一條“等待”(WAIT)或“就緒”(READY)信號(hào)線(xiàn)。半同步定時(shí)的特點(diǎn)對(duì)可以嚴(yán)格按照時(shí)鐘規(guī)定進(jìn)行傳送的兩個(gè)高速設(shè)備的傳輸,等待信號(hào)無(wú)效,依然按照同步方式傳輸。如果從模塊是慢速設(shè)備,沒(méi)有準(zhǔn)備好數(shù)據(jù)傳輸,從模塊會(huì)使得WAIT信號(hào)有效或READY信號(hào)無(wú)效,系統(tǒng)用一個(gè)適當(dāng)?shù)臓顟B(tài)時(shí)鐘沿檢測(cè)這個(gè)信號(hào)線(xiàn)。如果是WAIT有效(或READY無(wú)效),就自動(dòng)將總線(xiàn)周期延長(zhǎng)一個(gè)時(shí)鐘周期,強(qiáng)制主模塊等待。下一個(gè)時(shí)鐘周期繼續(xù)檢測(cè)這個(gè)信號(hào)線(xiàn),直到檢測(cè)到WAIT信號(hào)無(wú)效(或READY信號(hào)有效)才不再延長(zhǎng)總線(xiàn)周期。這種方法像異步方式那樣能使不同速度的設(shè)備同時(shí)在系統(tǒng)中做數(shù)據(jù)傳輸。但WAIT信號(hào)不是互鎖的,而是單方向的狀態(tài)傳遞,這是和異步方式的不同之處。分離方式定時(shí)在總線(xiàn)讀周期的尋址階段,到數(shù)據(jù)傳送階段,有一個(gè)短暫的時(shí)間間隔,用于從模塊執(zhí)行讀命令(取出數(shù)據(jù))。此時(shí)的總線(xiàn)是空閑的??梢韵朕k法把這總線(xiàn)的空閑時(shí)間也利用起來(lái)。分離方式定時(shí)將讀周期分為兩個(gè)分離的子周期。第一個(gè)子周期為尋址階段,當(dāng)有關(guān)的從模塊從總線(xiàn)上得到主模塊發(fā)出的地址、命令及有關(guān)信息后,立即和總線(xiàn)斷開(kāi),以便其他模塊可以使用總線(xiàn)。等到從模塊準(zhǔn)備好數(shù)據(jù)后,啟動(dòng)第二個(gè)子周期,由該模塊申請(qǐng)總線(xiàn),獲準(zhǔn)后,將數(shù)據(jù)發(fā)送給原來(lái)請(qǐng)求數(shù)據(jù)的主模塊。兩個(gè)子周期均采用同步方式傳送,在占用總線(xiàn)的時(shí)候,進(jìn)行高速的信息傳輸。分離式傳輸很適合有多個(gè)主模塊(如多個(gè)處理器或多個(gè)DMA設(shè)備)的系統(tǒng)。總線(xiàn)數(shù)據(jù)傳送模式當(dāng)代的總線(xiàn)標(biāo)準(zhǔn)大都能支持以下四類(lèi)模式的數(shù)據(jù)傳送:

1.讀、寫(xiě)操作讀操作是由從方到主方的數(shù)據(jù)傳送;寫(xiě)操作是由主方到從方的數(shù)據(jù)傳送。一般,主方先以一個(gè)總線(xiàn)周期發(fā)出命令和從方地址,經(jīng)過(guò)一定的延時(shí)再開(kāi)始數(shù)據(jù)傳送總線(xiàn)周期。為了提高總線(xiàn)利用率,減少延時(shí)損失,主方完成尋址總線(xiàn)周期后可讓出總線(xiàn)控制權(quán)(分時(shí)方式),以使其他主方完成更緊迫的操作。然后再重新競(jìng)爭(zhēng)總線(xiàn),完成數(shù)據(jù)傳送總線(xiàn)周期??偩€(xiàn)數(shù)據(jù)傳送模式2.塊傳送操作只需給出塊的起始地址,然后對(duì)固定塊長(zhǎng)度的數(shù)據(jù)一個(gè)接一個(gè)地讀出或?qū)懭搿?duì)于CPU(主方)—存儲(chǔ)器(從方)而言的塊傳送,常稱(chēng)為突發(fā)式傳送,其塊長(zhǎng)一般固定為數(shù)據(jù)線(xiàn)寬度(存儲(chǔ)器字長(zhǎng))的4倍。例如一個(gè)64位數(shù)據(jù)線(xiàn)的總線(xiàn),一次突發(fā)式傳送塊長(zhǎng)可達(dá)256位??偩€(xiàn)數(shù)據(jù)傳送模式3.寫(xiě)后讀、讀修改寫(xiě)操作只給出地址一次,或進(jìn)行先寫(xiě)后讀操作,或進(jìn)行先讀后寫(xiě)操作。前者用于校驗(yàn)?zāi)康?,后者用于多道程序系統(tǒng)中對(duì)共享存儲(chǔ)資源的保護(hù)。這兩種操作和突發(fā)式操作一樣,主方掌管總線(xiàn)直到整個(gè)操作完成。

4.廣播、廣集操作一般而言,數(shù)據(jù)傳送只在—個(gè)主方和一個(gè)從方之間進(jìn)行。但有的總線(xiàn)允許一個(gè)主方對(duì)多個(gè)從方進(jìn)行寫(xiě)操作,這種操作稱(chēng)為廣播。與廣播相反的操作稱(chēng)為廣集,它將選定的多個(gè)從方數(shù)據(jù)在總線(xiàn)上完成AND或OR操作,用以檢測(cè)多個(gè)中斷源。常用總線(xiàn)標(biāo)準(zhǔn)及其主要參數(shù)總線(xiàn)標(biāo)準(zhǔn)的內(nèi)容機(jī)械規(guī)范:規(guī)定總線(xiàn)的根數(shù)、插座形狀、引腳排列等。功能規(guī)范:規(guī)定總線(xiàn)中每根線(xiàn)的功能。從功能上,總線(xiàn)分成三組:地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)。電氣規(guī)范:規(guī)定總線(xiàn)中每根線(xiàn)的傳送方向、有效電平范圍、負(fù)載能力等。時(shí)間規(guī)范:規(guī)定每根線(xiàn)在什么時(shí)間有效,通常以時(shí)序圖的方式進(jìn)行描述。采用標(biāo)準(zhǔn)總線(xiàn)的優(yōu)點(diǎn)便于采用模塊化設(shè)計(jì)方法,簡(jiǎn)化系統(tǒng)設(shè)計(jì)廠(chǎng)家面向總線(xiàn)設(shè)計(jì)各種插件板,產(chǎn)品具有通用性,用戶(hù)可靈活選購(gòu)必要的插件板構(gòu)成所需的系統(tǒng)。便于系統(tǒng)的擴(kuò)充和升級(jí)一個(gè)插件板只要滿(mǎn)足總線(xiàn)標(biāo)準(zhǔn),就可連接到帶有這種總線(xiàn)標(biāo)準(zhǔn)的計(jì)算機(jī)系統(tǒng)中。加插功能卡擴(kuò)充系統(tǒng)功能研制新的插件板更新系統(tǒng)功能總線(xiàn)體系結(jié)構(gòu)單總線(xiàn)體系結(jié)構(gòu)指微機(jī)中所有模塊都連接在單一總線(xiàn)上。如早期的IBMPC、XT機(jī):采用IBMPC/XT總線(xiàn)多總線(xiàn)體系結(jié)構(gòu)指微機(jī)中采用多種總線(xiàn),各模塊按數(shù)據(jù)傳輸速率的不同,連接不同的總線(xiàn)上。如Pentium微機(jī):內(nèi)部有ISA、PCI、AGP等??偩€(xiàn)的發(fā)展趨勢(shì)不斷提高傳輸速率幾MB/s幾百M(fèi)B/s不斷降低功耗電源5.0V3.0V1.6V;采用休眠技術(shù)智能化、層次化支持即插即用;多總線(xiàn)結(jié)構(gòu)ISA總線(xiàn)ISA(IndustryStandardArchitecture工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線(xiàn)是早期比較有代表性的總線(xiàn)。

IBM公司推出PC/XT和PC/AT個(gè)人計(jì)算機(jī)后,IEEE(InstituteofElectronicandElectronicEngineers電氣電子工程師協(xié)會(huì))在1987年定義了工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA),將PC/XT總線(xiàn)定義為8位ISA,將PC/AT總線(xiàn)定義為16位ISA。ISA總線(xiàn)具有以下特點(diǎn)既支持8位數(shù)據(jù)操作,也支持16位數(shù)據(jù)操作;可以將PC/AT總線(xiàn)和PC/XT總線(xiàn)的運(yùn)行速度提升至8MHz;提供了1KB的I/O空間、15級(jí)的硬件中斷、7級(jí)的DMA通道、8個(gè)設(shè)備的負(fù)載能力;總線(xiàn)中的地址、數(shù)據(jù)線(xiàn)采用非多路復(fù)用形式,使系統(tǒng)的擴(kuò)展設(shè)計(jì)更為簡(jiǎn)便;是一種多主控設(shè)備總線(xiàn),除主CPU外,DMA控制器、DRAM刷新控制器、帶處理器的智能卡都可成為ISA的主控設(shè)備;由于IBMPC機(jī)廣泛流行,可供選擇的ISA插件卡品種較多,這有利于用戶(hù)根據(jù)需要快速構(gòu)成相應(yīng)的微型計(jì)算機(jī)應(yīng)用系統(tǒng)。EISA總線(xiàn)EISA(ExtendedIndustryStandardArchitecture擴(kuò)展的工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線(xiàn)是擴(kuò)展的ISA總線(xiàn)。1989年,以Compaq公司為代表的9家公司,在ISA總線(xiàn)的基礎(chǔ)上,聯(lián)合推出了EISA總線(xiàn)。在當(dāng)時(shí),盡管數(shù)據(jù)總線(xiàn)寬度被增加到32位,但EISA總線(xiàn)的時(shí)鐘速度仍然維持在8MHz,這導(dǎo)致了這種互連結(jié)構(gòu)標(biāo)準(zhǔn)逐漸地被減少使用。但是,更新以后的VESA局部總線(xiàn)和PCI總線(xiàn)均工作在更高的速度之下,它們現(xiàn)在可以在33MHz的頻率下工作。

EISA總線(xiàn)的特點(diǎn)(1)用于32位微機(jī)中,可尋址4GB的存儲(chǔ)空間,也支持64KB的I/O端口尋址。(2)具有32位數(shù)據(jù)線(xiàn),保證了系統(tǒng)性能的提高,使最大數(shù)據(jù)傳輸速率達(dá)33MB/S。(3)支持多處理器結(jié)構(gòu),支持多主控總線(xiàn)設(shè)備,具有較強(qiáng)的I/O擴(kuò)展能力和負(fù)載能力。(4)具有自動(dòng)配置功能,可以根據(jù)配置文件自動(dòng)地初始化,配置系統(tǒng)板和多擴(kuò)展卡。(5)擴(kuò)展了DMA的范圍和傳輸速度,支持7個(gè)DMA通道,DMA數(shù)據(jù)傳輸既可在ISA方式下也可在EISA方式下進(jìn)行。(6)采用同步數(shù)據(jù)傳送協(xié)議,可支持常規(guī)的一次傳送,也可支持突法方式即高速分組傳送。VESA總線(xiàn)VESA(VideoElectronicsStandardsAssociation視頻電子標(biāo)準(zhǔn)協(xié)會(huì))總線(xiàn)是一種32位接口的局部總線(xiàn),通常稱(chēng)為VL總線(xiàn)。VESA局部總線(xiàn)工作頻率可以達(dá)到33MHz,常用在需要高速數(shù)據(jù)傳輸?shù)南到y(tǒng)。與EISA總線(xiàn)一樣,VESA局部總線(xiàn)也是ISA總線(xiàn)的擴(kuò)展,不同之處在于VESA局部總線(xiàn)沒(méi)有在16位ISA總線(xiàn)連接器上增加任何器件,而是在16位ISA總線(xiàn)連接器的后面增加了第3個(gè)連接器,即VESA連接器。

VESA局部總線(xiàn)上的連線(xiàn)與EISA總線(xiàn)卡非常相似,VESA局部總線(xiàn)還包括一個(gè)32位地址和數(shù)據(jù)總線(xiàn),用于將存儲(chǔ)器和I/O設(shè)備連接到微處理器上。PCI總線(xiàn)PCI(PeripheralComponentInterconnect外部組件互連)總線(xiàn)是目前最常用的系統(tǒng)總線(xiàn)。該總線(xiàn)是專(zhuān)門(mén)為Pentium系列芯片設(shè)計(jì)的。

PCIV2.0版本支持32/64位數(shù)據(jù)總線(xiàn),總線(xiàn)時(shí)鐘為25~33MHz,數(shù)據(jù)傳輸率達(dá)132~264MB/s。

1995年推出的PCIV2.1版本支持64位數(shù)據(jù)總線(xiàn),總線(xiàn)速度為66MHz,最大數(shù)據(jù)傳輸率達(dá)528MB/sPCI總線(xiàn)的特點(diǎn)采用數(shù)據(jù)線(xiàn)和地址線(xiàn)復(fù)用結(jié)構(gòu),目標(biāo)設(shè)備可用47引腳,總線(xiàn)主控設(shè)備可用49引腳。提供5V和3.3V兩種工作信號(hào)環(huán)境,可在兩種環(huán)境中根據(jù)需要進(jìn)行轉(zhuǎn)換。允許32位與64位器件相互協(xié)作。允許PCI局部總線(xiàn)擴(kuò)展卡和元件進(jìn)行自動(dòng)配置,提供了即插即用的能力。PCI總線(xiàn)獨(dú)立于處理器,它的工作頻率與CPU時(shí)鐘無(wú)關(guān),可以支持多機(jī)系統(tǒng)。PCI總線(xiàn)具有良好的兼容性,可支持ISA、EISA、MCA、SCSI、IDE等多種總線(xiàn)。AGP總線(xiàn)

為了解決高速視頻或高品質(zhì)畫(huà)面的顯示,Intel公司在1997年推出了高速圖形接口的局部總線(xiàn)標(biāo)準(zhǔn)AGP總線(xiàn)。AGP總線(xiàn)是對(duì)PCI總線(xiàn)的擴(kuò)展和增強(qiáng),但AGP接口只能為圖形設(shè)備獨(dú)占,不具有一般總線(xiàn)的共享特性。采用AGP接口允許顯示數(shù)據(jù)直接取自系統(tǒng)主存儲(chǔ)器,而無(wú)需先預(yù)取至視頻存儲(chǔ)器中。AGP總線(xiàn)的主要特點(diǎn)(1)具有雙重驅(qū)動(dòng)技術(shù),允許在一個(gè)總線(xiàn)周期內(nèi)傳輸兩次數(shù)據(jù)。(2)在總線(xiàn)上可實(shí)現(xiàn)地址/數(shù)據(jù)多路復(fù)用,把32位的數(shù)據(jù)總線(xiàn)給圖形加速器使用。(3)通過(guò)內(nèi)存請(qǐng)求流水線(xiàn)技術(shù)對(duì)各種內(nèi)存請(qǐng)求進(jìn)行排隊(duì)來(lái)減少延遲,一個(gè)典型的排隊(duì)可處理12個(gè)以上的請(qǐng)求,大大加快了數(shù)據(jù)傳輸?shù)乃俣?。?)把圖形接口繞行到AGP通道上,解決了PCI帶寬問(wèn)題,使PCI有更多的能力負(fù)責(zé)其它數(shù)據(jù)傳輸。其他總線(xiàn)介紹USB總線(xiàn)1.USB總線(xiàn)的特點(diǎn)

USB的全稱(chēng)是通用串行總線(xiàn)(UniversalSerialBus),它是一種支持即插即用的新型串行接口。USB要比標(biāo)準(zhǔn)串行接口快得多,其數(shù)據(jù)傳輸率可達(dá)4Mbps~12Mbps。USB除了具有較高的數(shù)據(jù)傳輸率外,它還可以為外設(shè)提供支持。USB總線(xiàn)的特點(diǎn)(1)為所有的USB外設(shè)提供了單一的、易于操作的連接類(lèi)型。(2)排除了對(duì)鼠標(biāo)、調(diào)制解調(diào)器、鍵盤(pán)和打印機(jī)不同接口的需求。(3)支持熱插拔。(4)支持PNP(PlagandPlay)即插即用。(5)在設(shè)備供電方面提供了靈活性。(6)USB傳輸線(xiàn)能夠提供100mA的電流,而帶電源的USBHub使得每個(gè)接口可以提供500mA的電流。USB總線(xiàn)的特點(diǎn)(7)USBV1.1規(guī)范提供全速12Mbit/s的模式和低速1.5Mbit/s的模式,USBV2.0規(guī)范提供高達(dá)480Mbit/s的數(shù)據(jù)傳輸速率,可以適應(yīng)各種不同類(lèi)型的外設(shè)。(8)針對(duì)突然發(fā)生的非連續(xù)傳輸設(shè)備,如音頻和視頻設(shè)備,USB在滿(mǎn)足帶寬的情況下才進(jìn)行該類(lèi)型的數(shù)據(jù)傳輸。(9)為了適應(yīng)各種不同類(lèi)型外圍設(shè)備的要求,USB提供了4種不同的數(shù)據(jù)傳輸類(lèi)型。(10)USB使得多個(gè)外圍設(shè)備可以跟主機(jī)通信,最多支持127個(gè)設(shè)備。由于電腦的USB接口有限,必須使用USBHUB增加分支,根據(jù)規(guī)范USBHub最多可提供7個(gè)分支。IEEE1394IEEEl394是一種高性能的串行總線(xiàn)。應(yīng)用范圍主要是那些帶寬要求超過(guò)100Kbit/s的硬盤(pán)和視頻外設(shè)。利用同樣的四條信號(hào)線(xiàn),IEEE1394即可以同步傳輸,也可以支持異步傳輸。這四根信號(hào)線(xiàn)分為差模時(shí)鐘信號(hào)線(xiàn)對(duì)和差模數(shù)據(jù)線(xiàn)對(duì)。

IEEE1394規(guī)范得到了很好的定義,而且基于IEEE規(guī)范的產(chǎn)品也出現(xiàn)在了市場(chǎng)上。目前,IEEE1394解決方案的價(jià)位被認(rèn)為可以同SCSI磁盤(pán)接口相競(jìng)爭(zhēng),但它不適用于一般的桌面連接。IEEE1394的特點(diǎn)IEEEl394是一種新型的高速串行總線(xiàn),它具有以下顯著的特點(diǎn):(1)高傳輸速率(2)采用同步傳輸和異步傳輸兩種數(shù)據(jù)傳輸模式。(3)可以實(shí)現(xiàn)即插即用并支持熱插拔上述特點(diǎn)使它可廣泛地應(yīng)用于多媒體聲卡、圖像和視頻產(chǎn)品、打印機(jī)、掃描儀的圖像處理等方面,尤其是磁盤(pán)陣列、數(shù)字照相機(jī),顯示器和數(shù)字錄像機(jī)等。I/O端口編址與譯碼1、I/O端口的尋址方式2、I/O端口地址譯碼I/O端口的尋址方式I/O端口:通常把I/O接口電路中能被CPU直接訪(fǎng)問(wèn)的寄存器或某些特定的器件稱(chēng)為端口,I/O端口的編號(hào)稱(chēng)為端口地址。I/O接口寄存器或部分端口線(xiàn)與I/O設(shè)備直接相連,完成數(shù)據(jù)、狀態(tài)及控制信息的交換。這樣I/O操作實(shí)際上轉(zhuǎn)化為對(duì)I/O端口的操作,即CPU所訪(fǎng)問(wèn)的是與I/O設(shè)備相關(guān)的端口,而不是I/O設(shè)備本身。端口地址編址方式統(tǒng)一編址:從存儲(chǔ)空間中劃出一部分地址空間分配給I/O設(shè)備,而把I/O接口中的端口當(dāng)作存儲(chǔ)器單元一樣進(jìn)行訪(fǎng)問(wèn)。優(yōu)點(diǎn):1、對(duì)I/O接口的操作與對(duì)存儲(chǔ)器的操作完全相同,任何存儲(chǔ)器操作指令都可以用來(lái)操作I/O接口,而不必使用專(zhuān)用的I/O指令。2、可以使外設(shè)數(shù)目或I/O寄存器數(shù)目幾乎不受限制,而只受總存儲(chǔ)容量的限制,從而大大增加系統(tǒng)的吞吐率。3、使微機(jī)系統(tǒng)的讀寫(xiě)邏輯簡(jiǎn)單。缺點(diǎn)1、占用了存儲(chǔ)器的一部分地址空間,使可用內(nèi)存空間減少了。2、訪(fǎng)問(wèn)內(nèi)存的指令一般較長(zhǎng),執(zhí)行速度慢。3、為了識(shí)別一個(gè)I/O端口,必須對(duì)全部地址線(xiàn)譯碼,這樣不僅增加了地址譯碼電路的復(fù)雜性,而且使執(zhí)行外設(shè)尋址的操作時(shí)間相對(duì)增加。獨(dú)立編址獨(dú)立編址:將I/O端口單獨(dú)編址而不和存儲(chǔ)空間合在一起,即兩者的地址空間是相互獨(dú)立的,I/O結(jié)構(gòu)不會(huì)影響存儲(chǔ)器的地址空間。處理器對(duì)I/O端口和存儲(chǔ)單元的不同尋址是通過(guò)不同的讀寫(xiě)控制信號(hào)IOR、IOW和MEMR、MEMW來(lái)實(shí)現(xiàn)的。優(yōu)點(diǎn):1、I/O端口地址不占用存儲(chǔ)器地址空間。由于系統(tǒng)需要的I/O端口寄存器一般比存儲(chǔ)器單元要少得多,比如設(shè)置256到1024個(gè)端口對(duì)一般微機(jī)系統(tǒng)已經(jīng)足夠,因此選擇I/O端口只需用8到10根地址線(xiàn)即可。2、由于I/O地址線(xiàn)較少,因此I/O端口地址譯碼簡(jiǎn)單,尋址速度快。缺點(diǎn)1、專(zhuān)用I/O指令類(lèi)型少,遠(yuǎn)不如存儲(chǔ)器訪(fǎng)問(wèn)指令豐富,使程序設(shè)計(jì)靈活性較差。2、I/O操作通常只能在累加器和I/O端口之間進(jìn)行,處理能力不如存儲(chǔ)器影像方式強(qiáng)。3、要求處理器提供存儲(chǔ)器讀/寫(xiě)及I/O端口讀/寫(xiě)兩組控制信號(hào),增加了控制邏輯的復(fù)雜性,而且對(duì)CPU芯片引腳線(xiàn)的數(shù)目需求多。I/O端口地址分配Intel系列PC微機(jī)I/O地址線(xiàn)有16根,對(duì)應(yīng)的I/O端口編址可達(dá)64K字節(jié)。但由于IBM公司當(dāng)初設(shè)計(jì)微機(jī)主板及規(guī)劃接口卡時(shí)其端口地址譯碼采用的是非完全譯碼方式,即只考慮了低10位地址線(xiàn)A9-A0,而沒(méi)有考慮高6位地址線(xiàn)A15-A10,故其I/O端口地址范圍是0000-03FFH,PC系統(tǒng)微機(jī)系統(tǒng)支持的端口數(shù)目是1024個(gè)。系統(tǒng)板上接口芯片的端口地址040~05FH060~06FH070~07FH0F0~0FFH定時(shí)器并行接口芯片(鍵盤(pán)接口)RT/CMOSRAM協(xié)處理器020~03FH0A0~0BFH中斷控制器1中斷控制器2000~01FH0C0~0DFH080~09FHDMA控制器1DMA控制器2DMA頁(yè)面寄存器端口地址I/O芯片名稱(chēng)系統(tǒng)板上接口芯片的端口地址I/O接口名稱(chēng)端口地址游戲控制卡200~20FH并行口控制卡1并行口控制卡2370~37FH270~27FH串行口控制卡1串行口控制卡23F8~3FFH2F0~2FFH原型插件板(用戶(hù)可用)300~31FH同步通信卡1同步通信卡23A0~3AFH380~38FH單顯MDA彩顯CGA彩顯EGA/VGA3B0~3BFH3D0~3DFH3C0~3CFH硬驅(qū)控制卡軟驅(qū)控制卡1F0~1FFH3F0~3F7HPC網(wǎng)卡360~36FH設(shè)計(jì)、選定I/O端口地址時(shí)要注意

(1)凡是被系統(tǒng)配置占用了的端口地址不能使用。

(2)從原則上講,未被系統(tǒng)占用的地址用戶(hù)都可以使用,但對(duì)計(jì)算機(jī)廠(chǎng)家申明保留的地址,不要使用,以免發(fā)生I/O端口地址重疊和沖突造成所設(shè)計(jì)的產(chǎn)品與系統(tǒng)不兼容。

(3)通常,用戶(hù)可使用0300H~031FH,這是PC系列微機(jī)留作實(shí)驗(yàn)卡用的。在用戶(hù)可用的I/O地址范圍內(nèi),為了避免與其他用戶(hù)開(kāi)發(fā)的接口控制卡發(fā)生地址沖突,最好采用地址開(kāi)關(guān)。譯碼電路的構(gòu)成可用門(mén)電路、譯碼器或者兩者的組合實(shí)現(xiàn)。門(mén)電路:與門(mén)、非門(mén)、或門(mén)、與非門(mén)、或非門(mén)等譯碼器:

2-4線(xiàn)譯碼器74LS1393-8線(xiàn)譯碼器74LS1384-16線(xiàn)譯碼器74LS154等74LS138譯碼器AY0BY1CY2Y3G1Y4G2AY5G2BY6Y7設(shè)計(jì)譯碼電路的方法1)地址譯碼電路的作用 作用:地址+控制信號(hào)接口芯片的選擇信號(hào)。 常用控制信號(hào):SBHE、、AEN、、

SBHE:控制端口奇偶地址。:控制是8位還是16位的I/O端口。AEN=0:避免在DMA期間,由DMA控制器對(duì)這些以非DMA方式傳送的端口執(zhí)行DMA操作。:控制對(duì)端口的讀。:控制對(duì)端口的寫(xiě)。2)地址譯碼電路的輸出信號(hào) 輸出信號(hào):低電平有效。I/O地址譯碼方法 片間選擇:高位地址+控制信號(hào)片選信號(hào)。 片內(nèi)端口選擇:低位地址直接與接口芯片地址線(xiàn)相連。邏輯組合IORIOWI/OCS16譯碼電路I/OCS16IORIOW地址譯碼電路舉例設(shè)計(jì)端口地址為218H的譯碼電路分析

CPU執(zhí)行IN/OUT指令時(shí),發(fā)出端口的地址信號(hào)

MOVDX,218H

INAL,DX

OUTDX,AL對(duì)應(yīng)218H端口的地址信號(hào)為(取A9~A0):

A9A8A7A6A5A4A3A2A1A0(地址信號(hào))1000011000B218H只要滿(mǎn)足此地址取值的譯碼電路均可用門(mén)電路實(shí)現(xiàn)218H的地址譯碼數(shù)據(jù)線(xiàn)DBRDWRCS端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC總線(xiàn)D0~D7D0~D710000110000&譯碼電路部分滿(mǎn)足:只當(dāng)?shù)刂沸盘?hào)A9~A0為:A9A8A7A6A5A4A3A2A1A01000011000即218H時(shí),輸出0,使I/O接口的CS有效否則輸出1,使I/O接口的CS無(wú)效用集成譯碼模塊進(jìn)行端口地址譯碼若接口電路中需要使用多個(gè)端口地址時(shí),采用集成譯碼器譯碼比較方便。譯碼器的型號(hào)很多,如3-8譯碼器74LS138、4-16譯碼器74LS154;雙2-4譯碼器74LS139和74LSl55等。采用實(shí)際芯片PC總線(xiàn)RDWRCSI/O接口D0~D7數(shù)據(jù)線(xiàn)DB端口譯碼電路0A9A8A7A6A5A4A3A2A1A0AEN+5VIORIOWD0~D710000110000&&≥10074LS3074LS2074LS3274LS30為8輸入與非門(mén)74LS20為4輸入與非門(mén)74LS32為2輸入或門(mén)當(dāng)?shù)刂沸盘?hào)為:A9A8A7A6A5A4A3A2A1A01000011000即地址為218H或門(mén)74LS32輸出0,使I/O接口的CS有效。用譯碼器、門(mén)電路組合實(shí)現(xiàn)218H的地址譯碼當(dāng)端口地址信號(hào)為:A9A8A7A6A5A4A3A2A1A01000011000即218H時(shí),Y0輸出0,使I/O接口的CS有效74LS1383-8譯碼器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

0000110000100&A0A1A2AENA3A4A5A6A7A8A9IORIOWPC總線(xiàn)CSI/O接口D0~D7&RDWR數(shù)據(jù)線(xiàn)DBD0~D7端口譯碼電路開(kāi)關(guān)式可選端口地址譯碼適用場(chǎng)合:要求接口卡的端口地址能適應(yīng)不同的地址分配場(chǎng)合,或?yàn)橄到y(tǒng)今后擴(kuò)充留有余地。這種譯碼方式可以通過(guò)開(kāi)關(guān)使接口卡的I/O端口地址根據(jù)要求加以改變而無(wú)需改正電路、其電路結(jié)構(gòu)形式有如下幾種。

(1)用比較器模塊和地址開(kāi)關(guān)進(jìn)行地址譯碼常用的比較器有4位比較器74LS85、8位比較器74LS688。比較器可以對(duì)兩個(gè)數(shù)據(jù)比較出大于、小于或等于三種結(jié)果。在地址譯碼中僅使用比較相等的功能,大于、小于則不使用。開(kāi)關(guān)式可選端口地址譯碼使用跳線(xiàn)的可選式譯碼電路根據(jù)需要,要改變譯碼器的譯出地址,可以用跳線(xiàn)或跳接開(kāi)關(guān)對(duì)譯碼器的輸入地址進(jìn)行反相或不反相的選擇,如83頁(yè)圖2-16所示。如果改變跳線(xiàn)的連接方向,則有多達(dá)1024種地址選擇。習(xí)題使用74LS20/30/32和74LS04設(shè)計(jì)I/O端口地址為3D8H的只讀譯碼電路。解答若要產(chǎn)生3D8H端口地址,則譯碼電路的輸入地址線(xiàn)就應(yīng)具有如表所示的值。按照表中地址線(xiàn)的值,采用門(mén)電路就可以設(shè)計(jì)出譯碼電路,如圖所示。8D3十六進(jìn)制100011010011二進(jìn)制A3A2A1A0A7A6A5A400A9A8地址線(xiàn)解答A1A0AENIORA9A8A7A6A5A4A3A2≥1&&74LS0474LS2074LS3274LS30Y若要產(chǎn)生2E2H端口地址,且?guī)ёx寫(xiě)控制的譯碼電路。2E2十六進(jìn)制001011100010二進(jìn)制A3A2A1A0A7A6A5A400A9A8地址線(xiàn)解答Y(讀)Y(寫(xiě))A1A0AENIORIOW111111≥1≥1≥1A9A8A7A6A5A4A3A274LS3074LS2074LS32&&圖帶讀/寫(xiě)控制的門(mén)電路譯碼電路A9A8A7A6A5A4A3A2A1A01011100010I/O端口地址譯碼電路設(shè)計(jì)地址范圍:n根地址線(xiàn)未參與譯碼,譯出地址含2n個(gè)1)固定式端口地址譯碼門(mén)電路譯碼法——單個(gè)地址或地址范圍

例:圖中譯碼輸出地址2FH(只讀、AEN=0)試分析將圖中的A1、A2去掉后,譯碼輸出的地址譯碼器(以74LS138為例)譯碼法——多個(gè)地址或地址范圍A9&1A81A7A6A5A4A31111&A2A1A0AENIOR1Y74LS3074LS2074LS32例子例:PC機(jī)系統(tǒng)板上的端口地址譯碼電路(分析其地址的范圍)1A7A6A51A9A8AENABCG2AG2BG1Y0Y1Y2Y3Y4Y51IOWDMACST/CCSPPICSINTRCSWRTNMIREGWRTDMAPG(8237)(8259)(8253)(8255)(寫(xiě)DMA頁(yè)面寄存器)(寫(xiě)NMI屏蔽寄存器)(74LS138)8237:00H~1FH8259:20H~3FH8253:40H~5FH8255:60H~7FH寫(xiě)DMA頁(yè)面寄存器:80H~9FH寫(xiě)NMI屏蔽寄存器:A0H~BFH可選式端口地址譯碼比較器+地址開(kāi)關(guān)原理:當(dāng)比較器輸出有效(相等)時(shí),譯碼輸出有效。分析S0、S2閉合時(shí)譯碼輸出地址……Y6:158H~15BHY7:15CH~15FHY0:140H~143HY1:144H~147HS0S1S3S2DIPVccA=BB3B2B0B1A3A2A0A1A9A8A6A774LS85A=BA<BA>BABCG2AG2BG1Y0Y1Y6Y7(74LS138)…A4A3A2A5AEN

若要求Y3的地址為24CH~24FH,如何設(shè)置開(kāi)關(guān);若要求為32CH~32FH呢?32CH~32FH:該電路無(wú)法實(shí)現(xiàn)24CH~24FH:S0、S3斷開(kāi);S1、S2閉合NOTE:由開(kāi)關(guān)控制的地址才能改變8254可編程定時(shí)器/計(jì)數(shù)器在微機(jī)系統(tǒng)或智能化儀器儀表的工作過(guò)程中,經(jīng)常需要使系統(tǒng)處于定時(shí)工作狀態(tài),或者對(duì)外部過(guò)程進(jìn)行計(jì)數(shù)。定時(shí)或計(jì)數(shù)的工作實(shí)質(zhì)均體現(xiàn)為對(duì)脈沖信號(hào)的計(jì)數(shù),如果計(jì)數(shù)的對(duì)象是標(biāo)準(zhǔn)的內(nèi)部時(shí)鐘信號(hào),由于其周期恒定,故計(jì)數(shù)值就恒定地對(duì)應(yīng)于一定的時(shí)間,這一過(guò)程即為定時(shí),如果計(jì)數(shù)的對(duì)象是與外部過(guò)程相對(duì)應(yīng)的脈沖信號(hào)(周期可以不相等),則此時(shí)即為計(jì)數(shù)。定時(shí)與計(jì)數(shù)的關(guān)系 定時(shí)的本質(zhì)就是計(jì)數(shù),只不過(guò)這里的“數(shù)”的單位是時(shí)間單位。定時(shí)的方法在微機(jī)系統(tǒng)中,常常需要為CPU和外部設(shè)備提供時(shí)間基準(zhǔn)以實(shí)現(xiàn)定時(shí)或延時(shí)控制。如定時(shí)中斷、定時(shí)檢測(cè)、定時(shí)掃描等,或?qū)ν獠渴录M(jìn)行計(jì)數(shù)并將計(jì)數(shù)結(jié)果提供給CPU。實(shí)現(xiàn)定時(shí)或延時(shí)控制有三種方法:軟件定時(shí)、不可編程硬件定時(shí)器、可編程硬件定時(shí)器。軟件定時(shí)讓CPU執(zhí)行一段程序段,由于執(zhí)行每條指令都需要時(shí)間,因此執(zhí)行一個(gè)程序段就需要一定的時(shí)間,通過(guò)改變指令執(zhí)行的循環(huán)次數(shù)就可以控制定時(shí)時(shí)間。這種軟件定時(shí)方式計(jì)時(shí)不夠準(zhǔn)確,尤其是當(dāng)CPU內(nèi)部有多個(gè)并行處理時(shí)更為明顯。同時(shí),由于它占用了CPU,因而降低了CPU的利用率。定時(shí)的方法不可編程的硬件定時(shí)器采用中小規(guī)模器件(如NE555),外接定時(shí)元件——電阻和電容。這種方式實(shí)現(xiàn)的定時(shí)電路簡(jiǎn)單,通過(guò)改變電阻和電容可使定時(shí)在一定范圍內(nèi)變化。但是,這種定時(shí)電路在連接好硬件后,定時(shí)值就不易用軟件來(lái)控制和改變,由此產(chǎn)生了可編程的硬件定時(shí)器電路。所謂可編程的硬件定時(shí)器電路就是其工作方式、定時(shí)值和定時(shí)范圍可以很方便地由軟件來(lái)確定和改變。定時(shí)的方法1.軟件延時(shí) 不用硬件,但占用大量CPU時(shí)間

2.不可編程的硬件定時(shí) 電路簡(jiǎn)單,但不易更改

3.可編程的硬件定時(shí) 軟硬件結(jié)合,可靈活定時(shí)可編程定時(shí)器/計(jì)數(shù)器82548254是8253的提高型(SuperSet),它具備8253的全部功能。凡是用8253的地方都可用8254代替,而原來(lái)的硬件連接和驅(qū)動(dòng)軟件都不必做任何修改。在微機(jī)方面,PC/XT機(jī)中用的是8253,而PC/AT及以后的系統(tǒng)中用的是8254。下面以8254-2為例(最高頻率為10MHZ)來(lái)討論。123456789101112242322212019181716151413VccWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE1D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND82548254可編程定時(shí)器/計(jì)數(shù)器的功能與結(jié)構(gòu)(1)8254-2的基本功能1、有三個(gè)獨(dú)立的16位計(jì)數(shù)器;2、每個(gè)計(jì)數(shù)器可按二進(jìn)制或十進(jìn)制(BCD)計(jì)數(shù);3、每個(gè)計(jì)數(shù)器可編程工作于6種不同的工作方式;4、8254-2每個(gè)計(jì)數(shù)器允許的最高頻率為10MHZ(8253為2MHZ,8253-5和8254-5為5MHZ,8254為8MHZ)5、8254有讀回命令(8253沒(méi)有),除了可以讀出當(dāng)前計(jì)數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。8254的內(nèi)部結(jié)構(gòu)框圖數(shù)據(jù)總線(xiàn)緩沖器讀/寫(xiě)控制邏輯控制字寄存器CLK0GATE0OUT0計(jì)數(shù)器0CLK2GATE2OUT2計(jì)數(shù)器2CLK1GATE1OUT1計(jì)數(shù)器1CSD0-D7內(nèi)部總線(xiàn)RDWRA0A1計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)計(jì)數(shù)器0控制寄存器計(jì)數(shù)初值寄存器(CR)減1計(jì)數(shù)器(CE)輸出鎖存寄存器(OL)CRHCEHOLHCRLCELOLL計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)16位初始值寄存器GATECLKOUT16位減1計(jì)數(shù)器輸出鎖存器控制邏輯D7-D0WRRDD7-D0計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)計(jì)數(shù)器0~2即三個(gè)計(jì)數(shù)器/定時(shí)器通道,每個(gè)通道包括:

8位控制字寄存器

16位計(jì)數(shù)初值寄存器 減一計(jì)數(shù)器 輸出鎖存器作定時(shí)器用:其CLK端上的輸入脈沖應(yīng)是標(biāo)準(zhǔn)的、精確的、周期的作計(jì)數(shù)器用:對(duì)其CLK端上的脈沖計(jì)數(shù),脈沖可以是非周期的采用減一計(jì)數(shù)器,為0時(shí),從OUT端上輸出一個(gè)脈沖定時(shí)時(shí)間=時(shí)鐘脈沖周期X預(yù)置的計(jì)數(shù)初值每個(gè)通道: CLK 計(jì)數(shù)脈沖或標(biāo)準(zhǔn)脈沖輸入端

OUT 計(jì)數(shù)值為0時(shí)輸出一個(gè)脈沖

GATE 允許端,當(dāng)GATE=1時(shí)允許計(jì)數(shù)計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)每個(gè)計(jì)數(shù)器均包括:8位控制寄存器,通過(guò)對(duì)它編程可選擇不同的工作方式;16位初值寄存器CR和16位輸出鎖存器OL,它們占用同一個(gè)I/0端口地址,CPU可以用輸出指令向CR預(yù)置初值,用輸入指令讀回OL的數(shù)值,CR和OL都沒(méi)有計(jì)數(shù)功能,只起鎖存作用;16位計(jì)數(shù)工作單元CE執(zhí)行計(jì)數(shù)操作,其操作方式由控制寄存器控制,最基本的操作是接受CR來(lái)的初值,對(duì)CLK信號(hào)減1計(jì)數(shù),把結(jié)果送到OL中鎖存。8254的引腳及其功能(3)8254的引腳及其功能數(shù)據(jù)總線(xiàn)緩沖器D7~D08位三態(tài)雙向讀/寫(xiě)控制邏輯CS:片選信號(hào)低電平有效RD:讀信號(hào)低電平有效WR:寫(xiě)信號(hào)低電平有效A1A0:端口選擇信號(hào)123456789101112242322212019181716151413VccWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE1D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND82548254的外部引腳面向系統(tǒng)總線(xiàn)的信號(hào)有:1.數(shù)據(jù)總線(xiàn)D7~D0:三態(tài)輸出/輸入線(xiàn)。用于將8254與系統(tǒng)數(shù)據(jù)總線(xiàn)相連,是8254與CPU接口數(shù)據(jù)線(xiàn),供CPU向8254進(jìn)行讀/寫(xiě)數(shù)據(jù)、傳送命令和狀態(tài)信息。2.片選線(xiàn)CS:輸入信號(hào),低電平有效。當(dāng)CS為低電平時(shí),CPU選中8254,可以向8254進(jìn)行讀/寫(xiě);當(dāng)CS為高電平時(shí),CPU未選中8254。CS由CPU輸出的地址碼經(jīng)譯碼產(chǎn)生。3.讀、寫(xiě)信號(hào)RD和WR:輸入信號(hào)。它們由CPU發(fā)出,用于對(duì)8254寄存器進(jìn)行讀/寫(xiě)操作。8254的外部引腳4.地址線(xiàn)A1和A0:它們一般分別接到系統(tǒng)地址總線(xiàn)的A1和A0上。用于選擇8254內(nèi)部寄存器,以便對(duì)它們進(jìn)行讀/寫(xiě)操作。8254與系統(tǒng)總線(xiàn)的連接口地址譯碼器A9A2AEND7~D0IORIOWA1A0D7~D0RDWRA1A0CS8254I/O口地址分2段A9~A2參加譯碼,譯碼輸出負(fù)脈沖。使CS=0,選中8254A1,A0直接與芯片A1,A0

相連,選擇片內(nèi)寄存器執(zhí)行IN時(shí)從選中的內(nèi)部寄存器讀執(zhí)行OUT時(shí)向選中的內(nèi)部寄存器寫(xiě)8254的引腳及其功能三個(gè)計(jì)數(shù)器0~2,一個(gè)控制寄存器當(dāng)A1A0分別為00011011時(shí)分別選中三個(gè)計(jì)數(shù)器和控制字寄存器在8088/8086系統(tǒng)中,CPU的A1、A0分別與8254的A1、A0相連在8086系統(tǒng)中,僅使用80x86數(shù)據(jù)總線(xiàn)的低8位D7~

D0CSRDWRA1A0操作01000計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器001001計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器101010計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器201011向控制寄存器寫(xiě)控制字00100讀計(jì)數(shù)器0當(dāng)前計(jì)數(shù)值00101讀計(jì)數(shù)器1當(dāng)前計(jì)數(shù)值00110讀計(jì)數(shù)器2當(dāng)前計(jì)數(shù)值00111無(wú)操作1XXXX禁止使用011XX無(wú)操作8254的操作方式和編程1、控制字的設(shè)置

3個(gè)計(jì)數(shù)器的控制寄存器公用一個(gè)I/O地址,即TIM+3(A1A0=11時(shí))??刂谱止?jié)的格式為:

BCDM0M1M2RL0RL1SC0SC1D0D1D2D3D4D5D6D7000: 方式0001: 方式1x10: 方式2x11: 方式3100: 方式4101: 方式500: 寄存器鎖存,CPU讀01: 只讀/寫(xiě)計(jì)數(shù)器低字節(jié)10: 只讀/寫(xiě)計(jì)數(shù)器高字節(jié)11: 先讀/寫(xiě)計(jì)數(shù)器低字節(jié) 后讀/寫(xiě)計(jì)數(shù)器高字節(jié)00: 選計(jì)數(shù)器001: 選計(jì)數(shù)器110: 選計(jì)數(shù)器211: 讀回命令0: 二進(jìn)制計(jì)數(shù),初值 為0000H-0FFFFH1: BCD計(jì)數(shù),初值為 0000-9999計(jì)數(shù)瞬時(shí)值和狀態(tài)信息的讀取xxxx00SC0SC1D0D1D2D3D4D5D6D7任意

00: 選計(jì)數(shù)器001: 選計(jì)數(shù)器110: 選計(jì)數(shù)器21、將計(jì)數(shù)工作單元的值鎖存入輸出鎖存器,計(jì)數(shù)工作單元繼續(xù)計(jì)數(shù);2、用輸入指令讀輸出鎖存器的內(nèi)容;計(jì)數(shù)鎖存命令下列3條指令執(zhí)行后,將把計(jì)數(shù)器1的計(jì)數(shù)工作單元的內(nèi)容鎖存入輸出鎖存器:MOVDX,控制寄存器端口地址MOVAL,01000000BOUTDX,AL如:假設(shè)計(jì)數(shù)器1為先讀/寫(xiě)低字節(jié)后讀/寫(xiě)高字節(jié),則完成鎖存操作之后要用兩條IN指令讀輸出鎖存器的內(nèi)容。MOVDX,計(jì)數(shù)器1的端口地址;INAL,DXMOVAH,ALINAL,DXXCHGAH,AL讀回命令向控制寄存器地址發(fā)讀回命令可以鎖存計(jì)數(shù)值和狀態(tài)信息,比計(jì)數(shù)鎖存命令功能更強(qiáng)。0CNT0CNT1CNT2STATUSCOUNT11D0D1D2D3D4D5D6D7計(jì)數(shù)值鎖存命令標(biāo)志位;0:表示由D3、D2、D1指明的計(jì)數(shù)器的計(jì)數(shù)值分別在對(duì)應(yīng)的輸出鎖存器內(nèi)鎖存,在讀之前鎖存器的值不變;分別對(duì)應(yīng)計(jì)數(shù)器2,計(jì)數(shù)器1和計(jì)數(shù)器0;0:不讀該計(jì)數(shù)器1:將指定該位對(duì)應(yīng)的計(jì)數(shù)值和/或狀態(tài)信息鎖存待讀;該位為0表示讀狀態(tài)寄存器狀態(tài)寄存器狀態(tài)信息經(jīng)讀回命令鎖存后,CPU對(duì)相應(yīng)的計(jì)數(shù)器執(zhí)行輸入指令可以讀回1個(gè)字節(jié)的狀態(tài)信息,格式如下:BCDM0M1M2RW0RW1NULLCOUNTOUTPUTD0D1D2D3D4D5D6D7其中:D0-D5位應(yīng)與寫(xiě)入的方式控制字相同。D7位表示該計(jì)數(shù)器通道的輸出端OUT的狀態(tài),該位為1,表示輸出高電平。D6位將指明置入初值寄存器的初值是否已經(jīng)裝入到減1計(jì)數(shù)器,如果在發(fā)出讀回命令時(shí)CR內(nèi)的初值還沒(méi)有裝入CE,讀回的狀態(tài)信息字節(jié)的D6位將為1;如果CR值已經(jīng)裝入CE,則該位為08254的操作方式和編程假設(shè)8254計(jì)數(shù)器0、計(jì)數(shù)器1、計(jì)數(shù)器2和控制寄存器的地址分別為50H,51H,52H,53H。對(duì)8254的3個(gè)控制寄存器設(shè)置控制字,需對(duì)端口地址53H執(zhí)行3條OUT指令才能完成。假設(shè)INIC0、INIC1和INIC2分別是要置入計(jì)數(shù)器0、1和2的控制字節(jié),設(shè)置時(shí)要用下列指令:

MOVDX,53HMOVAL,INIC0OUTDX,ALMOVAL,INIC1OUTDX,ALMOVAL,INIC2OUTDX,AL工作方式控制字舉例例如,向計(jì)數(shù)器0置入的控制字節(jié)為00110000,那么以后向初值寄存器預(yù)置初值時(shí),每次必須寫(xiě)兩條輸出指令,如下:

MOVDX,計(jì)數(shù)器0的端口地址

MOVAL,INIOLOUTDX,ALMOVAL,INIOHOUTDX,AL

其中INIOL和INIOH分別是要置入計(jì)數(shù)器0中初值寄存器的低位字節(jié)和高位字節(jié)的初值。工作方式控制字舉例同樣,從輸出鎖存器讀數(shù)時(shí),也必須相繼安排兩條輸入指令,如下:

MOVDX,TIMINAL,DXMOVAH,ALINAL,DXXCHGAH,AL這樣,AX內(nèi)容就是16位的輸出鎖存器的值。如果控制字節(jié)的RL1和RL0兩位設(shè)置為只讀/寫(xiě)低位字節(jié)或只讀/寫(xiě)高位字節(jié),每次只需用一條OUT指令或IN指令來(lái)寫(xiě)入或讀出指定的一個(gè)字節(jié)的內(nèi)容。8254的初始化編程步驟1、向控制寄存器寫(xiě)入方式選擇命令字

目的:

選擇一個(gè)計(jì)數(shù)器,并確定其工作方式和計(jì)數(shù)值(計(jì)數(shù)初值)的讀/寫(xiě)順序。2、向選擇的計(jì)數(shù)器寫(xiě)入計(jì)數(shù)初值。計(jì)數(shù)初值=fclk/fout;T=1/f即周期為頻率的倒數(shù)

注意:

如果方式選擇命令字D0=0,則初值應(yīng)是二進(jìn)制,否則初值應(yīng)是BCD碼數(shù)。當(dāng)計(jì)數(shù)初值≤9999時(shí),“初值”選為二進(jìn)制或BCD碼都可以;當(dāng)計(jì)數(shù)初值>9999時(shí),“初值”只能選二進(jìn)制。程序中如何表示BCD碼數(shù)?設(shè)初值=(1234)10則MOVAX,1234H

是正確的寫(xiě)成MOVAX,1234

是錯(cuò)誤的8254的初始化編程舉例設(shè)某8254計(jì)數(shù)器1工作于方式0,按BCD方式計(jì)數(shù),計(jì)數(shù)初值為400。計(jì)數(shù)器0-2以及控制寄存器的端口地址依次為80H-83H,試寫(xiě)出8254的初始化程序。8254的初始化編程舉例1、控制字:控制字為01110001B,寫(xiě)入控制寄存器,端口地址為83H2、計(jì)數(shù)值:計(jì)數(shù)初值為400,由于采用BCD計(jì)數(shù),故應(yīng)按BCD碼方式組成,即0400H,送入計(jì)數(shù)器1的數(shù)據(jù)端口,地址是81H。16位數(shù)送兩次,先送低8位00H,后送高8位04H。3、初始化程序:MOVAL,71HOUT83H,ALMOVAL,00HOUT81H,ALMOVAL,04HOUT81H,AL8254的工作方式方式0計(jì)數(shù)結(jié)束中斷方式方式1可編程單脈沖形成方式方式2分頻器方式3頻率可編程的方波發(fā)生器方式4由軟件觸發(fā)的選通信號(hào)發(fā)生器方式5硬件觸發(fā)的選通信號(hào)發(fā)生器方式0計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)方式0正常計(jì)數(shù)時(shí)序圖CW表示8254的控制字,LSB表示低8位計(jì)數(shù)值,MSB表示高8位計(jì)數(shù)值。計(jì)數(shù)過(guò)程控制字寫(xiě)入控制寄存器后,經(jīng)一個(gè)時(shí)鐘周期,下一個(gè)時(shí)鐘上升沿輸出端OUT變?yōu)榈碗娖?,且?jì)數(shù)過(guò)程中一直維持低電平。計(jì)數(shù)初值寫(xiě)入初值計(jì)數(shù)器后,經(jīng)過(guò)一個(gè)時(shí)鐘周期,下一個(gè)時(shí)鐘的下降沿,初值計(jì)數(shù)器CR的值被送到計(jì)數(shù)執(zhí)行單元CE中。隨后每個(gè)時(shí)鐘的下降沿都使計(jì)數(shù)執(zhí)行單元的內(nèi)容減1,減到0時(shí),輸出端OUT變成高電平,并一直維持高電平,直到寫(xiě)入新的計(jì)數(shù)值,開(kāi)始下一輪的計(jì)數(shù)。計(jì)數(shù)初值一次有效,經(jīng)過(guò)一次計(jì)數(shù)過(guò)程后,必須重新寫(xiě)入計(jì)數(shù)器的初值。當(dāng)輸出端OUT變成高電平時(shí),可利用OUT的上升沿作為中斷請(qǐng)求信號(hào)。該方式下,門(mén)控信號(hào)決定計(jì)數(shù)的停止或繼續(xù),裝入初值決定計(jì)數(shù)過(guò)程重新開(kāi)始。GATE信號(hào)的影響門(mén)控信號(hào)GATE=1時(shí),允許計(jì)數(shù);GATE=0時(shí),暫停計(jì)數(shù)。所以在計(jì)數(shù)過(guò)程中,門(mén)控信號(hào)GATE=0時(shí),計(jì)數(shù)執(zhí)行單元停止計(jì)數(shù),保持當(dāng)前值,直到GATE信號(hào)恢復(fù)到高電平,經(jīng)過(guò)一個(gè)時(shí)鐘周期,執(zhí)行單元從當(dāng)前值開(kāi)始繼續(xù)執(zhí)行減1操作。門(mén)控信號(hào)只影響計(jì)數(shù)執(zhí)行單元是否暫停減1操作,對(duì)輸出信號(hào)OUT無(wú)影響,OUT信號(hào)從計(jì)數(shù)開(kāi)始變?yōu)榈碗娖剑恢北3值接?jì)數(shù)結(jié)束,才變?yōu)楦唠娖?。如果門(mén)控信號(hào)GATE處于低電平時(shí),寫(xiě)入計(jì)數(shù)初值,下一個(gè)時(shí)鐘周期也將初值從初值計(jì)數(shù)器移入計(jì)數(shù)執(zhí)行單元,但不進(jìn)行計(jì)數(shù)操作,當(dāng)GATE變?yōu)楦唠娖綍r(shí)才開(kāi)始計(jì)數(shù)。利用GATE信號(hào)可作為啟動(dòng)定時(shí)的同步信號(hào)。新的初值對(duì)計(jì)數(shù)過(guò)程的影響如果在計(jì)數(shù)過(guò)程中寫(xiě)入新的初值,那么在寫(xiě)入新值后的下一個(gè)時(shí)鐘下降沿,計(jì)數(shù)器將按新的初值重新計(jì)數(shù)。如果新的計(jì)數(shù)值是8位,計(jì)數(shù)值寫(xiě)入到初值寄存器的寫(xiě)入過(guò)程中,計(jì)數(shù)器執(zhí)行單元不停止減1計(jì)數(shù),寫(xiě)入過(guò)程結(jié)束后,下一個(gè)時(shí)鐘下降沿才按新的初值重新計(jì)數(shù)。如果新的計(jì)數(shù)值是16位,寫(xiě)入第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),寫(xiě)入第二個(gè)字節(jié)后,計(jì)數(shù)器按新初值開(kāi)始計(jì)數(shù)。從計(jì)數(shù)開(kāi)始,輸出OUT變?yōu)榈碗娖?,一直保持到?jì)數(shù)結(jié)束,并不因?qū)懥诵碌某踔涤绊戄敵鲂盘?hào)。方式0(1)結(jié)果特點(diǎn):計(jì)數(shù)器減1為0時(shí),OUT升高,可利用該信號(hào)向CPU發(fā)中斷請(qǐng)求。(2)過(guò)程特點(diǎn)1、控制字寫(xiě)入:OUT=0,當(dāng)控制字寫(xiě)入控制字寄存器后,輸出端OUT變成低電平。并且在計(jì)數(shù)值減到0之前一直保持低電平。2、計(jì)數(shù)值寫(xiě)入:OUT不變,仍然為低電平(OUT=0)3、啟動(dòng)方式:寫(xiě)入計(jì)數(shù)值。寫(xiě)入計(jì)數(shù)值后,必須在下一個(gè)CLK時(shí)鐘脈沖到來(lái)時(shí),計(jì)數(shù)初值才由CR傳送到CE。4、計(jì)數(shù)期間:OUT為低電平(OUT=0)5、計(jì)數(shù)為0時(shí):OUT升高(OUT=1),向CPU發(fā)中斷請(qǐng)求(如果使用中斷的話(huà))。直到CPU寫(xiě)入新的控制字或計(jì)數(shù)值時(shí),才能使OUT=0;6、計(jì)數(shù)期間寫(xiě)入新的計(jì)數(shù)值:如果計(jì)數(shù)值是一個(gè)字節(jié),則在寫(xiě)入后的下一個(gè)時(shí)鐘脈沖新的計(jì)數(shù)值由CR送入CE,開(kāi)始新的計(jì)數(shù)如果計(jì)數(shù)值是兩個(gè)字節(jié),則寫(xiě)入第一個(gè)字節(jié)時(shí)終止計(jì)數(shù),寫(xiě)入第二個(gè)字節(jié)后的下一個(gè)時(shí)鐘脈沖時(shí)新的計(jì)數(shù)值由CR送入CE,啟動(dòng)計(jì)數(shù)器按新的計(jì)數(shù)值開(kāi)始計(jì)數(shù)。7、GATE的作用:GATE=0時(shí),禁止計(jì)數(shù),計(jì)數(shù)器停止;GATE=1時(shí)允許計(jì)數(shù),此時(shí)計(jì)數(shù)器從剛才斷的地方開(kāi)始連續(xù)計(jì)數(shù)。8、計(jì)數(shù)值有效期限:計(jì)數(shù)值一次有效。0軟件啟動(dòng)N方式0計(jì)數(shù)結(jié)束中斷方式GATE為高時(shí),寫(xiě)入計(jì)數(shù)值n后,在下一個(gè)時(shí)鐘脈沖的下降沿開(kāi)始減1計(jì)數(shù),此時(shí)OUT為低當(dāng)計(jì)數(shù)值為0時(shí),OUT變?yōu)楦撸撋仙乜捎脕?lái)觸發(fā)中斷在計(jì)數(shù)期間,GATE變?yōu)榈?,將暫停?jì)數(shù),當(dāng)GATE變?yōu)楦邥r(shí),繼續(xù)減1計(jì)數(shù)計(jì)數(shù)值n一次寫(xiě)入,僅一次有效可用來(lái)觸發(fā)中斷GATE為低暫定計(jì)數(shù)43210543210CLKWRnOUTWRmGATEOUTn=4m=5A+B=mAB寫(xiě)入控制字后,輸出端OUT變?yōu)楦唠娖健?xiě)入計(jì)數(shù)初值N后,計(jì)數(shù)器并不開(kāi)始計(jì)數(shù),而要等到GATE上升沿后的下一個(gè)CLK輸入脈沖的下降沿,OUT輸出變低,計(jì)數(shù)才開(kāi)始。計(jì)數(shù)結(jié)束時(shí),OUT輸出變高,從而產(chǎn)生一個(gè)寬度為N個(gè)CLK周期的負(fù)脈沖。方式1可編程單穩(wěn)態(tài)輸出方式ProgrammableOne–short)門(mén)控信號(hào)的影響方式1中GATE信號(hào)有兩個(gè)方面的作用:第一,在計(jì)數(shù)結(jié)束后,若再來(lái)一個(gè)GATE信號(hào)上升沿,則下一個(gè)時(shí)鐘周期的下降沿又從初值開(kāi)始計(jì)數(shù),而不需要重新寫(xiě)入初值;第二,在計(jì)數(shù)過(guò)程中,若來(lái)一個(gè)門(mén)控信號(hào)的上升沿,也在下一個(gè)時(shí)鐘的下降沿從初值起重新計(jì)數(shù),即終止原來(lái)的計(jì)數(shù)過(guò)程,開(kāi)始新的一輪計(jì)數(shù)。寫(xiě)入新的初值對(duì)計(jì)數(shù)過(guò)程的影響如果在計(jì)數(shù)過(guò)程中寫(xiě)入新的初值,不會(huì)影響計(jì)數(shù)過(guò)程,只有在下一個(gè)門(mén)控信號(hào)到來(lái)后的第一個(gè)時(shí)鐘下降沿才終止原來(lái)的計(jì)數(shù)過(guò)程,而按新值計(jì)數(shù)。輸出OUT的變化是高電平持續(xù)到開(kāi)始計(jì)數(shù)前,低電平持續(xù)到計(jì)數(shù)過(guò)程結(jié)束。方式1(1)結(jié)果特點(diǎn):輸出單拍負(fù)脈沖,脈沖寬度可編程設(shè)定(2)過(guò)程特點(diǎn)1、控制字寫(xiě)入:OUT=12、計(jì)數(shù)值寫(xiě)入:OUT=1(不變)3、啟動(dòng)方式:GATE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論