目前的位置: 首页 学术信息 正文

ZDS 2023技术报告分享第34篇:Zephyr新传感子系统的介绍


前言

2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。


ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。



今天分享第34篇技术报告,由罗健淳整理,题目为:

“Zephyr新传感子系统的介绍”



作者简介

Ke Han

英特尔公司首席工程师

Ke Han是Intel的首席工程师,主要专注于基于Zephyr RTOS的Intel®传感器解决方案固件/软件架构,用于客户端计算平台。他也是Intel的产品安全专家,专注于嵌入式IP固件/软件的安全设计。



文章简介

Zephyr传感器驱动API自Zephyr项目的早期阶段就已存在,并在最近的版本中增长到超过100个驱动实现,支持各种类型的传感器(加速度计、磁力计、温度传感器等)。一个提出的新感应子系统在传感器驱动API的基础上增加了传感器集线器功能,仲裁传感器配置(采样率、灵敏度)并管理数据向Zephyr应用的多个客户端的传输。本次演讲将介绍新感应子系统的架构和设计,以及Intel在客户端计算平台中的使用案例。



文章导言

Zephyr新传感子系统由Intel公司的Hebo Hu和Ke Han在嵌入式开源峰会(Embedded Open Source Summit)上介绍,目标是提供一个更高级别的抽象,实现传感器应用与设备驱动之间的解耦,以及实现多客户仲裁等功能。


当前的Zephyr传感器解决方案包括设备树配置、传感器获取、传感器触发、传感器属性、传感器校准、传感器处理等,已经有大约140个设备驱动和900个提交。但这套方案中,传感器应用直接与传感器设备驱动进行所有传感器操作,缺乏高级抽象、通用功能管理、多客户仲裁等功能。典型的Zephyr传感器用法:



动机

为了将Zephyr传感器解决方案提升到下一个层次,Intel计划引入一个新的传感子系统/框架,以支持传感器的高级抽象、通用功能管理、多客户仲裁、传感器拓扑和调度、传感器融合和处理、传感器时间戳、传感器批处理等。此外,新的感应子系统还应能够作为传感器集线器固件中的传感器框架,支持操作系统传感器堆栈(如Windows、Chrome、Android、Linux)和CHRE。



新感应子系统介绍

新的感应子系统基于现有的Zephyr传感器设备驱动运行,作为传感器管理框架,并为多个Zephyr应用程序提供更高级别的传感器API。新的子系统提供了传感器对象,用于表示传感器实例,包括物理和虚拟的。


Zephyr 传感子系统特性

1. 范围


- 侧重于传感器融合,仲裁,采样,定时和调度



2. 传感器抽象


- 传感器对象用于表示传感器实例、物理和虚拟

- 报告树模型用于传感器融合,包括数据配置路径



3. 数据驱动模型


- 轮询模式:周期采样率

- 中断模式:数据就绪,阈值中断



4. 调度


- 单线程主循环用于所有传感器对象的采样和处理



5. 用于批处理的缓冲模式


6. 传感器电源管理


7. 依靠 Zephyr API


- 访问通过传感器 API 访问物理传感器设备

- 其他,如任务内存,RTIO



8. 可通过设备树配置


- 是否启用,启用后是否支持传感器

- 定义传感器报告关系(包括虚拟传感器的报告传感器)



新子系统的设计原则侧重于传感器融合、仲裁、采样、时间和调度,并参考了Intel ISH专有传感器框架的设计。它提供了一个报告树模型,用于传感器融合,包括数据和配置路径。新子系统采用了数据驱动模型,可以支持轮询模式和中断模式,以及批处理的缓冲模式。并且,该子系统完全开源,作为Zephyr的本地子系统,并在2023年开始上游工作。



DEMO


FRDM-K64F 板(ARM Cortex-M4F)

1. 物理传感器:


Base Acc:BM160
Lid Acc:fxos8700



2. 虚拟传感器:


Hinge angle (Base Acc + Lid Acc as inputs)
Motion detector (Lid Acc as input)




下一步计划

在Zephyr 3.4版本中,将引入传感子系统的核心,然后在3.5版本中扩展传感子系统的功能和板卡支持,在3.6版本(LTS 3)中稳定传感子系统。此外,还计划实现对Chrome传感器的端到端支持,满足Google/Intel Chrome的生产要求,并启用带有最新UPX Open Dev Board的Intel ISH。


上一条:ZDS 2023技术报告分享第35篇:关于Zephy培训过程的方法和经验 下一条:Embedded Systems News:Android 14发布,源代码已上传到AOSP

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2023 湖南大学