Presentation is loading. Please wait.

Presentation is loading. Please wait.

TB-064.

Similar presentations


Presentation on theme: "TB-064."— Presentation transcript:

1 TB-064

2 USB 驅動程式概念 第七章 7-1 USB 主機基本功能與特性 7-2 USB 主機的結構 7-3 USB 系統軟體
7-5 USB 匯流排驅動程式(USBD) 7-6 階層式的驅動程式 7-7 PC 主機的 USB 驅動程式 7-8 Windows 驅動程式選擇 7-9 搜尋 INF 安裝資訊檔案 7-10 登錄編輯器 7-11 INF 安裝資訊檔案 7-12 開啟 INF 安裝資訊檔案

3 7-1 USB 主機基本功能與特性 USB 通訊模式劃分為 3 個階層:USB 功能層、USB 裝置層及USB 匯流排介面層。實線代表實際通訊的流程。而其中,所有介於主機與裝置最後都需透過最低階的 USB 匯流排介面層來通訊構連。然而,每一個主機與裝置的水平層之間的虛線,則是代表邏輯的通訊流。在同一層的實體之間也具有虛擬的連接。而較低層的實體提供了其上一個較高層實體的服務。從這個觀點來看,對於 PC 主機應用程式軟體的設計者而言,根本不必考慮到裝置與主機之間的實際連結方式。也就是,各層實體所要執行的功能是用來服務上一層的實體,依序往上層服務。

4

5 7-2 USB 主機的結構 主機為 USB 提供了下列功能:  檢測 USB 裝置的連接和拔離。
 收集匯流排狀態和匯流排動作資訊。  控制主控制器和 USB 裝置之間的電氣介面,包含 限制電源量的供應。

6

7 7-3 7-3-1 配置裝置 7-3-2 資源管理 7-3-3 資料傳輸 USB 系統軟體
USB 系統軟體負責和 USB 邏輯裝置進行配置通信,並管理客戶端軟體啟動的 USB 資料傳輸。 7-3-1 配置裝置  7-3-2 資源管理   7-3-3 資料傳輸

8 在判斷 USB 匯流排頻寬能否滿足要求時,USB 系統軟體將使用如下兩個步驟:
1. 首先計算出該端點所對應資料處理的最大執行時 間,這主要與端點的傳輸類型、所支援的最大資料 封包長度(wMaxPacketSize)和 USB 裝置的拓樸 深度(即經過幾個集線器的連接)有關。 2. 緊接著,檢查目前 USB 訊框/微訊框中的剩餘可用 時間,以確定其是否能滿足第 1 步驟所算出的最大 執行時間。如果能滿足,USBD 就可建立該管線。

9 7-4 USB 主控制器驅動程式 提供對 USB 主控制器硬體的抽象概念。 提供對 USB 主控制器與 USB 裝置之間資料傳輸的抽象概念。
支援根集線器及其操作。即 USB 主控制器驅動程式負責對根集線器進行配置,並透過集線器裝置群組要求與其進行資料傳輸。由於根集線器被整合在 USB 主控制器的內部,所以當 HCD 對其進行存取時,不需產生任何USB 資料處理。

10 7-5 USB 匯流排驅動程式(USBD) 命令機制的配置操作。 命令機制和管線機制的資料傳輸服務。 事件通知。 狀態報告和錯誤恢復。

11

12 7-5-1 USBD 命令機制需求 介面狀態控制 管線狀態控制 讀取描述元 讀取目前配置資訊 連接裝置 移除裝置 管理狀態 傳送裝置群組命令
傳送販售商命令 建立可切換設定 設定配置方式 設定描述元

13 7-5-2 USBD 管線機制 中止 IRP 管理管線策略 佇列化 IRP

14 7-6 階層式的驅動程式 在 Windows 作業系統中,針對 USB 介面的通訊工作使用了階層式的驅動程式模式。每一個驅動程式階層負責處理一部分的通訊工作。應用程式(App- lications)的階層中,運用裝置驅動程式(包含群組驅動程式)與系統的匯流排驅動程式通訊,而其中,匯流排的驅動程式是用來處理 USB 硬體。

15

