System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种使用Flash记录累积工作时间的方法和装置制造方法及图纸_技高网

一种使用Flash记录累积工作时间的方法和装置制造方法及图纸

技术编号:41065895 阅读:6 留言:0更新日期:2024-04-24 11:20
本发明专利技术提供一种使用Flash记录累积工作时间的方法和装置,该方法包括:嵌入式计算机系统上电后的初始化期间读取设定工作时间累计存储页Page的每页首地址数据,判断是否均为擦除状态,若是,则从首页首地址开始计时,若不是,则找到上一次记录的有效地址,从有效地址开始计时,并将其他地址擦除。比采用EEPROM具有速度快和成本低的优点;采用多页方式有效的减少了擦除Flash的次数,采用存储数据与存储地址值具有相关性的方法提高了数据的安全性和完整性。

【技术实现步骤摘要】

本专利技术属于电子,具体涉及一种使用flash记录累积工作时间的方法和装置。


技术介绍

1、嵌入式计算机系统通常需考虑维护的便捷性,因此需要将产品故障信息及运行时长记录在非易失存储器中,以便系统出现故障时快速排查故障。

2、传统的累积工作时间计数器无法进行故障记录且部件体积大,已经逐步淘汰,退出新设计应用。目前,已经广泛使用电可擦除存储器芯片eeprom和铁电存储器芯片fram,这些记录方式可以使用微控制器mcu内部的eeprom或者fram,也可以使用mcu外部的eeprom或者fram。无论是片内还是片外,虽然fram具有存取速度快的优点,但是fram具有成本高和仅有个别制造商具有能力;而eeprom虽然成本低且具有能力的制造商多,但是eeprom的存取速度低制约了其作为工作时间累加记忆芯片的应用广泛性。

3、随着电子技术的发展,flash存储器被广泛大量的使用,并与mcu集成在一起,具有成本低和写入速度快的优点,广泛使用的flash的写入速度可达到16us/32bit左右;但是在写入之前需要确认必须是已经擦除的状态,而且只能是以页为单位或整体擦除,擦除整页时以整页1kb为例通常需要5ms左右。毫秒级的擦除时间且在擦除时执行中断等处理具有风险,通常在嵌入式计算机系统应用中的实时处理也是不可接受的。


技术实现思路

1、本专利技术提出了一种使用flash记录累积工作时间的方法和装置,采用存储地址与数据一致性写入和读取的校验方法,解决了在实时处理系统中快速写入数据和数据完整性校验,同时避免了在嵌入式计算机系统实时处理过程中对flash的擦除,提高了嵌入式计算机系统的运行安全性。

2、本专利技术第一方面提供一种使用flash记录累积工作时间的方法,包括:

3、步骤1:嵌入式计算机系统上电后的初始化期间读取设定工作时间累计存储页page的每页首地址数据,判断是否均为擦除状态0xffffffff;若是,则进入转步骤2;否则,转步骤3;

4、步骤2:分别检查每个flash页page是否为擦除状态,如果不是擦除状态则进行擦除;设置首次上电累计工作时间状态数据,将页内地址及地址所在页的页号赋值给设定的计时用的全局变量;转步骤4;

5、步骤3:查找记录有效的当前累计工作时间的页号、地址,将页号和地址赋值给设定的计时用的全局变量,在非当前有效页的其他页为非擦除状态时,进行擦除;进入步骤4;

6、步骤4:初始化完毕,实时运行代码按照预设计时间隔,在每一次计时时,将设定的计时用的全局变量中的地址加1,调用写入累计工作时间到新的地址中。

7、可选的,查找记录有效的当前累计工作时间的页号、地址,包括:

8、从第一页开始,获取每页的首地址的低n位,在不是擦除状态,且首地址低n位和地址存储内容的低n位相一致时,从当前页号开始,遍历搜索地址低n位和地址存储内容的低n位相一致的每个存储单元,搜索最大存储数值及其地址,并直到最后一页的最后一个地址;将搜索到的地址和数值及其所在页号作为当前累计工作时间的页号、地址;

9、其中,n的取值为log2(l)+log2(m),l为每页的地址数,m为页总数。

10、可选的,在将设定的计时用的全局变量中的地址加1之前,使用flash记录累积工作时间的方法,还包括:

11、确定地址未超出页的最大地址;

12、若超出,则将页地址加1,将地址设置为0x00000000。

13、可选的,设置首次上电累计工作时间状态数据,包括:

14、将累计工作时间0数据写入到第一个flash页page的第一个地址0x00000000中。

