現(xiàn)代微機(jī)原理與接口技術(shù) - 東南大學(xué)_第1頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù) - 東南大學(xué)_第2頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù) - 東南大學(xué)_第3頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù) - 東南大學(xué)_第4頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù) - 東南大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第第6章章 微機(jī)總線標(biāo)準(zhǔn)微機(jī)總線標(biāo)準(zhǔn) 2總線知識(shí)的回顧總線知識(shí)的回顧n什么是總線?什么是總線標(biāo)準(zhǔn)?什么是總線?什么是總線標(biāo)準(zhǔn)?n總線標(biāo)準(zhǔn)的特性有哪些?總線標(biāo)準(zhǔn)的特性有哪些?n總線按信號(hào)功能分為哪總線按信號(hào)功能分為哪3類?類?n總線按照從總線按照從CPU外設(shè)分層次,分為哪幾類?外設(shè)分層次,分為哪幾類?n總線的主要性能指標(biāo)有哪些?總線的主要性能指標(biāo)有哪些?n總線操作分為哪總線操作分為哪4步?步?n為什么要總線仲裁?有幾種仲裁方式?為什么要總線仲裁?有幾種仲裁方式?36.1.1 總線標(biāo)準(zhǔn)的概念與特性總線標(biāo)準(zhǔn)的概念與特性 總線總線 是在模塊和模塊之間或設(shè)備與設(shè)備之間的一是在模塊和模塊之間或設(shè)備與設(shè)備

2、之間的一組進(jìn)行互連和傳輸信息的組進(jìn)行互連和傳輸信息的,信息包括指,信息包括指令、數(shù)據(jù)和地址。令、數(shù)據(jù)和地址。 6.1 總線概述總線概述 總線標(biāo)準(zhǔn)總線標(biāo)準(zhǔn) 指芯片之間、擴(kuò)展卡之間以及系統(tǒng)之間,指芯片之間、擴(kuò)展卡之間以及系統(tǒng)之間,通過總線進(jìn)行連接和傳輸信息時(shí),應(yīng)該遵守通過總線進(jìn)行連接和傳輸信息時(shí),應(yīng)該遵守的一些協(xié)議與規(guī)范。的一些協(xié)議與規(guī)范。 41物理特性物理特性:2功能特性功能特性:3電器特性電器特性:4時(shí)間特性時(shí)間特性:總線物理連接方式總線物理連接方式(電纜式、蝕刻式),電纜式、蝕刻式),總線根數(shù)、插頭和插座形狀,引腳排列等總線根數(shù)、插頭和插座形狀,引腳排列等描述一組總線中每一根線的功能。描述一

3、組總線中每一根線的功能。定義每一根線在什么時(shí)候有效,這和總定義每一根線在什么時(shí)候有效,這和總線操作的時(shí)序有關(guān)。線操作的時(shí)序有關(guān)。定義每根線上信號(hào)的傳遞方向以及有效電定義每根線上信號(hào)的傳遞方向以及有效電平范圍。一般定義送入平范圍。一般定義送入CPU的信號(hào)為輸?shù)男盘?hào)為輸入信號(hào),從入信號(hào),從CPU中送出的信號(hào)是輸出信中送出的信號(hào)是輸出信號(hào)。號(hào)。56.1.2 總線的分類總線的分類 1) 按總線功能或信號(hào)類型劃分為:按總線功能或信號(hào)類型劃分為: :雙向三態(tài)邏輯,線寬表示了總線:雙向三態(tài)邏輯,線寬表示了總線數(shù)據(jù)傳輸?shù)哪芰Α?shù)據(jù)傳輸?shù)哪芰?。:?jiǎn)蜗蛉龖B(tài)邏輯,線寬決定了系統(tǒng):?jiǎn)蜗蛉龖B(tài)邏輯,線寬決定了系統(tǒng)的尋址能

4、力。的尋址能力。:就某根來說是單向或雙向??刂疲壕湍掣鶃碚f是單向或雙向??刂瓶偩€最能體現(xiàn)總線特點(diǎn),決定總線功能的強(qiáng)總線最能體現(xiàn)總線特點(diǎn),決定總線功能的強(qiáng)弱和適應(yīng)性。弱和適應(yīng)性。62) 按總線的分級(jí)結(jié)構(gòu)分為:按總線的分級(jí)結(jié)構(gòu)分為: :微機(jī)系統(tǒng)中速度最快的總線,主要在:微機(jī)系統(tǒng)中速度最快的總線,主要在CPU內(nèi)部,連接內(nèi)部,連接CPU內(nèi)部部件,在內(nèi)部部件,在CPU周圍的小范周圍的小范圍內(nèi)也分布該總線,提供系統(tǒng)原始的控制和命令。圍內(nèi)也分布該總線,提供系統(tǒng)原始的控制和命令。:在系統(tǒng)總線和:在系統(tǒng)總線和CPU總線之間的一級(jí)總線總線之間的一級(jí)總線,提供,提供CPU和主板器件之間以及和主板器件之間以及CPU到

5、高速外設(shè)之到高速外設(shè)之間的快速信息通道。間的快速信息通道。:也稱為:也稱為I/O總線,是傳統(tǒng)的通過總線擴(kuò)展總線,是傳統(tǒng)的通過總線擴(kuò)展卡連接外部設(shè)備的總線。由于速度慢,其功能已經(jīng)卡連接外部設(shè)備的總線。由于速度慢,其功能已經(jīng)被局部總線替代。被局部總線替代。:也稱為外部總線,是微機(jī)與微機(jī),微機(jī):也稱為外部總線,是微機(jī)與微機(jī),微機(jī)與外設(shè)之間進(jìn)行通信的總線。與外設(shè)之間進(jìn)行通信的總線。76.1.3 總線的主要性能參數(shù)總線的主要性能參數(shù)1總線頻率:總線頻率:MHz表示的工作頻率,是總線速表示的工作頻率,是總線速率的一個(gè)重要參數(shù)。率的一個(gè)重要參數(shù)。2總線寬度:指數(shù)據(jù)總線的位數(shù)??偩€寬度:指數(shù)據(jù)總線的位數(shù)。3總

6、線的數(shù)據(jù)傳輸率總線的數(shù)據(jù)傳輸率 例:例:PCI總線的總線頻率為總線的總線頻率為33.3MHz,總線寬度為,總線寬度為64位的情況下,總線數(shù)據(jù)傳輸率為位的情況下,總線數(shù)據(jù)傳輸率為266MB/s 。 86.1.4 總線操作和總線傳送控制總線操作和總線傳送控制 一、總線操作的一、總線操作的4個(gè)階段個(gè)階段 1: 主模塊向總線仲裁機(jī)構(gòu)提出總線使用申請(qǐng),總線仲裁主模塊向總線仲裁機(jī)構(gòu)提出總線使用申請(qǐng),總線仲裁機(jī)構(gòu)決定使用總線的主模塊。機(jī)構(gòu)決定使用總線的主模塊。2: 擁有總線使用權(quán)的主模塊發(fā)出本次要訪問的從模塊的擁有總線使用權(quán)的主模塊發(fā)出本次要訪問的從模塊的地址及有關(guān)命令,該從模塊被選中并啟動(dòng)。地址及有關(guān)命令

