設計具有通用串行總線(USB)通信功能的應用可使系統能夠通過各種USB主機設備進行通信,并通過USB連接提供方便的電源選擇方案。如今的打印機、手機、數碼相機、媒體播放機、外部硬盤驅動器和游戲機都采用USB協議傳輸數據。通過一條數據線同時提供電源和數據通信功能可以給應用帶來方便和靈活性。USB通信可以設計成新系統或者增加到傳統系統中,通過增加固定功能USB通信橋接器或者帶定制USB固件的USB微控制器(MCU)來更新傳統系統。
各種USB開發選擇方案的主要折衷因素在于數據吞吐能力與開發時間以及是否需要USB專門知識來實現。小型USB MCU和固定功能USB通信橋接器可為在設計中增加USB通信功能提供一種極具成本效益的解決方案。USB通信接口包括四個信號:D+、D-、接地信號和VBUS。D+和D-信號為差分數據線路,VBUS信號是由USB主機設備提供的5V線路。VBUS信號用于指示USB端口中的USB數據線是否存在,但是它還能通過供電集線器向系統提供高達500mA的電源或者通過非供電集線器向系統提供100mA的電源。
帶5V至3V片上穩壓器的MCU或固定功能USB通信橋接器可通過穩壓器輸出來給整個應用供電。此規格還支持各種不同尺寸和形狀的USB連接器,包括標準、迷你和微型連接器。各種USB連接器尺寸給開發人員提供了諸多在應用中集成USB通信功能的選擇方案。
此外,此USB規格還支持單個總線連接多達127個設備,并支持各種設備類別,包括人機接口設備(HID)類,這類設備本身就受大多數操作系統支持,并且不需要安裝驅動程序。主機在枚舉過程中確定相連的USB設備的類型。將USB設備插入主機后,USB設備將指示設備類型和要加載的驅動程序的描述符發送給主機。
開發人員可以升級傳統系統以增加USB連接,也可以從頭開始設計包含USB的新系統。USB MCU或固定功能USB橋接器可以同時滿足這兩種方案。表1列出了在系統中增加USB通信功能的四種選擇方案以及對開發人員和終端用戶的要求。
選擇USB通信選擇方案取決于幾個因素,包括開發人員是升級現有系統還是創建新系統。這里我們首先闡述如何設計具有USB功能的新系統。
開發人員在創建新系統時可以靈活選擇增加USB通信功能的最佳方法。他們可以USB MCU或固定功能USB通信橋接器為中心進行系統的設計,然后為適合USB解決方案而對系統的各個方面進行更改。例如,最初的印制電路板(PCB)設計將包含USB設備和USB連接器等所有必需的元器件,電路板設計人員可以根據需要對它們進行重新配置。此外,USB通信與系統的連接方法不受限制,開發人員可從上表中的四個USB通信選擇方案中任意選擇。
要在新系統中增加USB通信功能,固定功能USB通信橋接器可提供最簡單的解決方案來,但是其靈活性最低。它們可作為HID或非HID固定功能USB通信橋接器提供,如USB轉UART虛擬COM端口(VCP)橋接器。使用這些通信橋接器時,由于不需要開發USB固件和驅動程序,因此USB專門知識不是必需的。對于非HID類設備而言,制造商為不受支持的操作系統提供必需的驅動程序。此外,制造商往往還提供動態鏈接庫(DLL),為開發USB主機應用提供幫助。無需開發USB固件、DLL和驅動程序可以縮短應用的面市時間。借助這種技術,USB接口不直接與目標系統連接,而是另一種橋接設備接口比如UART、串行外設接口(SPI)或內置集成電路(I2C),直接與目標應用連接。USB轉UART VCP橋接器(圖1)通過UART接口與目標系統通信。
開發人員采用這種選擇方案為系統增加USB通信功能時必須確保目標系統能夠通過UART接口進行通信,同時考慮橋接設備的吞吐能力,該能力往往受UART通信速度限制。此外,開發人員需向終端用戶提供驅動程序和驅動程序安裝包。終端用戶需安裝驅動程序才能使用該設備。在這個實例中,橋接設備作為USB主機系統的COM端口。需要固定功能USB通信橋接器(無需安裝主機端驅動程序)的開發人員應考慮HID通信橋接器。
由于HID設備類具有靈活性和總吞吐能力,且無需安裝驅動程序,因此這類設備正作為嵌入式系統的常規連接選擇方案而獲得業界認可。由于HID設備類本身受多數操作系統支持,因此無需開發驅動程序。終端用戶直接將其插入設備中即可開始使用,而無需安裝驅動程序。在上述USB轉UART VCP實例中,橋接設備可用HID USB轉UART設備替代(圖2)。
HID橋接器的大多數設計考慮因素都與上述VCP橋接器實例相同,但是HID與VCP USB轉UART橋接器實例在設計上略有不同。通過HID配置,橋接設備的吞吐能力限制為最大HID吞吐能力,即64KBps。此外,此設備不作為USB主機的COM端口,而是作為HID類設備。HID固定功能通信橋接器可為希望在向系統增加USB通信功能時最大程度地縮短總USB開發時間的開發人員提供直接替代方案。如果對于一個應用而言,固定功能USB通信橋接器的吞吐能力或常規功能不夠用,開發人員應考慮增加USB MCU。
USB?MCU可提供USB通信接口的最大靈活性和控制,但需要大量設計工作。開發人員必須構建所有的USB固件,如果創建了非HID類設備,開發人員必須編寫設備驅動程序。這需要一些USB方面的經驗,因為編寫USB固件和設備驅動程序并非小事一樁。由于所有MCU固件都可定制,因此USB MCU可在需要時執行額外的任務。這提供了通信橋接器無法實現的更高靈活性。例如,如果USB MCU具有模數轉換器(ADC),開發人員可增加固件來配置ADC并在需要時進行測量。USB描述符在固件中也是可以完全定制的。USB主機在枚舉過程中通過從設備接收的描述符來確定設備是HID設備還是非HID設備。
使用USB MCU時,USB通信可提供與目標系統的直接連接,系統可以基于USB MCU來構建(圖3)。除了更長的開發時間之外,開發人員還需考慮所需的吞吐能力。HID類設備的吞吐能力限制是64KBps(即512Kbps)。非HID類設備的吞吐能力限制為12Mbps(即12,000Kbps)。與HID設備相比,非HID類設備可以實現更高的吞吐能力,但是也需要開發定制驅動程序,終端用戶則需要安裝驅動程序。這就增加了應用的總開發時間。使用配置HID的USB MCU可以避免開發和安裝驅動程序,但是前提是HID的吞吐能力能夠滿足應用的要求。
創建包含USB MCU的系統可以靈活地更改設計的各個方面,從而根據要求組合最佳的USB解決方案。例如,開發人員在設計通過USB通信向主機發送測量數據的醫療設備時可以更改USB MCU數據傳遞類型,以滿足所需的USB MCU解決方案的吞吐能力限制,或者實現多接口設備,比如帶同步HID接口的設備。設計新的USB應用時,開發人員可對每個USB選擇方案的要求進行分析,然后選擇最適合的方案。
開發人員通過USB通信升級傳統系統時可在為新設計提供的四個方案中任選一個,但是必須選擇適合現有應用的USB解決方案,而不是設計一個適合USB解決方案的應用。此時,開發人員需考慮當前的通信方法、所需的USB數據吞吐能力和可供附加元器件使用的PCB空間。傳統設計擁有成熟的與主機系統的通信方法。如果橋接設備中提供用于與主機通信的接口,那么增加固定功能USB通信橋接器是唯一的選擇方案。在多數應用中,這種接口為UART接口。對于這些應用,可在設計中增加USB轉UART通信橋接芯片。圖4顯示了如何使增加的橋接設備適合傳統設計。
從硬件層面看,現有的PCB需進行重新設計,以使USB設備和USB連接器適合現有的電路板。從軟件層面看,USB轉UART設備的制造商一般會為開發人員提供VCP驅動程序,因此無需開發驅動程序。在這個實例中,橋接設備的吞吐能力限制是UART接口的波特率。只要橋接設備能夠支持應用所需的波特率,吞吐能力就不存在問題。設備將仍作為USB主機的COM端口,這樣傳統主機應用不需要進行修改即可正常工作。傳統設計與升級的設計之間的主要區別在于通過USB提供與主機的接口以及需要終端用戶安裝驅動程序。
如果需要無驅動程序的選擇方案,HID固定功能USB通信橋接器就是一個可能的解決方案。選擇此方案時,其設計考慮因素與VCP固定功能通信橋接器的考慮因素相同,但是此橋接器的吞吐能力限定為64KBps,這是最高HID吞吐能力。在上述傳統設計升級的實例中,開發人員可以使用HID USB轉UART橋接器,但是設備不作為主機系統的COM端口,而是作為HID。這樣,傳統主機應用如不進行修改將無法正常工作。盡管此解決方案無需安裝驅動程序,但是現有的主機應用需進行修改后才能與HID OS 應用程序編程接口(API)通信,而不是與COM端口API通信。固定功能USB通信橋接器是大多數傳統設計升級的理想選擇,因為它們可以為在設計中增加USB通信提供最簡單的解決方案,且無需USB專門知識。
對于需要更高吞吐能力、額外功能或定制USB固件的傳統設計,USB MCU是最佳選擇。新設計方案的許多設計考慮因素都適用于此方案。由于開發人員必須編寫所有的USB固件,因此該選擇方案需要一定的USB專門知識。VCP USB設備還需開發和安裝驅動程序。USB MCU必須具有通過GPIO引腳或系統管理總線(SMBus)或SPI等外設接口與現有傳統應用進行通信的途徑(圖5)。
此外,需通過增加額外元器件對現有PCB進行重新設計。若開發人員所需的吞吐能力比橋接設備所能實現的吞吐能力高或者使用橋接設備無法實現的通信方法,使用USB MCU升級傳統應用是最佳選擇。
選擇在設計中增加固定功能通信橋還是增加USB MCU,取決于目標應用、開發人員的USB經驗和開發時間。使用USB MCU可提供最高的靈活性,但也需要USB專門知識,并且可能需要開發驅動程序。選擇固定功能USB通信橋接器無需任何USB固件,也不需要開發驅動程序,這樣就縮短了總開發時間。這是在系統中增加USB只進行極少的重新設計的最簡單方法。
在系統中增加USB功能可以實現與各種USB主機設備的通信,同時能以一根數據線增加500mA的電源方案,因此可為應用帶來方便和靈活性。小型USB MCU和固定功能USB通信橋接器可為在新設計或傳統系統中增加USB通信功能提供極具成本效益的方案。
來源;電子工程網
評論
查看更多