一种分级存储的传感器数据采集方法与流程

文档序号:11432052阅读:515来源:国知局
一种分级存储的传感器数据采集方法与流程

本发明涉及一种用传感器采集数据的方法,尤其涉及一种分级存储传感器数据采集的方法。



背景技术:

传感器(sensor)是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。例如,g-sensor:重力传感器(gravity-sensor),它能够感知到加速力的变化,并将这种变化转化为电信号,然后送给微处理器进行计算分析。

在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。传感器本身具有多种结构,本发明中的sensor特指集成有fifo或者带有mcu的数据采集模块。本发明中的智能设备指搭载soc并且运行操作系统的设备。现有技术中带g-sensor的智能设备,比如android平台的智能设备,在sensor采集到数据之后,会立刻将数据直接送到ddr(doubledatarate双倍速率同步动态随机存储器),供用户查询时使用。如图1所示,但是实际情况中用户并不会一直查询这些信息,比如一个人在跑步,使用senosr采集步数,一般情况下会在跑步结束之后才会查询自己跑了多少步,所以没有必要将sensor采集到的数据实时刷新到ddr中,这样会增加功耗,造成电能的浪费,对于便携一类的设备,这种功耗的控制尤为重要。

本发明的目的在于解决上面提到的缺陷,通过将数据分级存储,在用户 查询或者采集数据达到本级存储空间时,才将数据逐级推送,减少cpu调度次数,到达降低功耗的目的,同时不降低用户体验。



技术实现要素:

本发明的目的之一在于提供一种分级存储的传感器数据采集方法,以克服上述缺陷,该方法包括如下步骤:

步骤1、按照预定参数对所述传感器的功能进行配置,所述传感器包括fifo单元,mcu处理器单元,所述mcu处理器单元包括ram存储单元;

步骤2、利用所述传感器采集外部测量数据,并将测量数据存储到所述fifo单元中;

步骤3、检查所述fifo单元是否已经存满;如果是,则通过所述mcu处理器单元将所述fifo单元中的数据搬运到所述ram存储单元中;如果否,则返回步骤2;

步骤4、检查所述ram存储单元是否已经存满;如果是,则cpu处理器单元与所述mcu处理器单元通信,将所述ram存储单元中的数据通过所述cpu处理器单元搬运到ddr存储器单元中;如果否,则返回步骤3;

步骤5,所述ddr存储单元中的数据供用户实时查询。

较佳的,所述分级存储的传感器数据采集运行于android系统或windows系统。

较佳的,检查所述fifo单元是否已经存满是采用定时的方法,按照预定时间循环查询所述fifo单元中存储的数据量。

较佳的,检查所述fifo单元是否已经存满是采用中断信号的方法进行检查,设置数据满溢出信号作为中断信号。

较佳的,检查所述ram存储单元是否已经存满是采用定时的方法,按照预定时间循环查询ram存储单元中存储的数据量。

较佳的,检查所述ram存储单元是否已经存满是采用中断信号的方法进 行检查,设置数据满溢出信号作为中断信号。

较佳的,所述mcu处理器单元与cpu处理器单元之间采用i2c或者spi协议传输数据。

较佳的,所述按照预定参数对所述传感器的功能进行配置,包括:配置所述fifo单元的大小以及配置所述ram存储单元的大小。

较佳的,所述ddr存储器单元的容量大于所述ram存储单元,所述ram存储单元的存储容量大于所述fifo单元。

较佳的,所述传感器为红外传感器、压力传感器、位置传感器、重力传感器之一。

由于本发明的所述分级存储的传感器数据采集方法采用了多级存储,并不是实时的将采集的数据直接存储到ddr存储单元,所以减少了对ddr存储单元的读写频率,节约了系统功耗,增加设备的续航时间。

附图说明

图1本发明技术方案结构框图。

图2本发明所述方法具体实现的流程框图。

具体实施方式

为使熟习本发明所属技术领域的普通技术人员能更进一步了解本发明,下文特列举本发明的较佳实施例,并配合所附图式,详细说明本发明的构成内容及所欲达成的技术效果。

android系统是典型的智能传感器senosr使用的系统,而sensor一般都是搭配在智能设备中,为了详细介绍此发明,以搭载智能传感器sensor的智能设备为例,并给出实现此技术方案的结构图。

如图1所示,本发明的分级存储的传感器数据采集系统,在本发明所述的一较佳实施例中,传感器单元为红外传感器、压力传感器、位置传感器、 重力传感器等等之一,也可以是其他类型传感器。所述传感器单元包括测量单元(图中未示出),fifo(先进先出存储单元),以下简称fifo单元,以及微型控制器mcu;测量单元与fifo单元相连接,所述的测量单元采集的数据首先被存储到fifo单元中。且于测量开始之前,可以设置该fifo单元的大小。

在本发明所述的一较佳实施例中,所述mcu单元中包括一内部存储器ram,所述fifo单元与所述内部存储器ram相连接。传感器单元采集的数据并不直接发送到所述内部存储器ram,而是先发送到所述fifo单元中,当判断所述fifo单元中存储的数据已满或达到一定阈值,此时才通过mcu控制权将fifo单元中存储的数据搬运到mcu中的内部存储器ram中。较佳的,所述fifo的存储单元存储容量小于所述内部存储器ram的容量。

在本发明所述的一较佳实施例中,所述的分级存储的传感器数据采集系统还包括一cpu处理器,与前述的传感器单元相连接,所述cpu还连接到一ddr存储单元,所述处理器单元可以是单核或双核处理器;在数据采集过程中,通过cpu判断所述内部存储器ram中存储的数据量,当ram中存储的数据已满,将要溢出时,将所述ram中的数据搬运到ddr中,供用户查询和使用。如果ram存储的数据未满,则继续检测其状态,而不做数据搬运。

参考图2,本发明的流程图,在一较佳的实施例中,首先配置senser传感器的功能设置。使其测量的数据并不直接传输到ram中,而是首先传输到fifo单元中,而且通过设置其存储阈值参数,不断检测该fifo单元的存储状态,判断该fifo单元是否已满。整个系统由cpu调度,cpu通过i2c或者spi与sensor中的mcu通信,将sensor采集到的数据搬运到ddr中;需要说明的是,本发明的主要特点并不是数据传输的流程,而是搬运数据的时机,以及使用此方法达到降低功耗的目的。因为,在现有技术中,当sensor采集到数据的时候就立刻搬运到ram存储单元中,再由cpu搬运到ddr单元中,这个过程是实时的,只要sensor采集到数据,就会进行该搬运流程; 而本发明则是在sensor采集数据时将数据放到fifo单元中,但是此时并不立刻将数据搬运到ram中,而是暂存在fifo单元中,直到fifo单元满了,将要溢出的时候,才将fifo单元中的数据全部搬运到ram中,然后判断ram中数据是否已满,以上过程都是在sensor内部有由mcu完成的;在判断ram数据已满了,将要溢出的时候,才将ram中的数据全部搬运到ddr中,供用户实时查询;此时的搬运动作由cpu完成,所以cpu只会在此时调度一次,而传统的方法cpu会被频繁的调度。

通过上述过程可以看出,本发明采用了分级存储数据的方式,通过配置sensor,使mcu只在fifo单元满时将数据搬运到ram,当ram满了之后,通过i2c或者spi通知cpu,由cpu将数据搬运到ddr。减少cpu的被调度的次数,达到降低功耗的目的。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1