0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

构建物联网无线传感器的蓝牙无线解决方案

电子设计 来源:郭婷 作者:电子设计 2019-03-22 08:00 次阅读

随着用户越来越熟悉物联网IoT)的应用程序,开发人员需要通过能够证明新概念或竞争产品的全功能原型快速响应新兴机会。然而,大多数物联网开发解决方案需要付出巨大努力才能使它们正常工作,特别是在软件方面。

为了加快这一过程,开发人员需要一个能够消除许多现有障碍的物联网开发解决方案,从而减缓响应速度适应新物联网应用的机会。 Nordic Semiconductor的快速开发套件满足了这一需求,为蓝牙连接的无线传感器设计提供了完整的硬件/软件解决方案。

本文将讨论设计要求,介绍合适的蓝牙无线解决方案,并指导开发人员如何快速启动和运行。

无线物联网设备要求和解决方案选项

作为高端物联网应用的数据源,无线传感器系统需要满足广泛需求一系列复杂的要求。在这些要求中,对蓝牙连接的期望不断提高,以及用户对通过智能手机应用轻松实现物联网监控的期望。半导体制造商通过一系列解决方案(包括蓝牙收发器IC,模块和片上系统(SoC)器件)满足了这一日益增长的需求。

虽然每种解决方案都满足不同类别的应用要求,但蓝牙SoC已经成为可穿戴设备和微型物联网设备的一个特别有吸引力的解决方案。通过集成蓝牙通信子系统,这些设备可在不影响功能和性能的前提下,降低BOM,占地面积小,功耗最小。

在此类设备中,Nordic Semiconductor nRF52832蓝牙SoC将处理器核心和无线电子系统与灵活的软件架构集成在一起,旨在简化无线系统的开发。

无线MCU

基于32位ARM ® Cortex ® -M4F内核,Nordic nRF52832具有嵌入式2.4 GHz收发器,能够支持包括蓝牙低功耗(BLE)在内的标准协议和ANT,以及专有协议。在其外设中,该器件集成了模拟比较器和8通道可编程增益12位模数转换器ADC),以及3个实时计数器(RTC),32个GPIO,多个脉冲宽度调制器(PWM)通道和串行接口

片上可编程外设互连(PPI)矩阵使这些外设能够同步其活动,直接交互或通过直接内存访问(DMA)进行交互,无需处理器干预。此外,该器件还集成了多个硬件模块,用于高级功能,包括正交解码,AES加密和蓝牙加密服务的加速地址解析等。

该器件的功耗为58μA/MHz 512 Kbyte闪存或51.6μA/MHz从其64 KB RAM运行。多种低功耗模式使开发人员能够在应用程序处于非活动状态时降低功耗。例如,器件在低功耗空闲状态下仅消耗1.5μA,其中器件保持完全RAM状态并且能够在任何事件中唤醒。实际上,开发人员可以将设备置于特殊的恒定延迟子模式,以确保CPU唤醒和PPI子系统响应的持续时间最短。利用其灵活的工作模式,外设和片上硬件模块,开发人员可以对nRF52832进行编程,以满足功耗,性能和功能要求的特定组合。

通信服务

对于其所有集成功能,nRF52832和Nordic nRF52系列其他成员最显着的特点之一是其通信服务架构。 Nordic在早期的无线SoC系列中引入了SoftDevice架构,以减少开发人员使用通信协议栈时的摩擦。

SoftDevice体系结构作为可更新的固件实现,它通过提供程序员可以利用的预先测试的服务层来简化软件开发,而不会使自己的开发过程复杂化。对于BLE应用,Nordic的S132 SoftDevice提供了完整的蓝牙协议栈(图1)。

构建物联网无线传感器的蓝牙无线解决方案

图1:Nordic Bluetooth SoftDevice实现了完整的蓝牙协议作为固件堆栈,提供全套服务,无需开发人员将协议栈库链接到其应用程序。 (图片来源:Nordic Semiconductor)

