雖然 USB 來自 PC 世界,但它不僅僅是一種 PC 現(xiàn)象。手機(jī)、相機(jī)、錄音機(jī)、播放器、顯示設(shè)備、調(diào)諧器等都使用 USB 連接,無論是作為外圍設(shè)備,還是作為主機(jī)。甚至相框也有 USB 端口。
此外,USB 不僅適用于普通消費(fèi)者。商業(yè)、工業(yè)、汽車甚至軍事系統(tǒng)都利用 USB 的靈活性、小尺寸、高數(shù)據(jù)速率和易用性,特別是在商業(yè)現(xiàn)貨 (COTS) 系統(tǒng)中。
作為嵌入式系統(tǒng)設(shè)計人員,我們看到這種無處不在的技術(shù)悄悄進(jìn)入了我們自己的世界。以現(xiàn)代數(shù)據(jù)記錄儀、示波器、邏輯分析儀、波形記錄儀、儀表、頻譜分析儀、診斷設(shè)備等為例。特別是在嵌入式系統(tǒng)開發(fā)方面,USB 連接允許直接通過我們的編譯器和調(diào)試器重新刷新、仿真??和訪問 JTAG。有沒有人記得過去的大型、精致和侵入式在線仿真器 (ICE)?
本文介紹了嵌入式系統(tǒng)設(shè)計人員可用于添加 USB 功能的選項。它在決定如何以及在什么級別實現(xiàn) USB 時檢查架構(gòu)方法和關(guān)鍵因素。
做你最
擅長的事情 許多公司擁有使他們與眾不同的核心競爭力——獨(dú)特的算法、專利解決方案或?qū)S屑軜?gòu)。他們的工程師是各自領(lǐng)域的專家,盡管他們可能沒有時間或帶寬成為每個標(biāo)準(zhǔn)的專家,尤其是當(dāng)這些標(biāo)準(zhǔn)不斷更新、更改和被更高版本取代時。
USB 也可能出現(xiàn)這種情況。規(guī)范冗長而復(fù)雜,了解所有細(xì)節(jié)是一項全職工作。這就是以更高級別形式封裝的專業(yè)知識發(fā)揮作用的地方。
設(shè)備制造商通常是標(biāo)準(zhǔn)規(guī)范中的內(nèi)容和未來內(nèi)容的專家。他們是標(biāo)準(zhǔn)委員會的成員,并且經(jīng)常指導(dǎo)標(biāo)準(zhǔn)。他們負(fù)責(zé)確保他們的零件符合標(biāo)準(zhǔn),這樣您就不必?fù)?dān)心每一個小細(xì)節(jié)。
是的,打包的解決方案可能會花費(fèi)更多,但它們可以讓您的設(shè)計更快地進(jìn)入市場。此外,隨著標(biāo)準(zhǔn)的更新,零件也會更新。芯片制造商有責(zé)任保持最新狀態(tài),他們和您的生存都處于危險之中。
話雖如此,在嵌入式設(shè)計中支持 USB 有兩種主要方法。一種方法是使用專用 USB 芯片來處理所有 USB 交互,并充當(dāng)嵌入式微控制器的透明數(shù)據(jù)端口。另一種方法涉及在嵌入式微控制器和固件中實現(xiàn) USB 協(xié)議。我們將探討這兩種選擇。
最簡單的方法
并非每個嵌入式系統(tǒng)設(shè)計都以驚人的速度運(yùn)行并使用數(shù)百萬個晶體管處理器。事實上,8 位處理器的銷量仍然比所有 16 位和 32 位處理器的總和還要多。廚房用具等簡單應(yīng)用具有相對簡單的顯示和執(zhí)行相對簡單的功能。除非您正在設(shè)計基于 AI 的“Talky Toaster”,否則 8 位處理器的馬力綽綽有余。
雖然 USB 連接對于烤面包機(jī)來說似乎很愚蠢,但有 8 位應(yīng)用程序需要 PC 連接,而且由于過去的 COM 端口已讓位于 USB,因此需要 USB 鏈接。幸運(yùn)的是,COM 端口并沒有在微控制器的世界中消失。事實上,盡管 I2C、SPI 和 CAN 很受歡迎,但典型的微控制器現(xiàn)在比以往任何時候都擁有更多的 UART 式 COM 端口。
您需要重新設(shè)計(并可能重新認(rèn)證)新的 PC 板,以將 USB 功能添加到使用基于標(biāo)準(zhǔn) UART 的 COM 端口的傳統(tǒng)設(shè)計中——也就是說,如果它不是基于 DB9 的USB系列Future Technology Devices International (FTDI)的轉(zhuǎn)換模塊(見圖 1)。這些 USB 轉(zhuǎn) RS-232 轉(zhuǎn)換設(shè)備可作為公頭或母頭(DTE 或 DCE)接口使用,用 USB MINI-B 插座代替連接器的 DB 引腳側(cè)。
完整的 USB 到 RS-232 轉(zhuǎn)換發(fā)生在 DB9 型 RS-232 連接器內(nèi)。
由于它們在 PCB 端模擬標(biāo)準(zhǔn) DB9 連接器,因此 FTDI 芯片直接插入,無需重新設(shè)計 PCB。此外,它們模擬 COM 端口,因此需要 FTDI 免費(fèi)驅(qū)動程序以允許軟件通過 USB 使用標(biāo)準(zhǔn) COM 端口調(diào)用或允許應(yīng)用程序軟件通過 API 連接。
使用這種方法需要牢記幾件事。RS-232 電平可以通過低成本電纜傳輸數(shù)百英尺;USB不能。如果設(shè)備需要遠(yuǎn)離驅(qū)動主機(jī),那么轉(zhuǎn)換板或電纜將是更好的選擇,因為它允許更長距離的 RS-232 信號完成繁重的工作。請注意,RS-232 電纜可能不允許目標(biāo)板通過 USB 供電,就好像它是純 USB 鏈路一樣。
這種方法非常適合保持舊設(shè)計的活力,但它可能不是新設(shè)計的首選技術(shù)。首先,DB9 連接器比 USB 連接器大得多,可能會施加太多的尺寸限制。其次,如前所述,RS-232 信號電平不是邏輯電平。相反,RS-232 使用非歸零 (NRZ) 信號,該信號可高達(dá) +15 伏至 –15 伏。這將破壞標(biāo)準(zhǔn)邏輯芯片,因此需要一個電平轉(zhuǎn)換器來安全地連接到目標(biāo)微控制器。
為了消除新板上的電平轉(zhuǎn)換器,存在多個 USB 到 UART 轉(zhuǎn)換器。Exar Corporation提供了一個不錯的緊湊型解決方案,其小型 16 針 QFN XR21V1410IL16-F USB-to-UART 芯片。這些精選部件支持 USB 2.0 的 12 Mbit/sec 高速速率,并針對半雙工和 RS-485 類型的多點應(yīng)用。Exar 的UART 產(chǎn)品概述中討論了該部分功能的詳細(xì)信息。該公司還提供具有更多渠道的更大零件。
Microchip Technology通過其特色 MCP2200-I/SS提供 USB 到 UART 功能。兩針部件還支持 12 Mbit/sec 數(shù)據(jù)速率,并為 Windows? 應(yīng)用程序使用標(biāo)準(zhǔn)虛擬 Com 端口驅(qū)動程序。這些總線或自供電部件支持高達(dá) 1 Mbit/sec 的 UART 數(shù)據(jù)速率,并且可以使用硬件流控制。片上 256 字節(jié)的 EEPROM 允許存儲配置數(shù)據(jù)。這些部件在 5 和 3.3 伏電壓下工作。
Silicon Labs 提供了一個精心設(shè)計的解決方案,其部件包括CP2110-F01-GM USB 到 UART 橋接器。這些器件支持 12 Mbit/sec 數(shù)據(jù)速率、硬件流控制、通用 I/O 和片上穩(wěn)壓器,還具有 343 字節(jié)的一次性可編程 (OTP) 存儲器塊。這對于用于自動軟件版本跟蹤的序列號、唯一地址和部件號修訂信息很有用。培訓(xùn)模塊描述了如何使用這些部件進(jìn)行設(shè)計以及特性和優(yōu)點。
FTDI 提供流行的 USB 轉(zhuǎn) UART 轉(zhuǎn)換器系列,其部件具有多達(dá)四個 UART。例如,64 引腳 QFN FT4232HQ-REEL包含四個獨(dú)立的 UART,并實現(xiàn)了 USB 2.0 可以支持的 480 Mbits/sec 的完整數(shù)據(jù)速率。多功能 UART 不僅可以作為 UART 運(yùn)行,還可以模擬 JTAG、SPI、I2C 和其他 bit-banged 串行協(xié)議。自動傳輸功能支持半雙工式 485 仿真。
在設(shè)計復(fù)雜的基于 USB 的項目時,有幾個因素使其成為需要考慮的部分。首先是可實現(xiàn)的數(shù)據(jù)速率。大多數(shù)設(shè)計都能在 USB 2.0 的 12 Mbit/sec 高速模式下充分發(fā)揮作用,在這種模式下實現(xiàn)完整的 480 Mbit/sec 鏈接將是多余的。然而,高帶寬儀器、高端視頻、多媒體和醫(yī)療設(shè)備等高端應(yīng)用可能需要更高的數(shù)據(jù)速率。
此外,在設(shè)備端擁有多個 UART 和串行端口的能力為對設(shè)計元素進(jìn)行非侵入式控制打開了大門。例如,當(dāng)一個高端微控制器在進(jìn)行實時和密集的應(yīng)用程序時,可以在不中斷主機(jī)的情況下操作板上的其他芯片。這包括用于自校準(zhǔn)和自動校準(zhǔn)的模擬控制和偏置元件、NVRAM 中的參數(shù)更新、更新控制和 LED 狀態(tài)的數(shù)字 I/O 狀態(tài)以及按鈕的獨(dú)立監(jiān)控。
USB 到 UART 轉(zhuǎn)換器芯片的功能非常特殊,因此有幾個設(shè)計和評估模塊可用于快速輕松地測試它們以進(jìn)行原型設(shè)計。一個例子是 DLP Design Inc. 系列的USB 評估模塊基于 FTDI 部分和 FPGA 實現(xiàn)。
它在那里
高端微控制器具有內(nèi)置的 USB 硬件。與任何其他片上外圍設(shè)備一樣,I/O 引腳專用于 USB 差分?jǐn)?shù)據(jù)線,特殊寄存器用于啟用和控制這些功能。
與所有外圍設(shè)備一樣,供應(yīng)商之間甚至零件之間存在不同級別的性能和功能。高端產(chǎn)品包括STMicroelectronics 的基于 ARM11? 處理器的 Cartesio? STA2064N,具有嵌入式 GPS 的高性能 533 MHz“信息娛樂應(yīng)用處理器”。片上低功耗 ARM11?、TFT 控制器、GPS、USB、USB OTG、藍(lán)牙和音頻的組合使其成為考慮在小型低功耗器件中實現(xiàn)高端功能的部件(參見圖 2)。
圖 2:Cartesio 設(shè)備是基于 ARM11? 處理器的高端引擎,具有許多先進(jìn)的高速數(shù)據(jù)密集型外圍設(shè)備,例如全速 USB 2.0、TFT 控制、GPS、流音頻、藍(lán)牙等。(由意法半導(dǎo)體提供)
Fujitsu Semiconductor America MB86R01PB -GSE1是一款高性能 ARM9?,具有 TFT 控制、USB、HDD 和 LAN 功能等等。片上動態(tài)可切換主機(jī)端和外設(shè)端 USB 2.0 高速 (HS) 和全速 (FS) 接口使該部件能夠?qū)崿F(xiàn) USB 連接鏈路的全速。它還具有完整的通信和視頻捕獲能力、A/D 以及帶有內(nèi)置 2D 和 3D 渲染引擎的圖形顯示控制器。每個總線組中的總線架構(gòu)和外設(shè)選擇都很有趣(參見圖 3)。
圖 3:MB86R01PB 還可以處理全速 USB 2.0 數(shù)據(jù)速率,是資源和高性能外圍設(shè)備的多功能集合,包括 2D 和 3D 圖形渲染引擎(由 Fujitsu Semiconductor America 提供)。
Cortina Systems、Texas Instruments和Micrel Inc. 等也提供類似的高性能部件。
通用與特定應(yīng)用
很難區(qū)分什么是特定應(yīng)用和什么是通用。我們是那些利用我們的資源并使用它們來實現(xiàn)我們的目標(biāo)的人。某人對“特定于應(yīng)用程序”一詞的任意分配可能不適用,因為完全不同的應(yīng)用程序可能需要相同的資源和功能。如果庫存零件完全適合您的設(shè)計,這是否使其成為特定應(yīng)用程序?
許多復(fù)雜的庫存處理器可用于您的設(shè)計。以恩智浦半導(dǎo)體為例 LPC11U24FHI33/301。這款基于 50 MHz ARM? Cortex?-M0 的處理器包括 10 位 A/D 轉(zhuǎn)換器;I2C; I2S;54 個 I/O;UART 和 USART;和 EEPROM,以及一個 USB 2.0 接口。
即使是像AKM Semiconductor, Inc. 的AK5371A 這樣目標(biāo)明確的部件也具有使其在特定應(yīng)用目標(biāo)之外有效的外設(shè)和資源(參見圖 4)。它的標(biāo)準(zhǔn)音頻 PLL 采樣率控制器顯然是針對音頻應(yīng)用的;可編程增益放大器;和雙通道 16 位 A/D 控制器,帶靜音和音量控制。然而,儀器儀表、數(shù)據(jù)采集和醫(yī)療設(shè)計可以很好地利用這種功能組合。那么它真的是 ASIC 嗎?
圖 4:盡管 AK5371A 專門針對音頻記錄應(yīng)用,但它非常適合多種類型的數(shù)據(jù)采集和波形記錄應(yīng)用,例如數(shù)據(jù)記錄和醫(yī)療應(yīng)用(由 AKM Semiconductor, Inc. 提供)。
關(guān)鍵是,不要打折那些被吹捧為特定于您的設(shè)計的應(yīng)用程序的零件。而是查看外圍設(shè)備和資源的組合,您將有更多可行的選擇。
對您有利
供應(yīng)商提供的 USB 設(shè)計解決方案的最大好處是他們提供的 IP。很多時候,有據(jù)可查的 API 和參考程序?qū)π酒脩魜碚f是免費(fèi)的或成本很低。他們的業(yè)務(wù)是銷售芯片,而不是軟件,所以為了吸引你使用他們的芯片,他們提供免費(fèi)的參考軟件。
免費(fèi)軟件的可用性可以使您降低系統(tǒng)成本并實現(xiàn)相對較快的上市時間,因為您只需將軟件剪切并粘貼到您的應(yīng)用程序中即可。這也將支持遵守 USB 標(biāo)準(zhǔn)的負(fù)擔(dān)推到了芯片供應(yīng)商的肩上。
請注意,芯片制造商并不總是提供源代碼,只是提供二進(jìn)制文件和 API 文檔。在采用硅解決方案之前,請檢查控制級別和功能粒度是否適合您的需求。
如果芯片制造商捆綁了第三方解決方案,請檢查芯片制造商是否獲得許可或購買了他們的軟件 IP。如果獲得許可,每個設(shè)計、每個公司、每個產(chǎn)品或每個應(yīng)用的價格是多少?您不想為產(chǎn)品的不同迭代中使用的同一代碼塊支付多次費(fèi)用。
此外,由于 USB 是標(biāo)準(zhǔn)通信鏈路,大多數(shù)芯片制造商的開發(fā)系統(tǒng)都提供了內(nèi)在支持。這意味著您本身不需要特定的 USB 開發(fā)套件。相反,一些芯片制造商的設(shè)計環(huán)境以某種方式支持 USB 開發(fā)。由于接口在許多芯片上,它被帶到板上的連接器上,并且固件也被芯片制造商記錄和支持。
在角落附近
USB 1.1 和 USB 2.0 的成功正在為即將到來的更新的 USB 3.0 口味鋪平道路。雖然現(xiàn)在還為時過早,但新的 USB 標(biāo)準(zhǔn)將使用 8b/10b 編碼,與一些高端光纖電信系統(tǒng)正在使用的方法相同。USB 3.0 還將數(shù)據(jù)速率提高到 5 Gbits/sec 的包絡(luò)極限。這比目前大多數(shù)應(yīng)用程序仍然不使用的 480 Mbits/sec 提高了十倍以上,即使在今天。
對更大文件、更多交互和更高分辨率的需求催生了對 USB 3.0 的需求,這些速率帶來的新功能肯定會出現(xiàn)。
密切關(guān)注英特爾、AMD、賽普拉斯半導(dǎo)體和德州儀器等已經(jīng)承諾支持 USB 3.0 的公司。一些兼容USB 3.0的芯片開始出現(xiàn),但距離支持和知識庫的建立以及“殺手級應(yīng)用”開始出現(xiàn)可能還需要一段時間。與此同時,今天和明天的 USB 2.0 兼容設(shè)備仍有許多用途。
評論
查看更多