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

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

3天内不再提示

可穿戴设备应用程序的实现

星星科技指导员 来源:嵌入式计算设计 作者:Jaya Kathuria 2022-10-12 15:17 次阅读

手表不再只是用来讲述时间。智能手表通过启用短信,电话和健康监控,将我们的手腕变成了智能手机皮套。可穿戴设备是用户“几乎总是”佩戴的无线设备。例如,健身监测器是一种可穿戴设备,可以通过监测心率,运动,睡眠习惯,体温,汗水等参数来跟踪一个人的健康状况。这些设备具有多个传感器,通常可以与连接到互联网的设备(如智能手机或PC)进行通信。这些设备有三个主要功能:

始终开启:由于健身监视器持续运行,因此这些设备需要较长的电池寿命。设计可穿戴设备时的一大挑战是它们耗电量大,并且通常可以容纳的电池尺寸有限。

监控活动:健身监控器感知、处理、记录和报告用户活动。这包括监控多个传感器和执行“传感器融合”,其中来自多个传感器的数据使用类似DSP的引擎进行关联,以分析更复杂的行为,并以用户可以理解和使用的方式跟踪它们。

交换数据:这包括将收集和分析的信息传达给其他设备的能力,例如向/从智能手机发送通知和警报。

图2显示了使用嵌入式MCU(如PSoC 6 BLE)实现可穿戴健身监测器的情况。

活动监控:计步器和卡路里计数器计算一个人走的步数,并计算燃烧的卡路里数。要检测步骤,需要加速度计传感器。压力传感器还用于测量步行/跑步时的海拔变化。大多数传感器都有一个数字接口,通常是 I2C、SPI 或 UART。需要对采集的数据进行额外的过滤和处理,以计算步数、海拔、燃烧的卡路里等值。这些传感器还用于实现低功耗系统功能,例如在检测到运动时唤醒整个系统,以便执行实时分析。为了支持可穿戴设备可能需要的多个传感器,嵌入式MCU将需要几个数字接口。理想情况下,这些接口可以在 I2C、SPI 和 UART 之间进行配置,为开发人员提供最大的传感器选择和实现灵活性。此外,嵌入式MCU需要支持双核架构,其中MCU能够执行传感器融合和复杂分析,低功耗MCU用于执行运动唤醒等系统任务。

环境监测:监视器可能还需要收集环境数据,例如紫外线暴露测量值、环境温度、大气压力、指南针航向等。

全球定位系统: GPS传感器通常是带有UART接口的数字传感器。GPS 传感器提供位置(纬度和经度)、速度和高度信息。

音频:在通过无线链路传输音频数据之前,数字域中的音频信号处理是任何音频系统的重要组成部分。数据通常使用基于 PDM 麦克风的声音计收集,然后对其进行测量、过滤和/或压缩。具有集成DSP功能和音频功能的嵌入式MCU可以大大简化高质量、不间断声学音频子系统的设计。

安全:可穿戴设备需要能够跟上不断变化的安全协议和措施。具有安全启动功能的嵌入式MCU可确保可穿戴设备仅执行经过身份验证的代码。此外,设备可以支持无线 (OTA) 更新,以使更新对用户透明。

用户界面:今天的用户已经习惯了使用按钮、滑块和接近感应的触摸显示器。嵌入式MCU还可以支持不同的输出类型,可以支持各种显示技术,如Eink,OLED等。

无线连接:设备需要支持低功耗蓝牙 (BLE) 连接,并为可穿戴设备操作提供必要的服务。

支持所有这些功能需要全面的固件流程(请参阅图 3)。支持可穿戴设备应用的制造商可以提供完整的库,以加速开发并降低整体设计投资。

任务架构

在任何可穿戴设计中,都有三个关键任务:

获取数据

处理数据

与用户通信 – 输入和输出(显示)

通常,传感器采集需要比其他任务更高的处理器操作速率,因为此类处理包括运行在大样本基底上的滤波器。因此,使用低功耗内核(如 Arm Cortex-M0+)执行传感器数据采集更具能效。处理传感器数据取决于所用算法的复杂性,开发人员必须在功耗效率和处理速度之间做出权衡。对于光处理,可以使用用于采集传感器数据的相同低功耗内核。但是,为了获得更多的实时操作,需要更高性能的处理器,例如Arm Cortex M3 / M4内核。当涉及到简单的可穿戴显示器和输入时,用户界面通常是一个轻量级的过程,可以由任一内核处理,但理想情况下是在低功耗内核上实现的。因此,为了在低功耗可穿戴设备中实现最佳性能,需要双核架构。请注意,可以利用双核架构来流水线化固件框架,通过加快任务完成速度来提高响应能力,并通过在内核之间共享资源(如时钟RAM、Flash 等)来减少资源和功耗。

