嵌入式数据采集终端的循环记录和采集方法与流程

文档序号:12119130阅读:374来源:国知局
嵌入式数据采集终端的循环记录和采集方法与流程
本发明涉及数据存储和读写技术,尤其涉及一种嵌入式数据采集终端的循环记录和采集方法。
背景技术
:随着人工智能技术的成熟,嵌入式数据采集终端越来越多的应用到智能化系统中,从事简单的数据采集和单一功能实现上,但是这些数据终端所起到的作用确是无可替代的,智能中心依赖这些数据终端收集上来的数据进行分析和决策。由于这些采集终端的功能较为单一并且应用到系统中的数量较多,从成本和功能性上考虑,这些数据采集终端不能采集和存储大批量数据并且数据需要一定的实时性。因此要求数据采集终端具有循环记录和采集数据的功能。技术实现要素:本发明的目的在于为克服现有技术的缺陷,而提供一种嵌入式数据采集终端的循环记录和采集方法,以通过较低成本实现存储大批量实时数据。为实现上述目的,本发明采用以下技术方案:嵌入式数据采集终端的循环记录和采集方法在铁电存储器设立用于存放动态标志和位移变量的标志区,并将Flash存储器划分出多于1个用于循环存放数据的数据区,循环记录和采集方法包括存储数据步骤和采集数据步骤;存储数据步骤找出标志区中存储的当前数据存储地址后将数据存储到数据区内,采集数据步骤找出标志区中存储的循环采集数据地址后从数据区内采集数据。进一步地,存储数据步骤包括:步骤A1,读取标志区中Flash存储器的当前数据存储地址和数据长度,并验证校验值;步骤A2,读取标志区中Flash存储器的最大数据地址和最小数据地址,判断当前数据存储地址是否有效,同时读取写均衡数,判断当前数据存储地址所处的数据区写次数是否均衡;步骤A3,根据当前数据存储地址读数据区,判断数据区的写数据空标志,如果数据区为空,则写入数据;步骤A4,将标志区存储的当前数据存储地址更新为最新存储数据地址,数据长度增加最新存储数据长度,计算出校验值并更新到标志区,同时将下一个待写入的数据区的写数据空标志改为空。进一步地,采集数据步骤包括:步骤B1,读取标志区存储的循环采集数据地址及采集数据长度,验证校验值,同时读取当前存储数据地址和存储数据长度,验证校验值;步骤B2,对比当前存储数地址和循环采集数据地址,确定是否有最新数据需要采集;步骤B3,根据循环采集数据地址读取对应数据区数据,验证校验值。进一步地,嵌入式数据采集终端的循环记录和采集方法还包括修复数据指针步骤,在检测到数据区的写数据空标志为空同时数据区已写入有存储数据时调用修复数据指针步骤;修复数据指针步骤包括:步骤C1,读取标志区中存储的Flash存储器最大数据地址和最小数据地址;步骤C2,根据最大数据地址和最小数据地址通过递归方法重新定位当前数据存储地址。进一步地,步骤C2包括:步骤C21,最大数据地址与最小数据地址相加后除以2,求得当前数据地址;步骤C22,判断当前数据地址所在数据区的写数据空标志,如果为空,则将当前数据地址作为最大数据地址并重复执行步骤C21,如果写数据空标志不为空,则执行下一个步骤;步骤C23,判断当前数据地址及比当前数据地址小一位的相邻地址是否为空,如果全为非空,则将当前数据地址作为最小数据地址并重复执行步骤C21,如果全为空,则将当前数据地址作为最大数据地址并重复执行步骤C21,如果相邻地址非空而当前数据地址为空,则将当前数据地址作为当前数据存储地址并退出修复数据指针步骤。进一步地,嵌入式数据采集终端的循环记录和采集方法还包括循环数据自动清除步骤,循环数据自动清除步骤在步骤A3之后执行,循环数据自动清除步骤包括:步骤D1,将标志区存储的当前数据存储地址更新为最新存储数据地址,判断最新存储数据地址是否为Flash存储器的下一个数据区,如果不是,则退出,如果是,则执行下一步骤;步骤D2,读取当前数据区的写数据空标志,判断当前数据区是否已经存储数据,如果为空,则退出,如果不为空,则执行下一步骤;步骤D3,读取标志区的循环采集数据地址,判断当前数据区是否已经采集完成,如果没有采集,则调用采集数据步骤并退出,若已经采集完成则执行下一步骤;步骤D4,清除当前数据区的数据,并将写数据空标志设为空。本发明与现有技术相比的有益效果是:本发明通过通过综合使用铁电存储器和Flash存储器进行存储和采集,铁电存储器存储少量但需要多次读写的数据,Flash存储器存储大量而读写 次数少的数据,通过此种数据存储和采集方式处理,有效提高简单嵌入式采集终端数据稳定性,提升效率,同时提高Flash存储器使用寿命,缩减终端成本。附图说明图1为存储数据步骤的流程图;图2为采集数据步骤的流程图;图3为修复数据指针步骤的流程图;图4为循环数据自动清除步骤的流程图。具体实施方式为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案作进一步介绍和说明。本发明的嵌入式数据采集终端的循环记录和采集方法在铁电存储器设立用于存放动态标志和位移变量的标志区,并将Flash存储器划分出多于1个用于循环存放数据的数据区。铁电存储器是一种特殊工艺的非易失性的存储器,是采用人工合成的铅锆钛(PZT)材料形成存储器结晶体。当一个电场被施加到铁晶体管时,中心原子顺着电场停在低能量状态I位置,反之,当电场反转被施加到同一铁晶体管时,中心原子顺着电场的方向在晶体里移动并停在另一低能量状态。大量中心原子在晶体单胞中移动耦合形成铁电畴,铁电畴在电场作用下形成极化电荷。铁电畴在电场下反转所形成的极化电荷较高,铁电畴在电场下无反转所形成的极化电荷较低,这种铁电材料的二元稳定状态使得铁电可以作为存储器。这种特性使铁电存储器在掉电后仍能够继续保存数据,写入速度快且具有无限次写入寿命,不容易写坏。所以,与闪存和EEPROM等较早期的非易失性内存技术比较,铁电存储器具有更高的写入速度和更长的读写寿命。Flash存储器的英文名称是"FlashMemory",一般简称为"Flash",它属于内存器件的一种,是一种不挥发性(Non-Volatile)内存。Flash存储器的物理特性与常见的内存有根本性的差异:目前各类DDR、SDRAM或者RDRAM都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存;Flash存储器在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是Flash存储器得以成为各类便携型数字设备的存储介质的基础。Flash存储器是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除,每个块的最大擦写次数是十万次。Flash存储器容量大但是擦写次数有限,不能经常擦写。铁电存储器可无限次写入,但是容量较小,大容量成本较高。综合这两类存储器的特点,容量小写入次数不限制的铁电存储器用于存放动态标志和位移变量,容量大不能经常擦写的Flash存储器用于循环存放批量数据,保证擦写次数均衡。铁电存储器动态写入Flash存储器数据存放的位移地址,其中地址包含:起始地址、循环采集地址、循环存储地址、最大记录地址、数据长度、数据检验等信息。本发明实施例的具体流程如图1至图4所示。循环记录和采集方法包括存储数据步骤、采集数据步骤、修复数据指针步骤和循环数据自动清除步骤。存储数据步骤找出标志区中存储的当前数据存储地址后将数据存储到数据区内,采集数据步骤找出标志区中存储的循环采集数据地址后从数据区内采集数据。如图1所示,存储数据步骤包括:步骤A1,读取标志区中Flash存储器的当前数据存储地址和数据长度,并验证校验值;步骤A2,读取标志区中Flash存储器的最大数据地址和最小数据地址, 判断当前数据存储地址是否有效,同时读取写均衡数,判断当前数据存储地址所处的数据区写次数是否均衡;步骤A3,根据当前数据存储地址读数据区,判断数据区的写数据空标志,如果数据区为空,则写入数据;步骤A4,将标志区存储的当前数据存储地址更新为最新存储数据地址,数据长度增加最新存储数据长度,计算出校验值并更新到标志区,同时将下一个待写入的数据区的写数据空标志改为空。在步骤A1中,Flash存储器的当前数据存储地址、数据长度和校验值均保存在铁电存储器的标志区中。在步骤A2中,当前数据存储地址若不在Flash存储器的最大数据地址和最小数据地址之间,则为无效,此时退出存储数据步骤并进行提醒。步骤A2中,写均衡数表明了该数据区曾经写入的次数,将该数与其他数据区的写均衡数进行对比,如果数据区写入次数过多,便跳到下一个数据区写入,这样可以避免其中某个数据区写入过多而寿命过短。在步骤A3中,如果数据区不为空,则跳到下一个数据区写入。如图2所示,采集数据步骤包括:步骤B1,读取标志区存储的循环采集数据地址及采集数据长度,验证校验值,同时读取当前存储数据地址和存储数据长度,验证校验值;步骤B2,对比当前存储数地址和循环采集数据地址,确定是否有最新数据需要采集,如果没有新的数据需要采集,则退出采集数据步骤,如果有,则执行下一步骤;步骤B3,根据循环采集数据地址读取对应数据区数据,验证校验值。在采集数据步骤中,循环采集数据地址为Flash存储器的数据地址,是上一次采集数据完毕之后数据指针所指向的地址。在检测到数据区的写数据空标志为空同时数据区已写入有存储数据时便会调用修复数据指针步骤,因而修复数据指针步骤在数据存储的任一过程中都有可能调用。如图3所示,修复数据指针步骤包括:步骤C1,读取标志区中存储的Flash存储器最大数据地址和最小数据地址;步骤C2,根据最大数据地址和最小数据地址通过递归方法重新定位当前数据存储地址。其中,步骤C2包括:步骤C21,最大数据地址与最小数据地址相加后除以2,求得当前数据地址;步骤C22,判断当前数据地址所在数据区的写数据空标志,如果写数据空标志为空,则将当前数据地址作为最大数据地址并重复执行步骤C21,如果写数据空标志不为空,则执行下一个步骤;步骤C23,判断当前数据地址及比当前数据地址小一位的相邻地址是否为空,如果全为非空,则将当前数据地址作为最小数据地址并重复执行步骤C21,如果全为空,则将当前数据地址作为最大数据地址并重复执行步骤C21,如果相邻地址非空而当前数据地址为空,则将当前数据地址作为当前数据存储地址并退出修复数据指针步骤。修复数据指针步骤在数据存储的任一过程中都有可能调用,故其时间效率是非常重要的因素。本发明通过递归方法查找数据存储地址,其耗时低,工作效率高。本发明的递归方法所耗时间可采用迭代法进行计算。迭代基本方程为:迭代过程如下:直到时,递归过程结束,此时:以下为实验测试数据:测试条件:F=5Mhz,Flash读取数据速度1000μs。数据条数(万条)计算耗时(μs)实际耗时(μs)129000305001035000372801004100050190本实施例的循环数据自动清除步骤在步骤A3之后执行。如图4所示,循环数据自动清除步骤包括:步骤D1,将标志区存储的当前数据存储地址更新为最新存储数据地址,判断最新存储数据地址是否为Flash存储器的下一个数据区,如果不是,则退出循环数据自动清除步骤,如果是,则执行下一步骤;步骤D2,读取当前数据区的写数据空标志,判断当前数据区是否已经存储数据,如果为空,则退出循环数据自动清除步骤,如果不为空,则执行下一步骤;步骤D3,读取标志区的循环采集数据地址,判断当前数据区是否已经采集完成,如果没有采集,则调用采集数据步骤并退出循环数据自动清除 步骤,若已经当前数据区采集完成则执行下一步骤;步骤D4,清除当前数据区的数据,并将写数据空标志设为空。以上陈述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1