15、可选的,使用flash记录累积工作时间的方法,还包括:

16、如果所有页的首地址数据均为擦除状态0xffffffff,则设置记录工作时间数据状态为1;

17、如果所有页的首地址数据不是均为擦除状态0xffffffff,则设置记录工作时间数据状态为2。

18、可选的,使用flash记录累积工作时间的方法,还包括:

19、在每一次计时时,检测地址与写入地址的数值的后n位是否一致;

20、若不一致,则报故。

21、本专利技术第二方面提供一种使用flash记录累积工作时间的装置,包括:

22、首地址擦除状态判断模块,用于在嵌入式计算机系统上电后的初始化期间读取设定工作时间累计存储页page的每页首地址数据,判断是否均为擦除状态0xffffffff;

23、页擦除状态判断模块,用于在首地址擦除状态判断模块确定每页首地址数据均为擦除状态0xffffffff时,分别检查每个flash页page是否为擦除状态,如果不是擦除状态则进行擦除;设置首次上电累计工作时间状态数据,将页内地址及地址所在页的页号赋值给设定的计时用的全局变量;

24、查找模块,用于在首地址擦除状态判断模块确定不是每页首地址数据均为擦除状态0xffffffff时,查找记录有效的当前累计工作时间的页号、地址,将页号和地址赋值给设定的计时用的全局变量,在非当前有效页的其他页为非擦除状态时,进行擦除;

25、计时模块,用于实时运行代码按照预设计时间隔,在每一次计时时,将设定的计时用的全局变量中的地址加1,调用写入累计工作时间到新的地址中。

26、可选的,查找模块具体用于:

27、从第一页开始,获取每页的首地址的低n位,在不是擦除状态,且首地址低n位和地址存储内容的低n位相一致时,从当前页号开始,遍历搜索地址低n位和地址存储内容的低n位相一致的每个存储单元,搜索最大存储数值及其地址,并直到最后一页的最后一个地址;将搜索到的地址和数值及其所在页号作为当前累计工作时间的页号、地址;

28、其中,n的取值为log2(l)+log2(m),l为每页的地址数,m为页总数。

29、本专利技术提出了一种使用flash记录累积工作时间的方法和装置,采用mcu内部的flash作为通电时间的累加记忆,具有成本低、可靠、速度快的优点。在嵌入式计算机系统中应用累计工作时间的连续性与存储地址顺序值具有一致性、相关性的方法提高记录工作时间的安全性和完整性。在嵌入式计算机系统上电初始化时擦除数据为写入准备就绪,在实时处理运行期间,不擦除页,只写入数据,保证了嵌入式计算机系统运行的实时性。本专利技术采用了嵌入式计算机系统中mcu内置的flash作为累计工作时间存储,比采用fram具有成本低和速度基本一致的优点;比采用eeprom具有速度快和成本低的优点;采用多页方式有效的减少了擦除flash的次数,采用存储数据与存储地址值具有相关性的方法提高了数据的安全性和完整性。

本文档来自技高网...

【技术保护点】

1.一种使用Flash记录累积工作时间的方法,其特征在于,包括:

2.根据权利要求1所述的使用Flash记录累积工作时间的方法,其特征在于,查找记录有效的当前累计工作时间的页号、地址,包括:

3.根据权利要求1所述的使用Flash记录累积工作时间的方法,其特征在于,在将设定的计时用的全局变量中的地址加1之前,所述方法还包括:

4.根据权利要求1所述的使用Flash记录累积工作时间的方法,其特征在于,设置首次上电累计工作时间状态数据,包括:

5.根据权利要求1所述的使用Flash记录累积工作时间的方法,其特征在于,所述方法还包括:

6.根据权利要求2所述的使用Flash记录累积工作时间的方法,其特征在于,所述方法还包括:

7.一种使用Flash记录累积工作时间的装置,其特征在于,包括:

8.根据权利要求7所述的使用Flash记录累积工作时间的装置,其特征在于,查找模块具体用于:

【技术特征摘要】

1.一种使用flash记录累积工作时间的方法,其特征在于,包括:

2.根据权利要求1所述的使用flash记录累积工作时间的方法,其特征在于,查找记录有效的当前累计工作时间的页号、地址,包括:

3.根据权利要求1所述的使用flash记录累积工作时间的方法,其特征在于,在将设定的计时用的全局变量中的地址加1之前,所述方法还包括:

4.根据权利要求1所述的使用flash记录累积工作时间的方法,其特征在于...

【专利技术属性】
技术研发人员:李超刘杰宣晓刚
申请(专利权)人:太原航空仪表有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1