CN108027793A - 用于使传感器和处理器对接的系统和方法 - Google Patents
用于使传感器和处理器对接的系统和方法 Download PDFInfo
- Publication number
- CN108027793A CN108027793A CN201680054711.4A CN201680054711A CN108027793A CN 108027793 A CN108027793 A CN 108027793A CN 201680054711 A CN201680054711 A CN 201680054711A CN 108027793 A CN108027793 A CN 108027793A
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- processor
- source components
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
Abstract
公开了用于通过将数据宿处理器通信从硬件无关格式转换为硬件相关格式并通过将数据源部分通信从硬件相关格式转换为硬件无关格式来使传感器数据源抽象化的系统和方法。
Description
关联申请的交叉引用
本申请要求2015年7月27日提交的题为“SYSTEMS AND METHODS FOR INTERFACINGA SENSOR AND A PROCESSOR.(用于使传感器和处理器的对接系统和方法)”的美国专利申请No.14/809,748的优先权及权益。
技术领域
本公开大体涉及用于在传感器和处理器之间提供通信的技术,并且更具体地涉及提供用于中继命令和/或数据的接口。
背景技术
技术的进步实现引入具有不断增加的功能集的移动或便携式设备。诸如移动电话、数码静态相机和视频相机、手持音乐和媒体播放器、便携式视频游戏设备和控制器、移动网络设备(MID)、个人导航设备(PND)、可穿戴和其他相似设备之类的设备的普遍存在指示这些类型的设备的普及和需求。日益增加地,这种设备配备有一个或多个传感器或其他系统以确定便携式设备的位置或运动或用于测量便携式设备周围的环境的一个或多个方面。进而,由一个或多个这些传感器提供的数据可以被用于各种应用和情况,包括导航、用户界面、天气监控和预测、健身跟踪器、安全等。
尽管取决于传感器的类型及其特定实现方式可以使用许多不同的技术,但是基本等级的所有传感器包括至少一些由设备周围的状况影响的硬件部分。相应地,通过评估硬件部分受到影响的程度,传感器可以提供状况的测量。为了利用传感器测量,应用处理器必须能够与便携式设备的传感器通信以发送命令(诸如用于配置传感器),使其产生数据或以其他方式控制它,以及为了以有用的格式从传感器接收数据。在传感器层面,通信方面通常特定于供应商之间可能显著不同的所使用的传感器的特定设计或甚至由单个供应商提供的不同版本的传感器。
通常情况下,应用处理器必须具有对传感器设计的了解,以在硬件层面与其通信。如将领会的,这导致复杂性,以允许应用处理器适应不同的传感器设计。例如,可能有必要用覆盖所有可能遇到的潜在传感器设计的信息对应用处理器编程,增加了成本和实现的困难。进一步,这个方法可能还需要在新的传感器设计可用时对应用处理器重新编辑。
鉴于这些困难,将期望在传感器和应用处理器之间的接口中提供硬件抽象层(HAL)以促进通信。同样,将期望根据通信的方向,将来自传感器和应用处理器的功能在硬件无关格式和硬件相关格式之间进行转换。本公开满足以下材料中描述的这些和其他目标。
发明内容
如下文将详细描述的,本公开包括使用传感器系统的设备,该设备可以具有包括数据宿处理器的数据宿部分、包括用于接收来自至少一个传感器的输出的数据源处理器的数据源部分、将数据宿部分和数据源部分耦合的接口以及由至少一个接口管理器实现的硬件抽象层,该硬件抽象层用于通过将数据宿处理器通信从硬件无关格式转换为硬件相关格式并且通过将数据源部分通信从硬件相关格式转换为硬件无关格式以提供数据源部分的抽象化。
本公开还包括用于通过以下各项来传递传感器信息的方法:提供包括数据宿处理器的数据宿部分,提供包括数据源处理器的数据源部分,接收来自具有数据源处理器的至少一个传感器的输出,将数据宿部分和数据源部分与接口耦合并且通过将数据宿处理器通信从硬件无关格式转换为硬件相关格式并且通过将数据源部分通信从硬件相关格式转换为硬件无关格式来将数据源部分抽象化。
附图说明
图1是根据一个实施例的数据宿部分和数据源部分之间的通信的示意图。
图2是根据一个实施例的采用硬件抽象层的设备的示意图。
图3是示出根据一个实施例的用于请求传感器数据的例程的流程图。
图4是示出根据一个实施例的用于提供传感器数据的例程的流程图。
具体实施方式
首先,应理解,本公开不限于特定示例的材料、架构、方法或结构,因为这些可以变化。因此,尽管可以在本公开的实践或实施例中使用于本文描述的那些类似或等同的许多这样的选项,但是本文描述了优选的材料和方法。
也应理解,本文中所使用的术语仅为了描述本公开的特定实施例而不是限制性的。
以下阐述的与附图相结合的详细描述旨在作为本公开的示例性实施例的描述,而无意表示可在其中实践本公开的仅有示例性实施例。贯穿本描述使用的术语“示例性”意指用作“示例、实例或解说”,而不必解释为优于或胜过其他示例性实施例。本详细描述包括具体细节以提供对本说明书的示例性实施例的透彻理解。对于本领域技术人员将显而易见的是,没有这些具体细节也可实践本说明书的示例性实施例。在一些实例中,公知的结构和器件以框图形式示出以免湮没本文中给出的示例性实施例的新颖性。
仅处于方便和清晰的目的,可以相对于附图或芯片实施例使用方向术语,诸如顶、底、左、右、上、下、后、和前。这些和类似的方向术语不应被解释为以任何方式限制本公开的范围。
在说明书和权利要求书中,应理解,当元件被称为“连接至”或“耦合至”另一元件时,它可直接地连接至或耦合至另一元件或者可存在介入元件。相反,当元件被称为“直接连接至”或“直接耦合至”另一元件时,不存在介入元件。
根据对计算机存储器内的数据位的操作的规程、逻辑块、处理和其他符号来呈现以下详细描述的一些部分。这些描述和表示是数据处理领域内技术人员使用的手法,它最有效地将其工作本质传达给本领域内其它技术人员。在本应用中,规程、逻辑快、处理等被构思成达到所期望结果的步骤或指令的自相一致的序列。这些步骤是需要对物理量进行物理操控的那些步骤。通常但非必须,这些量采用能够被存储、转移、组合、比较、以及在电脑系统中以其他方式操控的电信号或磁信号的形式。
然而,应当铭记,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。除非明确指明,否则如从下文的讨论显而易见的,要理解,在本应用中利用诸如“接入,”“接收,”“发送,”“使用,”“选择,”“确定,”“归一化,”“相乘,”“平均,”“监控,”“比较,”“应用,”“更新,”“测量,”“得到”等术语的讨论,指的是计算机系统或类似电子计算设备的动作和进程,操纵在该计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将其转换成在该计算机系统存储器或寄存器或其它这样的信息存储、传送或显示设备内类似地表示为物理量的其它数据。
本文描述的实施例可以在由一个或多个计算机或其他设备执行的诸如程序模块的驻留在某种形式的非瞬态处理器可读介质上的处理器可执行指令的一般上下文中被讨论。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。在各个实施例中,程序模块的功能可按需组合或分配。
在图中,单个块可以被描述为执行一个或多个功能;然而,在实际应用中,由该块执行的一个或多个功能可以单个部件或跨多个部件执行,并且/或可以通过使用硬件、使用软件、或使用硬件和软件的组合执行。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。并且,示例性无线通信设备可以包括除了所示出的那些意外的部件,包括诸如处理器、存储器等的公知部件。
本文描述的技术可以用硬件、软件、固件或其任何组合来实现,除非具体描述为以特定方式实现。描述为模块或部件的任何特征也可以一起实现在集成逻辑设备中,或单独实现为离散但可互操作的逻辑设备。如果用软件实现,可以至少部分地通过包括指令的非瞬态处理器可读存储介质来实现该技术,当指令被执行时,执行上述方法中的一个或多个。非瞬态处理器可读数据存储介质可形成计算机程序产品的一部分,该计算机程序产品可包括封装材料。
非瞬态处理器可读存储介质可以包括诸如同步动态随机存储器(SDRAM)的随机存取存储器(RAM),只读存储器(ROM),非易失性随机存取存储器(NVRAM),电可擦除可编程只读存储器(EEPROM),闪存,其他已知存储介质等。附加地或替代地,本技术可以至少部分地通过处理器可读通信介质实现,该处理器可读通信介质承载或传输指令或数据结构的形式的代码并且该代码可以由计算机或其他处理器访问、读取、和/或执行。例如,可以使用载波来承载计算机可读电子数据,诸如用于发送和接收电子邮件或访问诸如因特网或局域网(LAN)的网络的数据。当然,对这种配置可作出许多修正而不脱离要求保护的主题的范围或精神。
接合本文公开的实施例描述的各种说明性逻辑块、模块、电路和指令可以由一个或多个处理器执行,诸如一个或多个运动处理单元(MPU)、数字信号处理(DSP)、通用微处理器、专用集成电路(ASICs、专用指令集处理器(ASIP)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。如本文中所使用的术语“处理器”可指的是任何上述结构或适合于实现本文中所描述的技术的任何其他结构。另外,在一些方面,本文描述的功能可在如本文描述地配置的专用软件模块或硬件模块中提供。而且,这些技术可在一个或多个电路或逻辑元件中完全实现。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,MPU与微处理器的组合、多个微处理器、与MPU核心协同的一个或多个微处理器、或任何其他此类配置。
除非另外定义,否则在本文中所使用的所有技术和科学术语具有与本文所述技术领域的一名具有普通技术人员所通常理解相同的含义。
最后,如在本说明书和所附权利要求书中所使用的,单数形式“一”、“一个”、以及“该”包括复数指示物,除非内容另外清楚地陈述。
如上所述,本公开的技术旨在通过将源自应用处理器的功能从硬件无关格式转换为硬件相关格式并且通过将源自传感器的功能从硬件相关格式转换为硬件无关格式以在应用处理器和一个或多个传感器之间提供接口。值得注意的是,这允许应用处理器通过高级功能与不依赖于传感器特定设计的逻辑描述进行通信。术语应用处理器用于指示运行请求数据或进行用于应用的数据的任何数据处理的任何处理器。应用处理器可以是,例如,主设备的主要处理器,或用于一个或多个应用的专用处理器。
为了帮助说明本公开的这些和其他方面,图1示意性地示出了根据本公开的一个实施例的在应用处理器和传感器之间的通信中包含的信息流。如所示的,通信可以被概念化为发生在最终使用由数据源102部分提供的数据的数据宿部分100之间。在数据宿部分100的顶部的是应用层104,其可包括被配置成在执行存储器中存储的程序的一个或多个应用处理器。应用层104通常以采用传感器数据的程序(即,应用)的形式提供由用户体验的设备的功能。然后,操作系统框架层106管理便携式设备的硬件和软件资源以创建应用层104的程序可以运行的环境。传感器服务层108可以为由较高层使用的每个传感器提供特定实例。在这些较高层中,术语传感器可以用于硬件传感器或软件传感器。硬件传感器指的是实际的物理传感器,诸如,例如测量设备的加速度的加速度计。软件传感器的一个示例是确定设备定向的定向传感器。任何软件传感器都基于来自硬件传感器的数据,在这种情况下,运动传感器用于确定定向。在本公开的其余部分中,术语传感器是指通过来自这些传感器的数据可以转换为任何等级的软件传感器的硬件传感器。
相应地,数据源部分102可以包括以一个或多个传感器为特征的传感器层110。数据宿部分100和数据源部分102之间的通信通过HAL层112被提供。如将要描述的,HAL层112的一些或所有方面可以在数据宿部分100中、数据源部分102中或两者中被实现。
在当应用需要传感器数据时的命令流的代表性示例中,请求可以始于应用层104并被传递至OS框架层106,然后被传递给传感器服务层。在这个阶段,这些硬件无关命令被传递到HAL层112以转换成硬件相关格式并被传递到传感器层110。在一个方面,源自应用层104的请求可以由HAL层112转换以将传感器层110中的传感器配置成产生由应用请求的数据。相应地,在传感器层110处的数据输出流向HAL层112,在HAL层112,如果需要,可以执行将硬件相关格式至硬件无关格式的转换。转换的数据然后可以从传感器服务层108顺序传递至OS框架层106并最终传递至应用层104。
向下流动的命令和在图2中向上流回的数据可以包括不同类型的信息。例如,命令可以是在应用层104想要知道数据源102中存在或支持哪些传感器。在这种情况下,数据将包括这些传感器的列表。因此,术语“数据”不仅指纯传感器数据,而是指从数据源102向上流回的所有信息。相似地,术语“命令”可以指从数据宿100向下流动的所有信息。例如,数据宿100可能想要将某个程序或算法加载到数据源102中。在这种情况下,程序或算法代码可被认为是“命令”。
关于电子设备200的一个实施例的细节在图2中被描绘为高级示意框图。如将领会的,设备200可以被实现为设备或装置,诸如手持式设备,其可以由用户在空间中移动并且由此感测到其在空间中的运动、位置和/或定向。例如,这样的手持式设备可以是移动电话(例如,蜂窝电话、在本地网络运行的电话或任何其他电话手持机)、平板电脑、个人数字助理(PDA)、视频游戏机、视频游戏控制器、导航设备、可穿戴设备(例如,眼镜、手表、皮带夹)、健身追踪器、虚拟或增强现实设备、移动互联网设备(MID)、个人导航设备(PND)、数码相机、数码摄像机、双筒望远镜、长焦镜头、便携式音乐、视频或媒体播放器、远程控制、或其他手持式设备,或这些设备中的一个或多个的组合。
如所示,设备200具有如上所述的数据宿部分202和数据源部分204。尽管描绘了一个数据源部分204,但是可以取决于设备202的能力和传感器提供任何合适数量的数据源部分。不同数据源部分或模块可以并行连接至数据宿部分,并且每个数据源部分可以专用于特定组的传感器,例如,运动、视频、或音频传感器。通常,数据宿部分202可以包括应用处理器模块206,其可以表示一个或多个微处理器、中央处理单元(CPU)、或运行软件程序的其他处理器,其可以存储在存储器208中,与设备200的功能相关联。在一个方面,应用处理器206可执行采用来自设备200的一个或多个传感器的数据的程序。可以在存储器208中提供多层软件,存储器208可以是诸如电子存储器的计算机可读介质或诸如硬盘、光盘等的其他存储介质的任何组合,与应用处理器206一起使用。例如,可以如上所述为设备200提供操作系统层,以实时地控制和管理系统资源,实现应用软件和其他层的功能,并且将应用与设备200的其他软件和功能对接。相似地,可以提供诸如菜单导航软件、游戏、相机功能控制、导航软件、通信软件(诸如电话或无线局域网(WLAN)软件)或任何多种其他软件和功能接口的不同软件应用程序。在一些实施例中,可以在单一设备200提供多个不同应用,并且在这些实施例的一些中,多个应用可以同时运行。
进一步,数据宿部分202还可以包括数据宿处理器模块210,其表示处理正在被执行以生成对应于从应用处理器206请求传感器数据的命令,将接收到的传感器数据传递给应用处理器206和/或执行任何其他与HAL相关联的操作。例如,数据宿处理器210可以实现传感器服务层。数据宿处理器210可以与应用处理器206分离或可以是相同的处理器,其可以或可以不专用于这些特定的功能。数据宿处理器210可以是诸如MCU的处理器,被设计为从主要或应用处理器卸载一些任务,以例如在一些任务期间保持这个处理器休眠。
在一些实施例中,数据宿部分202具有数据宿接口管理器212,数据宿接口管理器212被配置成将命令和数据以正确的格式与数据源部分204交换并且控制在各个部分之间的数据的通信和转换。数据宿接口管理器212可以被结合在单独的处理器或芯片中,或可以是任何其他组件或处理器的一部分。例如,数据宿接口管理器212可以被实现为存储在存储器208并且由数据宿处理器210执行的软件指令。然而,数据宿接口管理器212可以采用处理和存储器资源的任何合适的组合,数据宿接口管理器212可以是硬件、软件和固件的任何组合。如此,以软件实现的方面可以包括但不限于应用软件、固件、驻留软件、微代码等,并且可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,其提供由计算机或任何指令执行系统(诸如,应用处理器206、数据宿处理器210、另一专用处理器或设备200的任何其他处理资源)使用或接合使用的程序代码。
数据宿部分202可以通过接口214与数据源部分204耦合,接口214可以是任何合适的总线或接口,诸如外围组件高速互联(PCIe)总线、通用串行总线(USB)、通用异步收发器(UART)串行总线、合适的高级微控制器总线架构(AMBA)接口、内部集成电路(I2C)总线、串行数字输入输出(SDIO)总线、串行外围接口(SPI)、中断线、专用数据线、或其他等效。取决于架构,接口214还可以用于耦合设备200的其他部件,诸如应用处理器206、存储器208等,或可以采用另一个专用总线。
数据源部分204可以包括一个或多个传感器216(或可以以其他方式与这些传感器通信)、数据源处理器218和存储器220。存储器220可以通过使用传感器处理器218的逻辑或控制器来存储用于如下所述处理由传感器216和/或其他传感器输出的数据的算法、例程或其他指令,以及存储由传感器216或其他传感器输出的原始数据。数据源处理器218可以被配置为执行关于对传感器数据的请求的来自数据宿部分202的命令并且相应地提供所请求的数据。因此,数据源处理器218可以具有一个或多个缓冲器,诸如命令先入先出(FIFO)缓冲器222和数据FIFO缓冲器224。可以采用任何合适的缓冲器架构和排队策略。数据源部分204可以被实现为集成芯片或任何数量的单独部件。数据宿部分202还可以根据需要具有一个或多个缓冲器,诸如写入命令的命令FIFO(在图2中未示出),其必须被传递给数据源部分204。
在一些实施例中,数据源部分204具有数据源接口管理器226,数据源接口管理器226被配置成将命令和数据以正确的格式与数据宿部分202交换并且控制在各个部分之间的数据的通信和转换。数据源接口管理器226可以被结合在单独的处理器或芯片中,或可以是任何其他组件或处理器的一部分。例如,数据源接口处理器226可以被实现为存储在存储器220并且由数据源处理器218执行的软件指令。然而,数据源接口管理器226可以采用处理和存储器资源的任何合适的组合,数据源接口管理器226可以是硬件、软件和固件的任何组合。
由数据宿处理器210和数据宿接口管理器212使用的用于理解命令并控制正在使用的任何数据源部分的信息库可以通过使用任何合适的存储器资源(诸如存储器208)来存储。注释器或解码器可以被用于转换命令和信息。这可以是通用或主要/应用存储器,也可以是专用存储器。如上所述,数据宿处理器210和数据宿接口管理器212可以被实现为单独的处理器,并且如果需要,每个处理器可以包括用于该目的的对应的专用存储器。
如上所述,数据宿部分202可以包括与应用处理器206、数据宿处理器210和数据宿接口处理器212对应的从一个到几个的任何数量的物理处理器。这些可以在或可以不在单个芯片或封装中。在一个方面,数据宿处理器210和数据宿接口管理器212可以被组合成与应用处理器206通信的单个处理器。替代地,数据宿处理器210和数据宿接口管理器212还可以是应用处理器206或与应用处理器通信的任何其他处理器的一部分。应用处理器206可以将与将由运行的应用使用的传感器数据相关的任何请求/命令传递给数据宿处理器210。一旦数据宿处理器210已经接收命令,即使命令是复杂的并且需要多个动作,与这个块相关联的处理资源也可以处理所有需要的动作,因此从应用处理器206卸载这些任务。数据宿处理器210然后通过数据宿管理器212和数据源接口管理器226中的一者或两者和接口214与数据源部分204通信。如所示的,HAL在一个实施例中可以包括数据宿接口管理器212和数据源接口管理器226,连同接口214。两个接口管理器可以采用功能性的任何合适的分割。替代地,接口管理器的功能可以由实现在接口214的数据宿侧或数据源侧的单一接口管理器提供。
如期望的,数据宿接口管理器212可以能够执行与一个或多个数据源部分相关联的一些高级操作。例如,数据宿接口管理器212可以能够停止或开始(激活/停用)数据源部分。数据宿接口管理器212也可以能够重置/初始化模块或控制数据模块的功率模式,例如,将模块设置为低功率模式。为了执行这些功能,数据宿接口管理器212具有对数据源部分的寄存器地址(诸如,数据源部分204的FIFO和/或其他存储器地址)的存取,因此它可以将传感器命令路由到正确的目的地,诸如作为命令FIFO222。在这样的实施例中,数据接口管理器212也可以知道一个或多个数据源部分的管道地址以使用正确的通信通道。当并行使用多于一个数据源部分204时,这方面有助于操作。例如,可以存在与运动传感器有关的数据源部分、与图像传感器有关的另一个数据源部分、与环境传感器有关的又另一个数据源部分等等。通过使用不同数据源部分的适当的管道地址,接口管理器可以控制正确的部分。如将领会的,数据宿接口管理器212支持模块化设计,其中多个数据源部分可以利用数据宿接口管理器212来寻址并且并行地控制。在一个方面,数据宿接口管理器212可以具有对数据源部分的注册表、FIFO地址和其他硬件相关参数的访问。当要容纳新的数据源部分时,如果涉及新的硬件地址,数据宿破借口管理器212可以用适当的信息被更新。
在数据宿接口管理器212被分配有相对更大部分的系统控制功能的任务的实施例中,数据源接口管理器226可以负责接收由数据宿管理器210发出的命令并将它们放置在正确的寄存器、FIFO、或存储器地址(诸如命令FIFO 222)中。进一步,数据源接口管理器226可以对输入命令执行错误检查,或可以检查命令是否是数据源部分204已知的。在未知命令的情况下,数据源接口管理器226可以返回“未确收”消息或以其他方式指示错误。
数据源处理器218可以从命令FIFO 222读取任何待决的命令,并且可以被配置成在处理下一个命令之前完成每个命令。通过使用这个架构,数据宿部分202可以在命令FIFO222中使多个命令排队,当数据源处理器218执行命令时,允许数据宿部分202的一个或多个方面在省电模式下操作。数据源处理器218从命令FIFO 222读取命令并将它们转换成由命令指示的必要的功能和步骤。数据源处理器218可以具有所需的所有信息,诸如寄存器和存储器地址等,以控制数据源部分204中的一个或多个传感器。这个信息库可以被存储在存储器220,存储器220可以专用于该功能或可以是通用目的。
相应地,由传感器216输出的传感器数据,诸如可以由数据宿部分202发送的命令所请求的,可以放置在数据源部分204的一个或多个数据FIFO 224中。一旦数据在FIFO中,就可以将中断发送到数据宿部分202,指示数据准备好用于检索。该中断可以通过接口214传输,或可以是专用线路。根据架构,数据通过数据宿接口管理器212和数据源接口管理器226中的一者或两者和接口214流回数据宿部分202,并且可以写入专用的或通用目的的存储器资源,诸如存储器208。
当数据准备好检索时,可以使用不同类型的中断。例如,中断可以是“唤醒”中断或“非唤醒”中断。唤醒中断意味着只要数据准备就绪,接收数据的应用处理器或任何其他处理器就会被唤醒以指示数据准备就绪。这个过程可以被称为紧密耦合系统或循环,因为请求数据的过程将检索数据并在数据可用之后立即使用它。另一方面,非唤醒中断可以被用于更不紧急的数据。在这种情况下,当数据准备就绪时中断被发送,但是如果处理器正在睡眠状态,那么它不会被唤醒。一旦处理器唤醒,它将检索数据,这可以是由于一些其他进程导致该唤醒。这个过程可以被称为松散耦合系统或循环,因为请求数据的过程可以不马上检索数据,而是在处理器方便的之后的时间。
传感器216可以是能够测量或检测设备200的运动或定向或设备200周围的任何环境状态的一个或多个部件。数据源部分204可以实施一个或任何期望数量的传感器,并且多个数据源部分可以并行操作。进一步,每个传感器可以直接输出发送至数据宿部分202的测量,或数据源处理器218可以实现生成从一个或多个其他传感器导出的信号的虚拟传感器。例如,旋转运动传感器(诸如陀螺仪)可以测量沿着一个或多个正交轴的角速度,并且线性运动传感器(诸如加速度计)可以测量沿着一个或多个正交轴的线性加速度,并且可以执行传感器融合操作以组合数据并提供运动确定。相似地,来自指示高度的气压传感器的数据和/或来自磁力计指示航向的数据可以与运动确定融合。不受限制地,传感器216可以包括加速度计、温度传感器、重力传感器、陀螺仪、环境光传感器、线性加速度传感器、磁力计、定向传感器、压力传感器、接近度传感器、湿度计、旋转向量传感器、图像传感器、或声学传感器。在一些实施例中,传感器216可以通过使用微电子机械系统(MEMS)来实现与数据源处理器218集成以在单个封装中提供数据源部分204。关于集成传感器和处理器的合适的配置的示例性细节可以在共同待审的共有的2007年7月6日提交的美国专利申请No.11/774,488和2008年4月21日提交的美国专利申请No.12/106,921中找到,它们在此通过引用整体地合并。合适的实施方式可以从加利福尼亚州桑尼维尔市的InvenSense公司获得。
由数据源处理器218执行的处理的类型可以取决于请求的传感器数据的类型和/或数据源部分204中可获得的传感器的类型。例如,数据宿处理器210可以以特定速率发出对直接加速度数据的请求,并且传感器216可以是加速度计,使得数据源处理器218设置加速度计输出的速率并将由传感器216输出的数值放置在数据FIFO 224中。作为另一个实施例,应用处理器206可以需要设备200的定向,并且数据源部分204的传感器216可以包括加速度计、陀螺仪和/或磁力计。因此,数据源处理器218可以用作传感器集线器并且收集来自不同传感器的数据并且执行传感器融合以实现虚拟定向传感器,该虚拟定向传感器确定设备200的定向,并将改数据输出至数据FIFO 224。
在一些实施例中,数据源部分204可以包含多个数据源处理器,每个数据源处理器控制一个或多个传感器。这些不同的处理器可以通信以共享可能需要用于其中一个处理器中的某类数据融合的数据。例如,一个处理器可以控制加速度计而另一个处理器可以控制陀螺仪,由其中一个处理器执行使用两组数据的传感器融合。进一步,在一些实施例中,传感器融合还可以需要来自多个数据源部分204的传感器数据。这样,相应的接口管理器可以是不同模块之间的通信能够交换数据并且在数据源处理器之一中执行传感器融合。替代地,使用来自不同数据源部分的数据的传感器融合可以由数据宿处理器210或应用处理器206执行。这种类型的融合的示例可以是上下文确定,以指示设备200当前如何与声学传感器和运动传感器一起使用,其中声学传感器和运动传感器在不同的数据源部分中。可以采用不同架构以达到期望的性能特征。应用处理器206和数据宿处理器210可以提供更多的能力,但是代表相对更大的功率消耗,而数据源处理器218可以具有减小的计算资源但是代表更高的效率。
在一个实施例中,如上所述,设备200的传感器系统可以包括一个数据宿部分202和一个或多个数据源部分204。在另一个实施例中,设备200的传感器系统可以包括多个数据宿部分202和只有一个数据源部分204。在这种情况下,来自传感器216的数据被传递给多个数据宿部分202,每个数据宿部分202可以具有用以接收数据的其自己的数据宿接口管理器212和用以处理数据的其自己的数据宿处理器210。这样的系统的一个示例可以是安装有光学图像稳定(OIS)系统的智能手机。这里,陀螺仪传感器数据被提供给由OIS系统表示的第一数据宿部分202,其使用陀螺仪数据以确定如何移动光学元件以补偿设备的移动。第二数据宿部分202可以通过操作系统表示,其可使用数据以确定手机的运动、移动或姿势。
另一个实施例可以是分布式系统或具有多个设备的系统,使得几个数据宿部分202可以存在于不同设备中。例如,系统可以由智能手机和智能手表的结合组成。每个可以具有数据宿部分,其可以接入其自己的数据源部分以及其他设备的一个或多个数据源部分。数据宿接口管理器214可以控制与其他设备中的数据源部分的通信,并且还可以与其他设备的数据宿部分通信,例如,为了协调可能需要来自两个设备的传感器数据的任务,或仅仅为了使其他数据宿模块意识到该过程。设备之间的通信可以通过使用任何无线通信技术或协议完成。
在上述实施例中,传感器数据被放置在数据FIFO 224并且中断被用于向数据宿部分202指示数据的可用性。如此,中断可以在每个数据采样之后被发送。替代地,应用处理器206可以在特定时间量内请求数据样本,并且当收集完成时被通知。因此,数据源处理器218可以将所有数据样本放入数据FIFO 224并且在完成时发送中断,从而允许数据宿部分202的一个或多个处理器或其他资源在收集发生时以省电模式操作。
在一些实施例中,数据源处理器218可以采用多个输出FIFO以适应不同类别的传感器数据。例如,设备200可以被配置成在检测到预定义事件(诸如设备200的摇晃)时唤醒应用处理器206。为了避免将事件的检测放置在一个FIFO中的其他收集到的数据后,为数据收集、事件检测和/或其他类别的传感器数据提供专用FIFO。因此,摇晃事件检测可以被直接放置在对应FIFO中而不是在其他收集到的数据后,使得在没有延迟的情况下将中断发送至数据宿部分202。
在一些实施例中,命令和请求的数据可以归因于特定的优先等级。这个优先级可以归于数据宿100中的任何层,诸如应用层104、操作系统框架层106、或传感器服务层108。该优先级还可以归于HAL层112的任何部分,诸如,数据宿处理器210、数据源处理器218、数据宿接口管理器212、或数据源接口管理器226。数据源部分204可以具有多个命令FIFO222,每个归于特定优先级以避免具有高优先级的命令被延迟到较低优先级的命令之后。高优先级命令可以能够中断由较低优先级命令开始的过程,例如,为了避免等待数据源处理器完成由较低优先级命令开始的处理。(不同优先级命令FIFO也可以存在于数据宿部分202。)数据源部分204也可以具有多个数据FIFO 224,每个用于存储具有特定优先级的数据。这避免了必须提供给具有较高优先级的数据宿部分202的数据被卡主或延迟到具有较低优先级的数据之后。具有不同优先级的命令和数据可以由不同数据源处理器处理,每个数据源处理器专用于特定优先级等级。如果没有低优先级被请求,数据低优先级处理器可以处理高优先级数据(反之亦然)。
涉及数据宿部分202和数据源部分204的通信可以在多个等级进行。作为第一示例,数据宿部分202内的通信可以包括应用处理器206和数据宿处理器210之间的信息交换,诸如,对来自应用处理器206的传感器数据的请求和由数据宿处理器210传递传感器数据。合适的通信可以包括关于什么传感器/活动被支持的查询,用于激活或停用特定传感器的命令,以给定间隔监视活动的请求,用于配置传感器数据速率的指示以及其他类似信息。应用处理器206和数据宿处理器210之间的信息交换可以表示高级命令或低级命令,诸如数据类型、数据速率、准确性等。如将领会的,命令的等级可以指示处理在哪里发生。例如,应用处理器206可以请求活动更新,诸如,数据宿处理器210或数据源处理器218通过使用来自传感器216的数据执行活动确定并报告,或可以请求运动传感器数据,以使得应用处理器206执行自己确定活动的例程。
通信也可以发生在数据宿部分202和数据源部分204之间。在这个等级,数据宿处理器210发送命令至合适的一个或多个数据源部分202,取决于从应用处理器206接收到的请求/命令。虽然数据宿处理器210可以能够通过使用由数据宿接口管理器214和/或数据源接口管理器226提供的与现有数据源部分或稍后添加的数据源部分相对应的硬件相关参数进行通信,但是在应用或OS框架等级不需要硬件相关参数。例如,应用处理器206可以发送命令以激活传感器并且以硬件无关格式设置适当的数据输出速率,而由数据宿接口管理器214和/或数据源接口管理器226表示的HAL可以将转换执行到硬件相关格式。
进一步,取决于从数据宿处理器210接收到的请求,通信也可以发生在数据源部分204内,诸如在数据源处理器218和传感器216之间。这个通信特定于传感器216并且可以仅覆盖适当的传感器。在这个等级,数据源处理器218可以知道确切的注册表和存储器地址。这种通信的示例包括读取对应于数据FIFO 224的特定存储器地址以访问传感器数据从而开始传感器校准等的命令。
在一个实施例中,上述每个等级的通信可以以分组方式提供。每个分组可以包括逻辑目的地字段、长度字段和有效载荷字段。逻辑目的地可被用于指示该分组被传递到的位置,并且可以表示数据宿部分202和数据源部分204的任何描述的部件。例如,分组可以被寻址到处理器(诸如,应用处理器206、数据宿处理器210、或数据源处理器218)、特定传感器(诸如传感器216)、多个数据源部分202之一、以及其他合适的位置。逻辑目的地地址的使用允许使用以耦合多个部件的总线形式的接口214,使得可以忽略除了由地址标识的以外的在目的地处接收的分组。长度字段可以用于指定每个分组的总长度,使得可以正确解析各个分组。有效载荷可以包括传感器数据或一个或多个命令,其可以按照接收的顺序执行。每个分组中包含的传感器数据量可以根据需要变化,取决于例如应用处理器206请求传感器数据的方式。作为说明,数据宿处理器210可以通过传感器服务层从应用处理器206接收数据请求,并且利用对应的命令生成一个或多个分组。响应于请求分组,数据源部分204可以产生具有传感器数据的一个或多个分组。相应地,数据宿处理器210然后可以处理和解包数据以传递到传感器服务层,在此处它对于应用处理器是可用的。数据宿部分202和数据源部分204处的分组化可以由不同的处理器在不同的等级发生。例如,由传感器216产生的任何数据可以初始存储在数据FIFO 224中,然后在传输到数据宿部分202之前由数据源处理器218和/或数据源接口管理器226分组。替代地,来自传感器216的数据可以在将其作为分组存储在数据FIFO 224中之前由数据源处理器218分组。换言之,在数据FIFO 224中,传感器数据可以分组格式或不是。这也适用于命令FIFO 222中的命令,其可以是分组格式或不是。
示出用于请求传感器数据的本公开的各方面的一个示例性例程由图3中所示的流程图表示。以300开始,应用处理器206可以请求特定类型的数据,并且可以进一步指定所请求的数据的特征,诸如特定的数据速率。例如,可以以50Hz的速率请求加速度计数据。传感器服务层将该请求提供给数据宿处理器210,数据宿处理器210在302中处理该请求。这可以包括如上所述生成一个或多个命令分组。数据宿处理器210(诸如通过数据宿接口管理器212)还可以包括硬件相关参数以将请求从硬件无关格式转换为硬件相关格式,从而实现HAL。这可以包括确定适当的管道、寄存器、内存、FIFO或其他地址。数据宿接口管理器212然后可以在304中通过接口214将一个或多个分组发送到设备200中存在的任何数据源部分204。进而,数据源处理器218可以在306中处理该请求。基于逻辑目的地地址,数据宿接口管理器212和/或数据接口管理器226可以将分组排列在对应于适当数据源处理器218的数据FIFO 222中。数据源处理器218可以在308中通过与传感器216通信来执行该请求。在这个示例中,这可以包括设置适当的数据速率以及引导传感器216开始将数据输出到数据FIFO224。
类似地,用于传输传感器数据的另一个示例性例程由图4中描绘的流程图表示。以400开始,响应于如上所述的请求,传感器216可以将数据输出到数据FIFO 222。在402中,当传感器数据准备好用于检索时,数据源处理器218可以向数据宿部分202发送中断。然后,在404中,数据源接口管理器226可以将传感器数据放入寻址到数据宿管理器212的数据分组中。在406中,在接收到之后,数据包处理器212解包每个数据分组的有效载荷,将其提供给传感器服务层以供在408中由应用处理器使用。
如上所述,数据源处理器218和一个或多个传感器216可以被集成为单个芯片或封装。任何关联的FIFO和存储器也可以集成到同一芯片或封装中。在这样的实现中,芯片或封装可以提供有执行器代表“即插即用”解决方案的设计功能的所有所需信息和指示。在其他实施例中,传感器可以不与数据源处理器218集成并且传感器的控制可以在更高的等级执行。任何硬件相关参数,诸如寄存器、FIFO、或其他存储器地址,可以由数据宿接口管理器214和数据源接口管理器226中的一个或两个提供,取决于实施例。信息还可以提供为由数据宿处理器210使用的驱动器,以允许通过使用低级命令与传感器216通信。换言之,数据源部分204中缺少的用于控制传感器16的任何功能可以被移至数据宿部分202,例如在数据宿处理器210或数据宿接口管理器212中。这样的实施例可以被用于适应较旧的传感器设计以提供反向兼容性。
在所述实施例中,芯片被限定为包括通常由半导体材料形成的至少一个基板。单个芯片可以从多个基板形成,其中基板被机械结合以保持功能。多个芯片包括至少两个基板,其中两个基板电连接,但不需要机械结合。封装提供芯片上的结合焊盘与可以焊接到PCB的金属引线之间的电连接。封装通常包括基板和盖子。集成电路(IC)基板可以指具有电路的硅基板,通常为CMOS电路。MEMS盖为MEMS结构提供机械支撑。MEMS结构层被附接到MEMS盖。MEMS盖也被称为处理基板或处理晶片。在所描述的实施例中,MPU可以包含传感器。一个或多个传感器可以形成在第一基板上。其他实施例可以包括固态传感器或任何其他类型的传感器。MPU中的电子电路接收来自一个或多个传感器的测量输出。在一些传感器中,电子电路处理传感器数据。电子电路可以在第二硅基板上实现。在一些实施例中,第一基板可以在单个半导体芯片中垂直堆叠,附接并电连接到第二基板,而在其他实施例中,第一基板可以横向设置并且电连接到单个半导体封装中的第二基板。
作为一个示例,如共同拥有的美国专利No.7,104,129中所述,第一基板可以通过晶片接合附接到第二基板,以同时提供电连接并气密地密封MEMS设备,该专利全文以引用的方式并入本文中。这个制造技术有利地实现了允许以非常小且经济的封装来设计和制造高性能、多轴、惯性传感器的技术。晶片级的集成将寄生电容最小化,从而允许相对于分立解决方案改善的信噪比。晶片级的这种集成还实现引入丰富的特征集,从而减小了对外部放大的需求。
尽管已经根据所示实施例描述了本发明,但本领域的普通技术人员将容易认识到,可以对实施例进行改变,并且这些改变将在本发明的精神和范围内。因此,在不脱离本发明的精神和范围的情况下,本领域的普通技术人员可以做出许多修改。
Claims (37)
1.一种传感器系统,包括:
数据宿部分,包括数据宿处理器;
数据源部分,包括用于从至少一个传感器接收输出的数据源处理器;
接口,耦合所述数据宿部分和所述数据源部分;以及
硬件抽象层,由至少一个接口管理器实现以通过将数据宿处理器通信从硬件无关格式转换为硬件相关格式来提供所述数据源部分的抽象化。
2.如权利要求1所述的传感器系统,进一步包括应用处理器以针对请求传感器数据的应用处理传感器数据。
3.如权利要求1所述的传感器系统,其中,所述硬件抽象层将数据源部分通信从硬件相关格式转换为硬件无关格式。
4.如权利要求1所述的传感器系统,其中,所述接口管理器被实现在所述数据宿部分和所述数据源部分中的至少一个中。
5.如权利要求4所述的传感器系统,进一步包括多个数据源部分,其中,所述接口耦合所述数据宿部分和所述多个数据源部分,并且其中所述数据宿部分接口管理器提供所述多个数据源部分的抽象化。
6.如权利要求1所述的传感器系统,进一步包括多个数据宿部分,其中,所述接口耦合所述数据源部分和所述多个数据宿部分。
7.如权利要求1所述的传感器系统,其中所述数据源部分进一步包括至少一个缓冲器。
8.如权利要求7所述的传感器系统,其中,所述至少一个缓冲器是命令缓冲器。
9.如权利要求8所述的传感器系统,其中,所述数据宿部分的至少一个处理资源在存储在所述命令缓冲器中的至少一个命令之后以省电模式操作。
10.如权利要求9所述的传感器系统,其中,所述数据源部分进一步包括至少一个数据缓冲器,并且其中所述数据源部分使用中断以指示在所述数据缓冲器中的传感器数据的可获得性并且激活所述数据宿部分的所述至少一个处理资源。
11.如权利要求7所述的传感器系统,其中,所述至少一个缓冲器是数据缓冲器。
12.如权利要求11所述的传感器系统,其中,所述数据源部分使用中断以指示所述数据缓冲器中的传感器数据的可用性。
13.如权利要求7所述的传感器系统,其中,所述数据源部分包括多个缓冲器并且其中所述多个缓冲器中的至少两个被分配不同的优先级。
14.如权利要求13所述的传感器系统,其中,所述多个缓冲器中的所述至少两个是数据缓冲器并且其中所述数据源部分使用不同的中断以指示所述数据缓冲器中的传感器数据的可用性。
15.如权利要求1所述的传感器系统,其中,所述数据源部分和所述数据宿部分之间的通信被分组。
16.如权利要求15所述的传感器系统,其中,通过所述接口路由的分组包括所述数据宿部分和所述数据源部分中的一个内的逻辑目的地地址。
17.如权利要求1所述的传感器系统,其中,所述数据源处理器和所述至少一个传感器被集成到单个封装中。
18.如权利要求17所述的传感器系统,其中所述至少一个传感器是运动传感器。
19.如权利要求1所述的传感器系统,其中,所述数据源部分包括多个传感器,并且其中,所述数据源处理器执行传感器融合操作。
20.一种用于传递传感器信息的方法,包括:
提供包括数据宿处理器的数据宿部分;
提供包括数据源处理器的数据源部分;
用所述数据源处理器获得来自至少一个传感器的输出;
用接口将所述数据宿部分和所述数据源部分耦合;以及
通过将数据宿处理器通信从硬件无关格式转换为硬件相关格式使所述数据源部分抽象化。
21.如权利要求20所述的方法,进一步包括提供应用处理器并且针对请求传感器数据的应用利用所述应用处理器处理传感器数据。
22.如权利要求20所述的方法,进一步包括通过将数据源部分通信从硬件相关格式转换为硬件无关格式来使所述数据源部分抽象化。
23.如权利要求20所述的方法,进一步包括取决于所述数据源部分的特定配置来转换从所述数据宿处理器接收并发送到所述数据宿处理器的通信。
24.如权利要求20所述的方法,进一步包括:
提供多个数据源部分;
耦合所述数据宿部分和所述多个数据源部分;以及
使所述多个数据源部分抽象化。
25.如权利要求20所述的方法,进一步包括提供多个数据宿部分,并利用所述接口将所述多个数据宿部分耦合至所述多个数据源部分。
26.如权利要求20所述的方法,进一步包括通过使用分组通信在所述数据源部分和所述数据宿部分之间传达数据。
27.如权利要求20所述的方法,进一步包括在所述数据源部分中提供至少一个缓冲器。
28.如权利要求25所述的方法,进一步包括将至少一个命令从所述数据宿部分存储到所述至少一个缓冲器中。
29.如权利要求26所述的方法,进一步包括在所述至少一个命令存储在所述命令缓冲器中之后,以省电模式操作所述数据宿部分的至少一个处理资源。
30.如权利要求27所述的方法,进一步包括在所述至少一个缓冲器中存储传感器数据,发送中断以指示所述传感器数据的可用性,并且激活所述数据宿部分的所述至少一个处理资源。
31.如权利要求27所述的方法,进一步包括在所述至少一个缓冲器中存储传感器数据并且发送中断以指示所述传感器数据的可用性。
32.如权利要求27所述的方法,进一步包括在所述数据源部分中提供多个缓冲器并且其中所述多个缓冲器中的至少两个被分配不同的优先级。
33.如权利要求30所述的方法,其中所述多个缓冲器中的所述至少两个是数据缓冲器并且所述方法进一步包括发送不同的中断以指示所述数据缓冲器中的传感器数据的可用性。
34.如权利要求20所述的方法,进一步包括寻址分组以经由所述接口与所述数据宿部分和所述数据源部分中的一个内的逻辑目的地进行传递。
35.如权利要求20所述的方法,其中,所述传感器处理器和所述至少一个传感器被集成到单个封装中。
36.如权利要求20所述的方法,其中,所述至少一个传感器是运动传感器。
37.如权利要求20所述的方法,其中,所述数据源部分包括多个传感器,所述方法进一步包括利用所述数据源处理器执行传感器融合操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/809,748 US10191738B1 (en) | 2015-07-27 | 2015-07-27 | Systems and methods for interfacing a sensor and a processor |
US14/809,748 | 2015-07-27 | ||
PCT/US2016/044192 WO2017019734A1 (en) | 2015-07-27 | 2016-07-27 | Systems and methods for interfacing a sensor and a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108027793A true CN108027793A (zh) | 2018-05-11 |
CN108027793B CN108027793B (zh) | 2021-12-07 |
Family
ID=56611610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680054711.4A Active CN108027793B (zh) | 2015-07-27 | 2016-07-27 | 用于使传感器和处理器对接的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10191738B1 (zh) |
EP (1) | EP3329380B1 (zh) |
CN (1) | CN108027793B (zh) |
WO (1) | WO2017019734A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835945A (zh) * | 2019-04-19 | 2020-10-27 | 三星电机株式会社 | 相机设备及其通信方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992197A (zh) * | 2017-12-12 | 2018-05-04 | 上海闻泰电子科技有限公司 | 虚拟现实设备和系统 |
US11789110B2 (en) | 2020-09-03 | 2023-10-17 | Honeywell International Inc. | Fault detection, exclusion, isolation, and re-configuration of navigation sensors using an abstraction layer |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120841A1 (en) * | 2001-12-21 | 2003-06-26 | Chang Matthew C.T. | System and method of data logging |
US20080228967A1 (en) * | 2007-03-15 | 2008-09-18 | Broadcom Corporation | Software driver interconnect framework |
CN101327785A (zh) * | 2008-06-11 | 2008-12-24 | 武汉光庭汽车电子有限公司 | 智能化全图形汽车仪表的硬件系统架构 |
CN202676932U (zh) * | 2012-07-17 | 2013-01-16 | 南京信息工程大学 | 一种多通道气象观测装置 |
US20140111670A1 (en) * | 2012-10-23 | 2014-04-24 | Nvidia Corporation | System and method for enhanced image capture |
CN103777997A (zh) * | 2013-12-25 | 2014-05-07 | 中软信息系统工程有限公司 | 一种基于mips的java虚拟机硬件无关化平台及其无关化改进方法 |
CN103926004A (zh) * | 2014-03-14 | 2014-07-16 | 国电南瑞科技股份有限公司 | 一种基于无线传感网络的温度检测方法 |
WO2014207630A1 (en) * | 2013-06-27 | 2014-12-31 | Koninklijke Philips N.V. | Automatic external sensor interface. |
CN104267956A (zh) * | 2014-09-28 | 2015-01-07 | 深圳光启创新技术有限公司 | 一种操作系统中控制硬件设备的方法和模块 |
CN104598253A (zh) * | 2015-02-17 | 2015-05-06 | 武汉大学 | 一种在Android内核层实现GNSS/INS组合导航的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6345375B1 (en) * | 1999-02-24 | 2002-02-05 | California Amplifier, Inc. | Packet-based communication methods and systems having improved data throughput |
GB9930849D0 (en) * | 1999-12-24 | 2000-02-16 | Koninkl Philips Electronics Nv | Data communications |
US7630336B2 (en) * | 2004-10-27 | 2009-12-08 | Honeywell International Inc. | Event-based formalism for data management in a wireless sensor network |
US7549154B2 (en) * | 2004-11-23 | 2009-06-16 | Microsoft Corporation | Extensible architecture for auxiliary displays |
US7729887B2 (en) * | 2006-04-11 | 2010-06-01 | Invensys Systems, Inc. | System management user interface providing user access to status information for process control system equipment including a status monitor |
US20090019429A1 (en) * | 2007-07-14 | 2009-01-15 | Andreas Randow | Virtualization of data source components in subject-oriented graphical programming environments for test and measurement applications |
US7844724B2 (en) * | 2007-10-24 | 2010-11-30 | Social Communications Company | Automated real-time data stream switching in a shared virtual area communication environment |
EP2079176B1 (de) * | 2008-01-11 | 2010-06-16 | Micronas GmbH | Kommunikationseinrichtung und Verfahren zur Übertragung von Daten |
CN103026349B (zh) * | 2010-07-16 | 2016-04-06 | 拉迈亚高级研究院 | 数据接口电路 |
US20140122143A1 (en) * | 2012-10-30 | 2014-05-01 | Trimble Navigation Limited | Optimizing resource assignment |
US20150333793A1 (en) * | 2012-12-21 | 2015-11-19 | Hirschmann Automation And Control Gmbh | Method for redundantly and securely transferring data from a data source to a data sink |
US20140366024A1 (en) * | 2013-06-07 | 2014-12-11 | American Megatrends, Inc. | Methods, Devices and Computer Readable Storage Devices for Emulating a Light Sensor in a Guest Operating System from a Host Operating System |
-
2015
- 2015-07-27 US US14/809,748 patent/US10191738B1/en active Active
-
2016
- 2016-07-27 WO PCT/US2016/044192 patent/WO2017019734A1/en unknown
- 2016-07-27 CN CN201680054711.4A patent/CN108027793B/zh active Active
- 2016-07-27 EP EP16748235.5A patent/EP3329380B1/en active Active
-
2019
- 2019-01-25 US US16/258,218 patent/US10503501B2/en active Active
- 2019-12-09 US US16/708,298 patent/US10936310B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120841A1 (en) * | 2001-12-21 | 2003-06-26 | Chang Matthew C.T. | System and method of data logging |
US20080228967A1 (en) * | 2007-03-15 | 2008-09-18 | Broadcom Corporation | Software driver interconnect framework |
CN101327785A (zh) * | 2008-06-11 | 2008-12-24 | 武汉光庭汽车电子有限公司 | 智能化全图形汽车仪表的硬件系统架构 |
CN202676932U (zh) * | 2012-07-17 | 2013-01-16 | 南京信息工程大学 | 一种多通道气象观测装置 |
US20140111670A1 (en) * | 2012-10-23 | 2014-04-24 | Nvidia Corporation | System and method for enhanced image capture |
WO2014207630A1 (en) * | 2013-06-27 | 2014-12-31 | Koninklijke Philips N.V. | Automatic external sensor interface. |
CN103777997A (zh) * | 2013-12-25 | 2014-05-07 | 中软信息系统工程有限公司 | 一种基于mips的java虚拟机硬件无关化平台及其无关化改进方法 |
CN103926004A (zh) * | 2014-03-14 | 2014-07-16 | 国电南瑞科技股份有限公司 | 一种基于无线传感网络的温度检测方法 |
CN104267956A (zh) * | 2014-09-28 | 2015-01-07 | 深圳光启创新技术有限公司 | 一种操作系统中控制硬件设备的方法和模块 |
CN104598253A (zh) * | 2015-02-17 | 2015-05-06 | 武汉大学 | 一种在Android内核层实现GNSS/INS组合导航的方法 |
Non-Patent Citations (1)
Title |
---|
JINGYAO ZHANG等: ""Hardware-Software Co-design for Heterogeneous Multiprocessor Sensor Nodes"", 《IEEE》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835945A (zh) * | 2019-04-19 | 2020-10-27 | 三星电机株式会社 | 相机设备及其通信方法 |
CN111835945B (zh) * | 2019-04-19 | 2023-04-18 | 三星电机株式会社 | 相机设备及其通信方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3329380A1 (en) | 2018-06-06 |
US20200225949A1 (en) | 2020-07-16 |
US10191738B1 (en) | 2019-01-29 |
CN108027793B (zh) | 2021-12-07 |
US20190196815A1 (en) | 2019-06-27 |
US10503501B2 (en) | 2019-12-10 |
WO2017019734A1 (en) | 2017-02-02 |
EP3329380B1 (en) | 2021-12-08 |
US10936310B2 (en) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107864694B (zh) | 用于管理无人驾驶车辆中的处理节点的数据流的系统和方法 | |
US8359411B2 (en) | Data filtering using central DMA mechanism | |
CN102707792B (zh) | 通过简单外围总线实现hid的计算机实现的系统和方法 | |
CN103366801B (zh) | 存储器装置及其操作方法 | |
CN106062661A (zh) | 用于常开常听的语音识别系统的位置感知功率管理方案 | |
US20140278205A1 (en) | Embedded processor on an integrated mems sensor chip autonomously managing external sensor | |
US10936310B2 (en) | Systems and methods for interfacing a sensor and a processor | |
US20200364176A1 (en) | Storage system, method, and apparatus for fast io on pcie devices | |
US20130297845A1 (en) | Mechanism for facilitating customization of multipurpose interconnect agents at computing devices | |
KR20170053702A (ko) | 요청된 센서 특성에 기초한 자동 센서 선택 | |
WO2023113969A1 (en) | Methods and apparatus for performing a machine learning operation using storage element pointers | |
EP4155948A1 (en) | Methods and apparatus to share memory across distributed coherent edge computing system | |
US20240039860A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks | |
WO2021252830A1 (en) | Motion sensor in memory | |
US11221875B2 (en) | Cooperative scheduling of virtual machines | |
US8156264B2 (en) | Digital output sensor FIFO buffer with single port memory | |
US9479889B2 (en) | Service platform for general-purposed multi-functional detectors | |
TWI820682B (zh) | 用於連接基於小晶片的設計之可擴充式封裝級網路 | |
CN108646931A (zh) | 一种终端控制方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |