用于微处理器整合的传感器轮询单元的制作方法

文档序号:6304509阅读:97来源:国知局
用于微处理器整合的传感器轮询单元的制作方法
【专利摘要】本发明涉及一种用于微处理器整合的传感器轮询单元。所述传感器轮询单元包括传感器寄存器模型,其包括与多个外部传感器装置的每个传感器装置相关的配置逻辑块。每个配置逻辑块被配置来根据由所述配置逻辑块的触发发生器供应的读取触发而对所述相关的外部传感器装置的一个或多个预定传感器数据寄存器发出读取命令。基于所述微处理器的时钟信号的全局计时器将全局时间值供应到所述触发发生器。轮询状态机操作地耦合到所述多个配置逻辑块以从其接收各自的读取命令,所述轮询状态机被配置来通过连接到所述外部传感器装置的标准化双向数据通信接口而将对应读取命令发出到所述外部传感器装置。所述轮询状态机还被配置来响应于所述读取命令接收由所述外部传感器装置传输的寄存器数据且将所述接收的寄存器数据传输到微处理器可存取的数据存储器区域以存储。
【专利说明】用于微处理器整合的传感器轮询单元

【技术领域】
[0001] 本发明涉及一种用于微处理器整合的传感器轮询单元。传感器轮询单元包括传感 器寄存器模型,其包括与多个外部传感器装置的每个传感器装置相关的配置逻辑块。每个 配置逻辑块被配置来根据由所述配置逻辑块的触发发生器供应的读取触发而对相关的外 部传感器装置的一个或多个预定传感器数据寄存器发出读取命令。基于微处理器的时钟信 号的全局计时器将全局时间值供应到触发发生器。轮询状态机操作地耦合到多个配置逻辑 块以从其接收各自的读取命令,所述轮询状态机被配置来通过连接到外部传感器装置的标 准化双向数据通信接口而将对应读取命令发出到外部传感器装置。轮询状态机还被配置来 响应于读取命令接收由外部传感器装置传输的寄存器数据,且将所接收的寄存器数据传输 到微处理器可存取的数据存储器区域以存储。

【背景技术】
[0002] 本发明涉及一种用于微处理器整合的传感器轮询单元。传感器轮询单元被配置来 选址和读取多个外部传感器装置的各自数据寄存器的各自数据内容。传感器轮询单元在微 处理器中具有若干个有用性质,尤其使微处理器或微处理器的DSP核无需读取细节,提取 和以其它方式处理由多个外部传感器装置递送的各自寄存器数据。微处理器和多个外部传 感器装置可安装在一件便携式通信设备中,如平板电脑、智能手机、移动电话等等。这些外 部传感器装置可例如包括数字麦克风、多轴加速度计、陀螺仪、GPS单元,等等,其获取与传 感器装置相关的不同类型的实时寄存器数据,所述数据必须被微处理器操纵或处理以在所 述件的便携式通信设备中提供各种功能。现有的微处理器通常被调适来通过由微处理器的 适当配置的计时器触发的软件例程来手动轮询每个传感器关于新的寄存器数据而处理相 关的外部传感器装置。在寄存器数据已通过适当数据通信接口被读取到微处理器中之后, 寄存器数据必须被写入到适当数据存储器区域或位置。在替代中,现有微处理器可包括直 接存储器存取(DMA)控制器,其被调适来轮询外部传感器装置并以由所述计时器或多个计 时器设定的时间间隔突发读取寄存器数据。
[0003] 不幸的是,这些读取和存储由外部传感器装置递送的寄存器数据的现有技术的方 法并不非常好地适合于传感器如何在内部传感器寄存器中获取和存储其传感器数据。DMA 控制器被优化来从存储器装置(如外部EEPR0M或闪存存储器)突发读取较大连续排列的数 据量或数据组块。另一方面,传感器寄存器可能在数量上相对较少,在尺寸上改变且具有非 连续性的地址。微处理器一般不适于从多个传感器装置读取传感器数据,因为这种类型的 数据读取不仅需要频繁的中断处理,而且还要手动检测多个传感器装置的哪个实际上生成 了特定组的进入的传感器数据。这个问题正在增长,因为当代和未来的传感器装置可能由 实施的功能中等待时间(延迟)减少的相关利益所驱动而预计需要更高采样率。此外,可预 计将数量增长的传感器装置整合到未来的电子设备中以提供基于新传感器的特征和功能 或仅仅改进基于现有传感器的特征和功能的感知质量。
[0004] U. S. 8, 024, 499B1公开了一种系统控制模块,其包括连接到传感器轮询逻辑/单 元以从多个传感器自动轮询传感器数据的系统控制处理器。传感器安装在单独的目标或电 路板上,其可以是线路卡、以太网卡、ATM卡,等等。传感器包括电压传感器和温度传感器。 传感器轮询逻辑/单元包括事务表,其包括每个传感器和其它相关字段的信息的地址,如 每个传感器的轮询速率。
[0005] U. S. 4, 593, 362公开了一种用于轮询分布式计算机系统的异步传感器的装备,以 优化由传感器提供到中央处理器的数据加载。轮询装备根据中央处理器的存储器单元的传 感器缓冲储备中记录的时间延迟状态来操作。系统确定在轮询序列期间传感器缓冲储备中 接收的数据量并动态地改变时间延迟状态的值以优化赋予中央处理器的传感器数据加载。 由传感器从其相关的电话交换单元收集和递送的数据类型保持未指定。
[0006] U. S. 6, 924, 746B2公开了一种在主计算机与多个光学范围传感器之间的工业自动 化设备环境中操作的传感器轮询单元。传感器所生成的数据涉及整个生产现场所制造的商 品的各自位置和尺寸。


【发明内容】