7、,該從模塊被選中并啟動(dòng)。3: 主模塊和從模塊間進(jìn)行雙(單)向數(shù)據(jù)傳送。主模塊和從模塊間進(jìn)行雙(單)向數(shù)據(jù)傳送。4: 主、從模塊均撤出總線。主、從模塊均撤出總線。9二、總線傳送控制二、總線傳送控制1同步方式同步方式 優(yōu)點(diǎn):優(yōu)點(diǎn):1)電路簡(jiǎn)單)電路簡(jiǎn)單 2)適合高速設(shè)備的數(shù)據(jù)傳輸)適合高速設(shè)備的數(shù)據(jù)傳輸缺點(diǎn):高速設(shè)備和低速設(shè)備間只能用低速設(shè)備的缺點(diǎn):高速設(shè)備和低速設(shè)備間只能用低速設(shè)備的速度來傳輸數(shù)據(jù)速度來傳輸數(shù)據(jù)主主clk從從2半同步方式半同步方式 主主clk從從wait/readywait/ready信號(hào)信號(hào)是單向的,不是是單向的,不是互鎖的?;ユi的。10總線總線分成兩個(gè)子周期分成兩個(gè)子周期 尋

8、址子周期尋址子周期 數(shù)據(jù)傳送子周期數(shù)據(jù)傳送子周期在兩子周期之間,退出總線,從設(shè)備準(zhǔn)備數(shù)據(jù)。在兩子周期之間,退出總線,從設(shè)備準(zhǔn)備數(shù)據(jù)。4分離方式分離方式clkaddressdata主主從從3異步方式異步方式 REQACK 比同步方式慢比同步方式慢 總線頻帶窄總線頻帶窄 總線傳輸周期長(zhǎng)總線傳輸周期長(zhǎng)116.2 PCI總線總線 1) 獨(dú)立于處理器獨(dú)立于處理器2) 傳輸效率相對(duì)較高傳輸效率相對(duì)較高3) 多總線共存多總線共存4) 支持突發(fā)傳輸支持突發(fā)傳輸 5) 支持總線主控方式支持總線主控方式6) 采用同步操作采用同步操作 7) 支持兩種電壓下的擴(kuò)支持兩種電壓下的擴(kuò)展卡展卡 8) 具有即插即用功能具有即

9、插即用功能 9) 合理的管腳安排合理的管腳安排 10) 預(yù)留擴(kuò)展空間預(yù)留擴(kuò)展空間 12 CLK IN:PCI系統(tǒng)總線時(shí)鐘系統(tǒng)總線時(shí)鐘 13 FRAME# S/T/S:幀周期信號(hào):幀周期信號(hào) IRDY# S/T/S:主設(shè)備準(zhǔn)備好信號(hào):主設(shè)備準(zhǔn)備好信號(hào) TRDY# S/T/S:從設(shè)備準(zhǔn)備好信號(hào):從設(shè)備準(zhǔn)備好信號(hào) STOP# S/T/S:從設(shè)備發(fā)出的要求主設(shè)備終止當(dāng)前的:從設(shè)備發(fā)出的要求主設(shè)備終止當(dāng)前的數(shù)據(jù)傳送的信號(hào)。數(shù)據(jù)傳送的信號(hào)。 LOCK# S/T/S:鎖定信號(hào):鎖定信號(hào) IDSEL IN:初始化設(shè)備選擇信號(hào),訪問配置空間的:初始化設(shè)備選擇信號(hào),訪問配置空間的時(shí)候作為片選時(shí)候作為片選 DEVS

10、EL# S/T/S:設(shè)備選擇信號(hào),由常規(guī)訪問期間:設(shè)備選擇信號(hào),由常規(guī)訪問期間被選中的從設(shè)備驅(qū)動(dòng)被選中的從設(shè)備驅(qū)動(dòng)14 C/BE3:0# T/S:它們是總線命令和字節(jié)使能多路復(fù):它們是總線命令和字節(jié)使能多路復(fù)用信號(hào)線用信號(hào)線 PAR T/S:針對(duì):針對(duì)AD31:00和和C/BE3:0#進(jìn)行奇偶校進(jìn)行奇偶校驗(yàn)的校驗(yàn)位驗(yàn)的校驗(yàn)位 AD31:00 T/S:它們是地址、數(shù)據(jù)多路復(fù)用的輸:它們是地址、數(shù)據(jù)多路復(fù)用的輸入入/輸出信號(hào)輸出信號(hào)15 REQ# T/S:總線占用請(qǐng)求信號(hào):總線占用請(qǐng)求信號(hào) GNT# T/S:總線占用允許信號(hào):總線占用允許信號(hào) PERR# S/T/S:數(shù)據(jù)奇偶校驗(yàn)錯(cuò)誤報(bào)告信號(hào):數(shù)據(jù)

11、奇偶校驗(yàn)錯(cuò)誤報(bào)告信號(hào) SERR# O/D:系統(tǒng)錯(cuò)誤報(bào)告信號(hào):系統(tǒng)錯(cuò)誤報(bào)告信號(hào) PCI有有4條中斷線,分別是條中斷線,分別是INTA#、INTB#、INTC#、INTD# ,電平觸發(fā),多功能設(shè)備可以任意選擇一,電平觸發(fā),多功能設(shè)備可以任意選擇一個(gè)或多個(gè)中斷線,單功能設(shè)備只能用個(gè)或多個(gè)中斷線,單功能設(shè)備只能用INTA#。16 AD63:32 T/S:擴(kuò)展的:擴(kuò)展的32位地址和數(shù)據(jù)多路復(fù)用線位地址和數(shù)據(jù)多路復(fù)用線 C/BE7:4# T/S:總線命令和字節(jié)使能多路復(fù)用擴(kuò)展:總線命令和字節(jié)使能多路復(fù)用擴(kuò)展信號(hào)線信號(hào)線 REQ64# S/T/S,64位傳輸請(qǐng)求信號(hào)位傳輸請(qǐng)求信號(hào) ACK64# S/T/S:

12、64位傳輸允許信號(hào)位傳輸允許信號(hào) PAR64 T/S:奇偶雙字節(jié)校驗(yàn):奇偶雙字節(jié)校驗(yàn) 171. PCI插槽插槽 5V 32位插槽位插槽5V 64位插槽位插槽3.3V 32位插槽位插槽3.3V 64位插槽位插槽連接連接卡口卡口a. 4種種PCI卡插槽卡插槽A1外內(nèi)A49A52B1B49B52A62B621.273.8277.48b. 5V32位位PCI插槽插槽182.PCI插卡插卡 ICICIC1.9160.9612.741.680外邊里邊19PCI總線命令表總線命令表C/BE3:0#命令類型說明命令類型說明C/BE3:0#命令類型說明命令類型說明0000中斷響應(yīng)中斷響應(yīng)1000保留保留0001

13、特殊周期特殊周期1001保留保留0010I/O讀讀(從從I/O端口地址中讀數(shù)據(jù)端口地址中讀數(shù)據(jù))1010配置讀配置讀0011I/O寫寫(向向I/O端口地址中寫數(shù)據(jù)端口地址中寫數(shù)據(jù))1011配置寫配置寫0100保留保留1100存儲(chǔ)器多行讀存儲(chǔ)器多行讀0101保留保留1101雙地址周期雙地址周期0110存儲(chǔ)器讀存儲(chǔ)器讀(從內(nèi)存空間映像中讀數(shù)從內(nèi)存空間映像中讀數(shù))1110存儲(chǔ)器行讀存儲(chǔ)器行讀0111存儲(chǔ)器寫存儲(chǔ)器寫(向內(nèi)存空間映像中寫向內(nèi)存空間映像中寫)1111存儲(chǔ)器寫并無效存儲(chǔ)器寫并無效20(1) FRAME#和和IRDY#定義了總線的忙定義了總線的忙/閑狀態(tài)。閑狀態(tài)。 (2) 一旦一旦FRAME

14、#信號(hào)被置為無效,在同一傳輸期間信號(hào)被置為無效,在同一傳輸期間不能重新設(shè)置。不能重新設(shè)置。(3) 除非設(shè)置除非設(shè)置IRDY#信號(hào),一般情況下不能設(shè)置信號(hào),一般情況下不能設(shè)置FRAME# 信號(hào)無效。信號(hào)無效。(4) 一旦主設(shè)備設(shè)置了一旦主設(shè)備設(shè)置了IRDY#信號(hào),直到當(dāng)前數(shù)據(jù)期結(jié)信號(hào),直到當(dāng)前數(shù)據(jù)期結(jié)束為止,主設(shè)備一般不能改變束為止,主設(shè)備一般不能改變IRDY#信號(hào)和信號(hào)和FRAME#信號(hào)的狀態(tài)。信號(hào)的狀態(tài)。21表表3.4 AD1:0和和C/BE#3:0對(duì)應(yīng)關(guān)系表對(duì)應(yīng)關(guān)系表AD1AD0C/BE3#C/BE2#C/BE1# C/BE0#000010110011110111(1) I/O地址空間地址

15、空間 22(2) 內(nèi)存地址空間內(nèi)存地址空間 (3) 配置地址空間配置地址空間 3101雙字邊界對(duì)齊的起始地址雙字邊界對(duì)齊的起始地址200地址遞增地址遞增01Cache行切換行切換1X保留保留701雙字邊界對(duì)齊的起始地址雙字邊界對(duì)齊的起始地址200選擇該設(shè)備選擇該設(shè)備01訪問該橋路后設(shè)備訪問該橋路后設(shè)備1X保留保留23 PCI總線上不能進(jìn)行字節(jié)的交換。但是,具有總線上不能進(jìn)行字節(jié)的交換。但是,具有64位位通道的主設(shè)備可以進(jìn)行通道的主設(shè)備可以進(jìn)行DWORD(雙字)的交換。(雙字)的交換。 主設(shè)備可以在主設(shè)備可以在改變字改變字節(jié)使能信號(hào),且在整個(gè)數(shù)據(jù)期中保持不變。節(jié)使能信號(hào),且在整個(gè)數(shù)據(jù)期中保持不變

16、。 讀緩沖中的數(shù)據(jù)可以不考慮字節(jié)使能信號(hào),而傳送讀緩沖中的數(shù)據(jù)可以不考慮字節(jié)使能信號(hào),而傳送所有的字節(jié)。所有的字節(jié)。 在每個(gè)地址(數(shù)據(jù))期中,所有的在每個(gè)地址(數(shù)據(jù))期中,所有的AD線都必須被驅(qū)線都必須被驅(qū)動(dòng)到穩(wěn)定的狀態(tài)(數(shù)據(jù)),包括那些字節(jié)使能信號(hào)表動(dòng)到穩(wěn)定的狀態(tài)(數(shù)據(jù)),包括那些字節(jié)使能信號(hào)表明無效的字節(jié)所對(duì)應(yīng)的明無效的字節(jié)所對(duì)應(yīng)的AD線。線。 從一個(gè)設(shè)備驅(qū)動(dòng)總線到另一個(gè)設(shè)備驅(qū)動(dòng)從一個(gè)設(shè)備驅(qū)動(dòng)總線到另一個(gè)設(shè)備驅(qū)動(dòng)PCI總線之間總線之間設(shè)置一個(gè)設(shè)置一個(gè),又稱為交換周期,以防止總線訪問,又稱為交換周期,以防止總線訪問沖突。沖突。 24CLKFRAME#IRDY#TRDY#DEVSEL#1234

17、5678FAST MED SLOW設(shè)備選擇的時(shí)序關(guān)系設(shè)備選擇的時(shí)序關(guān)系注意注意DEVSEL#與與FRAME#、TRDY#的關(guān)系,無的關(guān)系,無DEVSEL#信信號(hào)時(shí)的處理。號(hào)時(shí)的處理。DEVSEL#由從設(shè)備共享使用,并由被選中的從設(shè)備驅(qū)動(dòng)。由從設(shè)備共享使用,并由被選中的從設(shè)備驅(qū)動(dòng)。25CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#地址期地址期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期PCI讀操作時(shí)序讀操作時(shí)序26CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#地址期地址期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期數(shù)據(jù)期PCI寫操作時(shí)序?qū)懖僮?/p>

18、時(shí)序27 3傳輸?shù)慕K止過程傳輸?shù)慕K止過程 (1) 由主設(shè)備提出的終止由主設(shè)備提出的終止 (2) 由從設(shè)備提出的終止由從設(shè)備提出的終止 28PCI總線上的所有傳輸操作中,總線上的所有傳輸操作中,F(xiàn)RAME#、IRDY#、TRDY#和和STOP#遵循的規(guī)則:遵循的規(guī)則:29PCI總線采用集中式的同步仲裁方法總線采用集中式的同步仲裁方法中央中央仲裁器仲裁器PCI主主設(shè)備設(shè)備APCI主主設(shè)備設(shè)備BREQ#REQ#GNT#GNT#30C LKFRAME#1234567ADGNT#-BIRDY#TRDY#GNT#-AA存取存取B存取存取 兩個(gè)主設(shè)備之間的兩個(gè)主設(shè)備之間的PCI總線仲裁總線仲裁REQ#-BR

19、EQ#-Acabdefg311、PCI設(shè)備的配置空間設(shè)備的配置空間 定義一個(gè)定義一個(gè)PCI總線配置空間的目的在于提供一總線配置空間的目的在于提供一套適當(dāng)?shù)呐渲么胧?,使之?shí)現(xiàn)完全的設(shè)備再定位套適當(dāng)?shù)呐渲么胧?,使之?shí)現(xiàn)完全的設(shè)備再定位而而,并由與設(shè)備,并由與設(shè)備無關(guān)的軟件進(jìn)行系統(tǒng)地址映射。無關(guān)的軟件進(jìn)行系統(tǒng)地址映射。 所有所有PCI設(shè)備都必須實(shí)現(xiàn)設(shè)備都必須實(shí)現(xiàn)PCI協(xié)議規(guī)定必需的協(xié)議規(guī)定必需的配置寄存器,以便系統(tǒng)加電的時(shí)候利用這些寄配置寄存器,以便系統(tǒng)加電的時(shí)候利用這些寄存器的信息來進(jìn)行系統(tǒng)配置。對(duì)存器的信息來進(jìn)行系統(tǒng)配置。對(duì)PCI的配置訪問的配置訪問實(shí)際上就是訪問設(shè)備的配置寄存器。實(shí)際上就是訪問

20、設(shè)備的配置寄存器。 在系統(tǒng)啟動(dòng)的時(shí)候由在系統(tǒng)啟動(dòng)的時(shí)候由BIOS代碼執(zhí)行設(shè)備配置。代碼執(zhí)行設(shè)備配置。一旦即插即用一旦即插即用OS(如(如Windows2000/XP)啟動(dòng)后)啟動(dòng)后,控制就傳遞給,控制就傳遞給OS,OS接管設(shè)備管理。接管設(shè)備管理。 322、配置空間頭區(qū)域及功能、配置空間頭區(qū)域及功能 33(1) 頭區(qū)域有頭區(qū)域有7個(gè)寄存器(字段)用于設(shè)備的識(shí)別。個(gè)寄存器(字段)用于設(shè)備的識(shí)別。(2) 表現(xiàn)在命令寄存器為發(fā)出和響應(yīng)表現(xiàn)在命令寄存器為發(fā)出和響應(yīng)PCI總線命令總線命令提供了對(duì)設(shè)備粗略的控制。提供了對(duì)設(shè)備粗略的控制。 (3) 狀態(tài)寄存器用于記錄狀態(tài)寄存器用于記錄PCI總線有關(guān)操作的狀態(tài)總

21、線有關(guān)操作的狀態(tài)信息。信息。例例如,為了清位如,為了清位14而不影響其他位,應(yīng)向該寄存而不影響其他位,應(yīng)向該寄存器寫器寫0100 0000 0000 0000B 34(4) PCI設(shè)備的配置空間可以在微處理器決定的地設(shè)備的配置空間可以在微處理器決定的地址空間中浮動(dòng),以便簡(jiǎn)化設(shè)備的配置過程。址空間中浮動(dòng),以便簡(jiǎn)化設(shè)備的配置過程。當(dāng)確定這些信息之后,系統(tǒng)初始化代碼當(dāng)確定這些信息之后,系統(tǒng)初始化代碼便可以把便可以把I/O控制器映射到合理的地址空間并引控制器映射到合理的地址空間并引導(dǎo)系統(tǒng)。導(dǎo)系統(tǒng)。 為了使這種映射能夠做到與相應(yīng)的設(shè)備無關(guān)為了使這種映射能夠做到與相應(yīng)的設(shè)備無關(guān),在配置空間的頭區(qū)域中安排了

22、一組供映射時(shí),在配置空間的頭區(qū)域中安排了一組供映射時(shí)使用的基址寄存器。使用的基址寄存器。 3510I/O空間指針空間指針31 2 1 0基基 地地 址址0預(yù)取使能預(yù)取使能存儲(chǔ)空間指針存儲(chǔ)空間指針 32位地址空間任意映射位地址空間任意映射 32位地址空間位地址空間1M字節(jié)以內(nèi)映射(已經(jīng)不用)字節(jié)以內(nèi)映射(已經(jīng)不用) 64位地址空間任意映射位地址空間任意映射 保留保留31(63) 3 2 1 0基基 地地 址址保留保留返回返回36具體實(shí)現(xiàn)的過程中,除了低四位滿足上述要求外,高位具體實(shí)現(xiàn)的過程中,除了低四位滿足上述要求外,高位部分實(shí)際設(shè)置位數(shù)視映射多大地址空間范圍而定,根據(jù)部分實(shí)際設(shè)置位數(shù)視映射多大

23、地址空間范圍而定,根據(jù)地址范圍,決定高多少位需要設(shè)置,這些位被設(shè)置成可地址范圍,決定高多少位需要設(shè)置,這些位被設(shè)置成可寫,高位部分的其它位用硬件使其為寫,高位部分的其它位用硬件使其為0,并只可讀?;⒅豢勺x?;刂吩O(shè)置過程:地址設(shè)置過程:系統(tǒng)初始化程序向基地址寄存器寫全系統(tǒng)初始化程序向基地址寄存器寫全1系統(tǒng)初始化程序讀出基地址寄存器的內(nèi)容系統(tǒng)初始化程序讀出基地址寄存器的內(nèi)容系統(tǒng)初始化程序判斷設(shè)備需要的地址空間大小系統(tǒng)初始化程序判斷設(shè)備需要的地址空間大小系統(tǒng)初始化程序分配基地址并寫回到該基地址寄存器系統(tǒng)初始化程序分配基地址并寫回到該基地址寄存器37舉例舉例1:系統(tǒng)初始化向基址寄存器寫全系統(tǒng)初始

24、化向基址寄存器寫全1后讀出的值后讀出的值=FFE00000h 位位0=0,表示是一個(gè)存儲(chǔ)器地址空間映射,表示是一個(gè)存儲(chǔ)器地址空間映射 位位2:1=00b,它是,它是32位存儲(chǔ)器映射位存儲(chǔ)器映射 位位3=0,表示它不是預(yù)取存儲(chǔ)器。,表示它不是預(yù)取存儲(chǔ)器。 位位31:4 第一個(gè)為第一個(gè)為1的是位的是位21,表示映射的存儲(chǔ)空,表示映射的存儲(chǔ)空間為間為221=2MB。這意味著存儲(chǔ)映射的基地址應(yīng)該起始于這意味著存儲(chǔ)映射的基地址應(yīng)該起始于2MB、4MB、6MB等的邊界上。等的邊界上。38舉例舉例2:基址寄存器的值基址寄存器的值=FFFFFF01h 位位0=1,表示是一個(gè),表示是一個(gè)I/O地址空間映射地址空

25、間映射 位位31:2第一個(gè)為第一個(gè)為1的是位的是位8,表示映射的,表示映射的I/O空間為空間為28=256。這意味著這意味著I/O映射的基地址應(yīng)該是映射的基地址應(yīng)該是256的整數(shù)的整數(shù)倍倍。39最大最大/最小映射地址空間是多少?最小映射地址空間是多少?最小存儲(chǔ)映射地址空間最小存儲(chǔ)映射地址空間=16字節(jié)(字節(jié)(24)最大存儲(chǔ)映射地址空間最大存儲(chǔ)映射地址空間=2GB(231)最小最小I/O映射地址空間映射地址空間=4字節(jié)(字節(jié)(22)最大存儲(chǔ)映射地址空間最大存儲(chǔ)映射地址空間=256字節(jié)(協(xié)議規(guī)定)字節(jié)(協(xié)議規(guī)定)轉(zhuǎn)前轉(zhuǎn)前40擴(kuò)展擴(kuò)展ROM訪問允許訪問允許31 11 10 1 0基基 地地 址址保保

26、 留留擴(kuò)展擴(kuò)展ROM基地址寄存器基地址寄存器擴(kuò)展擴(kuò)展ROM基地址基地址=FFFF0001h 位位0=1,表示擴(kuò)展,表示擴(kuò)展ROM訪問允許訪問允許 位位31:11第一個(gè)為第一個(gè)為1的是位的是位16,表示映射的存儲(chǔ)空間為,表示映射的存儲(chǔ)空間為64K。這意味著這意味著ROM映射的基地址應(yīng)該起始于映射的基地址應(yīng)該起始于64KB的邊界的邊界41(5) 8位只讀寄存器,指明設(shè)備使用了位只讀寄存器,指明設(shè)備使用了PCI的哪個(gè)的哪個(gè)中斷引腳。中斷引腳。1代表代表INTA#,2為為INTB# 8位可讀位可讀/寫寄存器,指明設(shè)備的中斷引腳和寫寄存器,指明設(shè)備的中斷引腳和PC機(jī)的機(jī)的 8259A的哪個(gè)中斷輸入線連。

27、的哪個(gè)中斷輸入線連。 Min_Gnt用來指定設(shè)備需要多長(zhǎng)的突發(fā)傳輸用來指定設(shè)備需要多長(zhǎng)的突發(fā)傳輸時(shí)間。時(shí)間。 Max_lat用來表示對(duì)用來表示對(duì)PCI總線進(jìn)行訪問的頻繁總線進(jìn)行訪問的頻繁程度。程度。422配置空間的訪問配置空間的訪問 對(duì)于某一對(duì)于某一PCI設(shè)備,設(shè)備, 才能被作為配置訪問的目標(biāo)設(shè)備。才能被作為配置訪問的目標(biāo)設(shè)備。 43 對(duì)(正在運(yùn)行的)對(duì)(正在運(yùn)行的)PCI總線上的目標(biāo)設(shè)備總線上的目標(biāo)設(shè)備配置寄存器所進(jìn)行的訪問。配置寄存器所進(jìn)行的訪問。 被配置訪問的目標(biāo)設(shè)備必須在地址期采樣到其被配置訪問的目標(biāo)設(shè)備必須在地址期采樣到其IDSEL輸入信號(hào)有效,且輸入信號(hào)有效,且AD1 0必須為必須

28、為00。, ; AD10 8用于用于選擇物理設(shè)備的八種功能之一選擇物理設(shè)備的八種功能之一 ;AD 7 2為為選擇該功能設(shè)備的配置寄存器號(hào)選擇該功能設(shè)備的配置寄存器號(hào)(雙字號(hào))。雙字號(hào))。AD31:11可用于連接各設(shè)備的可用于連接各設(shè)備的IDSEL信號(hào)信號(hào), AD31 0傳送的是配置讀傳送的是配置讀/寫數(shù)據(jù)。寫數(shù)據(jù)。44 對(duì)(通過對(duì)(通過PCI/PCI橋連接的)橋連接的)PCI總線總線上的目標(biāo)設(shè)備上的目標(biāo)設(shè)備(配置寄存器配置寄存器)所進(jìn)行的訪問。所進(jìn)行的訪問。 ;AD10 8作作為選擇物理設(shè)備的八種功能之一為選擇物理設(shè)備的八種功能之一 。AD7 2為選擇該功能設(shè)備的配置寄存器號(hào);為選擇該功能設(shè)備

29、的配置寄存器號(hào); AD1511用于存放第二級(jí)總線上被選中設(shè)用于存放第二級(jí)總線上被選中設(shè)備的備的IDSEL號(hào)號(hào),AD2316 放總線號(hào)。放總線號(hào)。 橋片中也有橋配置空間寄存器,存放有總線橋片中也有橋配置空間寄存器,存放有總線號(hào)和次級(jí)總線號(hào)等信息。號(hào)和次級(jí)總線號(hào)等信息。 一旦一旦PCI/PCI橋檢測(cè)到橋檢測(cè)到1類配置訪問,就有三類配置訪問,就有三種情況,須分別進(jìn)行處理。種情況,須分別進(jìn)行處理。45 如果要訪問的總線號(hào)既不同于橋如果要訪問的總線號(hào)既不同于橋的第二級(jí)總線號(hào),也不在橋的第的第二級(jí)總線號(hào),也不在橋的第二級(jí)總線號(hào)的下級(jí)總線范圍內(nèi),二級(jí)總線號(hào)的下級(jí)總線范圍內(nèi),那么橋?qū)⒑雎员敬卧L問。那么橋?qū)⒑雎?/p>

