控制黑匣子的方法和装置与流程

文档序号:19042258发布日期:2019-11-05 23:15阅读:275来源:国知局
控制黑匣子的方法和装置与流程

本发明涉及信息领域,尤其涉及控制黑匣子的方法和装置。



背景技术:

现有的通讯设备的单板中广泛使用黑匣子数据。黑匣子的存储介质有非易失的和易失的。前者记录的数据在单板掉电之后数据不丢失,但是写入存储介质的速度慢,存储介质写入次数有限。后者在单板掉电之后数据会丢失,但是写入数据快。单板设备中常使用的黑匣子属于后者。这种黑匣子通常位于单板的DRAM(Dynamic Random Access Memory,动态随机存取存储器)里面,规划一块空间,在这个空间内经常性的记录数据,如果单板不掉电复位,数据不被系统清除,仍然存在,可以继续使用。

上述黑匣子虽然使用广泛,但是同时存在一个问题,因为DRAM设计原理,在单板复位之后,会有一定概率出现某些字节的bit位翻转的情况,这样导致存放在内存的黑匣子的数据不可靠。因此,如何提高黑匣子的可靠性,是一个亟待解决的问题。



技术实现要素:

本发明的主要目的在于提供一种黑匣子可靠性的方法和装置,旨在提高黑匣子的可靠性。

为实现上述目的,本发明提供的一种控制黑匣子的方法,所述控制黑匣子的方法包括以下步骤:

在单板复位前获取黑匣子中生成的多重黑匣子校验数据;

检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。

优选地,所述在单板复位前获取黑匣子中生成的多重黑匣子校验数据的步骤之前包括:

在单板的内存空间中单独划分一个区域作为黑匣子。

优选地,所述在单板复位前获取黑匣子中生成的多重黑匣子校验数据的步骤之前还包括:

判断单板是否需要复位,如是,则在单板复位前获取黑匣子中生成的多重黑匣子校验数据。

优选地,所述测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错的步骤包括:

从最后一重数据开始,对倒数第二重数据进行校验和纠错;

根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错,按此规律从后向前依次对前一重数据进行校验和纠错。

优选地,所述最后一重数据包括多份数据,所述从最后一重数据开始,对倒数第二重数据进行校验和纠错的步骤还包括:

对最后一重数据的多份数据进行循环冗余校验码CRC校验,判断多份数据中正确的一份,将判断正确的一份数据对倒数第二重数据进行校验和纠错。

为了解决上述的技术问题,本发明进一步提供一种控制黑匣子的装置,所述控制黑匣子的装置包括:

获取模块,用于在单板复位前获取黑匣子中生成的多重黑匣子校验数据;

校验纠错模块,用于检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。

优选地,所述控制黑匣子的装置还包括:

划分模块,用于在单板的内存空间中单独划分一个区域作为黑匣子。

优选地,所述控制黑匣子的装置还包括:

判断模块,用于在单板复位时,判断单板复位前黑匣子中是否生成多重黑匣子校验数据,若是,则按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。

优选地,所述校验纠错模块包括:

第一校验纠错单元,用于从最后一重数据开始,对倒数第二重数据进行校验和纠错;

第二校验纠错单元,用于根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错,按此规律从后向前依次对前一重数据进行校验和纠错。

优选地,所述第一校验纠错单元还用于对最后一重数据的多份数据进行CRC校验,判断多份数据中正确的一份,将判断正确的一份数据对倒数第二重数据进行校验和纠错。

本发明提供的控制黑匣子的方法,通过在单板复位前获取黑匣子中生成的多重黑匣子校验数据;检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。本发明大大提高了内存中黑匣子的数据的可靠性。

附图说明

图1为本发明控制黑匣子的方法第一实施例的流程示意图;

图2为本发明控制黑匣子的方法第二实施例的流程示意图;

图3为本发明控制黑匣子的方法第三实施例的流程示意图;

图4为图1中所述检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错的步骤的细化流程示意图;

图5为图4中所述从最后一重数据开始,对倒数第二重数据进行校验和纠错的步骤的细化流程示意图;

图6为本发明控制黑匣子的装置第一实施例的功能模块示意图;

图7为本发明控制黑匣子的装置第二实施例的功能模块示意图;

图8为本发明控制黑匣子的装置第三实施例的功能模块示意图;

图9为图6中所述校验纠错模块的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种控制黑匣子的方法,参照图1,在第一实施例中,包括以下步骤:

步骤S100、在单板复位前获取黑匣子中生成的多重黑匣子校验数据。

控制黑匣子的装置如果识别到单板在运行过程中需要复位,则在复位之前生成多重黑匣子校验数据,从而确保黑匣子的数据不再产生更改。对多重黑匣子校验数据可按照每512字节进行划分成一个数据块,每个数据块生成8字节的校验数据。每个数据块如果只有不多于4个bit位的数据发生变化,则可以根据8字节的校验数据纠正过来。校验数据本身存放于内存的黑匣子内,为了防止校验数据本身出错,对校验数据又生成校验,使用多重校验,当校验数据小于100字节的时候,作为最后一重校验数据。最后一重校验数据采用多份数据备份的方法来保证校验数据的正确性,例如将最后一重校验数据复制5份,这5份校验数据的总容量大小不超过一个数据块的大小,且放在同一个数据块内。这5份数据每一份都添加CRC(Cyclic Redundancy Check,循环冗余校验码)校验,用于验证最后一重校验数据哪一份是正确的。因为5份数据存放在同一块数据块里面,不会出现5份同时出错的情况。如果多于5个,就算采用纠错方法也无法进行纠正,此时再生成下一重纠错数据也没有任何意义。

步骤S200、检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。

控制黑匣子的装置如果检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。例如,从最后一重数据开始,对倒数第二重数据进行校验和纠错;然后根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错;依此类推,按此规律从后向前依次对前一重数据进行校验和纠错。如果发现有bit位翻转,则进行纠错。如果错误太多,无法纠错,则跳过该块区域,进行下一个区域纠错。

本实施例提供的控制黑匣子的方法,对单板内存中的黑匣子进行多重数据校验和纠错,大大提高了内存黑匣子数据的可靠性。

如图2所示,图2为本发明控制黑匣子的方法第二实施例的流程示意图,第二实施例提供的黑匣子可靠性的方法,在第一实施例的基础上,所述步骤S100之前包括:

步骤S100A、在单板的内存空间中单独划分一个区域作为黑匣子。

控制黑匣子的装置在单板的内存空间中单独划分出一个区域作为黑匣子,例如在单板的内存中划分一个为4M(兆)的区域作为黑匣子。而黑匣子内的多重黑匣子校验数据可按照每512字节进行划分成一个数据块,每个数据块生成8字节的校验数据。则第一重数据的校验容量4M/512*8=64KB,第二重数据的校验容量为64K/512*8=1KB,第3重校验数据的大小为1K/512*8=16个字节。其中第3重数据可以保存5份,那么总容量一共是16*5=80个字节大小,5份数据中肯定有一份是完整的,如果都出错,则说明在80个字节里面有至少5个bit位翻转,采用纠错方法也无法进行纠正,此时再生成后一重纠错数据也没有任何意义。

本实施例提供的控制黑匣子的方法,在单板的内存空间中单独划分一个区域作为黑匣子,大大提高了内存中黑匣子的数据的可靠性。

如图3所示,图3为本发明控制黑匣子的方法第三实施例的流程示意图,第三实施例提供的黑匣子可靠性的方法,在第一实施例的基础上,所述步骤S100之前包括:

步骤S100B、判断单板是否需要复位,如是,则在单板复位前获取黑匣子中生成的多重黑匣子校验数据。

控制黑匣子的装置,判断单板是否需要复位,如是,则在复位之前生成多重黑匣子校验数据,从而确保黑匣子里的数据不再产生更改;如否,则不生成多重黑匣子校验数据。

本实施例提供的控制黑匣子的方法,在生成多重黑匣子校验数据判断单板是否需要复位,从而确保黑匣子里的数据不再产生更改,实时采集状态数据,大大提高了内存中黑匣子的数据的可靠性。

如图4所示,图4为图1中所述步骤S200的细化流程示意图,所述步骤S200包括:

步骤S210、从最后一重数据开始,对倒数第二重数据进行校验和纠错。

