CN107678420A - 一种发动机数据在线存储方法 - Google Patents
一种发动机数据在线存储方法 Download PDFInfo
- Publication number
- CN107678420A CN107678420A CN201710920210.6A CN201710920210A CN107678420A CN 107678420 A CN107678420 A CN 107678420A CN 201710920210 A CN201710920210 A CN 201710920210A CN 107678420 A CN107678420 A CN 107678420A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- engine
- catalogue
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种发动机在线数据存储的方法,其特征在于:其中在线数据存储系统包括运行状态调度模块、数据安全保护模块、数据存储结构模块、数据回读模块。其中在线数据存储系统运行状态调度是根据发动机运行状态对在线数据存储模块进行调度;数据安全保护模块对硬件坏块检测与处理,数据的备份,以及掉电数据保护;存储数据结构模块包括总属性文件、目录文件和数据文件组成的存储结构;数据回读模块指系统根据上位机下发的命令将相应的数据上传。通过本发明的技术方案,能够快速准确定位发动机的故障并针对性地对其维修保养。延长了发动机和整车的使用寿命,提高了车辆的安全性。
Description
技术领域
本发明一般地一种发动机数据在线存储的方法,并更具体地涉及车辆技术领域。
背景技术
随着汽车发动机技术的迅速发展,机械系统、电气系统复杂程度不断提高,发动机的故障种类日益增多,实现快速准确定位发动机的故障并针对性地对其维修保养,成为汽车制造厂商急需解决的问题。目前发动机故障诊断策略一般采用基于数据驱动的故障诊断,对设备提出较高要求:数据信息量充足、数据完备性好、便于提取有效信息等。为实现对发动机运行状态的实时监控及故障诊断,必须对其运转过程中的诸多参数进行准确、实时的采集与存储。因此本文提出一种发动机数据在线存储方法,存储车辆在运行过程中发动机的运行数据。
存储系统广泛应用于各类设备中,应用最广的存储器件就是NAND FLSAH和EEPROM,但是要实现整个存储系统,除了存储设备外还需要主控芯片,ARM具有高性能、功耗低、成本低等优点,故本发明选取STM32F407ZGT6作为系统主控芯片。由于FLASH存储器擦除耗时较长,所以FLASH存储器写入的时间主要在于擦除的快慢。并且,频繁的对FLASH存储器进行擦除会影响其使用寿命,故本发明采用将NAND FLASH和EEPROM进行组合,将需要频繁擦除重写的总属性文件在EEPROM中存储,将累计存储的目录文件和数据文件在NAND FLASH中存储,在此基础上提出了发动机在线数据存储的方法。
发明内容
本发明的目的是提供一种能够在线存储整车的发动机在运行过程数据的方法,保证数据的可靠性的同时实现数据的快速检索,准确回读,为发动机故障诊断提供数据支持。
为实现上述目的,本发明提供了一种发动机在线数据存储的方法,其特征在于:其中在线数据存储系统包括运行状态调度模块、数据安全保护模块、数据存储结构模块、数据回读模块。其中在线数据存储系统运行状态调度是根据发动机运行状态对在线数据存储模块进行调度;数据安全保护模块对硬件坏块检测与处理,数据的备份,以及掉电数据保护;存储数据结构模块包括总属性文件、目录文件和数据文件组成的存储结构;数据回读模块指系统根据上位机下发的命令将相应的数据上传。
优选地,所述运行状态调度模块,是根据发动机运行状态对系统程序运行进行调度,将系统状态分为四个状态,分为待机状态、记录状态、记录结束状态以及掉电状态。待机状态指系统上电,发动机尚未起动,系统不对数据进行记录、整理等操作,但支持对所存储的数据进行回读操作;记录状态指系统上电,发动机转速大于80r/min,系统进行数据记录操作;记录结束状态指发动机成功起动之后,出现转速小于80r/min,系统停止记录进行数据整理操作;掉电状态指系统通过硬件检测系统供电状态,当意外掉电或正常断电发生时,系统进入掉电状态,执行掉电处理程序。
优选地,所述数据记录操作,指系统在记录状态下进行的操作。系统每隔一秒钟对接收到的数据执行记录操作。具体步骤如下:
步骤1a:当定时1秒时间到达,关闭CAN接收中断;
步骤2a:将CAN接收中断关闭前最后时刻接收到的数据作为存储数据,按照数据文件的格式形成数据文件,写入到NAND Flash数据区中;
步骤3a:数据写入完成后,开启CAN接收中断。
优选地,所述数据整理操作,指系统在记录结束状态下进行的操作,包括数据的计算和总属性文件和目录文件的更新。具体步骤如下:
步骤1b:首先对目录文件要记录的参数计算整理,包括当次运行的记录次数、当次运行时间、NAND Flash数据区中当次记录数据文件的开始地址和结束地址等参数;
步骤2b:将步骤1b中的参数按照目录文件格式形成目录文件,写入到STM32 Flash目录区,同时对写入的目录文件进行校验,当校验不通过,擦除重写;
步骤3b:将目录文件写入NAND Flash的目录文件区作为备份,同时对写入的目录文件进行校验,当校验不通过,擦除重写;
步骤4b:对总属性文件要记录的参数计算整理,包括ECU总上电次数、ECU累计运行时长、ECU总记录次数、STM32Flash目录文件结束地址、NAND Flash备份目录文件结束地址、NAND Flash数据文件记录结束地址等参数;
步骤5b:将步骤4b中的参数按照总属性文件格式形成总属性文件,写入到EEPROM中,同时对写入的总属性文件进行校验,当校验不通过,擦除重写;
步骤6:将总属性文件写入NAND Flash的总属性文件区作为备份,同时对写入的总属性文件进行校验,当校验不通过,擦除重写。
优选地,所述掉电处理模块,指系统在掉电状态下进行的操作。当检测到系统掉电时,系统可继续运行38ms以存储数据文件,并更新存储目录文件和总属性文件。
优选地,所述数据安全保护模块,包括硬件坏块检测与处理,数据的备份,以及掉电数据保护。其中坏块检测与处理指硬件NAND Flash的坏块检测与处理;数据备份模块通过系统对总属性文件和目录文件进行备份存储;掉电数据保护模块在系统掉电时为保证文件的正确和完整,可继续工作一段时间,将当前的数据文件存储,并更新存储目录文件和总属性文件。
优选地,所述硬件NAND Flash的坏块检测与处理,指系统将检测到的坏块地址记录入坏块表,读写NAND Flash时主动避开坏块区域。坏块表是在NAND Flash的指定区域建立,专门用来存储坏块的地址。首次使用NAND Flash时,读取固有坏块信息,并将坏块地址记录到坏块表;使用过程中,由于擦除读写错误或者校验中出现了不可修复的错误时,将该块标记为使用坏块,并将该块地址记录到坏块表。在读写操作时,提前读取坏块表,在读写操作时自动跳过坏块区域;对于在写入过程中即时产生、检测到的坏块,将该块地址记录至坏块表,然后将已经存入该块的数据与待存入数据存入到邻近的有效块中。
优选地,所述数据备份模块通过系统对目录文件和总属性文件进行备份。将存储在STM32Flash中的目录文件在NAND Flash中目录文件备份区备份存储;将存储在EEPROM中的总属性文件在NAND Flash中总属性文件备份区备份存储。
优选地,所述掉电数据保护指系统在正常运行时发生意外掉电,掉电检测电路输出电平会由高拉低,下降沿触发程序进入掉电处理程序。掉电分为待机状态下掉电和非待机状态下掉电。待机状态下掉电,由于发动机未运行,所以数据文件和目录文件不需要更新存储,系统只需要对总属性文件更新、存储、备份;非待机状态下掉电,系统立即对掉电时刻的数据文件即时存储,并且更新、存储、备份目录文件和总属性文件。
优选地,所述数据存储结构模块包括数据文件、目录文件和总属性文件。其中,数据文件是系统在发动机运行时每一秒钟从总线上接收的所有行车数据,包括每次记录的的次数、时间和数据。一次记录数据大小为168Byte,数据文件的大小随运行时间不断累积,NAND Flash的数据文件区内存约106KB。目录文件是发动机单次运行数据文件的整体信息,包括发动机当次运行的记录次数、记录时长、存储位置、负荷状态及故障状态等。单个目录文件的大小为38Byte,目录文件随发动机运行次数不断累加,STM32Flash目录文件区和NAND Flash的备份区内存分别为896KB。总属性文件是表征发动机总体使用状况的信息,包括ECU和存储设备信息、存储状态、存储地址、整车运行状态、故障信息等,总属性文件不累加,但随发动机运行次数不断更新参数值,EEPROM总属性文件区和NAND Flash的备份区内存分别为128Byte。
优选地,所述数据回读,系统只有在待机状态可执行数据回读的操作。待机状态下,系统接收上位机命令,解析计算目标文件的存储地址,并根据NAND Flash地址读取并上传总属性文件、目录文件或数据文件。系统接收到上传总属性文件命令0x01,系统读取上传总属性文件;系统接收到上传目录文件命令0x02,包含有效记录开始次数和读取次数,读取并上传相应次数的目录文件;系统接收到上传数据文件的命令0x03和所需上传的次数,系统读取并上传相应次数的数据文件。
通过本发明的技术方案,能够快速准确定位发动机的故障并针对性地对其维修保养。延长了发动机和整车的使用寿命,提高了车辆的安全性。
附图说明
图1是本发明实施例的数据存储系统状态切换图;
图2是本发明实施例的初始化程序流程框图;
图3是本发明实施例的记录程序流程框图;
图4是本发明实施例的记录结束程序流程框图;
图5是本发明实施例的掉电处理程序流程框图;
图6是本发明实施例的系统索引存储结构图;
图7是本发明实施例的系统数据流示意图。
具体实施方式
现在将详细参考本发明的实施例,在附图中示出了它们的例子,其中,相同的参考数字通篇指示相同的元件。就此而言,本发明的实施例可以具有不同的形式,并且不应该被视为限于这里给出的描述。因此,下面通过参考附图描述这些实施例仅为了说明本发明的各方面。
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
本发明提供了一种发动机数据在线存储方法。包括包含运行状态调度程序、数据安全保护程序、数据存储结构、数据回读四个部分。
在线数据存储系统根据发动机运行状态对程序运行进行调度,将发动机在线数据存储系统状态分为四个状态,分别为待机状态、记录状态、记录结束状态以及掉电状态。待机状态指系统上电,发动机尚未起动,系统不对数据进行记录、整理等操作,但支持对所存储的数据进行回读操作;记录状态指系统上电,发动机转速大于80r/min,系统进行数据记录操作;记录结束状态指发动机成功起动之后,出现转速小于80r/min,系统进行数据整理操作;掉电状态指系统通过硬件检测系统供电状态,当意外掉电或正常断电发生时,系统进入掉电状态,执行掉电处理程序。
数据安全保护程序包括硬件坏块检测与处理,数据的备份,以及掉电数据保护。
硬件坏块检测与处理指硬件NAND Flash的坏块检测与处理,系统将检测到的坏块地址记录入坏块表,读写NAND Flash时主动避开坏块区域。坏块表是在NAND Flash的指定区域建立,专门用来存储坏块的地址。首次使用NAND Flash时,读取固有坏块信息,并将坏块地址记录到坏块表;使用过程中,由于擦除读写错误或者校验中出现了不可修复的错误时,将该块标记为使用坏块,并将该块地址记录到坏块表。在读写操作时,提前读取坏块表,在读写操作时自动跳过坏块区域;对于在写入过程中即时产生、检测到的坏块,将该块地址记录至坏块表,然后将已经存入该块的数据与待存入数据存入到邻近的有效块中。
数据的备份指系统对目录文件和总属性文件的备份,系统将存储在STM32 Flash中的目录文件在NAND Flash中目录文件备份区备份存储;将存储在EEPROM中的总属性文件在NAND Flash中总属性文件备份区备份存储。
掉电数据保护指系统在正常运行时发生意外掉电,掉电检测电路输出电平会由高拉低,下降沿触发程序进入掉电处理程序。掉电分为待机状态下掉电和非待机状态下掉电。待机状态下掉电,由于发动机为运行,所以数据文件和目录文件不需要更新存储,系统只需要对总属性文件更新、存储、备份;非待机状态下掉电,系统立即对掉电时刻的数据文件即时存储,并且更新、存储、备份目录文件和总属性文件。
数据存储结构,包括数据文件、目录文件和总属性文件。其中,数据文件是系统在发动机运行时每一秒钟从总线上接收的所有行车数据,包括每次记录的的次数、时间和数据等。一次记录数据大小为168Byte,数据文件的大小随运行时间不断累积,NAND Flash的数据文件区内存约106KB。目录文件是发动机单次运行数据文件的整体信息,包括发动机当次运行的记录次数、记录时长、存储位置、负荷等,共11个参数。单个目录文件的大小为38Byte,目录文件随发动机运行次数不断累加,STM32 Flash目录文件区和NAND Flash的备份区内存分别为896KB。总属性文件是表征发动机总体使用状况的信息,包括ECU和存储设备信息、存储状态、存储地址、整车运行状态、故障信息等,共22个参数。总属性文件不累加,但随发动机运行次数不断更新参数值,EEPROM总属性文件区和NAND Flash的备份区内存分别为128Byte。
数据回读是系统只有在待机状态可以执行数据回读的操作。待机状态下,系统接收上位机命令,解析计算目标文件的存储地址,并根据NAND Flash地址读取并上传总属性文件、目录文件或数据文件。系统接收到上传总属性文件命令0x01,系统读取上传总属性文件;系统接收到上传目录文件命令0x02,包含有效记录开始次数和读取次数,读取并上传相应次数的目录文件;系统接收到上传数据文件的命令0x03,包含有效记录次数,系统读取并上传相应次数的数据文件。
本发明以意法半导体STM32F407ZGT6和EEPROM M95640,以及三星公司的NANDFLASH K9K8G08U0B构成系统硬件。掉电检测电路是基于电压检测芯片IMP809和AVX钽电容TAJE108M006。
采用本发明方法实现的数据存储模块,包括STM32Flash、NAND Flash、EEPROM三处存储区域,需要存储的内容包括:总属性文件及备份、目录文件及备份、数据文件、程序、物理-逻辑地址映射表等。
如图1,本发明将系统状态根据发动机运行状态对程序运行进行调度将发动机在线数据存储系统状态分为四个状态,分别为待机状态、记录状态、记录结束状态以及掉电状态。当系统上电,发动机未起动时,此时系统处于待机状态,在此状态下系统初始化,并且支持数据回读;当发动机起动转速大于80r/min,系统进入记录状态,标志位StartRecord置1,用于区分待机状态与记录结束状态,此后进行数据接收与存储;当发动机停机转速小于80r/min,系统进入记录结束状态,在该状态下完成记录参数的整理并更新目录及总属性文件,完成后返回待机状态,并将标志位StartRecord置0;系统正常运行时如果有意外掉电发生,会进入掉电状态并将标志位PowerOff置1,在该状态下系统首先完成掉电之前进行的工作,然后执行系统文件更新操作。
系统上电后会进入初始化程序。如图2,首先进行变量赋初值;之后完成各模块初始化配置,包括TIM模块、SPI模块、CAN模块、FSMC模块、EXTI等;初始化完成后应当判断系统是否处于首次上电状态,若系统首次使用,应向EEPROM写入初始总属性文件;之后读取EEPROM中总属性文件,并对其进行校验,若校验失败,则进入修复程序,直至总属性文件成功读取;系统在上电后初始程序中获取总属性文件内上电后填写的信息,如ECU编号、NANDFlash ID号、总上电次数等;此后打开系统所使用的中断,包括CAN中断、TIM中断、EXTI中断,并设置系统中断优先级分组值为2。
如图3,当发动机转速n>80r/min时,系统开始接收与存储数据。首先通过StartRecordFlag标志位来判断本次记录操作是否首次进行,如果首次写入,应在数据存储操作之前进行记录状态参数的初始化,包括完成记录次数累加、目录参数的初始化、时间及写入地址的初始化等。当定时1s时间到达,或者检测到掉电标志位PowerOff由0置1时,系统执行数据写入的操作。数据写入时,首先关闭CAN接收中断,待数据写入NAND Flash完成后,再开启接收中断,之后整理本次接收的参数,提取故障信息并计算时间、里程、负荷率等参数。最后判断掉电标志位PowerOff是否为1,如果意外掉电事件发生,则进入掉电处理程序,否则结束本次记录。如果系统仍处于记录状态,则继续进行数据记录的操作。
如图4,当发动机停机,转速n<80r/min时,系统检测到发动机停止运转,进入记录结束状态,在该状态下,主要进行数据的整理以及总属性文件、目录文件的更新工作。首先对目录文件包含的所有参数进行计算及整理,然后写入NAND Flash和STM32Flash目录区,写入完成后进行校验,若写入出现错误则擦除重新写入。然后对总属性文件包含的所有参数进行计算及整理,然后写入EEPROM和NAND Flash文件区,写入完成后进行校验,若写入出现错误则擦除重新写入。总属性和目录更新完成后,判断PowerOff是否为1,如果发生意外掉电,则进入掉电处理程序,否则结束本次记录,回到待机状态。
系统通过电压检测芯片监控电源电压,当检测到掉电时,系统会进入外部中断。为避免打断掉电发生之前系统的正常工作,在中断处理程序中仅将PowerOff置为1,然后重新返回主程序继续运行,待当前工作完成后,进入掉电处理程序。掉电分为待机状态下掉电和非待机状态下掉电。待机状态下掉电,由于发动机未运行,所以数据文件和目录文件不需要更新存储,系统只需要对总属性文件更新、存储、备份;非待机状态下掉电,系统立即对掉电时刻的数据文件即时存储,并且更新、存储、备份目录文件和总属性文件。具体流程如图5所示。
系统首先判断掉电是发生在非待机状态还是待机状态。如果是非待机状态掉电,首先对目录文件包含的所有参数进行计算及整理,然后写入NAND Flash和STM32 Flash目录区,写入完成后进行校验,若写入出现错误则擦除重新写入。然后对总属性文件包含的所有参数进行计算及整理,然后写入EEPROM和NAND Flash文件区,写入完成后进行校验,若写入出现错误则擦除重新写入。总属性和目录更新完成后,将掉电标志位PowerOff清0。为了避免系统检测到掉电然而系统未完全停止运行时又重新上电的情况发生,最后系统延迟500ms,并执行系统软复位操作。
数据回读是基于CAN总线来传输数据的。系统处于等待状态时,通过上位机向系统发送命令,系统接收到上位机的命令后,解析命令然后上传相应的数据文件。系统接收到上传总属性文件命令0x01,系统读取上传总属性文件;系统接收到上传目录文件命令0x02,包含有效记录开始次数和读取次数,读取并上传相应次数的目录文件;系统接收到上传数据文件的命令0x03,包含有效记录次数,系统读取并上传相应次数的数据文件。如图6所示,是系统索引存储结构。
如图7所示,系统共包含EEPROM、STM32Flash、NAND Flash三处存储区域,需要存储的内容包括:总属性文件及备份、目录文件及备份、数据文件、程序、物理-逻辑地址映射表等。根据存储器件的工作特性以及不同文件的使用需求,对存储空间进行分配。
EEPROM的存储容量为8KB,擦写次数可达10万次以上,支持字节读写操作,并且无需擦除可直接覆盖写入,适合存放所占空间较小但需经常更新的数据。总属性文件占用固定存储空间128KB,在记录结束时需更新文件内容,因此将总属性文件存放在EEPROM中。
STM32F407自带存储空间为1MB的Flash,可以进行扇区擦除与字节读写操作,主要功能是存储下载到STM32的程序代码。设置程序代码从地址0x08000000开始存放,共128KB。STM32Flash擦写寿命低于1万次,且擦除最小操作单元为扇区,因此不适合存储经常擦写的数据。目录文件不需更新历史数据,但在记录结束时会增添新的目录,同时STM32Flash通过片内直接寻址,读写操作更为高效,因此将目录文件存放于代码区域以外的剩余空间,共计896KB。
NAND Flash作为主存储器件,负责存储备份总属性文件、备份目录文件、数据文件以及管理NAND Flash的擦写计数表、地址映射表等。当需要对块单元进行擦除重新写入时,需先将块内数据读取并写入至文件缓存区,待擦除操作完成后重新写入。
以上仅是本发明的可选实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请,如本发明实施方式中的具体的实现方法。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种发动机在线数据存储的方法,其特征在于:其中在线数据存储系统包括运行状态调度模块、数据安全保护模块、数据存储结构模块、数据回读模块。其中在线数据存储系统运行状态调度是根据发动机运行状态对在线数据存储模块进行调度;数据安全保护模块对硬件坏块检测与处理,数据的备份,以及掉电数据保护;存储数据结构模块包括总属性文件、目录文件和数据文件组成的存储结构;数据回读模块指系统根据上位机下发的命令将相应的数据上传。
2.根据权利要求1所述的发动机在线数据存储方法,其特征在于:所述运行状态调度模块,是根据发动机运行状态对系统程序运行进行调度,将系统状态分为四个状态,分为待机状态、记录状态、记录结束状态以及掉电状态。待机状态指系统上电,发动机尚未起动,系统不对数据进行记录、整理等操作,但支持对所存储的数据进行回读操作;记录状态指系统上电,发动机转速大于80r/min,系统进行数据记录操作;记录结束状态指发动机成功起动之后,出现转速小于80r/min,系统停止记录进行数据整理操作;掉电状态指系统通过硬件检测系统供电状态,当意外掉电或正常断电发生时,系统进入掉电状态,执行掉电处理程序。
3.根据权利要求2所述的发动机在线数据存储方法,其特征在于:所述数据记录操作,指系统在记录状态下进行的操作。系统每隔一秒钟对接收到的数据执行记录操作。具体步骤如下:
步骤1a:当定时1秒时间到达,关闭CAN接收中断;
步骤2a:将CAN接收中断关闭前最后时刻接收到的数据作为存储数据,按照数据文件的格式形成数据文件,写入到NAND Flash数据区中;
步骤3a:数据写入完成后,开启CAN接收中断。
4.根据权利要求2所述的发动机在线数据存储方法,其特征在于:所述数据整理操作,指系统在记录结束状态下进行的操作,包括数据的计算和总属性文件和目录文件的更新。具体步骤如下:
步骤1b:首先对目录文件要记录的参数计算整理,包括当次运行的记录次数、当次运行时间、NAND Flash数据区中当次记录数据文件的开始地址和结束地址等参数;
步骤2b:将步骤1b中的参数按照目录文件格式形成目录文件,写入到STM32Flash目录区,同时对写入的目录文件进行校验,当校验不通过,擦除重写;
步骤3b:将目录文件写入NAND Flash的目录文件区作为备份,同时对写入的目录文件进行校验,当校验不通过,擦除重写;
步骤4b:对总属性文件要记录的参数计算整理,包括ECU总上电次数、ECU累计运行时长、ECU总记录次数、STM32Flash目录文件结束地址、NAND Flash备份目录文件结束地址、NAND Flash数据文件记录结束地址等参数;
步骤5b:将步骤4b中的参数按照总属性文件格式形成总属性文件,写入到EEPROM中,同时对写入的总属性文件进行校验,当校验不通过,擦除重写;
步骤6:将总属性文件写入NAND Flash的总属性文件区作为备份,同时对写入的总属性文件进行校验,当校验不通过,擦除重写。
5.根据权利要求2所述的发动机在线数据存储方法,其特征在于:所述掉电处理模块,指系统在掉电状态下进行的操作。当检测到系统掉电时,系统可继续运行38ms以存储数据文件,并更新存储目录文件和总属性文件。
6.根据权利要求1所述的发动机在线数据存储方法,其特征在于:所述数据安全保护模块,包括硬件坏块检测与处理,数据的备份,以及掉电数据保护。其中坏块检测与处理指硬件NAND Flash的坏块检测与处理;数据备份模块通过系统对总属性文件和目录文件进行备份存储;掉电数据保护模块在系统掉电时为保证文件的正确和完整,可继续工作一段时间,将当前的数据文件存储,并更新存储目录文件和总属性文件。
7.根据权利要求6所述的发动机在线数据存储方法,其特征在于:所述硬件NAND Flash的坏块检测与处理,指系统将检测到的坏块地址记录入坏块表,读写NAND Flash时主动避开坏块区域。坏块表是在NAND Flash的指定区域建立,专门用来存储坏块的地址。首次使用NAND Flash时,读取固有坏块信息,并将坏块地址记录到坏块表;使用过程中,由于擦除读写错误或者校验中出现了不可修复的错误时,将该块标记为使用坏块,并将该块地址记录到坏块表。在读写操作时,提前读取坏块表,在读写操作时自动跳过坏块区域;对于在写入过程中即时产生、检测到的坏块,将该块地址记录至坏块表,然后将已经存入该块的数据与待存入数据存入到邻近的有效块中。
8.根据权利要求6所述的发动机在线数据存储方法,其特征在于:所述数据备份模块通过系统对目录文件和总属性文件进行备份。将存储在STM32Flash中的目录文件在NANDFlash中目录文件备份区备份存储;将存储在EEPROM中的总属性文件在NAND Flash中总属性文件备份区备份存储。
9.根据权利要求6所述的发动机在线数据存储方法,其特征在于:所述掉电数据保护指系统在正常运行时发生意外掉电,掉电检测电路输出电平会由高拉低,下降沿触发程序进入掉电处理程序。掉电分为待机状态下掉电和非待机状态下掉电。待机状态下掉电,由于发动机未运行,所以数据文件和目录文件不需要更新存储,系统只需要对总属性文件更新、存储、备份;非待机状态下掉电,系统立即对掉电时刻的数据文件即时存储,并且更新、存储、备份目录文件和总属性文件。
10.根据权利要求1所述的发动机在线数据存储方法,其特征在于:所述数据存储结构模块包括数据文件、目录文件和总属性文件。其中,数据文件是系统在发动机运行时每一秒钟从总线上接收的所有行车数据,包括每次记录的的次数、时间和数据。一次记录数据大小为168Byte,数据文件的大小随运行时间不断累积,NAND Flash的数据文件区内存约106KB。目录文件是发动机单次运行数据文件的整体信息,包括发动机当次运行的记录次数、记录时长、存储位置、负荷状态及故障状态等。单个目录文件的大小为38Byte,目录文件随发动机运行次数不断累加,STM32Flash目录文件区和NAND Flash的备份区内存分别为896KB。总属性文件是表征发动机总体使用状况的信息,包括ECU和存储设备信息、存储状态、存储地址、整车运行状态、故障信息等,总属性文件不累加,但随发动机运行次数不断更新参数值,EEPROM总属性文件区和NAND Flash的备份区内存分别为128Byte。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710920210.6A CN107678420B (zh) | 2017-09-30 | 2017-09-30 | 一种发动机数据在线存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710920210.6A CN107678420B (zh) | 2017-09-30 | 2017-09-30 | 一种发动机数据在线存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107678420A true CN107678420A (zh) | 2018-02-09 |
CN107678420B CN107678420B (zh) | 2020-01-31 |
Family
ID=61138735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710920210.6A Active CN107678420B (zh) | 2017-09-30 | 2017-09-30 | 一种发动机数据在线存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678420B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829544A (zh) * | 2018-06-28 | 2018-11-16 | 北京金风科创风电设备有限公司 | 风力发电机组的数据存储方法和设备 |
CN109035487A (zh) * | 2018-08-03 | 2018-12-18 | 北京理工大学 | 一种发动机历史数据回读与处理系统 |
CN109062822A (zh) * | 2018-07-18 | 2018-12-21 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN109598814A (zh) * | 2018-11-21 | 2019-04-09 | 中国航发西安动力控制科技有限公司 | 一种小型航空发动机状态数据存储系统 |
CN112198818A (zh) * | 2019-07-08 | 2021-01-08 | 浙江宇视科技有限公司 | 步进式驱动结构的控制方法、装置、设备及存储介质 |
CN113741405A (zh) * | 2021-09-28 | 2021-12-03 | 北京亿华通科技股份有限公司 | 燃料电池发动机控制方法及控制系统 |
WO2021259351A1 (zh) * | 2020-06-24 | 2021-12-30 | 华为技术有限公司 | 一种复位系统、数据处理系统以及相关设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004341783A (ja) * | 2003-05-15 | 2004-12-02 | Canon Finetech Inc | データ記憶方法、及びデータ記憶装置 |
JP2006209685A (ja) * | 2005-01-31 | 2006-08-10 | Denso Corp | 故障診断方法及び故障診断装置 |
CN1949113A (zh) * | 2005-10-11 | 2007-04-18 | 株式会社电装 | 车辆异常监视装置 |
CN101382918A (zh) * | 2008-07-26 | 2009-03-11 | 深圳市硅格半导体有限公司 | 一种基于数据交换区的NAND Flash闪存优化管理方法 |
CN102169462A (zh) * | 2011-04-27 | 2011-08-31 | 中国科学院光电技术研究所 | 基于NAND Flash的数据记录方法与记录控制器 |
CN102998623A (zh) * | 2011-09-14 | 2013-03-27 | 北汽福田汽车股份有限公司 | 蓄电池荷电状态的在线估算方法及系统 |
CN103294607A (zh) * | 2012-02-27 | 2013-09-11 | 北京华虹集成电路设计有限责任公司 | 一种存储管理方法 |
CN103645731A (zh) * | 2013-12-20 | 2014-03-19 | 北京理工大学 | 一种车辆数据实时采集和存储系统 |
CN103678182A (zh) * | 2013-12-10 | 2014-03-26 | 惠州华阳通用电子有限公司 | 一种提高车机系统数据安全的掉电保护方法及系统 |
US20170011565A1 (en) * | 2014-02-14 | 2017-01-12 | Denso Corporation | Vehicle information recording device, program therefor, vehicle information recording method, and non-transitory computer-readable storage medium |
-
2017
- 2017-09-30 CN CN201710920210.6A patent/CN107678420B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004341783A (ja) * | 2003-05-15 | 2004-12-02 | Canon Finetech Inc | データ記憶方法、及びデータ記憶装置 |
JP2006209685A (ja) * | 2005-01-31 | 2006-08-10 | Denso Corp | 故障診断方法及び故障診断装置 |
CN1949113A (zh) * | 2005-10-11 | 2007-04-18 | 株式会社电装 | 车辆异常监视装置 |
CN101382918A (zh) * | 2008-07-26 | 2009-03-11 | 深圳市硅格半导体有限公司 | 一种基于数据交换区的NAND Flash闪存优化管理方法 |
CN102169462A (zh) * | 2011-04-27 | 2011-08-31 | 中国科学院光电技术研究所 | 基于NAND Flash的数据记录方法与记录控制器 |
CN102998623A (zh) * | 2011-09-14 | 2013-03-27 | 北汽福田汽车股份有限公司 | 蓄电池荷电状态的在线估算方法及系统 |
CN103294607A (zh) * | 2012-02-27 | 2013-09-11 | 北京华虹集成电路设计有限责任公司 | 一种存储管理方法 |
CN103678182A (zh) * | 2013-12-10 | 2014-03-26 | 惠州华阳通用电子有限公司 | 一种提高车机系统数据安全的掉电保护方法及系统 |
CN103645731A (zh) * | 2013-12-20 | 2014-03-19 | 北京理工大学 | 一种车辆数据实时采集和存储系统 |
US20170011565A1 (en) * | 2014-02-14 | 2017-01-12 | Denso Corporation | Vehicle information recording device, program therefor, vehicle information recording method, and non-transitory computer-readable storage medium |
Non-Patent Citations (1)
Title |
---|
白乎乎的胖子: "Nand Flash数据存储方式和数据读写方法", 《道客巴巴》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829544A (zh) * | 2018-06-28 | 2018-11-16 | 北京金风科创风电设备有限公司 | 风力发电机组的数据存储方法和设备 |
CN109062822A (zh) * | 2018-07-18 | 2018-12-21 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN109062822B (zh) * | 2018-07-18 | 2021-09-07 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
CN109035487A (zh) * | 2018-08-03 | 2018-12-18 | 北京理工大学 | 一种发动机历史数据回读与处理系统 |
CN109598814A (zh) * | 2018-11-21 | 2019-04-09 | 中国航发西安动力控制科技有限公司 | 一种小型航空发动机状态数据存储系统 |
CN112198818A (zh) * | 2019-07-08 | 2021-01-08 | 浙江宇视科技有限公司 | 步进式驱动结构的控制方法、装置、设备及存储介质 |
WO2021259351A1 (zh) * | 2020-06-24 | 2021-12-30 | 华为技术有限公司 | 一种复位系统、数据处理系统以及相关设备 |
CN113741405A (zh) * | 2021-09-28 | 2021-12-03 | 北京亿华通科技股份有限公司 | 燃料电池发动机控制方法及控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107678420B (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678420A (zh) | 一种发动机数据在线存储方法 | |
CN102890657B (zh) | 一种减少eeprom的数据读写出错的方法 | |
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
US8370720B2 (en) | Mass storage device and method for offline background scrubbing of solid-state memory devices | |
CN105009085B (zh) | 信息处理系统、控制程序以及信息处理设备 | |
CN101650662B (zh) | 一种嵌入式系统的存储器件的固件启动及升级方法 | |
CN101477482B (zh) | 一种嵌入式Linux系统中的断电时恢复闪存数据的方法 | |
KR101900760B1 (ko) | 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN103914407B (zh) | 一种sd卡掉电保护、恢复方法以及带有掉电保护的sd卡 | |
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
CN103678177B (zh) | 固态硬盘装置 | |
CN101901189B (zh) | 更新用户数据的方法以及恢复用户数据的方法 | |
CN102160030A (zh) | 对于数据存储的写通信的聚集 | |
CN109213690A (zh) | 一种l2p表的重建方法及相关装置 | |
CN102981966B (zh) | 一种均衡分配Flash存储块的数据存储方法 | |
CN104050056A (zh) | 多存储介质设备的文件系统备份 | |
CN101763309A (zh) | 非易失性存储装置、信息记录系统及信息记录方法 | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
WO2017161795A1 (zh) | 处理流水文件的方法及系统 | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
CN105468544A (zh) | 实现防掉电文件系统的方法、装置以及防掉电文件系统 | |
CN109240622A (zh) | 一种eeprom数据写入的方法及系统 | |
CN102004656A (zh) | 一种汽车集成信息液晶显示及控制平台的冗余备份及安全升级技术 | |
CN103839578A (zh) | 一种提高基于nand的固态存储器数据保持时间的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |