發布日期:2022-04-22 點擊率:35
許多針對物聯網 (IoT) 的設計都依靠模擬電路,以便滿足應用對傳感器和致動器的信號調節、電流控制和其他功能的獨特要求。雖然專用的信號鏈 IC 可以滿足這種需求,但是成本和空間嚴格受限的設計需要一種專門方法,這種方法不但應該滿足性能要求,還應該使用更少的零件來實現這一功能。
為滿足這一需求,微控制器應運而生。通過集成諸如模數轉換器 (ADC) 和比較器等模擬外設,微控制器可以簡化傳感器和致動器的接口性質。然而,直到最近,工程師們通常還需要添加模擬零件,來提供大多數設計所需的信號調節或輸出緩沖。
通過在微控制器上添加這些模擬信號調節電路,開發人員現在只需操作幾行代碼,即可有效配置這些元件,從而滿足可穿戴設備和其他物聯網設備的各種模擬接口要求。
本文將討論物聯網連接設備對前端模擬信號調節要求的需求,然后介紹一類具有高度集成模擬功能的微控制器,并說明如何應用此類微控制器。
傳感器設計通常需要一個或兩個放大器來調節變送器的輸出信號,然后才能到達微控制器的 ADC 輸入。諸如用于心率監測的脈搏血氧計等較復雜器件需要多個信號鏈,才能產生 LED 激勵波形,轉換光電二極管輸出,并最終提取脈沖數據(圖 1)。即使是工業應用中通常用于將傳感器連至可編程邏輯控制器的簡單電流環路,也需要其他設備來驅動和控制電流輸出。但是,通過使用 MSP430FR2355 MCU 中的內部模擬元件,開發人員可以實現更緊湊的設計,一般只需添加幾個無源元件即可。
圖 1:用戶期待更緊湊產品能夠提供更多高級功能,這意味著,開發人員需要在實現復雜信號路徑(如此圖中脈搏血氧計的路徑)時大幅減少零件的數量。(圖片來源:Texas Instruments)
Texas Instruments MSP430FR2355 MCU 基于 16 位 RISC 處理器內核,可提供許多物聯網設備設計中通常需要的全套功能。作為 TI MSP430 FRAM 系列器件之一,MSP430FR2355 集成了 32 KB 的低功耗鐵電存儲器 (FRAM)。FRAM 非常適合物聯網設計,具有閃存的非易失性存儲優勢,以及 RAM 的寫入速度和耐用性。因此,開發人員可以利用 FRAM 的類似于 RAM 的性能品質,在激活模式下存儲數據和程序代碼,并且可以利用 FRAM 的非易失性功能,在休眠模式或其他需要節省電能的運行狀態下保留數值。MSP430FR2355 支持多種低功耗模式,旨在滿足這些設計中典型的低功耗要求。
除了低功耗特性外,MSP430FR2355 還可通過幾個集成的模擬外設支持物聯網接口要求,這些外設包括 12 通道 12 位 ADC、配有集成數模轉換器 (DAC) 的模擬比較器以及多個片上電壓基準。MSP430FR2355 MCU 的最獨特模擬功能是它的四個智能模擬組合 (SAC) 模塊,開發人員可通過編程方式配置這些模塊,以滿足特定需求。
每個 SAC 模塊均包括一個 12 位 DAC、一個軌至軌運算放大器 (OA) 和一個可將 OA 轉變為可編程增益放大器 (PGA) 的反饋電阻梯。每個元件的專用寄存器可控制其配置和工作模式。例如,開發人員可以簡單地在 SAC (SACx) 模塊的 OA 寄存器 (SACxOA) 中加載 0:1 位,從而將 OA 的正輸入設置為某個外部源、DAC 輸出或成對的 SAC 源(如下所述)。
TI 公司的驅動程序庫將這些位操作抽象為一組直觀的應用程序編程接口 (API) 調用。因此,開發人員只需幾行代碼(清單 1),即可將 SAC 模塊編程為通用放大器,以便完全取代傳感器信號調節放大器,從而減少零件數量,縮小設計尺寸(圖 2)。
復制 //Select external source for both positive and negative inputs SAC_OA_init(SAC0_base, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL, SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL); //Select low speed and low power mode SAC_OA_selectPowerMode(SAC0_base, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER) // Enable OA SAC_OA_enable(SAC0_base); // Enable SAC SAC_enable(SAC0_base);
清單 1:在該示例中,要實現通用放大器,開發人員只需調用幾次 Texas Instruments 驅動程序庫,初始化 SAC OA 輸入 (SAC_OA_init
),然后將其功耗模式 (SAC_OA_selectPowerMode
) 設置為低功耗,最終啟用 OA 和 SAC 即可。(代碼來源:Texas Instruments)
圖 2:開發人員可以使用 MCU 四個智能模擬組合 (SAC) 模塊的其中一個,通過 Texas Instruments MSP430FR2355 MCU 內部實現的運算放大器來取代外部運算放大器。(圖片來源:Texas Instruments)
要充當輸出波形發生器,SAC 模塊需要接入更多元件(圖 3)。在這種情況下,開發人員可通過編程方式,將數據加載到可設置內部 DAC 輸出的專用數據寄存器 (SACxDAT) 中,從而實現波形控制。DAC 輸出隨即可為 OA 提供基準電壓。在此配置中,開發人員可將 PGA 寄存器 (SACxPGA) 中的 0:1 位 (MSEL) 設置為緩沖模式 (01b),以此增強 OA 的驅動強度,緩沖模式 (01b) 對應于浮動輸入。要配置此工作模式,開發人員只需多執行幾次 API 調用(清單 2)即可——與上述通用配置所需的調用相比。
圖 3:開發人員可使用 SAC 模塊的數模轉換器和運算放大器元件,實現可編程波形發生器。(圖片來源:Texas Instruments)
復制 //Select internal shared reference as DAC reference voltage SAC_DAC_selectRefVoltage(SAC0_base, SAC_DAC_SECONDARY_REFERENCE); //Select the load trigger for DAC data latch //DAC always loads data from DACDAT at the positive edge of Timer output TB2.1 SAC_DAC_selectload(SAC0_base, SAC_DAC_LOAD_DEVICE_SPECIFIC_0); //Enable DAC Interrupt SAC_DAC_interruptEnable(SAC0_base); //Write data to DAC Data Register SACxDAT //DAC_data is an unsigned int type variable defined by user SAC_DAC_setData(SAC0_base, DAC_data); //Enable DAC SAC_DAC_enable(SAC0_base); //Select internal DAC for positive input and PGA source for negative input SAC_OA_init(SAC0_base, SAC_OA_POSITIVE_INPUT_SOURCE_DAC, SAC_OA_NEGATIVE_INPUT_SOURCE_PGA); //Select Buffer Mode SAC_PGA_setMode(SAC0_base, SAC_PGA_MODE_BUFFER); //Enable OA SAC_OA_enable(SAC0_base); //Enable SAC SAC_enable(SAC0_base);
清單 2:要將 SAC 模塊配置為波形發生器,除了用作通用放大器所需的 API 調用之外,開發人員只需多執行幾次 API 調用即可。(代碼來源:Texas Instruments)
在許多情況下,開發人員需要使用多個放大器構建的信號條件或輸出鏈。例如,傳感器系統設計人員通常可級聯放大器,以緩沖變送器輸出,并放大緩沖信號,從而與位于信號鏈一端的 ADC 的滿量程響應相符。同樣,輸出接口的開發人員通常需要級聯放大器來生成波形,并控制柵極驅動器。例如,為了構建電流環路接口,開發人員可使用配置為 DAC 模式的 SAC 模塊來提供調制信號電壓。通過將第二個 SAC 模塊配置為 OA 模式,可以使用外部晶體管將信號電壓轉換為電流(圖 4)。
圖 4:為了構建電流環路接口,工程師可以使用一個配置為 DAC 模式的 SAC 模塊來生成調制信號電壓,然后使用第二個配置為 OA 模式的 SAC 模塊來驅動晶體管,從而產生環路電流 ILOOP (I1 + I2)。(圖片來源:Texas Instruments)
MSP430FR2355 MCU 為級聯放大器提供了更高效的方法。對于不需要其他外部元件的設計,開發人員可利用內置路由,在內部將 SAC 模塊互連成兩對:SAC0 內部連接到 SAC2,SAC1 連接到 SAC3。
這種互連可應用于傳感器系統,例如需要將光電二極管的電流輸出轉換為電壓電平以進一步進行轉換的煙霧探測器。開發人員只需幾行代碼,即可通過一對 SAC 模塊來實現這一信號鏈(清單 3)。在本電路圖中,SAC2 被配置為跨阻放大器,可將光電二極管的電流輸出轉換為電壓,而成對的 SAC0 可為下游 ADC 放大該電壓(圖 5)。如清單 3 所示,SAC2 和 SAC0 之間的內部連接僅在 API 調用 (SAC_OA_init
) 中創建,以便通過將 PGA 用作 OA 的負輸入源 (SAC_OA_NEGATIVE_INPUT_SOURCE_PGA
),將成對 OA 用作正輸入源 (SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA
) 來初始化 SAC0 (SAC0_base
)。
復制 //Configure Op-Amp functionality GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3, GPIO_PIN1 | GPIO_PIN3 | GPIO_PIN2, GPIO_TERNARY_MODULE_FUNCTION); //Select external source for both positive and negative inputs SAC_OA_init(SAC2_base, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL, SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL); //Select low speed and low power mode SAC_OA_selectPowerMode(SAC2_base, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER); SAC_OA_enable(SAC2_base); // Enable SAC2 OA SAC_enable(SAC2_base); // Enable SAC2 //Select external source for both positive and negative inputs SAC_OA_init(SAC0_base, SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA, SAC_OA_NEGATIVE_INPUT_SOURCE_PGA); SAC_OA_enable(SAC0_base); // Enable SAC0 OA SAC_enable(SAC0_base); // Enable SAC0
清單 3:開發人員只需初始化 MSP430FR2355 MCU 的一對 SAC 模塊,并規定下游級的輸入端需將成對 OA 用作其來源 (SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA
),即可創建一個兩級信號鏈。(代碼來源:Texas Instruments)
圖 5:通過配置 MSP430FR2355 MCU 的成對 SAC 模塊,實現典型煙霧探測器輸入信號鏈中所需的跨阻放大器 (TIA) 和可編程增益放大器 (PGA),開發人員可以有效地消除煙霧探測器設計中對外部模擬 IC 的需求。(圖片來源:Texas Instruments)
使用這種方法,開發人員幾乎可實現物聯網設計及可穿戴設備所需的全套模擬輸入和輸出電路。例如,開發人員可使用 MSP430FR2355 SAC 模塊,將復雜的模擬設計(如圖 1 所示的脈搏血氧計)簡縮成更緊湊的版本(圖 6)。除了 LED、光電二極管和相關電阻器外,設計人員只需 MCU 即可實現同樣的功能。
圖 6:開發人員可以使用 MSP430FR2355 MCU 及其 SAC 模塊,在需要多個輸出激勵源和多級輸入信號鏈的脈搏血氧計等設計中,大幅減少零件的數量。(圖片來源:Texas Instruments)
要評估 MSP430FR2355 MCU 及其 SAC 模塊的用途,開發人員可利用 Texas Instruments MSP-EXP430FR2355 LaunchPad 開發套件。該電路板設計用于加快原型開發,包括基于 MSP430FR2355 的完整系統,系統配有光傳感器、LED、按鈕(用于與簡單示例應用程序交互)以及用于軟件開發的板載調試探頭。
Grove 連接器可連接各種基于 valuation-boards-expansion-boards-daughter-cards/797?s=N4IgjCBcpg7ALAJiqAxlAZgQwDYGcBTAGhAHsoBtEAZgFY5ZaQBdEgBwBcoQBlDgJwCWAOwDmIAL4kAtMmgh0kAQFdiZSiACcLCVJByqo-qQBuBHUA">Grove 的附加組件,TI BoosterPack 連接器則可讓開發人員通過 valuation-boards-expansion-boards-daughter-cards/797?s=N4IgjCBcoLQExVAYygFwE4FcCmAaEA9lANogCcIAugL7X4KSkBGBBAzqtugA4CGSAayrUgA">RF BoosterPacks 輕松擴展基礎平臺,從而實現無線連接。TI 還提供一組示例軟件應用程序,這些程序設計用于在 LaunchPad 套件上立即運行。除了運行 LaunchPad 開發板之外,示例軟件還演示了基本設計模式,例如清單 3 代碼片段中顯示的 SAC 模塊互連方法。
任何與現實世界交互的器件一般都需要模擬接口。然而,在針對可穿戴設備和物聯網設備的許多設計中,構建這些接口所需的附加設備與更緊湊設計和減少零件數量的要求背道而馳。
通過配置集成在 Texas Instruments MSP430FR2355 MCU 中的模擬元件,開發人員通常只需添加幾個無源元件,即可實現這些設計所需的信號鏈功能。
下一篇: PLC、DCS、FCS三大控
上一篇: 使用暗電流補償改進脈