控制黑匣子的装置,对生成的多重黑匣子校验数据,从最后一重数据开始,对倒数第二重数据进行校验和纠错,从而对校检数据进一步进行校验和纠错。

步骤S220、根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错,按此规律从后向前依次对前一重数据进行校验和纠错。

控制黑匣子的装置,按照从后向前的顺序,根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错;根据校验和纠错后的倒数第三重数据,对倒数第四重数据进行校验和纠错,依次类推,按此规律从后向前依次对前一重数据进行校验和纠错,从而取得正确的数据。

本实施例提供的控制黑匣子的方法,在单板的内存空间中单独划分一个区域作为黑匣子,大大提高了内存中黑匣子的数据的可靠性。

如图5所示,图5为图4中步骤的细化流程示意图;

优选地,所述最后一重数据包括多份数据,所述从最后一重数据开始,对倒数第二重数据进行校验和纠错的步骤S210还包括:

步骤S210A、对最后一重数据的多份数据进行CRC校验,判断多份数据中正确的一份,将判断正确的一份数据对倒数第二重数据进行校验和纠错。

控制黑匣子的装置如果有生成校验数据,从最后一重校验数据开始校验和纠错,因为最后一重校验数据中保存了5份数据,根据CRC校验判断这5份中哪一份是正确的,使用正确的一份数据对倒数第二重数据进行校验和纠错。校验数据本身存放在内存的黑匣子内,为防止校验数据本身出错,对校验数据又生成校验,使用多重校验,当校验数据小于100字节的时候,作为最后一重校验数据。最后一重校验数据采用多份数据备份的方法来保证正确性,即将这一份校验数据复制5份,这5份校验数据的总大小不超过一个数据块的大小,放在一个数据块内。这5份数据中,每一份都添加CRC校验,用于验证最后一重校验数据中哪一份校验数据是正确的。因为5份数据存放在一个数据块里面,不会出现5份同时出错的情况。

本实施例提供的控制黑匣子的方法,对最后一重数据的多份数据进行CRC校验,判断多份数据中正确的一份,大大保证了数据的正确性,提高了内存中黑匣子的数据的可靠性。

如图6所示,图6为本发明控制黑匣子的装置第一实施例的功能模块示意图,第一实施例提供的控制黑匣子的装置,包括:

获取模块10,用于在单板复位前获取黑匣子中生成的多重黑匣子校验数据;

校验纠错模块20,用于检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。

控制黑匣子的装置的获取模块10如果识别到单板在运行过程中需要复位,则在复位之前生成多重黑匣子校验数据,从而确保黑匣子的数据不再产生更改。对多重黑匣子校验数据可按照每512字节进行划分成一个数据块,每个数据块生成8字节的校验数据。每个数据块如果只有不多于4个bit位的数据发生变化,则可以根据8字节的校验数据纠正过来。校验数据本身存放于内存的黑匣子内,为了防止校验数据本身出错,对校验数据又生成校验,使用多重校验,当校验数据小于100字节的时候,作为最后一重校验数据。最后一重校验数据采用多份数据备份的方法来保证校验数据的正确性,例如将最后一重校验数据复制5份,这5份校验数据的总容量大小不超过一个数据块的大小,且放在同一个数据块内。这5份数据每一份都添加CRC校验,用于验证最后一重校验数据哪一份是正确的。因为5份数据存放在同一块数据块里面,不会出现5份同时出错的情况。如果多于5个,就算采用纠错方法也无法进行纠正,此时再生成下一重纠错数据也没有任何意义。

控制黑匣子的装置的校验纠错模块20如果检测到单板复位后,按照从后向前的顺序依次使用后一重黑匣子校验数据对前一重黑匣子校验数据进行校验和纠错。例如,从最后一重数据开始,对倒数第二重数据进行校验和纠错;然后根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错;依此类推,按此规律从后向前依次对前一重数据进行校验和纠错。如果发现有bit位翻转,则进行纠错。如果错误太多,无法纠错,则跳过该块区域,进行下一个区域纠错。

本实施例提供的控制黑匣子的装置,对单板内存中的黑匣子进行多重数据校验和纠错,大大提高了内存黑匣子数据的可靠性。

如图7所示,图7为本发明控制黑匣子的装置第二实施例的功能模块示意图,在第一实施例的基础上,所述控制黑匣子的装置还包括:

划分模块30,用于在单板的内存空间中单独划分一个区域作为黑匣子。

控制黑匣子的装置的划分模块30在单板的内存空间中单独划分出一个区域作为黑匣子,例如在单板的内存中划分一个为4M(兆)的区域作为黑匣子。而黑匣子内的多重黑匣子校验数据可按照每512字节进行划分成一个数据块,每个数据块生成8字节的校验数据。则第一重数据的校验容量4M/512*8=64KB,第二重数据的校验容量为64K/512*8=1KB,第3重校验数据的大小为1K/512*8=16个字节。其中第3重数据可以保存5份,那么总容量一共是16*5=80个字节大小,5份数据中肯定有一份是完整的,如果都出错,则说明在80个字节里面有至少5个bit位翻转,采用纠错方法也无法进行纠正,此时再生成后一重纠错数据也没有任何意义。

本实施例提供的控制黑匣子的装置,在单板的内存空间中单独划分一个区域作为黑匣子,大大提高了内存中黑匣子的数据的可靠性。

如图8所示,图8为本发明控制黑匣子的装置第三实施例的功能模块示意图,在第一实施例的基础上,所述控制黑匣子的装置还包括:

判断模块40,用于判断单板是否需要复位,如是,则在单板复位前获取黑匣子中生成的多重黑匣子校验数据。

控制黑匣子的装置的判断模块40判断单板是否需要复位,如是,则在复位之前生成多重黑匣子校验数据,从而确保黑匣子里的数据不再产生更改;如否,则不生成多重黑匣子校验数据。

本实施例提供的控制黑匣子的装置,在生成多重黑匣子校验数据判断单板是否需要复位,从而确保黑匣子里的数据不再产生更改,实时采集状态数据,大大提高了内存中黑匣子的数据的可靠性。

如图9所示,图9为图6中所述校验纠错模块的功能模块示意图,所述校验纠错模块20包括:

第一校验纠错单元21,用于从最后一重数据开始,对倒数第二重数据进行校验和纠错;

第二校验纠错单元22,用于根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错,按此规律从后向前依次对前一重数据进行校验和纠错。

控制黑匣子的装置第一校验纠错单元21,对生成的多重黑匣子校验数据,从最后一重数据开始,对倒数第二重数据进行校验和纠错,从而对校检数据进一步进行校验和纠错。

控制黑匣子的装置第二校验纠错单元22,按照从后向前的顺序,根据校验和纠错后的倒数第二重数据,对倒数第三重数据进行校验和纠错;根据校验和纠错后的倒数第三重数据,对倒数第四重数据进行校验和纠错,依次类推,按此规律从后向前依次对前一重数据进行校验和纠错,从而取得正确的数据。

本实施例提供的控制黑匣子的装置,在单板的内存空间中单独划分一个区域作为黑匣子,大大提高了内存中黑匣子的数据的可靠性。

进一步参见图9,所述第一校验纠错单元21还用于对最后一重数据的多份数据进行CRC校验,判断多份数据中正确的一份,将判断正确的一份数据对倒数第二重数据进行校验和纠错。

控制黑匣子的装置的第一校验纠错单元21如果有生成校验数据,从最后一重校验数据开始校验和纠错,因为最后一重校验数据中保存了5份数据,根据CRC校验判断这5份中哪一份是正确的,使用正确的一份数据对倒数第二重数据进行校验和纠错。校验数据本身存放在内存的黑匣子内,为防止校验数据本身出错,对校验数据又生成校验,使用多重校验,当校验数据小于100字节的时候,作为最后一重校验数据。最后一重校验数据采用多份数据备份的方法来保证正确性,即将这一份校验数据复制5份,这5份校验数据的总大小不超过一个数据块的大小,放在一个数据块内。这5份数据中,每一份都添加CRC校验,用于验证最后一重校验数据中哪一份校验数据是正确的。因为5份数据存放在一个数据块里面,不会出现5份同时出错的情况。

本实施例提供的控制黑匣子的装置,对最后一重数据的多份数据进行CRC校验,判断多份数据中正确的一份,大大保证了数据的正确性,提高了内存中黑匣子的数据的可靠性。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1