低功耗处理器(如 Cortex M0+)运行一个简单的任务调度程序,用于处理频繁的低带宽任务,例如:

传感器数据采集

电容感应扫描和处理

BLE 链路层控制器,用于维护 BLE 连接和通告

系统管理,包括安全任务和传感器控制

高性能处理器(如 Cortex M4)可用作运行 RTOS 的应用处理器,并处理处理器密集型应用级任务,例如:

传感器数据处理(即方向计算、高度计算等)

显示图形,如绘图文本、图像、形状等。

完整的指纹处理,包括匹配和注册算法

BLE 主机层任务,包括所有服务、配置文件和连接身份验证

由于共享内存和内核之间的快速处理器间通信(IPC)通道桥接,与让两个设备进行外部通信相比,通信延迟几乎不存在。

低功耗核心任务架构

在高级别上,低功耗内核执行两种类型的任务 - 级别 1:在每个周期中执行的定期任务和级别 2:周期性但每 ‘n’ 个周期(n = 任务周期/每个周期持续时间)执行一次的时隙任务。定时器可用于产生中断以指示周期的开始,例如每10 ms(100 Hz)。级别 1 任务在中断事件上逐个执行。时隙变量可以每次中断递增并传递到2级任务管理器。根据插槽号,将执行相应的 2 级任务。

表 1 提供了可在低功耗内核中实现的各种任务的示例。

桌子 1. 低功耗核心任务

在完成数据采集任务或需要与高性能内核上运行的其他任务通信的任何事件(如检测到手势)时,将形成消息数据包并通过IPC发送到高性能内核。在高性能内核上引发中断,处理消息数据包,并将数据适当地传递给在高性能内核上执行的预期任务。

高性能核心任务架构

高性能内核使用实时操作系统来管理 BLE、运动感应、显示更新、GPS、压力/温度、紫外线和指纹检测等任务。除了BLE、运动感应和指纹检测之外,其他任务都在等待来自低功耗内核的数据。

BLE 任务可以定期运行(每个连接间隔运行一次)。完成后,任务将自行挂起,直到下一次所需的唤醒。

运动感应任务可以是非周期性任务,每当运动传感器本身引起中断时就会运行。像Invensense MPU9255这样的运动传感器包括一个数字运动处理器(DMP),该处理器在片上FIFO上收集数据,并以预配置的速率中断高性能内核。中断时,运动传感器任务通过SPI接口读取运动传感器中的FIFO,并处理数据以计算方向,步数,燃烧的卡路里等。

指纹检测任务可以是非周期性任务,每当用户注册、验证或删除指纹时都会运行。当注册用户指纹且显示屏锁定时,此任务也会运行。已注册的用户指纹可用于解锁和保护可穿戴设备。

显示任务也可以是非周期性任务,每当需要在屏幕上更新数据(即传感器数据、时间、电池和其他任务的BLE通知)或从低功耗内核报告电容感应手势事件时,都会运行。

GPS、压力/温度和 UV 任务可以是伪周期性任务,因为它们不会定期挂起和唤醒。相反,任务唤醒是在低功耗内核从相应的传感器收集数据后触发的。由于低功耗内核中的数据收集速率是周期性的,因此这些任务可以在高性能内核上定期执行。

表 2 显示了高性能内核管理的任务示例。

桌子 2. 高性能核心任务

处理器间通信架构

同时运行的两个内核需要一种机制来保护共享数据和通信,以同步固件中的任务。双核架构需要支持多种IPC机制,如IPC锁定、消息传递和中断/通知。任务代码可以使用 IPC 锁定功能来保护共享数据和 IPC 消息传递,以便在内核之间交换通知和数据。

IPC锁:每当访问共享数据进行修改时,访问核心/任务都会尝试获取与数据相对应的锁。如果锁是空闲的,则向核心/任务授予对数据的访问权限。更新/处理完成后,任务可以释放锁,以将数据的访问权限授予其他挂起的任务。这可以保护数据不被多个尝试同时更新/使用数据的源损坏。

IPC 消息:除了保护共享数据外,还需要一种通信方式来同步内核之间的任务。这可以通过在内核之间传递的“命令和参数”消息包来实现。每当一个内核希望另一个内核执行操作时,它就会将具有任何必需参数的操作/命令 ID 打包到消息中,并通过 IPC 传递消息。消息数据包准备就绪后,内核会在另一个内核上触发 IPC 中断,在该内核中解析命令,然后对其执行操作。

审核编辑:郭婷

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

    关注

    68

    文章

    19191

    浏览量

    229313
  • 嵌入式
    +关注

    关注

    5076

    文章

    19045

    浏览量

    303858
  • 可穿戴设备
    +关注

    关注

    55

    文章

    3808

    浏览量

    166890
收藏 人收藏

    评论

    相关推荐

    你知道的可穿戴设备有哪些?

    如今,可穿戴设备如此跑火,厂商们纷纷挤破脑袋往这个领域钻,将来消费者的选择颇多呀!可是最终谁能真正赢得“芳心”呢?目前我知道的可穿戴设备只有这些,你呢?哪些是你最期待的呢?相关文章链接
    发表于 05-31 17:14

    大数据推动可穿戴设备的发展

    软硬结合的模式已经成为移动互联网时代的必需品。从苹果开创的手机加APP模式,到现在智能可穿戴设备与大数据的结合,软硬兼施让人类就范更加具有开创性的社会生活。没有普适计算,就没有智能可穿戴设备的今天
    发表于 09-10 20:55

    可穿戴设备开发相关攻略及主要厂商精选

    、云端交互来实现强大的功能,可穿戴设备已是大势所趋,但是目前可穿戴设备厂商规模庞大,如何在如此激烈的竞争中脱颖而出、赢得自己的市场?希望资料对大家开发可穿戴设备有所帮助。相关活动:
    发表于 01-04 16:29

    可穿戴设备

    可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现
    发表于 01-15 08:11

    未来,智能可穿戴设备行业将会是这样的

    可穿戴设备联动,那么将极大地扩展使用场景,也是增加可穿戴设备卖点的一种有效手段。比如目前三星GalaxyGear,就能够安装应用程序,控制自家的智能冰箱。7、设备将摆脱手机独立运行基
    发表于 04-22 09:09

    探讨可穿戴设备的未来

    实现个人连接,将“数字自我”连接到互联网。这使我们能够与朋友或远程诊断专家共享信息,无论是为了好玩、征求意见和建议,还是现场医学诊断。因此,可穿戴设备市场的快速发展并不令人惊讶。据市场分析公司CCS
    发表于 12-05 15:01

    ADI可穿戴设备电源管理解决方案

    指出,可穿戴设备现状有如下几个特点:整个智能可穿戴设备市场还是在启动培养阶段,例如功能的丰富性,结果实用性及服务性特征等,都需要进一步的完善;很多功能及性能实现还需要进一步的技术突破,例如功耗、体积以及
    发表于 09-17 10:43

    可穿戴设备中无需维护的电池的实现

      近年来,新的可穿戴设备,如智能手表和智能眼镜等一直不断地出现在我们的生活中。要弄清可穿戴设备应用的潜力,我们只需观察全球市场的可穿戴设备数量——该数字预计将从2013年的560万增长到2020年
    发表于 10-10 16:45

    智能服装拯救可穿戴设备“冷市场”?

    衣服却不能不穿,这是一个具有刚性需求的市场。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互
    发表于 11-19 09:49

    物联网和可穿戴设备对健康的影响

    健康技术市场上有30多万个应用程序,诸如物联网(IoT)、视频会议和可穿戴设备等技术趋势正在广泛被引入,以使留在家中老人的选择变得更加可行。 据羿戓信息所了解,预计到2021年,全球将卖出5.05亿台
    发表于 11-20 06:45

    可穿戴设备电源管理方案

    的方案选型和产品设计中能有参考。ADI亚太区医疗行业市场经理王胜发表可穿戴设备技术主题演讲一张图看清ADI在可穿戴系统中的功率器件产品链
    发表于 12-20 09:30

    可穿戴设备的构成和分类

    近几年,可穿戴设备市场非常火热,人们一致看好可穿戴设备市场。最近Apple Watch的热销,让人们对可穿戴设备的前景更加充满信心。可穿戴设备种类有很多,并且在不断延伸,主要分为:应用
    发表于 07-10 06:37

    基于可穿戴设备怎么实现智能家庭网络互动?

    大量的研究表明,智能家居和可穿戴设备是目前最流行的物联网应用。嵌入式的MCU是这些物联网应用程序的核心。 然而,为了在这个快速而有竞争力的市场上成为一个有效的基础,嵌入式的MCU需要能够支持不断增长
    发表于 10-18 07:56

    主流的几家可穿戴设备芯片供应商

    可穿戴设备绝对是科技界的热点之一,尽管可穿戴市场还没有真正起飞,但各大厂商都在积极布局,以期在竞争激烈的可穿戴市场中占得一席在新一轮的可穿戴设备芯片战引爆前,我们先来了解一下目前主流的
    发表于 02-03 06:42

    可穿戴设备应用程序实现

    手表不再只是为了报时。智能手表通过启用短信、电话和健康监测,将我们的手腕变成了智能手机皮套。可穿戴设备是用户“几乎总是”佩戴的无线设备。例如,健身监测器是一种可穿戴设备,可以通过监测心率、运动、睡眠
    的头像 发表于 11-30 16:57 634次阅读
    <b class='flag-5'>可穿戴设备</b><b class='flag-5'>应用程序</b>的<b class='flag-5'>实现</b>