a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > USB接口是如何進行通信的?

USB接口是如何進行通信的?

作者: 時間:2016-12-12 來源:網(wǎng)絡 收藏
USB接口中既沒有握手信號,也沒有時鐘信號,它是怎樣進行通信的呢?

我們已經(jīng)知道,傳統(tǒng)的串行口、并行口通過握手信號進行通信,這些接口通常通過握手信號來聯(lián)絡主機和外設。我們也已經(jīng)知道,通信雙方可以同步或異步兩種方式進行通信,兩者最大的區(qū)別是,同步通信接口中有時鐘信號線。

本文引用地址:http://www.j9360.com/article/201612/328909.htm

USB接口應用很廣。可是,USB接口中既沒有握手信號,也沒有時鐘信號,它是怎樣在主機與外設之間建立聯(lián)系的呢?又是如何交換數(shù)據(jù)的呢?為了深入理解USB接口的通信過程,先介紹USB的硬件和軟件結構。

從物理結構上,USB系統(tǒng)是一個星形結構。USB系統(tǒng)包含三類硬件設備: USB主機(USB HOST)、 USB設備(USB DEVICE)和USB集線器(USB HUB)。USB總線上的物理連接是一個分層的星形拓撲,處于每個星形拓撲中央的是HUB集線器,在主機與HUB之間,HUB與HUB之間,HUB與設備之間都是點對點的連接。

圖1 USB拓撲結構

USB HOST對USB系統(tǒng)進行管理、每毫秒產(chǎn)生一幀數(shù)據(jù)、發(fā)送配置請求對USB設備進行配置、管理和恢復總線上的錯誤。 USB HUB用于設備擴展連接,所有USB DEVICE都連接在USB HUB的端口上。USB DEVICE接收USB總線上的所有數(shù)據(jù)包,通過數(shù)據(jù)包的地址域來判斷是不是發(fā)給自己的數(shù)據(jù)包:若地址不符,則簡單地丟棄該數(shù)據(jù)包;若地址相符,則通過響應USB HOST的數(shù)據(jù)包與USB HOST進行數(shù)據(jù)傳輸。

從邏輯結構上看,每個USB邏輯設備都直接與USB HOST進行數(shù)據(jù)傳輸。與傳統(tǒng)接口以硬件手段實現(xiàn)握手的方法不同,USB接口使用“軟握手”方法。

USB 的軟握手機制是透過三個層次的驅動程序實現(xiàn)的,在這中間起到關鍵作用的是設備驅動程序,該程序在主機與設備之間建立起至少一個管道。管道有兩種類型:流管道和消息管道。其中有一個最重要的消息管道是“缺省控制管道”,這個管道在設備一加電的時候就存在了,它提供設備的配置和狀態(tài)等信息。主機與設備之間的聯(lián)絡就是通過消息管道實現(xiàn)的。

圖2 USB軟件結構

協(xié)議棧驅動程序的主要作用是將設備與相應的設備驅動程序連接起來。因為USB支持的設備很多,而每個具體的設備都有自己對應的設備驅動程序。對于某一具體設備來說,使用哪個驅動來管理,就要由協(xié)議棧驅動程序通過讀取設備描述符進行挑選。選擇好驅動程序之后,協(xié)議棧驅動程序還要給USB設備分配地址。

管道建立起來之后,數(shù)據(jù)的傳輸控制則由USB接口驅動程序負責完成了。在這里,主機占有絕對主導權,設備只能是“聽命令行事”。設備發(fā)生事件時通過消息管道報告給主機,主機伺機向設備發(fā)送命令,開通流管道,發(fā)送或接收數(shù)據(jù)包。主機與設備之間以數(shù)據(jù)數(shù)據(jù)包的形式進行傳送,顯然這與網(wǎng)絡上數(shù)據(jù)傳輸?shù)姆绞较嗤且环N異步數(shù)據(jù)傳輸模式。



關鍵詞: USB接口通

評論


技術專區(qū)

關閉