如何在单板计算机上构建无线传感器电路

电子说

1.2w人已加入

描述

  打造新的多传感器系统可能是一项艰苦工作,因为您必须确保设计符合传感器的特定要求,并做到长期的准确性和可靠性。当根据应用的要求,需要更多无线连接时,设计师很难提供这样一种解决方案——既能最大限度提高无线电灵敏度,扩大其覆盖范围,又能维持无噪声信号链运行。专为传感器应用而设计的单板计算机(SBC)可提供出色的解决方案,来满足无线传感器的复杂要求,而不影响紧凑的项目时间表。

  通常,传感器系统设计会将微控制器(MCU)与更多的模拟电路与数字控制逻辑相结合,后者用于准确可靠地获取并发送传感器数据(图1)。SBC可通过提供结合软硬件与传感器应用开发工具的测试平台,来加快这些系统的设计。开发人员可以专注于优化所需的特性与功能以满足其独特应用的特定要求,而不必花时间重新创建众多传感器设计所通用的基本系统。

  单板计算机

  德州仪器和NXP推出的专业板级系统专门用于传感器应用,结合了无线传感器硬件和专业软件库,以及能帮助加快设计和测试这些应用的完整开发环境。

  紧密集成的SBC

  德州仪器SensorTag提供一种紧密集成的解决方案,可以在仅5x6.7x1.4cm的封装内提供全面的传感器处理系统。SensorTag基于TICC2650无线MCU的功能构建,并增加了一些必要的元器件,用于连接CC2650与在SensorTag板上构建的多个传感器和用户接口备(图2)。

  单板计算机

  TISensorTag专门用于所连接传感器应用的快速开发,是一个全面的、可支持许多不同开发风格的开发套件。实际上,开发人员使用其默认模式就可以开始快速处理传感器数据。在以默认模式启动后,SensorTag会向智能手机等支持低功耗蓝牙的核心设备广播自己。开发人员通过云端从SensorTag即可访问传感器数据,或者使用JavaScript和jQuery直接访问数据。在此模式下,开发人员可以使用Android或iOS移动应用作为起点,或根据与套件一起提供的网络应用项目样例中的源代码写入独立于HTML5平台的代码。

  对于更复杂的定制应用,SensorTag硬件会提供一个基于开放式硬件解决方案构建的高级开发平台。其中,开放式硬件解决方案旨在展示如何使用多样化低功耗传感器。开发人员可以使用称为DevPack的子卡进一步扩展SensorTag,这使设计和测试其他类型的传感器和致动器变得容易。需要特别说明的是,SensorTag和可用的DebugDevPack结合后,可提供一个实惠、全面的平台,用于为传感器应用开发定制软硬件(图3)。

  单板计算机

  对于无线部署,SensorTag套件包括低功耗蓝牙(BLE)堆栈,进而在TI实时操作系统(TI-RTOS)软件环境中运行。TI-RTOS是一个实时、先占式、多线程操作系统,可以同步执行应用程序与BLE协议栈,此二者皆在RTOS内作为单独任务运行。在此,BLE堆栈按最高优先顺序运行,以帮助确保可靠通信。

  在SensorTag中,无线事务本身利用CC2650的集成RF核心,其中包括与模拟RF及基带电路集成的ARM®Cortex®-M0处理器。尽管工程师无法对RF核心的M0处理器进行编程,但TI提供高级别、基于命令的应用编程接口(API),可实现从主处理器上运行的代码发布命令至RF核心。RF核心转而使用其专用的4KBSRAM(用于数据)和ROM(用于代码),以自主方式处理无线协议的时间关键型部分——减轻主CPU的负载,并保留资源供应用本身使用。

  简化的软件开发

  借助CC2650中的集成自主处理器——传感器控制器引擎(SCE),传感器信号的处理可以同样高效。正如RF核心可独立地执行无线事务,SCE可独立于主处理器控制传感器和关联的外设。因此,SCE可以运行模数转换器(ADC)或通过集成的串行外设接口(SPI)轮询数字传感器而不用唤醒主处理器,从而消除了采集传感器数据所需的的额外功耗和唤醒时间。

  与RF核心不同,工程师可以对SCE进行编程。通过使用类C语言,开发人员可以编写定制代码来执行传感器轮询或应对特殊条件和处理要求。因此,开发人员可以创建更多动态传感器处理功能,而不必依靠为传感器数据采集设置外设时常用的这种静态配置。TI针对传感器代码部署提供SensorControllerStudio(SCS),这是一种用于为SCE编写、测试和调试代码的特殊软件工具(图4)。

  单板计算机

  SCS会生成传感器控制器接口驱动程序,即一组C源文件。开发人员会转而使用TICodeComposerStudio(CCS)编译这些C源文件,其中的任何其他定制代码专门作为主要应用的一部分在CC2650的ARMCortex-M3主机处理器上运行。

  CCS是一个基于Eclipse的集成开发环境(IDE),为TIMCU系列的应用开发和调试提供给了全套工具。在其开发功能中,CodeComposerStudio包括一个不断优化的C/C++编译器、源代码编辑器、项目构建环境、调试器和分析器——全部通过IDE的单用户接口访问,该接口旨在方便开发人员完成应用程序开发的每个阶段。

  灵活的传感器解决方案

  NXP为其OM13078传感器处理运动解决方案(SPM-S)采取了不同的方法。SPM-S以NXPLPC54102MCU为基础,结合了NXP的OM13077LPCXpresso板与通过LPCXpresso的扩展接口连接的传感器扩展板(图5)。如图所示,传感器扩展板包括一个用于无线通信的BLE模块(AMS0002)和多个用于温度、压力、环境光和距离的传感器,以及用于更复杂的运动检测应用的加速计、陀螺仪和磁力仪传感器。

  单板计算机

  对于随附的运行时间软件环境,NXP提供其LPC传感器框架,其中包括系统软件和传感器处理软件(图6)。正常操作期间,LPC54102MCU会对传感器进行采样,并使用BoschSensortecBSXLite库处理传感器数据。通过无线BLE通信或LPCXpresso板支持的多个主机接口中的任一接口,可将结果进一步发送至其他设备或主机处理器。

  单板计算机

  传感器融合架构

  除了从多个传感器收集数据的基本功能外,SPM-S解决方案还具有通过专为高级情境感知应用而设计的传感器融合算法合并多个传感器输出的能力,因此在众多解决方案中脱颖而出。传感器融合功能结合了多个传感器的结果,可提供无法从任何单个传感器获得的信息。例如,专门识别方向的应用需要加速计、磁力仪和陀螺仪传感器的组合结果。NXP专门设计了SPM-S系统,以使用系统中包括的传感器融合软件来汇总多个实体传感器的数据。

  SPM-S架构中深度嵌入了对传感器融合的支持功能。正如典型的传感器系统那样,SPM-S架构会将传感器设备识别为连接至SPM-S硬件的独特实体设备。软件使用sensors.h传感器头文件中提供的唯一ID访问每个设备(图7)。

  单板计算机

  要在应用层级支持传感器融合,SPM-S架构可利用其在底层软件层支持虚拟传感器来扩展此基本概念。单个虚拟传感器包含多个物实体传感器,这些传感器的结果按照传感器融合算法合并后产生新信息。

  例如,对计算方向信息所需的加速度计、磁力仪和陀螺仪传感器数据进行合并而产生的传感器融合结果,会由虚拟方向传感器传回。在SPM-S开发环境中,开发人员可以指定系统的SensorMap阵列中的虚拟传感器(图8)。在此阵列中,会将每个虚拟传感器列为单个条目,并由该条目指定该虚拟传感器使用哪些实体传感器。

  单板计算机

  SPM-S架构中的另一个深度嵌入功能,可以在一个虚拟传感器中结合多个传感器的结果时帮助维持同步。

  准确的传感器融合结果需要准确计时,以确保按传感器融合算法只合并相同“时间点”的样本。在SPM-S中的中断驱动采样期间,传感器会按预先定义的速率自主采样并在结果就绪时产生中断。每个中断驱动的传感器都有关联的中断处理程序,中断处理程序只是在发生中断时存储时间戳;实际的传感器结果读取在后续服务程序中执行。此方法有助于维护所需的准确时序数据,以从多个单独物理传感器的数据生成准确的虚拟传感器结果。

  结论

  基本无线传感器系统的设计可能会形成影响项目时间表,以及不利于应用本身的重大挑战。专业的单板计算机为传感器处理提供成熟可靠的软硬件基础,让各公司可以将资源更明确地集中于差异化的传感器应用。通过使用SBC及其关联的开发环境,工程师可以快速开发传感器应用,甚至扩展基本的软硬件以打造满足更复杂要求的定制解决方案。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分