隨著串行端口從臺(tái)式機(jī)和筆記本電腦中消失,通用串行總線 (USB) 現(xiàn)在是各種需要連接到 PC 的外圍設(shè)備的通用接口,無論是作為開發(fā)平臺(tái)還是商業(yè)產(chǎn)品。在這個(gè)由兩部分組成的系列的第一部分中,我們快速回顧了 USB 接口標(biāo)準(zhǔn)及其在嵌入式系統(tǒng)中不斷發(fā)展的作用。在這篇結(jié)論性文章中,我們將仔細(xì)研究在集成和獨(dú)立 USB 解決方案之間進(jìn)行選擇,并研究 MCU 制造商在其 USB 連接中添加的一些創(chuàng)新功能,以幫助您的產(chǎn)品在具有挑戰(zhàn)性的應(yīng)用中競爭。我們將總結(jié)一些設(shè)計(jì)技術(shù),您可以使用這些技術(shù)使 USB 連接更符合嵌入式設(shè)計(jì)的要求。
決定何時(shí)整合
正如我們在第一部分中簡要討論的那樣,有幾個(gè)因素會(huì)影響最好是使用具有片上 USB 功能的 MCU 實(shí)現(xiàn) USB 連接還是使用單獨(dú)的 USB 控制器。在許多需要簡單 USB 連接的情況下,Atmel 的ATmega8U、Microchip Technology 的8 位PIC18F13K50或Silicon Labs 的 C8051F系列(圖 1)等集成解決方案幾乎是不費(fèi)吹灰之力。

圖 1:具有集成 USB 收發(fā)器的簡單 8 位 MCU,例如 Silicon Labs 的 C8051 系列,是實(shí)現(xiàn)許多嵌入式設(shè)計(jì)的便捷且經(jīng)濟(jì)高效的方式。(由 Silicon Labs 提供。)
在需要支持特定 USB 協(xié)議類(例如 UART-to-USB 或 USB-to-SPI)的應(yīng)用中,選擇變得更加細(xì)致入微。例如,如果項(xiàng)目涉及使用 RS-232 接口更新現(xiàn)有產(chǎn)品以支持 USB,則使用單獨(dú)的 USB-UART 橋接器,例如 Microchips 的MCP2200 Silicon Labs 的CP2104或Texas Instruments 的 TUSB3410提供更短的開發(fā)周期和更少的制造供應(yīng)鏈中斷。如果原始設(shè)計(jì)基于速度較慢、功能較弱的 MCU,獨(dú)立控制器也可能特別有用,MCU 可能沒有額外的處理能力(或存儲(chǔ)空間)來支持協(xié)議/格式轉(zhuǎn)換所涉及的附加任務(wù)。
應(yīng)用優(yōu)化的 USB 芯片有助于微調(diào)您的設(shè)計(jì)
曾幾何時(shí),設(shè)計(jì)具有一個(gè)或多個(gè) USB 端口的嵌入式系統(tǒng)非常簡單,因?yàn)榇蠖鄶?shù)設(shè)備(及其各自的驅(qū)動(dòng)程序軟件)都非常相似,因此設(shè)計(jì)人員除了遵循參考設(shè)計(jì)外幾乎無能為力。不再。許多現(xiàn)代 MCU 上的 USB 連接背后的芯片已經(jīng)發(fā)展并適應(yīng)了復(fù)雜的嵌入式系統(tǒng)環(huán)境的需求。MCU 制造商現(xiàn)在提供各種支持 USB 的產(chǎn)品,這些產(chǎn)品具有各種級(jí)別的硬件加速,以滿足各種應(yīng)用的價(jià)格和性能目標(biāo)。
也許最大的創(chuàng)新領(lǐng)域是 MCU 如何執(zhí)行與 USB 協(xié)議相關(guān)的請(qǐng)求、確認(rèn)、錯(cuò)誤檢查和其他功能。在不經(jīng)常使用 MCU 的 USB 接口或傳輸小塊數(shù)據(jù)的應(yīng)用中,使用軟件執(zhí)行協(xié)議的例行信令和握手、數(shù)據(jù)包檢查和錯(cuò)誤檢測任務(wù)可能沒問題。但是,如果您的應(yīng)用程序需要頻繁和/或大量 USB 事務(wù),它們可能會(huì)對(duì) MCU 有限的處理資源造成過重的負(fù)擔(dān)。
直到最近,唯一的解決方案是使用獨(dú)立的 USB 外圍控制器,例如 Cypress Semiconductor 的CY7C63801或 Microchip 的USB3300-EZK. 現(xiàn)在,一些制造商提供具有集成 USB 控制器內(nèi)核和其他功能的 MCU,可以處理幾乎所有與 USB 相關(guān)的任務(wù)。
例如,愛特梅爾的AVR XMEGA系列 8/16 位 MCU 具有全速 USB 控制器內(nèi)核,除了卸載常規(guī)協(xié)議功能外,還使用乒乓緩沖器來減少或消除重新發(fā)送丟包 (NACK) 的需要,從而提高效率轉(zhuǎn)移。這種組合允許接口以或接近 USB 全速率規(guī)范支持的最大 11 Mbps 運(yùn)行(有效數(shù)據(jù)速率高達(dá) 8.72 Mbits/s),同時(shí)僅消耗 CPU 處理能力的 7%。許多 Atmel MCU 還支持專有的多數(shù)據(jù)包傳輸模式,該模式使用硬件邏輯通過將大多數(shù)大容量存儲(chǔ)設(shè)備使用的 512 字節(jié)數(shù)據(jù)塊分解為塊傳輸協(xié)議支持的 64 字節(jié)數(shù)據(jù)包來提高 USB 塊傳輸?shù)男省?/p>
在硅食物鏈的更上游,Energy Micro在其基于EFM32 32 位 Cortex-M3 的 Gecko MCU 系列的許多變體上的 USB 端口中構(gòu)建了多項(xiàng)性能增強(qiáng)功能。大多數(shù)外圍功能的活動(dòng),包括串行通信和 USB 端口,由單獨(dú)的低功耗反射總線協(xié)調(diào)(圖 2)。除了防止數(shù)據(jù)傳輸占用任何主系統(tǒng)總線的帶寬外,來自一個(gè)外設(shè)的事件和信號(hào)還可用作輸入信號(hào)或其他外設(shè)的觸發(fā)器,從而確保時(shí)序關(guān)鍵操作并減少軟件開銷。此外,內(nèi)置的 3.3 V 穩(wěn)壓器還允許用戶使用 USB 鏈路提供的電源運(yùn)行 MCU。

