数据通路的保护电路、方法、装置及计算机可读存储介质
本申请要求于2021年3月31日提交中国国家知识产权局、申请号为202110353271.5、发明名称为“数据通路的保护电路、方法、装置及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据通路的保护电路、方法、装置及计算机可读存储介质。
背景技术
随着技术的发展,传统的数据通路(例如图像通路)已经无法满足系统功能安全的要求,需要增加相应的电路来对图像通路进行保护,目前采用的保护方案是:在图像通路内部,同时进行关键模块冗余设计,数据通路寄存器的奇偶校验保护,以及存储单元的错误检查和纠正(Error Checking and Correcting,ECC)保护,这样会导致电路的硬件开销过大。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种数据通路的保护电路、方法、装置及计算机可读存储介质。
根据本公开实施例的一个方面,提供了一种数据通路的保护电路,包括:输入处理电路、输出处理电路和比较模块;
所述比较模块分别与所述输入处理电路和所述输出处理电路电连接;
所述输入处理电路用于按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
所述输出处理电路用于按照所述预设校验方式,对与所述输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
所述比较模块用于获取所述第一运算结果和所述第二运算结果,并基于所述第一运算结果和所述第二运算结果,生成所述数据通路的第一错误报警信号。
根据本公开实施例的另一个方面,提供了一种数据通路的保护方法,包括:
按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
按照所述预设校验方式,对与所述输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
基于所述第一运算结果和所述第二运算结果,生成所述数据通路的第一错误报警信号。
根据本公开实施例的再一个方面,提供了一种数据通路的保护装置,包括:
第一处理模块,用于按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
第二处理模块,用于按照所述预设校验方式,对与所述输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
第一生成模块,用于基于所述第一处理模块生成的所述第一运算结果和所述第二处理模块生成的所述第二运算结果,生成所述数据通路的第一错误报警信号。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述数据通路的保护方法。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述数据通路的保护方法。
基于本公开上述实施例提供的一种数据通路的保护电路、方法、装置及计算机可读存储介质,可以由输入处理电路对输入数据帧进行校验运算,以得到第一运算结果,并由输出处理电路对与输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果,以及由比较模块基于第一运算结果和第二运算结果,生成数据通路的第一错误报警信号,这样能够及时发现数据通路内部发生了错误的情况,并及时将该情况通知给相关人员,以实现对数据通路的保护。可见,本公开的实施例中,通过在数据通路外部设置由输入处 理电路、输出处理电路和比较模块组成的、硬件结构较为简单的保护电路,结合校验运算处理和对运算结果的使用,能够生成数据通路的第一错误报警信号,以有效地实现对数据通路的保护,而无需在数据通路内部针对数据通路的各个组成部分分别进行保护,因此,本公开的实施例能够以较低的硬件开销实现对数据通路的保护。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1A是图像通路的结构示意图。
图1B是本公开的实施例所适用的场景示意图。
图2是本公开一示例性实施例提供的数据通路的保护电路的结构示意图。
图3是本公开另一示例性实施例提供的数据通路的保护电路的结构示意图。
图4是本公开一示例性实施例提供的数据通路的保护方法的流程示意图。
图5是本公开另一示例性实施例提供的数据通路的保护方法的流程示意图。
图6是本公开再一示例性实施例提供的数据通路的保护方法的流程示意图。
图7是本公开一示例性实施例提供的数据通路的保护装置的结构示意图。
图8是本公开另一示例性实施例提供的数据通路的保护装置的结构示意图。
图9是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理 解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。需要说明的是,电子设备中可以包括片上系统(System on Chip,SOC),SOC上可以包括中央处理器(Central Processing Unit,CPU)、各种其它类型的处理器、各种数据处理通路、存储器等,SOC上可以运行操作系统,本公开的实施例具体可以应用于SOC内部,本公开的实施例中涉及的各种电连接均可以在SOC内部实现,本公开的实施例中涉及的各种电连接具体可以为SOC内部硅片上的金 属走线连接,本公开的实施例中涉及的所有处理操作均可以在SOC内部完成。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:包括汽车芯片的设备或系统、个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,随着技术的发展,传统的数据通路已经无法满足系统功能安全的要求,例如无法满足ASILB的要求,需要增加相应的电路来对数据通路进行保护;其中,ASILB是ISO26262中的内容,ISO26262是汽车行业的一种行业标准。
具体地,数据通路可以为图像通路、音频通路等。在数据通路为图像通路的情况下,如图1A所示,图像通路中可以包括存储单元11、关键逻辑模块12和控制单元13,存储单元11可以用于存储关键逻辑模块12的数据,控制单元13可以控制关键逻辑模块12的配置。为了实现对图像通路的保护,一般需要在图像通路内部增加电路,以针对存储单元11进行ECC保护,针对关键逻辑模块12进行冗余设计保护,以及针对控制单元13进行寄存器奇偶校验保护,这样,用于对图像通路进行保护的电路的硬件开销较大。
示例性系统
为了解决上述申请概述中提及的电路的硬件开销较大的问题,如图1B所示,可以在图像通路外部设置本公开实施例提供的数据通路的保护电路,在 完成硬件的初始化之后,数据通路的保护电路可以自动运行,从而以较低的硬件开销实现对数据通路的保护。
示例性电路
图2是本公开一示例性实施例提供的数据通路的保护电路的结构示意图。如图2所示,数据通路的保护电路包括:输入处理电路31、输出处理电路32和比较模块33。
比较模块33分别与输入处理电路31和输出处理电路32电连接;
输入处理电路31用于按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
输出处理电路32用于按照预设校验方式,对与输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
比较模块33用于获取第一运算结果和第二运算结果,并基于第一运算结果和第二运算结果,生成数据通路的第一错误报警信号。
为了便于理解,本公开的实施例中均以数据通路为图像通路的情况为例进行说明,相应地,本公开的实施例中的输入数据帧和输出数据帧均为图像帧。
这里,如图2、图3所示,输入处理电路31和输出处理电路32还可以分别与数据通路的数据总线电连接。
本公开的实施例中,如图3所示,数据通路的数据总线可以包括输入数据总线34和输出数据总线35,数据通路的输入端(图3所示的左端)可以与输入数据总线34电连接,数据通路的输出端(图3所示的右端)可以与输出数据总线35电连接,这样,信号可以经输入数据总线34流入数据通路,并经输出数据总线35流出数据通路。可选地,输入数据总线34可以包括:控制信号输入数据总线341和数据信号输入数据总线342,输出数据总线35可以包括:控制信号输出数据总线351和数据信号输出数据总线352,控制信号输入数据总线341和控制信号输出数据总线351可以用于进行控制信号的传输,数据信号输出数据总线342和数据信号输出数据总线352可以用于进行数据信号(这里具体为图像信号)的传输。
需要说明的是,输入处理电路31可以与输入数据总线34电连接,这样,输入处理电路31可以从输入数据总线34处获取输入数据帧。接下来,输入 处理电路31可以按照预设校验方式,对所获取的输入数据帧进行校验运算,以得到第一运算结果,例如根据预设的循环冗余校验(Cyclic Redundancy Check,CRC)多项式,对所获取的输入数据帧进行CRC运算,以得到相应的CRC数值,并将所得到的CRC数值作为第一运算结果。
输出处理电路32可以与输出数据总线35电连接,这样,输出处理电路32可以从输出数据总线35处获取与输入数据帧对应的输出数据帧。需要指出的是,本公开的实施例中的输入数据帧和输出数据帧之间可以为一一对应的关系,任一输入数据帧对应的输出数据帧可以为:数据通路基于输入至自身的该输入数据帧所输出的数据帧。接下来,输出处理电路32可以按照预设校验方式,对所获取的输出数据帧进行校验运算,以得到第二运算结果,例如根据预设的CRC多项式,对所获取的输出数据帧进行CRC运算,以得到相应的CRC数值,并将所得到的CRC数值作为第二运算结果。
由于比较模块33分别与输入处理电路31和输出处理电路32电连接,输入处理电路31所得到的第一运算结果可以被提供给比较模块33,输出处理电路32所得到的第二运算结果也可以被提供给比较模块33,比较模块33可以比较第一运算结果和第二运算结果,并在比较结果不符合要求的情况下,生成数据通路的第一错误报警信号。
在一种具体实施方式中,比较模块33可以获取一输入数据帧的第一运算结果,获取与该输入数据帧对应的输出数据帧的第二运算结果,并比较所获取的第一运算结果和第二运算结果。在所获取的第一运算结果和第二运算结果不相同的情况下,可以认为比较结果不符合要求,那么可以判定数据通路内部发生了错误,这时,比较模块33可以生成第一错误报警信号,第一错误报警信号可以通过文字形式、语音形式、灯光形式等进行输出,以通知相关人员数据通路内部发生了错误,以便相关人员及时针对该错误进行处理。
在另一种具体实施方式中,比较模块33可以获取连续K个(K为大于或等于2的整数)输入数据帧的K个第一运算结果,并获取与连续K个输入数据帧一一对应的K个输出数据帧的K个第二运算结果,且将K个第一运算结果和K个第二运算结果配对为K个结果对(每个结果对中包括一输入数据帧的第一运算结果和与该输入数据帧对应的输出数据帧的第二运算结果),比较模块33还可以分别针对每个结果对,比较其中的第一运算结果和第二运算结果是否相同。在超过预设比例(例如20%、30%等)的结果对中的第一运 算结果和第二运算结果不相同的情况下,可以认为比较结果不符合要求,那么可以判定数据通路内部发生了错误,这时,比较模块33可以生成第一错误报警信号,第一错误报警信号可以通过文字形式、语音形式、灯光形式等进行输出,以通知相关人员数据通路内部发生了错误,以便相关人员及时针对该错误进行处理。
基于本公开的实施例提供的一种数据通路的保护电路,可以由输入处理电路31对输入数据帧进行校验运算,以得到第一运算结果,并由输出处理电路32对与输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果,以及由比较模块33基于第一运算结果和第二运算结果,生成数据通路的第一错误报警信号,这样能够及时发现数据通路内部发生了错误的情况,并及时将该情况通知给相关人员,以实现对数据通路的保护。可见,本公开的实施例中,通过在数据通路外部设置由输入处理电路31、输出处理电路32和比较模块33组成的、硬件结构较为简单的保护电路,结合校验运算处理和对运算结果的使用,能够生成数据通路的第一错误报警信号,以有效地实现对数据通路的保护,而无需在数据通路内部针对数据通路的各个组成部分分别进行保护,因此,本公开的实施例能够以较低的硬件开销实现对数据通路的保护。
在一个可选示例中,如图3所示,输入处理电路31包括:第一信号产生模块311和第一处理模块312;
第一信号产生模块311与第一处理模块312电连接,第一处理模块312还与比较模块33电连接;
第一信号产生模块311用于在基于输入控制信号,确定第一处理模块312获取了完整的输入数据帧的情况下,生成输入帧结尾信号,并发送输入帧结尾信号;
第一处理模块312用于响应于来自第一信号产生模块311的输入帧结尾信号,得到并输出第一运算结果,以便比较模块33获取第一运算结果。
这里,第一信号产生模块311可以具有第一接口P1和第二接口P2,第一处理模块312可以具有第三接口P3、第四接口P4和第五接口P5,比较模块33可以具有第六接口P6和第七接口P7,第一接口P1可以与控制信号输入数据总线341电连接,第二接口P2可以与第四接口P4电连接,第三接口P3可以与数据信号输入数据总线342电连接,第五接口P5可以与第六接口P6电连接。
由于第三接口P3与数据信号输入数据总线342电连接,第一处理模块312可以从数据信号输入数据总线342处获取输入数据信号;由于第一接口P1与控制信号输入数据总线341电连接,第一信号产生模块311可以从控制信号输入数据总线341处获取输入控制信号。需要说明的是,输入控制信号中可以携带用于指示输入数据帧包括的有效数据量、输入数据帧的传输进度等的信息,这样,结合第一处理模块312从数据信号输入数据总线342处已获取的数据量,以及从控制信号输入数据总线341处获取的输入控制信号,可以便捷可靠地确定出第一处理模块312是否从数据信号输入数据总线342处获取了完整的输入数据帧,在确定结果为是的情况下,第一信号产生模块311可以生成输入帧结尾信号,并从第二接口P2处输出输入帧结尾信号,相应地,第一处理模块312可以从第四接口P4处获取输入帧结尾信号。接下来,响应于输入帧结尾信号,第一处理模块312可以基于CRC运算,得到第一运算结果,并从第五接口P5处输出第一运算结果,相应地,比较模块33可以从第六接口P6处获取第一运算结果,并基于第一运算结果,进行比较处理和第一错误报警信号的生成,比较模块33还可以从第七接口P7处输出第一错误报警信号。
本公开的实施例中,输入处理电路31中的第一信号产生模块311可以有效地识别出第一处理模块312获取了完整的输入数据帧的情况,并在该情况下,通过输入帧结尾信号,触发输入处理电路31中的第一处理模块312得到并输出第一运算结果,以便据此实现对数据通路的保护,输入处理电路31的硬件结构较为简单,有助于减小硬件开销。
在一个可选示例中,如图3所示,该保护电路还包括:存储模块36;
存储模块36分别与第一信号产生模块311、第一处理模块312和比较模块33电连接;
第一信号产生模块311还用于在基于输入控制信号,确定第一处理模块312获取了完整的输入数据帧的情况下,生成数据写入信号,并发送数据写入信号;
第一处理模块312用于响应于来自第一信号产生模块311的输入帧结尾信号,发送第一运算结果;
存储模块36用于响应于来自第一信号产生模块311的数据写入信号,存储来自第一处理模块312的第一运算结果,存储模块36还用于发送第一运算 结果。
这里,存储模块36可以为先进先出(First Input First Output,FIFO)存储器,存储模块36可以具有第八接口P8、第九接口P9和第十接口P10,第一信号产生模块311还可以具有第十一接口P11,第八接口P8可以与第十一接口P11电连接,第九接口P9可以与第五接口P5电连接,第十接口P10可以与第六接口P6电连接。
在确定第一处理模块312从数据信号输入数据总线342获取了完整的输入数据帧的情况下,第一信号产生模块311可以生成数据写入信号,并从第十一接口P11处输出数据写入信号,相应地,存储模块36可以从第八接口P8处获取数据写入信号;其中,在存储模块36为FIFO存储器的情况下,数据写入信号也可以称为FIFO写信号。
另外,第一处理模块312可以响应于来自第一信号产生模块311的输入帧结尾信号,从第五接口P5处输出第一运算结果,相应地,存储模块36可以从第九接口P9处获取第一运算结果,存储模块36可以响应于数据写入信号,锁存第一运算结果,存储模块36锁存的第一运算结果后续可以从第十接口P10处输出,以便比较模块33从第六接口P6处获取第一运算结果。
本公开的实施例中,第一信号产生模块311可以有效地识别出第一处理模块312获取了完整的输入数据帧的情况,并在该情况下,通过数据写入信号,触发存储模块36锁存来自第一处理模块312的第一运算结果,存储模块36后续可以在有需要的情况下,将锁存的第一运算结果提供给比较模块33,以便据此实现对数据通路的保护,整个保护电路的硬件结构较为简单,有助于减小硬件开销。
在一个可选示例中,如图3所示,该保护电路还包括:重复检测模块37;
重复检测模块37与第一信号产生模块311和存储模块36之间通过第一连接总线38电连接,重复检测模块37还与第一处理模块312和存储模块36之间通过第二连接总线39电连接;
重复检测模块37用于在从第一连接总线38获取连续N个数据写入信号,从第二连接总线39获取连续N个数据写入信号对应的N个第一运算结果,且N个第一运算结果中相同运算结果的数量与N满足预设关系的情况下,生成数据通路的第二错误报警信号,N为大于或等于2的整数。
这里,重复检测模块37可以具有第十二接口P12、第十三接口P13和第 十四接口P14,第十二接口P12与第一连接总线38电连接,第十三接口P13与第二连接总线39电连接。
这里,N可以为2、3、4、5或者大于5的整数,N个第一运算结果中相同运算结果的数量与N满足预设关系可以是指:N个第一运算结果中相同运算结果的数量与N的差值的绝对值小于或等于预设差值(例如2、3等);或者,N个第一运算结果中相同运算结果的数量与N的比值大于或等于预设比值(例如0.6、0.7、0.8等)。可选地,N可以为5,在5个第一运算结果中相同运算结果的数量超过3个的情况下,可以确定上述预设关系满足。
由于第十二接口P12与第一连接总线38电连接,第一信号产生模块311发送至存储模块36的各个数据写入信号均能够被重复检测模块37获取;由于第十三接口P13与第二连接总线39电连接,第一处理模块312发送至存储模块36的各个第一运算结果均能够被重复检测模块37获取。重复检测模块37可以对所获取的数据写入信号和第一运算结果进行统计和分析处理,在通过统计和分析处理,确定出已获取连续N个数据写入信号和连续N个数据写入信号对应的N个第一运算结果,且N个第一运算结果中相同运算结果的数量与N满足预设关系的情况下,可以判定出现了输入数据帧重复的错误,这时,重复检测模块37可以生成第二错误报警信号,并从第十四接口P14处输出第二错误报警信号,第二错误报警信号可以通过文字形式、语音形式、灯光形式等进行输出,以通知相关人员出现了输入数据帧重复的错误,以便相关人员及时针对该错误进行处理。
本公开的实施例中,通过重复检测模块37的设置,能够及时发现出现了输入数据帧重复的错误的情况,并及时将该情况通知给相关人员,这样有利于实现对数据通路的保护。
在一个可选示例中,如图3所示,第一处理模块312包括:第一信号处理单元3121和第一校验单元3122;
第一信号处理单元3121与第一校验单元3122电连接,第一校验单元3122还分别与第一信号产生模块311和比较模块33电连接;
第一信号处理单元3121用于基于输入控制信号,对输入数据信号中的有效信号进行采样和打包处理,并发送第一采样打包结果;
第一校验单元3122用于基于来自第一信号处理单元3121的第一采样打包结果,生成输入数据帧经校验运算后得到的第一运算结果。
这里,第一信号处理单元3121可以具有第三接口P3、第十五接口P15和第十六接口P16,第一校验单元3122可以具有第四接口P4、第五接口P5和第十七接口P17,第十五接口P15可以与控制信号输入数据总线341电连接,第十六接口P16可以与第十七接口P17电连接,第五接口P5可以与第六接口P6电连接。
由于第十五接口P15与控制信号输入数据总线341电连接,第一信号处理单元3121可以从第十五接口P15处获取输入控制信号;由于第三接口P3与数据信号输入数据总线342电连接,第一信号处理单元3121可以从第三接口P3处获取输入数据信号。需要说明的是,输入控制信号可以指示输入数据信号中的哪些信号是有效信号,哪些信号是无效信号,这样,通过输入控制信号起到的指示作用,第一信号处理单元3121可以仅对输入数据信号中的有效信号进行采样,并对采样的信号进行打包处理,例如打包为第一校验单元3122所需要的数据结构,以得到第一采样打包结果。接下来,第一信号处理单元3121可以从第十六接口P16处输出第一采样打包结果,相应地,第一校验单元3122可以从第十七接口P17处获取第一采样打包结果,基于第一采样打包结果,第一校验单元3122可以得到完整的输入图像帧,并据此得到第一运算结果,且从第五接口P5处输出第一运算结果,以便比较模块33从第六接口P6处获取第一运算结果。
本公开的实施例中,第一处理模块312中的第一信号处理单元3121可以仅对输入数据信号中的有效信号进行采样和打包处理,并将第一采样打包结果提供给第一处理模块312中的第一校验单元3122,第一校验单元3122可以据此生成第一运算结果并将第一运算结果提供给比较模块33,以便据此实现对数据通路的保护,由于本公开的实施例中无需进行无效信号的处理,这样不仅能够避免无效信号可能造成的干扰,还能够节省系统资源和电量,并且,第一处理模块312的硬件结构较为简单,有助于减小硬件开销。
在一个可选示例中,如图3所示,该保护电路还包括:控制信号检测模块40;
控制信号检测模块40用于在输入控制信号中携带的有效数据量与预设数据量不同,和/或输入控制信号中携带的帧传输占用时长超过预设时长的情况下,生成数据通路的第三错误报警信号。
这里,控制信号检测模块40可以具有第十八接口P18和第十九接口P19, 第十八接口P18可以与控制信号输入数据总线341电连接。
这里,每个输入控制信号中均可以携带有效数据量和帧传输占用时长等信息,该有效数据量为单个输入数据帧所包括的有效数据量,该帧传输占用时长为单个输入数据帧传输所需要的时长。
由于第十八接口P18与控制信号输入数据总线341电连接,控制信号检测模块40可以从第十八接口P18处获取输入控制信号,接下来,控制信号检测模块40可以从所获取的输入控制信号中提取有效数据量和帧传输占用时长,并将所提取的有效数据量与预设数据量进行比较,以及将所提取的帧传输占用时长与预设时长进行比较。在所提取的有效数据量与预设数据量不同,和/或所提取的帧传输占用时长超过预设时长的情况下,可以判定出现了数据量异常和/或数据帧丢失的错误,这时,控制信号检测模块40可以生成第三错误报警信号,并从第十九接口P19处输出第三错误报警信号,第三错误报警信号可以通过文字形式、语音形式、灯光形式等进行输出,以通知相关人员出现了数据量异常和/或数据帧丢失的错误,以便相关人员及时针对该错误进行处理。
本公开的实施例中,通过控制信号检测模块40的设置,能够及时发现出现了数据量异常和/或数据帧丢失的错误的情况,并及时将该情况通知给相关人员,这样有利于实现对数据通路的保护。
在一个可选示例中,如图3所示,输出处理电路32包括:第二信号产生模块321和第二处理模块322;
第二信号产生模块321分别与第二处理模块322和比较模块33电连接,第二处理模块322还与比较模块33电连接;
第二信号产生模块321用于在基于输出控制信号,确定第二处理模块322获取了完整的输出数据帧的情况下,生成输出帧结尾信号和比较使能信号,并发送输出帧结尾信号,且发送比较使能信号;
第二处理模块322用于响应于来自第二信号产生模块321的输出帧结尾信号,得到并发送第二运算结果;
比较模块33用于响应于来自第二信号产生模块321的比较使能信号,比较第一运算结果和第二运算结果,且在比较结果为第一运算结果和第二运算结果不匹配的情况下,生成第一错误报警信号。
这里,第二信号产生模块321可以具有第二十接口P20、第二十一接口 P21和第二十二接口P22,第二处理模块322可以具有第二十三接口P23、第二十四接口P24和第二十五接口P25,比较模块33可以具有第七接口P7、第二十六接口P26和第二十七接口P27,第二十接口P20可以与控制信号输出数据总线351电连接,第二十一接口P21可以与第二十六接口P26电连接,第二十二接口P22可以与第二十四接口P24电连接,第二十三接口P23可以与数据信号输出数据总线352电连接,第二十五接口P25可以与第二十七接口P27电连接。
由于第二十三接口P23与数据信号输出数据总线352电连接,第二处理模块322可以从数据信号输出数据总线352处获取输出数据信号;由于第二十接口P20与控制信号输出数据总线351电连接,第二信号产生模块321可以从控制信号输出数据总线351处获取输出控制信号。需要说明的是,输出控制信号中可以携带用于指示输出数据帧包括的有效信息量、输出数据帧的传输进度等的信息,这样,结合第二处理模块322从数据信号输出数据总线352处已获取的数据量,以及从控制信号输出数据总线351处获取的输出控制信号,可以便捷可靠地确定出第二处理模块322是否从数据信号输出数据总线352处获取了完整的输出数据帧,在确定结果为是的情况下,第二信号产生模块321可以生成输出帧结尾信号和比较使能信号,并从第二十一接口P21处输出比较使能信号,且从第二十二接口P22处输出输出帧结尾信号,相应地,比较模块33可以从第二十六接口P26处获取比较使能信号,第二处理模块322可以从第二十四接口P24处获取输出帧结尾信号。
接下来,第二处理模块322可以响应于输出帧结尾信号,得到第二运算结果,并从第二十五接口P25处输出第二运算结果,相应地,比较模块33可以从第二十七接口P27处获取第二运算结果。另外,比较模块33还可以响应于比较使能信号,比较第一运算结果和第二运算结果,以确定第一运算结果和第二运算结果是否匹配,需要指出的是,上文中比较结果不符合要求的情况即可作为第一运算结果和第二运算结果不匹配的情况,在比较结果为第一运算结果和第二运算结果不匹配的情况下,比较模块33可以生成第一错误报警信号。
本公开的实施例中,输出处理电路32中的第二信号产生模块321可以有效地识别出输出处理电路32中的第二处理模块322获取了完整的输出数据帧的情况,并在该情况下,通过输出帧结尾信号触发第二处理模块322得到并 发送第二运算结果,通过比较使能信号触发比较模块33进行比较处理,以便据此实现对数据通路的保护,输出处理电路32的硬件结构较为简单,有助于减小硬件开销。
在一个可选示例中,如图3所示,该保护电路还包括:存储模块36;
存储模块36分别与输入处理电路31、比较模块33和第二信号产生模块321电连接;
输入处理电路31还用于发送第一运算结果;
存储模块36用于存储来自输入处理电路31的第一运算结果;
第二信号产生模块321还用于在基于输出控制信号,确定第二处理模块322获取了完整的输出数据帧的情况下,生成数据读取信号,并发送数据读取信号;
存储模块36还用于响应于来自第二信号产生模块321的数据读取信号,读取所存储的第一运算结果,并发送所读取的第一运算结果。
这里,存储模块36可以为FIFO存储器,存储模块36可以具有第九接口P9、第十接口P10和第二十八接口P28,比较模块33可以具有第六接口P6,第二信号产生模块321可以具有第二十九接口P29,第九接口P9可以与输入处理电路31的第五接口P5电连接,第十接口P10可以与第六接口P6电连接,第二十八接口P28可以与第二十九接口P29电连接。
由于第九接口P9与第五接口P5电连接,存储模块36可以从第九接口P9处获取来自输入处理电路31的第一运算结果,存储模块36可以锁存所接收的第一运算结果。另外,在确定第二处理模块322从数据信号输出数据总线352获取了完整的输出数据帧的情况下,第二信号产生模块321可以生成数据读取信号,并从第二十九接口P29处输出数据读取信号,相应地,存储模块36可以从第二十八接口P28处获取数据读取信号,响应于数据读取信号,存储模块36可以读取所存储的第一运算结果,并从第十接口P10处输出第一运算结果,以便比较模块33从第六接口P6处获取第一运算结果。
可见,本公开的实施例中,第二信号产生模块321可以有效地识别出第二处理模块322获取了完整的输出数据帧的情况,并在该情况下,通过数据读取信号,触发存储模块36读取锁存的第一运算结果,并将所读取第一运算结果提供给比较模块33,以便据此实现对数据通路的保护,整个保护电路的硬件结构较为简单,有助于减小硬件开销。
在一个可选示例中,如图3所示,第二处理模块322包括:第二信号处理单元3221和第二校验单元3222;
第二信号处理单元3221与第二校验单元3222电连接,第二校验单元3222还分别与第二信号产生模块321和比较模块33电连接;
第二信号处理单元3221用于基于输出控制信号,对输出数据信号中的有效信号进行采样和打包处理,并发送第二采样打包结果;
第二校验单元3222用于基于来自第二信号处理单元3221的第二采样打包结果,生成输出数据帧经校验运算后得到的第二运算结果。
这里,第二信号处理单元3221可以具有第二十三接口P23、第三十接口P30和第三十一接口P31,第二校验单元3222可以具有第二十四接口P24、第二十五接口P25和第三十二接口P32,比较模块33可以具有第二十七接口P27,第二十三接口P23可以与数据信号输出数据总线352电连接,第三十接口P30可以与控制信号输出数据总线351电连接,第三十一接口P31可以与第三十二接口P32电连接,第二十五接口P25可以与第二十七接口P27电连接。
由于第三十接口P30与控制信号输出数据总线351电连接,第二信号处理单元3221可以从第三十接口P30处获取输出控制信号;由于第二十三接口P23与数据信号输出数据总线352电连接,第二信号处理单元3221可以从第二十三接口P23处获取输出数据信号。需要说明的是,输出控制信号可以指示输出数据信号中的哪些信号是有效信号,哪些信号是无效信号,这样,通过输出控制信号起到的指示作用,第二信号处理单元3221可以仅对输出数据信号中的有效信号进行采样,并对采样的信号进行打包处理,例如打包为第二校验单元3222所需要的数据结构,以得到第二采样打包结果。接下来,第二信号处理单元3221可以从第三十一接口P31处输出第二采样打包结果,相应地,第二校验单元3222可以从第三十二接口P32处获取第二采样打包结果,基于第二采样打包结果,第二校验单元3222可以得到完整的输出图像帧,并据此得到第二运算结果,且从第二十五接口P25处输出第二运算结果,以便比较模块33从第二十七接口P27处获取第二运算结果。
本公开的实施例中,第二处理模块322中的第二信号处理单元3221可以仅对输出数据信号中的有效信号进行采样和打包处理,并将第二采样打包结果提供给第二处理模块322中的第二校验单元3222,第二校验单元3222可以 据此生成第二运算结果并将第二运算结果提供给比较模块33,以便据此实现对数据通路的保护,由于本公开的实施例中无需进行无效信号的处理,这样不仅能够避免无效信号可能造成的干扰,还能够节省系统资源和电量,并且,第二处理模块322的硬件结构较为简单,有助于减小硬件开销。
综上,采用本公开的实施例提供的数据通路的保护电路,能够便捷可靠地识别出数据通路内部发生了错误的情况、出现了输入数据帧重复的错误的情况、出现了数据量异常的情况、出现了数据帧丢失的错误的情况,并及时将这些情况通知给相关人员,从而能够以尽可能小的硬件开销,实现对数据通路的保护,并且能够有效地提高错误诊断覆盖率,从而满足系统功能安全的要求。
示例性方法
图4是本公开一示例性实施例提供的数据通路的保护方法的流程示意图。图4所示的方法包括步骤401、步骤402和步骤403。
步骤401,按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
步骤402,按照预设校验方式,对与输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
步骤403,基于第一运算结果和第二运算结果,生成数据通路的第一错误报警信号。
在一个可选示例中,如图5所示,该方法还包括:
步骤411,在连续N个输入数据帧对应的N个第一运算结果中,相同运算结果的数量满足与N满足预设关系的情况下,生成数据通路的第二错误报警信号,N为大于或等于2的整数。
在一个可选示例中,如图6所示,该方法还包括:
步骤412,在输入控制信号中携带的有效数据量与预设数据量不同,和/或输入控制信号中携带的帧传输占用时长超过预设时长的情况下,生成数据通路的第三错误报警信号。
需要说明的是,本公开的实施例并不限制步骤412与步骤401至步骤403中的任一者的先后执行顺序。
本公开实施例提供的任一种数据通路的保护方法可以由任意适当的具有 数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种数据通路的保护方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种数据通路的保护方法。下文不再赘述。
示例性装置
图7是本公开一示例性实施例提供的数据通路的保护装置的结构示意图。图7所示的装置包括第一处理模块701、第二处理模块702和第一生成模块703。
第一处理模块701,用于按照预设校验方式,对输入数据帧进行校验运算,以得到第一运算结果;
第二处理模块702,用于按照预设校验方式,对与输入数据帧对应的输出数据帧进行校验运算,以得到第二运算结果;
第一生成模块703,用于基于第一处理模块701生成的第一运算结果和第二处理模块702生成的第二运算结果,生成数据通路的第一错误报警信号。
在一个可选示例中,如图8所示,该装置还包括:
第二生成模块711,用于在连续N个输入数据帧对应的N个第一运算结果中,相同运算结果的数量与N满足预设关系的情况下,生成数据通路的第二错误报警信号,N为大于或等于2的整数。
在一个可选示例中,如图8所示,该装置还包括:
第三生成模块712,用于在输入控制信号中携带的有效数据量与预设数据量不同,和/或输入控制信号中携带的帧传输占用时长超过预设时长的情况下,生成数据通路的第三错误报警信号。
示例性电子设备
下面,参考图9来描述根据本公开实施例的电子设备。图9图示了根据本公开实施例的电子设备的框图。
如图9所示,电子设备900包括一个或多个处理器901和存储器902。
处理器901可以是中央处理单元(Central Processing Unit,CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备900中的其他组件以执行期望的功能。
存储器902可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RandomAccess Memory,RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(Read-Only Memory,ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器901可以运行所述程序指令,以实现上文所述的本公开的各个实施例的数据通路的保护方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备900还可以包括:输入装置903和输出装置904,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置903可以是麦克风或麦克风阵列,或者,该输入装置13可以是通信网络连接器。
此外,该输入装置903还可以包括例如键盘、鼠标等等。
该输出装置904可以向外部输出各种信息,包括确定出的错误报警信号(例如第一错误报警信号、第二错误报警信号和/或第三错误报警信号)等。该输出装置904可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备900中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备900还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备外,本公开的实施例还可是计算机程序产品,其包括计算机程序指令,该指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据通路的保护方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执 行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据通路的保护方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器((Erasable Programmable Read-Only Memory,EPROM)或闪存)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如 此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域任何技术人员能做出或使用本公开。对这些方面的各种修改对本领域技术人员而言是非常显而易见的,在此定义的一般原理可应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。