Microchip Technology Inc.资深应用工程技术顾问Bob Martin
当前,在从搅拌机到牙刷的一切设备都连接到云端的狂热浪潮中,物联网领域正由低成本的集成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位物联网领域发挥着重要作用。