同样,当一个人靠近房间控制节点时,图14所示的手势可以用来控制光强。 例如,旋转手腕顺时针方向增加光强度,而逆时针运动则会减弱光强(见图15)。
图14|手腕旋转的例子
图15|室内灯光控制示例
随着可穿戴设备中存在多个静态BLE节点和处理资源,可以在了用的准确性范围内对家庭中使用可穿戴设备的用户进行三角测量。 这个位置,连同从9轴传感器融合算法得到的方向性数据,可以使用户指向一个物体并与其进行交互。 图16显示了一个用户在多节点智能家居环境中与灯泡互动的例子。 门锁、灯泡和温度节点,每个都有一个静态位置,用来三角定位可穿戴设备在房子里的位置。数据表明用户指向的方向。 手腕手势可以用来发送控制命令或者与被指向的节点进行交互。
图16|节点控制示例
为了能够实现这样的功能,智能家居和可穿戴设备可以互动,可穿戴设备需要一个嵌入式的MCU,具有灵活和综合的架构。为了能够与可穿戴设备中的许多传感器进行接口,嵌入式单片机必须支持多个不同的标准数字和模拟接口。 MCU还可能需要多个ADC来获取信号和集成运算放大器,以减少组件和可穿戴形式。 如果可穿戴设备支持一个电容式触摸显示器,它将需要传感器和处理资源来实现各种触摸元件,包括按钮、滑块和近距离传感器。 图17显示了可穿戴设备可能需要的许多功能。
图17|适合智能家居的可穿戴设备架构
此外,如前所述,双核体系结构将使开发人员能够提供足够的处理能力,同时保持整体的低功耗操作。 图18显示了如何在一个低功耗核心(Cortex-M0 +)和一个高性能核心(Cortex-M4)之间的功能分区。
图18|低功耗核心(M0 +)与高性能核心(M4)之间的功能划分
低功耗运行及效率
低功耗对于使用电池的可穿戴设备来说是必不可少的。 嵌入式单片机需要支持多种操作模式,以使开发人员能够优化电能效率。 除了极低的睡眠和休眠模式外,MCU应该能够动态地测量核心的电压和频率。
为了理解动态电压和频率缩放如何能够节省大量电力,可以考虑指纹传感器的例子。 当指纹传感器没有使用时,系统可以记录到较低的频率和电压,比如48兆赫和0.9v(ULP)核心操作。 当指纹被启用和运行时,指纹传感器的指纹中断指示指纹,系统会被记录到更高的频率和电压,以提供实时处理,按96mhz 和1.1v的核心操作进行实时处理。 由于指纹操作不是那么频繁,设备大部分时间都是在ULP 模式下运行,从而大大降低了整体功耗(见图19)。
图10|PSoC 6 BLE的电源管理示例
另一个优化功率效率的例子是通过管理PMIC控制器。 例如,嵌入PSoC 6的 MCU 可以关闭向其自身提供VDD的PMIC。 可以通过开关机启用PMIC。 这就消除了对外部控制PMIC 的专用逻辑需要。 在这种功率下降模式下,单片机几乎没有任何电流,仍能保持时间存活。 当需要的时候,它也可以被唤醒。
安全性
可穿戴设备和智能家庭网络之间的安全通信非常重要。安全性可以在嵌入式单片机内实现多层次的安全性:
BLE安全性
嵌入式单片机需要支持最新的安全更新到 BLE 规范,其中包括BLE安全连接和私密的链路层。链接层隐私提供一个可解析的私人地址,使黑客难以嗅到设备。
OTA安全性
安全引导确保MCU只执行信任代码。 与OTA结合使无线应用程序能够更新,并且只允许在设备中执行可信代码。
加密处理器
在硬件中处理加密方法大大简化和加速复杂的安全算法,减少开发难度并最小化CPU的干预。
外部存储的实时解密
除了加密处理器外,嵌入式处理器还可以在串行存储器接口上提供实时的加密/解密。 这种能力极大地简化了外部存储中加密代码和数据的存储,并提供了一个强大的实现。
结束语
本文涵盖了智能家居设备/控制器和可穿戴设备设计的许多重要方面。双核体系结构为开发人员提供了实时分析传感器数据所需的处理能力,同时以最大的功率效率管理实时系统任务。
表3总结了在智能家电和可穿戴设备中可以实现的许多功能。
物联网需求功能/实现安全性提供安全的存储和传输个人数据与芯片加密处理器;使可编程硬件和固件的可编程硬件和固件安全启动安全(OTA)升级始终运行和低功耗低功耗体系结构可以在不牺牲性能的情况下启用"始终"应用程序;动态电压和频率缩放使得性能和功率关键处理灵活性与集成性一种双核的 MCU 体系结构,可以在不牺牲性能的情况下启用"始终"应用程序;电容式感应技术使得用户界面更加灵活;ADC 可编程模拟块,包括电流,DAC和差分 ADC;易于使用,固件可配置外设无线连接集成的BLE和免费的BLE协议栈,增强了安全性、隐私性和吞吐量。
参考资料
PSoC 6 MCU: PSoC 63 with BLE Datasheet Programmable System-on-Chip (PSoC)
PSoC 63 with BLE Architecture Technical Reference Manual (TRM)
AN210781 - Getting Started with PSoC 6 MCU with Bluetooth Low Energy (BLE) Connectivity
AN219528 - PSoC 6 MCU Low-Power Modes and Power Reduction Techniques
AN215656 – PSoC 6 MCU Dual-Core CPU System Design
AN213924 - PSoC 6 MCU Bootloader Software Development Kit (SDK) Guide
AN217666 – PSoC 6 MCU Interrupts
AN218241 - PSoC 6 MCU Hardware Design Considerations
AN92239 - Proximity Sensing with CapSense
AN219434 - Importing PSoC Creator Code into an IDE for a PSoC 6 Project
AN91445 - Antenna Design and RF Layout Guidelines