<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          USB接口是如何進(jìn)行通信的?

          作者: 時(shí)間:2016-12-12 來(lái)源:網(wǎng)絡(luò) 收藏
          USB接口中既沒(méi)有握手信號(hào),也沒(méi)有時(shí)鐘信號(hào),它是怎樣進(jìn)行通信的呢?

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

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

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

          從物理結(jié)構(gòu)上,USB系統(tǒng)是一個(gè)星形結(jié)構(gòu)。USB系統(tǒng)包含三類硬件設(shè)備: USB主機(jī)(USB HOST)、 USB設(shè)備(USB DEVICE)和USB集線器(USB HUB)。USB總線上的物理連接是一個(gè)分層的星形拓?fù)?/strong>,處于每個(gè)星形拓?fù)渲醒氲氖荋UB集線器,在主機(jī)與HUB之間,HUB與HUB之間,HUB與設(shè)備之間都是點(diǎn)對(duì)點(diǎn)的連接。

          圖1 USB拓?fù)浣Y(jié)構(gòu)

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

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

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

          圖2 USB軟件結(jié)構(gòu)

          協(xié)議棧驅(qū)動(dòng)程序的主要作用是將設(shè)備與相應(yīng)的設(shè)備驅(qū)動(dòng)程序連接起來(lái)。因?yàn)閁SB支持的設(shè)備很多,而每個(gè)具體的設(shè)備都有自己對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序。對(duì)于某一具體設(shè)備來(lái)說(shuō),使用哪個(gè)驅(qū)動(dòng)來(lái)管理,就要由協(xié)議棧驅(qū)動(dòng)程序通過(guò)讀取設(shè)備描述符進(jìn)行挑選。選擇好驅(qū)動(dòng)程序之后,協(xié)議棧驅(qū)動(dòng)程序還要給USB設(shè)備分配地址。

          管道建立起來(lái)之后,數(shù)據(jù)的傳輸控制則由USB接口驅(qū)動(dòng)程序負(fù)責(zé)完成了。在這里,主機(jī)占有絕對(duì)主導(dǎo)權(quán),設(shè)備只能是“聽(tīng)命令行事”。設(shè)備發(fā)生事件時(shí)通過(guò)消息管道報(bào)告給主機(jī),主機(jī)伺機(jī)向設(shè)備發(fā)送命令,開(kāi)通流管道,發(fā)送或接收數(shù)據(jù)包。主機(jī)與設(shè)備之間以數(shù)據(jù)數(shù)據(jù)包的形式進(jìn)行傳送,顯然這與網(wǎng)絡(luò)上數(shù)據(jù)傳輸?shù)姆绞较嗤?,是一種異步數(shù)據(jù)傳輸模式。



          關(guān)鍵詞: USB接口通

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();