30、本次訪問。 如果總線號(hào)不同于橋的第二級(jí)總?cè)绻偩€號(hào)不同于橋的第二級(jí)總線,但在橋的第二級(jí)總線號(hào)的下線,但在橋的第二級(jí)總線號(hào)的下級(jí)總線范圍內(nèi),那么橋?qū)⒈敬卧L級(jí)總線范圍內(nèi),那么橋?qū)⒈敬卧L問作為問作為1類配置訪問傳遞給第二類配置訪問傳遞給第二級(jí)總線。配置命令從第一級(jí)傳遞級(jí)總線。配置命令從第一級(jí)傳遞到第二級(jí)到第二級(jí)C/BE#總線。總線。 如果總線號(hào)與橋的第二級(jí)總線號(hào)相同,那么橋?qū)⒈敬卧L如果總線號(hào)與橋的第二級(jí)總線號(hào)相同,那么橋?qū)⒈敬卧L問作為問作為0類配置訪問傳遞給第二級(jí)總線。類配置訪問傳遞給第二級(jí)總線。AD10:2直接直接從橋的第一級(jí)傳遞到第二級(jí)從橋的第一級(jí)傳遞到第二級(jí)AD總線??偩€。AD15:11 的設(shè)

31、備的設(shè)備號(hào)用于決定第二級(jí)總線上哪個(gè)設(shè)備的號(hào)用于決定第二級(jí)總線上哪個(gè)設(shè)備的IDSEL信號(hào)被設(shè)置信號(hào)被設(shè)置有效。配置命令從第一級(jí)傳遞到第二級(jí)有效。配置命令從第一級(jí)傳遞到第二級(jí)C/BE#總線??偩€。46 針對(duì)針對(duì)x86兼容的系統(tǒng),兼容的系統(tǒng),PCI協(xié)議定義了將處理器發(fā)協(xié)議定義了將處理器發(fā)出的出的I/O訪問識(shí)別為配置訪問,或?qū)⑻幚砥靼l(fā)出的存訪問識(shí)別為配置訪問,或?qū)⑻幚砥靼l(fā)出的存儲(chǔ)器訪問轉(zhuǎn)換為配置訪問的轉(zhuǎn)換機(jī)構(gòu),稱為儲(chǔ)器訪問轉(zhuǎn)換為配置訪問的轉(zhuǎn)換機(jī)構(gòu),稱為。(3) 配置訪問的訪問方法配置訪問的訪問方法 配置機(jī)構(gòu)是利用兩個(gè)配置機(jī)構(gòu)是利用兩個(gè)32位的位的I/O端口寄存器來訪問端口寄存器來訪問PCI設(shè)備的配置空

32、間的。設(shè)備的配置空間的。 配置配置端口寄存器(端口寄存器(I/O地址為地址為0CF8H0CFBH) 配置配置端口寄存器(端口寄存器(I/O地址為地址為0CFCH0CFFH)47 初始化程序只能通過初始化程序只能通過PCI BIOS才能訪問才能訪問PCI配置配置寄存器。寄存器。 PCI BIOS再通過再通過配置地址端口寄存器和配配置地址端口寄存器和配置數(shù)據(jù)端口寄存器實(shí)現(xiàn)其功能。置數(shù)據(jù)端口寄存器實(shí)現(xiàn)其功能。 通過通過INT 1AH實(shí)現(xiàn):實(shí)現(xiàn):AH=B1H,AL為子功能號(hào)為子功能號(hào)。 確認(rèn)確認(rèn)32位位BIOS是否存在;是否存在; 確認(rèn)確認(rèn)BIOS是否支持是否支持PCI BIOS,取得,取得PCI B

33、IOS入口入口地址;地址; 通過對(duì)通過對(duì)PCI BIOS入口地址的遠(yuǎn)程調(diào)用來實(shí)現(xiàn):入口地址的遠(yuǎn)程調(diào)用來實(shí)現(xiàn):AH=B1H,AL為子功能號(hào)。為子功能號(hào)。486.3 通用串行總線通用串行總線USB1. USB的硬件的硬件 USB主控制器主控制器/根集線器根集線器 USB集線器集線器(USB Hub) USB設(shè)備設(shè)備 6.3.1 USB系統(tǒng)組成系統(tǒng)組成49 USB設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序 USB驅(qū)動(dòng)程序驅(qū)動(dòng)程序 USB主控制器驅(qū)動(dòng)程序主控制器驅(qū)動(dòng)程序 2. USB的軟件的軟件 503. USB的拓?fù)浣Y(jié)構(gòu)的拓?fù)浣Y(jié)構(gòu) PCI總線總線宿主機(jī)宿主機(jī)USB主控制器主控制器/根根Hub高速高速電話電話高速高速顯

34、示器顯示器高速高速集線器集線器高速高速麥克風(fēng)麥克風(fēng)揚(yáng)聲器揚(yáng)聲器高速高速揚(yáng)聲器揚(yáng)聲器高速高速鍵盤鍵盤高速高速低速低速麥克風(fēng)麥克風(fēng)麥克風(fēng)麥克風(fēng)低速低速高速高速=480Mb/s(2.0)全速全速=12Mb/s(1.1)低速低速=1.5Mb/s(1.0) USB的層次拓?fù)鋱D的層次拓?fù)鋱D516.3.2 USB系統(tǒng)的接口信號(hào)和電氣特性系統(tǒng)的接口信號(hào)和電氣特性 1.接口信號(hào)線接口信號(hào)線 高高/全全/低速低速USB收發(fā)器收發(fā)器(主機(jī)或集線主機(jī)或集線器端口器端口)高高/全速全速USB收發(fā)器收發(fā)器(主機(jī)主機(jī)端口或高速端口或高速設(shè)備設(shè)備)+5vdcD+D-地地15K15K+3.03.6vdc1.5KD+D-高高/全

