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

一种基于脉冲计数的车辆里程统计的方法与流程

2022-03-02 00:40:47 来源:中国专利 TAG:


1.本发明涉及的是领域,特别涉及一种基于脉冲计数的车辆里程统计的方法和系统。


背景技术:

2.国标《gb/t19056-2012》要求对汽车行驶记录仪产品必须实现对车辆行驶里程记录和存储,而且要求一定里程范围内的记录误差小于0.1km。基于成本等因素考虑,通用的做法是在mcu内部分配一块ram区域用于实时的记录里程累加变化量,当满足定距(0.1km)或者定时(1s)条件时,将变化的里程值累到总里程后保存在mcu的内部flash或者外部的eeprom等nvm(non-volatilememory,非挥发性存储器)中。无论是采用内部flash还是外部eeprom存储器,频繁的擦写都会对存储器的寿命造成很大影响,甚至达到极限值造成损毁,大多数flash的擦写寿命次数小于100,000次;eeprom写入次数也只有100万次,而汽车整个生命周期的行驶里程需满足大于999999.9km,要想达到高精度里程记录势必会带来以下问题:
3.1.受nvm存储器的擦写次数限制,通常的做法是在mcu的片内ram(掉电或重启时,数据内容丢失)专门分配一块内存用于缓存车辆里程,每一次车速脉冲发生后里程累加一次,然后向nvm存储器中写入一次。这种里程存储方法存在一个弊端,大多数mcu运行受到软件质量以及外部因素影响,不可避免的会遇到运行异常或看门狗超时导致重启的情况发生,一旦mcu重启发生在触发写入里程到nvm之前或正在写入的情况,mcu内部ram缓存的里程数据将不复存在,这使得未及时写入nvm存储器的累计里程丢失,导致了里程统计误差增大。
4.2.添加外部专用高速存储器专门用于存储行驶里程会增加硬件电路的复杂程度,直接产生额外的硬件成本。
5.3.特别的,对于flash类型nvm存储器,向flash写入里程数据前,首先要对flash存储里程地址进行擦除操作(通常按页擦除),然后再写入新的里程数,当刚好擦除flash后遭遇到断电,此种情况会造成里程的永久丢失。
6.4.特别的,对于flash类型nvm存储器,擦写次数更短,设计上需考虑flash存储器的均衡磨损处理带来额外的存储开销和软件开发开销。
7.5.特别的,对于flash类型nvm存储器,当车辆行驶速度越高时,车速脉冲产生的频率也越高,大部分mcu操作flash前需要关掉mcu的全局中断,操作完成后再打开mcu的全局中断。擦除flash的时间加上写入flash时间在5ms到10ms之间,由于操作flash关闭了全局中断,若此时有脉冲边沿信号到来,对于基于捕获中断功能的脉冲计数来说,是不会产生输入捕获中断的,这也会造成里程误差增加的问题。6.操作flash时由于关闭了全局中断,降低了的mcu的实时性能。


技术实现要素:

8.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于脉冲计数的车辆里程统计的方法。
9.为了解决上述技术问题,本技术实施例公开了如下技术方案:
10.一种基于脉冲计数的车辆里程统计的方法,包括:
11.s100.获取车辆脉冲传感器输出信号,并通过硬件比较器电路将车辆脉冲传感器信号转换为mcu可识别的数字信号;
12.s200.采用mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿事件,mcu先读取备份域寄存器的脉冲计数值,然后对备份域寄存器的脉冲计数值进行自加1;
13.s300.计算脉冲计数值的校验值,并将脉冲计数值及校验值回写里程备份域寄存器。
14.进一步地,s100中,车辆脉冲传感器输出信号为波峰为 5v到 12v,波谷为0v的方波信号。
15.进一步地,s100中,mcu可识别的数字信号为波峰为3.3v,谷值为0的数字方波信号。
16.进一步地,mcu采用mimxrt1051cvbl微控制器。
17.进一步地,s200中,采用mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿,具体方法为:
18.s201.设置mcu的io口gpio_b0_04为上升沿事件捕捉功能;
19.s202设置mcu的io口gpio_b0_04上升沿中断使能;
20.s203当gpio_b0_04口发生0到3.3v电平跳变时执行步骤s304;
21.s204开始读取mcu内部的snvs_gpr寄存器的脉冲计数值。
22.进一步地,s304中读取mcu内部的snvs_gpr寄存器的脉冲计数值的方法为:
23.s2041.选取mcu的snvs模块通用寄存器前24个连续的字节作为数据存储区,将这24字节数据按每组12个字节分为2组,命名为数据存储区为a1和a2,a2为a1的冗余备份区,将每组数据存储区划分为数据区和校验码区;数据区占前面8个字节用于存储里程脉冲计数值,校验码区占后面4个字节,用于对前8个字节采用crc32进行校验;
24.s2042系统初始化时读取数据存储区a1的内容,得到脉冲计数值v1和校验码c1,
25.s2043.对脉冲计数值v1进行crc32计算得到校验值cc1,当c1等于cc1时,则取当前的v1为有效的脉冲计数值记为n。
26.进一步地,s2043中,当c1不等于cc1时,则执行步骤s2044-s2045:
27.s2044.续读取数据存储区a2,得到脉冲计数值v2和校验码c2;
28.s2045.对数值v2进行crc32计算得到校验值cc2,当c2不等于cc2时;则取v2为当前有效的脉冲计数值记为n。
29.进一步地,s2045中,当c2不等于cc2时,则执行步骤s2046:
30.s2046.将数据存储区数据a1的v1和a2的v2值分别清0,并分别计算其校验值得到ca1和ca2,并写入相应的校验码区,并取当前有效的脉冲计数值记为n=0。
31.进一步地,车辆行驶总里程s、脉冲系数k和传感器发出的总的脉冲个数n的关系为:
32.s=n/k
33.其中,s为车辆行驶总里程,单位为km,脉冲系数k定义为车辆行驶一公里所产生的脉冲个数,n为传感器发出的总的脉冲个数。
34.进一步地,mcu的备份域寄存器由专用电池进行供电,当mcu外部供电电源正常时,mcu的备份域寄存器不耗费专用电池的电量;当mcu外部供电电源掉电时,用于维持mcu的备份域寄存器的内容不发生变化。
35.本发明实施例提供的上述技术方案的有益效果至少包括:
36.本实施例公开的一种基于脉冲计数的车辆里程统计的方法,包括:获取车辆脉冲传感器输出信号,并通过硬件比较器电路将车辆脉冲传感器信号转换为mcu可识别的数字信号;采用mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿,并对脉冲信号的上升沿边沿进行计数累积;将脉冲信号的上升沿边沿计数累积储存到mcu中的通用寄存器中,根据脉冲系数,获取备份域寄存器的当前里程计数,并将里程计数自增加1;计算脉冲计数值的校验值,并将脉冲计数值及校验值回写里程备份域寄存器。本发明车辆行驶里程计数可以做到实时更新和保存。不需要增加额外的存储器。设备异常重启时不会造成里程计数的丢失。车辆行驶里程计数精度高且可靠。车辆行驶里程计数读写速度快开销小,对系统的实时性影响小。
37.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
38.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
39.图1为本发明实施例1中,一种基于脉冲计数的车辆里程统计的方法的流程图。
具体实施方式
40.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
41.为了解决现有技术中存在的问题,本发明实施例提供一种基于脉冲计数的车辆里程统计的方法。
42.实施例1
43.本实施例公开了一种基于脉冲计数的车辆里程统计的方法,如图1,包括:
44.s100.获取车辆脉冲传感器输出信号,并通过硬件比较器电路将车辆脉冲传感器信号转换为mcu可识别的数字信号;
45.具体的,车辆脉冲传感器输出信号为波峰为 5v到 12v,波谷为0v的方波信号。mcu可识别的数字信号为波峰为3.3v,谷值为0的数字方波信号。
46.s200.采用mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿事件,mcu先读取备份域寄存器的脉冲计数值,然后对备份域寄存器的脉冲计数值进行自加1。
47.具体的,本实施例mcu采用mimxrt1051cvbl微控制器。在本实施例的s200中,采用
mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿,具体方法为:
48.s201.设置mcu的io口gpio_b0_04为上升沿事件捕捉功能;
49.s202设置mcu的io口gpio_b0_04上升沿中断使能;
50.s203当gpio_b0_04口发生0到3.3v电平跳变时执行步骤s304;
51.s204开始读取mcu内部的snvs_gpr寄存器的脉冲计数值。
52.具体的,s204中读取mcu内部的snvs_gpr寄存器的脉冲计数值的方法为:
53.s2041.选取mcu的snvs模块通用寄存器前24个连续的字节作为数据存储区,将这24字节数据按每组12个字节分为2组,命名为数据存储区为a1和a2,a2为a1的冗余备份区,将每组数据存储区划分为数据区和校验码区;数据区占前面8个字节用于存储里程脉冲计数值,校验码区占后面4个字节,用于对前8个字节采用crc32进行校验;
54.具体的,数据区占前面8个字节用于存储里程脉冲计数值,可以记录最大的脉冲个数为nmax=2
64-1,选取脉冲系数k=3600,由车辆行驶总里程s、脉冲系数k和传感器发出的总的脉冲个数n的关系为:s=n/k;则可记录的里程精度可达1km/k=1000/3600=0.27m,可记录的有效总里程(nmax/k=(264-1)/3600km)》10000000km,显然可满足汽车整个生命周期的里程记录。
55.s2042系统初始化时读取数据存储区a1的内容,得到脉冲计数值v1和校验码c1,
56.s2043.对脉冲计数值v1进行crc32计算得到校验值cc1,当c1等于cc1时,则取当前的v1为有效的脉冲计数值记为n。
57.在一些优选实施例的s2043中,当c1不等于cc1时,则执行步骤s2044-s2045:
58.s2044.续读取数据存储区a2,得到脉冲计数值v2和校验码c2;
59.s2045.对数值v2进行crc32计算得到校验值cc2,当c2不等于cc2时;则取v2为当前有效的脉冲计数值记为n。
60.在一些优选实施例的s2045中,当c2不等于cc2时,则执行步骤s2046:
61.s2046.将数据存储区数据a1的v1和a2的v2值分别清0,并分别计算其校验值得到ca1和ca2,并写入相应的校验码区,并取当前有效的脉冲计数值记为n=0。
62.s300.计算脉冲计数值的校验值,并将脉冲计数值及校验值回写里程备份域寄存器。
63.本实施例一种基于脉冲计数的车辆里程统计的方法,包括:获取车辆脉冲传感器输出信号,并通过硬件比较器电路将车辆脉冲传感器信号转换为mcu可识别的数字信号;采用mcu的输入捕获功能获取车辆脉冲信号的上升沿边沿,并对脉冲信号的上升沿边沿进行计数累积;将脉冲信号的上升沿边沿计数累积储存到mcu中的通用寄存器中,根据脉冲系数,获取备份域寄存器的当前里程计数,并将里程计数自增加1;计算脉冲计数值的校验值,并将脉冲计数值及校验值回写里程备份域寄存器。本发明车辆行驶里程计数可以做到实时更新和保存,不需要增加额外的存储器,设备异常重启时不会造成里程计数的丢失。车辆行驶里程计数精度高且可靠。
64.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
65.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
66.本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
67.结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
68.对于软件实现,本技术中描述的技术可用执行本技术所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
69.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
再多了解一些

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

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

相关文献