2011年微機(jī)原理與接口技術(shù)_第1頁
2011年微機(jī)原理與接口技術(shù)_第2頁
2011年微機(jī)原理與接口技術(shù)_第3頁
2011年微機(jī)原理與接口技術(shù)_第4頁
2011年微機(jī)原理與接口技術(shù)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章微型計(jì)算機(jī)總線10.1總線技術(shù)概述

10.2ISA總線

10.3PCI總線

10.4USB總線

10.1總線技術(shù)概述

10.1.1總線的標(biāo)準(zhǔn)

總線標(biāo)準(zhǔn)主要包括以下幾個(gè)部分:機(jī)械結(jié)構(gòu)規(guī)范:模塊尺寸、總線插頭、邊沿聯(lián)接器插座等規(guī)格及位置。性能規(guī)范:總線每根線(引腳)信號(hào)名稱與功能,它們相互作用的協(xié)議(例如定時(shí)關(guān)系)。電氣規(guī)范:每根信號(hào)線工作時(shí)的有效電平、動(dòng)態(tài)轉(zhuǎn)換時(shí)間、負(fù)載能力、各電氣性能的額定值及最大值。10.1.2總線的指標(biāo)1.總線寬度同時(shí)傳輸?shù)臄?shù)據(jù)位數(shù)位數(shù)越多,一次傳輸?shù)男畔⒕驮蕉郔SA總線寬度16位,EISA:16位,PCI:32位,PCI-2:64位。2.總線頻率總線通常都有一個(gè)基本時(shí)鐘,總線上其他信號(hào)都以這個(gè)時(shí)鐘為基準(zhǔn)這個(gè)時(shí)鐘的頻率也是總線工作的最高頻率。時(shí)鐘的頻率越高,單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量就越大。ISA總線、EISA總線的時(shí)鐘頻率為8MHz,PCI總線為33.3MHz,PCI-總線2可達(dá)66MHz。

單個(gè)數(shù)據(jù)傳輸周期數(shù)每個(gè)數(shù)據(jù)傳輸所用的時(shí)鐘周期數(shù)≥1。ISA總線傳送一個(gè)數(shù)據(jù)最少需要2個(gè)時(shí)鐘周期,EISA為1.5個(gè),PCI為1個(gè)。通過上面3個(gè)指標(biāo),可以計(jì)算出每一種類型總線的最高數(shù)據(jù)傳輸率(稱為帶寬,用B表示):B(ISA)=2(字節(jié)數(shù)據(jù)寬)×8(MHz)×1/2(每周期數(shù)據(jù)量)

=8MB/SB(PCI)=4(字節(jié)數(shù)據(jù)寬)×33.3(MHz)×1(每周期數(shù)據(jù)量)

=133MB/SB(PCI2)=8(字節(jié)數(shù)據(jù)寬)×66.6(MHz)×1(每周期數(shù)據(jù)量)

=533MB/S10.1.3總線的分類1.系統(tǒng)總線初期微型計(jì)算機(jī)的結(jié)構(gòu)比較簡(jiǎn)單,它的總線連接了微處理器、存儲(chǔ)器、接口電路和輸入/輸出設(shè)備,構(gòu)成了完整的“計(jì)算機(jī)系統(tǒng)”,這樣的總線稱為“系統(tǒng)總線”。這種系統(tǒng)總線實(shí)際上就是微處理器芯片總線(片內(nèi)總線)的延伸。圖10-12.局部總線大量設(shè)備連接到系統(tǒng)總線上時(shí):“爭(zhēng)用”總線的可能性增加,容易產(chǎn)生數(shù)據(jù)傳輸“瓶頸效應(yīng)”,總線性能下降總線連接設(shè)備多,負(fù)載重,也會(huì)增加傳輸延遲為了解決這個(gè)矛盾,在CPU高速外設(shè)之間增加了一條直接通路,該通路稱為“局部總線”使用局部總線后,系統(tǒng)內(nèi)有多條不同級(jí)別的總線,形成了“分級(jí)總線結(jié)構(gòu)”。不同傳輸要求的設(shè)備“分類”連接在不同性能的總線上,合理地分配系統(tǒng)資源,滿足不同設(shè)備的不同需要。局部總線信號(hào)獨(dú)立于CPU,處理器的更換不會(huì)影響系統(tǒng)結(jié)構(gòu)。

