在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將USB應用到嵌入式領域?如何實現USB點對點的通訊?

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-08-06 16:51 ? 次閱讀

USB On-The-Go 擴大了USB 的應用領域,將USB 從傳統的PC 與外設通訊的模式,擴展到移動電子和嵌入式領域中,拋開主機PC,實現通常的外設與外設之間點對點(Point to Point)的數據傳輸模式。

1 什么是USB On-The-Go

我們先來回顧一下通用串行總線(Universal Serial Bus,簡稱為USB)發展的歷史:

i)1994 年11 月,以Intel 為首的7 家公司(Intel、Compaq、Microsoft、IBM、DEC、Northern Telecom 和NEC)推出了USB 協議的第一個草案,USB 作為一種新型的串行總線,揭開了新一輪的USB 總線的革命,但這時,USB 并不為計算機技術人員所熟知;

ii)1996 年2 月,USB 協議規范1.0 版本發布,版權屬于Compaq、Intel、Microsoft和NEC 等4 家公司,并同意任何人可免費使用。自此,USB 開始逐漸被廣大技術人員和用戶所認可,并逐漸開始成為PC 主板上的標準接口;

iii)1998 年10 月,USB 1.1 版本發布,集中修訂了USB 1.0 中的問題,并進一步突出了USB 的優勢。到目前,USB 1.1 仍是開發USB 低速(1.5Mbps,Low-Speed)和全速(12Mbps,Full-Speed)設備的標準版本。USB 的低功耗、速度高、成本低、支持即插即用和維護方便等優勢更加穩定,USB 開始成為鼠標、鍵盤、游戲桿、打印機、光驅、硬盤、顯示器和數碼相機等幾乎各種PC 外設與PC 連接的標準協議之一。各種USB 的外設產品如雨后春筍般出現,如USB Flash 讀卡器、USB 移動硬盤、USB 數碼相機、USB 鍵盤等,幾乎所有的PC 外設都有相應的USB 接口的產品。一時間,USB 成為了最為流行的PC 接口標準,嵌入式軟硬件工程師也將USB 應用到自己的設計之中;

iv)2000 年4 月,Compaq、HP、Intel、Lucent、Microsoft、NEC 和Philips 等7 家公司聯合發布USB 2.0 協議規范版本。新版本最大的變化就是將USB 的總線速度一下子提高到了480Mbps,即開始支持高速設備(High-Speed)。由此,USB 翻開了新的一頁,徹底打破了USB 應用在視頻等高速傳輸領域中的速度瓶頸,大大擴展了USB 應用領域。從低速的鼠標、鍵盤,到全速的硬盤,再到高速的視頻傳輸,USB 幾乎無所不能,可以應用到任何一種PC 外設中。USB 取代串口、并口等傳統PC 接口只是個時間問題了。

從問世,到協議規范2.0 版本,USB 不斷在自我完善,走向成熟。從普通計算機用戶,計算機工程師,到硬件芯片生產廠商,都已經完全認可了USB。廠商對于USB 的硬件和軟件支持的也越來越完備,現在開發一個USB 外設產品,所需要投入的成本和時間大大降低了,幾年前是沒有辦法做到這一點的。但是,隨著USB 應用領域的逐漸擴大,人們對于USB的期望也越來越高,希望USB 能應用在各種計算機領域中,尤其是在移動通訊領域中,希望能通過PDA 等移動設備來直接和USB 外設通信,使得USB 能應用在沒有PC 的領域中。非PC 應用領域? 這正是USB 一個致命的弱點。USB 的拓撲結構中居于核心地位的是Host,任何一次USB 的數據傳輸都必須由Host 來發起和控制,所有的USB 外設都只能和Host 建立連接,任何兩個外設之間或是兩個Host 之間無法直接通信。而目前,大量的扮演Host 角色的是個

電腦PC。因此,“如何將USB 應用到嵌入式領域?如何實現USB 點對點的通訊?”等問題,開始進入了USB 開發者的討論議程。正是在這種新的需求之下,USB On-The-Go 應運而生。2001 年12 月,USB On-The-Go 版本協議1.0 正式發布(簡寫為OTG 1.0)。

USB On-The-Go,顧名思義,是USB 應用在便攜式移動設備領域中,因此,我們姑且將其翻譯為“便攜式USB”(或者“移動USB”),簡記成USB OTG。OTG 1.0 作為USB 2.0的補充協議,基本上符合USB 2.0 規范。但是,有所不同的是符合USB OTG 的設備完全拋開了PC,既可以作為Host,也可以作為外設,而與另一個OTG 設備直接實現點對點(Pear to Pear)通訊。因此,這類OTG 設備也被成為是雙角色設備(Dual-Role Device,簡稱為DRD),并能夠根據接入設備的特性和數據傳輸過程中的情況,自動切換為Host 或是外設。例如,一個OTG 數碼相機可以直接與OTG 打印機相連,打印圖片;兩個OTG MP3 播放器可以之間連在一起,實現音樂文件的共享。需要注意的是,USB OTG 設備保留了作為普通USB 2.0 外設的功能,可以作為外設直接連接到PC Host 上。

2 USB OTG 設備的功能

USB OTG 定義了兩種設備類型:雙角色設備DRD 和單外部設備(Peripheral-OnlyDevice,簡稱為POD)。DRD 具備Host 和外設的兩種功能,POD 基本與外設功能近似,因此,我們這里著重討論DRD。

要成為一個USB Host,必須具有存儲外設驅動程序、提供足夠的USB 端口電流和A型Host 插座的能力。而其所要實現的基本功能包括3 部分:

i)管理和控制總線,包括提供USB 端口電源管理;

ii)檢測外設的接入和斷開,枚舉(Enumerate)設備;

iii)初始化總線上所有的數據包傳輸等活動。

同樣,USB 外設也具有特定的功能:

i)響應USB Host 的命令,執行又Host 發起的發送設備描述符、傳送數據等活動;

ii) 遠程喚醒處于掛起(Suspend)狀態的主機;

iii) 提供自供電(Self-Powered)電源(如果所需電流大于總線能提供的限額,選此項)。

DRD 具有USB Host 和外設的雙重功能,但是,正因為具有了雙重的角色任務,DRD又必須有切換角色等新的任務和功能,因此,我們可以用(1)式來簡單的定義OTG DRD的功能:

DRD = Host + Peripheral + OtherLL(1)

由(1)式可知,完整的USB OTG DRD 還必須具有除了通常的Host 和外設之外的一些功能,當然DRD 的Host 功能是有限的,不要求完全實現PC Host 的功能,不過,這正符合了嵌入式領域中對USB 靈活性和便攜性的要求:

i)作為外設,支持12Mbps 的全速模式(或者是480Mbps 的高速模式);

ii)作為Host,也支持全速模式(或者是低速和高速模式);

iii)產生目標外設列表(Targeted Peripheral List,簡寫為TPL);

iv)會話請求協議(Session Request Protocol,簡寫為SRP);

v)主機交流協議(Host Negotiation Protocol,簡寫為HNP);

vi)有且僅有1 個Mini-AB 插座;

vii)至少為總線提供8mA 的電流;

viii)能及時將總線活動狀態通知給設備用戶。

3 USB OTG 體系的軟件描述

3.1 OTG 配置描述符

在OTG 系統處于枚舉過程時,A 設備就會發送GetDescriptor 命令給B 設備(開始處于外設狀態的設備),要求B 設備發送OTG 配置描述符。配置描述符包括3 個字節,分別是bLength、bDescriptorType 和bmAttributes。

3.2 會話請求協議(Session Request Protocol,簡寫為SRP)

SRP 用于B 設備向A 設備請求建立會話和使用總線。

一般,OTG 系統中的A 設備采用的是電池供電,因為這些設備是便攜式和可移動的,這就決定了,OTG 系統電源管理是非常重要的一個專題。因此,為了節省OTG 系統的電源開支,OTG 2.0 規定A 設備在沒有總線活動的時候,可以關掉VBus 上的電源。這樣,當一個B 設備連接到A 設備上之后,就要初始化SRP,并發送給A 設備,請求A 設備在VBus上提供電流支持,進而進行通信。OTG 中,DRD 可以作為A 設備,也可以作為B 設備,因此,DRD 必須支持初始化SRP 和響應SRP;POD 只能作B 設備,所以,只能初始化SRP。SRP 中,B 設備有兩種方式可以向A 設備發送請求,要求建立SRP:一種是數據線脈沖(Data-Line Pulsing),一種是VBus 脈沖(VBus Pulsing)。具體的脈沖方法在OTG 2.0 中有詳細的說明。任何一個A 設備只要求能響應一種SRP 方式,而B 設備必須能初始化兩種SRP方式。這樣,當B 設備先初始化一種SRP,而A 設備無法響應是,則B 設備就要用另一種SRP 方式。

3.3 主機交流協議(Host Negotiation Protocol,簡寫為HNP)

HNP 用于初始B 設備與初始A 設備之間切換Host 角色。

OTG DRD 具有Mini AB 型插座,因此,DRD 既可作為Host,也可以作為外設。而在某一個OTG 連接中,這個DRD 到底是作Host(即A 設備),還是作外設(即B 設備),則要根據接入的另一個OTG 設備來定。如果,接入的是OTG POD,那么,毫無疑問,這個DRD 肯定是作A 設備。但,如果接入的是另一個DRD,那么這兩個DRD 之間,就可以HNP來隨時切換Host 角色。

一次完整的HNP 流程是這樣的:B 設備希望控制總線,成為Host;在A 設備發送了SetFeature 命令后,B 設備就可以來請求控制總線;A 設備掛起總線,通知B 設備可以控制總線;B 設備發送信號,斷開與A 設備的連接;A 設備啟動D+信號線上的上拉電阻,將D+置高;這樣,A 設備就開始作為外設,放棄了總線的控制權,B 設備成為了Host;在B設備完成了對總線的控制,就需要上拉其上的D+電阻,放棄總線控制權。當然,這一系列的HNP 活動,不僅僅是通過信號線上的電平變化來實現的。電平變化只是一種標志,真正內部對總線的控制權的變化,則要通過軟件來實現。

3.4 OTG 的軟件結構

OTG 的軟件結構包括3 部分:

i)OTG 系統硬件驅動:包括SRP 和HNP;

ii)OTG 系統外設軟件:實現標準的USB 類,來實現特定的USB 外設功能;

iii)OTG 系統Host 軟件:包括Host 驅動程序、操作系統支持軟件、支持外設的類庫。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8062

    瀏覽量

    269456
  • 數據傳輸
    +關注

    關注

    9

    文章

    1990

    瀏覽量

    65390

原文標題:USB是如何從PC擴展到嵌入式的?USB OTG發展及協議標準

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    怎么利用ARM7來實現嵌入式USB

    USB設備都只能與主機建立連接。不僅如此,軟件復雜性以及較高的功率要求,使得人們對嵌入式設備中使用USB的興趣與日俱增。嵌入式USB結合
    發表于 11-06 08:15

    為什么要開發嵌入式USB主機?如何設計嵌入式USB主機?

    為什么要開發嵌入式USB主機?非PC應用領域?如何設計嵌入式USB主機嵌入式
    發表于 04-26 06:11

    嵌入式系統是怎樣應用到企業中去的?

    請問嵌入式系統是怎樣應用到企業中去的?
    發表于 04-27 06:18

    嵌入式系統USB接口的研究及設計

    本文針對嵌入式系統中USB 接口進行了研究,提出了MCU+USB嵌入式USB Host 的實現
    發表于 06-13 11:29 ?15次下載

    嵌入式USB從設備驅動程序設計

    本文通過基于S3C2410 的嵌入式USB 從設備驅動程序的實現,介紹嵌入式Linux 系統中的USB 從設備驅動程序的設計方法,同時介紹了
    發表于 08-14 14:07 ?15次下載

    基于TTL串口的嵌入式USB主機系統的設計和實現

    本文介紹了一種基于TTL 串口的嵌入式USB 主機系統。介紹了該系統的硬件實現,以及USB 主機的底層驅動軟件的實現,并簡要介紹其在數據采集
    發表于 08-15 08:23 ?29次下載

    USB嵌入式主機控制器設計

    USB嵌入式主機控制器設計 過去USB僅應用于個人計算機其在嵌入式系統領域的巨大潛力尚未開發USB
    發表于 03-18 10:40 ?55次下載

    USB嵌入式主機控制器設計

    USB嵌入式主機控制器設計 過去USB僅應用于個人計算機其在嵌入式系統領域的巨大潛力尚未開發USB
    發表于 05-06 17:22 ?649次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b>主機控制器設計

    基于嵌入式系統的USB(HID)設備

    基于嵌入式系統的USB(HID)設備 目前嵌入式系統在數字化電子產品領域應用越來越廣泛。隨著其成本的降低,大有取代單片機的趨勢。 USB
    發表于 10-06 08:25 ?1346次閱讀
    基于<b class='flag-5'>嵌入式</b>系統的<b class='flag-5'>USB</b>(HID)設備

    嵌入式ARM9的USB設計與實現

    嵌入式ARM9的USB設計與實現 隨著嵌入式系統的廣泛應用,各種小型終端需要開發出與外界聯系的USB接口。目前,常用的技術有兩種。基于單片
    發表于 05-11 14:44 ?1598次閱讀
    <b class='flag-5'>嵌入式</b>ARM9的<b class='flag-5'>USB</b>設計與<b class='flag-5'>實現</b>

    嵌入式USB MiniHost系統設計與實現

    設計并實現了一個嵌入式USB主機系統的硬件和軟件,用于解決USB設備不能脫離PC主機的問題。并在設計的硬件和軟件基礎上利用嵌入式C語言編制了
    發表于 04-12 15:04 ?47次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b> MiniHost系統設計與<b class='flag-5'>實現</b>

    嵌入式系統USB接口的虛擬示波器的開發與實現

    嵌入式系統USB接口的虛擬示波器的開發與實現
    發表于 10-31 10:28 ?14次下載
    <b class='flag-5'>嵌入式</b>系統<b class='flag-5'>USB</b>接口的虛擬示波器的開發與<b class='flag-5'>實現</b>

    基于μC/OS-Ⅱ的嵌入式USB控制軟件的實現

    0 引言 2010年USB 3.0的正式推出象征USB傳輸極速時代的到來,但是嵌入式領域由于考慮成本等各方面因素很多仍采用USB 1.1協議
    發表于 12-01 01:57 ?454次閱讀
     基于μC/OS-Ⅱ的<b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b>控制軟件的<b class='flag-5'>實現</b>

    嵌入式系統中USB主機的應用方式

    嵌入式系統中USB技術主要有兩種應用方式,一種是USB總線設備的USB設備方式,一種是USB主控制器的
    發表于 10-30 14:16 ?1809次閱讀

    USB嵌入式主機堆棧

    USB標準下,USB設備之間不能直接通信。它們只能與控制一個或多個設備通信的總線的 USB 主機通信。常見的 USB 主機是 PC。本應用筆記討論了
    發表于 05-03 09:13 ?281次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b>主機堆棧
    主站蜘蛛池模板: 又粗又大的机巴好爽欧美 | 亚洲福利视频一区二区 | 日本毛片在线观看 | 天堂看动漫 | 最新合集丨新片速递 | 亚洲不卡视频在线观看 | 亚洲最大色网站 | 欧美人成绝费网站色www吃脚 | 看日本黄色大片 | 特级毛片视频在线 | 黄 色 片免费观看 | 日本一区免费在线观看 | 国产精品1区2区3区在线播放 | 免费看三级黄色片 | 午夜爽爽 | 欧美一区视频 | 日本在线观看成人小视频 | 国产一区二区高清 | 女人大毛片一级毛片一 | 欧美性喷潮| 亚洲国产精品日韩专区avtube | 亚洲精品国产美女在线观看 | 午夜无遮挡怕怕怕免费视频 | 国产亚洲卡二卡3卡4卡乱码 | 啪啪免费网站视频观看 | 欧美黑人巨大日本人又爽又色 | 久久久久国产精品四虎 | 激情狠狠干 | 国产午夜人做人视频羞羞 | 天天干天天拍 | 国产一级特黄生活片 | 免费看吻胸亲嘴激烈网站 | 午夜三级国产精品理论三级 | 老司机色网| 国产三级黄色录像 | 天天做天天爱天天操 | 视频免费在线观看 | 一级日本高清视频免费观看 | 婷婷丁香在线 | 亚洲一区二区三区四区五区六区 | 一级一级毛片免费播放 |