作者:Bob Martin, 資深應用工程技術顧問, Microchip Technology Inc.
當前,在從攪拌機到牙刷的一切設備都連接到云端的狂熱浪潮中,物聯網領域正由低成本的集成32位單片機RF模塊控制,這些模塊為少量傳感器輸入提供小尺寸解決方案。
Wi-Fi®、NB IoT和Bluetooth®的通信協議棧非常適合32位領域,同時還能提高計算能力以確保RF通道安全。但是,隨著傳感器通道數量的增加或更多偏遠地點所需的功耗降低,會增加系統設計的復雜性,此時按如下方式添加額外的8位MCU可以增加價值,如圖1所示:
真正的5V IO支持和傳感器聚合
工業環境仍以5V電源生態系統為主,雖然有完全支持5V電壓的32位MCU,但大多數集成32位MCU/RF為僅支持3.3V電源域的器件。在5V電源域中,允許通過GPIO更高效的8位MCU直接連接到5V電源傳感器、開關觸點和執行器,而無需添加多個電平轉換器或調整模擬電壓輸入來滿足3.3V電壓要求。
現在,只需對8位MCU和32位MCU/RF模塊之間的通信通道進行電平轉換/調整操作。在32位MCU模塊具有5V耐壓輸入的某些情況下,可能根本不需要電平轉換,也許只需要一些串聯電阻隔離。對于還需要電流隔離的情況,通過減少需要保護系統RF部分的專用IC的數量可節省更多成本。
遠程安裝通常需要更高的容錯能力,這可能會導致使用多個傳感器或執行器控制來減輕現場故障帶來的影響。冗余傳感器接口連接意味著,引腳有限的32位MCU/RF模塊上存在更多輸入/輸出引腳分配問題。8位MCU往往會提供巨大的接口引腳密度,從而允許在前端的傳感器陣列中添加一些智能容錯功能。它不需要利用機器學習算法來確定三個溫度傳感器中是否有一個發生故障。這些類型的決策可以通過更快的事件響應在本地做出。
工業傳感器集成 © xiaoliangge - stock.adobe.com
圖1. 8位/32位系統分區
系統分區
使用外部8位MCU與大多數傳感器接口,可以輕松地將已知的工作模擬/數字前端快速接入不同的RF模塊后端。集成32位MCU/RF模塊通常隨附大量示例應用程序,這些應用程序展示出連接到云是舉手之勞,無需考慮供應商。應用程序示例中可能未明確說明如何與標準I2C或SPI總線之外的傳感器或執行器接口。經過驗證的已知傳感器/控制前端具有一致且定義明確的接口,通過最大限度地簡化移植過程,還可以更靈活地選擇合適的RF模塊。一旦新RF模塊上的新物理層支持兩個MCU之間的協議層,新系統的集成工作便已基本完成。現在,可以將開發工作的重點放在新RF通道的正確實現上。
具有容錯熱插拔接口的松耦合系統是工業或遠程環境設置中的一項有益特性。有時,整體系統交換無法避免,但最理想的選擇是盡量減少對已知可靠系統的整體更改。這種松耦合還可讓受信任的已知RF平臺支持擴展的系統需求,而無需從頭開始。保留您信任的部分,改進有所不足的部分。
系統分區和架構 © myboys.me - stock.adobe.com
智能電源管理
遺憾的是,轉向更小型IC柵極技術需要在速度和靜態電流泄漏之間做出權衡。新制程節點中的柵極氧化層厚度即將達到以原子數而非納米數計算的最佳厚度。8位MCU領域由更大的制程工藝主導,這些工藝可實現更出色的靜態泄漏率。由于最佳低功耗管理技術從定義上來說就是同時切斷電源,因此添加智能低功耗管理器件可以改善低功耗運行。一些8位MCU器件的工作電流運行在標準32.768 kHz晶振下,而此晶振會在32位RF模塊上泄漏電流。這種方法現在增加了基于精確時間的電源管理系統,還擁有為電池充電和監視電池運行狀況的能力。32位RF模塊(特別是基于Wi-Fi的單元)的有功電流可以達到數百毫安。如果電池組電量即將耗盡,可能無法維持連接到網絡所需的啟動和傳輸電流。
基于8位MCU的電源管理系統現在可以使用特殊的喚醒命令來喚醒主RF模塊,此命令可降低所需的電流需量,從而使RF模塊以最佳相序保持在線。現在,這種特殊喚醒用例可以使用降低TX功率的方法來最終建立到網絡的連接。8位MCU電源管理系統可以定期監視峰值啟動電流和電壓下降,并在每個喚醒周期提交這些數據。適當的云機器學習引擎可以利用這些數據來更好地分析電池系統并預測故障。
低功耗遠程應用 © aquatarkus - stock.adobe.com
編程模型/MCU復雜性
在過去幾年中,32位MCU/RF模塊的編程難度顯著降低。其中一些模塊提供基于Arduino的支持,這肯定有助于加快開發速度,但當涉及到更多客戶傳感器、電源管理或其他外設接口時,編程難度會提高。Arduino支持代碼十分龐大,但在許多情況下并不完整,并且在專業領域仍然存在一些信任問題。此外,IC供應商本身也提供支持,但歸根結底,無法避免在裸金屬層集成32位RF模塊帶來的額外復雜性。所有基于32位的控制寄存器對于一些控制位或狀態位來說似乎都太大了,盡管轉向32位時確實會發生這種情況,但在目前,并非所有人都能在像0x23AA123C這樣的外設控制值中直觀地挑出錯誤的位。
8位MCU編程模型以8位區塊的形式呈現常見的接口,有時會擴展到16位以便用于定時器寄存器。除了能夠更輕松地調試位域外,8位MCU上的外設集往往更易于理解,因為它們不需要涉及或提供更復雜的降低功耗或總線接口同步功能。8位MCU中的時鐘樹也更易于理解,即使在時鐘樹中提供PLL,操作也更加簡單。然而,這正是使用8位MCU配套器件的全部意義所在,提供低功耗、低成本、智能但不能流暢支持物聯網的器件,以處理所有后臺、電源管理和繁瑣的任務。
Microchip提供了幾個8位MCU器件的示例,包括PIC18-Q41系列和AVR DB系列。這兩個系列均提供大量模擬功能,包括片上運算放大器和多電平電壓GPIO,減少了對額外的外部模擬元件和電平轉換器的需求。
雖然可用的多核32位MCU/RF模塊的數量在不斷增加,但在物聯網環境中,設計穩健的低功耗邊緣節點時,添加8位MCU仍然是可行的選擇。它們以小型封裝形式提供電源和傳感器管理,因此仍然在32位物聯網領域發揮著重要作用。