SoftDevice不仅仅是一个简单的软件层,它使用复杂的基于中断的模型,允许开发人员在开发过程中使用SoftDevice服务而无需将SoftDevice代码链接到他们的应用程序中。开发人员只需使用一组C语言API头文件中定义的一系列Supervisor调用(SVC)访问SoftDevice应用程序编程接口(API)。

SVC实现为软件触发的中断,因此当开发人员调用API函数,SoftDevice SVC中断处理程序找到正确的SoftDevice函数并将函数参数传递给它,使用回调函数返回结果。这种方法消除了在构建时链接SoftDevice资源地址的需要,同时还提供了线程安全的服务实现。

为了实现这个模型,Nordic将SoftDevice与低级中断机制和硬件资源联系起来。较低级别的中断冒泡到SoftDevice,它使用保留的IRQ将应用程序特定的中断传递给应用程序,并自行处理剩余的中断。此外,作为其服务职责的一部分,SoftDevice直接访问设备硬件,包括无线电和其他外围设备。

为了避免可能争用共享硬件资源,Nordic提供了一个时间段功能,可以调度资源之间的资源分配。 SoftDevice和定义的时间间隔内的应用程序。应用程序可以在给定时间请求最早的时间段或一个时间段。尽管这种机制具有潜在的复杂性,但Nordic的API减少了应用程序对一些高级调用的负担。例如,应用程序可以通过打开无线电会话(清单1)以及实际广告操作的回调(清单2)来启动信标。在每次传递期间,回调递增一个简单的枚举类型(清单3)以逐步执行一系列状态,直到广告过程完成( mode == ADV_DONE )。

