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