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

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

3天内不再提示

创建众多传感器设计所通用基本系统

工程师兵营 2018-08-16 09:26 次阅读

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

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

图 1: 大多数传感器系统都采用共同的设计,其中包含用于传感器信号采集的微控制器 (MCU) 和模拟前端 (AFE)、用于将传感器数据发送至其他设备或主机系统的通信子系统。 (图片来源: Texas Instruments)

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

紧密集成的 SBC

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

图 2:Texas Instruments SensorTag 利用 TI CC2650 无线 MCU 的无线通信及传感器处理的集成功能,为传感器应用的快速开发提供多个传感器和接口。 (资料来源: Texas Instruments)

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

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

图 3:Texas Instruments 的 SensorTag Debugger DevPack 用于为 SensorTag 增加测试和调试功能,包括 JTAG 调试功能、可简化硬件添加的 Grove 连接焊盘(例如添加 Seeed Technology 的 Grove 指纹传感器时)。 (图片来源:Texas Instruments)

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

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

简化的软件开发

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

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

图 4:开发人员使用 TI Sensor Controller Studio 软件开发工具和类 C 语言对 CC2650 的集成传感器控制器引擎进行编程。 这会生成 C 源代码,以纳入专门在 CC2650 无线 MCU 上运行的主要应用中。 (图片来源: Texas Instruments)

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

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

灵活的传感器解决方案

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

图 5:NXP 提供了一种传感器解决方案。该方案结合了 LPC54102 LPCXpresso 板与装载多个传感器的扩展板,以及包括完整传感器软件库的全套开发环境。 (图片来源: NXP)

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

图 6:开发人员在 NXP 的 LPC 传感器框架上构建传感器应用,该框架提供全面的运行时间环境,包括系统服务和传感器信号处理,以及通过 Bosch Sensortec BSX Lite 库对传感器融合应用的内置支持功能。 (图片来源: NXP)

传感器融合架构

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

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

图 7:每个实体传感器都可以通过传感器头文件 sensors.h 中的 PhysSensorId 计数器中定义的唯一传感器 ID 来识别。 (图片来源: NXP)

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

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

NXP SensorMap 阵列的图片

图 8: SensorMap 阵列描述了向虚拟传感器提供数据的物理传感器。 例如,方向的虚拟传感器使用加速计、磁力仪和陀螺仪等实体传感器。 (图片来源: NXP)

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

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

结论

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

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

    关注

    2526

    文章

    48077

    浏览量

    740002
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125635
  • cc2650
    +关注

    关注

    3

    文章

    10

    浏览量

    7957
收藏 人收藏

    评论

    相关推荐

    无人值守地面传感器系统设计

    IN+和IN-分别接震动传感器的两个引脚,VOICE接声音传感器,AIN0和AIN1分别接DSP的两个A/D转换接口。  3 系统软件设计  本系统主要采用时域过零数分析、时域短时能量
    发表于 11-01 17:19

    基于CMOS图像传感器的视频采集系统设计

    上层应用程序得到采集到的图像。  三.系统采用的主要芯片。  3.1 CMOS图像传感器芯片IBIS5-A-1300。  本系统CMOS图像采集芯片选用了Fillfactory公司的IBIS5-A-1300
    发表于 11-01 17:23

    传感器智能轮椅的硬件系统设计

    的功能分析和模块划分,再结合具体的研究内容和期望控制目标,本系统主要由传感器模块、驱动控制模块和人机交互模块3部分组成,硬件系统结构如图1示。其中
    发表于 11-01 14:41

    无线传感器网络的自适应交通灯控制系统

    节点可准确感知各车道车辆数量和车型大小,为自适应信号灯控制提供准确的车流量信息。2、系统设计如图1示,本系统由以下几个部分组成:1)集中控制;2)无线
    发表于 11-08 16:19

    基于柔性测试技术的位置传感器标定与检测系统平台的设计

      本系统是一套基于柔性测试技术理念开发的平台式位置传感器标定与检测系统,能够完成对多种位置传感器进行标定与检测。经过组装的位置传感器输出的
    发表于 11-14 16:34

    电子系统设计所面临的挑战是什么

    电子系统设计所面临的挑战是什么什么是高速电路?高速电路面临的问题怎么解决?
    发表于 04-26 06:55

    汽车传感器通用测试系统有什么特点?

    汽车传感器是什么?汽车传感器通用测试系统有什么特点?汽车传感器基本测试指标是什么?
    发表于 05-12 06:54

    STM32的基本系统主要涉及哪几个部分

    STM32的基本系统主要涉及下面几个部分:一、电源  1)、无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装有该引脚)都必需要连接,不可悬空
    发表于 08-11 07:51

    基于STM32的智能家居系统本系统的设计资料分享

    毕业设计-基于STM32的智能家居系统本系统是大学毕业时的毕设题目,点我下载文档和源码。系统主要分为三大模块,客户端、主控端和监控端。客户端:一个web程序,使用Java开发,通过wifi和主控端
    发表于 02-23 07:34

    笔记本系统轻松安装与使用教程

    笔记本系统轻松安装与使用教程 常用的笔记本操作系统     通常来说笔记本在出厂的时
    发表于 01-21 10:55 1534次阅读

    笔记本系统安装的方法

    笔记本系统安装的方法 如果你确定你的本子硬件没有问题就好办。我想所有的笔记本换系统都是一样的。只不过,笔记本有一个隐
    发表于 01-27 10:40 551次阅读

    基于TMS320VC5402的DSP基本系统的设计

    基于TMS320VC5402的DSP基本系统的设计
    发表于 10-20 15:14 17次下载
    基于TMS320VC5402的DSP基<b class='flag-5'>本系统</b>的设计

    一文读懂STM32的基本系统

    本文主要详细介绍了STM32的基本系统,具体的跟随小编一起来了解一下。
    的头像 发表于 10-05 08:48 4484次阅读
    一文读懂STM32的基<b class='flag-5'>本系统</b>

    传感器系统快速移植的方法及过程

    这些系统的设计。开发人员可以专注于优化所需的特性与功能以满足其独特应用的特定要求,而不必花时间重新创建众多传感器设计所
    发表于 01-21 14:47 1208次阅读
    <b class='flag-5'>传感器</b><b class='flag-5'>系统</b>快速移植的方法及过程

    一文读懂STM32的基本系统

    STM32基本系统主要有下面几个部分: 电源   •  无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装有该引脚)都必需要连接,不可悬空
    发表于 02-11 14:20 3次下载
    一文读懂STM32的基<b class='flag-5'>本系统</b>