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