在早期,USB接口的出現(xiàn)似乎僅僅是要解決一些簡單外設(shè)諸如鼠標(biāo)、鍵盤之類的設(shè)備與電腦的連接問題,很顯然,這些外設(shè)所產(chǎn)生的數(shù)據(jù)量是極低的,所以,USB規(guī)范所定義的數(shù)據(jù)速率是1.5Mbps,數(shù)據(jù)還是雙向分時傳輸?shù)?,PC主機采用輪詢的方式和各個外設(shè)進行通訊,只有被點到名的外設(shè)才能進入傳輸狀態(tài)。這是USB 1.0的規(guī)格,它成文于 1996年。
提速以后的USB 1.1規(guī)范發(fā)布于 1998年,其數(shù)據(jù)傳輸速率為12Mbps,我在這個時候還在一家從事有線電視監(jiān)控系統(tǒng)和路橋收費系統(tǒng)的香港公司工作。有一次,被我們稱為譚董事的業(yè)務(wù)負責(zé)人帶了幾位客人來公司參觀,參觀的重點是通過電話線傳輸視頻信號,客人能在電腦顯示屏上看到的信號以今天的標(biāo)準(zhǔn)來看那是慘不忍睹的,但是客人卻對此表示滿意,因為他們知道那已經(jīng)是最好的效果了。(這段話中提到的譚董事真的姓譚,也是公司董事,是個業(yè)務(wù)高手,但他的特長并不在電子領(lǐng)域,而是一位財經(jīng)分析師,是證券投資顧問,是我很喜歡的一位公司領(lǐng)導(dǎo)。)
2000年,USB 2.0發(fā)布,數(shù)據(jù)傳輸速率被提升至480Mbps。也就是在這一年的8月28日,我第三次踏上深圳的土地,進入一家芯片分銷商工作。我在這份工作中最先接觸到的應(yīng)用是DVD播放器,然后是數(shù)碼相機和采用USB接口的攝像頭,這應(yīng)該是我最早接觸到的USB外設(shè)了。在這個時期,我們的客戶所生產(chǎn)的相機,30萬像素的就算是好產(chǎn)品了,攝像頭則只有10萬像素,可在屏幕上現(xiàn)出一個小小的圖像框,用今天的標(biāo)準(zhǔn)來看就是不清不楚的,但這已經(jīng)是高技術(shù)了,大家玩得不亦樂乎。這個時期的數(shù)碼相機所拍攝的數(shù)碼相片還不是存儲在像今日的存儲卡所采用的閃存里的,它們直接被存儲在一掉電就會丟失數(shù)據(jù)的存儲器中,所以需要在拍照以后盡快通過USB接口將相片導(dǎo)入電腦里,很顯然,這樣的設(shè)計是有很大風(fēng)險的,但也沒有辦法,行業(yè)的技術(shù)發(fā)展就處于這個狀態(tài)。在我后來支持的一個客戶那里曾經(jīng)聽來一個故事,他們曾經(jīng)生產(chǎn)的一批數(shù)碼相機就有客戶遇到了丟數(shù)據(jù)問題,這個問題導(dǎo)致他們被消費者告上了法庭,法庭認為他們的產(chǎn)品導(dǎo)致客戶丟掉了自己的記憶,因而應(yīng)當(dāng)為消費者的記憶丟失負責(zé)。記憶的價值到底有多大呢?這很顯然是一個無法計量的數(shù)據(jù),因為如此,他們付出了一筆巨大的費用,還不得不將這些產(chǎn)品全部回收,給公司帶來了巨大的損失。
USB是通用串行總線的簡稱,除了完成通訊功能,它還能夠傳輸電源為外設(shè)供電。為此,它采用了4根導(dǎo)線的電纜,還制訂了A型和B型的連接器接口。

這就是最初的接口的外形圖。其中的A型連接器只是出現(xiàn)在PC主機或是集線器一側(cè),B型連接器只出現(xiàn)在外設(shè)一側(cè)。之所以要使用兩種不同的連接器,是為了避免插接錯誤。需要說明的是,主機端的端口被命名為下行端口,因為從它這里流出來的數(shù)據(jù)總是向下進入外設(shè)中,與此相應(yīng)的就是上行端口了,它處于外設(shè)上。通常,一個外設(shè)只會有一個上行端口,但一臺主機則可以有多個下行端口。集線器作為承上啟下的設(shè)備,它必須具有一個上行端口,下行端口則可以有一個或多個。