35、全/低速低速USB收發(fā)器收發(fā)器(主機(jī)或集線主機(jī)或集線器端口器端口)低速低速USB收收發(fā)器發(fā)器(低速設(shè)低速設(shè)備備)+5vdcD+D-地地15K15K+3.03.6vdc1.5KD+D-USB集成器和設(shè)備的電阻連接集成器和設(shè)備的電阻連接USB數(shù)據(jù)線數(shù)據(jù)線USB數(shù)據(jù)線數(shù)據(jù)線52總線狀態(tài)總線狀態(tài)信信 號(hào)號(hào) 電電 平平發(fā)送端發(fā)送端接受器端接受器端差分差分“1”D+2.8V并且并且D-200mV并且并且D+2.0V差分差分“0”D-2.8V并且并且D+200mV并且并且D-2.0V單端點(diǎn)單端點(diǎn)0(SE0) D+和和D-0.3VD+和和D-2.7V并且并且D-0.8V53總總 線線 狀狀 態(tài)態(tài)發(fā)發(fā) 送送 端

36、端接接 收收 端端高速差分高速差分“1”360mVD+440mV; -10mVD-10mV 高速差分高速差分“0”360mVD-440mV; -10mVD+10mV 高速高速J狀態(tài)狀態(tài)高速差分高速差分“1”高速差分高速差分“1”高速高速K狀態(tài)狀態(tài)高速差分高速差分“0”高速差分高速差分“0”Chirp J狀態(tài)狀態(tài)700mVD+D-1100mVChirp K狀態(tài)狀態(tài)-900mVD+D-500mV高速閑置高速閑置(Idle)狀態(tài)狀態(tài)NA-10mV(D-, D+)10mV高速包開始高速包開始(HSSOP)數(shù)據(jù)線從高速閑置狀態(tài)轉(zhuǎn)換到高速數(shù)據(jù)線從高速閑置狀態(tài)轉(zhuǎn)換到高速J狀態(tài)或高速狀態(tài)或高速K狀態(tài)狀態(tài)高速包

37、結(jié)束高速包結(jié)束(HSEOP)數(shù)據(jù)線從高速數(shù)據(jù)線從高速J狀態(tài)或高速狀態(tài)或高速K狀態(tài)轉(zhuǎn)換到高速閑置狀態(tài)轉(zhuǎn)換到高速閑置狀態(tài)狀態(tài)54D+和和D-的電壓全部下降到的電壓全部下降到0.8V并維并維持持2.5 s保持信號(hào)線保持信號(hào)線2個(gè)位傳輸時(shí)間的個(gè)位傳輸時(shí)間的SE0狀態(tài)狀態(tài),之后保持,之后保持1個(gè)位傳輸時(shí)間的個(gè)位傳輸時(shí)間的J狀態(tài)。狀態(tài)。D+或或D-的電壓上升的電壓上升到到2.5(2.7)V維持維持2.5 s以上以上信號(hào)線跳變到其信號(hào)線跳變到其反向邏輯電平反向邏輯電平差分?jǐn)?shù)據(jù)線按差分?jǐn)?shù)據(jù)線按傳送數(shù)據(jù)變換傳送數(shù)據(jù)變換551. D+線電壓上升,則首先判斷為全速設(shè)備。線電壓上升,則首先判斷為全速設(shè)備。2. 主機(jī)在

38、識(shí)別到一個(gè)新設(shè)備后要求集線器復(fù)位主機(jī)在識(shí)別到一個(gè)新設(shè)備后要求集線器復(fù)位(Reset)連接端口,此時(shí)數(shù)據(jù)線進(jìn)入連接端口,此時(shí)數(shù)據(jù)線進(jìn)入SE0狀態(tài)至少狀態(tài)至少10ms。3. 復(fù)位期間,高速設(shè)備會(huì)發(fā)出一個(gè)復(fù)位期間,高速設(shè)備會(huì)發(fā)出一個(gè)Chirp K,集線器檢,集線器檢測(cè)到該測(cè)到該Chirp K后,會(huì)回應(yīng)一串后,會(huì)回應(yīng)一串Chirp K與與J。4. 得到這個(gè)得到這個(gè)Chirp KJKJKJ序列后,設(shè)備斷開序列后,設(shè)備斷開D+線上線上的上拉電阻,使能高速終端,進(jìn)入高速缺省狀態(tài)。的上拉電阻,使能高速終端,進(jìn)入高速缺省狀態(tài)。5. 如果在復(fù)位期間集線器一直沒有檢測(cè)到如果在復(fù)位期間集線器一直沒有檢測(cè)到Chirp

39、K,則,則說明接入的是全速設(shè)備。說明接入的是全速設(shè)備。6. 如果高速設(shè)備發(fā)出如果高速設(shè)備發(fā)出Chirp K后一直得不到集線器回應(yīng)后一直得不到集線器回應(yīng)的的Chirp KJKJKJ序列,則說明集線器不支持高速設(shè)序列,則說明集線器不支持高速設(shè)備,則設(shè)備依然回到全速狀態(tài)。備,則設(shè)備依然回到全速狀態(tài)。 56 2.電氣特性電氣特性 對(duì)地電源對(duì)地電源電壓為電壓為4.755.25V,設(shè)備吸入的最,設(shè)備吸入的最大電流值為大電流值為500mA 。第一次被主機(jī)檢測(cè)到時(shí),。第一次被主機(jī)檢測(cè)到時(shí),設(shè)備吸入的電流設(shè)備吸入的電流100mA 自給供電自給供電 總線供給總線供給57 3.NRZI編碼編碼 原始原始數(shù)據(jù)數(shù)據(jù)空閑

40、空閑填充填充數(shù)據(jù)數(shù)據(jù)填充位填充位NRZI碼碼0 0 0 1 1 1 1 1 1 0 1 1 0 1 10 0 0 1 1 1 1 1 1 0 1 1 0 1 1位填充和位填充和NRZI編碼編碼0 0 0 1 1 1 1 1 1 1 1 0 1 1 NRZI的編碼方法不需獨(dú)立的時(shí)鐘信號(hào)和數(shù)據(jù)一起發(fā)送的編碼方法不需獨(dú)立的時(shí)鐘信號(hào)和數(shù)據(jù)一起發(fā)送,。在數(shù)。在數(shù)據(jù)被編碼前,在數(shù)據(jù)流中據(jù)被編碼前,在數(shù)據(jù)流中,從而強(qiáng)迫,從而強(qiáng)迫NRZI碼發(fā)生變化,也順便讓收發(fā)雙放碼發(fā)生變化,也順便讓收發(fā)雙放對(duì)準(zhǔn)一次時(shí)鐘,接收端必須去掉這個(gè)插入的對(duì)準(zhǔn)一次時(shí)鐘,接收端必須去掉這個(gè)插入的“0”。 586.3.3 USB數(shù)據(jù)流類型

41、和傳輸類型數(shù)據(jù)流類型和傳輸類型 控制信號(hào)流、塊數(shù)據(jù)流、中控制信號(hào)流、塊數(shù)據(jù)流、中斷數(shù)據(jù)流、實(shí)時(shí)數(shù)據(jù)流。斷數(shù)據(jù)流、實(shí)時(shí)數(shù)據(jù)流。 2:?jiǎn)危簡(jiǎn)?雙向,用于雙向,用于傳輸,要求準(zhǔn)確傳輸,要求準(zhǔn)確,出錯(cuò)重傳。時(shí)間性不強(qiáng)。,出錯(cuò)重傳。時(shí)間性不強(qiáng)。 1: 雙向,雙向,發(fā),發(fā)生錯(cuò)誤需重傳。生錯(cuò)誤需重傳。 當(dāng)當(dāng)USB主機(jī)檢測(cè)時(shí),設(shè)備必須要用端主機(jī)檢測(cè)時(shí),設(shè)備必須要用端點(diǎn)點(diǎn)0完成和主機(jī)交換信息的控制傳送。完成和主機(jī)交換信息的控制傳送。 3 :?jiǎn)蜗蛉胫鳈C(jī),用于:?jiǎn)蜗蛉胫鳈C(jī),用于傳送。采傳送。采用查詢中斷方式,出錯(cuò)下一查詢周期重新傳。用查詢中斷方式,出錯(cuò)下一查詢周期重新傳。4:?jiǎn)危簡(jiǎn)?雙向,用于雙向,用于的數(shù)據(jù)傳輸,

