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