一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存储设备及其数据写入方法以及电机设备与流程

2022-06-05 15:55:58 来源:中国专利 TAG:


1.本发明实施例涉及存储器技术,尤其涉及一种存储设备及其数据写入方法以及电机设备。


背景技术:

2.步进电机驱动产品中,每次上电时产品需要做初始化,确定产品的运行行程零位置。具体的,通过步进电机中电子球阀来进行零点标定。电子球阀初始化前停在非全关位置,电子球阀的全关方向设置有限位架,在执行初始化的过程中,电子球阀向全关方向动作并且通过多次撞击限位架即撞端,以确保电子球阀一定处在全关位置上,完成初始化。
3.初始化的撞端动作会影响产品工作逻辑/状态、噪声、工作效率和工作寿命等。为了减少初始化的频率,改用存储电机位置的方式,在产品内设置nvram,掉电前产品将当前位置信息保存到nvram中,下次上电时只需要从nvram中读出位置即可,这样可以省去初始化。
4.然而,现有nvram在存储时,是对整个内存进行写入,增加了非必要内存的写频率,造成读写寿命次数有限,增大了步进电机驱动产品成本。


技术实现要素:

5.本发明实施例提供一种存储设备及其数据写入方法以及电机设备,以提高存储器的读写寿命。
6.本发明实施例提供了一种存储设备,包括:存储器和处理器;
7.所述存储器包括多个物理页,所述物理页包括一控制信息单元和多个数据单元,所述控制信息单元存储有在写数据单元信息;
8.所述处理器与所述存储器电连接,用于在写操作时确定上一次执行写入操作的第一物理页,根据所述第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元,再执行写操作。
9.基于同一发明构思,本发明实施例还提供了一种存储设备的数据写入方法,所述存储设备包括存储器,所述存储器包括多个物理页,所述物理页包括一控制信息单元和多个数据单元,所述控制信息单元存储有在写数据单元信息;
10.该数据写入方法包括:
11.确定上一次执行写入操作的第一物理页;
12.根据所述第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元,再执行写操作。
13.基于同一发明构思,本发明实施例还提供了一种电机设备,所述电机设备包括电机、电机控制器和如上所述的存储设备;
14.所述电机设备掉电时,所述电机控制器用于触发所述存储设备进入数据写入阶段,以保存所述电机的位置数据;
15.所述电机设备上电时,所述电机控制器用于从所述存储设备获取掉电前保存的所述位置数据,并在检测到所述位置数据无效时控制所述电机初始化,或者,在检测到所述位置数据有效时控制所述电机运行至所述位置数据所对应的位置。
16.本发明实施例中,存储器包括多个物理页,一个物理页包括一控制信息单元和多个数据单元,控制信息单元存储有其所属物理页的在写数据单元信息,处理器在数据写入阶段确定待写入的第一物理页,根据第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元再执行写操作。由此可知,存储设备对其内存进行了分区,分为多个物理页,处理器进行数据写入时,并非是对整个内存进行写入,而是每次写操作时针对其中一个存储区域进行存储,通过控制信息单元中存储的在写数据单元信息来确定待写入数据单元,实现了依序存储,以此增加存储器的读写寿命。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图虽然是本发明的一些具体的实施例,对于本领域的技术人员来说,可以根据本发明的各种实施例所揭示和提示的器件结构,驱动方法和制造方法的基本概念,拓展和延伸到其它的结构和附图,毋庸置疑这些都应该是在本发明的权利要求范围之内。
18.图1是本发明实施例提供的一种存储设备的示意图;
19.图2是本发明实施例提供的一种存储器的示意图;
20.图3是本发明实施例提供的一种存储设备的数据写入方法的示意图;
21.图4是本发明实施例提供的另一种存储设备的数据写入方法的示意图;
22.图5是本发明实施例提供的一种电机设备的示意图;
23.图6是本发明实施例提供的一种电机设备的驱动方法的示意图。
具体实施方式
24.为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所揭示和提示的基本概念,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
25.参考图1所示,为本发明实施例提供的一种存储设备的示意图。本实施例提供的存储设备包括:存储器10和处理器20;如图2所示存储器10包括多个物理页page,物理页page包括一控制信息单元11和多个数据单元12,控制信息单元11存储有在写数据单元信息;处理器20与存储器10电连接,用于在写操作时确定上一次执行写入操作的第一物理页,根据第一物理页中控制信息单元11存储的在写数据单元信息,确定待写入数据单元,再执行写操作。
26.本实施例中,可选存储器为非易失性存储器,如nvram等,不限于此。如图2所示,存储器10包括多个物理页page,该多个物理页page顺序标记为page1、page2、page3、