3.通信總線(外總線)通信總線又稱為外總線,用于微機(jī)系統(tǒng)與微機(jī)系統(tǒng),微機(jī)與外部設(shè)備(如打印機(jī)、硬盤設(shè)備)、儀器儀表之間的通信通道。這種總線的數(shù)據(jù)傳輸可以是并行的(如打印機(jī)),也可以是串行的,數(shù)據(jù)傳輸速率低于系統(tǒng)內(nèi)部的總線。有多種不同的通信總線標(biāo)準(zhǔn),例如,串行通信的RS232C、USB總線,用于硬磁盤接口的IDE、SCSI總線,用于連接儀器儀表的IEE-488、VXI,用于并行打印機(jī)的Centronics等。10.1.4總線的數(shù)據(jù)傳輸信息是在兩個(gè)或兩個(gè)以上模塊(或稱為設(shè)備)之間傳送的傳送信息的主動(dòng)方稱為主模塊,傳送信息的被動(dòng)方稱為從模塊。除了特殊情況外,信息的傳送都是在主模塊與一個(gè)從模塊之間進(jìn)行??偩€上同一時(shí)刻僅有一個(gè)主模塊占用著總線。1.總線數(shù)據(jù)傳輸?shù)倪^程一次總線傳輸過程劃分為若干階段:⑴申請(qǐng)總線:主模塊申請(qǐng)總線,以便取得總線的控制權(quán)。⑵總線裁決:多個(gè)主模塊同時(shí)申請(qǐng)總線使用權(quán)時(shí),根據(jù)某種算法作出裁定,把總線的控制權(quán)賦予某個(gè)設(shè)備,這一任務(wù)由總線控制器完成。⑶尋址:主模塊取得總線控制權(quán)后,由該模塊進(jìn)行尋址(目的地址),通知被訪問的從模塊進(jìn)行信息傳輸。⑷傳送數(shù)據(jù):根據(jù)讀寫方式確定信息流向,一次傳輸可以傳送一個(gè)數(shù)據(jù),也可以傳送多個(gè)數(shù)據(jù)。⑸錯(cuò)誤檢測(cè)2.總線傳輸?shù)亩〞r(shí)方式在總線上進(jìn)行信息傳送必須使得信息傳送雙方(主與從)相互同步。每一位的信息從什么時(shí)間開始每一個(gè)數(shù)據(jù)從哪一位開始每一個(gè)數(shù)據(jù)塊從哪一個(gè)數(shù)據(jù)開始有三種定時(shí)方法:同步傳輸異步傳輸半同步傳輸(1)同步傳輸信息傳送在一個(gè)公共時(shí)鐘的控制下進(jìn)行總線所有事件都在時(shí)鐘周期的開始時(shí)發(fā)生,而不是由發(fā)送方或接收方?jīng)Q定。同步方式要求總線上的所有設(shè)備都能按照嚴(yán)格的時(shí)間關(guān)系實(shí)施數(shù)據(jù)傳輸。(2)異步傳輸

為了能用不同速度的模塊組成系統(tǒng),有時(shí)也采用異步方式控制數(shù)據(jù)傳輸。異步傳輸沒有統(tǒng)一的時(shí)鐘信號(hào),它通過一對(duì)握手(Handshaking)信號(hào)線(請(qǐng)求Request,響應(yīng)Acknowledge)在發(fā)送方和接收方之間進(jìn)行聯(lián)絡(luò)。主設(shè)備發(fā)出傳輸請(qǐng)求,從設(shè)備準(zhǔn)備就緒后發(fā)出應(yīng)答信號(hào),此后傳輸開始。異步方式的數(shù)據(jù)傳輸時(shí)間隨著設(shè)備響應(yīng)速度的不同而變化。CPU對(duì)存儲(chǔ)器傳統(tǒng)的讀寫是一種異步傳輸方式。CPU(主模塊)將存儲(chǔ)器地址放到地址總線上,發(fā)出讀信號(hào)。存儲(chǔ)器從模塊識(shí)別地址,在延遲若干時(shí)間后,將數(shù)據(jù)和應(yīng)答信號(hào)放到總線上。異步傳輸下的讀傳輸時(shí)序圖10-2(3)半同步傳輸進(jìn)行半同步傳輸時(shí),各信號(hào)仍以公共時(shí)鐘為基準(zhǔn),數(shù)據(jù)的開始時(shí)間由時(shí)鐘信號(hào)和握手信號(hào)共同確定??偩€上各操作之間的時(shí)間間隔可以變化,但僅允許為公共時(shí)鐘周期的整數(shù)倍。半同步方式在同步的前提下,允許設(shè)備的某些不一致性,具有較大的靈活性,因此得到了廣泛的使用。ISA總線屬于這種類型。3.數(shù)據(jù)傳輸類型

總線上的數(shù)據(jù)傳輸有單周期方式和突發(fā)數(shù)據(jù)傳輸(Burst)兩種方式。單周期方式在獲得一次總線使用權(quán)后只能傳送一個(gè)數(shù)據(jù),如果需要傳輸多個(gè)數(shù)據(jù),就要多次申請(qǐng)使用總線。突發(fā)方式下,獲得一次總線使用權(quán)可以連續(xù)進(jìn)行多個(gè)數(shù)據(jù)的傳輸:尋址階段主設(shè)備發(fā)送數(shù)據(jù)塊的首地址,后續(xù)的數(shù)據(jù)在首地址的基礎(chǔ)上按一定的規(guī)則(如自動(dòng)加1)尋址。這種傳輸方式總線的利用率高PCI總線支持突發(fā)數(shù)據(jù)傳輸方式??偩€仲裁總線上每個(gè)時(shí)刻只能被一個(gè)主模塊控制使用。如果同時(shí)出現(xiàn)多個(gè)主模塊申請(qǐng)使用總線的情況,就要進(jìn)行仲裁,以決定總線為哪個(gè)模塊所使用。仲裁方法可分為靜態(tài)和動(dòng)態(tài)兩種:靜態(tài)仲裁把總線周期固定劃分為若干個(gè)時(shí)間片,每個(gè)主設(shè)備占用其中的一個(gè)時(shí)間片。靜態(tài)仲裁方法簡(jiǎn)單,但浪費(fèi)了頻帶寬度,USB總線采用該類方法。動(dòng)態(tài)仲裁在有主設(shè)備請(qǐng)求時(shí),根據(jù)事先設(shè)定的規(guī)則分配總線使用權(quán),PCI總線采用該方法。5.錯(cuò)誤檢測(cè)由于外界或者自身存在著各種隨機(jī)出現(xiàn)的干擾因素,總線上傳輸?shù)男畔⒖赡墚a(chǎn)生錯(cuò)誤。需要錯(cuò)誤檢測(cè)電路發(fā)現(xiàn)或糾正出現(xiàn)的錯(cuò)誤,由專用的總線信號(hào)來報(bào)告出現(xiàn)的錯(cuò)誤。最常用也是最簡(jiǎn)單的錯(cuò)誤檢測(cè)方法是奇偶校驗(yàn)??偩€進(jìn)行高速和大批量信息傳輸時(shí),常采用循環(huán)冗余校驗(yàn)(CycleRedundancyChecking,CRC)的錯(cuò)誤校驗(yàn)方式。10.2ISA總線

