許多針對物聯(lián)網(wǎng) (IoT) 的設計都依靠模擬電路,以便滿足應用對傳感器和致動器的信號調(diào)節(jié)、電流控制和其他功能的獨特要求。雖然專用的信號鏈 IC 可以滿足這種需求,但是成本和空間嚴格受限的設計需要一種專門方法,這種方法不但應該滿足性能要求,還應該使用更少的零件來實現(xiàn)這一功能。
為滿足這一需求,微控制器應運而生。通過集成諸如模數(shù)轉(zhuǎn)換器 (ADC) 和比較器等模擬外設,微控制器可以簡化傳感器和致動器的接口性質(zhì)。然而,直到最近,工程師們通常還需要添加模擬零件,來提供大多數(shù)設計所需的信號調(diào)節(jié)或輸出緩沖。
通過在微控制器上添加這些模擬信號調(diào)節(jié)電路,開發(fā)人員現(xiàn)在只需操作幾行代碼,即可有效配置這些元件,從而滿足可穿戴設備和其他物聯(lián)網(wǎng)設備的各種模擬接口要求。
本文將討論物聯(lián)網(wǎng)連接設備對前端模擬信號調(diào)節(jié)要求的需求,然后介紹一類具有高度集成模擬功能的微控制器,并說明如何應用此類微控制器。
將傳感器連接到微控制器
傳感器設計通常需要一個或兩個放大器來調(diào)節(jié)變送器的輸出信號,然后才能到達微控制器的 ADC 輸入。諸如用于心率監(jiān)測的脈搏血氧計等較復雜器件需要多個信號鏈,才能產(chǎn)生 LED 激勵波形,轉(zhuǎn)換光電二極管輸出,并最終提取脈沖數(shù)據(jù)(圖 1)。即使是工業(yè)應用中通常用于將傳感器連至可編程邏輯控制器的簡單電流環(huán)路,也需要其他設備來驅(qū)動和控制電流輸出。但是,通過使用 MSP430FR2355 MCU 中的內(nèi)部模擬元件,開發(fā)人員可以實現(xiàn)更緊湊的設計,一般只需添加幾個無源元件即可。
?
圖 1:用戶期待更緊湊產(chǎn)品能夠提供更多高級功能,這意味著,開發(fā)人員需要在實現(xiàn)復雜信號路徑(如此圖中脈搏血氧計的路徑)時大幅減少零件的數(shù)量。(圖片來源:Texas Instruments)
集成模擬元件
Texas Instruments MSP430FR2355 MCU 基于 16 位 RISC 處理器內(nèi)核,可提供許多物聯(lián)網(wǎng)設備設計中通常需要的全套功能。作為 TI MSP430 FRAM 系列器件之一,MSP430FR2355 集成了 32 KB 的低功耗鐵電存儲器 (FRAM)。FRAM 非常適合物聯(lián)網(wǎng)設計,具有閃存的非易失性存儲優(yōu)勢,以及 RAM 的寫入速度和耐用性。因此,開發(fā)人員可以利用 FRAM 的類似于 RAM 的性能品質(zhì),在激活模式下存儲數(shù)據(jù)和程序代碼,并且可以利用 FRAM 的非易失性功能,在休眠模式或其他需要節(jié)省電能的運行狀態(tài)下保留數(shù)值。MSP430FR2355 支持多種低功耗模式,旨在滿足這些設計中典型的低功耗要求。
除了低功耗特性外,MSP430FR2355 還可通過幾個集成的模擬外設支持物聯(lián)網(wǎng)接口要求,這些外設包括 12 通道 12 位 ADC、配有集成數(shù)模轉(zhuǎn)換器 (DAC) 的模擬比較器以及多個片上電壓基準。MSP430FR2355 MCU 的最獨特模擬功能是它的四個智能模擬組合 (SAC) 模塊,開發(fā)人員可通過編程方式配置這些模塊,以滿足特定需求。
每個 SAC 模塊均包括一個 12 位 DAC、一個軌至軌運算放大器 (OA) 和一個可將 OA 轉(zhuǎn)變?yōu)榭删幊淘鲆娣糯笃?(PGA) 的反饋電阻梯。每個元件的專用寄存器可控制其配置和工作模式。例如,開發(fā)人員可以簡單地在 SAC (SACx) 模塊的 OA 寄存器 (SACxOA) 中加載 0:1 位,從而將 OA 的正輸入設置為某個外部源、DAC 輸出或成對的 SAC 源(如下所述)。
TI 公司的驅(qū)動程序庫將這些位操作抽象為一組直觀的應用程序編程接口 (API) 調(diào)用。因此,開發(fā)人員只需幾行代碼(清單 1),即可將 SAC 模塊編程為通用放大器,以便完全取代傳感器信號調(diào)節(jié)放大器,從而減少零件數(shù)量,縮小設計尺寸(圖 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:在該示例中,要實現(xiàn)通用放大器,開發(fā)人員只需調(diào)用幾次 Texas Instruments 驅(qū)動程序庫,初始化 SAC OA 輸入 (SAC_OA_init),然后將其功耗模式 (SAC_OA_selectPowerMode) 設置為低功耗,最終啟用 OA 和 SAC 即可。(代碼來源:Texas Instruments)
?
圖 2:開發(fā)人員可以使用 MCU 四個智能模擬組合 (SAC) 模塊的其中一個,通過 Texas Instruments MSP430FR2355 MCU 內(nèi)部實現(xiàn)的運算放大器來取代外部運算放大器。(圖片來源:Texas Instruments)
要充當輸出波形發(fā)生器,SAC 模塊需要接入更多元件(圖 3)。在這種情況下,開發(fā)人員可通過編程方式,將數(shù)據(jù)加載到可設置內(nèi)部 DAC 輸出的專用數(shù)據(jù)寄存器 (SACxDAT) 中,從而實現(xiàn)波形控制。DAC 輸出隨即可為 OA 提供基準電壓。在此配置中,開發(fā)人員可將 PGA 寄存器 (SACxPGA) 中的 0:1 位 (MSEL) 設置為緩沖模式 (01b),以此增強 OA 的驅(qū)動強度,緩沖模式 (01b) 對應于浮動輸入。要配置此工作模式,開發(fā)人員只需多執(zhí)行幾次 API 調(diào)用(清單 2)即可——與上述通用配置所需的調(diào)用相比。
?
圖 3:開發(fā)人員可使用 SAC 模塊的數(shù)模轉(zhuǎn)換器和運算放大器元件,實現(xiàn)可編程波形發(fā)生器。(圖片來源: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 模塊配置為波形發(fā)生器,除了用作通用放大器所需的 API 調(diào)用之外,開發(fā)人員只需多執(zhí)行幾次 API 調(diào)用即可。(代碼來源:Texas Instruments)
多級
在許多情況下,開發(fā)人員需要使用多個放大器構(gòu)建的信號條件或輸出鏈。例如,傳感器系統(tǒng)設計人員通常可級聯(lián)放大器,以緩沖變送器輸出,并放大緩沖信號,從而與位于信號鏈一端的 ADC 的滿量程響應相符。同樣,輸出接口的開發(fā)人員通常需要級聯(lián)放大器來生成波形,并控制柵極驅(qū)動器。例如,為了構(gòu)建電流環(huán)路接口,開發(fā)人員可使用配置為 DAC 模式的 SAC 模塊來提供調(diào)制信號電壓。通過將第二個 SAC 模塊配置為 OA 模式,可以使用外部晶體管將信號電壓轉(zhuǎn)換為電流(圖 4)。
?
圖 4:為了構(gòu)建電流環(huán)路接口,工程師可以使用一個配置為 DAC 模式的 SAC 模塊來生成調(diào)制信號電壓,然后使用第二個配置為 OA 模式的 SAC 模塊來驅(qū)動晶體管,從而產(chǎn)生環(huán)路電流 ILOOP (I1 + I2)。(圖片來源:Texas Instruments)
MSP430FR2355 MCU 為級聯(lián)放大器提供了更高效的方法。對于不需要其他外部元件的設計,開發(fā)人員可利用內(nèi)置路由,在內(nèi)部將 SAC 模塊互連成兩對:SAC0 內(nèi)部連接到 SAC2,SAC1 連接到 SAC3。
這種互連可應用于傳感器系統(tǒng),例如需要將光電二極管的電流輸出轉(zhuǎn)換為電壓電平以進一步進行轉(zhuǎn)換的煙霧探測器。開發(fā)人員只需幾行代碼,即可通過一對 SAC 模塊來實現(xiàn)這一信號鏈(清單 3)。在本電路圖中,SAC2 被配置為跨阻放大器,可將光電二極管的電流輸出轉(zhuǎn)換為電壓,而成對的 SAC0 可為下游 ADC 放大該電壓(圖 5)。如清單 3 所示,SAC2 和 SAC0 之間的內(nèi)部連接僅在 API 調(diào)用 (SAC_OA_init) 中創(chuàng)建,以便通過將 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:開發(fā)人員只需初始化 MSP430FR2355 MCU 的一對 SAC 模塊,并規(guī)定下游級的輸入端需將成對 OA 用作其來源 (SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA),即可創(chuàng)建一個兩級信號鏈。(代碼來源:Texas Instruments)
?
圖 5:通過配置 MSP430FR2355 MCU 的成對 SAC 模塊,實現(xiàn)典型煙霧探測器輸入信號鏈中所需的跨阻放大器 (TIA) 和可編程增益放大器 (PGA),開發(fā)人員可以有效地消除煙霧探測器設計中對外部模擬 IC 的需求。(圖片來源:Texas Instruments)
使用這種方法,開發(fā)人員幾乎可實現(xiàn)物聯(lián)網(wǎng)設計及可穿戴設備所需的全套模擬輸入和輸出電路。例如,開發(fā)人員可使用 MSP430FR2355 SAC 模塊,將復雜的模擬設計(如圖 1 所示的脈搏血氧計)簡縮成更緊湊的版本(圖 6)。除了 LED、光電二極管和相關(guān)電阻器外,設計人員只需 MCU 即可實現(xiàn)同樣的功能。
?
圖 6:開發(fā)人員可以使用 MSP430FR2355 MCU 及其 SAC 模塊,在需要多個輸出激勵源和多級輸入信號鏈的脈搏血氧計等設計中,大幅減少零件的數(shù)量。(圖片來源:Texas Instruments)
要評估 MSP430FR2355 MCU 及其 SAC 模塊的用途,開發(fā)人員可利用 Texas Instruments MSP-EXP430FR2355 LaunchPad 開發(fā)套件。該電路板設計用于加快原型開發(fā),包括基于 MSP430FR2355 的完整系統(tǒng),系統(tǒng)配有光傳感器、LED、按鈕(用于與簡單示例應用程序交互)以及用于軟件開發(fā)的板載調(diào)試探頭。
Grove 連接器可連接各種基于 Grove 的附加組件,TI BoosterPack 連接器則可讓開發(fā)人員通過 RF BoosterPacks 輕松擴展基礎(chǔ)平臺,從而實現(xiàn)無線連接。TI 還提供一組示例軟件應用程序,這些程序設計用于在 LaunchPad 套件上立即運行。除了運行 LaunchPad 開發(fā)板之外,示例軟件還演示了基本設計模式,例如清單 3 代碼片段中顯示的 SAC 模塊互連方法。
結(jié)論
任何與現(xiàn)實世界交互的器件一般都需要模擬接口。然而,在針對可穿戴設備和物聯(lián)網(wǎng)設備的許多設計中,構(gòu)建這些接口所需的附加設備與更緊湊設計和減少零件數(shù)量的要求背道而馳。
通過配置集成在 Texas Instruments MSP430FR2355 MCU 中的模擬元件,開發(fā)人員通常只需添加幾個無源元件,即可實現(xiàn)這些設計所需的信號鏈功能。
評論