【導讀】隨著物聯網 (IoT) 應用變得越來越復雜,工業物聯網 (IIoT) 端點的設計人員需要在邊緣提供更復雜的計算。在邊緣對端點傳感器數據進行計算,這是減少 IIoT 中心網絡瓶頸的實用方法。如此一來,在減少網絡流量的同時,也降低了主中心處理器的計算負載。但是,該方法也有缺點。
隨著物聯網 (IoT) 應用變得越來越復雜,工業物聯網 (IIoT) 端點的設計人員需要在邊緣提供更復雜的計算。在邊緣對端點傳感器數據進行計算,這是減少 IIoT 中心網絡瓶頸的實用方法。如此一來,在減少網絡流量的同時,也降低了主中心處理器的計算負載。但是,該方法也有缺點。
例如,一種常見的 IIoT 邊緣應用是處理周期性的模數轉換器 (ADC) 傳感器數據。對于高精度的模擬數據,數百個 ADC 數據點的數學處理、解讀和插值會大幅加重邊緣主機處理器的負載,從而可能影響整個網絡的性能。此外,高精度 ADC 可能需要在物聯網端點的主機微控制器固件中執行自校準,這可能會使所有邊緣處理延遲至校準完成。
本文將向開發人員展示如何將來自 Analog Devices 的精密模擬微控制器用作智能 ADC 外設。文中將說明這些模擬微控制器的特性如何使其適合用作單芯片數據采集系統,這些系統既能輕松連接至 IIoT 端點微控制器,又可執行 ADC 數據點處理和自校準等邊緣處理功能,而不會影響主端點微控制器的性能。
為什么要在邊緣處理模擬傳感器數據?
隨著 IIoT 系統變得越來越復雜,所需處理的數據也越來越復雜。對于工業控制應用,閥門和某些電機正在從開環系統轉換為閉環系統,在這種系統中精密模擬傳感器必須能檢測到微小的閥門或電機位置。對于過程控制應用,更大的處理量使得生產線速度加快,對系統中的溫度、壓力和執行器的控制更加精細。
在過程控制中,生產線(過程)的速度主要取決于兩個因素:地面上機器和系統的機械能力,以及控制機器和系統中傳感器和執行器的 IIoT 網絡效率。在某些情況下,微小的過程改進能夠讓產量增加,但這些改進可能會因 IIoT 網絡瓶頸而受阻。通過在邊緣執行更多處理,可以減少這些瓶頸。
在 IIoT 端點處執行邊緣處理,對于處理模擬信號特別有利。在 IIoT 發展的早期階段,處理模擬數據可能會很簡單,但可擴展性是一個問題:后期的改進會導致計算的復雜性增加。通過網絡發送所有原始模擬數據會增加網絡流量,而在網絡中心處理器上處理所有這些數據,也會占用寶貴的計算時間。因此,在邊緣處理模擬數據是一種提高網絡效率的切實可行的方法。
使用智能 ADC 在邊緣處理模擬數據
在邊緣處理成百上千個 ADC 數據樣本,這很容易使 IIoT 端點的主微控制器不堪重負。對于復雜的模擬傳感器,明智的設計決策是使用自帶處理能力的外部 ADC。這不僅可大大減輕 IIoT 端點微控制器的負擔,而且使 ADC 的自校準更加容易。
為了實現高性能的 ADC 數據捕獲和處理,Analog Devices 提供了一系列精密的模擬微控制器。ADuCM360BCPZ128-R7 精密模擬微控制器使用 Arm® Cortex®-M3 控制兩個 24 位三角積分 ADC(圖 1)。ADC 能夠每秒捕獲 4 千個模擬傳感器數據樣本 (kSPS)。此外,ADuCM360 還帶有一個 12 位數模轉換器 (DAC),用于產生精確的電壓以進行自我校準。該微控制器的工作電壓范圍為 1.8 至 3.6 V,并包含一個內部 32 kHz 振蕩器和一個內部 16 MHz 振蕩器,從而減少了空間受限系統中的元器件數量。
ADuCM360 配有 128 KB 的閃存和 8 KB 的 SRAM。ADuCM360 的一大優勢是可以直接寫入閃存位置,類似于寫入 SRAM。這使固件開發人員可以輕松地將閃存存儲塊劃分為程序存儲器和 EEPROM。在數據采集系統中,這允許將 EEPROM 分區存儲塊用于存儲 ADC 校準數據。
閃存支持直接 32 位擦除和寫入(不支持 16 位和 8 位擦除和寫入)。閃存寫入和擦除操作需要消耗大量的電流,因此在電池供電的應用中,一次寫入 32 位的能力可以節省大量電力。與每次只能寫入和擦除一個存儲塊或一頁的閃存微控制器相比,這具有顯著的低功耗優勢。
該閃存還支持常規的閃存擦除命令,例如頁面擦除和整個閃存陣列的大規模擦除。憑借這些功能,開發人員可以輕松編寫子例程,根據從 IIoT 端點主機微控制器通過串口發送的命令更新固件。這一點很重要:如果 ADuCM360 無法通過串口輕松更新固件,則會嚴重限制其在數據采集系統中的靈活性,因為能夠更新控制 ADC 的固件,這與 ADC 本身同樣重要。
高效的單芯片數據采集系統
兩個 24 位 ADC 均連接到一個輸入多路復用器,共支持 11 個單通道或 6 個差分輸入。四個內部通道可以監測內部溫度傳感器以及 12 位 DAC 的輸出,還有一個內部低漂移帶隙基準。這些可用于執行 ADC 的自校準。DAC 可以經過編程,以輸出每個 ADC 都可以讀取的一系列電壓。ADC 還可以對內部帶隙基準電壓進行采樣。固件可以處理這些讀數,以便可以在溫度范圍內校準 ADC,并將校準常數存儲在 EEPROM 中。
當用作單芯片數據采集系統時,ADC 可以經過編程,以高達 4 kSPS 的采樣率采集連續的模擬數據樣本。一個 11 通道直接存儲器訪問 (DMA) 控制器可以將這些數據傳輸至 SRAM。然后,固件可以應用 EEPROM 中存儲的校準常數來修改數據,并在必要時根據溫度進行校正。接下來,固件可以根據應用的要求處理數據,同時 DMA 將其他 ADC 數據傳輸至 SRAM。
對存儲的 ADC 數據處理完成后,結果可以發送到串行接口以待傳輸到 IIoT 端點微控制器,或者如果需要傳輸多個數據樣本,DMA 可以將數據批量傳輸到串行接口。采用這種方式,一個高效的數據采集系統可以同時對一組 ADC 數據進行采樣并以 DMA 傳輸至 SRAM、處理第二組 ADC 數據,并將第三組 ADC 數據以 DMA 傳輸至串行接口。
模擬輸入信號可通過可編程增益放大器 (PGA) 進行放大,并且可以將其設置為 2 的冪,支持的增益值包括 2、4、8、16、32、64 和 128。這樣就可以放大很小的電壓,以實現更精確的 ADC 采樣。
雖然其他功能還包括一個 16 位六通道脈沖寬度調制 (PWM)、19 個通用 I/O (GPIO)、兩個 16 位通用定時器、一個 32 位喚醒/看門狗定時器,以及一個外部中斷系統,但讓應用固件保持專注于支持其 ADC 捕獲和數據處理的主要用途非常重要。若要求 ADuCM360 執行與其模擬數據捕獲主要用途無關的附加功能,很容易導致功能蔓延,從而干擾該用途,同時還會使固件更新復雜化。
超低功耗特性
盡管 ADuCM360 具有高端模擬功能,但在高性能條件下,它仍然能夠實現低功耗。在正常工作模式下,Cortex-M3 內核僅消耗 290 微安 (µA)/MHz。在系統時鐘為 0.5 MHz、兩個 ADC 都在取樣、所有定時器都在運行、PGA 增益為 4 的情況下,當從 SPI 接口訪問時,微控制器僅消耗 1 毫安 (mA) 的電流。這是在輸入緩沖器關閉的情況下,因為緩沖器電壓存儲會增加功耗。當處于僅喚醒定時器運行的休眠模式時,微控制器僅消耗 4 µA 的電流。這使得 ADuCM361 適用于電池供電的 IIoT 端點。
對于不需要兩個 ADC 速度的不太復雜的應用,Analog Devices 提供了 ADUCM361BCPZ128-R7。除了只有一個三角積分 24 位 ADC 外,它與 ADuCM360 相同(圖 2)。
在一些應用中,如不需要兩個 24 位 ADC 同時運行來提供高性能,則使用 ADuCM361 可以降低系統成本和電路板功耗。單個 ADC 也連接到一個多路復用器,總共支持 11 個單通道或 6 個差分輸入。此外,該器件也可使用 12 位 DAC、內部帶隙基準和溫度傳感器進行自校準。
ADuCM361 與 ADuCM360 引腳兼容。這樣一來,一種印刷電路板布局就可用于這兩款產品。這簡化了產品開發和物料清單 (BOM),因為 IIoT 端點制造商可以使用一款印刷電路板來生產兩款或更多產品。
數據采集系統開發
對于產品開發,Analog Devices 提供了 EVAL-ADuCM360QSPZ 評估套件(圖 3)。該評估板可連接到模擬傳感器或外部電壓源,用以開發 ADuCM360 和 ADuCM361 模擬微控制器的固件。
該評估套件可由運行 Windows 的主機通過 USB 端口訪問。這樣就可以使用目標固件對板載 ADuCM360 進行編程,以進行測試和調試。EVAL-ADuCM360QSPZ 的印刷電路板上具有 ADuCM360 的所有引腳,包括串行 I/O,因此該評估板可以通過 I2C、SPI 或 UART 連接至主機微控制器以進行實時調試。Windows 主機可以記錄 ADC 數據,還可以調試自校準程序的準確性。
總結
在過程控制等高端模擬應用中,所采用的許多 IIoT 端點需要對使用 ADC 捕獲的模擬傳感器數據進行更多的邊緣處理。ADC 數據量和邊緣處理的復雜性會使 IIoT 端點主微控制器不堪重負。主端點微控制器可改為使用串口連接至一個模擬微控制器,并且該模擬微控制器是一個自足式數據采集系統。這樣可以提高端點的性能并減少網絡流量,從而讓 IIoT 網絡更為高效。
(轉載自電子發燒友網,來源:Digi-Key,作者:Bill Giovino)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯系小編進行侵刪。