ISA(IndustrialStandardArchitecture,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線起源于IBM-PC微型計(jì)算機(jī)的出現(xiàn)。ISA插槽由基本的62線8位插槽和擴(kuò)展的36線插槽兩部分組成。ISA總線主要的性能指標(biāo):

24位地址線,可直接尋址的內(nèi)存容量為16MB,I/O地址空間0100H~03FFH;8/16位數(shù)據(jù)線,62+36引腳;工作頻率8MHz,最大傳輸率16MB/S;中斷功能及DMA功能;10.2.1ISA總線的信號(hào)定義

每個(gè)總線周期傳輸一個(gè)數(shù)據(jù)/地址不支持突發(fā)(Burst)傳輸方式除了CPU和DMA控制器之外,其他ISA設(shè)備均是從設(shè)備總線仲裁由CPU進(jìn)行。圖10-310.2.2ISA總線擴(kuò)展卡由于ISA總線的開放特性,許多廠商設(shè)計(jì)制造了各種ISA總線的I/O接口,比如AD數(shù)據(jù)采集卡。為了避免地址發(fā)生沖突,ISA卡設(shè)計(jì)時(shí)采用跳線開關(guān)(switch),允許對(duì)卡的I/O起始地址(BASE)進(jìn)行選擇。圖10-4為ISAPCL818接口卡的部分地址設(shè)定。用戶必須自己調(diào)整好switch,使BASE位于所使用計(jì)算機(jī)I/O的空閑位置,然后根據(jù)BASE地址訪問該ISA卡各種資源。圖10-410.3PCI總線

PCI總線的英文全稱是PeripheralComponentInterconnect,即外部設(shè)備互連。1991年下半年首先由Intel公司提出。對(duì)高速率數(shù)據(jù)傳輸?shù)男枨笸苿?dòng)了PCI的產(chǎn)生。PCI總線支持64位數(shù)據(jù)傳輸、多總線主控和線性突發(fā)方式(Burst),數(shù)據(jù)傳輸率為132MB/S。10.3.1PCI的特點(diǎn)1.線性突發(fā)傳輸PCI支持突發(fā)的數(shù)據(jù)傳輸模式,滿足新型處理器高速緩沖存儲(chǔ)器(Cache)與內(nèi)存之間的讀寫。線性突發(fā)傳輸能夠更有效地運(yùn)用總線的帶寬去傳輸數(shù)據(jù),以減少無謂的尋址操作。2.支持總線主控方式和同步操作掛接在PCI總線上的設(shè)備有“主控”和“從控”二類。PCI總線允許多處理器系統(tǒng)中任何一個(gè)處理器或其他有總線主控能力的設(shè)備成為總線主控設(shè)備。PCI允許微處理器和總線主控制器同時(shí)操作,微處理器內(nèi)部的操作和總線操作可以同時(shí)進(jìn)行。3.獨(dú)立于處理器PCI是一種獨(dú)立于處理器的總線標(biāo)準(zhǔn),支持多種處理器,適用于多種不同的系統(tǒng)。在PCI總線構(gòu)成的系統(tǒng)中,接口和外圍設(shè)備的設(shè)計(jì)是針對(duì)PCI而不是CPU的,當(dāng)CPU因?yàn)檫^時(shí)而更換時(shí),接口和外圍設(shè)備仍然可以正常使用。4.即插即用PCI具有即插即用(PlugandPlay)、自動(dòng)配置的功能??偩€的接口卡上都設(shè)有“配置寄存器”,系統(tǒng)加電時(shí)用程序給這些設(shè)備分配端口地址等系統(tǒng)資源,可以避免它們使用時(shí)發(fā)生沖突。新推出的PCI2.2版支持熱插拔(HotPlug)。5.適合于各種機(jī)型PCI局部總線不僅為桌面(臺(tái)式)電腦提供合理的局部總線設(shè)計(jì),同時(shí)也適用于便攜式電腦和服務(wù)器。支持3.3V的電源環(huán)境,延長(zhǎng)電池壽命,為電腦小型化創(chuàng)造了良好的實(shí)現(xiàn)條件。6.多總線共存PCI總線通過“橋”芯片進(jìn)行不同標(biāo)準(zhǔn)信號(hào)之間的轉(zhuǎn)換。使用“Host-PCI”橋連接處理器和PCI總線使用“PCI-ISA/EISA”橋連接PCI和ISA/EISA。這一特點(diǎn)使得多種總線可以共存于一個(gè)系統(tǒng)中。7.預(yù)留了發(fā)展空間PCI總線在開發(fā)時(shí)預(yù)留了足夠的發(fā)展空間,支持64位地址/數(shù)據(jù)多路復(fù)用。PCI的64位延伸設(shè)計(jì),可將系統(tǒng)的數(shù)據(jù)傳輸速率提高到264MB/S。10.3.2PCI總線系統(tǒng)結(jié)構(gòu)“Host-PCI”橋?qū)崿F(xiàn)了PCI總線的全部驅(qū)動(dòng)控制,主要解決I/O設(shè)備同CPU的連接問題。另一類“橋”用于生成“多級(jí)總線”結(jié)構(gòu),例如“PCI-ISA/EISA”、“PCI-USB”、“PCI-PCI”等。多級(jí)總線把不同傳輸速度,不同傳輸方式的設(shè)備分門別類地連接到各自“適合”的總線上,使得不同類型的設(shè)備共存于一個(gè)系統(tǒng),合理地分配資源,協(xié)調(diào)地運(yùn)轉(zhuǎn)。圖10-510.3.3PCI總線信號(hào)PCI信號(hào)線分為必備的和可選的兩大類主設(shè)備至少需要49條必備信號(hào)從設(shè)備需要47條必備信號(hào)信號(hào)類型定義:IN輸入,是一標(biāo)準(zhǔn)的只作輸入的信號(hào)。OUT輸出,是一標(biāo)準(zhǔn)的輸出驅(qū)動(dòng)信號(hào)。T/S雙向的三態(tài)輸入/輸出信號(hào)。S/T/S持續(xù)的并且低電平有效的三態(tài)信號(hào)。在某一時(shí)刻只能屬于一個(gè)主設(shè)備并被其驅(qū)動(dòng)。OD漏極開路,以線或形式允許多個(gè)設(shè)備共同驅(qū)動(dòng)。1.系統(tǒng)信號(hào)CLKIN:時(shí)鐘信號(hào),最高33MHz/66MHz,為所有PCI傳輸提供時(shí)序基準(zhǔn);RTS#IN:復(fù)位信號(hào)。2.地址和數(shù)據(jù)信號(hào)AD[31::0],T/S,地址和數(shù)據(jù)分時(shí)復(fù)用信號(hào)。地址期:FRAME#有效,發(fā)送32位物理地址;數(shù)據(jù)期:IRDY#和TRDY#同時(shí)有效,32位數(shù)據(jù)信號(hào);C/BE[3::0]#,T/S,總線命令和字節(jié)有效復(fù)用信號(hào)線,傳輸命令或字節(jié)選擇信號(hào)。PAR,T/S,對(duì)AD[31::0]和C/BE[3::0]#的奇偶校驗(yàn)位。

