一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

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

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-08-06 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1 什么是USB On-The-Go

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

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

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

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

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

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

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

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

2 USB OTG 設備的功能

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

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

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

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

iii)初始化總線上所有的數(shù)據(jù)包傳輸?shù)然顒印?/p>

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

i)響應USB Host 的命令,執(zhí)行又Host 發(fā)起的發(fā)送設備描述符、傳送數(shù)據(jù)等活動;

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

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

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

DRD = Host + Peripheral + OtherLL(1)

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

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

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

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

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

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

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

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

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

3 USB OTG 體系的軟件描述

3.1 OTG 配置描述符

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

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

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

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

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

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

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

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

3.4 OTG 的軟件結(jié)構(gòu)

OTG 的軟件結(jié)構(gòu)包括3 部分:

i)OTG 系統(tǒng)硬件驅(qū)動:包括SRP 和HNP;

ii)OTG 系統(tǒng)外設軟件:實現(xiàn)標準的USB 類,來實現(xiàn)特定的USB 外設功能;

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

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

    關注

    60

    文章

    8170

    瀏覽量

    272203
  • 數(shù)據(jù)傳輸

    關注

    9

    文章

    2014

    瀏覽量

    65971

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    怎么利用ARM7來實現(xiàn)嵌入式USB

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

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

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

    嵌入式系統(tǒng)是怎樣應用到企業(yè)中去的?

    請問嵌入式系統(tǒng)是怎樣應用到企業(yè)中去的?
    發(fā)表于 04-27 06:18

    嵌入式系統(tǒng)USB接口的研究及設計

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

    嵌入式USB從設備驅(qū)動程序設計

    本文通過基于S3C2410 的嵌入式USB 從設備驅(qū)動程序的實現(xiàn),介紹嵌入式Linux 系統(tǒng)中的USB 從設備驅(qū)動程序的設計方法,同時介紹了
    發(fā)表于 08-14 14:07 ?15次下載

    基于TTL串口的嵌入式USB主機系統(tǒng)的設計和實現(xiàn)

    本文介紹了一種基于TTL 串口的嵌入式USB 主機系統(tǒng)。介紹了該系統(tǒng)的硬件實現(xiàn),以及USB 主機的底層驅(qū)動軟件的實現(xiàn),并簡要介紹其在數(shù)據(jù)采集
    發(fā)表于 08-15 08:23 ?29次下載

    USB嵌入式主機控制器設計

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

    USB嵌入式主機控制器設計

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

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

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

    嵌入式ARM9的USB設計與實現(xiàn)

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

    嵌入式USB MiniHost系統(tǒng)設計與實現(xiàn)

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

    嵌入式系統(tǒng)USB接口的虛擬示波器的開發(fā)與實現(xiàn)

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

    基于μC/OS-Ⅱ的嵌入式USB控制軟件的實現(xiàn)

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

    嵌入式系統(tǒng)中USB主機的應用方式

    嵌入式系統(tǒng)中USB技術(shù)主要有兩種應用方式,一種是USB總線設備的USB設備方式,一種是USB主控制器的
    發(fā)表于 10-30 14:16 ?1866次閱讀

    USB嵌入式主機堆棧

    USB標準下,USB設備之間不能直接通信。它們只能與控制一個或多個設備通信的總線的 USB 主機通信。常見的 USB 主機是 PC。本應用筆記討論了
    發(fā)表于 05-03 09:13 ?361次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>嵌入式</b>主機堆棧