[0007] 本发明的第一方面涉及一种用于微处理器整合的传感器轮询单元,其包括:
[0008] 传感器寄存器模型,其包括与多个外部传感器装置的每个传感器装置相关的配置 逻辑块,每个配置逻辑块被配置来根据由所述配置逻辑块的触发发生器供应的读取触发而 对相关外部传感器装置的一个或多个预定传感器数据寄存器发出读取命令。基于微处理器 的时钟信号的全局计时器将全局时间值供应到触发发生器。轮询状态机操作地耦合到多个 配置逻辑块以从其接收各自读取命令,且还被配置来通过连接到外部传感器装置的标准化 双向数据通信接口将对应读取命令发出到外部传感器装置。轮询状态机还被配置来响应于 读取命令而接收由外部传感器装置传输的寄存器数据并将所接收的寄存器数据传输到微 处理器可存取的数据存储器区域以存储。
[0009] 传感器轮询单元优选地包括数字状态机,其具有适当配置的组合数字逻辑和循序 数字逻辑,如寄存器、多路复用器、数字计数器、数字比较器、数据总线、时钟网络,等等。传 感器轮询可因此被实施为数字逻辑硬件的专用总成,其能够使微处理器或微处理器核无需 实际需要控制传感器装置的询问细节且随后读出由多个外部传感器装置生成的各自寄存 器数据。这些任务取而代之由传感器轮询单元处理,其允许微处理器等待一定量的寄存器 数据已被传感器轮询单元积聚并写入到微处理器可存取的数据存储器区域或地址空间。一 旦已积聚期望量的寄存器数据,那么微处理器核可将预编程数据操纵或处理操作应用到积 聚量的寄存器数据。
[0010] 微处理器可存取的数据存储器区域可包括数据存储器,其与微处理器在共同半导 体晶片上整合(芯片上数据存储器),且经由适当内部(即,芯片上)数据存储器总线连接到 微处理器核。微处理器可存取的数据存储器区域可或者居于外部专用的存储器芯片上。最 后,微处理器可存取的数据存储器区域可包括这些类型的数据存储器两者的组合,即,芯片 上和芯片外数据存储器区域。数据存储器例如可以是RAM、EEPR0M和闪存存储器或这些存 储器类型的任何组合。
[0011] 与SPU相关或对SPU可用且连接到多个外部传感器装置的标准化双向数据通信接 口优选地包括一个或多个工业标准串行同步数据接口,如I2C、SPI、SDI0或SUMBus等等。 这些数据接口在现有传感器装置上已经广泛可用。技术人员将了解,本发明的一些实施方 案中的传感器轮询单元可被配置来处理若干类型的标准化双向数据通信接口,例如,I2c串 行数据接口和SPI串行数据接口。这些不同类型的标准化双向数据通信接口可连接到不同 外部传感器装置,使得第一外部传感器装置和第二外部传感器装置可耦合到共同I 2c串行 数据接口,且第三传感器装置和可能的进一步的传感器装置可耦合到另一类型的串行数据 接口,如SPI。
[0012] 传感器轮询单元优选地被配置来将接收的寄存器数据直接传输到微处理器可存 取的数据存储器区域,即,没有经过微处理器核。这种特征显著减小了微处理器核上的计算 负载并且省电,因为寄存器数据规避了通常耗电的微处理器核的数据寄存器和数据总线。 在优选实施方案中,传感器轮询单元包括数据接收接口块,例如体现为DMA接口,其用作传 感器轮询单元的轮询状态机与微处理器可存取的数据存储器区域之间的接口。因为到有关 数据存储器区域的接口可能相当复杂,例如涉及通过DMA控制器和其相关的DMA通道的传 输,所以所述接口优选地由实施数据接收接口的数字逻辑硬件的专用件来处理,如在下文 中与附图结合以额外细节来描述。
[0013] 技术人员将了解,外部传感器装置的非常多样的本质(包括数据寄存器架构、轮询 模式等等的差异)将对微处理器核表现显著的计算挑战,且因此消耗相当大的计算资源。此 夕卜,许多类型的外部传感器装置需要大体上恒定的时间间隔以用于传感器寄存器读取。这 个事实对运行于微处理器核上的软件/应用程序的典型复杂集合表现出显著的编程挑战。 在这种软件驱动的计算环境中难以保证外部传感器装置的一致实时处理。因此,当前的传 感器轮询单元将导致微处理器核所要求的计算资源的实质减少,且改进外部传感器装置的 各自寄存器数据读出的精确性。
[0014] 多个外部传感器装置优选地包括选自{陀螺仪、加速度计、位置传感器、温度传感 器、音频传感器、磁场传感器,等等}的组的一个或多个传感器。外部传感器装置可因而包 括多种传感器类型,其被调适来测量特定件的便携式设备(如智能手机)的某些物理性质。 每个外部传感器装置优选地包括标准化双向数据通信接口或端口,其与与传感器轮询单元 相关的标准化双向数据通信接口或多个所述接口的至少一个兼容,以允许寄存器数据内容 与每个外部传感器装置无缝互连和交换。
[0015] 从每个外部传感器装置的传感器数据寄存器供应的寄存器数据优选地在通过传 感器装置的标准化双向数据通信接口传输之前以适当格式数字编码。一些外部传感器装置 可包括A/D转换器以将由传感器元件递送的模拟信号转换成对应的采样和数字编码信号, 其作为数字编码的寄存器数据被写入到传感器寄存器。
[0016] 一个或多个配置逻辑块的触发发生器优选地包括由全局时间值驱动的计时器块, 以对相关传感器装置以明确定义的时间间隔生成读取触发。这些时间间隔可大体上恒定或 可取决于特定传感器装置的数据读出需求而改变。在一些实施方案中,时间间隔可依赖于 与传感器轮询单元一起整合的微处理器的操作状态而改变,如在下文结合传感器轮询单元 的系统整合方面以额外细节讨论。计时器块可包括二进制模N计数器,其具有计数器输出, 读取时间间隔从所述计数器输出导出。在一个这种实施方案中,模N计数器的计数器输出 耦合到数字比较器的第一输入。计时器块的读取间隔寄存器保存耦合到数字比较器的第二 输入的预设读取值,使得后者被配置来当计数器输出的值与预设读取值匹配时生成读取触 发。与时钟信号组合的模N计数器的重复本质确保了读取触发对于给定时钟频率以大体上 恒定的时间间隔提供。
[0017] 一些类型的传感器装置可包括仅单个传感器数据寄存器,而其它类型的传感器可 包括保存各自寄存器数据的多个传感器数据寄存器。为了支持具有多个传感器数据寄存器 的传感器类型,配置逻辑块的至少一个优选地包括相关外部传感器装置的多个预定传感器 数据寄存器的多个寄存器地址。技术人员将了解,多个预定传感器数据寄存器的寄存器地 址可以是连续或非连续的,使得在一个实施方案中至少一个配置逻辑块的多个寄存器地址 是连续的,其反映了相关外部传感器装置的多个传感器数据寄存器的连续排列。在这个实 施方案中,轮询状态机优选地被配置来将突发读取命令发出到外部传感器装置以在单个读 取操作期间读取多个连续传感器数据寄存器的各自寄存器值或数据。多个连续传感器数据 寄存器的各自寄存器值或数据的突发读取通过减少传感器装置和传感器轮询单元的标准 化双向数据通信接口上的交换活动而省电。
[0018] 在替代实施方案中,至少一个配置逻辑块的多个寄存器地址是非连续的,其反映 了相关外部传感器装置的多个预定传感器数据寄存器的非连续排列。
[0019] 在一些实施方案中配置逻辑块可包括对于一个或多个预定传感器数据寄存器的 各个寄存器大小指示符。这个特征对于正确读出外部传感器装置的混合大小寄存器的寄存 器数据尤其有用。
[0020] 对于每个外部传感器装置的上文提及的特性指定的配置数据(例如,寄存器地址、 寄存器架构、期望的轮询模式和读取/轮询时间间隔)可在微处理器系统通电或开机的期间 与由微处理器执行的初始化规程结合而由微处理器核写入到每个配置逻辑块的有关寄存 器。或者,配置数据可与相关应用或软件例程的初始化例程结合而由微处理器核写入。
[0021] 在当前传感器轮询单元的特别有利的实施方案中,一个或多个配置逻辑块的触发 发生器包括操作地耦合到微处理器的中断终端的中断输入,以接收相关外部传感器装置的 中断信号。触发发生器被配置来响应于中断信号生成读取触发。供应到配置逻辑块的触发 发生器的中断信号从而被调适来用作发出读取信号的触发,使得配置逻辑块可关于相关外 部传感器装置完全或部分以基于中断的轮询模式操作。在一个实施方案中,触发发生器可 被编程以忽略全局时间值且单纯响应于中断信号使得配置逻辑块完全在基于中断的轮询 模式中操作。这优选地通过将模式选择器添加到触发发生器以选择性地将中断信号或计时 器块作为读取信号通过触发发生器耦合而实现。通过对模式选择器适当编程,配置逻辑块 可被调适来关于相关外部传感器装置以基于时间的轮询模式或基于中断的轮询模式操作。 技术人员将理解,以基于时间的轮询模式和基于中断的轮询模式的组合的混合模式的操作 是替代选择方案。
[0022] 技术人员将了解,传感器轮询单元的中断驱动轮询模式能力通过减少相关微处理 器的耗电而对低功率传感器的处理是非常有利的。所述优点通过当仅在经由中断请求来请 求传感器装置自身的情况下轮询外部传感器装置关于寄存器数据读出时传感器轮询单元 显著减小的耗电而导致。因此,以不可预知的次数或只是不频繁生成新传感器数据的传感 器装置仅当需要读取新传感器数据时由传感器轮询单元轮询。这种特征使传感器轮询单元 中的数字交换活动降到最少,并减少了标准化双向数据通信接口与一起讨论的其相关的布 线板等等上的数据传输/接收交换活动。
[0023] 轮询状态机优选地被配置来响应于在微处理器可存取的数据存储器区域中接收 和存储预定量的寄存器数据而中断所述微处理器。这个特征可减小微处理器的耗电,因为 其允许后者居于休眠模式或未激活模式中,直到从轮询状态机接收中断信号为止。或者,微 处理器从由传感器装置的处理所赋予的计算负担缓解,且可完全使计算资源致力于与由传 感器轮询单元收集寄存器数据直到接收中断信号为止并行执行其它应用程序。
[0024] 微处理器可包括通用DMA控制器,其被配置来在没有来自微处理器的干涉的情况 下将某些类型的系统数据和其它数据经由数据总线直接写入数据存储器的指定部分。在这 种情况中,传感器轮询单元可包括DMA接口,其操作地耦合到轮询状态机以从其接收寄存 器数据。DMA接口被操作地耦合到微处理器的DMA控制器以将寄存器数据经由DMA控制器 传输到微处理器可存取的数据存储器区域。
[0025] 普通的DMA控制器主要被配置来突发有效传递数据,同时由轮询状态机通过DMA 接口传输的传感器数据趋于在时间上分散,除非采取纠正动作。接收的寄存器数据的这种 时间分散性可由从外部传感器装置的寄存器通过数据通信接口执行若干个单独的读出操 作而导致。出于这个原因,在调用DMA接口和DMA控制器之前在轮询状态机中收集一定量 的寄存器数据是有利的。在一个这种实施方案中,轮询状态机包括在通过DMA接口传输到 DMA控制器之前居中收集和存储预定量的寄存器数据的寄存器区域。因此轮询状态机收集 这些时间分散的寄存器数据并将这些以结构化的方式汇聚在寄存器区域中。寄存器区域可 包括每个外部传感器装置的FIFO缓冲器。轮询状态机的这个实施方案允许有效使用微处 理器的现有DMA控制器的资源。
[0026] 在传感器轮询单元的替代实施方案中,微处理器缺乏上文讨论的DMA控制器,且 传感器轮询单元可经由适当数据接口直接连接到微处理器可存取的数据存储器区域。在后 一实施方案中,传感器轮询单元相应地被配置来直接将接收的寄存器数据写入到微处理器 可存取的数据存储器数据区域的指定地址空间。
[0027] 本发明的第二方面涉及一种整合式半导体晶片或芯片,其包括根据任何上文描述 的这些装置的实施方案的微处理器和传感器轮询单元。
[0028] 本发明的第三方面涉及微处理器系统,其包括如上文提及的整合式半导体晶片, 其经由各自标准化数据通信接口操作地耦合到多个外部传感器装置。多个外部传感器装置 可共享单个类型的标准化数据通信接口或耦合到不同类型的标准化数据通信接口。
[0029] 多个外部传感器装置可包括选自{陀螺仪、加速度计、位置传感器、温度传感器、 音频传感器、磁场传感器,等等}的前文讨论的传感器装置组的一个或多个传感器。
[0030] 包括微处理器与当前的传感器轮询单元的微处理器系统可包括多个电源模式,例 如,休眠模式、监控模式和正常操作模式,由微处理器执行的适当电源模式控制应用来控 制。休眠模式可例如包括停用时钟网络的某些部分和/或减小微处理器的主控时钟信号的 时钟频率。在这种微处理器系统的优选实施方案中,微处理器被配置来执行电源模式控制 应用且从而在微处理器系统的多个电源模式之间进行选择。电源模式控制应用包括一组 可执行程序指令,其被配置来根据微处理器系统的电源模式控制至少一个配置逻辑块的设 定。这个实施方案可被利用来对一个或多个配置逻辑块的功能提供许多有用的增强,例如, 取决于所选的电源模式停用触发发生器的读取触发或改变连续读取触发之间的时间周期。 因此,在特定电源模式中不使用的特定外部传感器装置的轮询可被中断。或者,外部传感器 装置的读取时间间隔(即,轮询速率)可被延长,而不是中断,同时也将减小传感器轮询单元 和数据通信接口的耗电。