圖10-63.接口控制FRAME#,S/T/S,F(xiàn)RAME#有效預(yù)示總線傳輸?shù)拈_始,由當(dāng)前主設(shè)備驅(qū)動(dòng)IRDY#,S/T/S,主設(shè)備準(zhǔn)備好信號(hào)TRDY#,S/T/S,從設(shè)備準(zhǔn)備好信號(hào)STOP#,S/T/S,STOP#有效表示當(dāng)前從設(shè)備要求主設(shè)備停止數(shù)據(jù)傳送LOCK#,S/T/S,LOCK#有效時(shí),當(dāng)前的主、從設(shè)備將獨(dú)占總線資源IDSEL,IN,初始化設(shè)備選擇,參數(shù)配置讀寫時(shí),用作片選信號(hào)DEVSEL#,S/T/S,設(shè)備選擇,它有效表示總線上某一從設(shè)備已被選中4.仲裁信號(hào)REQ#,T/S,請(qǐng)求信號(hào),任何主設(shè)備請(qǐng)求占有總線必須發(fā)出該請(qǐng)求,由PCI主控制器仲裁。每個(gè)PCI總線主設(shè)備都有一根獨(dú)用的REQ#信號(hào)。GNT#,T/S,允許信號(hào),PCI主控制器批準(zhǔn)主設(shè)備請(qǐng)求后,發(fā)回給主設(shè)備。與REQ#信號(hào)一樣,每個(gè)PCI總線主設(shè)備都有一根獨(dú)用的GNT#信號(hào)。5.出錯(cuò)報(bào)告信號(hào)PERR#,S/T/S,奇偶校驗(yàn)錯(cuò)信號(hào),由數(shù)據(jù)接收設(shè)備發(fā)出。SERR#,O/D,系統(tǒng)錯(cuò)誤信號(hào),報(bào)告地址奇偶錯(cuò)等可能引起災(zāi)難性后果的系統(tǒng)錯(cuò)誤。6.中斷信號(hào)INTA#,O/D,中斷請(qǐng)求信號(hào),該信號(hào)允許與時(shí)鐘信號(hào)不同步。INTB#,INTC#,INTD#,O/D,多功能設(shè)備的中斷請(qǐng)求信號(hào)。10.3.4PCI總線周期和地址空間1.PCI總線周期PCI上基本的總線傳輸機(jī)制是突發(fā)成組傳輸一個(gè)突發(fā)分組傳輸由一個(gè)地址期和多個(gè)數(shù)據(jù)期組成圖10-7一次典型的讀操作過程:

(1)主設(shè)備獲得總線使用權(quán)后:將FRAME#置為有效,在C/BE#上發(fā)送PCI總線命令在AD0~31上發(fā)送地址信號(hào),PCI總線進(jìn)入“地址期”將IRDY#信號(hào)置為有效,表示主設(shè)備已經(jīng)就緒在BE#0~3上發(fā)送字節(jié)選擇命令(2)從設(shè)備:從C/BE#獲知主設(shè)備的讀命令在地址期中從AD上得到存儲(chǔ)器或IO地址被選中的設(shè)備發(fā)出DESEL#有效信號(hào)表示響應(yīng)同時(shí),從設(shè)備內(nèi)部的讀操作開始進(jìn)行要求的數(shù)據(jù)讀出后,將TRDY#置為有效,將讀出的數(shù)據(jù)送往AD信號(hào)線,PCI總線進(jìn)入“數(shù)據(jù)期”。主設(shè)備在主時(shí)鐘信號(hào)的控制下,從AD上讀入需要的數(shù)據(jù)。(3)如果主設(shè)備需要執(zhí)行突發(fā)總線周期(默認(rèn)方式),則將FRAME#和IRDY#信號(hào)保持有效。從設(shè)備在這二個(gè)信號(hào)的控制下,將下一組數(shù)據(jù)送往AD信號(hào)線,進(jìn)入下一個(gè)數(shù)據(jù)期。如果從設(shè)備不能在下一個(gè)時(shí)鐘周期如期送出數(shù)據(jù),則將TRDY#信號(hào)置為無效,數(shù)據(jù)傳輸將產(chǎn)生停頓。(4)主設(shè)備在發(fā)出最后一組數(shù)據(jù)的讀命令之后:將FRAME#信號(hào)置為無效,表示數(shù)據(jù)傳輸即將結(jié)束。在最后一項(xiàng)數(shù)據(jù)傳輸后,主設(shè)備撤銷IRDY信號(hào)從設(shè)備撤銷TRDY#和DEVSEL#信號(hào),一次PCI突發(fā)總線傳輸結(jié)束??偩€控制器發(fā)現(xiàn)FRAME#信號(hào)結(jié)束后,開始下一次總線仲裁。總線的仲裁和總線上的數(shù)據(jù)傳輸是同時(shí)進(jìn)行的。2.PCI的地址空間PCI總線定義了三個(gè)物理地址空間:內(nèi)存地址空間、I/O地址空間和配置地址空間。PCI總線的每個(gè)設(shè)備都有自己的地址譯碼電路,不需要進(jìn)行統(tǒng)一譯碼。PCI支持正向和負(fù)向兩種類型的地址譯碼:正向譯碼:每個(gè)設(shè)備都監(jiān)聽地址總線,判斷訪問地址是否落在它的地址范圍,如果是,使DELSEL#有效以示應(yīng)答,響應(yīng)速度較快。負(fù)向譯碼:沒有一個(gè)設(shè)備作出響應(yīng)時(shí),由一個(gè)指定的設(shè)備(負(fù)向譯碼設(shè)備)作出響應(yīng)。它要等到總線上其他所有設(shè)備都拒絕之后才能行動(dòng),速度較慢。10.3.5PCI配置空間1.PCI頭標(biāo)區(qū)信息

PCI配置空間是長(zhǎng)度為256字節(jié)的一段內(nèi)存空間,前64個(gè)字節(jié)包含PCI接口的信息,64~255的地址空間存放設(shè)備特定的一些信息。(1)制造商標(biāo)識(shí)(vendorID):由PCI組織給PCI設(shè)備制造廠家的惟一編碼,子系統(tǒng)制造商標(biāo)識(shí)(subsystemvendorID)也由該組織給出。(2)設(shè)備標(biāo)識(shí)(deviceID):生產(chǎn)廠對(duì)這個(gè)產(chǎn)品的編號(hào),類似的還有子系統(tǒng)標(biāo)識(shí)(subsystemID)。操作系統(tǒng)根據(jù)子系統(tǒng)制造商標(biāo)識(shí)和子系統(tǒng)標(biāo)識(shí)識(shí)別設(shè)備類型,裝載對(duì)應(yīng)的驅(qū)動(dòng)程序。圖10-8(3)分類碼(classcode):代表該卡上設(shè)備的功能,如網(wǎng)卡、硬盤卡、擴(kuò)展橋、多媒體卡等,它們都對(duì)應(yīng)一個(gè)惟一的編碼。(4)基地址寄存器0~5(baseaddressregisters):第0位是只讀位,為0表示申請(qǐng)存儲(chǔ)器空間,這時(shí)用1~2位表示存儲(chǔ)空間的類型(圖內(nèi)左側(cè))。第0位為1時(shí)表示申請(qǐng)IO空間。第3位為1表示數(shù)據(jù)是可以預(yù)取的。第4~31位用來表示申請(qǐng)地址空間的大小,用其中可讀寫的位數(shù)表示。存儲(chǔ)空間的大小由基地址寄存器的可讀寫位數(shù)指定,分配的位置則由系統(tǒng)統(tǒng)一安排。由于有6個(gè)基地址寄存器,PCI設(shè)備最多可以申請(qǐng)6段地址空間。圖10-9當(dāng)一塊PCI卡上具備一個(gè)以上功能時(shí),應(yīng)指定為多功能卡,每個(gè)功能都要有一個(gè)自己的配置空間。每個(gè)功能可以是不同的設(shè)備標(biāo)識(shí)(deviceID)、功能類型、存儲(chǔ)器和I/O地址空間及中斷資源。配置空間的頭類型(headertype)用于指明是單功能卡或多功能卡。頭類型的第七位為1時(shí)代表多功能卡。訪問配置空間時(shí),3位地址用于指定功能號(hào),因此每塊卡最多可支持8個(gè)功能部件。由于PCI總線上只有4條中斷請(qǐng)求線,因而多功能卡最多只能有4個(gè)中斷源。2.訪問配置空間