42、的數(shù)據(jù)傳輸,時(shí)間性強(qiáng),但出錯(cuò)無需重傳。傳輸速率固定。時(shí)間性強(qiáng),但出錯(cuò)無需重傳。傳輸速率固定。596.3.4 USB交換的包格式交換的包格式標(biāo)志包標(biāo)志包數(shù)據(jù)包數(shù)據(jù)包握手包握手包一次交換(事務(wù)處理)一次交換(事務(wù)處理)等時(shí)傳輸無握手包等時(shí)傳輸無握手包交換完畢,進(jìn)入交換完畢,進(jìn)入發(fā)送方把發(fā)送方把D+和和D-上的電壓降低到上的電壓降低到0.8V以下,并保持以下,并保持2個(gè)位的傳個(gè)位的傳輸時(shí)間,然后維持輸時(shí)間,然后維持1個(gè)位傳輸時(shí)間的個(gè)位傳輸時(shí)間的J狀態(tài)表示狀態(tài)表示包結(jié)束,之后進(jìn)入閑置狀態(tài)。包結(jié)束,之后進(jìn)入閑置狀態(tài)。,對(duì)中斷傳輸,亦由主,對(duì)中斷傳輸,亦由主機(jī)發(fā)送查詢包取得中斷信息機(jī)發(fā)送查詢包取得中斷信息

43、。幀結(jié)束幀結(jié)束間隔區(qū)間隔區(qū)60表表6.7 包的類型包的類型(陰影部分是陰影部分是USB2.0規(guī)范規(guī)范)PID類型類型PID名稱名稱PID3:0描述描述標(biāo)志包標(biāo)志包OUT0001b具有具有PID、類型檢查、設(shè)備地址、端點(diǎn)、類型檢查、設(shè)備地址、端點(diǎn)號(hào)和號(hào)和CRC域的宿主到功能設(shè)備的發(fā)送域的宿主到功能設(shè)備的發(fā)送包包IN1001b功能設(shè)備到宿主的接收包,具有和發(fā)功能設(shè)備到宿主的接收包,具有和發(fā)送包一樣的域送包一樣的域SOF0101b幀開始包幀開始包SETUP1101b主機(jī)發(fā)給設(shè)備的設(shè)置包,用于控制傳主機(jī)發(fā)給設(shè)備的設(shè)置包,用于控制傳輸?shù)脑O(shè)置。輸?shù)脑O(shè)置。數(shù)據(jù)包數(shù)據(jù)包DATA00011b數(shù)據(jù)包數(shù)據(jù)包0DAT

44、A11011b數(shù)據(jù)包數(shù)據(jù)包1DATA20111b為幀中高速、高帶寬的等時(shí)交換的數(shù)為幀中高速、高帶寬的等時(shí)交換的數(shù)據(jù)包據(jù)包MDATA1111b為分離的高速和高帶寬等時(shí)交換中的為分離的高速和高帶寬等時(shí)交換中的數(shù)據(jù)包數(shù)據(jù)包61握手包握手包ACK0010b接收設(shè)備發(fā)的接受數(shù)據(jù)正確的應(yīng)答包接收設(shè)備發(fā)的接受數(shù)據(jù)正確的應(yīng)答包NAK1010b接收設(shè)備無法接受數(shù)據(jù)或沒有數(shù)據(jù)返接收設(shè)備無法接受數(shù)據(jù)或沒有數(shù)據(jù)返回個(gè)宿主回個(gè)宿主STALL1110b設(shè)備已經(jīng)被掛起,需要主機(jī)插手解決設(shè)備已經(jīng)被掛起,需要主機(jī)插手解決故障故障NYET0110b接收器無應(yīng)答接收器無應(yīng)答特殊包特殊包PRE1100b(Token)預(yù)告包,預(yù)告下面

45、將以低速方預(yù)告包,預(yù)告下面將以低速方式和低速設(shè)備通信式和低速設(shè)備通信ERR1100b(Handshake)分離交換錯(cuò)誤的握手信號(hào)分離交換錯(cuò)誤的握手信號(hào)SPLIT1000b高速分離交換標(biāo)志高速分離交換標(biāo)志PING0100b為批或控制端點(diǎn)傳輸而設(shè)置的高速流為批或控制端點(diǎn)傳輸而設(shè)置的高速流控制探測(cè)控制探測(cè)Reserved0000b保留保留62包的一般格式包的一般格式SYNCPID 包特定信息包特定信息CRC8位位(32位位)8位位n位位5位或位或16位位同步序列同步序列包標(biāo)識(shí)別,發(fā)送從低位到高位包標(biāo)識(shí)別,發(fā)送從低位到高位所有數(shù)據(jù)發(fā)發(fā)送都時(shí)從低位開始向高位發(fā)送所有數(shù)據(jù)發(fā)發(fā)送都時(shí)從低位開始向高位發(fā)送數(shù)據(jù)

46、為數(shù)據(jù)為10000000B(1.1版本版本)PID0 PID1LSbPID2 PID3 PID0#PID1#PID2# PID3#MSb低低4位放位放PID高高4位放位放PID的反碼的反碼數(shù)據(jù)為數(shù)據(jù)為10000000000000000000000000000000B(2.0版本版本)631. 包的種類及格式包的種類及格式 SYNCPID FRAME NUMBERCRC8/32位位 幀開始包格式幀開始包格式8位位11位位5位位編碼編碼數(shù)據(jù)數(shù)據(jù)0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1LSbMSb64SYCNPIDADDRENDPCRC8/32位位 接受和發(fā)送包的格式接受和發(fā)送

47、包的格式8位位7位位4位位5位位接受交換包括了全部接受交換包括了全部4種傳輸類型種傳輸類型:根根Hub廣播接受包廣播接受包目標(biāo)設(shè)備返回?cái)?shù)據(jù)包目標(biāo)設(shè)備返回?cái)?shù)據(jù)包根根Hub發(fā)握發(fā)握手包。(手包。():根根Hub廣播發(fā)送包廣播發(fā)送包根根Hub發(fā)數(shù)據(jù)包發(fā)數(shù)據(jù)包目標(biāo)設(shè)備發(fā)握目標(biāo)設(shè)備發(fā)握手包(手包()發(fā)送交換包括了除中斷傳輸外的其他發(fā)送交換包括了除中斷傳輸外的其他3種傳輸類型種傳輸類型652數(shù)據(jù)包數(shù)據(jù)包DATACRCSYNCPID8位位USB 1.1數(shù)據(jù)包格式數(shù)據(jù)包格式8位位08184位位(1023B)16位位SYNCPIDDATACRC32位位USB 2.0數(shù)據(jù)包格式數(shù)據(jù)包格式8位位08192位位(10

48、24B)16位位 控制傳輸開始由主機(jī)發(fā)設(shè)置包,后面可能由一個(gè)或控制傳輸開始由主機(jī)發(fā)設(shè)置包,后面可能由一個(gè)或多個(gè)多個(gè)IN或或OUT交換,或只包含一個(gè)從端點(diǎn)傳到主機(jī)的交換,或只包含一個(gè)從端點(diǎn)傳到主機(jī)的狀態(tài)狀態(tài)66SYCNPID8/32位位 握手包的格式握手包的格式8位位3握手包握手包 4 特殊包特殊包數(shù)據(jù)接受方發(fā)向數(shù)據(jù)發(fā)送方數(shù)據(jù)接受方發(fā)向數(shù)據(jù)發(fā)送方 只有只有SYNC和和PID組成組成希望與低速設(shè)備進(jìn)行低速傳輸?shù)臅r(shí)候發(fā)此包希望與低速設(shè)備進(jìn)行低速傳輸?shù)臅r(shí)候發(fā)此包 PID域應(yīng)該高速(全速)發(fā)送。域應(yīng)該高速(全速)發(fā)送。 PID之后,在低速數(shù)據(jù)包傳輸之前要延遲之后,在低速數(shù)據(jù)包傳輸之前要延遲4個(gè)高速個(gè)高速