【专利附图】

【附图说明】
[0031] 本发明的优选实施方案将结合附图更详细描述,其中:
[0032] 图1是微处理器的示意方框图,其包括根据本发明的第一实施方案的连接到多个 外部传感器装置的传感器轮询单元,
[0033] 图2是包括与各自外部传感器装置相关的多个配置逻辑块的传感器轮询单元的 不意方框图;和
[0034] 图3是根据本发明的优选实施方案的与外部传感器装置相关的传感器轮询单元 的配置逻辑块的示意方框图。

【具体实施方式】
[0035] 图1是微处理器100的示意图,其通过标准化串行双向数据通信接口耦合到三个 外部传感器装置11〇、112和114。标准化串行双向数据通信接口或串行数据接口包括I 2C 串行数据接口,其具有从微处理器1〇〇的I2C通信端口 118通过外部可存取的外部终端或衬 -S_DATA和CLOCK耦合到第一外部传感器装置110的串行数据线和时钟线。第二外部传感 器装置112和第三外部传感器装置114分别经由SPI串行数据接口耦合到微处理器。SPI 串行数据接口包括微处理器1〇〇的第二通信端口 119。技术人员将理解,在本发明的其它实 施方案中可利用其它类型的标准化串行或并行数据通信接口,如SLIMbus,等等。此外,微处 理器100可在替代中包括在所有外部传感器装置之间共享的仅一个类型的串行数据接口。 外部传感器装置可包括多种不同传感器类型,如陀螺仪传感器、加速度计传感器、位置传感 器、温度传感器、电压和电流传感器、音频传感器、磁场传感器等等。因此,互连的外部传感 器装置的总数量可超过示意图示的三个传感器装置的集合。每个外部传感器装置可递送传 感器被配置来测量的表示特定物理性质/多个物理性质的二进制编码的寄存器数据。在一 些实施方案中,外部传感器装置中的一个可包括3轴加速度计或GPS装置。在当前实施方 案中,传感器110和112的各自传感器数据以规则的时间间隔(S卩,以恒定采样率)由SPU120 通过SPI数据接口读取,同时由传感器3 (114)生成的传感器数据一般仅响应于由传感器 3的嵌入控制器生成的中断请求而以不规则的时间间隔读取。来自传感器3的中断请求通 过中断线113和外部可存取的微处理器终端IRQ3而被传送到SPU120的触发发生器。在下 文更详细解释读取传感器数据的这些替代机构。
[0036] 微处理器100可制造于以适当数字半导体工艺制造的单个半导体晶片上,如 0. 35 μ m,0. 18 μ m或0. 065 μ m的CMOS。技术人员将了解,微处理器100和三个外部传感器 装置110U12和114可与便携式终端整合,如智能手机、平板电脑或移动电话,以支持便携 式终端的各种传感器导出的功能和特征,如实时或连续播出音频和视频内容,用户界面功 能,如位置、定向、加速度信息,等等。
[0037] 每个传感器110、112和114包括一个或多个传感器数据寄存器,其保存测量/获 取的传感器数据值,如温度、一个或多个预定方向或平面上的加速度、一个或多个数字音频 样本,等等。传感器数据寄存器可包括易失存储器,如数据寄存器或RAM,或非易失存储器, 如闪存存储器或EEPROM,其整合于传感器芯片上,与外部传感器装置的传感元件或装置接 口连接。如果传感器包括多个传感器数据寄存器,那么这些可以连续或非连续地排列在传 感器的存储器中。此外,特定传感器装置的数据寄存器的各个大小可改变使得一些数据寄 存器拥有8位的大小,而其它寄存器可具有16位与32位之间的任何大小。传感器寄存器 结构或布局上的这些差异必须由传感器轮询单元120正确寻址以确保正确读取所有传感 器寄存器的内容。当前传感器轮询单元120通过传感器寄存器模型来解决这种挑战,如在 下文更详细描述。
[0038] 微处理器100包括微处理器核124和数据存储器126。微处理器核124可包括可从 安谋国际公司(ARM Holdings)购得的标准ARMCortex-M4处理器核或任何其它专有或标准 微处理器或DSP核。数据存储器126经由数据存储器总线130连接到微处理器核124。数 据存储器126可与微处理器100整合于共同的半导体晶片上,如图上所指示,或排列在专用 存储器芯片上或实施为两者的组合,即,同时在芯片上并在数据存储器外部(芯片外)。微处 理器100还包括直接存储器存取(DMA)控制器122,其被配置来将由传感器轮询单元(SPU) 120供应的某些数据块或数据部分带入通过DMA通道109、111,并且在没有涉及微处理器 核124的情况下将这些数据直接写入到数据存储器126的指定地址空间,如在下文以额外 细节描述。微处理器100的传感器轮询单元120因而在本发明的当前实施方案中在串行通 信端口 118、119与DMA控制器122之间操作地耦合。然而,在微处理器100的替代实施方 案中,其可能缺乏DMA控制器122, SPU120可直接连接到数据存储器126。因此,被配置来 直接将寄存器数据写入到数据存储器126的指定地址空间。SPU120包括轮询状态机(未示 出),其被配置来响应于在数据存储器126的指定数据存储器位置中接收和存储预定量的寄 存器数据而经由中断信号或线115来中断微处理器核124,如在下文更详细解释。
[0039] 技术人员将了解,SPU120能够使微处理器核124实际上无需控制询问的细节和读 出由三个外部传感器装置110U12和114生成的各自传感器数据。这个任务取而代之由 SPU120处理,使得微处理器核124可在开始适当的数据操纵或处理操作之前仅仅等待已被 SPU120收集并写入到数据存储器地址的存储器空间的一定量的传感器数据,如上文所描 述。技术人员将了解,外部传感器装置的非常多样的本质、数据寄存器架构、轮询模式等等 的差异将对微处理器核表现明显的计算挑战。
[0040] 图2是整合于微处理器100上的传感器轮询单元120的示意方框图,且包括与外 部传感器装置110、112和114的各自一个相关的多个配置逻辑块〇)11打8.1至&)11打8.3。 传感器轮询单元120的每个配置逻辑块被配置来根据由每个配置逻辑块的触发发生器(参 考图3的物件313)供应的读取触发而对相关外部传感器装置的一个或多个预定传感器数 据寄存器发出读取命令或信号217。传感器轮询单元120包括全局计时器221,其由微处理 器100的主控时钟信号Master Clock来驱动。技术人员将理解,取决于时钟信号的信号可 用性和/或期望频率等等,可将各种其它时钟信号用作到全局计时器221的输入。全局计 时器221包括当前实施方案中的二进制模N计数器,其中取决于二进制计数器的期望的重 复时间周期和期望的时间分辨率,N可以是介于1与2 32之间的整数。期望的重复时间周期 可方便地由传感器装置确定具有最长轮询时间间隔。时间分辨率可有利地由传感器装置确 定具有最短轮询时间间隔。全局计时器221限制触发发生器(图3的物件313)的分辨率, 因为任何给定传感器的采样间隔将是时间分辨率的21咅,其中在当前实施方案中,N可以是 介于1与232之间的整数值。
[0041] 在替代实施方案中,全局计时器可由与每个触发发生器(图3的物件313)整合在 一起的局部计时器替代。全局计时器的这种替代实施方案可能将对每个传感器装置导致更 精确的时间分辨率,但是是以更大的半导体晶片面积和耗电增加为代价。
[0042] 全局计时器的任务是将全局时间参考或时间值供应到配置逻辑块中保存的每个 触发发生器,允许后者以精确且一致的方式确定相关外部传感器装置的期望读取间隔。取 决于特定传感器装置的本质,其期望的读取间隔或采样率可相当大地改变。数字输出麦克 风传感器的读取间隔可小于50ms,优选地小于20ms,或甚至10ms,以避免运行于微处理器 核上的实时音频应用中(如电话)可察觉到的延迟伪像。其它类型的传感器装置可在没有将 可察觉到的或恼人的延迟伪像引入到预期功能的情况下容许显著更长的读取间隔。
[0043] 传感器轮询单元120此外包括中断处理程序,IRQ,其耦合到微处理器100的一个 或多个外部可存取的中断终端(参考图1)。中断处理程序将中断信号传输到适当配置逻辑 块。每个配置逻辑块可被配置来根据计时器模式或中断模式来操作,如在下文结合配置逻 辑块的触发发生器的描述以额外细节解释。当由前文提及的触发发生器触发时,每个配置 逻辑块传输读取命令或信号217。读取命令被应用到轮询状态机224,其被配置来将对应读 取命令通过前文讨论的连接到三个外部传感器装置的各自一个的I 2C和SPI数据通信接口 中的选定的一个而发出到外部传感器装置。由每个配置逻辑块生成的读取命令优选地包括 指定外部传感器装置的装置地址,和传感器数据寄存器的一个或多个寄存器地址,其将在 指定的外部传感器装置中被读取。轮询状态机224可包括由组合和循序数字逻辑的适当组 合所建立的半被动状态机。轮询状态机224还被配置来接收保存在选址的一个或多个传感 器数据寄存器中且由指定外部传感器装置响应于所发出的读取命令而传输的寄存器数据。 轮询状态机224被配置来将从所选址的传感器装置接收的寄存器数据提取并传输到预定 微处理器可存取的数据存储器区域或地址空间,如排列在微处理器的数据存储器中的许多 预定存储器位置。所接收的寄存器数据优选地经由数据接收接口块226直接传输到预定数 据存储器位置。数据接收接口块226用作轮询状态机224与排列在数据存储器中的预定存 储器位置之间的接口。因为到数据存储器的接口可能相当复杂,例如涉及通过前文讨论的 DMA通道(图1的109U11)的传输和相关DMA控制器,所以这个任务优选地由数据接收接 口 226的数字逻辑硬件的专用件来处理,使得轮询状态机224没有负担。这是因为普通的 DMA控制器主要突发地传递数据,同时由轮询状态机224传输的传感器数据趋于在时间上 分散。从传感器接收的寄存器数据通常在时间上分散,因为特定传感器装置的寄存器数据 读出可能源自通过数据通信接口 220的若干个单独读出操作。数据接收接口 226从轮询状 态机224收集这些时间分散的寄存器数据并将来自传感器装置的数据寄存器的分散的寄 存器数据汇聚在一个或多个内部存储器存储区域中。内部存储器存储区域可包括每个传感 器装置的FIFO缓冲器。寄存器数据内容暂时保存在数据接收接口 226的内部存储器存储 区域中,或替代地仅仅在轮询状态机224中,由重汇聚过程以结构化的方式组织。因此,汇 聚的寄存器数据内容可因此根据DMA控制器的数据交换协议作为有序列的数据呈现给或 应用到相关DMA控制器的一个或多个DMA通道109、111。因此,允许寄存器数据由DMA控制 器突发传输到微处理器的数据存储器的预定存储器区域。数据接收接口 226可被配置来遵 循DMA控制器的数据交换协议,或经由耦合到DMA控制器的数据存储器总线(图1的135) 将直接接口递交给数据存储器。因此,在当前上下文中,术语"直接"意味着寄存器数据由 SPU传输到预定数据存储器位置而没有经过微处理器核。这个特征明显减少了微处理器核 上的计算负担且在微处理器核中节省耗电,因为这些寄存器数据不需要经过微处理器核的 耗电的数据寄存器和数据总线。如果微处理器包括DMA通道且控制器如当前实施方案,那 么指定用于存储每个外部传感器装置的接收的传感器数据的预定数据存储器位置的地址 优选地保存在DMA控制器(图1的物件122)中。
[0044] 如果微处理器缺乏DMA能力,那么用于存储从每个传感器装置接收的寄存器数据 的预定数据存储器位置的地址优选地存储在相关配置逻辑块中。这些地址优选地由数据指 针指示。后一配置或实施方案使每个外部传感器装置的适当地址空间对轮询状态机224可 用。如果微处理器缺乏DMA能力,那么数据接收接口 226可有利地扩展来包括类似DMA的 功能,其被配置来将接收的寄存器数据自动传递到指定用于在讨论中的传感器装置的数据 存储器位置中。这从微处理器核消除了相当大的计算负担,因为所述核原本将另外需要对 每次轮询事件从传感器装置手动取得寄存器数据。
[0045] 轮询状态机224优选地被配置来响应于在数据存储器的指定数据存储器区域中 接收和存储预定量的寄存器数据而中断微处理器核。因此微处理器核可开始处理所述量的 寄存器数据或寄存器数据收集,其可表示单个外部传感器装置的寄存器数据内容或多个外 部传感器装置的各自寄存器数据内容。因为微处理器知道被分配来存储每个外部传感器装 置的寄存器数据的存储器位置的各自地址,所以微处理器核可应用适当软件应用或程序例 程以处理任何特定传感器装置的传感器数据内容。这些应用或程序例程取决于传感器装置 的类型可以是非常多样的。一些程序例程可例如通过频率选择滤波器过滤传感器数据,或 通过非线性滤波器来抑制噪声。所述程序例程可例如内插或抽取过度采样的传感器采样值 以改进传感器信号的信号分辨率,等等。其它程序例程可对于耦合到微处理器的用户界面 显示器上的图形呈现来重构或过滤寄存器数据内容。包括数字音频信号的寄存器数据内容 可在通过扬声器再现之前经受各种基于模块的信号处理操作以增强进入的音频信号(如一 个或多个麦克风信号)的感知质量。
[0046] SPU120的通信单元220用作轮询状态机224与前文讨论的I2C和SPI数据通信接 口之间的接口。通信单元220优选地包括高级微控制器总线架构(AMBA)顺应总线结构。因 为到标准化双向数据通信接口的接口可能由于所选类型的数据接口的协议的复杂性而相 当复杂,所以这个任务优选地由通信单元220的数字逻辑硬件的专用件来处理。从而,轮询 状态机224无需处理双向数据通信接口的复杂协议细节。AMBA顺应总线结构具有其支持多 个总线主控的优点。这个特征允许SPU120与微处理器核和/或DMA控制器一起直接接口 连接到AMBA顺应总线结构。微处理器核和/或DMA控制器可采用AMBA顺应总线结构以连 接到SPI数据接口和/或I 2C数据接口。因此,在给定微处理器设计中或芯片上系统(S0C) 设计中结合整合当前SPU120的重新设计的努力被降到最少,因为SPU整合可在没有到数据 通信接口的任何专有数据连接的情况下实现。特定而言,由AMBA顺应总线提供的多个总线 主控支持可规避微处理器核在微处理器的开机时间期间在通过SPI和/或I 2C数据接口存 取外部程序和数据存储器时潜在的问题。
[0047] 图3示出传感器轮询单元(SPU)120的配置逻辑块的一个,Config. 1的详细示意方 框图。配置逻辑块是传感器寄存器模型的一部分,其确保多个外部传感器装置的每个都与 特定配置逻辑块相关。配置逻辑块知道相关外部传感器装置的传感器寄存器地址、架构、期 望的轮询模式和读取/轮询时间间隔,等等。一些类型的传感器装置可包括仅单个传感器 寄存器,同时其它类型的传感器可包括保存各自寄存器数据的多个传感器数据寄存器。为 了支持具有多个传感器寄存器的传感器类型,配置逻辑块的至少一个优选地包括相关外部 传感器装置的多个预定传感器数据寄存器的多个寄存器地址。技术人员将了解,多个预定 传感器数据寄存器的寄存器地址可为连续或非连续的,使得在一个实施方案中至少一个配 置逻辑块的多个寄存器地址是连续的,反映了相关外部传感器装置的多个预定传感器数据 寄存器的连续排列。在替代实施方案中,至少一个配置逻辑块的多个寄存器地址是非连续 的,反映了相关外部传感器装置的多个预定传感器数据寄存器的非连续排列。
[0048] 配置逻辑块在一些实施方案中可包括一个或多个预定传感器数据寄存器的各个 寄存器大小指示符。这个特征对于正确读出外部传感器装置的混合大小数据寄存器的寄存 器数据尤其有用。
[0049] 对于每个外部传感器装置的上文提及的特性指定的配置数据(例如,寄存器地址、 寄存器架构、期望的轮询模式和读取/轮询时间间隔)可在系统通电或开机期间结合由微处 理器执行的初始化程序而由微处理器核写入到每个配置逻辑块的有关寄存器。或者,配置 数据可结合应用初始化例程由微处理器核写入。此外,微处理器核可被配置来在多个外部 传感器装置共享相同配置逻辑块的SPU120的某些实施方案中动态地改变配置数据。这个 实施方案在外部传感器装置的数量超过微处理器的可用配置逻辑块的数量的系统中特别 有用。
[0050] 配置逻辑块包括触发发生器313,其发出关于相关外部传感器装置的一个或多个 预定传感器数据寄存器的读取触发317。当读取触发317发出时,将被读取的对应寄存器地 址由来自多路复用器311的地址信号或命令同时供应到轮询状态机。触发发生器313包括 双输入的多路复用器315,其选择触发发生器313的操作模式。双输入的多路复用器315的 第一输入耦合到前文讨论的中断处理程序IRQ,其耦合到微处理器1〇〇的外部可存取的中 断终端(参考图1)。因此,如果由选择输入选择第一输入,通过双输入多路复用器315的轮 询模式寄存器319供应,那么中断信号将用作读取触发。因此,配置块将根据相关的外部传 感器装置的基于中断的轮询模式操作。双输入的多路复用器315的第二输入耦合到数字比 较器314的输出处生成的读取信号。数字比较器314被配置来生成全局计时器321的计数 器输出的值是否或无论何时与读取间隔寄存器312中保存的预设读取值匹配的读取信号。 因此,数字比较器的输出将由于预设读取值的固定值和全局计时器的二进制模N计数器的 重复本质而以大体上恒定的时间间隔提供读取触发。读取信号的连续发射之间的时间间 隔(对应于相关外部传感器的采样频率)可通过将期望的预设读取值写入到读取间隔寄存 区312来控制或调整。总的来说,触发发生器313操作于两个不同或独特的轮询模式中:基 于时间的轮询模式或基于中断的轮询模式。如上文所提及,与传感器3相关的配置逻辑块 Config. 3根据基于中断的轮询模式操作,且传感器3的寄存器数据响应于由传感器3的控 制器生成的中断请求一般以不规则的时间间隔读取。传感器3的控制器可例如被配置来仅 当满足某一信号相关的标准或事件时发出中断请求。所述标准可包括预定量的传感器数据 已被收集或某一传感器信号超过预定信号阈值,等等。技术人员将了解,当前传感器轮询单 元的中断驱动的轮询模式能力非常有利于低功率传感器和微处理器系统。传感器轮询单元 120的耗电可对于许多类型的传感器装置和应用通过仅在经由中断请求的传感器装置请求 时轮询其关于寄存器数据而明显减小。因此,以不可预知或随机时间生成新传感器数据的 传感器装置仅响应于新寄存器数据的可用性而被轮询。这个特征使传感器轮询单元120中 的数字电路活动降到最少且减少了数字接口(如SPI和I 2C串列数据端口)以及其相关的板 布线等等上的数据传输/接收活动。
[0051] 配置逻辑块包括保存相关外部传感器装置(传感器3)的传感器数据寄存器的多 (N)个寄存器地址的寄存器文件309。技术人员将理解,例如因为相关的外部传感器装置配 备有单个传感器数据寄存器或因为在讨论中的应用仅需要许多可用传感器数据寄存器中 单个的内容,所以配置逻辑块的其它实施方案可仅保存单个寄存器地址。寄存器文件309 中保存的寄存器地址可以是连续或非连续的,反映相关外部传感器装置的多个传感器数据 寄存器的对应排列。来自寄存器〇至N的寄存器地址通过适当操纵由示意描绘的选择逻辑 块302、304执行的多路复用器311的选择输入而连续传输到轮询状态机。
[0052] -种包括当前微处理器100的微处理器系统可包括多个电源模式,例如休眠模 式、监控模式和正常操作模式,其由微处理器执行的适当电源模式控制应用来控制。根据本 微处理器系统的优选实施方案,一个或多个上文提及的配置逻辑块的配置数据是动态可控 制的。电源模式控制应用包括一组可执行的程序指令,其被配置来根据微处理器系统的电 源模式控制一个或多个配置逻辑块的设定。这个实施方案可被利用来对配置逻辑块提供许 多有用增强,例如用来中断特定电源模式中不使用的外部传感器装置的轮询。或者,外部传 感器装置的读取时间间隔(即,轮询速率)可被延长,而不是中断。中断或延长读取时间间隔 将减小SPU的耗电,这在微处理器系统的休眠模式中非常有用。优选地实施由配置逻辑块 提供的读取时间间隔的控制或传感器轮询的中断,其配置电源模式控制应用以将适当预设 读取值写入到触发发生器313的上文讨论的读取间隔寄存器312,使得连续读取触发之间 的时间周期被延长。
【权利要求】
1. 一种用于微处理器整合的传感器轮询单元,其包括: 传感器寄存器模型,其包括与多个外部传感器装置的每个传感器装置相关的配置逻辑 块,每个配置逻辑块被配置来根据由所述配置逻辑块的触发发生器供应的读取触发而对所 述相关的外部传感器装置的一个或多个预定传感器数据寄存器发出读取命令, 全局计时器,其基于所述微处理器的时钟信号将全局时间值供应到所述触发发生器, 轮询状态机,其操作地耦合到所述多个配置逻辑块以从其接收各自的读取命令,所述轮询 状态机被配置来通过连接到所述外部传感器装置的标准化双向数据通信接口而将对应读 取命令发出到所述外部传感器装置, 其中所述轮询状态机还被配置来响应于所述读取命令接收由所述外部传感器装置传 输的寄存器数据且将所述接收的寄存器数据传输到微处理器可存取的数据存储器区域以 存储。
2. 根据权利要求1所述的传感器轮询单元,其中一个或多个所述配置逻辑块的所述触 发发生器包括计时器块,其由所述全局时间值驱动,以生成大体上恒定时间间隔或变化时 间间隔的读取触发。
3. 根据权利要求1所述的传感器轮询单元,其中一个或多个所述配置逻辑块的所述触 发发生器包括操作地耦合到所述微处理器的中断终端的中断输入,以接收所述相关外部传 感器装置的中断信号; 所述触发发生器被配置来响应于所述中断信号产生所述读取触发。
4. 根据权利要求3所述的传感器轮询单元,其中至少一个触发发生器包括模式选择 器,其被配置来将所述中断信号或所述计时器块作为所述读取信号通过所述触发发生器选 择性地耦合,以便选择所述相关外部传感器装置的基于时间或基于中断的轮询模式。
5. 根据权利要求2所述的传感器轮询单元,其中计时器块包括二进制模N计数器,其具 有耦合到数字比较器的第一输入的计数器输出,和读取间隔寄存器,其保存耦合到所述数 字比较器的第二输入的预设读取值; 所述数字比较器被配置来当所述计数器输出值与所述预设读取值匹配时生成所述读 取触发以便以大体上恒定的时间间隔提供读取触发。
6. 根据权利要求1所述的传感器轮询单元,其中所述配置逻辑块的至少一个包括所述 相关外部传感器装置的多个预定传感器数据寄存器的多个寄存器地址。
7. 根据权利要求6所述的传感器轮询单元,其中所述多个寄存器地址连续反映所述相 关外部传感器装置的所述多个预定传感器数据寄存器的连续排列。
8. 根据权利要求6所述的传感器轮询单元,其中所述多个寄存器地址非连续地反映所 述相关外部传感器装置的所述多个预定传感器数据寄存器的非连续排列。
9. 根据权利要求1所述的传感器轮询单元,其中所述配置逻辑块的至少一个包括所述 一个或多个预定传感器数据寄存器的各个寄存器大小指示符。
10. 根据权利要求7所述的传感器轮询单元,其中所述轮询状态机被配置来在单个读 取操作期间将突发读取命令发出到所述外部传感器装置以读取所述多个连续传感器数据 寄存器的各自寄存器值。
11. 根据权利要求1所述的传感器轮询单元,其中连接到所述外部传感器装置的所述 标准化双向数据通信接口包括串行同步接口,如I 2C、SPI、SDIO或SUMBus。
12. 根据权利要求1所述的传感器轮询单元,其中所述轮询状态机被配置来响应于在 所述微处理器可存取的数据寄存器区域中接收和存储预定量的寄存器数据而中断所述微 处理器。
13. 根据权利要求1所述的传感器轮询单元,其包括操作地耦合到所述轮询状态机的 DMA接口,以从其接收寄存器数据; 所述DMA接口被操作地耦合到所述微处理器的DMA控制器以经由所述DMA控制器将所 述寄存器数据传输到所述微处理器可存取的数据存储器区域。
14. 根据权利要求13所述的传感器轮询单元,其中所述轮询状态机包括寄存器区域, 以在通过所述DMA接口传输到所述DMA控制器之前居中收集和存储预定量的所述寄存器数 据。
15. -种整合式半导体晶片,其包括根据权利要求1所述的微处理器和传感器轮询单 J Li 〇
16. -种微处理器系统,其包括经由各自标准化的数据通信接口操作地耦合到多个外 部传感器装置的根据权利要求15所述的整合式半导体晶片。
17. 根据权利要求16所述的微处理器系统,其中所述多个外部传感器装置包括选自 {陀螺仪、加速度计、位置传感器、温度传感器、音频传感器、磁场传感器,等等}的组的一个 或多个传感器。
18. 根据权利要求16所述的微处理器系统,其中所述微处理器被配置来执行电源模式 控制应用,其被配置来在所述微处理器系统的多个电源模式之间选择; 所述电源模式控制应用包括一组可执行程序指令,其被配置来根据所述微处理器系统 的所述电源模式控制至少一个配置逻辑块的设定。
19. 根据权利要求18所述的微处理器系统,其中所述电源模式控制应用被配置来控制 所述触发发生器的设定以停用所述读取触发或改变连续读取触发之间的时间周期。
【文档编号】G05B19/042GK104102150SQ201410140576
【公开日】2014年10月15日 申请日期:2014年4月9日 优先权日:2013年4月9日
【发明者】M·莫尔滕森, I·诺维特 申请人:亚德诺半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1