這是標(biāo)準(zhǔn)的USB電纜的樣貌,它的兩端都有插頭,可分別插入主機和外設(shè)的插座上將兩者連接起來。有一些外設(shè)是自帶電纜的,這時候就只有一端有插頭了,像我們常用的USB鼠標(biāo)就是這樣的。
細心的讀者和使用者應(yīng)該可以看到電纜的插頭上都有USB的標(biāo)識符,這個標(biāo)識符的樣貌是有嚴(yán)格規(guī)定的,它以浮雕的形式呈現(xiàn)在一塊凹陷下去的坑里。這個符號被要求放在插頭的頂部一側(cè),與之相應(yīng)的是擁有USB插座的主機和外設(shè)也要印上此標(biāo)志,在插接時只要將插頭上的這一標(biāo)識符和機器上的標(biāo)識符對上就可以順利地插入了。關(guān)于這一點,我想是規(guī)范制訂者的一片好心,但我發(fā)現(xiàn)我從未利用過這一標(biāo)識,這是因為我不知道,我相信大多數(shù)用戶都是不知道的,否則又怎會有遠高于50%的插錯幾率呢?
要在USB電纜中傳遞數(shù)據(jù)和電源,這兩者的傳輸線自然是應(yīng)該不同的,因為它們的特性并不相同。數(shù)據(jù)的傳輸使用了不歸零反相(NRZI)編碼方法,此編碼方法中已經(jīng)含有時鐘信號,因而利用信號本身就可以提取出時鐘信號實現(xiàn)收發(fā)之間的同步。相應(yīng)的電纜內(nèi)部結(jié)構(gòu)和編碼方法示意如下圖所示:


為了能將盡可能多的外設(shè)納入USB接口中來使用,USB規(guī)范定義了如下圖所示的多達7層的可級聯(lián)星形拓撲結(jié)構(gòu):

