CN113055259A - 一种基于axi总线协议的功能安全保护方法 - Google Patents
一种基于axi总线协议的功能安全保护方法 Download PDFInfo
- Publication number
- CN113055259A CN113055259A CN202110180900.9A CN202110180900A CN113055259A CN 113055259 A CN113055259 A CN 113055259A CN 202110180900 A CN202110180900 A CN 202110180900A CN 113055259 A CN113055259 A CN 113055259A
- Authority
- CN
- China
- Prior art keywords
- signals
- code
- channel
- data
- checking
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供的一种基于AXI总线协议的功能安全保护方法,通过获取通过AXI总线的各个通道即将传输的待传输信号;对于握手信号,使用奇校验进行校验;对于数据信号,使用适应于全0或者全1的优化后的ECC校验码进行校验;对于其他信号,使用CRC多项式进行校验。相比于现有技术,本发明可以实现握手信号准确检测、数据线上的数据信号以及其他信号更多错误类型的检测。
Description
技术领域
本发明属于汽车电子技术领域,具体涉及一种基于AXI总线协议的功能安全保护方法。
背景技术
在汽车电子中,为了比较出现芯片失效场景,需要对芯片进行安全机制保护要。汽车电子芯片设计中,一般的保护方法有:双核锁步(dual core lock-step)、存储单元ECC保护(memory ECC)、总线ECC保护(bus ECC)、寄存器EDC保护(Register Protection EDC)等等。针对片上总线,它担任着各个模块间的互联、数据通信等任务,尤其是AMBA AXI(Advanced Microcontroller Bus ArchitectureAdvanced eXtensible Interface)总线协议,在数字电路中应用广泛,对于总线的数据传输也需要有对应的保护措施。
对于AXI协议,现有技术中基于AXI协议的保护方案是:数据信号AxDATA使用ECC校验,其它信号全部使用奇偶校验。由于奇偶校验保护力度不够,总线上的错误检测能力太弱,奇偶校验只能发现一半的错误,检错能力在50%。ECC算法在遇到全0或者全1时,ECC是全0或全1,假设数据信号为0或者全1,总线锁死,也会出现全0或者全1,此时ECC校验发现不了,此种场景下数据信号的安全机制会失效。因此现有技术的保护方案安全机制容易失效。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于AXI总线协议的功能安全保护方法。本发明要解决的技术问题通过以下技术方案实现:
本发明提供的一种基于AXI总线协议的功能安全保护方法,包括:
获取通过AXI总线的各个通道即将传输的待传输信号;
其中,每个通道的所述待传输信号都包括:握手信号以及其他信号,固定通道的待传输信号包括握手信号、数据信号以及其他信号,所述其他信号为除握手信号以及数据信号外的信号,所述握手信号以及其他信号通过所述AXI总线的每个通道传输;
对于握手信号,使用奇校验进行校验;
对于数据信号,使用优化后的ECC校验码进行校验;
其中,优化后的ECC检验码为适应于全0或者全1的校验码;
对于其他信号,使用CRC多项式进行校验。
进一步的,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
对于数据信号,将数据信号对应的数据码中插入r位校验码;
确定每一位校验码在数据码中的位置;
针对第r位校验码,从该r位的校验码位置开始按照每间隔2(r-1)位选择2(r-1)子码的规则,直至数据码的末位;
在子码内部之间进行异或,获得汉明码;
判断数据码的长度是否大于32位,如果是,则将汉明码后3位取反,如果否,将汉明码后1位取反,获得优化后的汉明码;
将优化后的汉明码中所有码与数据码中的所有码一起异或,获得1bit偶校验码;
将优化后的汉明码以及1bit偶校验码组成优化后的ECC校验码。
进一步的,所述AXI总线的各个通道分别为:
AW通道、W通道、AR通道、R通道以及B通道;
其中,固定通道为W通道以及R通道。
进一步的,在所述对于其他信号,使用CRC进行校验的步骤之后,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
对W通道以及R通道的数据信号,使用优化后的ECC校验码进行校验。
进一步的,所述CRC多项式为:G(x)=x8+x2+x+1。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于AXI总线协议的功能安全保护方法的流程示意图;
图2a为AXI协议中AW通道待传输信号的安全保护方法;
图2b为AXI协议中AW通道待传输信号的安全保护方法;
图2c为AXI协议中W通道待传输信号的安全保护方法图;
图2d为AXI协议中AR通道待传输信号的安全保护方法图;
图2e为AXI协议中R通道待传输信号的安全保护方法;
图3为使用CRC检验的多项式进行校验的代码实现过程图;
图4为源码32bit的纠错能力检测图;
图5为源码64bit的纠错能力检测图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
如图1所示,本发明提供的一种基于AXI总线协议的功能安全保护方法包括:
S1,获取通过AXI总线的各个通道即将传输的待传输信号;
其中,每个通道的所述待传输信号都包括:握手信号以及其他信号,固定通道的待传输信号包括握手信号、数据信号以及其他信号,所述其他信号为除握手信号以及数据信号外的信号,所述握手信号以及其他信号通过所述AXI总线的每个通道传输;
所述AXI总线的各个通道分别为:
AW通道、W通道、AR通道、R通道以及B通道;
其中,固定通道为W通道、R通道以及B通道。
在汽车电子功能安全评估体系中,只有硬件随机失效可以通过统计的方式来评估其失效概率,软件失效却很难像硬件一样得出一个量化的数据,该标准定义了一套针对汽车安全的等级标准,用于确定风险级别(Automotive Safety Integrity Levels,ASILs)。ASIL用于指定可接受的剩余风险所需的安全要求。一共定义了5个级别:QM、A、B、C、D,其中QM表示标准质量,而ASIL D则表示最高安全等级。汽车的不同电子控制系统一般会有着不同的ASIL标准,比如汽车的刹车系统、驱动系统、安全气囊等基本都会采用ASILD标准,行车记录仪或者智能后视摄像头一般会采用ASILB标准。
单点失效和多点失效是可以被安全机制发现的错误类型,但不是100%可以监测到,在做硬件ASIL评估统计失效率时,一般不会关注安全失效类型,因为这种失效类型不会影响硬件的ASIL级别。其它失效类型就是没能发现的失效类型。做硬件的ASIL评估统计的时候主要关注单点失效和多点失效两种失效类型。ISO26262提供了一个量化的准则,具体在下表1中,不同的ASIL级别对应了不同的失效指标。
表1
失效类型 | ASILB | ASILC | ASILD |
单点失效 | 90% | 97% | 99% |
多点失效 | 60% | 80% | 90% |
本发明的安全保护方法可以适用于所有的汽车电子芯片总线中,通过这样的总线安全机制来提高安全得分,去获得更好ASIL等级。
参考图2a-图2e以及表2,图2a为AXI协议中AW通道待传输信号的安全保护方法,图2b为AXI协议中AW通道待传输信号的安全保护方法;图2c为AXI协议中W通道待传输信号的安全保护方法图;图2d为AXI协议中AR通道待传输信号的安全保护方法图;图2e为AXI协议中R通道待传输信号的安全保护方法;在图2a-图2e中上面信号是现有技术中AXI协议的待传输信号,下面四个信号为对上面待传输信号添加校验的校验信号。
S2,对于握手信号,使用奇校验进行校验;
S3,对于数据信号,使用优化后的ECC校验码进行校验;
其中,优化后的ECC检验码为适应于全0或者全1的校验码;
S4,对于其他信号,使用CRC多项式进行校验。
对照表2,表2为各个通道中信号校验方式表。以AW通道为例,arvaild_odd以及arready_odd是握手信号,因此使用奇校验,araddr_crc地址信号属于其他信号,因此使用CRC校验码进行校验,在W通道中,rdata_secded是数据信号,因此使用优化后的ECC校验码进行校验。
表2
与现有技术相比,本发明的安全保护方法的检错报错能力更强了。握手信号只要奇校验不过,就会报错;DATA线可以纠正1bit错误和检测出2bit错误信息基础上,还能检测到全0/1的失效场景。其它的信号使用CRC校验后,可以检测到的错误类型更多了。
本发明提供的一种基于AXI总线协议的功能安全保护方法,通过获取通过AXI总线的各个通道即将传输的待传输信号;对于握手信号,使用奇校验进行校验;对于数据信号,使用适应于全0或者全1的优化后的ECC校验码进行校验;对于其他信号,使用CRC多项式进行校验。相比于现有技术,本发明可以实现握手信号准确检测、数据线上的数据信号以及其他信号更多错误类型的检测。
实施例二
在一种实施例中,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
步骤a:对于数据信号,将数据信号对应的数据码中插入r位校验码;
步骤b:确定每一位校验码在数据码中的位置;
步骤c:针对第r位校验码,从该r位的校验码位置开始按照每间隔2(r-1)位选择2(r -1)子码的规则,直至数据码的末位;
示例性的,假设插入第r位校验码的数据码为abcdefghigk,第2位校验码的位置为d,则每间隔2位选择一个子码,选择出的子码为ef,ig。
步骤d:在子码内部之间进行异或,获得汉明码;
示例性的,假设选择出的子码为ef,ig,则将ef并上ig,以使e异或f异或i异或g。
步骤e:判断数据码的长度是否大于32位,如果是,则将汉明码后3位取反,如果否,将汉明码后1位取反,获得优化后的汉明码;
步骤f:将优化后的汉明码中所有码与数据码中的所有码一起异或,获得1bit偶校验码;
示例性的,假设优化后的汉明码为ef,数据码为ig,则将ef并上ig,以使e异或f异或i异或g。
步骤g:将优化后的汉明码以及1bit偶校验码组成优化后的ECC校验码。
可以理解,ECC编码由汉明码和奇偶校验码两部分组成。汉明码编码逻辑是在k位原数据段插入r位校验位,最终数据变为(k+r)位长度。编码的关键点在于r位的校验位的位置和计算方法。
AXI总线使用ECC算法保护数据,会出现一些漏掉一些场景,使得安全机制失效。全0/1的数据,计算对应的ECC码也为全0/1。这时,整段数据全为0或者1。如果硬件失效,导致总线上的恰好为全0或者全1,比如总线的数据信号掉电,全部为低电平,此时现有的安全机制并不会发现这种错误,还“以为”总线传的就是全0的数据,并且ECC解码也发现不了这种失效场景,这种场景必须在总线的功能安全中避免。
普通的ECC算法无法发现全0/1场景的安全机制失效,这种失效在汽车电子中是相当致命的,会给整个系统带来安全隐患。需要通过对ECC算法做一些优化,来避免这种安全机制中出现全0/1的码字,也就是说如果出现了全0/1的码字,那就是违规的。通过取反ECC算法的最后3bit汉明码,来避免在这种场景下导致安全机制失效。
实施例三
在一些实施例中,在所述对于其他信号,使用CRC进行校验的步骤之后,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
对W通道以及R通道的数据信号,使用优化后的ECC校验码进行校验。
实施例四
在一些实施例中,所述CRC多项式为:G(x)=x8+x2+x+1。
CRC码的检错能力是毋庸置疑的,CRC码的局限性在于在通信应用中由于原数据的长度过长,使得保护能力下降,因此在通信中需要不断寻找更好的多项式来获得更好的保护性能,使用更复杂的多项式可以提高性能。
在总线保护中,由于总线数据和通信数据相比,数据位宽并不是很大,在本方案中,AXI数据信号是通过可以纠错的ECC算法实现的,那么需要使用CRC进行保护的其它AXI总线信号位宽都不是很大,例如AxADDR在AXI中最多支持128bit位宽,其实在大部分实际系统中地址位宽更多的是使用32bit,64bit的地址位宽系统比例占有比较小,这样一来就很好的弱化了CRC校验码带来影响。
本实施例在硬件上使用并行逻辑快速计算,所使用CRC检验的多项式为:x8+x2+x+1,如图3所示,代码实现过程如下:
下面通过仿真试验验证本发明提供的功能安全保护方法的效果。
参考图4以及图5,图4为源码32bit的纠错能力检测图,图5为源码64bit的纠错能力检测图。由于奇偶校验可以检测出奇数位错误,检不出偶数位错误,检错能力50%。CRC-8x^8+x^2+x+1编码方式,通过MATLAB仿真,测试次数为100万次,源码32bit的数据检错能力为99.6%,64bit的数据检错能力依然为99.6%。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (5)
1.一种基于AXI总线协议的功能安全保护方法,其特征在于,包括:
获取通过AXI总线的各个通道即将传输的待传输信号;
其中,每个通道的所述待传输信号都包括:握手信号以及其他信号,固定通道的待传输信号包括握手信号、数据信号以及其他信号,所述其他信号为除握手信号以及数据信号外的信号,所述握手信号以及其他信号通过所述AXI总线的每个通道传输;
对于握手信号,使用奇校验进行校验;
对于数据信号,使用优化后的ECC校验码进行校验;
其中,优化后的ECC检验码为适应于全0或者全1的校验码;
对于其他信号,使用CRC多项式进行校验。
2.根据权利要求1所述的功能安全保护方法,其特征在于,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
对于数据信号,将数据信号对应的数据码中插入r位校验码;
确定每一位校验码在数据码中的位置;
针对第r位校验码,从该r位的校验码位置开始按照每间隔2(r-1)位选择2(r-1)子码的规则,直至数据码的末位;
在子码内部之间进行异或,获得汉明码;
判断数据码的长度是否大于32位,如果是,则将汉明码后3位取反,如果否,将汉明码后1位取反,获得优化后的汉明码;
将优化后的汉明码中所有码与数据码中的所有码一起异或,获得1bit偶校验码;
将优化后的汉明码以及1bit偶校验码组成优化后的ECC校验码。
3.根据权利要求1所述的功能安全保护方法,其特征在于,所述AXI总线的各个通道分别为:
AW通道、W通道、AR通道、R通道以及B通道;
其中,固定通道为W通道以及R通道。
4.根据权利要求3所述的功能安全保护方法,其特征在于,在所述对于其他信号,使用CRC进行校验的步骤之后,所述对于数据信号,使用优化后的ECC校验码进行校验的步骤包括:
对W通道以及R通道的数据信号,使用优化后的ECC校验码进行校验。
5.根据权利要求1所述的功能安全保护方法,其特征在于,所述CRC多项式为:G(x)=x8+x2+x+1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110180900.9A CN113055259B (zh) | 2021-02-08 | 2021-02-08 | 一种基于axi总线协议的功能安全保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110180900.9A CN113055259B (zh) | 2021-02-08 | 2021-02-08 | 一种基于axi总线协议的功能安全保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113055259A true CN113055259A (zh) | 2021-06-29 |
CN113055259B CN113055259B (zh) | 2022-05-13 |
Family
ID=76509073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110180900.9A Active CN113055259B (zh) | 2021-02-08 | 2021-02-08 | 一种基于axi总线协议的功能安全保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055259B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436821A (zh) * | 2016-05-31 | 2017-12-05 | Arm 有限公司 | 为包括多个数据位和地址位的块生成错误码的装置和方法 |
CN108009065A (zh) * | 2016-10-31 | 2018-05-08 | 深圳市中兴微电子技术有限公司 | 监控axi总线的方法和装置 |
CN108073837A (zh) * | 2016-11-15 | 2018-05-25 | 华为技术有限公司 | 一种总线安全保护方法及装置 |
CN108733504A (zh) * | 2018-05-04 | 2018-11-02 | 西安电子科技大学 | 一种四维奇偶校验码与汉明码相结合的存储器校验编码及检错纠错方法 |
CN108988990A (zh) * | 2018-07-05 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种处理链路层数据错误的方法 |
US20190260504A1 (en) * | 2018-02-22 | 2019-08-22 | Netspeed Systems, Inc. | Systems and methods for maintaining network-on-chip (noc) safety and reliability |
-
2021
- 2021-02-08 CN CN202110180900.9A patent/CN113055259B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436821A (zh) * | 2016-05-31 | 2017-12-05 | Arm 有限公司 | 为包括多个数据位和地址位的块生成错误码的装置和方法 |
CN108009065A (zh) * | 2016-10-31 | 2018-05-08 | 深圳市中兴微电子技术有限公司 | 监控axi总线的方法和装置 |
CN108073837A (zh) * | 2016-11-15 | 2018-05-25 | 华为技术有限公司 | 一种总线安全保护方法及装置 |
US20190260504A1 (en) * | 2018-02-22 | 2019-08-22 | Netspeed Systems, Inc. | Systems and methods for maintaining network-on-chip (noc) safety and reliability |
CN108733504A (zh) * | 2018-05-04 | 2018-11-02 | 西安电子科技大学 | 一种四维奇偶校验码与汉明码相结合的存储器校验编码及检错纠错方法 |
CN108988990A (zh) * | 2018-07-05 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种处理链路层数据错误的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113055259B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7149947B1 (en) | Method of and system for validating an error correction code and parity information associated with a data word | |
EP1160987B1 (en) | Method and apparatus for verifying error correcting codes | |
EP0280013B1 (en) | Device for verifying proper operation of a checking code generator | |
TWI524355B (zh) | 用於8位元記憶體裝置之錯誤校正機制 | |
US11281526B2 (en) | Optimized error-correcting code (ECC) for data protection | |
US5384788A (en) | Apparatus and method for optimal error correcting code to parity conversion | |
JP2003507985A (ja) | 2ビット・エラーを検出し、構成要素の障害によるエラーを訂正するためのシステムおよび方法 | |
US8117526B2 (en) | Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal | |
JP2009510875A (ja) | エラー管理用の方法及び装置 | |
JP2003501722A (ja) | データを保護し、要素の欠陥によるビット・エラーを訂正するシステムと方法 | |
US20040133836A1 (en) | Method and apparatus for performing error correction code (ECC) conversion | |
US20050149834A1 (en) | (18, 9) Error correction code for double error correction and triple error detection | |
US7080305B2 (en) | System and method for correcting data errors | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
JP2003501916A (ja) | 構成要素の故障によるビット・エラーの訂正を容易にするために線形シフト・コードを復号する機構 | |
US20240220356A1 (en) | Parity protected memory blocks merged with error correction code (ecc) protected blocks in a codeword for increased memory utilization | |
CN114237972A (zh) | 一种用于总线传输的端到端ecc保护装置及方法 | |
US6463563B1 (en) | Single symbol correction double symbol detection code employing a modular H-matrix | |
CN113055259B (zh) | 一种基于axi总线协议的功能安全保护方法 | |
US5938773A (en) | Sideband signaling with parity bit schemes | |
US10860415B2 (en) | Memory architecture including response manager for error correction circuit | |
EP1271828A1 (en) | Apparatus and method for generating a checkbits for error detection using a pseudo-random sequence | |
US11416332B2 (en) | Protection for ethernet physical layer | |
US5544179A (en) | Mis-synchronization detection system using a combined error correcting and cycle identifier code | |
JP2000349792A (ja) | データ伝送装置 |
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 |