。例如,512bytes的存储器可以被分为10个page,每个page可以包含32个字节,一个page内32个字节中每四个字节划分为一个数据单元。可以理解,控制信息单元11本质也是由一个数据单
元构成,其区别在于,控制信息单元11固定用于存储其所属页的控制信息,物理页page内除控制信息单元11之外的其他数据单元12可用于存储外部数据。需要说明的是,存储器20划分的多个物理页page,不同物理页page的存储容量可以相同也可以不同,不同物理页page中数据单元12的存储容量可以相同也可以不同,同一page中数据单元12的存储容量相同,一个page内控制信息单元11和数据单元12的存储容量可以不同。
27.存储器20的物理页page包括一控制信息单元11和多个数据单元12,控制信息单元11包括在写数据单元信息current scatter cell,即控制信息单元11包括至少一个存储区,一个存储区11a固定用于存储其在写数据单元的地址信息,该地址信息可以是其编号。可以理解,物理页page划分为多个子单元,可选首个子单元作为控制信息单元11应用,控制信息单元11之后的各个子单元均作为数据单元12应用,那么可对控制信息单元11之后的各个数据单元12顺序编码,即控制信息单元11之后相邻的一数据单元12编号为1,依次类推。基于此,可选控制信息单元11中存储的在写数据单元信息为在写数据单元的编号。在其他实施例中,还可选控制信息单元中存储的在写数据单元信息为在写数据单元的逻辑地址。
28.本实施例中,存储设备包括处理器20,处理器20与存储器10电连接,用于在数据写入阶段确定待写入的第一物理页,根据第一物理页中控制信息单元11存储的在写数据单元信息,确定待写入数据单元,再执行写操作。其具体流程为:处理器20在执行当前一次数据写入操作时,首先确定上一次执行写入操作的物理页即第一物理页,例如上一次执行写入操作的第一物理页为page1;处理器20从page1的控制信息单元11的存储区11a中读取current scatter cell,例如current scatter cell=1,说明当前一次写操作所对应的在写数据单元为page1的第一组count data模块12;然后,处理器20将待写数据写入第一组count data模块12中。
29.本实施例中,存储器包括多个物理页,一个物理页包括一控制信息单元和多个数据单元,控制信息单元存储有其所属物理页的在写数据单元信息,处理器在数据写入阶段确定待写入的第一物理页,根据第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元再执行写操作。由此可知,存储设备对其内存进行了分区,分为多个物理页,处理器进行数据写入时,并非是对整个内存进行写入,而是每次写操作时针对其中一个存储区域进行存储,通过控制信息单元中存储的在写数据单元信息来确定待写入数据单元,实现了依序存储,以此增加存储器的读写寿命。
30.示例性的,在上述技术方案的基础上,可选控制信息单元还存储有最大写入次数,数据单元存储有已写次数;处理器还用于获取在写数据单元信息所对应的数据单元中存储的已写次数,并比较该已写次数和最大写入次数;若该已写次数小于最大写入次数,将在写数据单元信息所对应的数据单元确定为待写入数据单元,且更新待写入数据单元的已写次数;或者,若该已写次数等于最大写入次数,将在写数据单元信息所对应的数据单元之后依序设置的下一数据单元确定为待写入数据单元,且更新在写数据单元信息和待写入数据单元的已写次数。
31.本实施例中,控制信息单元11内存储有最大写入次数scatter count max,数据单元12内存储有已写次数count。具体的,控制信息单元11包括至少两个存储区,一个存储区11a固定用于存储其在写数据单元的编号信息,另一个存储区11b固定用于存储该页中数据单元12在一轮分散写入过程中可写入的最大次数,数据单元12包括计数区12a和数据存储
区12b,该计数区12a用于存储该数据单元被写入的次数即已写次数,该数据存储区12b用于存储外部数据data。
32.可以理解,数据单元12的计数区12a可看作为一读写计数器,在其所属数据单元12的数据存储区12b被写入数据时更新该数据单元12的已写次数。数据存储区12b中存储的外部数据data为需要记录的可变长度数据,例如存储设备设置在步进电机驱动产品中时,外部数据data可以为电子膨胀阀的位置信息。
33.本实施例中,处理器20与存储器10电连接,用于根据第一物理页中控制信息单元11存储的在写数据单元信息,查找到第一物理页中与该在写数据单元信息所对应的数据单元12,并从该数据单元12中读取出其存储的已写次数。处理器20比较读取出的已写次数和第一物理页中控制信息单元存储的最大写入次数。
34.若在写数据单元信息所对应的数据单元的已写次数小于第一物理页中控制信息单元存储的最大写入次数,说明在写数据单元信息所对应的数据单元还未达到最大写入次数,此时待写数据可以直接被写入在写数据单元信息所对应的数据单元。然后,将在写数据单元信息所对应的数据单元中存储的已写次数加1。
35.若在写数据单元信息所对应的数据单元的已写次数等于第一物理页中控制信息单元存储的最大写入次数,说明在写数据单元信息所对应的数据单元在当前一次写入中已经达到最大写入次数,无法再写入,那么将在写数据单元信息所对应的数据单元之后的下一数据单元确定为待写入数据单元,此时待写数据可以直接被写入该确定的待写入数据单元内。然后,将在写数据单元信息更新为待写入数据单元的编号,将待写入数据单元的已写次数加1。
36.现有技术中存储器是对整个内存进行写入,增加了非必要内存的写频率,如此使得存储器的写入总次数不能达到理想的写入总次数。而本发明实施例中,将每个数据单元作为独立的子单元进行读写,采用分散存储的方式增加读写次数。
37.本实施例中,在一轮分散写入周期中,依序存储且数据单元只有已写次数达到最大写入次数之后,才会去写下一数据单元,使得已写过的每个数据单元在当前一轮周期中已写次数均达到最大写入次数,直至存储器中最后一个数据单元已写次数达到最大写入次数。那么每一轮分散写入周期,存储器的写入总次数均可以达到存储器的理想的最大写入总次数,提高了使用效率,延长了读写寿命。
38.可选控制信息单元还存储有页分散单元总数信息;处理器还用于根据控制信息单元存储的页分散单元总数信息,判断在写数据单元信息所对应的数据单元是否为第一物理页的末位数据单元,若是,将第一物理页之后依序设置的下一物理页的首位数据单元确定为下一数据单元。
39.本实施例中,每个物理页的控制信息单元11存储有页分散单元总数信息scatter cell,具体的,控制信息单元11还包括一存储区11d,该存储器11d用于固定存储器所属页的数据单元12的总数量,该页分散单元总数信息表征其所属页分散的数据单元总数;例如一个page中包括1个控制信息单元和10个数据单元,那么其控制信息单元中存储的页分散单元总数信息为10。
40.在一轮分散写入周期中,对于在写数据单元信息所对应的数据单元的已写次数等于其所对应的最大写入次数的情况,说明该数据单元在该轮分散写入周期中已达最大写入
次数,此时数据可写入顺序的下一数据单元。若在写数据单元信息所对应的数据单元并非其所属物理页的末位数据单元,那么可以将该数据单元的下一数据单元确定为待写入数据单元。若在写数据单元信息所对应的数据单元是其所属物理页的末位数据单元,说明当前该物理页中每个数据单元均已在当前周期中达到最大写入次数,那么可以将数据写入顺序的下一物理页内,且具体写入下一物理页的首位数据单元内,实现物理页之间的依次存储以及物理页内部数据单元的依次存储。
41.可选处理器还用于在检测到在写数据单元信息所对应的数据单元中存储的已写次数等于最大写入次数时,将该数据单元的已写次数清零。将已写次数达到最大写入次数的数据单元的已写次数清零,以便于数据单元在下一轮写入周期中重新写入数据。可以理解,最大写入次数是一个数据单元在一个写入周期中的最大次数;每个写入周期的最大写入次数采用合理的数值,对于每个数据单元进行周期性的读写,可以提高使用寿命。
42.可选控制信息单元还存储有数据长度值;处理器还用于根据控制信息单元存储的数据长度值,将待写数据写入待写入数据单元,其中,待写入数据单元中写入的数据长度等于控制信息单元中存储的数据长度值。
43.可选控制信息单元11还包括两个存储区,一个存储区11c固定用于存储其当前一次写入操作中待写入数据长度data length,另一个存储区11d固定用于存储该页分散单元总数信息scatter cell。可选每个控制信息单元11的四个存储区均按照11c、11d、11a和11b的顺序排布,该四个存储区的逻辑地址顺序相邻。例如,当前一次写入操作所确定的第一物理页为page1,page1的control block中,data length=2,表征待存储数据为2个字节;scatter cell=3,表征page1包含3个数据单元12,即control block11之后还有3组count data模块12;current scatter cell=1,表征当前在写数据单元为第一组count data模块;scatter count max=5,表征每个数据单元12的最大写入次数为5次。可以理解,每组count data模块12中数据存储区的存储容量大于等于2个字节。
44.本实施例中,存储设备包括处理器20,处理器20与存储器10电连接,用于在写操作时确定上一次执行写入操作的第一物理页,当第一物理页中在写数据单元信息所对应的数据单元的已写次数小于最大写入次数时,将在写数据单元信息所对应的数据单元的已写次数加1且将待写数据写入该数据单元。其具体流程为:
45.处理器20在执行当前一次数据写入操作时,首先确定上一次执行写入操作的物理页即第一物理页,例如上一次执行写入操作的第一物理页为page1;
46.处理器20将待写数据的数据长度写入page1的控制信息单元11的存储区11c,例如待写数据的数据长度为2字节,则data length=2;
47.处理器20从page1的控制信息单元11的存储区11a中读取current scatter cell,例如current scatter cell=1,说明当前一次写操作所对应的在写数据单元信息所对应的数据单元为page1的第一组count data模块12;
48.处理器20读取第一组count data模块12中计数区12a的已写次数count,还读取page1的控制信息单元11的存储区11b的最大写入次数scatter count max,例如count=2,scatter count max=5,则count小于scatter count max,那么将2字节的待写数据写入第一组count data模块12的数据存储区12b内;
49.处理器20将第一组count data模块12的count中数值加1,即count=2。
50.如上所述,在每次存入数据之前,处理器20确认待写入数据单元,将待写数据写入确定的待写数据单元内,并将写入数据的数据单元的count加1。例如确定的待写入数据单元为page1的第一组count data模块;经过多次写入操作之后,当处理器检测到page1的第一组count data模块的count等于scatter count max时,处理器20更新page1的控制单元中current scatter cell为2,并将待写数据写入第二组count data模块,再将第一组count data模块的count清零。如此当一个数据单元写的次数为scatter count max后,处理器20再去写本页下一组count data模块,直至本页最后一个数据单元写完,再写下一页的第一组count data模块。按照该写入操作一直循环。如此一轮分散写入周期内每个page的数据单元均可达到最大写入次数。
51.可选位于同一物理页page的任意两个数据单元12的存储容量相等。可选数据单元12的第一个字节为计数区12a,用于保存本数据单元在一个周期中已写次数,数据单元12的计数区12a之后字节均为数据存储区12b。因此,每个数据单元12的存储容量可选为数据存储区数据长度加1,可以理解,一个数据单元位于一个page内,不能横跨两个page。基于此,可知一个容量为m字节的page的分散原则为scatter cell*(data length 1) 4≤m,例如m=32字节,一个数据单元的数据存储区容量data length=2,control block的容量为4字节,则一个page的数据单元总数小于等于9个。
52.可选位于同一物理页page的相邻两个数据单元12的逻辑地址相邻,物理页page中控制信息单元11的逻辑地址与其首位数据单元12的逻辑地址相邻。例如一个page内32个字节中每四个字节划分为一个数据单元,则第一个数据单元实质为用于存储本页控制信息的控制信息单元11,从第二个数据单元开始均为本页可存储外部数据的数据单元12,则第二个数据单元为物理页的首位数据单元12。
53.本实施例中,存储设备在每次存入数据之前,处理器确认当前待写入数据单元,将当前一次写入操作中待写数据写入待写入数据单元,并将待写入数据单元的已写次数加1,若数据单元经过多次写入操作之后,当其已写次数等于本页数据单元的最大写入次数时,处理器再去按照设置顺序写下一数据单元,并更新控制信息单元的在写数据单元信息,以及将已写次数达到最大写入次数的数据单元的已写次数清零。因此每个页的数据单元在一轮分散写入周期内均可达到最大写入次数,存储器能够满足其设计寿命内的读写次数要求,增加了存储器的读写寿命。
54.基于同一发明构思,本发明实施例还提供了一种存储设备的数据写入方法,该存储设备为上述任意实施例所述的存储设备,该存储设备包括存储器,存储器包括多个物理页,物理页包括一控制信息单元和多个数据单元,控制信息单元存储有在写数据单元信息。本实施例提供的数据写入方法可以采用数据写入装置执行,该数据写入装置可以采用软件和/或硬件的方式实现,并配置在上述任意实施例所述的处理器中使用。如图3所示该数据写入方法包括:
55.步骤s1、确定上一次执行写入操作的第一物理页;
56.步骤s2、根据第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元,再执行写操作。
57.可选控制信息单元还存储有最大写入次数,数据单元存储有已写次数;根据第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元,包括:
58.获取在写数据单元信息所对应的数据单元中存储的已写次数,并比较该已写次数和最大写入次数;
59.若该已写次数小于最大写入次数,将在写数据单元信息所对应的数据单元确定为待写入数据单元,且更新待写入数据单元的已写次数;或者,
60.若该已写次数等于最大写入次数,将在写数据单元信息所对应的数据单元之后依序设置的下一数据单元确定为待写入数据单元,且更新在写数据单元信息和待写入数据单元的已写次数。
61.可选控制信息单元还存储有页分散单元总数信息;根据第一物理页中控制信息单元存储的在写数据单元信息,确定待写入数据单元,包括:
62.根据控制信息单元存储的页分散单元总数信息,判断在写数据单元信息所对应的数据单元是否为第一物理页的末位数据单元,
63.若是,将第一物理页之后依序设置的下一物理页的首位数据单元确定为下一数据单元。
64.可选还包括:在检测到在写数据单元信息所对应的数据单元中存储的已写次数等于最大写入次数时,将该数据单元的已写次数清零。
65.可选控制信息单元还存储有数据长度值;执行写操作包括:根据控制信息单元存储的数据长度值,将待写数据写入待写入数据单元,其中,待写入数据单元中写入的数据长度小于或等于控制信息单元中存储的数据长度值。
66.本实施例中,在当前一次数据写入操作中,数据写入装置首先确定上一次执行写入操作的第一物理页。该查找出的第一物理页的控制信息单元中存储有该page的在写数据单元信息。数据写入装置再根据第一物理页中控制信息单元存储的最大写入次数以及在写数据单元信息所对应的数据单元的计数区存储的已写次数,比对该数据单元的已写次数是否小于最大写入次数。
67.若该数据单元的已写次数小于最大写入次数,表征该数据单元还未达到最大写入次数,此时可以将待写数据写入该数据单元,并将数据单元的已写次数加1,而本页中控制信息单元的控制信息无需变动。
68.若该数据单元的已写次数等于最大写入次数,表征该数据单元在当前周期中已经达到最大写入次数。则将该数据单元的已写次数清零,将该数据单元之后的下一数据单元作为待写入数据单元,并将数据写入该待写数据单元内。然后该实际写入数据的数据单元的已写次数和本页中控制信息单元的控制信息均会发生相应变动。
69.本实施例中提供的存储设备的数据写入方法,每页的控制信息单元内存储有要存储的数据长度、本页分散的数据单元数量、当前正在写的数据单元以及每个数据单元在一个周期内的最大写入次数。数据写入装置控制一个物理页写入数据时,从本页第一个数据单元开始写数据,每个数据单元写够控制信息单元的最大写入次数后,再从下一页第一个数据单元重新开始写。每次写入时均将正在写的数据单元的信息记录到控制信息单元中。这样分散存储可满足存储器设计的写入次数要求。
70.具体的,相邻两个页的逻辑地址相邻,若第一物理页的在写数据单元信息为该页最后一个数据单元且其已写次数等于最大写入次数,那么下一物理页确定为待写物理页,该待写物理页的控制信息中在写数据单元信息为当前一次写入操作的目标数据单元。此时
对第一物理页的控制信息中在写数据单元信息进行更新,将其更新为其页内第一个数据单元的编号或地址,便于在下一周期中从其页内第一个数据单元开始写入数据。
71.可选将待写数据写入确定的数据单元之后,将该数据单元的已写次数加1,且将该数据单元的编号或地址写入其所在page的控制信息单元内,以便于下一次写入操作从该数据单元开始写入。
72.可以理解,当前一次写入操作中,至少以下控制信息需要更新:若在写数据单元信息所对应的数据单元的已写次数小于最大写入次数,将该实际写入数据的数据单元的已写次数加1。若在写数据单元信息所对应的数据单元的已写次数等于最大写入次数,将该数据单元的已写次数清零,并将待存数据写入下一数据单元,该实际写入数据的数据单元的已写次数加1,该实际写入数据的数据单元的编号写入其所属页的控制信息单元内;若清零数据单元和实际写入数据的数据单元位于不同物理页,将已写次数清零的数据单元所属页内控制信息的在写数据单元信息更新为其页内第一个数据单元的信息。
73.可选存储器为nvram,存储设备应用于电子膨胀阀产品中,其待存储数据为电子膨胀阀掉电时的位置信息,如图4所示基于该存储器可选数据写入方法具体包括如下步骤:
74.s01、开始,即存储设备始终处于工作状态;
75.s02、处理器获取要保存的数据,可选待写数据为电子膨胀阀掉电时的位置数据;
76.s03、处理器检测nvram是否写有效,若是,执行s04,若否,说明存储器异常,执行s13;
77.s04、处理器获取当前要写数据单元scatter;
78.s05、检测当前要写scatter的已写次数是否为最大写入次数,若是,执行s06,若否,执行s09;
79.s06、检测当前要写scatter是否为本页最后一个数据单元,若是,执行s07,若否,执行s08;
80.s07、当前要写scatter确定为下一页第一个数据单元,并执行步骤s09;
81.s08、当前要写scatter确定为本页的下一个数据单元,并执行步骤s09;
82.s09、将当前要写scatter的已写次数加1;
83.s10、将待写数据写入当前要写scatter内;
84.s11、检测该次写操作是否写成功,若是,执行s12,若否,执行s13;
85.s12、当前位置数据保存成功,并执行s14;
86.s13、当前位置数据保存失败,并执行s14;
87.s14、结束当前一次写入操作。
88.举例如下:
89.电机设备掉电前主动或者上位机发送当前位置保存命令至存储设备,命令位置信息存储在存储器memory1的页内,其中该目标页逻辑地址从0x50000040开始;
90.目标页逻辑地址从0x50000040开始的数据内容如下表所示,
91.0x50000040:
92.其中,前四个数据是控制信息单元的控制信息,第一个数据
02表征待写数据长度为2字节,第二个数据04表征本页分散出4个数据单元,该4个数据单元的编号依次为0,1,2,3,第三个数据00表征当前在写第一个数据单元,第四个数据05表征每个数据单元每轮写5次。
93.第一个数据单元:01 89 59,其中01表征该组已写次数1次,写入数据为89和59;下次要写入的数据还是该组,写入以后count计数增加1;当第一个数据为05即写满5次后,开始写第二个数据单元,同时将控制信息中的当前要写组从00更新为01;第二个数据单元同样写够5次后,再写第三个数据单元、第四个数据单元,直至四个数据单元写够5次;开始写下一物理页。当新一周期开始后,再次确定本页为目标页时,会从第一个数据单元开始重新写入。一直按此写入方式循环写入。需要说明的是,每次写入一个页时,页内最小数据单元为4个字节。可以理解,位置信息的字节数保持一致。
94.本实施例中,将待写数据如位置数据写入nvram等非易失存储器时,该数据写入方法可以满足存储器在设计寿命内的读写次数要求,达到存储器的读写次数,减少对存储器内非必要内存的写频率,增加存储器的使用效率。
95.基于同一发明构思,本发明实施例还提供了一种电机设备,如图5所示该电机设备包括电机100、电机控制器200和如上任意实施例所述的存储设备300。可选该电机设备为步进电机驱动产品,则电机设备中电机100为步进电机,可选待写数据为步进电机在掉电时的运行位置,可选该存储设备300包括非易失性随机访问存储器nvram。
96.电机设备掉电时,电机控制器200用于触发存储设备300进入数据写入阶段,以保存电机100的位置数据;
97.电机设备上电时,电机控制器200用于从存储设备300获取掉电前保存的位置数据,并在检测到位置数据无效时控制电机100初始化,或者,在检测到位置数据有效时控制电机100运行至位置数据所对应的位置。
98.电机设备在上电后需要做初始化,确定步进电机的运行行程零位置,初始化动作会影响设备工作逻辑/状态、系统噪声、设备工作效率、设备工作寿命等。为了减少初始化的频率,在电机设备掉电前主动或者上位机发送当前位置保存命令,电机设备将当前位置信息保存到nvram中,下次上电后只需要从nvram中读出位置信息,如此可省去上电位置初始化过程。如图4所示为电机设备在掉电前保存位置信息的流程图,如上所述存储设备300采用上述任意实施例提供的数据写入方法,在掉电后保存位置信息,能够满足电机设备对存储器的位置记忆的次数要求,使存储器的读写寿命要求满足电机设备需求。
99.如上所述,本实施例中如图6所示该电机设备的驱动方法具体包括如下步骤:
100.s201、开始;
101.s202、电机设备上电;
102.s203、电机控制器读取掉电前存储设备保存的位置数据;
103.s204、电机控制器判断该位置数据是否有效,若是,执行s205,若否,执行s206;
104.s205、电机设备驱动步进电机运行至nvram中有效位置数据所对应的位置,并执行s207;
105.s206、电机设备驱动步进电机执行初始化流程;
106.s207、电机设备初始化完成,进入正常运行状态;
107.s208、电机设备运行结束。
108.可以理解,电机设备掉电之前可以主动或被动驱动存储设备存储初始化位置信息,便于下次上电后提取位置信息进行初始化。显然,电机设备判定掉电前保存的位置数据有效时,电机设备采用该有效位置数据定位其上电后位置,无需在上电后执行初始化流程,降低了系统噪声,提高了设备工作效率和设备工作寿命,降低了每次上电初始化流程对电机设备的影响。
109.本实施例提供的电机设备的驱动方法,可以减少初始化过程,降低步进电机初始化对设备的影响和噪声,节约了设备初始化时间,减少了初始化对产品造成的寿命影响。
110.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献