复制 void app_beacon_start(void){if(m_beacon.is_running || m_beacon.keep_running){return; } DEBUG_PRINTF(0,“app_beacon_start:\ r \ n”); m_beacon.keep_running = true; m_beacon.is_running = true; uint32_t err_code = sd_radio_session_open(m_timeslot_callback); if((err_code!= NRF_SUCCESS)&&(m_beacon.error_handler!= NULL)){m_beacon.error_handler(err_code); } err_code = m_request_earliest(NRF_RADIO_PRIORITY_NORMAL); if((err_code!= NRF_SUCCESS)&&(m_beacon.error_handler!= NULL)){m_beacon.error_handler(err_code);清单1:Thingy软件包包括示例例程,例如 app_beacon_start ,它演示与SoftDevice的交互以创建具有特定回调的无线电会话( m_timeslot_callback )并请求最早的可用无线电时隙用于信标传输( m_request_earliest )。 (代码来源:Nordic Semiconductor)

复制 static nrf_radio_signal_callback_return_param_t * m_timeslot_callback(uint8_t signal_type){static nrf_radio_signal_callback_return_param_t signal_callback_return_param; static enum mode_t mode; signal_callback_return_param.params.request.p_next = NULL; signal_callback_return_param.callback_action = NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE; switch(signal_type){case NRF_RADIO_CALLBACK_SIGNAL_TYPE_START:m_handle_start(); mode = ADV_INIT;模式++;打破; case NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO:if(NRF_RADIO-> EVENTS_DISABLED == 1){NRF_RADIO-> EVENTS_DISABLED = 0; m_handle_radio_disabled(模式); if(mode == ADV_DONE){DEBUG_PRINTF(0,“app_beacon_adv_done:\ r \ n”); NRF_PPI-> CHENCLR =(1 << 8); if(m_beacon.keep_running){signal_callback_return_param.params.request.p_next = m_configure_next_event(); signal_callback_return_param.callback_action = NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END; } else {signal_callback_return_param.callback_action = NRF_RADIO_SIGNAL_CALLBACK_ACTION_END;打破} mode ++;打破default:if(m_beacon.error_handler!= NULL){m_beacon.error_handler(NRF_ERROR_INVALID_STATE);打破} return(&amp; signal_callback_return_param);}

清单2:Thingy软件包提供了样本软件,它提供了代表性的设计模式,例如使用此处显示的回调例程来执行一系列信标广告的无线电操作。 (代码来源:Nordic Semiconductor)

复制 enum mode_t {ADV_INIT,/**初始化。 */ADV_RX_CH37,/**在Rx频道37上做广告。*/ADV_RX_CH38,/**在Rx频道38上做广告。*/ADV_RX_CH39,/**在Rx频道39上做广告。*/ADV_DONE/**完成广告。 */};

清单3:Thingy软件包中的示例回调例程使用此枚举类型在信标通告序列期间使系统走过一系列阶段。 (代码来源:Nordic Semiconductor)

nRF52832的SoftDevice服务和集成硬件功能为无线传感器系统的开发提供了有效的基础,且零件数量最少。然而,这些SoC器件的复杂性可以为设计人员提供实现传感器设计的重要学习曲线,更不用说完整的物联网应用。 Nordic Semiconductor NRF6936 Thingy:52 IoT传感器套件可帮助开发人员显着缩短开发有用的蓝牙连接传感器系统所需的时间。

快速开发Thingy

Nordic Thingy:52套件优惠用于无线传感器设计的快速原型解决方案。该套件基于nRF52832蓝牙SoC,旨在提供开箱即用的全部功能,无需硬件或固件开发即可实现带有连接移动应用程序的物联网传感器解决方案。

其功能中, nRF6936板包括一个完整的传感器套件,包括:

Rohm Semiconductor BH1745色彩传感器

STMicroelectronics HTS221湿度传感器

STMicroelectronics LPS22HB压力传感器

ams CCS811气体传感器

STMicroelectronics MP34DB02 MEMS麦克风

TDK InvenSense MPU-9250惯性测量单元(IMU)传感器

与...用于完整9轴运动跟踪的MPU-9250 IMU,Thingy板包括一个独立的专用运动传感器,STMicroelectronics LIS3DH加速度计,用于唤醒系统运动。 LIS3DH直接从板载稳压器获取电源,确保无论VDD状态如何都能保持供电。参考设计包括原理图,显示LIS3DH如何保持隔离,通过设计中提供的外部I 2 C总线连接以支持外部硬件(图2)。

构建物联网无线传感器的蓝牙无线解决方案

图2:Thingy参考设计提供完整的原理图并演示设计技术,例如使用STMicroelectronics LIS3DH加速度计在移动时唤醒空闲MCU。 (图片来源:Nordic Semiconductor)

如图2所示,此设计中使用的智能传感器降低了复杂性,需要与主机进行简单的双线I 2 C连接。通过这种参考设计,Nordic演示了一种简单的方法,可以在设计占地面积上进行最小的增量交换,从而在低活动期间显着降低功耗。在这里,设计将一些传感器耦合到专用的NXP NX3DV2567模拟开关,当操作条件允许时,MCU允许MCU(通过MPU_WR_CTRL)断开特定传感器与电源,MCU中断和I 2 C总线的连接。 (图3)。

构建物联网无线传感器的蓝牙无线解决方案

图3:Thingy硬件设计利用了集成传感器(如TDK InvenSense MPU-9250运动传感器)所需的简单硬件接口,但是增加了恩智浦NX3DV2567模拟开关,将传感器与系统分离,以节省电能。 (图片来源:Nordic Semiconductor)

开发人员可以通过添加外部设备来扩展Thingy硬件补充。四个连接器支持Grove 4针格式,允许设计人员通过大量可用的Grove兼容设备轻松添加硬件功能。额外的2 x 10引脚接头带来了额外的MCU端口,甚至包括四条缓冲线。这些线路均包含一个DiodesDMN3190LDW N-MOS晶体管,能够驱动LED或小型直流电机等外部元件。事实上,Thingy设计为设计人员提供的I/O数量超过了nRF52832自身的GPIO引脚数。 Nordic增加了一套Semtech Corp SX1509 GPIO扩展器,以增强Thingy系统设计的I/O能力。

由于Thingy的I/O可扩展性,硬件开发人员只需将外部设备连接到电路板即可创建原型设计。全面的软件平台为软件工程师提供了相同的易开发性。

软件平台

Thingy开发平台扩展了nRF52软件开发套件(SDK),并提供了一系列所需的服务。让应用程序开发人员专注于更高级别的流程而不是低级别的流程(图4)。例如,Thingy软件包添加了一层传感器驱动程序,这些驱动程序构建在SDK的外围驱动程序和硬件抽象层(HAL)上,以处理诸如配置传感器,启动或停止传感器以及检索传感器数据等操作。

构建物联网无线传感器的蓝牙无线解决方案

图4:Thingy软件包扩展了Nordic nRF52软件开发套件(SDK),其中包含专为Thingy设计的应用级服务和实用程序模块应用。 (图片来源:Nordic Semiconductor)

Nordic通过一系列客户开发资源完善了从传感器到移动应用的物联网链。该公司提供单独的开放存储库,其中包含适用于iOS开发人员的Swift中的库和示例应用程序以及适用于Android开发人员的Java。此外,另一个开放式存储库提供了一个JavaScript库,用于开发基于Polymer Web组件库和Web蓝牙API构建的Web应用程序。

只需从Apple App商店或Google Play商店下载Nordic Thingy应用程序,开发人员就可以快速了解Thingy操作。开发商随后启动了Thingy,它采用嵌入式1440 mAh锂离子电池供电,通过USB电源连接进行充电。在应用程序发现并连接到Thingy系统后,它会提供传感器数据的运行显示(图5)。该应用甚至支持与IFTTT的连接,允许用户使用由Thingy数据触发的IFTTT事件链创建基于云的applet。

构建物联网无线传感器的蓝牙无线解决方案

图5:配套应用程序通过蓝牙与Thingy系统交互,提供传感器数据的运行显示以及Thingy配置和固件的服务更新。 (图片来源:Digi-Key

在Thingy参考设计和软件平台的基础上,开发人员可以快速扩展Thingy系统以满足他们自己的特定要求。开发人员可以使用KeilμVision或GCC使用ARM Cortex-M的GNU工具链编译新的Thingy固件。 Thingy系统提供安全的无线更新设施,用于加载新固件。标准的Thingy应用程序包括一个选项,用于从Nordic更新到最新版本的Thingy固件,或者由开发人员使用Nordic提供的开源实用程序创建的自定义固件包。

结论

在充满快速变化的物联网机会的市场中,开发人员面临着更快地对复杂应用程序进行原型设计的需求。虽然开发人员可以找到越来越多的物联网开发平台,但是当工程师完成与这些平台相关的复杂实现细节时,项目经常会发生绊倒。

Nordic Thingy:52通过快速原型设计平台简化了物联网开发,该平台隐藏了底层硬件设计和软件架构的复杂性。使用Nordic Thingy套件,开发人员可以快速构建支持蓝牙的多传感器系统原型 - 后来以Thingy参考设计为基础,创建自定义物联网设备。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    112

    文章

    5421

    浏览量

    165577
  • 物联网
    +关注

    关注

    2866

    文章

    41545

    浏览量

    358117
  • 无线传感器
    +关注

    关注

    15

    文章

    767

    浏览量

    98039
收藏 人收藏

    评论

    相关推荐

    2.4GHz芯片SI24R03无线网络传感器方案

    体系。 01方案介绍 1、技术原理: 方案采用2.4GHz芯片SI24R03作为无线网络传感器的核心节点,可以用于构建环境监测系统,如空气
    发表于 03-18 01:47

    桂花网蓝牙温度监测方案:实现稳定可靠的无线温度监测

    一、引言温度监测在许多领域具有重要意义,如工业生产、医疗护理和环境监测等。为了提供稳定、高效的温度监测解决方案,桂花网推出了基于蓝牙网关的温度监测方案。该方案利用桂花网提供的
    发表于 01-30 14:25

    无线传感器如何联网无线传感器如何通信?

    无线传感器如何联网无线传感器如何通信? 无线传感器
    的头像 发表于 12-15 10:10 813次阅读

    什么是无线联网传感器,为什么无线联网传感器有用呢?

    什么是无线联网传感器,为什么有用? 无线联网传感器(Wireless Internet of
    的头像 发表于 12-15 10:10 575次阅读

    联网构建模块:构建物联网的技术和解决方案

    电子发烧友网站提供《物联网构建模块:构建物联网的技术和解决方案.pdf》资料免费下载
    发表于 11-22 10:39 0次下载
    物<b class='flag-5'>联网</b>的<b class='flag-5'>构建</b>模块:<b class='flag-5'>构建物</b><b class='flag-5'>联网</b>的技术和<b class='flag-5'>解决方案</b>

    振弦传感器无线振弦采集仪在隧道安全监测的解决方案

    振弦传感器无线振弦采集仪在隧道安全监测的解决方案 隧道作为交通工程的重要组成部分,具有极高的安全风险,因此隧道安全监测是必不可少的。振弦传感器
    的头像 发表于 10-13 11:09 267次阅读

    无线传感器网络中几种无线通信技术比较分析

    网络覆盖区域中感知对象的信息,并发送给观察者。传感器感知对象和观察者构成了无线传感器网络的三个要素。红外线.IEEE8O 11、HomeRF和蓝牙技术是
    发表于 09-20 08:22

    如何构建STM32WBx5微控制的低功耗蓝牙mesh应用

    低功耗蓝牙®技术(BLE)-mesh 通过物联网(IoT)解决方案的 mesh 网络功能来连接多个低功耗技术器件。它通过嵌入式低功耗蓝牙通信技术将 STM35WBx5 产品集成到一个支
    发表于 09-07 06:30

    联网无线解决方案

    电子发烧友网站提供《物联网无线解决方案.pdf》资料免费下载
    发表于 07-29 11:26 2次下载
    物<b class='flag-5'>联网</b><b class='flag-5'>无线</b><b class='flag-5'>解决方案</b>

    无线水位传感器解决方案

    316L不锈钢材料设计,广泛适用于电缆井、电缆沟、水池、水井等场所水位的实时在线监测。 无线水位传感器解决方案 无线水位传感器
    的头像 发表于 07-17 10:10 424次阅读
    <b class='flag-5'>无线</b>水位<b class='flag-5'>传感器</b><b class='flag-5'>解决方案</b>

    高通无线蓝牙助听辅听解决方案

    高通无线蓝牙助听辅听解决方案LE Audio具备听力辅助功能。这项技术可以取代昂贵且笨重的助听设备,让更多场所能够为佩戴助听设备的人群提供音频服务。此外该技术可以推动厂商开发能够连接至手机和电视
    发表于 07-04 18:17 19次下载

    使用NRF24L01和Arduino构建无线传感器网络

    电子发烧友网站提供《使用NRF24L01和Arduino构建无线传感器网络.zip》资料免费下载
    发表于 06-09 10:07 3次下载
    使用NRF24L01和Arduino<b class='flag-5'>构建</b><b class='flag-5'>无线</b><b class='flag-5'>传感器</b>网络

    ESP无线电对PIR传感器的干扰如何解决?

    你好! 我已经阅读了很多有关 ESP 无线电对 PIR 传感器的干扰的信息,但没有明确的解决方案。我有很多误报,所以我的设计无法正常工作。 一种解决方案可能是降低
    发表于 05-23 08:17

    无线通信之蓝牙BLE技术

    联网的和传感器设备之间的“关节”的节点作用,这将从关键意义上推动物联网的真正发展。由于蓝牙技术一向关注上层应用,有统一标准,因此各种各样的底层硬件虽出自不同制造厂家,却可以互联互通,能
    发表于 05-12 17:26

    多通道振弦传感器无线采集仪蓝牙功能的使用

    多通道振弦传感器无线采集仪蓝牙功能的使用 多通道振弦传感器无线采集仪 无线采集仪内置了
    的头像 发表于 05-08 10:42 310次阅读
    多通道振弦<b class='flag-5'>传感器</b><b class='flag-5'>无线</b>采集仪<b class='flag-5'>蓝牙</b>功能的使用