CN116010158A - 配置寄存器的校验装置、校验系统和芯片设备 - Google Patents
配置寄存器的校验装置、校验系统和芯片设备 Download PDFInfo
- Publication number
- CN116010158A CN116010158A CN202211599230.5A CN202211599230A CN116010158A CN 116010158 A CN116010158 A CN 116010158A CN 202211599230 A CN202211599230 A CN 202211599230A CN 116010158 A CN116010158 A CN 116010158A
- Authority
- CN
- China
- Prior art keywords
- crc
- check value
- storage unit
- configuration register
- cpu
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种配置寄存器的校验装置、校验系统和芯片设备,校验装置包括:CRC校验模块,用以分别连接中央处理器CPU和配置寄存器,用于在接收到CPU发送的使能信号时,对配置寄存器的数据进行计算,得到CRC理论校验值,并在检测到触发事件时,对配置寄存器的数据进行计算,得到CRC实际校验值;CRC比较模块,与CRC校验模块连接,并用以连接CPU,CRC比较模块包括第一存储单元,CRC比较模块用于将CRC理论校验值存入第一存储单元,并将CRC实际校验值与CRC理论校验值进行比较,以及在CRC实际校验值与CRC理论校验值不相等时,向CPU发送错误中断信号。本发明实施例的配置寄存器的校验装置,通过自动计算CRC值,减少软件和芯片的资源开销。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种配置寄存器的校验装置、一种芯片设备和一种配置寄存器的校验系统。
背景技术
CRC(Cyclic Redundancy Check,循环冗余校核),是一种根据网络数据包或文件等数据产生简短固定位数校核码的快速算法,主要用来检测或校核数据传输或者保存后可能出现的错误。
随着汽车相关技术的快速发展,汽车越来越向着智能化、自动化发展。越来越多的MCU(Microcontroller Unit,微控制单元)被应用于汽车上,为满足汽车功能安全的设计,MCU要达到不同的安全等级要求。对于MCU来说,能够实现复杂的功能,是通过设置其诸多寄存器来实现的,在汽车工作时,复杂的电磁环境可能会意外的改变寄存器的值,因此会带来的单点故障、潜伏故障等违反功能安全的问题。
目前,配置寄存器的检测方案一般包括以下两种:1、软件周期读取比较的方法。配置外设寄存器时将其配置参数备份到非易失性存储器中,然后软件实现一个线程,周期性获取外设配置寄存器的值,并和备份值进行逐一对比,当对比结果出现差异时,触发安全保护单元,进行必要的通知和操作。2、软件周期读取及硬件CRC校验结合的方法。将配置外设寄存器的值读取出来使用芯片内置硬件CRC校验模块进行计算,并将计算的值存储到非易失性存储器中,然后软件实现一个线程,周期性获取外设配置寄存器的值,通过硬件CRC计算后和备份值进行比较,当对比结果出现差异时,触发安全保护单元,进行必要的通知和操作。以上两种方法都可以实现配置寄存器的检测,但也存在一些局限性:通过软件线程周期性读取比较的方法,会增加CPU(Central Processing Unit,中央处理器)的负担,浪费和占用校验系统的有限资源,同时,考虑到芯片内部外设配置寄存器较多的情况下,其内部运算也需要较多时间,软件算法时间复杂性增加,会对其他功能的运行造成一定影响。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的在于提出一种配置寄存器的校验装置、校验系统和芯片设备,以实现在线实时校验配置寄存器。
为达到上述目的,本发明第一方面实施例提出了一种配置寄存器的校验装置,所述校验装置包括:CRC校验模块和CRC比较模块。所述CRC校验模块,用以分别连接中央处理器CPU和所述配置寄存器,用于在接收到所述CPU发送的使能信号时,对所述配置寄存器的数据进行计算,得到CRC理论校验值,并在检测到触发事件时,对所述配置寄存器的数据进行计算,得到CRC实际校验值;所述CRC比较模块,与所述CRC校验模块连接,并用以连接所述CPU,所述CRC比较模块包括第一存储单元,所述CRC比较模块用于将所述CRC理论校验值存入所述第一存储单元,并将所述CRC实际校验值与所述CRC理论校验值进行比较,以及在所述CRC实际校验值与所述CRC理论校验值不相等时,向所述CPU发送错误中断信号。
另外,本发明实施例的配置寄存器的校验装置还可以具有如下附加技术特征:
根据本发明的一个实施例,所述CRC比较模块还包括第二存储单元,所述CRC比较模块还用于将所述CRC实际校验值存入所述第二存储单元。
根据本发明的一个实施例,所述CRC比较模块还包括:数据选择器和比较器;所述数据选择器,分别与所述CRC校验模块、所述第一存储单元和所述第二存储单元连接,用于选择将所述CRC理论校验值存入所述第一存储单元,并选择将所述CRC实际校验值存储所述第二存储单元;所述比较器,分别与所述第一存储单元和所述第二存储单元连接,并用以连接所述CPU,所述比较器用于将所述CRC实际校验值与所述CRC理论校验值进行比较,并在所述CRC实际校验值与所述CRC理论校验值不相等时,向所述CPU发送错误中断信号。
根据本发明的一个实施例,所述数据选择器还与所述CPU连接,具体用于:在所述CRC校验模块接收到所述使能信号时,同步接收所述CPU发送的第一电平的状态选择信号,并根据所述第一电平的状态选择信号将所述CRC理论校验值更新至所述第一存储单元和所述第二存储单元,以及根据第二电平的状态选择信号将所述CRC实际校验值更新至所述第二存储单元;其中,所述CRC理论校验值更新至所述第一存储单元和所述第二存储单元完成后,所述第一电平的状态选择信号基于硬件机制变为所述第二电平的状态选择信号。
根据本发明的一个实施例,所述比较器还用于:在完成所述CRC实际校验值与所述CRC理论校验值的比较后,向所述CPU发送完成中断信号。
根据本发明的一个实施例,所述触发事件包括:定时器周期触发事件和/或软触发事件。
根据本发明的一个实施例,所述CRC校验模块还用于在所述校验装置处于自检模式时,对所述配置寄存器注入的故障数据进行计算,得到CRC自检校验值;所述CRC比较模块还用于根据所述CRC自检校验值和所述CRC理论校验值对所述校验装置进行自检。
根据本发明的一个实施例,所述CRC校验模块还用于在接收到所述CPU发送的停止信号时,停止校验工作。
为达到上述目的,本发明第二方面实施例提出了一种芯片设备,包括上述的配置寄存器的校验装置。
为达到上述目的,本发明第三方面实施例提出了一种配置寄存器的校验系统,包括:配置寄存器、中央处理器CPU和上述的芯片设备。
本发明实施例的配置寄存器的校验装置、校验系统和芯片设备,通过自动计算CRC值,减少软件和芯片的资源开销;同时,通过在校验装置中自动备份CRC实际校验值和CRC理论校验值,减少了校验系统的故障反应时间。
附图说明
图1是本发明实施例的配置寄存器的校验装置的结构示意图;
图2是本发明另一实施例的配置寄存器的校验装置的结构示意图;
图3是本发明实施例的芯片设备的结构示意图;
图4是本发明实施例的配置寄存器的校验系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图1-附图4描述本发明实施例的配置寄存器的校验装置、校验系统和芯片设备。
图1是本发明实施例的配置寄存器的校验装置的结构示意图。
如图1所示,配置寄存器的校验装置10包括:CRC校验模块101和CRC比较模块102;CRC校验模块101,用以分别连接中央处理器CPU11和配置寄存器12,用于在接收到CPU11发送的使能信号时,对配置寄存器12的数据进行计算,得到CRC理论校验值,并在检测到触发事件时,对配置寄存器12的数据进行计算,得到CRC实际校验值;CRC比较模块102,与CRC校验模块101连接,并用以连接CPU11,CRC比较模块102包括第一存储单元1021,CRC比较模块102用于将CRC理论校验值存入第一存储单元1021,并将CRC实际校验值与CRC理论校验值进行比较,以及在CRC实际校验值与CRC理论校验值不相等时,向CPU11发送错误中断信号。
其中,CRC校验模块101可为32位循环冗余校验硬件模块,通过将CRC理论校验值和CRC实际校验值的计算工作移到CPU11外的硬件模块,能够减少对校验系统有限资源的浪费和占用。
具体地,CRC比较模块102还包括第二存储单元1022,CRC比较模块102还用于将CRC实际校验值存入第二存储单元1022。
具体地,如图2所示,CRC比较模块102还包括:数据选择器1023和比较器1024;数据选择器1023,分别与CRC校验模块101、第一存储单元1021和第二存储单元1022连接,用于选择将CRC理论校验值存入第一存储单元1021,并选择将CRC实际校验值存储第二存储单元1022;比较器1024,分别与第一存储单元1021和第二存储单元1022连接,并用以连接CPU11,比较器1024用于将CRC实际校验值与CRC理论校验值进行比较,并在CRC实际校验值与CRC理论校验值不相等时,向CPU11发送错误中断信号。
作为一个可行的实施方式,当CPU11接收到错误中断信号时,则触发CPU11中的安全保护单元,中止从配置寄存器12中读取数据,并进行故障报警。当CRC实际校验值与CRC理论校验值相等时,则比较器1024向CPU11发送完成中断信号,CPU11继续正常工作。
通过使用配置寄存器的校验装置10向CPU11发送错误中断信号或完成中断信号,有效的减少了校验系统对故障的反应时间,提高了校验系统的工作效率。
更具体地,数据选择器1023还与CPU11连接,具体用于:在CRC校验模块101接收到使能信号时,同步接收CPU11发送的第一电平的状态选择信号,并根据第一电平的状态选择信号将CRC理论校验值更新至第一存储单元1021和第二存储单元1022,以及根据第二电平的状态选择信号将CRC实际校验值更新至第二存储单元1022;其中,CRC理论校验值更新至第一存储单元1021和第二存储单元1022完成后,第一电平的状态选择信号基于硬件机制变为第二电平的状态选择信号。
需要说明的是,硬件机制只能更新状态选择信号为第二电平,使数据选择器1023将校验值更新至第二存储单元1022。CPU11不仅可以提供第一电平的状态选择信号,还可提供第二电平的状态选择信号,使数据选择器1023将校验值更新至第一存储单元1021和第二存储单元1022,或者,仅更新至第二存储单元1022。
作为一个示例,在第一存储单元和第二存储单元更新校验值后,校验装置10通过硬件机制可将状态选择信号置为第二电平。CPU11可根据需要设置状态选择信号为第一电平或第二电平。
更具体地,比较器1024还用于:在完成CRC实际校验值与CRC理论校验值的比较后,向CPU11发送完成中断信号。
本发明实施例的配置寄存器的校验装置,通过自动计算CRC值,减少软件和芯片的资源开销;同时,通过在校验装置中自动备份CRC实际校验值与CRC理论校验值,减少了校验系统的故障反应时间。
在本发明的一个实施例中,触发事件包括:定时器周期触发事件和/或软触发事件。
作为一个示例,定时器周期触发事件可根据校验系统的性能要求决定。例如,对于性能要求较高的校验系统,可将校验周期设置得较小,以满足校验系统的性能要求。
在本发明的一个实施例中,CRC校验模块101还用于在校验装置10处于自检模式时,对配置寄存器12注入的故障数据进行计算,得到CRC自检校验值。CRC比较模块102还用于根据CRC自检校验值和CRC理论校验值对校验装置10进行自检。
作为一个示例,在需要对配置寄存器的校验装置10的运行是否正常进行检查时,通过软件触发使得校验装置10工作处于自检模式,并向配置寄存器12注入故障数据,校验装置10对故障数据进行计算,完成自检。通过设置的自检模式能够有效的降低校验系统存在的潜在失效率,提高诊断的覆盖率。
在本发明的一个实施例中,CRC校验模块101还用于在接收到CPU11发送的停止信号时,停止校验工作。
接下来,以芯片外设修改配置寄存器参数为例,具体说明本发明的配置寄存器的校验装置10的工作流程:
S1,CPU11向对应的配置寄存器的校验装置10发送停止信号,使得校验装置10停止校验工作。
S2,芯片外设对配置寄存器12进行修改,在修改完成后,CPU11向校验装置10发送使能信号,使得校验装置10处于使能模式。
S3,CRC校验模块101对配置寄存器12的数据进行计算,得到CRC理论校验值。
S4,第一存储单元1021和第二存储单元1022中的值,根据状态选择信号来选择更新,如果是第一电平就更新第一存储单元1021和第二存储单元1022,如果是第二电平就更新第二存储单元1022。
S5,设置定时器周期触发事件的周期,校验装置10周期性的对配置寄存器12的数据进行计算,得到CRC实际校验值。
S6,根据状态选择信号更新第一存储单元1021和第二存储单元1022中的值。
S7,通过比较器1024比较第一存储单元1021和第二存储单元1022中的值,以检验配置寄存器12中的参数。
对应上述实施例,本发明还提出一种芯片设备。
图3是本发明实施例的芯片设备的结构示意图。
如图3所示,芯片设备1包括:上述的配置寄存器的校验装置10。
本发明实施例的芯片设备,通过配置寄存器的校验装置对配置寄存器进行实时校验,能够减少自身的资源开销。
对应上述实施例,本发明还提出一种配置寄存器的校验系统。
图4是本发明实施例的配置寄存器的校验系统的结构示意图。
如图4所示,配置寄存器的校验系统包括:配置寄存器12、中央处理器CPU11和上述的芯片设备1。
本发明实施例的配置寄存器的校验系统,通过自动计算CRC值,减少软件和芯片的资
源开销;同时,通过在校验装置中自动备份CRC实际校验值和CRC理论校验值,减少了校5验系统的故障反应时间。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意
性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点0可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
5尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,
不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种配置寄存器的校验装置,其特征在于,所述校验装置包括:
CRC校验模块,用以分别连接中央处理器CPU和所述配置寄存器,用于在接收到所述CPU发送的使能信号时,对所述配置寄存器的数据进行计算,得到CRC理论校验值,并在检测到触发事件时,对所述配置寄存器的数据进行计算,得到CRC实际校验值;
CRC比较模块,与所述CRC校验模块连接,并用以连接所述CPU,所述CRC比较模块包括第一存储单元,所述CRC比较模块用于将所述CRC理论校验值存入所述第一存储单元,并将所述CRC实际校验值与所述CRC理论校验值进行比较,以及在所述CRC实际校验值与所述CRC理论校验值不相等时,向所述CPU发送错误中断信号。
2.根据权利要求1所述的校验装置,其特征在于,所述CRC比较模块还包括第二存储单元,所述CRC比较模块还用于将所述CRC实际校验值存入所述第二存储单元。
3.根据权利要求2所述的校验装置,其特征在于,所述CRC比较模块还包括:
数据选择器,分别与所述CRC校验模块、所述第一存储单元和所述第二存储单元连接,用于选择将所述CRC理论校验值存入所述第一存储单元,并选择将所述CRC实际校验值存储所述第二存储单元;
比较器,分别与所述第一存储单元和所述第二存储单元连接,并用以连接所述CPU,所述比较器用于将所述CRC实际校验值与所述CRC理论校验值进行比较,并在所述CRC实际校验值与所述CRC理论校验值不相等时,向所述CPU发送错误中断信号。
4.根据权利要求3所述的校验装置,其特征在于,所述数据选择器还与所述CPU连接,具体用于:
在所述CRC校验模块接收到所述使能信号时,同步接收所述CPU发送的第一电平的状态选择信号,并根据所述第一电平的状态选择信号将所述CRC理论校验值更新至所述第一存储单元和所述第二存储单元,以及根据第二电平的状态选择信号将所述CRC实际校验值更新至所述第二存储单元;
其中,所述CRC理论校验值更新至所述第一存储单元和所述第二存储单元完成后,所述第一电平的状态选择信号基于硬件机制变为所述第二电平的状态选择信号。
5.根据权利要求3所述的校验装置,其特征在于,所述比较器还用于:
在完成所述CRC实际校验值与所述CRC理论校验值的比较后,向所述CPU发送完成中断信号。
6.根据权利要求1所述的校验装置,其特征在于,所述触发事件包括:定时器周期触发事件和/或软触发事件。
7.根据权利要求6所述的校验装置,其特征在于,
所述CRC校验模块还用于在所述校验装置处于自检模式时,对所述配置寄存器注入的故障数据进行计算,得到CRC自检校验值;
所述CRC比较模块还用于根据所述CRC自检校验值和所述CRC理论校验值对所述校验装置进行自检。
8.根据权利要求7所述的校验装置,其特征在于,所述CRC校验模块还用于在接收到所述CPU发送的停止信号时,停止校验工作。
9.一种芯片设备,其特征在于,包括:根据权利要求1-8中任一项所述的配置寄存器的校验装置。
10.一种配置寄存器的校验系统,其特征在于,所述校验系统包括:配置寄存器、中央处理器CPU和根据权利要求9所述的芯片设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211599230.5A CN116010158A (zh) | 2022-12-12 | 2022-12-12 | 配置寄存器的校验装置、校验系统和芯片设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211599230.5A CN116010158A (zh) | 2022-12-12 | 2022-12-12 | 配置寄存器的校验装置、校验系统和芯片设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010158A true CN116010158A (zh) | 2023-04-25 |
Family
ID=86023975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211599230.5A Pending CN116010158A (zh) | 2022-12-12 | 2022-12-12 | 配置寄存器的校验装置、校验系统和芯片设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010158A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117706260A (zh) * | 2024-02-06 | 2024-03-15 | 禹创半导体(深圳)有限公司 | Esd事件检测方法 |
-
2022
- 2022-12-12 CN CN202211599230.5A patent/CN116010158A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117706260A (zh) * | 2024-02-06 | 2024-03-15 | 禹创半导体(深圳)有限公司 | Esd事件检测方法 |
CN117706260B (zh) * | 2024-02-06 | 2024-04-30 | 禹创半导体(深圳)有限公司 | Esd事件检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111480147B (zh) | 用于针对纠错码功能的联机功能测试的系统和方法 | |
KR20190079809A (ko) | 결함 주입 테스트 장치 및 그 방법 | |
CN1993679B (zh) | 执行计算机程序的方法、操作系统和计算设备 | |
JPH052654A (ja) | マイクロコンピユータの故障検知方法および回路 | |
US11686767B2 (en) | System, apparatus and method for functional testing of one or more fabrics of a processor | |
EP3770765B1 (en) | Error recovery method and apparatus | |
EP3022653B1 (en) | Fault detection apparatus and method | |
CN111965968A (zh) | 一种切换控制方法、系统及装置 | |
CN103678031A (zh) | 二乘二取二冗余系统及方法 | |
US7539903B2 (en) | Method for monitoring the execution of a program by comparing a request with a response and introducing a falsification in a response | |
CN116010158A (zh) | 配置寄存器的校验装置、校验系统和芯片设备 | |
CN110147090A (zh) | 控制器局域网总线关闭故障处理方法及系统 | |
EP3629176B1 (en) | Fault detection circuit with progress register and status register | |
CN102521086A (zh) | 基于锁步同步的双模冗余系统及其实现方法 | |
EP1889163A1 (en) | System and method for bypassing execution of an algorithm | |
US8478478B2 (en) | Processor system and fault managing unit thereof | |
CN113485185B (zh) | N倍冗余控制系统的方法 | |
US11726853B2 (en) | Electronic control device | |
KR101925237B1 (ko) | 디지털 집적회로에 적용되는 esd 검출 장치, 방법 및 집적회로 | |
CN115158341A (zh) | 基于功能安全设计的车辆故障上传方法及装置 | |
US10514970B2 (en) | Method of ensuring operation of calculator | |
JPH08297588A (ja) | 二重照合装置 | |
JPWO2018116400A1 (ja) | 制御装置および制御装置の故障時処理方法 | |
JP3127941B2 (ja) | 二重化装置 | |
CN116341011B (zh) | 一种检测系统及方法 |
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 |