通過BIOS調(diào)用“INT1AH”可以獲取PCI的配置信息,AH置為功能號(hào)0B1H,AL中為子功能號(hào):(1)PCI_BIOS

_PRESENT功能:查看PCIBIOS是否存在,若存在,版本號(hào)為多少。入口:[AL]=01H出口:[EDX]=“PCI”ASCII字符串 [AH]=存在狀態(tài)00=存在01=不存在 [BX]=版本號(hào)(2)FIND_PCIDEVICE 查找指定廠商和設(shè)備號(hào)的PCI板卡的位置。調(diào)用該函數(shù)后,用戶可以利用該函數(shù)返回的總線號(hào)去調(diào)用READ_CONFIG和WRITE_CONFIG函數(shù)訪問設(shè)備配置空間。入口:[AL]=02H[CX]=設(shè)備ID值(0……65535)[DX]=廠商ID值(0……65534)[SI]=索引號(hào)(0……n)出口:[AH]=返回代碼:SUCCESSFUL(=0),

DEVICE_NOT_FOUND,BAD_VENDOR_ID[BH]=總線號(hào)(0……255)[BL]=設(shè)備號(hào)(高5位),功能號(hào)(低3位)[CF]=完成狀態(tài),1=錯(cuò)誤,0=成功。(3)FIND_PCI_CLASS_CODE入口:[AL]=03H查找指定類代碼和索引的PCI設(shè)備的位置。在其后可調(diào)用READ_CONFIG和WRITE_CONFIG函數(shù)去訪問設(shè)備配置空間。(4)GENERATE_SPECIAL_CYCLE在PCI總線上產(chǎn)生特殊的周期入口:[AL]=06H[BH]=總線號(hào)(0……255)[EDX]=特殊周期的數(shù)據(jù)出口:[AH]=返回代碼:SUCCESSFUL(=0),

FUNCTION_NOT_SUPPORTED[CF]=完成狀態(tài),1=錯(cuò)誤,0=成功。(5)READ_CONFIG_BYTE按字節(jié)讀取配置空間數(shù)據(jù)。入口:[AL]=08H[BH]=總線號(hào)(0……255)[BL]=設(shè)備號(hào)(高5位),功能號(hào)(低3位)[DI]=寄存器號(hào)(0……255)出口:[AH]=返回代碼(SUCCESSFUL=0)[CX]=讀到的字節(jié)[CF]=完成狀態(tài),1=錯(cuò)誤,0=成功。(6)READ_CONFIG_WORD/READ_CONFIG_DWORD按字/雙字讀取配置空間入口:[AL]=09H/0AH[BH]=總線號(hào)(0……255)[BL]=設(shè)備號(hào)(高5位),功能號(hào)(低3位)[DI]=寄存器號(hào)(0,2,4,……254)/(0,4,8,……252)出口:[AH]=返回代碼:SUCCESSFUL(=0),

BAD_REGISTER_NUMBER [CX]/[ECX]=讀取的字/雙字 [CF]=完成狀態(tài),1=錯(cuò)誤,0=成功。(7)WRITE_CONFIG_BYTE/

WRITE_CONFIG_WORD/

