作者:巴爾加維·尼薩爾加、基思·奎林、萊斯·泰勒
? ? ? 新的 MCU 為便攜式嵌入式應用的 USB 帶來了功效和簡單性。
USB 的普遍性使其成為需要連接到 PC 或其他主機設備以進行配置、定期下載數據或固件更新的應用程序的極具吸引力的接口。這些設備通常是便攜式的,例如遠程收集需要稍后上傳的數據的醫療或工業工具。由于這些設備是便攜式的,因此最終的 USB 實現必須既經濟又節能。
USB 成功的主要原因之一是其無與倫比的易用性。但在表面之下,USB 是一項復雜的技術,它巧妙地掩蓋了用戶的復雜性。因此,剛接觸 USB 的開發人員往往會低估所涉及的工作量。還會遇到許多新的術語和程序,而且事情通常不會按應有的方式“正常工作”。
隱藏的挑戰可能會給開發人員帶來意想不到的延誤,而延誤的代價是昂貴的。
對于試圖專注于使他們的產品與眾不同并為客戶提供最佳價值的開發人員來說,這些挑戰是一個不受歡迎的負擔。出于這個原因,TI 致力于將 USB 技術作為一種集成的簡化解決方案提供,使開發人員能夠專注于在其應用中使用 USB,而不是學習 USB 作為一種技術。
為滿足開發人員的需求,TI 已將全速 USB 引入 F5xx 系列 MSP430 微控制器 (MCU)。通過集成 USB 具有強大的性能(高達 25 MHz)、大內存(Flash 和 RAM)、集成的智能外設(包括片上 ADC、比較器、硬件乘法器、DMA 控制器、溫度傳感器和其他外設),以及電源管理,MSP430 是在嵌入式應用中實現 USB 的理想 MCU(參見圖 1)。
圖 1:將 USB 與 MSP430 架構的強大性能和高集成度相集成,為在嵌入式應用中實現 USB 創建了理想的微控制器。
通過簡單地添加一個 USB 連接器和一些分立器件,MSP430 USB MCU 是一個完整的解決方案,適用于需要 USB 連接和模擬外設的應用,同時具有超低功耗。從軟件的角度來看,TI 提供了支持三種最常見設備類別的 API 堆棧。
新型 MSP430 USB MCU 基于 TI 最新、最先進的 MSP430 架構 F5xx。每個都支持 1.8 至 3.6 V 的操作,時鐘速度高達 25 MHz,集成的可編程電源監控約為 200 nA。新的時鐘源進一步最大化了功率、速度、精度和成本之間的權衡。閃存寫入/擦除可以在整個 Vcc 范圍內執行。除了提供各種閃存大小(64 到 128 KB 和 16 到 256 KB)外,支持 USB 的 MSP430 設備還具有專用于 USB 的 2 KB RAM,當 USB 被禁用時,可用于一般用途。
加速開發和易用性
TI 認識到消費者和工程師已經開始期望 USB “正常工作”。事實上,雖然 USB 看起來像 UART 或 SPI 端口一樣簡單,但該協議的實現并非易事。與 UART 或 SPI 接口不同,一致性是 USB 設計的主要考慮因素,即使在最簡單的應用中也是如此。例如,主機可以隨時掛起連接的設備。設備還必須能夠處理“意外刪除”。對于以前沒有經歷過這個過程的開發人員來說,這種意外的考慮可能需要額外的開發時間并導致意外的延遲。
MSP430 的 USB 支持的部分附加值是通過直觀的 API 堆棧管理實現 USB 的許多底層復雜性。API 堆棧專為開發人員快速吸收而設計。與 USB 本身一樣,它們包含許多“幕后”的復雜性,使開發人員免于不必要的麻煩,以幫助加快開發時間。堆棧源代碼對希望完全控制的開發人員開放。對于每個堆棧,都提供了完整的程序員指南,作為 API 函數調用的參考,并清晰地描述了底層概念。
此外,TI 還提供了 MSP430 USB 描述符工具。該工具用作 API 堆棧的“控制面板”,允許快速配置。它會根據用戶輸入自動創建每個 USB 設備必須向主機報告的描述符。這為開發人員節省了大量時間,并讓您放心,描述符已正確完成。
堆棧適用于最常見的設備類別,并且不收取額外費用。雖然開發人員不應低估創建穩健 ??USB 接口所需的條件,但 TI 已顯著縮短了 USB 學習曲線。通過這種方式,開發人員可以從學習 USB 作為一項技術的細節的負擔中解脫出來,而能夠專注于使用 USB 來增加其應用程序的價值和可用性。
多設備類
MSP430 USB API 堆棧提供的部分簡單性在于支持三個設備類:
通信設備類 (CDC): CDC 將 USB 端口作為標準 COM 端口提供給 PC 應用程序。COM 端口是流行的接口,靈活、快速且易于使用。因為它使用批量傳輸,CDC 提供了高帶寬和合理的簡單性。使用 CDC 的主要缺點是開發人員必須將一個簡單的文件分發給最終用戶,以使其與 Windows 中內置的 CDC 驅動程序相關聯。幸運的是,Windows 中的“檢測到新設備”安裝相當簡單,并且最終用戶已經很好地接受了這個小步驟。
人機接口設備 (HID):雖然 HID 通常被認為主要用于鼠標和鍵盤,但它是一種靈活的設備類別,適用于各種應用。TI 的 HID API 有效地概括了 HID 功能,從而通過允許開發人員以與 CDC 設備/COM 端口完全相同的方式訪問接口來消除與 HID 報告相關的復雜性。雖然它的帶寬有限(最高 64 KB/s),但它不需要像 CDC 那樣分發文件,它在 Windows 中靜默加載,無需安裝過程。
大容量存儲類 (MSC):MSC 是用于實現非常成功的 USB“閃存驅動器”以及數碼相機和閃存卡讀卡器的設備類。由于它是為移動大量數據而設計的,因此它提供了更高的帶寬,類似于 CDC。權衡是更復雜——例如,開發人員將需要實現一個文件系統——以及使用更多的代碼空間。與 HID 一樣,MSC 設備在 Windows 中靜默加載,無需安裝過程。TI 免費提供 MSC API 層。考慮到軟件處理文件系統、不同媒體類型和閃存管理(即通過磨損均衡和其他技術)的各種配置可能性,開發人員可以靈活地購買商業實現或使用許多開放式應用程序之一。可用于 MSP430 的源系統。
在這三個設備類別中,開發人員應首先考慮 HID。如果應用程序可以在可用的 64 KB/s 帶寬內工作,那么 HID 通常是最具成本效益的選擇,因為用戶無需安裝即可插入并使用它。由于 Windows 安裝過程有時會給用戶帶來問題,因此避免它會導致減少支持電話和客戶退貨。
TI USB API 堆棧支持三種數據傳輸類型:USB 級控制/狀態數據的控制、低帶寬的中斷、固定延遲數據和高帶寬可變延遲數據的批量。這些數據類型的使用由設備類決定;開發人員不必關心與不同類型相關的大部分細節。
借助這些數據類型,MSP430 的 USB 可以支持任何需要控制/配置、固件更新或需要傳輸大量數據(與流數據相反)的應用。MSP430 不支持同步(高帶寬、固定延遲)數據,因此不適用于流式音頻/視頻應用。
正如 MSP430 很靈活一樣,它的 USB 功能也很靈活。任何 USB 設備都包含一定數量的所謂端點。對多個端點的支持允許復合 USB 設備可以與主機進行更靈活的通信。例如,使用 MSC 進行批量數據傳輸并使用 HID 來管理控制和狀態的設備由三個輸入和三個輸出端點組成。MSP430 架構支持多達 8 個輸入和 8 個輸出端點,可為大多數應用提供足夠的容量,而不會增加成本。
超低功率效率
就其本質而言,MSP430 架構已針對低功耗運行進行了優化,無論是在使用 USB 還是不使用 USB 時。例如,MSP430 器件具有五種低功耗模式,使設計人員能夠延長便攜式應用中的電池壽命。MSP430 以最低功耗提供高性能,在待機模式下的有功功耗低至 160 μA/MHz 和 1.5 μA,再加上從待機狀態快速喚醒(小于 5 微秒)和低至 1.8 V 的工作電源電壓。 與電池供電的主機通信時,板載 DMA 控制器還可以節省大量電力。
USB 在嵌入式應用中的優勢之一是能夠通過接口為設備供電。理想情況下,電池供電的設備可以在連接到主機時通過總線為設備供電,從而最大限度地延長工作壽命。由于 USB 主機通過總線提供 5 V 電源,因此需要一個 LDO 將電壓降至 IC 的 3.3 V 典型值。MSP430 器件通過集成高效的 LDO 以及相關的上拉功能來簡化電源設計并節省電路板空間。除了允許 MSP430 直接在 5 V 電壓下運行之外,集成 LDO 和上拉電阻器還減少了組件數量,并且相對于分立式實現節省了 0.15 到 0.20 美元。通過將 USB 電源和其他 MSP430 模塊的電源管理分開,只要 USB 設備連接到主機,就可以始終為 USB 模塊供電。
MSP430 設計為在 LDO 的功率限制范圍內運行,甚至可以從 USB 總線獲取電源以為整個系統供電。通過從外部驅動 3.3 V 輸出 (VUSB),MSP430 可以為系統提供高達 12 mA 的電流(參見圖 2),并且還無需系統 LDO。對于高電流系統(需要超過 12 mA 的電流)或即使通過 USB 連接也可以通過電池為設備供電的應用,MSP430 提供了繞過集成 LDO 并從外部電源驅動 DVcc 的靈活性或調節器(見圖 3)。TI 提供多種外部 LDO,非常適合低成本 (TPS73033)、低功耗 (TPS67233)、低噪聲 (TPS1733) 和低噪聲、高電流 (TPS73433/735) 應用。
圖 2:MSP430 USB 微控制器可以從 USB 總線供電,以 12 mA 為整個系統供電。
圖 3:對于高電流系統或即使通過 USB 連接也可以通過電池為設備供電的應用,MSP430 提供了繞過集成 3.3 V LDO 并從外部電源驅動 DVcc 的靈活性。
5 V USB 總線電源也可用作電池充電的主要電源(參見圖 4)。在此配置中,無論 USB 端口是否插入主機,DVcc 始終來自電池。插入端口后,充電器通過 USB 接收電源為電池充電。TI 的 BQ2407x/3x 系列充電器專為 USB 電池充電應用而設計。
圖 4:USB 供電也可用作電池充電的主要來源。TI 的 BQ2407x/3x 系列充電器專為 USB 電池充電應用而設計。
例如,鼠標和鍵盤中使用的低速 USB 通常不適用于任何需要現代通用 MCU 來處理足夠數據的應用程序。具體來說,以較慢的數據速率進行傳輸會浪費總線帶寬并消耗更多的功率,因為??它要求 MCU 在更長的傳輸周期內保持活動狀態。同樣,除非應用程序需要支持大型音頻或視頻傳輸,否則高速 USB 會提供太多帶寬。全速 USB 更適合大多數嵌入式應用。
雖然成為 OTG 似乎是一個吸引人的選擇,但它并不適合許多應用程序。嵌入式主機必須能夠為連接的設備提供 8 mA 電流。這一要求導致許多公司重新考慮支持 OTG 主機功能的意圖,特別是在需要單節電池長使用壽命的應用中。對于確實需要 OTG 支持的應用,TI 在其 Stellaris MCU 產品組合中提供了解決方案。
一般來說,USB 設備比嵌入式主機更便宜、更簡單且開發速度更快。帶有 USB 的 MSP430 系列經過優化,可滿足 USB 設備的需求,而不會因實施 USB 主機所需的額外復雜性、額外內存、集成外設和更大電源而加重這些應用的負擔。
照顧細節
為了兌現其簡化 USB 的承諾,TI 提供了范圍廣泛的工具和軟件,以幫助開發人員快速上手使用和實施強大的 USB 解決方案。除了 API 堆棧外,TI 還提供:
USB 描述符工具:USB 描述符工具在簡化 USB 設計和實現方面發揮著關鍵作用。這個基于 GUI 的工具自動配置 USB 堆棧以反映特定應用程序的特定要求,處理描述符字段的管理,包括 VID、PID、字符串、從主機汲取多少功率等。與其要求開發人員通過闖入 USB 堆棧并編寫代碼來支持他們的應用程序來深入研究各種 USB 描述符字段背后的細節,描述符工具從開發人員那里收集所需的信息并自動生成對 API 堆棧的適當軟件修改,不需要開發人員進一步的工作。此外,USB 描述符工具旨在使復合設備的高級堆棧配置更加簡單。
引導加載程序(BSL):TI 的 BSL 是為需要現場固件更新能力的開發人員提供的另一個重要工具。USB 的常見用途之一是將更新推送到已部署的設備。例如,醫生可以將醫療儀器插入 PC 并讓它快速自動更新自己的新功能或修復錯誤。BSL 工具通過將固件映像文件轉換為可交付給最終客戶的獨立 PC 可執行文件,簡化了開發人員的更新過程。所有 MSP430 器件均配備 BSL,當通過 USB 實施時,即使在器件未通電(即 MSP430 通過 USB 供電)時也可以安全地進行更新,無需安裝電池即可實現快速高效的生產線編程。對于開發者來說,
VID 共享計劃: TI 還為開發人員提供參與其 VID 共享計劃的機會。每個 USB 設備都需要一個 Vendor_ID (VID) 和 Product_ID (PID)。對于只生產少數器件的公司,TI 可以提供 VID 和唯一的 PID,以繞過向 USB 聯盟注冊 VID 所需的時間和金錢投資。
通過處理通過 USB 描述符工具、引導加載程序、API 堆棧和來自其廣泛的第三方網絡的其他支持軟件實現 USB 的“零碎”,TI 簡化了使用 USB 的過程。通過提供 USB 所需的大部分底層基礎,TI 的 MSP430 使開發人員能夠專注于其應用程序的增值組件,而無需擔心與 USB 等復雜接口相關的無數實施問題。
高集成度
除了集成 USB 之外,這些新控制器還集成了標準 MSP430 架構之外的許多其他功能和外圍設備,從而進一步簡化了開發,包括:
可編程 PLL:這種靈活的可編程 PLL 可以適應廣泛的晶體頻率,使開發人員能夠根據應用相關標準選擇頻率,例如成本、系統中的其他組件,或者系統中其他地方是否需要該頻率為了另一個目的。
超低功耗振蕩器 (VLO): VLO 使開發人員能夠在主機暫停時保持 USB 模塊運行。這很重要,因為 USB 模塊必須能夠識別主機何時想要喚醒它。VLO 以這種方式汲取的電流在亞微安范圍內。
比較器_B:MSP430 USB 微控制器還提供了一個新的比較器,用于產生遲滯,無需外部組件。許多應用需要能夠根據兩個閾值監控輸入,例如電池充電和電容式觸摸界面。典型的比較器只能監控一個閾值,并且必須配置為監視上升或下降閾值,并在超過另一個閾值時切換到另一個閾值。新的比較器被稱為 Comparator_B,是一種通用的參考發生器,它使用能夠產生 32 種不同電壓參考電平的 R 梯形圖。這種方法避免了對外部組件的需求以及使用外部電阻器時的恒定功率消耗。Comparator_B 以三種模式運行,超低功耗(典型值為 0.1 μA 至最大值 0.5 μA)、正常(典型值為 10 μA 至最大值 30 μA)、
端口映射:基于 USB 的 MSP430 微控制器的一個獨特功能是端口映射控制器。通過端口映射,開發人員可以在特定范圍的引腳上動態重新配置數字輸出,例如定時器 PWM 或 SPI/I2C 接口。這種映射在電路板設計期間實現了信號路由的靈活性,允許設計人員根據需要將信號移動到 IC 的另一側。每個數字輸出都可以映射到多個輸出引腳,這在例如多個引腳上需要相同的定時器 PWM 的情況下很有用。在引腳對引腳兼容性方面,端口映射還減輕了與從一個設備系列遷移到另一個設備相關的挑戰。
USB
入門 MSP430 USB 微控制器入門非常簡單。MSP430F552x 樣品套件包括帶有 USB 支持的 80 引腳 MSP-TS430 目標板 (#MSP-TS430PN80-USB) 以及樣品硅片。借助經過驗證的 MSP430 工具鏈和全面的 USB 支持包,已經熟悉 MSP430 的開發人員可以輕松地將 USB 引入他們的應用程序。此外,TI 的眾多第三方還提供范圍廣泛的軟件和硬件,以加快開發速度并加快上市時間。
開發人員可以從三個支持 USB 的 MSP430 微控制器系列中進行選擇,每個系列都具有靈活的路線圖和可擴展的選項,以滿足各種嵌入式應用要求:
中檔應用: F552x / F551x 提供 64 至 128 KB 閃存和 4 至 8 KB (+2 KB) RAM,以及 Comparator_B 功能。F552x \ F551x 器件現已開始提供樣片。
高端應用: F563x/F663x 可能是有史以來功能最豐富的集成 MSP430 器件。該器件具有 128 至 256 KB 閃存和 16 KB (+2 KB) RAM,具有 6 個 DMA 通道、RTC 備份模式(即使在 Vcc 丟失時,RTC 也能以低于 1 μA 的電流運行)以及許多其他集成外設。
低端應用: F550x 提供具有 16 至 32 KB 閃存和 4 KB + 2 KB RAM 以及 10 位 ADC 和 Comparator_B 功能的經濟高效的 USB。
TI 的新型 MSP430 USB 微控制器可降低系統成本、提供卓越的電源效率以延長電池壽命、促進快速實施并且易于使用。除了允許開發人員專注于他們的應用而不是 USB 作為一種支持技術之外,這些新控制器還通過集成多個先進的外圍設備和模塊來降低系統 BOM,這些外圍設備和模塊可以提高性能并降低功耗,同時減少組件數量。憑借其全面的支持軟件和硬件,TI 將 USB 學習曲線從數周縮短至數小時,從而使將 USB 引入各種嵌入式應用變得經濟高效且簡單。
評論
查看更多