圖 2:Energy Micro 的 EFM32 MCU 架構(gòu)包括外設(shè)反射系統(tǒng),這是一種獨(dú)立的外設(shè)總線,允許智能外設(shè)(包括 USB 端口)在幾乎沒有 CPU 干預(yù)或影響主處理器總線的情況下執(zhí)行數(shù)據(jù)傳輸。(由能源微公司提供。)
MCU 制造商還提供了 USB 技術(shù)的改進(jìn),這對(duì)嵌入式和更傳統(tǒng)的應(yīng)用都有好處。例如,現(xiàn)在有幾個(gè) MCU 提供片上計(jì)時(shí)電路,從而消除了與傳統(tǒng)上用于 USB 接口計(jì)時(shí)時(shí)鐘的參考晶體(及其相關(guān)無源元件)相關(guān)的成本和 PCB 空間。直到最近,為了保持 USB 收發(fā)器每 1 毫秒 (±0.0005 毫秒) 執(zhí)行的幀起始信號(hào)交換所需的 0.05% 精度,還需要一個(gè)基于晶體的定時(shí)源。Silicon Labs 推出了C8051F38x、C8051T62x和C8051T32x其 C8051 系列 8 位 MCU 包括一個(gè)片上時(shí)鐘調(diào)諧電路,該電路從傳入的 USB 數(shù)據(jù)包中恢復(fù)其時(shí)序信息。該功能還于 2012 年初在其“Precision 32” SiM3U1xx系列中引入,這是業(yè)界首創(chuàng)的 32 位處理器。
Atmel 的 XMEGA 系列 8/16 位 MCU 還提供無晶體操作,Microchip 將在其PIC16系列中引入許多新的微控制器(例如最近宣布的“未來產(chǎn)品”8 位 PIC16F1459)內(nèi)部振蕩器或自時(shí)鐘調(diào)諧電路,可從傳入的 USB 數(shù)據(jù)包中恢復(fù)其時(shí)序信息。
權(quán)力很重要
在嵌入式系統(tǒng)中,USB 收發(fā)器的功耗可能占總功耗預(yù)算的很大一部分,因此了解控制它的因素非常重要。盡管圖 3 中的公式最初是為 Microchip 的 USB PIC 微控制器的數(shù)據(jù)表使用而開發(fā)的,但它們?yōu)橛?jì)算 MCU 的嵌入式 USB 收發(fā)器使用的電流提供了有用的方法。從整個(gè)方程中 PZERO(邏輯“0”的百分比)和 PIN(輸入流量的百分比)項(xiàng)之間的關(guān)系,很快就可以看出,功耗取決于應(yīng)用,因?yàn)樗鼤?huì)根據(jù)傳輸?shù)臄?shù)據(jù)。