WRITE_CONFIG_DWORD對(duì)設(shè)備的配置空間按字節(jié)/字/雙字進(jìn)行寫入口:[AL]=0BH/0CH/0DH[BH]=總線號(hào)(0……255)[BL]=設(shè)備號(hào)(高5位),功能號(hào)(低3位)[DI]=寄存器號(hào)(0……255)[CL/[CX]/[ECX]=要寫字的字節(jié)/字/雙字出口:[AH]=返回代碼:SUCCESSFUL,

BAD_REGISTER_NUMBER[CF]=完成狀態(tài),1=錯(cuò)誤,0=成功。

希望自己編程訪問本機(jī)PCI接口卡數(shù)據(jù)時(shí),可以首先用如下程序得到該卡的I/O地址:(假設(shè)設(shè)備標(biāo)識(shí)為0440H,生產(chǎn)廠標(biāo)識(shí)為5333H) MOV AH, 0B1H ; MOV AL, 02H ; MOV CX, 0440H ;DEVICEID,顯卡設(shè)備標(biāo)識(shí) MOV DX, 5333H ;VENDORID,生產(chǎn)廠商標(biāo)識(shí)

MOV SI, 0 ; INT 1AH ;得到總線號(hào),設(shè)備號(hào),功能號(hào) JC ERROR ;錯(cuò)誤時(shí)轉(zhuǎn)ERROR

MOVAH, 0B1H ; MOVAL, 09H ; MOVDI, 10H ;PCI基址寄存器 INT 1AH ; ANDAH, AH ; JNZ ERROR ANDCX, 0FFF0H ;D3~D0為標(biāo)志位 MOVAX, CX ; …………ERROR:………… ;出錯(cuò)處理 …………10.3.6PCI總線設(shè)備開發(fā)及S5933為了推廣PCI總線,降低PCI的使用難度,PCISIG提供了一套PCI系統(tǒng)開發(fā)工具,許多元件制造商也紛紛推出PCI協(xié)議控制芯片,AMCC公司生產(chǎn)的S5933X就是這類芯片。S5933X是在PCI總線與用戶應(yīng)用電路之間完成PCI協(xié)議轉(zhuǎn)換的芯片,使用戶能像ISA總線那樣輕松完成接口電路設(shè)計(jì)。它提供了3個(gè)物理總線接口:PCI總線接口、外加總線接口和可選的NV(非易失)存儲(chǔ)器接口。數(shù)據(jù)傳送可以在PCI總線與外加總線之間進(jìn)行,也可以在PCI總線與NV存儲(chǔ)器之間進(jìn)行。PCI總線與外加總線之間的數(shù)據(jù)傳送可以按以下三種方式進(jìn)行。PASSTHRU:用戶可將PCI板上的I/O空間和存儲(chǔ)空間映射到系統(tǒng)中。PASS-THRU方式不支持主控(Master),僅支持從控方式(Slaver)。MAILBOXES:供PC機(jī)與PCI板上微處理器之間傳輸參數(shù)用,速度很低。FIFO:先進(jìn)先出隊(duì)列及控制電路,數(shù)據(jù)寫入FIFO后,按寫入的先后順序讀出,供PCI板上進(jìn)行大量數(shù)據(jù)傳輸用,S5933也用該功能模塊來支持主控DMA。PCI規(guī)范允許PCI設(shè)備自帶一個(gè)ROM,在系統(tǒng)上電(POST)訪問配置空間時(shí),將該擴(kuò)展ROM拷貝入RAM并加以執(zhí)行。S5933的NV存儲(chǔ)器接口提供了這類功能。10.4

USB總線

10.4.1概述傳統(tǒng)的接口電路,每增加一種設(shè)備,就需要為它準(zhǔn)備一種接口或插座,還要為它們準(zhǔn)備各自的驅(qū)動(dòng)程序。這些接口、插座、驅(qū)動(dòng)程序各不相同,給使用和維護(hù)帶來了困難。由Intel等公司開發(fā)的USB總線(UniversalSerialBUS,通用串行總線)采用通用的連接器,使用熱插拔技術(shù)以及相應(yīng)的軟件,使得外設(shè)的連接、使用大大地簡(jiǎn)化,受到了普遍的歡迎,已經(jīng)成為流行的外設(shè)接口。接口信號(hào)及電氣特性USB總線使用一個(gè)4針的標(biāo)準(zhǔn)插頭支持熱插拔(HotPlugIn)和即插即用(Plug&Play)USB總線還能為低功耗裝置提供電源,+5V時(shí)最大可提供500mA的電流。管腳信號(hào)名稱導(dǎo)線顏色1VBUS紅2D-白3D+綠4GND黑外殼屏蔽多股線2.傳輸速度USB允許兩種傳輸速度規(guī)格:1.5Mb/S的低速傳送和12Mb/s的全速傳送,具有不同傳送速度的各個(gè)節(jié)點(diǎn)設(shè)備允許相互通信。新的USB2.0標(biāo)準(zhǔn)最高傳輸速率可達(dá)到480Mb/S。3.USB與IEEE1394的比較IEEE1394是一種高性能的串行總線。1394接口支持400Mb/S數(shù)據(jù)傳輸速度,可以實(shí)時(shí)地傳送視頻和音頻數(shù)據(jù)。USB一般用于連接中低速外設(shè)并局限于PC領(lǐng)域,1394將向通信和數(shù)字家電方向發(fā)展。

10.4.2USB總線的構(gòu)成1.USB硬件(1)USB主控制器/根集線器USB主控制器和根集線器合稱為USB主機(jī)(HOST)。USB主控制器是硬件、固件和軟件的聯(lián)合體。主控制器負(fù)責(zé)USB總線上的數(shù)據(jù)傳輸,進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換。根集線器集成在主系統(tǒng)中,提供多個(gè)接入端口。根集線器檢測(cè)外設(shè)的連接和斷開,執(zhí)行主控制器發(fā)出的請(qǐng)求并在設(shè)備和主控制器之間傳遞數(shù)據(jù)。根集線器由一個(gè)控制器和中繼器組成。USB主機(jī)的作用:

檢測(cè)USB設(shè)備的加入或去除狀態(tài);管理主機(jī)與USB設(shè)備之間的數(shù)據(jù)流;管理主機(jī)與USB設(shè)備之間的控制流;收集USB設(shè)備的狀態(tài)與活動(dòng)屬性。除了根集線器,USB總線上還可以連接附加的集線器。每個(gè)集線器可以提供2個(gè)、4個(gè)或7個(gè)接入點(diǎn),連接更多的USB設(shè)備??梢园鸭€器與外部設(shè)備集成在一起,更方便地?cái)U(kuò)充系統(tǒng)。(2)USB設(shè)備(Device)為主機(jī)提供單個(gè)功能的設(shè)備稱為“功能件”(FUNCTION)。“功能件”和Hub都稱為USB“設(shè)備”。復(fù)合的“設(shè)備”有一個(gè)Hub和一個(gè)或多個(gè)“功能件”。每個(gè)集線器和“功能件”都有惟一的地址。允許最多連接5層集線器,總共127個(gè)外設(shè)和集線器(包括根集線器)。2.USB總線拓?fù)浣Y(jié)構(gòu)USB的物理連接是一個(gè)層次型的星形結(jié)構(gòu),集線器(Hub)位于每個(gè)星型結(jié)構(gòu)的中心。星形結(jié)構(gòu)的每一段都是主機(jī)、集線器或某一功能件之間的連接。圖10-1010.4.3USB數(shù)據(jù)傳輸U(kuò)SB總線上的每個(gè)設(shè)備都有一個(gè)由主機(jī)分配的惟一地址,由主機(jī)通過集線器在一個(gè)自動(dòng)識(shí)別過程中分配。USB總線上的數(shù)據(jù)傳輸是一種“主—從式”的傳輸,所有的傳輸都由USB主機(jī)發(fā)起,USB設(shè)備僅僅在主機(jī)對(duì)它提出要求時(shí)才進(jìn)行傳輸。1.傳輸模式(1)同步傳輸:主要用于數(shù)碼相機(jī)、掃描儀等中速外圍設(shè)備;(2)中斷傳輸:用于鍵盤、鼠標(biāo)等低速設(shè)備;(3)批量傳輸:供打印機(jī)、調(diào)制解調(diào)器,數(shù)字音響等不定期