依靠這種以集線器為中心的可以級聯(lián)擴展的拓撲,一個USB主機可以連接最多達127個外設(shè)。在規(guī)范中,這種外設(shè)也可被稱為Function。實際上,一臺設(shè)備中是可以有多個Function的,例如你可以把鍵盤和鼠標(biāo)整合在一臺機器中,它們在總線上就表現(xiàn)為兩個Function,當(dāng)主機上分別安裝了這兩種Function的驅(qū)動程序時,作為使用者是不用去區(qū)分它們的。
依我的看法,USB這種既供電又傳數(shù)據(jù),還能支持多外設(shè)同時使用的做法實在是太方便了,這就導(dǎo)致大量的外設(shè)要往這一接口上靠,然后就會出現(xiàn)數(shù)據(jù)傳輸速率不足的問題,這就逼得規(guī)范需要被不斷修改以提升其應(yīng)用的性能,這又會促進更多的應(yīng)用往上面靠,從而形成一個不斷升級的局面。
USB 2.0是在兼容此前USB 1.X 規(guī)范的基礎(chǔ)上于2000年推出的,除了速度的提升,我認為其變化并不大,但其對應(yīng)用的影響是巨大的。在這個時期,其他的技術(shù)也在發(fā)生突飛猛進的發(fā)展,作為一個局外人,我能夠感受到的是硬盤技術(shù)的發(fā)展,高速度、大容量、小體積的硬盤開始出現(xiàn),于是市場上出現(xiàn)了移動硬盤。很顯然,早期的B型接口用在像移動硬盤這樣的小設(shè)備上是不太匹配的,這時候就有了小型USB接口mini-B的出現(xiàn),現(xiàn)在我手里還有的幾個移動硬盤就全是這種接口,甚至去年買的車載攝像頭也還在使用這樣的插座。
按照標(biāo)準(zhǔn)的設(shè)計,如果我想將數(shù)碼相機里存儲的照片放入移動硬盤,我需要將數(shù)碼相機和移動硬盤都與電腦主機連接起來,這樣才能完成相片的轉(zhuǎn)移過程,而在此過程中電腦只是起到了中轉(zhuǎn)的作用,可是這對一個旅行者來說實在是太費事了。怎么辦?這就有了USB On-The-Go的誕生,它被簡稱為OTG。OTG賦予一臺本來的外設(shè)以主機的功能,它就能像主機那樣工作了,其他外設(shè)就可以連上去完成該外設(shè)想完成的事情。而當(dāng)它和一臺主機連接的時候,它仍然是一臺外設(shè)。所有的OTG設(shè)備都是為某些特定目的而設(shè)計的,所以,當(dāng)OTG設(shè)備作為主機的面目出現(xiàn)時,它并不需要像PC那樣擁有可以和各種外設(shè)連接的能力,因而其設(shè)計可以是簡化的,可以和其連接的外設(shè)也很有限,它們可以被列入一份目標(biāo)外設(shè)清單中。
OTG是USB的一個擴展,它總是被設(shè)計為只有一個單獨的USB插座,但使用的是同時兼容Micro-A型插頭和Micro-B型插頭的Micro-AB型插座,這些插頭座也是USB的一項擴展。Micro-AB型插座比其他的插座多了一個ID端,其狀態(tài)可以由插入的插頭決定。當(dāng)插入的插頭是Micro-A型時,意味著該OTG設(shè)備被確定為A型設(shè)備,即它被確定為主機。當(dāng)插入的插頭是Micro-B型時,意味著該OTG設(shè)備被確定為B型設(shè)備,即它被確定為外設(shè)。如果沒有插頭插入,該OTG設(shè)備的預(yù)設(shè)狀態(tài)就是一臺外設(shè)(假如它是自供電的)。假如應(yīng)用中的B設(shè)備需要擁有主機的角色,這時候可以通過軟件協(xié)議使其角色發(fā)生轉(zhuǎn)變,很顯然,這樣的設(shè)計在將兩臺OTG設(shè)備連接在一起的時候是很有用的。
USB的主機是需要為連接進來的外設(shè)供電的,所以,OTG設(shè)備需要進行相對比較復(fù)雜的電源管理工作。立锜有投資成立一家名為立敏(RichNex)的公司,他們就有專門提供支持OTG應(yīng)用的USB接口芯片。與標(biāo)準(zhǔn)的主機不同,用于USB OTG應(yīng)用的接口芯片通常只提供最多100mA的電流輸出,因為關(guān)于OTG的規(guī)范就是這樣定義的。如果要供應(yīng)更大的電流,就需要像我們這樣的專門提供電源管理的公司來提供方案。當(dāng)我寫到這里的時候,回憶起多年前為那些制作移動硬盤的公司提供方案支持的經(jīng)歷,心中仍然是有些波瀾的,因為這樣的方案并不好做,而我并未見過比我所做更好的東西,可是我對好東西的渴望似乎總是存在的。
按照規(guī)范,USB2.0以前的接口能夠提供的最大電流是500mA,而每一臺電腦上居然都有USB接口,所以在USB接口被用于數(shù)據(jù)交換的同時催生了一項應(yīng)用:為移動設(shè)備充電。這一發(fā)展一定是出乎USB規(guī)范制定者的初衷的,否則它們從一開始可能就不會做出那么多的限制了。例如,當(dāng)USB總線處于掛起狀態(tài)時(這時候數(shù)據(jù)線上沒有數(shù)據(jù)進行傳遞,是不活動的),一臺外設(shè)能夠吸取的電流僅僅是2.5mA(平均值)。當(dāng)外設(shè)接入總線但還未完成配置以前(也沒有處于掛起狀態(tài)),一臺外設(shè)可以吸取的電流是100mA。500mA的電流是在外設(shè)完成和主機的連接以后才容許吸取的(當(dāng)然也需要總線沒有掛起)??墒怯捎赨SB在使用上的方便性,大量的移動設(shè)備采用了USB接口并且通過這一接口來完成供電和充電,這就導(dǎo)致了一個新的輔助標(biāo)準(zhǔn)的誕生:USB BC1.2。在這個標(biāo)準(zhǔn)出現(xiàn)以前就已經(jīng)有很多公司利用USB接口來為其產(chǎn)品供電、充電了,而它們的充電器也利用了這一接口,所以,BC1.2中就納入了很多特別的概念,例如DCP(專用充電端口)、SDP(標(biāo)準(zhǔn)下行端口)、CDP(充電下行端口)等等。另外,世上歷來就有一些公司是喜歡自行其事的,他們會按照自己的意愿去確定自己的充電器的設(shè)計。當(dāng)一臺設(shè)備接入這些不同的端口或是不同的充電器時,被容許吸取的電流是不一樣的,這就導(dǎo)致這樣一個問題:設(shè)備的設(shè)計者應(yīng)當(dāng)如何設(shè)計自己的產(chǎn)品呢?他應(yīng)當(dāng)如何確保自己的產(chǎn)品在被插入這些充電端口時能夠知道該吸取多大的電流呢?BC1.2就是為了解決這個問題而生的,它制訂了一些方法去適應(yīng)這些不同的狀況,使得大家有一個共同的標(biāo)準(zhǔn)可以參照,而那些采用了這種標(biāo)準(zhǔn)的器件也可以宣稱自己符合這一標(biāo)準(zhǔn)了。宣稱符合這一標(biāo)準(zhǔn)的器件示例如下圖所示,這款器件的型號是RT9485,是立锜的一款全新的移動電源方案,它已包含移動電源控制部分的全部功能,而且它是全智能化的,其內(nèi)部集成的ARM內(nèi)核容許進行自由的編程設(shè)計,這樣就可以根據(jù)不同的應(yīng)用需求進行重新設(shè)計。作為一個實例,你將很快看到我們是如何讓它支持USB Type-C接口的,有興趣的讀者可在3月份的上海慕尼黑電子展上看到實物,那將是它的處女秀。

