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