圖 3:USB 收發(fā)器消耗的功率可以使用一個(gè)相對(duì)簡單的公式來計(jì)算,該公式描述了收發(fā)器的特性、它正在發(fā)送和接收的數(shù)據(jù)以及它所連接的電纜的長度。(由 Microchip Technologies 提供。)
在這些示例中要注意的另一個(gè)有趣的事情是,IN 流量的百分比為零會(huì)影響從總線汲取的電流量。許多設(shè)計(jì)人員使用邏輯“0”作為數(shù)據(jù)變量的默認(rèn)值,但需要注意的是,與使用“1”相比,這實(shí)際上可能會(huì)略微增加系統(tǒng)電流。另請(qǐng)注意,這只是對(duì) IN 流量的考慮,即從 USB 外設(shè)到 USB 主機(jī)的流量。
許多類別的 USB 外設(shè)現(xiàn)在使用 USB 作為實(shí)際電源,用于需要 100 mA 或更少電流的應(yīng)用。對(duì)于需要小于 500 mA 的應(yīng)用,決定變得有點(diǎn)困難,因?yàn)樽?a target="_blank">供電集線器不太常見,而且許多設(shè)計(jì)人員仍然選擇使用單獨(dú)的總線電源。
對(duì)于需要超過 500 mA 的應(yīng)用,USB 規(guī)范包括一項(xiàng)電池充電規(guī)定,允許從系統(tǒng)中汲取高達(dá) 1.5A 的電流。不幸的是,由于支持電池充電規(guī)范的主機(jī)系統(tǒng)相對(duì)較少,外圍設(shè)備制造商不愿生產(chǎn)可以利用它的設(shè)備。您將在某些基于 USB 的手機(jī)或平板電腦充電器中看到此電池充電規(guī)范。電池充電規(guī)范包括一種廉價(jià)(盡管效率低下)的方式來實(shí)現(xiàn)充電器電路,只需通過電阻器(《 200 Ω)短接 USB 連接的 D+ 和 D- 引線,您將在最便宜的基于 USB 的手機(jī)中遇到這種技術(shù)/平板電腦充電器。
從信號(hào)的角度來看,為主機(jī)實(shí)現(xiàn)電池充電規(guī)范 v1.2 相當(dāng)簡單。所需要的只是一個(gè)介于 0.5 和 0.7V 之間的電壓源,該電壓源可以在該范圍內(nèi)提供 250μA 電流,但不會(huì)將 1.5k 上拉電阻拉至低于 2.2V 的 3.0V(圖 4)。此電壓源應(yīng)連接到 D- 并在設(shè)備分離時(shí)啟用,并在設(shè)備連接時(shí)禁用。圖 4 是一個(gè)簡單的原理圖,它將通過一個(gè)運(yùn)算放大器、一個(gè)二極管、兩個(gè)電阻器和一個(gè)控制線來實(shí)現(xiàn)。

圖 4:允許 USB 主機(jī)使用其可選的高功率電池充電模式的簡單電路。(由 Microchip Technologies 提供。)
在外設(shè)上實(shí)現(xiàn) BCv1.2 規(guī)范要復(fù)雜一些。它需要兩個(gè)這樣的電壓源電路、兩個(gè)恒定電流吸收器,以及在 USB 外設(shè)上的更多代碼實(shí)現(xiàn),但它仍然在普通嵌入式設(shè)計(jì)人員的掌握范圍內(nèi)。
然而,制造商不愿投資于支持其主機(jī)系統(tǒng)中的大功率充電選項(xiàng)所需的額外單位成本,這導(dǎo)致了行業(yè)內(nèi)的“雞與蛋僵局”。幸運(yùn)的是,如果 PC 制造商和其他 USB 主機(jī)設(shè)備制造商決定提供能夠支持平板電腦和其他與資源緊密集成的移動(dòng)外圍設(shè)備更高功率要求的桌面產(chǎn)品,這種情況可能會(huì)在未來幾年內(nèi)改變他們的主機(jī)系統(tǒng)。
USB 功能通過支持與各種 USB 設(shè)備的通信以及添加可在單根電纜中提供高達(dá) 500 mA 電流的電源選項(xiàng),為系統(tǒng)增加了便利性和靈活性。正如我們所指出的,通過添加集成 MCU 或獨(dú)立 USB 解決方案,可以將 USB 通信設(shè)計(jì)到嵌入式系統(tǒng)中。將 USB 集成到嵌入式設(shè)計(jì)中的主要考慮因素包括 USB 事務(wù)的大小和頻率、USB 收發(fā)器的功耗以及是否涉及 USB 電池充電規(guī)范 (v1.2)。我們提供并討論了集成 USB MCU 和獨(dú)立控制器的示例。
 電子發(fā)燒友App
                        電子發(fā)燒友App
                     
                 
                 
           
        
 
        


 
            
             
             
                 
             工商網(wǎng)監(jiān)
工商網(wǎng)監(jiān)
        
評(píng)論