對于一個有經(jīng)驗的工程師來說,他/她在考慮一項設(shè)計的合理性的時候是需要在產(chǎn)品的全壽命周期內(nèi)進行思考的。在這方面,我曾經(jīng)有過一次很深刻的教訓(xùn)。那是在鋰離子電池開始普遍應(yīng)用的早期,專門用于鋰離子電池充電管理的IC還是稀有產(chǎn)品,我不得不將多顆IC組成一個系統(tǒng)方案為我們的客戶服務(wù)。在某一次設(shè)計的方案中,我忽略了電池沒電以后的系統(tǒng)狀態(tài),結(jié)果造成系統(tǒng)無法被充電,因為這時候的充電通道無法被啟動,這個問題逼得我建議客戶加入一個由二極管加電阻構(gòu)成的啟動電路才把問題解決。由于這項產(chǎn)品已經(jīng)進入生產(chǎn)階段,對客戶的影響無疑是巨大的,好在這家客戶的老板是我初入行時就認識的,我們之間早已建立了很深的友誼,他在遇到難以解決的問題時都會找我提供建議和方案,我們也能夠相互理解對方的困難,難題就這樣被輕易地解決了,但這對我無疑是有影響的。
像我這樣所遇到的問題,在BC 1.2中也被納入了考慮范疇。當(dāng)電池沒電或是電量不足的時候,一個系統(tǒng)在受限的供電條件下很可能是無法啟動的,它必須被充電至一定的程度以后才能進入正常的狀態(tài),這個時候,BC 1.2就提供了一種機制,它容許你在充入一定的電量以后再按常規(guī)來對你進行考核,從而拓寬了標(biāo)準(zhǔn)的覆蓋范圍。
USB的供電能力限制還曾經(jīng)創(chuàng)造過一個巨大的市場,那就是為Nokia的手機充電的應(yīng)用。這個事件的起因是Nokia的手機都依靠充電器的限流能力結(jié)合其內(nèi)部采用的開關(guān)用脈沖電流為電池充電,它要求其充電器的供電電壓在空載時高于5V,在限流時電壓可以低到內(nèi)部電池電壓甚至是0V。當(dāng)采用USB端口為之充電的時候,為了符合USB規(guī)范,就需要采用輸入電流能夠得到限制、輸出電壓也需要得到限制的轉(zhuǎn)換器,可惜那時候沒有好用的器件,我不得不采用一些特殊的設(shè)計來完成此功能,甚至為了滿足客戶的需要而將兩顆IC封裝在一起形成一個具有特定功能的器件。后來,為了實現(xiàn)低成本,不得不開始新IC的規(guī)劃,但可惜我們的報價沒有被客戶接受,讓另外一家供應(yīng)商得到了機會。在后來的日子里,這家客戶用40%的資源投入這項產(chǎn)品的生產(chǎn)中,而獲得的利潤卻是全公司利潤的70%,之所以有這么大的收獲,是因為Nokia的所有這類產(chǎn)品都是由這家公司生產(chǎn)的。
就在進行這項應(yīng)用開發(fā)的時候,Micro-USB接口開始進入市場,這就是我們今天看到的大部分智能手機上的接口的樣子。但是,用過這類接口的人如果再用上蘋果的iPhone,那就知道iPhone所使用的接口會讓人感覺更好,而USB的規(guī)格也將慢慢地走上一條類似的軌道,這就是Type-C時代的來臨。今天的你我,就正站在Type-C時代的入口上。
-
usb
+關(guān)注
關(guān)注
60文章
8372瀏覽量
281736 -
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
2076瀏覽量
67174
發(fā)布評論請先 登錄
開腦洞,Modbus為什么叫Modbus?
聊聊倒裝芯片凸點(Bump)制作的發(fā)展史
半導(dǎo)體材料發(fā)展史:從硅基到超寬禁帶半導(dǎo)體的跨越
關(guān)于USB連接器的發(fā)展歷程分析
示波器的發(fā)展史和關(guān)鍵指標(biāo)
中軟國際談DeepSeek大模型帶來的影響
監(jiān)控攝像頭的發(fā)展史

關(guān)于USB發(fā)展史所遭遇的阻礙
評論