- 什么是移動 USB?
- 為什么應該在便攜式設備上實施移動 USB?
摘要
當我們研究當今的一些小型便攜式設備時,實際上都是指一些小型 PC。一般而言,這些小型便攜式設備都擁有幾個 GB 的存儲容量,用于存儲豐富的內(nèi)容。它們的功能通過多處理器和協(xié)處理器來實現(xiàn),且大多數(shù)都擁有多個無線接口。這些小型便攜式設備同時還具有數(shù)碼照相和攝像功能,且它們中的大多數(shù)都為多媒體播放器——包括音樂和視頻播放。這些小型便攜式設備使用全功能操作系統(tǒng),擁有與桌面系統(tǒng)相似的應用程序,例如:電子表格、文檔、PDF、電子郵件等等。因此,當我們研究這些設備時,我們不能僅僅把它們當作是一個移動電話、MP3播放器或者數(shù)碼相機。正如 PC 已經(jīng)大量地將 USB 作為標準接口一樣,這些便攜式設備也是如此!然而,這些設備在給定的使用環(huán)境下,標準 USB 并不具有它們需要的一切。另一方面,移動 USB (USB-OTG) 是一種通過一個單獨、小插孔實現(xiàn)所有這些使用案例的理想有線接口,它不再需要任何其他有線接口。
什么是移動 USB?
要想了解 USB OTG 是什么,我們首先必須了解標準 USB 的一些基本原理。為了了解 USB 的基本原理,我們必需追溯到 USB 1.0 規(guī)范發(fā)布之前的 20 世紀 90 年代早期,看看那個時候的 PC 是什么樣子:
越來越多的用戶想把越來越多的外設連接到其 PC
各種外設端口(并行、串行、P/S-2)的選擇開始給用戶帶來諸多問題
另外,連接的多樣化一直困擾著普通用戶。
大多數(shù)用戶都不知道如何選擇端口
他們不知道端口存在的一些限制
2003 年 7 月,USB-OTG 作為 USB 2.0 規(guī)范的補充標準發(fā)布,其定義了一類新的設備。此類設備旨在擴展外設產(chǎn)品的功能,以包括有限的主機功能。顧名思義,該規(guī)范的最初目標是一些消費類便攜式設備,即在無法使用計算機時終端用戶可能想要與之共享數(shù)據(jù)的設備。應用實例包括在兩部 PDA 或手機之間共享聯(lián)系人信息,兩部 DSC 或照相手機之間共享照片,或者直接從一部 DSC 或者 PDA 打印。與標準 USB 一樣,OTG 也是一種點對點、中央主控制器總線,不應作為一種點對點網(wǎng)絡連接。當連接到標準 USB 主機(例如:一臺 PC)時, OTG 產(chǎn)品必須作為一個標準外設。OTG 補充標準主要介紹了某個設備在主機模式下時其必須如何工作的問題。
正如標準 USB 主機端口一樣,必須為 OTG 主機提供電源。然而,所需電源電流被限定在 8mA 以內(nèi)。這不是一個最大值;實際上,不存在一個能夠提供的最大值。然而,由于大多數(shù)可能的 OTG 支持產(chǎn)品都為電池供電,因此在延長電池使用時間和為總線供電 USB 外設提供充足電力之間始終存在一種平衡關系。如果 OTG 產(chǎn)品提供大于 8mA 的最小電流,則顯然存在兩種大電源電流選項。一種是 100mA,其為所有低功耗 USB 總線供電外設規(guī)定的最大電流。它會使 OTG 設備能夠服務于大多數(shù)閃存驅(qū)動器,以及許多其他低功耗外設,例如:鍵盤或鼠標等。另一種是選擇 500mA 的標準 USB 主機端口。它可以讓 OTG 設備滿足任何總線供電 USB 外設的電源需求。
標準 USB 主機和 OTG 產(chǎn)品之間的第二個重要差異是 OTG 設備可能沒有一種為“未識別”設備添加驅(qū)動的簡單方法。這可能是兩個原因所致。首先,可能沒有一種向 OTG 設備加載新軟件的方法,特別是在 OTG 端口有連接其“新”外設的情況下。也就是說,一些 OTG 設備可能具有無線功能,用以實現(xiàn)為未識別設備下載驅(qū)動的網(wǎng)絡連接,其要求一種非常復雜的操作系統(tǒng)來實現(xiàn)。第二種潛在局限性是 OTG 設備的內(nèi)存。這些設備都為操作系統(tǒng)分配了一個固定的存儲容量。由于缺少開放式內(nèi)存,可能無法將其他驅(qū)動程序添加到這一存儲空間中。因此,OTG 設備必須提供所謂的“目標外設清單 (TPL)”,這就讓設備廠商可以準確地指定他們支持的外圍設備。USB 規(guī)范使用所謂的“USB 報頭”信息來識別每一種 USB 設備。任何設備的報頭的“前”兩個條都是“廠商識別號 (VID)”和“產(chǎn)品識別號 (PID)”。TPL 是一個 VID 和 PID 列表,可以為 OTG 主機所識別,并且可自動包含驅(qū)動程序來支持它。列表以一個文件結束,該文件為操作系統(tǒng)的一部分。除這個嵌入設備中的文件以外,OTG 產(chǎn)品還必須隨一個文本版 TPL 銷售,以供最終用戶參考。
由于可能無法在 OTG 設備上添加對新設備的支持,因此要求沒有“無提示”故障。換句話說,如果最終用戶插入某個不支持設備(不在 TPL 中),一定會提示用戶錯誤消息。首選方法是在 OTG 設備的 LCD 或屏幕上顯示圖形或者文本消息。如果 OTG 設備沒有文本/圖形顯示器,則必須提供顯示消息的其他方法。例如,點亮特定 LED,以特定形式讓 LED 閃爍,改變 LED 的顏色等等。無論選擇什么樣的消息系統(tǒng),都必須將消息通知最終用戶。
[page]
在標準 USB 中,主機上的插孔被稱作“A”連接器,而外圍設備上的插孔被稱作“B” 連接器。由于目標終端設備主要為一些小型移動消費類電子產(chǎn)品,因此標準“A”插孔對這些產(chǎn)品來說過大。按照 OTG 規(guī)范的原始版本,這些新型連接器被稱作“迷你”連接器。隨后,對該規(guī)范進行了修改,以強制規(guī)定 OTG 設備的“微型”連接器。特別是,OTG 設備必須實施一個微型 AB 插孔。這種 AB 名命表示其為批量安裝在某個單一設備中的“A”和“B”插孔。該微型 AB 插孔可以插接微型 B 插頭或者微型 A 插頭。問題似乎很清楚:如果您插一個微型 A 插頭,則設備會為一個主機;如果您插一個微型 B 插頭,則其為一個外圍設備。但是,基于微型 AB 的產(chǎn)品如何知道插入的是什么呢?OTG 規(guī)范給標準 USB 系統(tǒng)的四個觸點又增加了一個觸點,稱作 ID。由于 ID 引腳不在標準 USB 連接中,因此規(guī)范保留了這一點,并在 ID 引腳上定義了一個無連接,作為初始外圍設備。反過來,如果 ID 引腳接地,則設備扮演初始主機角色,如圖 1 所示。
圖 1 線纜方向決定初始主機/目標角色
如上所述,線纜方向決定著連接處兩個 OTG 設備扮演的設備角色。主機通信協(xié)議 (HNP) 定義了一種在主機和設備角色之間動態(tài)切換的方法。為什么要切換角色呢?如果我們查看圖 2,并考慮到每個 OTG 設備都必須包括一個 TPL,我們便能理解這種要求。左邊的設備在其 TPL 上有一臺打印機,但其并“不”在打印機的 TPL 上。如果用戶“倒過來”插入線纜(如圖 2 所示),則如果不倒置角色兩個設備之間的通信便不可能進行。把線纜從兩個設備取下,然后將線纜端點倒過來再重新連接,便可以實現(xiàn)通信。OTG 規(guī)范內(nèi)置到了協(xié)議中,以自動地應對這種情況。HNP 允許靜默和自動角色倒置,從而實現(xiàn)通信。相比強制規(guī)定用戶斷開線纜然后倒置,這樣做提高了最終用戶體驗。正因這樣,需要注意的主機通常為 A 設備但卻并非始終如此,這一點很重要。
圖 2 主機通信協(xié)議實例
會話請求協(xié)議 (SRP) 實現(xiàn)了根據(jù)“主機”設備需要開/關總線電源的方法,以在不需要通信時省電。許多 OTG 目標終端設備均為電池供電設備。延長電池使用時間對于廠商和最終用戶來說都是最為重要的事情??紤]到這一點,OTG 連接中的 A 設備(由線纜方向表示)可以關閉總線電源,并轉(zhuǎn)入延長電池使用時間的睡眠模式。如果需要,它還允許 B 設備也進入睡眠模式。然而,最終用戶可能希望再次啟動通信,并在 B 設備上發(fā)起該請求。SRP 允許 B 設備請求 A 設備開啟 VBUS 電源,并發(fā)起一個會話。OTG 會話被定義為 A 設備持續(xù)提供 VBUS 電源的時間。要喚醒 A 設備,B 設備首先向 D+ 線產(chǎn)生脈沖,然后向 VBUS 線脈沖來喚醒 A 設備。A 設備探測到該脈沖(A 設備可以響應任何一個脈沖行為),從而使其開啟 VBUS,并開始一個會話。SRP 協(xié)議比這種簡單的例子更加復雜。它還必須能夠區(qū)分在線纜另一端是一臺普通 PC 還是 OTG 設備。通過向 VBUS 線提供測定電流量并注意產(chǎn)生的電壓,可以做出相關決定。請注意,在圖 2 所示實例中,必須提供電源的 A 設備是打印機,它在會話中實際上為外圍設備。
為什么應該在便攜式設備上實施移動 USB?
如前所述,USB OTG 規(guī)范已經(jīng)發(fā)布了五年多時間,而采用率卻緩慢滯后。因此,許多人提出如下問題:
OTG 的真正好處是什么?
我的設備中為什么需要它?
首先,讓我們再來看原始目標設備——便攜式消費類電子產(chǎn)品:手機、PDA、數(shù)碼照相機、MP3 播放器等等。這些設備中,幾乎 100% 都使用 USB 作為連接當今的 PC 和共享數(shù)據(jù)的方法。當前所有這些設備也都擁有其他一些接口——電池充電電源、音頻輸入/輸出、視頻輸出、同非 PC 設備通信功能等等。然而,隨著體積變得越來越小,去除/減少這種要求外部插孔空間的能力便顯得極其重要。
USB 設計論壇(USB-IF,USB 行業(yè)協(xié)會)已制訂或正在制定多項措施,旨在滿足這些便攜式設備的諸多需求,這些需求已經(jīng)超出了原始 USB 規(guī)范的初始能力/范圍。其包括使用 USB 連接電池充電功能、更小型的微型連接器以及手機音頻等三個關鍵方面。當您把這些計劃措施組合起來,并同 USB OTG 規(guī)范結合后,您便可以僅需一個單獨的小型插孔來滿足便攜式設備的所有有線連接需求,就可以實現(xiàn)全部這種功能。
[page]
首先,讓我們來看看在電池充電方面正在進行的一些工作。初始 USB 規(guī)范并未將電池充電作為正常使用情形的一部分。然而,通過定義外圍設備如何使用 5V/500mA 電源,可知設備不能使用這種電源進行充電沒有任何理由。設備必須滿足所有標準 USB 電源規(guī)范,工作期間絕不能超出 500mA 的電流消耗,未配置時低于 100 mA,并且在 PC 處于待機模式下時低于 500?A。
通過強制規(guī)定在中國銷售的所有新型手持終端都必須使用其 USB 接口充電,中國政府已將其提升到法律層面。通過標準 USB 端口連接或者專用 USB 充電器可以滿足這種規(guī)定。USB 充電器是一種連接交流電但在輸出端有一個 USB 插頭的電源。數(shù)據(jù)線保持開路,這樣設備便不會嘗試通信。很明顯,電池限制并不相同,因為其不再是一個提供電源的 USB 主機。他們已經(jīng)制訂出了一種關于這些充電器的規(guī)范,這樣充電器便可用于所有手持終端。這樣,每次您購買一種新的設備時,手持終端廠商便無需再提供一種新的充電器,也就是說任何充電器都可以用于所有的 USB 設備。另外,USB-IF 有了一些最新的進展,其定義了一種讓電池供電設備(不管是支持 OTG 還是標準外設)探測連接是標準 USB 主機連接還是專用 USB 充電器的方法。這樣做的目的是確保 USB 設備不受不同廠商開發(fā)的充電器的損害。 關鍵問題之一是 OTG 產(chǎn)品將如何在其電池耗盡時管理 VBUS 電流輸出。一般而言,在首次連接時,對耗盡電池再充電要求一個大電流尖峰來讓電池達到某個基本閾值,以管理設備平衡。然而,如果這種充電是通過標準 USB 主機連接進行的,則不可能滿足 USB 規(guī)范。因此,終端設備廠商必須在其電源管理設計階段處理耗盡電池問題。
如上所述,最初發(fā)布的 OTG 規(guī)范定義了迷你連接器。盡管迷你 B 已經(jīng)成為許多小型外圍設備的標準連接器,但卻發(fā)現(xiàn)這種迷你 AB 不足以滿足這些設備的所有要求。對許多空間敏感型應用來說,它還不夠小。其中,更重要的是這種接口的穩(wěn)健性。人們關心的是,對于這些便攜式設備會承受的可能使用次數(shù)而言,插/拔生命周期并不夠長。最終的改進是增加一個鎖閉機制,來防止意外線纜拔取。這種接口可以取代便攜式設備的所有其他有線接口,從而節(jié)省空間和成本。
重要的新進展是要在 USB-OTG 手持終端和 USB 手持終端之間定義一種標準接口的計劃。這是一種新型設備類型,其將定義一種標準接口,允許添加手機支持功能的所有 OTG 型電話/MP3 播放器/視頻播放器,作為播放和麥克風輸入的數(shù)字 USB 手持設備主機。由于該手持設備將連接一個電池供電設備,并極有可能會從該設備接收所有其電源,因此關注功耗對該手持終端設備而言至關重要。它使得此類音頻中心產(chǎn)品的廠商能夠去除其產(chǎn)品的 2.5mm 音頻接口,使用已經(jīng)存在的 USB 接口。
我們在研究當今的一些便攜式消費類電子設備時,發(fā)現(xiàn)它們實際上都是一些小型 PC,其擁有許多與 PC 相同的特性,包括存儲容量、多處理器、多無線(以及有線)接口、多媒體功能、全功能操作系統(tǒng)和許多類桌面系統(tǒng)應用程序。如果 PC 用戶已經(jīng)從 USB 獲得了實際的益處,那么便攜式設備也可以將這些好處擴展至其用戶便是合理的!