傳送大量數(shù)據(jù)的中速設(shè)備使用。(4)控制傳輸:配置設(shè)備時(shí)使用。2.數(shù)據(jù)編碼USB通信時(shí)使用一對(duì)擺幅為3.3V的差動(dòng)信號(hào)(D+和D-),采用NRZI(NonReturntoZeroInvert,不歸零翻轉(zhuǎn))編碼傳送各種數(shù)據(jù)。定義電壓跳變(0V→3.3V或者3.3V→0V)為“0”,電壓保持不變?yōu)椤?”。既無時(shí)鐘也無選通信號(hào),在同步方法上采用一種叫做同步模式(SyncPattern)的數(shù)據(jù)(10000000B),將它放在各種信息包的前面進(jìn)行同步。如果發(fā)送的信息包含有連續(xù)的6個(gè)以上的1,那么就在6個(gè)1后強(qiáng)制性地加上填充位0,確保傳輸中發(fā)送和接收的同步。傳送過程中對(duì)數(shù)據(jù)的正確性進(jìn)行檢測(cè),發(fā)現(xiàn)錯(cuò)誤通過“握手包”通知發(fā)送者,要求重新發(fā)送。檢測(cè)、通知和再發(fā)送都由硬件來完成,不需要任何程序。3.傳輸?shù)慕M成一次數(shù)據(jù)傳輸包括一個(gè)或多個(gè)事務(wù)(transaction)數(shù)據(jù)量少的傳輸可能只需要一個(gè)事務(wù),數(shù)據(jù)量大的傳輸需要多個(gè)事務(wù)。每一個(gè)事務(wù)包括它的源地址和目的地址。一個(gè)事務(wù)必需連續(xù)進(jìn)行,不允許被中斷。每個(gè)事務(wù)由一個(gè)、二個(gè)或三個(gè)包組成。USB主機(jī)把時(shí)間分成1ms的幀。每個(gè)傳輸都占有一個(gè)幀的一部分。一次完整的傳輸可以包括多個(gè)幀。圖10-114.USB包格式USB包是是數(shù)據(jù)傳送的基本方式,USB共有三種類型的包:標(biāo)志包:USB的傳輸總是首先由主機(jī)發(fā)出標(biāo)志包開始。標(biāo)志包中有設(shè)備地址碼、端口號(hào)、傳輸方向和傳輸類型等信息。數(shù)據(jù)源:其次是數(shù)據(jù)源向數(shù)據(jù)目的地發(fā)送的數(shù)據(jù)(Data)包或者發(fā)送無數(shù)據(jù)傳送的指示信息,數(shù)據(jù)包可以攜帶的數(shù)據(jù)最多為1023B。握手包:最后是數(shù)據(jù)接收方向數(shù)據(jù)發(fā)送方回送一個(gè)握手包,提供數(shù)據(jù)是否正常接收的反饋信息。如果有錯(cuò)誤,需要重發(fā)。除了同步傳輸之外,其他傳輸類型都需要握手(Handshake)包。幾個(gè)不同目標(biāo)的包可以合在一起,共享總線。5.PID碼所有的包都以八位二進(jìn)制組成的“包標(biāo)識(shí)”(PID)開始。PID的低四位(表10-4)表示事務(wù)的種類高四位用于錯(cuò)誤

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論