USB是一項隨時準備改變設備的技術(shù),這非常類似于改變個人計算機的外設。2001年,由英特爾公司和微軟公司提出的這項技術(shù),作為IBM PC在20年前推出的一系列接口的替代物,這些接口包括和鍵盤接口、軟盤接口、串口和并行打印接口。當然,進行這么大規(guī)模的是具有很多合理理由的,因為使用那些陳舊的接口具有很多的問題。例如,不記得那又費力又容易產(chǎn)生錯誤的串口手工配置(包括波特率、比特數(shù)、奇偶校驗以及握手等)方法的人們又將如何辦?另外,即便不說該接口的兼容性問題,收發(fā)器所需要的高電壓也是一個問題,最后還有點對點連接屬性這個并非不重要的問題,這種屬性意味著在多種設備(如打印機、調(diào)制解調(diào)器和掃描儀)之間共享接口時,則需要使用大量的以及相互之間的手工轉(zhuǎn)換。
不過,從事嵌入式控制研發(fā)者則把上述這些種種限制看作為可實現(xiàn)更大自由度的手段。通用異步發(fā)射和接收器()是(至今仍是這樣)研發(fā)人員已經(jīng)掌握如何實現(xiàn)簡易串行連接的一個非常簡單的器件。雖然在絕大多數(shù)的微控制器架構(gòu)中都集成了,但卻沒有對專有方案中連續(xù)碼流中所出現(xiàn)的更高級別的協(xié)議進行定義。
相比較,USB串行接口引擎(SIE)的實現(xiàn)則需要采用比其要替代的多得多的邏輯門。USB協(xié)議詳細定義了多個棧層(ISO/OSI),因此需要更復雜的代碼。更糟糕的是,取決于所要代替的具體接口類型,還需要專用的(OS)驅(qū)動器。這就意味著研發(fā)者在能夠開發(fā)更有潛力的總線之前,需要掌握有關(guān)操作系統(tǒng)方面更復雜的知識。
在PC領(lǐng)域非常喜歡USB總線的時候,嵌入式控制領(lǐng)域盡可能地拒絕這一過渡,實際上這也不奇怪。不過,對于嵌入式領(lǐng)域來說,USB總線也有一些固有的優(yōu)點,特別是在對于嵌入式控制研發(fā)者具有極大價值的最新一代閃存微控制器的實現(xiàn)中。
定義USB總線的主要目的之一是允許操作系統(tǒng)(如Windows)能夠通過改進或增加下列機制來更好地管理通信資源:
1. 只要建立連接(即眾所周知的即插即用),就能自動監(jiān)測和配置應用;
2. 同步數(shù)據(jù)傳遞,通過允許OS來管理和規(guī)劃事務、優(yōu)化吞吐率并實現(xiàn)可靠的高速率來改善性能;
3. 通過對應用進行分級、允許代碼共享和復用來標準化接口。
圖1:USB外形圖。
圖2:利用串口連接到帶有USB接口的設備進行升級維護。
不過,從更接近應用的觀點來看,可以獲得以下的關(guān)鍵特性:
1. 低電壓工作;USB總線不需要高于5V標準電壓的高電壓,而數(shù)據(jù)線工作在3.3V的邏輯電壓上。這就使得集成收發(fā)器、省去±12V電源的相關(guān)電路、從而降低總成本以及應用的元器件數(shù)量成為可能;
2. 和的絕對標準化。只有四對定義好的插頭和插座,具有清楚的應用規(guī)則,從而保證了絕對兼容;
3. 采用同樣的和提供電源,降低了電纜的復雜度并進一步地降低了系統(tǒng)成本;
4. 它具有總線架構(gòu),允許多達128臺設備的同時連接。
上面所列功能對于設備生產(chǎn)來說具有很重要的暗示,即影響成本、空間和時間,并能激發(fā)設計師對這一連通性的深層技術(shù)進行深入研究。
舉例說明
請看真正的設備應用。在本例中,設備中已經(jīng)裝備有微控制器,而我們希望通過增加一個通信口,使得安裝人員(或服務人員)能夠?qū)⑵溥B接到個人計算機或其它便攜設備()來提升性能或者獲得以下好處:能夠訪問數(shù)據(jù)記錄日志并報告最近的設備使用歷史紀錄,以實現(xiàn)擔保和故障診斷;配置(微調(diào))工作參數(shù),以便優(yōu)化操作或使設備適應本地的環(huán)境。
可以從成本和性能上將USB與許多傳統(tǒng)的串口進行比較:
1. USB的自動檢測和配置是Windows即插即用技術(shù)的一個組成部分,從而無需進行費力的和易出錯誤的手工設置連接;
2. 全速USB接口的高數(shù)據(jù)吞吐率(12Mbps),能夠允許比最快的串口高幾個數(shù)量級的速度傳輸數(shù)據(jù),從而減少了所需時間;
3. 所需的低電壓和收發(fā)器的集成使得電路比其它串口更簡單,實際上降低了總的元器件數(shù)量和應用成本;
4. 應用上,USB規(guī)范只需識別單一的、標準的連接器,而且是一個體積非常小且具魯棒性的組件,而且成本非常低;
5. 同一連接器可以提供電源(5V)到應用板(在服務過程中應用可以關(guān)斷),從而簡化了設計并進一步降低了成本;
6. 標準的接口數(shù)據(jù)庫(以USB行話來說就是眾所周知的“類”)能夠支持代碼復用,能夠省去成本和客戶的驅(qū)動程序的開發(fā)。
USB和閃存:一個強有力的結(jié)合
現(xiàn)在是我們應該注意微控制器市場有什么的時候了,特別是最新的具有USB接口的閃存微控制器,現(xiàn)在可以充分地欣賞植入USB的各種好處了。實際上,如果將研究限制在對現(xiàn)有技術(shù)進行修補的范圍,即用一個USB代替一個RS-232收發(fā)器--實現(xiàn)起來非常容易,但該方案的成本較高。單機USB接口組件,甚至是最便宜的,則只能在成本上與所替代的收發(fā)器競爭。且仍需使用UART(通常被集成在微控制器中),它將成為整個系統(tǒng)的瓶頸,這將無法實現(xiàn)USB總線所承諾的高性能。
圖3:單芯片USB示意圖。
一個新的微控制器提供的一個較好的方案時使用本地USB接口。將USB接口和收發(fā)器直接與微控制器內(nèi)核集成到一起,可以使應用能夠充分利用總線潛在的各項優(yōu)點(使用全速.0,數(shù)據(jù)率可高達1MB以上)。由于在片上有大量的閃存程序存儲器,微控制器僅利用一個單芯片USB方案就可以管理整個應用,從而使得元器件數(shù)大大減少并降低了實際系統(tǒng)成本。閃存微控制器給設計師還提供了額外的自由度,可以實現(xiàn)維護現(xiàn)場升級、錯誤修復、性能提升,甚至是僅僅通過裝配線的末端的實時編程和配置應用來實現(xiàn)制造優(yōu)化。
黑匣子
并非所有的閃存處理器都是一樣的。下面的關(guān)鍵性能可能帶來極大的差別:自寫能力,持久性和保持力。持久性指的是存儲器能夠使用的擦寫周期數(shù),而保持力則指存儲器保存內(nèi)容的年數(shù)。這些都是閃存技術(shù)的基本魯棒性參數(shù),因此也決定了應用的可靠性。在另一端的自寫能力指的是微控制器在執(zhí)行代碼(從另一端)的同時修改其自身程序存儲器(或者是其一部分)中內(nèi)容的能力。在可用USB的微控制器的情況下,該能力是相當?shù)膶嵱貌榇罅康母鞣N可能性敞開了大門。
圖4:USB快速啟動加載與黑匣子。
例如,相同的USB口可以被用來作為一個升級設備固件的手段,而不再需要利用專用的外部編程設備。一小段通??梢员灰曌鳛橐龑Ъ虞d程序的代碼,就可以利用該功能,而可以作為獨立于應用程序的一個普通的程序塊來開發(fā)。
閃存USB微控制器制造商通常按標準方案以黑匣子的方式來提供引導加載代碼程序,經(jīng)常用于提供完整的圖形用戶接口的小型(獨立于操作系統(tǒng))應用。
圖5:基本的啟動加載GUI的界面實例。
使用引導加載(通過連接一個USB口到PC)使得工作人員可以升級應用代碼或升級應用固件所用的數(shù)據(jù)。這樣的例子包括升級文本信息,包括參數(shù)的用來定義應用的菜單和操作表。同時,還可以從應用中讀取數(shù)據(jù)(從內(nèi)部的數(shù)據(jù)中讀取,或者從閃存程序存儲器中讀取)。該功能為上載記錄信息提供了一種方法--即為絕大部分的基本故障診斷工具所用的并行訪問方法。由于該引導加載的黑匣子方案,上述所有這些都可以實現(xiàn),而無需掌握有關(guān)USB總線的更多知識,或?qū)么a的任何一部分進行重寫。
USB的更先進的應用
之前,設計專家已經(jīng)花費了很多時間,想開發(fā)USB總線更深層的能力,以提供能夠從USB獲取更多好處的能力。事實上,USB總線可以進行各種選擇,來提供各種不同級別的,或者結(jié)合這些選擇來實現(xiàn)更多的功能。
雖然進一步分析嵌入式USB的所有可能性不屬于本文的范疇,但這里還是給出一些建議:
1. 人機接口級方案(HID)——提供簡單的接口,而且不需要操作系統(tǒng)的專用驅(qū)動器,可用于比特率相對較低(大約相當于9,600波特率的串口)的應用;
2. 通信設備級方案(CDC)——為串口競用提供最直接的遷移通道,并提供比傳統(tǒng)串口更高的比特率,但只能在一定的操作系統(tǒng)(如Windows 2K和Windows XP)上才能實現(xiàn);
3. 海量存儲級方案(MSC)——使應用就像作為存儲設備(驅(qū)動)的PC主機一樣,但代價是復雜性的增加;
4. 客戶定制級方案——為程序員提供了最大的靈活度,但代價也是成本增加--需要為需求開發(fā)操作系統(tǒng)專用驅(qū)動程序。
本文小結(jié)
圖6:USB固件堆棧和解決方案分類。
所關(guān)注的是成本和復雜度的增加放慢了USB在設備領(lǐng)域的利用速度。但是,最新的具有本地USB接口的高級閃存微控制器的出現(xiàn),為應用提供了單片解決方案,還有現(xiàn)成的固件方案(如USB閃存引導上載)的易用性,正在為設備設計者提供新的和頗具競爭性的引用USB的理由,即在降低成本的同時為其產(chǎn)品添加新的強有力的功能。