System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于flash芯片的计时方法、设备及存储介质,属于嵌入式系统计时应用领域。
技术介绍
1、计时器是一种用于测量时间间隔的工具或设备,广泛应用于日常生活、科学研究、工业生产、体育赛事等多个领域。根据用途及原理分类计时器可以分为多种类型,如机械计时器、电子计时器、秒表、计时码表等。在嵌入式系统设计中,通常使用电子计时器来计量时间,但记录的时间必须配备专用的显示器来显示,因此,亟需一种新的计时方法有效解决配备显示器的问题。
技术实现思路
1、本专利技术旨在提供一种基于flash芯片的计时方法,所述计时方法简单有效,无需配置专用显示器,有效降低项目成本。
2、为了实现上述目的,本专利技术所采用的技术方案是:一种基于flash芯片的计时方法,所述方法包括:
3、步骤1,设备启动时,读取flash芯片中的特征字,若所述特征字为有效特征字,判定计时基数区的存储数据可信,进入步骤2;若不为所述有效特征字,则所述计时基数区的存储数据不可信,进入步骤3;其中,所述特征字存储于特征字区,用于判断所述计时基数区的存储数据是否可信;所述计时基数区用于存储计时基数,所述计时基数为所述设备通电时所述flash芯片的比特位由逻辑“1”改写为逻辑“0”的数量;所述特征字区和所述计时基数区为所述flash芯片的分区;所述有效特征字为预设的数值;
4、步骤2,顺序连续读取所述计时基数区的存储数据,直至最后一个字节的存储数据;将读取的存储数据与0x0000比较,获取第
5、步骤3,所述第一计时基数为0,所述第二计时基数为0;进入步骤4;
6、步骤4,第三计时基数加上所述第一计时基数与所述第二计时基数之和,第四计时基数为0,进入步骤5;其中,所述第三计时基数为所述设备本次上电前已通电的总时间所对应的最小计时间隔的数量,所述第四计时基数用于记录所述设备本次通电累计时间所对应的最小计时间隔的数量,所述最小计时间隔为预设的用于计时的时间间隔;
7、步骤5,擦除所述flash芯片的所有扇区,所述特征字区写入所述有效特征字,所述计时基数区的逻辑“0”通过擦除变成逻辑“1”,进入步骤6;
8、步骤6,当一个所述最小计时间隔到来时,将所述计时基数区的一个比特位的逻辑“1”改写为逻辑“0”,所述第四计时基数加1;重复步骤6,直至断电。
9、flash芯片在进行写数据之前需要进行擦除操作,擦除时间通常很长。本专利技术利用flash芯片中存储单元电平逻辑不可逆的原理,即芯片中逻辑“0”仅可以通过擦除的方式变成逻辑“1”,在上电时擦除一次flash芯片的存储单元,后续在计时中将flash存储单元中每个比特位作为最小计时间间隔的计数刻度,依次写入逻辑“0”,通过对存储芯片中逻辑“0”的个数进行统计,即可以得到计时总时间。
10、根据本专利技术的实施例,还可以对本专利技术作进一步的优化,以下为优化后形成的技术方案:
11、在其中一个优选的实施例中,所述步骤1包括:设备启动时,读取flash芯片中计时扇区中的特征字,若所述计时扇区中的所述特征字为有效特征字,判定所述计时扇区中的计时基数区的存储数据可信,进入步骤2;若不为所述有效特征字,则所述计时扇区中的计时基数区的存储数据不可信,进入步骤3;其中,所述计时扇区为包括所述特征字区和所述计时基数区的扇区,所述flash芯片有至少一个所述计时扇区。可设置若干个所述计时扇区可作为计时备份,为避免上电擦除时,因异常断电导致计数信息丢失。
12、在其中一个优选的实施例中,所述方法还包括:步骤7,根据所述第三计时基数和所述第四计时基数,获得计时总时间=(所述第三计时基数+所述第四计时基数)*所述最小计时间隔,进入步骤8;步骤8,将所述计时总时间转换为所述设备的通信协议所需的格式输出至外部。实现通过总线消息输出的方式将获得的计时总时间值传递给外部,无需配备显示器,降低项目成本。
13、基于同一个构思,本专利技术还提供一种基于flash芯片的计时设备,所述设备包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述的基于flash芯片的计时方法的步骤。
14、基于同一个构思,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于flash芯片的计时方法的步骤。
15、与现有技术相比,本专利技术的有益效果是:本专利技术提供的基于flash芯片的计时方法利用flash芯片中存储单元电平逻辑不可逆的原理,即芯片中逻辑“0”仅可以通过擦除的方式变成逻辑“1”,在上电时擦除一次flash芯片的存储单元,后续在计时中将flash存储单元中每个比特位作为最小计时间间隔的计数刻度,依次写入逻辑“0”,通过对存储芯片中逻辑“0”的个数进行统计,即可以得到计时总时间,且避免擦操作,有效延长芯片的使用寿命。所述计时方法简单有效,无需配置专用显示器,有效降低项目成本。
本文档来自技高网...【技术保护点】
1.一种基于FLASH芯片的计时方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于FLASH芯片的计时方法,其特征在于,所述步骤1包括:
3.根据权利要求1或2所述的基于FLASH芯片的计时方法,其特征在于,所述方法还包括:
4.一种基于FLASH芯片的计时设备,其特征在于,所述设备包括:
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~3中任一项所述的基于FLASH芯片的计时方法的步骤。
【技术特征摘要】
1.一种基于flash芯片的计时方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于flash芯片的计时方法,其特征在于,所述步骤1包括:
3.根据权利要求1或2所述的基于flash芯片的计时方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:刘燕鑫,唐琼,余安,刘豫,王莲英,丁坤,
申请(专利权)人:湖南航天机电设备与特种材料研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。