49、字節(jié)時(shí)間字節(jié)時(shí)間 低速設(shè)備只支持控制傳輸與中斷傳輸?shù)退僭O(shè)備只支持控制傳輸與中斷傳輸 與低速設(shè)備交換數(shù)據(jù)只有與低速設(shè)備交換數(shù)據(jù)只有8字節(jié)字節(jié)67主主 機(jī)機(jī)HUB設(shè)設(shè)備備1.1 設(shè)備接入設(shè)備接入1.2 通知有設(shè)備接入通知有設(shè)備接入2 檢測(cè)檢測(cè)Hub,確認(rèn)有接入確認(rèn)有接入3 使能該端口,發(fā)使能該端口,發(fā)RESET命令命令4 發(fā)發(fā)RESET信號(hào),供電信號(hào),供電5.1 利用默認(rèn)端點(diǎn)利用默認(rèn)端點(diǎn)0讀設(shè)備描述器讀設(shè)備描述器6.2 分發(fā)地址分發(fā)地址7.2 讀配置信息讀配置信息7.1 按地址讀設(shè)備配置信息按地址讀設(shè)備配置信息8.2 寫配置信息寫配置信息8.1 按地址設(shè)設(shè)備配置信息按地址設(shè)設(shè)備配置信息6.1 給設(shè)

50、備分發(fā)地址給設(shè)備分發(fā)地址5.2 讀設(shè)備描述器讀設(shè)備描述器68 USB On-The-Go(OTG)是對(duì)是對(duì)USB 2.0規(guī)規(guī)范的有益的擴(kuò)充。這類設(shè)備既可以作為范的有益的擴(kuò)充。這類設(shè)備既可以作為USB設(shè)備與設(shè)備與PC機(jī)相連,又可以作為機(jī)相連,又可以作為USB主機(jī)連接其它主機(jī)連接其它USB設(shè)備。因此,這類設(shè)設(shè)備。因此,這類設(shè)備可以拋棄備可以拋棄PC,直接進(jìn)行設(shè)備與設(shè)備之,直接進(jìn)行設(shè)備與設(shè)備之間的點(diǎn)對(duì)點(diǎn)間的點(diǎn)對(duì)點(diǎn)(pear to pear)通信。通信。 USB On-The-Go 在在USB 規(guī)范基礎(chǔ)上增加了以下幾點(diǎn)規(guī)范基礎(chǔ)上增加了以下幾點(diǎn)6.3.6 USB2.0的補(bǔ)充的補(bǔ)充OTG技術(shù)技術(shù)69USB

51、 On-The-Go 設(shè)備定義了一個(gè)新的稱之為設(shè)備定義了一個(gè)新的稱之為mini-AB 的的袖珍插孔,它能接入袖珍插孔,它能接入mini-A 和和mini-B 插頭。連接器的插頭。連接器的不同定義設(shè)備的不同定義設(shè)備的。VBUSD+D-GNDID1: Slave B設(shè)備設(shè)備0: Master A設(shè)備設(shè)備mini-B 插頭插頭mini-A 插頭插頭VCCVCC70兩個(gè)兩個(gè)OTG RTR(主主/從雙角色從雙角色)設(shè)備相連,可以用主機(jī)交設(shè)備相連,可以用主機(jī)交流協(xié)議流協(xié)議(HNP)隨時(shí)切換主機(jī)角色。步驟如下:隨時(shí)切換主機(jī)角色。步驟如下:1. A設(shè)備發(fā)出設(shè)備發(fā)出SET_FEATURE命令后,命令后,B設(shè)備可

52、請(qǐng)求總設(shè)備可請(qǐng)求總線控制權(quán)。線控制權(quán)。2. A設(shè)備掛起總線,通知設(shè)備掛起總線,通知B設(shè)備可占用總線。設(shè)備可占用總線。3. B設(shè)備發(fā)送信號(hào),斷開設(shè)備發(fā)送信號(hào),斷開A設(shè)備連接。設(shè)備連接。4. A設(shè)備啟動(dòng)設(shè)備啟動(dòng)D+線本方的上拉電阻,將線本方的上拉電阻,將D+置高。此時(shí)置高。此時(shí)A設(shè)備成為外設(shè),設(shè)備成為外設(shè),B設(shè)備成為主機(jī)。設(shè)備成為主機(jī)。5. B設(shè)備完成對(duì)總線控制后,啟動(dòng)設(shè)備完成對(duì)總線控制后,啟動(dòng)D+線本方的上拉電阻線本方的上拉電阻,放棄對(duì)總線的控制。,放棄對(duì)總線的控制。6. 在以上電平變換的同時(shí),通過軟件實(shí)現(xiàn)真正的對(duì)總在以上電平變換的同時(shí),通過軟件實(shí)現(xiàn)真正的對(duì)總線的控制權(quán)變化。線的控制權(quán)變化。71

53、1.分清開發(fā)的設(shè)備類型分清開發(fā)的設(shè)備類型 嵌入式嵌入式USB主機(jī)主機(jī) USB Hub 基于基于HID(人機(jī)接口設(shè)備人機(jī)接口設(shè)備)的的USB設(shè)備設(shè)備 USB OTG設(shè)備設(shè)備2.選擇合適的控制芯片選擇合適的控制芯片 內(nèi)嵌內(nèi)嵌USB模塊和嵌入式模塊和嵌入式CPU核的核的SOC芯片芯片 內(nèi)嵌單片機(jī)內(nèi)核的內(nèi)嵌單片機(jī)內(nèi)核的USB控制芯片控制芯片 可與其它嵌入式可與其它嵌入式CPU相連的單獨(dú)相連的單獨(dú)USB控制芯片控制芯片6.3.7 開發(fā)具有開發(fā)具有USB功能的設(shè)備的先期準(zhǔn)備功能的設(shè)備的先期準(zhǔn)備723.一般的開發(fā)步驟一般的開發(fā)步驟1) 根據(jù)選擇的器件和要實(shí)現(xiàn)的功能,設(shè)計(jì)相關(guān)電路。根據(jù)選擇的器件和要實(shí)現(xiàn)的功能

54、,設(shè)計(jì)相關(guān)電路。2) 編制軟件(根據(jù)不同應(yīng)用,設(shè)計(jì)其中部分或全部軟編制軟件(根據(jù)不同應(yīng)用,設(shè)計(jì)其中部分或全部軟件)。件)。4.目前常見的控制芯片目前常見的控制芯片 OTG芯片:芯片:ISP1362,OTG243 主機(jī)主機(jī)/設(shè)備芯片:設(shè)備芯片: SL811HS,ISP1161 設(shè)備芯片:設(shè)備芯片:PDIUSBD12,ISP1581 HUB芯片:芯片:GL652USB73 6.4 PCI-Express總線總線 (自學(xué))(自學(xué))PCI Express為互連設(shè)備提供高速、高性能、點(diǎn)對(duì)點(diǎn)為互連設(shè)備提供高速、高性能、點(diǎn)對(duì)點(diǎn)、雙、雙/單工、差動(dòng)信令鏈路。數(shù)據(jù)從一組信號(hào)線上發(fā)送單工、差動(dòng)信令鏈路。數(shù)據(jù)從一組信號(hào)線上發(fā)送,而在另一組信號(hào)線上接收。采用設(shè)備間的點(diǎn)對(duì)點(diǎn)串,而在另一組信號(hào)線上接收。采用設(shè)備間的點(diǎn)對(duì)點(diǎn)串行連接。行連接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論