隨著電子產業不斷革新與演進,電子產品的成本亦隨之降低。尺寸設計更為輕巧,而耗電量也相對降低許多,使得可攜式電子裝置不論在數量或種類上,在過去幾年都呈現爆炸性成長。行動電話、數位相機、PDA、MP3播放機等裝置,不但功能愈來愈多,其儲存容量和處理速度也愈來愈高。這些新型的高階配備,為使用者所帶來的便利與功能,在幾年前幾乎是無法想像的。
而這些功能強大的新型配備問世後,設計通訊協定、系統架構和硬體裝置的工程師,也面臨到新的問題與挑戰。以往應用於交流電器的傳統設計法,未必適用於新一代電子裝置的各種特性。
與可攜式裝置互相通訊的挑戰
隨著可攜式裝置的功能和資料容量的提高,使用者也開始希望能與其他可攜式裝置、非可攜式裝置互相共享資訊,但是掌上型裝置的資料輸入及資料顯示較為不易,這個問題並不存在於個人電腦或其他高階電子產品。可攜式裝置因為體積小,通常沒有很實用而共通的人機介面,常常只有一個小螢幕以及數目有限的按鍵。這個嚴重的問題,使得這些裝置的資料輸入與存取,無法匹配其性能與儲存容量。舉例來說,要製作一個可儲存一萬筆電話號碼的手機,在技術上並不困難,但是要用手機本身小小的數字鍵盤來輸入那麼多的人名和電話號碼,幾乎是不可能的事。
可攜式裝置的另一個問題是必須要傳輸的資料量。以一台數位相機為例,其儲存容量就可高達數百MB。此外,資料傳輸的方式也有很多類型。比方說,手機用戶可能會想將手機連接到個人電腦,下載原先儲存的訊息;有時需要和其他手機連線,互傳電話號碼;或者需要和數位相機連線,上傳所拍攝的相片;當然有時還必須連接到PDA,使用無線網路功能。
但是,手機之類的可攜式裝置體積太小,沒有空間為各種連線類型提供專屬的接頭,而且可攜式裝置的市場對成本相當敏感,想要提供這麼多的接頭,會使成本過於昂貴。此外,很多使用可攜式裝置的用戶,並不熟悉太過於技術性的功能,所以廠商設計的資料傳輸方式,必須是簡易且直覺式設計。
由此看來,我們需要一種便宜、普及、使用容易、傳輸速率高的連線方式,使各種不同的電子裝置能夠彼此通訊且傳輸資料。
傳統USB介面並非萬能
通用序列匯流排(USB)介面,就是一種可行的連結方式。USB介面在個人電腦已經相當普及,可連接滑鼠、鍵盤等簡單配備,也可連接印表機、MP3播放機等較複雜的配備。過去三年以來全世界所銷售的電腦,幾乎每一台都有USB功能,目前用戶所使用的電腦及週邊配備,已超過十億台具備USB功能。USB的成本低、性能穩定又容易使用,且它的效能高,資料傳輸速率可達1.5 Mbps至480 Mbps。
但是,標準的USB連線需要一個主控端(host),這個主控端通常是個人電腦。如果我們想把一份儲存在週邊配備的資料,傳輸到另一個週邊配備,唯一的方法是透過主控端來中介傳輸,詳見(圖一)。
〈註:標準的USB連線架構〉
標準的USB系統配置,是由個人電腦作為主控端,而其它的配備則作為週邊,週邊配備彼此不能直接互連,所有的資料必須透過主控端來中介傳輸。舉例來說,如果我們想要將數位相機的照片列印出來,必須先將相片上傳到主控端,再從主控端傳送到印表機。
那麼,為什麼不在可攜式裝置裡,加入主控端功能呢?這個方法聽起來簡單,但實際做起來可不容易。
USB是一種主從架構的通訊協定,原先是設計給一個主控端搭配多個週邊配備的應用方式,因此USB連線的操控管理,多半是仰賴主控端。如果要將整套USB規格的主控端控管邏輯,全部建構在一個可攜式裝置中,對於著重功能簡便而專一的可攜式裝置而言,可能會造成很大的負擔。而且USB傳輸線具有方向性,插入主控端的接頭和插入週邊配備的接頭並不相同。
以可攜式裝置而言,有時候必須擔任主控端的角色,例如數位相機傳送相片給印表機。而有時候則必須擔任週邊配備的角色,例如數位相機將相片上傳至桌上型電腦,如(圖二)。而且雖然USB的專用接頭體積不大,但如果要建構於小巧的可攜式裝置之中,可能還是過於龐大。最後一點,USB架構認定主控端具備充足的電源,可為連線的週邊配備提供電力,有些配備甚至全部的電力都是來自USB匯流排。這樣的供電架構,對於一些電力有限的小型可攜式裝置而言,會造成難以管理的負擔。
〈註:數位相機連線示意圖〉
我們真正需要的,是一種能讓可攜式裝置直接互連的連線方式。舉例來說,我們可能希望如圖二a所示,比照標準的USB架構,將數位相機直接連線到個人電腦,上傳相片圖檔。也可能希望如圖二b所示,將數位相機直接連線到印表機,不需要透過電腦主機,即可直接列印相片。
USB的多項優點,一定有辦法能克服上述的缺點,使USB能實際應用於可攜式裝置之中。
USB OTG出馬 問題迎刃而解
USB難題的解決之道終於問世。USB標準規格於2001年12月增訂USB OTG(USB On-The-Go)規格,解決了可攜式裝置的建構需求,其內容包括:制訂體積較小的接頭規格,而且相同的接頭可用於主控模式及週邊模式,另外還制定一套新協定,可讓兩個裝置協商何者扮演主控角色、何者扮演週邊角色。新規格的供電需求量較低,使得電源節約模式的功能也有所改良,另外還增添了幾項限制,以降低軟體常態運作的負荷。OTG雖然有了這些新功能,但還是和現有的USB規格完全相容。接下來,本文將針對這些新功能一一詳細介紹,並探討這套新規格對於系統設計所帶來的影響。
新式接頭
在USB規格的機械性改良方面,主要是增添了幾款新型接頭,針對既有的A型接頭及B型接頭,這次新增了Mini-A和Mini-B接頭與插槽,以及一種Mini-AB型插槽。這些接頭與插槽,體積比原先的USB規格小了很多。
圖三 : Mini-A接頭與標準A型接頭的橫斷面比較圖 |
|
圖四 : Mini-B接頭與標準B型接頭的橫斷面比較圖 |
|
Mini-AB插槽適用於雙模式裝置,既可扮演主控角色、亦可扮演週邊角色的裝置。另外還有一個ID接腳,這個接腳在標準的USB接頭中並不存在,在Mini-A接頭則用於短路接地,在Mini-B接頭則處於斷接狀態。雙模式裝置利用這個ID接腳來判斷目前連接的是哪一種接頭,並以此決定預設的角色。
新通訊協定
OTG增訂規格中最重要的變革,即為擴充了原先的USB協定,提供更嚴謹的電源管理功能,並允許電子裝置擔任主控角色或週邊角色。而這些革命性的功能將討論如下。
雙模式裝置(Dual-Role Device)
「雙模式裝置」即為可擔任主控角色、亦可擔任週邊角色的電子裝置。除了要符合USB 2.0標準的所有要求之外,雙模式裝置還必須提供有限的主控功能,並支援「通訊請求協定」(Session Request Protocol;SRP)以及「主控協商協定」(Host Negotiation Protocol;HNP),而且應具備單一Mini-AB插槽。此外,這種裝置必須要能傳送訊息給使用者。當雙模式裝置處於主控模式運作時,VBUS只需要供應8mA的電流,這個規格有別於標準USB主控端的100mA或500mA要求。
主控協商協定(Host Negotiation Protocol)
USB本質上屬於一種主從架構協定,匯流排上所有的資料傳輸,都是由主控端來啟始。當雙模式裝置連接Mini-A插頭時,該裝置預設為擔任主控角色;如果連接Mini-B接頭,則預設為擔任週邊角色。如果使用者想把雙模式裝置從主控模式切換為週邊模式,並不需要拔除連接線再重新插入,OTG規格定義了一種主控協商協定(HNP),透過這個協定,原先連線時預設為週邊模式的雙模式裝置,可請求成為主控端。
HNP協定進行時,A裝置必須先透過OTG規格所新定義的Set Feature request,啟動B裝置的匯流排控管功能,一旦啟動之後,B裝置就可以在A裝置允許的狀況下,操控匯流排的運作。當A裝置想讓B裝置成為主控端時,首先A裝置會停止所有的資料傳輸,使匯流排暫停,接著B裝置可降低D+線路至低位準,產生一個斷線訊號(disconnect),然後A裝置會啟動其資料線路的上拉電阻(pull-up resistor),完成運作模式的切換。切換之後,B裝置就可以擔任主控角色,而A裝置則以週邊模式回應。
如果B裝置想要將主控權歸還A裝置,可以暫停匯流排,並啟動本身的D+上拉電阻,A裝置感測到之後,會停止本身的D+上拉電阻,並恢復成主控模式運作。請參閱(圖五)的HNP示意圖。
兩個互相連接的雙模式裝置,可以透過HNP交換主控端角色。圖五顯示A裝置與B裝置逐步執行HNP時,D+線路的訊號活動。
- (1)A裝置停止資料傳輸,使匯流排暫停。
- (2)B裝置感應到匯流排暫停,停止本身的上拉電阻,A裝置端的下拉電阻將D+拉至低位準。
- (3)A裝置偵測到斷線狀態(disconnect),啟動本身的D+上拉電阻。
- (4)B裝置偵測到D+升高,認定為連線狀態,進入主控模式,接著將A裝置列為本身的週邊裝置,執行USB重置(USB Reset)。
- (5)匯流排恢復資料傳輸,由擔任主控端的B裝置加以操控。
- (6)當B裝置決定放棄匯流排控制權時,會停止資料傳輸,使匯流排暫停。
- (7)A裝置感應到匯流排暫停,停止本身的上拉電阻。
- (8)B裝置感應到D+降低,重新啟動本身的上拉電阻。
- (9)A裝置進入主控模式,並將B裝置列為週邊,執行USB重置。匯流排恢復資料傳輸,再度由A裝置擔任主控端角色。
通訊請求協定(SRP)
典型的USB系統,主控端在處於運作狀態時,USB VBUS必須隨時提供5V的額定電壓,以及最少100mA的電流。這樣的供電需求對於連接到電源插座的主機而言,當然沒有問題,但對於手機之類的小型裝置,就無法負荷這樣的耗電量。為了節約電源,延長電池供電壽命,OTG規格允許OTG主控端(A裝置)在匯流排不傳輸資料時,可將VBUS關閉。SRP協定可讓擔任週邊的B裝置請求A裝置重新啟動VBUS,開始另一次的通訊階段(session)。
當前一次通訊階段已終止2ms之後,B裝置可以隨時啟動SRP協定。SRP協定啟動時,B裝置會進行「資料線路脈衝」以及「VBUS脈衝」,資料線路脈衝是將資料線路的上拉電阻(全速裝置位於D+,低速裝置位於D-)啟動5ms到10ms,VBUS脈衝是將VBUS輕微地驅動(足以將低負載量的OTG線路拉到至少2.1V,但不足以將負載量更高的典型線路拉到2.0V)。
A裝置一旦偵測到資料線路脈衝或VBUS脈衝,就會啟動VBUS,開始另一次的通訊階段。當A裝置判斷匯流排上已經沒有資料需要傳輸,就會將VBUS關閉,結束本次的通訊階段。請參閱(圖六)的SRP示意圖。
〈註:通訊請求協定(SRP)〉
USB OTG主控端可切斷匯流排的供電,以節約本身的電源。所連接的週邊裝置可使用SRP協定,要求主控端重新啟動匯流排。本圖顯示VBUS的訊號活動以及上拉之後的資料線路(全速及高速裝置位於D+,低速裝置位於D-)。
- (1)A裝置停止資料傳輸,暫停匯流排。
- (2)A裝置關閉VBUS以節約電源。
- (3)資料線路脈衝:VBUS低於通訊有效閥值以下,而且D+與D-皆處於低位準2ms之後,B裝置可啟動資料線路的上拉電阻,啟始資料線路脈衝。
- (4)B裝置的上拉電阻保持啟動狀態5到10ms之後解除。
- (5)VBUS脈衝:B裝置將VBUS稍微驅動,達到能將低負載量OTG匯流排的VBUS提高到2.1V以上,但不足以將負載量更高的典型USB匯流排提高到2.0V的程度。
- (6)B裝置完成VBUS脈衝之後,解除VBUS訊號。
- (7)A裝置重新啟動VBUS,回應SRP協定。
- (8)B裝置偵測到VBUS訊號,重新啟動本身的上拉電阻。
- (9)A裝置執行USB重置,開始另一個通訊階段。
- (10)匯流排恢復資料傳輸。
驅動程式支援
最後,驅動程式支援也是不可或缺的要項。掌上型裝置和個人電腦主機不同,掌上型裝置要安裝新的驅動程式並不容易,也沒有很多空間可儲存驅動程式。有鑑於此,OTG規格要求所有雙模式裝置都必須要有一個目標週邊清單(Targeted Peripheral List),清單中必須條列該裝置所支援的週邊裝置,內容包含裝置類別、製造廠商與裝置型號。如果某個裝置不在清單之中,則不保證可以搭配使用,也不需要特別支援。
設計考量
OTG規格的目的,在於補充原有的USB核心規格,而非取而代之。個人電腦主機及標準週邊配備完全無須更動。新制訂的OTG功能只是針對具備主控端功能的可攜式裝置,以及預計搭配雙模式裝置使用的週邊配備,其中尤以前者為重。
絕大多數的USB核心規格,均適用於標準USB裝置及OTG裝置。整套USB核心規格長達622頁,相較之下,OTG增訂規格只有74頁,而且其中將近三分之一是技術圖。OTG增訂規格只是提供切換主從角色以及協商通訊階段所需的通訊協定,至於通訊階段開始之後,主控端與週邊裝置的通訊方式,則完全沒有更動。
除此之外,OTG增訂規格還制訂一系列的功能,但OTG相容裝置並不需要將這些功能全數建構。舉例而言,如果一個裝置只擔任週邊角色,則該裝置只需要支援SRP協定,而預設組態的耗電量不超過8mA即可。週邊裝置要添加SRP功能並不費事,只要能執行VBUS脈衝(將一個驅動器透過電阻器連接到VBUS),並將電路邏輯稍微增改,即可建構SRP協定功能。
相較之下,雙模式裝置的設計則難度較高,因為雙模式裝置必須具備下列功能:
- ●有限的主控端功能
- ●當作週邊裝置時,可全速運作(高速模式為選擇性)
- ●當作主控端時,可全速運作(低速及高速模式為選擇性)
- ●目標週邊清單
- ●通訊請求協定(SRP)
- ●主控協商協定(HNP)
- ●只能有單一Mini-AB插槽
- ●VBUS最少要能輸出8mA
- ●要能傳送訊息給使用者
與標準USB週邊配備相較之下,這些功能需要用到類比邏輯(VBUS的驅動與控制功能、VBUS的位準感應邏輯),以及數位邏輯(主控端功能、SRP及HNP協定的支援),還要用到軟體功能(目標週邊清單中各項裝置的驅動程式)以及系統功能(傳送訊息給使用者)。
因此,單純作為週邊的OTG裝置,在設計上只比標準USB週邊裝置稍微困難一點,但是雙模式裝置的設計,則比標準週邊裝置要複雜得多。
由於複雜度高,產品設計的難度與進度自然受到影響,影響的程度主要取決於產品的類型、設計的啟始點(修改現有的設計,或從頭全新設計)、零組件的供貨狀況,以及所採用的設計方法。
要設計這些產品的USB功能,和設計一般的標準USB系統一樣,可以採用下列三種方式之一:
- ●採用完整的解決方案
- ●採用USB微控制器
- ●設計一款自訂式IC
當然,所採用的方案愈完整,USB介面設計起來就愈簡單,而也應考量一般產品設計所需考量的系統彈性、成本、適用性、設計時間、所需人力等要素。預料在未來數年內,OTG雙模式裝置的設計難度與風險將會大幅降低。而諸如獨立式收發器(standalone transceiver)、內建OTG功能的微控制器、IP邏輯區塊(IP block)之類的套裝元件,現在也開始紛紛上市。預計未來將有更多功能強大而完整的套裝元件可供使用。除了上述的選擇之外,OTG裝置在設計上還要注意整體系統的考量(例如:必須要能傳送訊息給使用者)。
最後要注意的一點就是測試工作。為了讓使用者有優質的體驗,OTG裝置一定要測試是否完全符合標準規格,以及運作過程是否毫無瑕疵。產品的驗證方面,一定要仔細評估、測試USB標準規格及OTG增訂規格所定義的各項參數。在進行產品驗證時,可先參考OTG相容性規劃書(OTG Compliance Plan)。
結語
OTG增訂規格在經歷完整的產業審核期之後,已於2001年12月18日發表最後完稿,其開發委員會的代表來自產業各個區間,因此這套規格已享有業界的廣大支援,其中包括:接頭製造商、IP廠商、晶片供應商、軟體公司、以及器材製造商。由於OTG具有業界的廣泛支援及參與,因此相關的套裝元件及裝置已經開始陸續上市,未來還有更多即將推出。
由於OTG規格已經發表,因此目前OTG委員會的工作重點在於相關的教育及推廣。該委員會日前已經贊助了多場產業訓練研討會,地點涵蓋美國、亞洲及歐洲,未來這樣的研討活動還將繼續進行。
除此之外,OTG還有幾個地方需要加強,有些輔助規格也正在開發之中。OTG委員會目前正在擬定OTG相容性規劃書(OTG Compliance Plan),其中制訂了OTG裝置的相容性測試,以確保這些裝置能符合規格要求。USB建構論壇(USB-IF)定期贊助的相容性研討會中,已經出現初步的相容性測試。
高功能、高容量的可攜式裝置,在大規模成長之餘,也為通訊協定領域帶來了新難題,而USB On-The-Go規格的問世,適切解決了這些難題。這套規格已經正式發表,預期將能成為新一代行動運算的推手。
(作者任職於Cypress Semiconductor)