16 7-7 PC 主機的 USB 驅動程式 USB 介面是一個相當複雜的標準介面,同時需要主機側與裝置側的諸多軟體的支援。此外,大部分主機側的連接介面,或多或少都可在 Windows 作業系統下工作。但須注意的是,USB 並無法在 DOS 或 Windows 3.x 作業系統下工作。若要在 DOS 作業系統下工作,使用者需針對PC 主機的主機控制器來撰寫其裝置列舉的步驟。 USB 裝置驅動程式可以分別透過群組驅動程式(例如:人性化介面裝置(HID)驅動程式是提供給滑鼠、鍵盤以及搖桿使用的)或是自訂驅動程式來實現。

17

18

19

20 7-8 Windows 驅動程式選擇 裝置管理員是用來負責安裝、配置,以及移動裝置之用的控制平台。在裝置管理員中,也可以增加相關於每一個裝置的訊息至系統的登錄編輯器中。這個登錄編輯器是 Windows 作業系統用來維護目前已儲存安裝至系統之有關的硬體與軟體訊息。而我們可以透過兩種方式來進入到裝置管理員的控制畫面。  選擇電腦桌面的 “我的電腦”,按滑鼠右鍵後,在顯示的下 拉選單中,選擇 “內容” 即可看到裝置管理員的操作項目。  於 Windows 的左下角,以滑鼠選擇 “開始設定控制台 系統裝置管理員”,也可進入裝置管理員的操作項目。

21 7-9 搜尋 INF 安裝資訊檔案 在 drvidx.bin 檔案中列出了在 INF 安裝資訊檔案內的每一個販售商與產品 ID (VID/PID)碼,並且其中附帶了販售商名稱、產品名稱及相關的敘述。但在 Windows 2000/XP 作業系統中,卻沒有包含這些資料庫檔案,反而是使用 PNF 檔案(預先編譯(precompiled)INF 安裝資訊檔案)來加速整體的搜尋速度。如此,在安裝裝置的階段時,Windows 2000/XP 作業系統會開啟 PNF 檔案,並且以裝置的 INF 安裝資訊檔案格式來儲存至相同的目錄下。此外,在 PNF 檔案中,包含了比 INF 安裝資訊檔案格式更多的訊息來致能更快地搜尋方式。但是有些 Windows 98 作業系統下也有可能具備同樣的 PNF 檔案。

22 7-10 7-10-1 控制平台 7-10-2 列出特定的 USB 裝置 7-10-3 列出通用的USB裝置 登錄編輯器
在系統的登錄編輯器中儲存了所有關於已安裝過裝置的訊息,不論此裝置是否已經正被連接上或是已經被拔離開來。當一個新的裝置被裝置列舉後,裝置管理員會將此裝置的相關訊息儲存至登錄編輯器中。 7-10-1 控制平台  7-10-2 列出特定的 USB 裝置   7-10-3 列出通用的USB裝置

23

24

25 7-11 INF 安裝資訊檔案 7-11-1 INF 安裝資訊檔案的語法 7-11-2 節區
節區 HID 群組裝置所使用的通用 INF 安裝資訊檔案

26

27 INF 安裝資訊檔案的語法

28

29 ◘ 版本(Version)節區

30 ◘ 群組安裝(ClassInstall)節區

31 ◘ 製造商(Manufacturer)節區

32 ◘ 目的路徑(DestinationDirs)節區

33 ◘ 字串(Strings)節區

34 7-12 開啟 INF 安裝資訊檔案 針對 Windows 2000 作業系統的 INF 安裝資訊檔案,Win-dows DDK 提供了兩個工具組的應用程式:Geninf 是用來開啟檔案,而 ChkINF 則是用來檢查檔案結構與語法。Geninf 是 INF File Creation Wizard 的簡稱,其放置在 DDK安裝後的子目錄:\tools\geninf\x86\geninf.exe。 這 Geninf 應用程式具有 INF 視窗精靈,將會訊問有關於此裝置與開啟此裝置的 INF 安裝資訊檔案的一些問題。而所有顯示的文件中,將會警告使用者,所開啟的INF安裝資訊檔案僅為特定的骨架而已,並非全部有效的內容。 此外,ChkINF 應用程式是 Perl script,因此,我們需要從網路上去下載 Perl 直譯器, Perl Dev Kit 6.0 版本。


Download ppt "TB-064."

Similar presentations


Ads by Google