随着用户对物联网(IoT)的应用程序的熟悉程度越来越高,开发人员需要通过能够证明新概念或具有竞争力的产品的全功能原型来快速应对新兴机遇。然而,大多数IoT开发解决方案都需要大量工作才能使其正常工作,特别是在软件方面。
为加快流程,开发人员需要一个能够消除许多现有障碍的IoT开发解决方案,从而使响应时间缩短到新的IoT应用程序的机会。来自北欧半导体的快速开发套件通过用于蓝牙连接无线传感器设计的完整硬件/软件解决方案来满足这一需求。
本文将讨论设计要求,引入合适的蓝牙无线解决方案,并指导开发人员如何快速地启动和运行。
无线IoT设备要求和解决方案作为高级IoT应用的数据源,无线传感器系统需要满足广泛的复杂要求。在这些要求中,对蓝牙连接的期望持续增长,以及用户对通过智能手机应用轻松实现物联网监控和控制的期望。半导体制造商通过一系列解决方案(包括蓝牙收发器IC,模块和片上系统(SoC))设备来应对日益增长的需求。
虽然每个解决方案都能满足不同类别的应用需求,但蓝牙SoC已经成为可穿戴设备和小型IoT设备的特别有吸引力的解决方案。通过集成蓝牙通信子系统,这些设备提供了减少BOM,小占位面积和最小功耗的组合,而不会影响功能和性能。
在这一类设备中,北欧半导体nRF52832蓝牙SoC将处理器核心和无线电子系统与灵活的软件架构相结合,旨在简化无线系统的开发。
无线MCU基于32位的ARM ®皮质® -M4F芯,北欧nRF52832设有能够支持标准协议,包括蓝牙低功耗(BLE)和ANT,以及专有协议的嵌入式2.4GHz的收发器。在其外设中,器件集成了模拟比较器和8通道可编程增益12位模数转换器(ADC),以及三个实时计数器(RTC),32个GPIO,多个脉宽调制器(PWM) )通道和串行接口。
片上可编程外设互连(PPI)矩阵使这些外设能够同步其活动,直接或通过直接存储器访问(DMA)进行交互,而无需处理器干预。此外,该设备还集成了多个硬件块,用于高级功能,包括正交解码,AES加密和蓝牙加密服务的加速地址解析等。
该器件从其512 KB闪存运行时消耗58μA/ MHz,从其64 KB RAM运行51.6μA/ MHz。多个低功耗模式可使开发人员在应用程序处于非活动状态时降低功耗。例如,器件保持完全RAM状态并能够在任何情况下唤醒的低功耗空闲状态下,器件只消耗1.5μA。事实上,开发人员可以将设备置于特殊的恒定延时子模式中,确保CPU唤醒和PPI子系统响应的持续时间最短。开发人员使用其灵活的工作模式,外设和片上硬件模块,可以对nRF52832进行编程,以满足电源,性能和功能要求的特定组合。
通讯服务对于其所有的集成功能,nRF52832和Nordic nRF52系列其他成员之间最显着的功能之一就是通信服务架构。Nordic在早期的无线SoC系列中引入了SoftDevice架构,作为减少开发人员在使用通信协议栈的经验的方法。
SoftDevice架构作为可更新固件实现,通过提供程序员可以利用的预先测试的服务层来简化软件开发,而不会使自己的开发过程复杂化。对于BLE应用,Nordic的S132 SoftDevice提供了一个完整的蓝牙协议栈(图1)。
图1:Nordic Bluetooth SoftDevice实现了一个完整的蓝牙协议栈作为固件,提供了一整套服务,而不需要开发人员将协议栈库链接到其应用程序。(图片来源:凯利讯半导体)
SoftDevice不仅仅是一个简单的软件层,它使用了一个复杂的基于中断的模型,允许开发人员在开发过程中使用SoftDevice服务,而无需将SoftDevice代码连接到应用程序中。开发人员只需使用一组C语言API头文件中定义的一系列主管调用(SVC)访问SoftDevice应用程序编程接口(API)。
SVC被实现为软件触发的中断,因此当开发人员调用API函数时,SoftDevice SVC中断处理程序将找到正确的SoftDevice函数,并将函数参数传递给它,使用回调函数返回结果。这种方法消除了在构建时链接SoftDevice资源地址的需要,同时还提供线程安全的服务实现。
为了实现这一模式,Nordic将SoftDevice与低级中断机制和硬件资源联系起来。较低级别的中断起泡到SoftDevice,SoftDevice使用保留的IRQ将应用程序特定的中断传递给应