當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]為嵌入式應(yīng)用增加USB功能的設(shè)計考慮

設(shè)計具有通用串行總線(USB)通信功能的應(yīng)用可使系統(tǒng)能夠通過各種USB主機(jī)設(shè)備進(jìn)行通信,并通過USB連接提供方便的電源選擇方案。如今的打印機(jī)、手機(jī)、數(shù)碼相機(jī)、媒體播放機(jī)、外部硬盤驅(qū)動器和游戲機(jī)都采用USB協(xié)議傳輸數(shù)據(jù)。通過一條數(shù)據(jù)線同時提供電源和數(shù)據(jù)通信功能可以給應(yīng)用帶來方便和靈活性。USB通信可以設(shè)計成新系統(tǒng)或者增加到傳統(tǒng)系統(tǒng)中,通過增加固定功能USB通信橋接器或者帶定制USB固件的USB微控制器(MCU)來更新傳統(tǒng)系統(tǒng)。

  各種USB開發(fā)選擇方案的主要折衷因素在于數(shù)據(jù)吞吐能力與開發(fā)時間以及是否需要USB專門知識來實現(xiàn)。小型USB MCU和固定功能USB通信橋接器可為在設(shè)計中增加USB通信功能提供一種極具成本效益的解決方案。USB通信接口包括四個信號:D+、D-、接地信號和VBUS。D+和D-信號為差分?jǐn)?shù)據(jù)線路,VBUS信號是由USB主機(jī)設(shè)備提供的5V線路。VBUS信號用于指示USB端口中的USB數(shù)據(jù)線是否存在,但是它還能通過供電集線器向系統(tǒng)提供高達(dá)500mA的電源或者通過非供電集線器向系統(tǒng)提供100mA的電源。

  帶5V至3V片上穩(wěn)壓器的MCU或固定功能USB通信橋接器可通過穩(wěn)壓器輸出來給整個應(yīng)用供電。此規(guī)格還支持各種不同尺寸和形狀的USB連接器,包括標(biāo)準(zhǔn)、迷你和微型連接器。各種USB連接器尺寸給開發(fā)人員提供了諸多在應(yīng)用中集成USB通信功能的選擇方案。

  此外,此USB規(guī)格還支持單個總線連接多達(dá)127個設(shè)備,并支持各種設(shè)備類別,包括人機(jī)接口設(shè)備(HID)類,這類設(shè)備本身就受大多數(shù)操作系統(tǒng)支持,并且不需要安裝驅(qū)動程序。主機(jī)在枚舉過程中確定相連的USB設(shè)備的類型。將USB設(shè)備插入主機(jī)后,USB設(shè)備將指示設(shè)備類型和要加載的驅(qū)動程序的描述符發(fā)送給主機(jī)。

  開發(fā)人員可以升級傳統(tǒng)系統(tǒng)以增加USB連接,也可以從頭開始設(shè)計包含USB的新系統(tǒng)。USB MCU或固定功能USB橋接器可以同時滿足這兩種方案。表1列出了在系統(tǒng)中增加USB通信功能的四種選擇方案以及對開發(fā)人員和終端用戶的要求。

 

  

 

  選擇USB通信選擇方案取決于幾個因素,包括開發(fā)人員是升級現(xiàn)有系統(tǒng)還是創(chuàng)建新系統(tǒng)。這里我們首先闡述如何設(shè)計具有USB功能的新系統(tǒng)。

  開發(fā)人員在創(chuàng)建新系統(tǒng)時可以靈活選擇增加USB通信功能的最佳方法。他們可以USB MCU或固定功能USB通信橋接器為中心進(jìn)行系統(tǒng)的設(shè)計,然后為適合USB解決方案而對系統(tǒng)的各個方面進(jìn)行更改。例如,最初的印制電路板(PCB)設(shè)計將包含USB設(shè)備和USB連接器等所有必需的元器件,電路板設(shè)計人員可以根據(jù)需要對它們進(jìn)行重新配置。此外,USB通信與系統(tǒng)的連接方法不受限制,開發(fā)人員可從上表中的四個USB通信選擇方案中任意選擇。

  要在新系統(tǒng)中增加USB通信功能,固定功能USB通信橋接器可提供最簡單的解決方案來,但是其靈活性最低。它們可作為HID或非HID固定功能USB通信橋接器提供,如USB轉(zhuǎn)UART虛擬COM端口(VCP)橋接器。使用這些通信橋接器時,由于不需要開發(fā)USB固件和驅(qū)動程序,因此USB專門知識不是必需的。對于非HID類設(shè)備而言,制造商為不受支持的操作系統(tǒng)提供必需的驅(qū)動程序。此外,制造商往往還提供動態(tài)鏈接庫(DLL),為開發(fā)USB主機(jī)應(yīng)用提供幫助。無需開發(fā)USB固件、DLL和驅(qū)動程序可以縮短應(yīng)用的面市時間。借助這種技術(shù),USB接口不直接與目標(biāo)系統(tǒng)連接,而是另一種橋接設(shè)備接口比如UART、串行外設(shè)接口(SPI)或內(nèi)置集成電路(I2C),直接與目標(biāo)應(yīng)用連接。USB轉(zhuǎn)UART VCP橋接器(圖1)通過UART接口與目標(biāo)系統(tǒng)通信。

 

  

 

  開發(fā)人員采用這種選擇方案為系統(tǒng)增加USB通信功能時必須確保目標(biāo)系統(tǒng)能夠通過UART接口進(jìn)行通信,同時考慮橋接設(shè)備的吞吐能力,該能力往往受UART通信速度限制。此外,開發(fā)人員需向終端用戶提供驅(qū)動程序和驅(qū)動程序安裝包。終端用戶需安裝驅(qū)動程序才能使用該設(shè)備。在這個實例中,橋接設(shè)備作為USB主機(jī)系統(tǒng)的COM端口。需要固定功能USB通信橋接器(無需安裝主機(jī)端驅(qū)動程序)的開發(fā)人員應(yīng)考慮HID通信橋接器。

  由于HID設(shè)備類具有靈活性和總吞吐能力,且無需安裝驅(qū)動程序,因此這類設(shè)備正作為嵌入式系統(tǒng)的常規(guī)連接選擇方案而獲得業(yè)界認(rèn)可。由于HID設(shè)備類本身受多數(shù)操作系統(tǒng)支持,因此無需開發(fā)驅(qū)動程序。終端用戶直接將其插入設(shè)備中即可開始使用,而無需安裝驅(qū)動程序。在上述USB轉(zhuǎn)UART VCP實例中,橋接設(shè)備可用HID USB轉(zhuǎn)UART設(shè)備替代(圖2)。

 

  

 

  HID橋接器的大多數(shù)設(shè)計考慮因素都與上述VCP橋接器實例相同,但是HID與VCP USB轉(zhuǎn)UART橋接器實例在設(shè)計上略有不同。通過HID配置,橋接設(shè)備的吞吐能力限制為最大HID吞吐能力,即64KBps。此外,此設(shè)備不作為USB主機(jī)的COM端口,而是作為HID類設(shè)備。HID固定功能通信橋接器可為希望在向系統(tǒng)增加USB通信功能時最大程度地縮短總USB開發(fā)時間的開發(fā)人員提供直接替代方案。如果對于一個應(yīng)用而言,固定功能USB通信橋接器的吞吐能力或常規(guī)功能不夠用,開發(fā)人員應(yīng)考慮增加USB MCU。

  USB MCU可提供USB通信接口的最大靈活性和控制,但需要大量設(shè)計工作。開發(fā)人員必須構(gòu)建所有的USB固件,如果創(chuàng)建了非HID類設(shè)備,開發(fā)人員必須編寫設(shè)備驅(qū)動程序。這需要一些USB方面的經(jīng)驗,因為編寫USB固件和設(shè)備驅(qū)動程序并非小事一樁。由于所有MCU固件都可定制,因此USB MCU可在需要時執(zhí)行額外的任務(wù)。這提供了通信橋接器無法實現(xiàn)的更高靈活性。例如,如果USB MCU具有模數(shù)轉(zhuǎn)換器(ADC),開發(fā)人員可增加固件來配置ADC并在需要時進(jìn)行測量。USB描述符在固件中也是可以完全定制的。USB主機(jī)在枚舉過程中通過從設(shè)備接收的描述符來確定設(shè)備是HID設(shè)備還是非HID設(shè)備。

  使用USB MCU時,USB通信可提供與目標(biāo)系統(tǒng)的直接連接,系統(tǒng)可以基于USB MCU來構(gòu)建(圖3)。除了更長的開發(fā)時間之外,開發(fā)人員還需考慮所需的吞吐能力。HID類設(shè)備的吞吐能力限制是64KBps(即512Kbps)。非HID類設(shè)備的吞吐能力限制為12Mbps(即12,000Kbps)。與HID設(shè)備相比,非HID類設(shè)備可以實現(xiàn)更高的吞吐能力,但是也需要開發(fā)定制驅(qū)動程序,終端用戶則需要安裝驅(qū)動程序。這就增加了應(yīng)用的總開發(fā)時間。使用配置HID的USB MCU可以避免開發(fā)和安裝驅(qū)動程序,但是前提是HID的吞吐能力能夠滿足應(yīng)用的要求。

 

  

 

  創(chuàng)建包含USB MCU的系統(tǒng)可以靈活地更改設(shè)計的各個方面,從而根據(jù)要求組合最佳的USB解決方案。例如,開發(fā)人員在設(shè)計通過USB通信向主機(jī)發(fā)送測量數(shù)據(jù)的醫(yī)療設(shè)備時可以更改USB MCU數(shù)據(jù)傳遞類型,以滿足所需的USB MCU解決方案的吞吐能力限制,或者實現(xiàn)多接口設(shè)備,比如帶同步HID接口的設(shè)備。設(shè)計新的USB應(yīng)用時,開發(fā)人員可對每個USB選擇方案的要求進(jìn)行分析,然后選擇最適合的方案。我們接下來探討如何通過USB通信升級傳統(tǒng)設(shè)計。

  開發(fā)人員通過 USB 通信升級傳統(tǒng)系統(tǒng)時可在為新設(shè)計提供的四個方案中任選一個,但是必須選擇適合現(xiàn)有應(yīng)用的USB解決方案,而不是設(shè)計一個適合USB解決方案的應(yīng)用。此時,開發(fā)人員需考慮當(dāng)前的通信方法、所需的USB數(shù)據(jù)吞吐能力和可供附加元器件使用的PCB空間。傳統(tǒng)設(shè)計擁有成熟的與主機(jī)系統(tǒng)的通信方法。如果橋接設(shè)備中提供用于與主機(jī)通信的接口,那么增加固定功能USB通信橋接器是唯一的選擇方案。在多數(shù)應(yīng)用中,這種接口為UART接口。對于這些應(yīng)用,可在設(shè)計中增加USB轉(zhuǎn)UART通信橋接芯片。圖4顯示了如何使增加的橋接設(shè)備適合傳統(tǒng)設(shè)計。

 

  

 

  從硬件層面看,現(xiàn)有的PCB需進(jìn)行重新設(shè)計,以使USB設(shè)備和USB連接器適合現(xiàn)有的電路板。從軟件層面看,USB轉(zhuǎn)UART設(shè)備的制造商一般會為開發(fā)人員提供VCP驅(qū)動程序,因此無需開發(fā)驅(qū)動程序。在這個實例中,橋接設(shè)備的吞吐能力限制是UART接口的波特率。只要橋接設(shè)備能夠支持應(yīng)用所需的波特率,吞吐能力就不存在問題。設(shè)備將仍作為USB主機(jī)的COM端口,這樣傳統(tǒng)主機(jī)應(yīng)用不需要進(jìn)行修改即可正常工作。傳統(tǒng)設(shè)計與升級的設(shè)計之間的主要區(qū)別在于通過USB提供與主機(jī)的接口以及需要終端用戶安裝驅(qū)動程序。

  如果需要無驅(qū)動程序的選擇方案,HID固定功能USB通信橋接器就是一個可能的解決方案。選擇此方案時,其設(shè)計考慮因素與VCP固定功能通信橋接器的考慮因素相同,但是此橋接器的吞吐能力限定為64KBps,這是最高HID吞吐能力。在上述傳統(tǒng)設(shè)計升級的實例中,開發(fā)人員可以使用HID USB轉(zhuǎn)UART橋接器,但是設(shè)備不作為主機(jī)系統(tǒng)的COM端口,而是作為HID。這樣,傳統(tǒng)主機(jī)應(yīng)用如不進(jìn)行修改將無法正常工作。盡管此解決方案無需安裝驅(qū)動程序,但是現(xiàn)有的主機(jī)應(yīng)用需進(jìn)行修改后才能與HID OS 應(yīng)用程序編程接口(API)通信,而不是與COM端口API通信。固定功能USB通信橋接器是大多數(shù)傳統(tǒng)設(shè)計升級的理想選擇,因為它們可以為在設(shè)計中增加USB通信提供最簡單的解決方案,且無需USB專門知識。

  對于需要更高吞吐能力、額外功能或定制USB固件的傳統(tǒng)設(shè)計,USB MCU是最佳選擇。新設(shè)計方案的許多設(shè)計考慮因素都適用于此方案。由于開發(fā)人員必須編寫所有的USB固件,因此該選擇方案需要一定的USB專門知識。VCP USB設(shè)備還需開發(fā)和安裝驅(qū)動程序。USB MCU必須具有通過GPIO引腳或系統(tǒng)管理總線(SMBus)或SPI等外設(shè)接口與現(xiàn)有傳統(tǒng)應(yīng)用進(jìn)行通信的途徑(圖5)。

 

  

 

  此外,需通過增加額外元器件對現(xiàn)有PCB進(jìn)行重新設(shè)計。若開發(fā)人員所需的吞吐能力比橋接設(shè)備所能實現(xiàn)的吞吐能力高或者使用橋接設(shè)備無法實現(xiàn)的通信方法,使用USB MCU升級傳統(tǒng)應(yīng)用是最佳選擇。

  選擇在設(shè)計中增加固定功能通信橋還是增加USB MCU,取決于目標(biāo)應(yīng)用、開發(fā)人員的USB經(jīng)驗和開發(fā)時間。使用USB MCU可提供最高的靈活性,但也需要USB專門知識,并且可能需要開發(fā)驅(qū)動程序。選擇固定功能USB通信橋接器無需任何USB固件,也不需要開發(fā)驅(qū)動程序,這樣就縮短了總開發(fā)時間。這是在系統(tǒng)中增加USB只進(jìn)行極少的重新設(shè)計的最簡單方法。

 

  

 

  在系統(tǒng)中增加USB功能可以實現(xiàn)與各種USB主機(jī)設(shè)備的通信,同時能以一根數(shù)據(jù)線增加500mA的電源方案,因此可為應(yīng)用帶來方便和靈活性。小型USB MCU和固定功能USB通信橋接器可為在新設(shè)計或傳統(tǒng)系統(tǒng)中增加USB通信功能提供極具成本效益的方案。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