CN109726057A - 一种cpu安全系统并行总线故障实时动态检测方法 - Google Patents
一种cpu安全系统并行总线故障实时动态检测方法 Download PDFInfo
- Publication number
- CN109726057A CN109726057A CN201811375824.1A CN201811375824A CN109726057A CN 109726057 A CN109726057 A CN 109726057A CN 201811375824 A CN201811375824 A CN 201811375824A CN 109726057 A CN109726057 A CN 109726057A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- cpu
- security system
- parallel bus
- 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
Landscapes
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种CPU安全系统并行总线故障实时动态检测方法,目标设备提供两个固定地址寄存器,其中,固定地址1寄存器数据通过读信号与片选信号有效,实时触发锁存并行总线地址的正码,固定地址2寄存器数据写入目标设备并行总线地址的反码,CPU安全系统通过写入固定地址2的数据,并读出该寄存器的值与被测试地址数据异或位与,其值是否为“1”,实时动态判断数据传输过程的正确性。数据传输过程是指并行总线读写功能、目标设备与CPU安全系统数据的存取,且检测不限于该过程中可能的随机干扰和器件瞬态失效。因此,总线功能信号片选、读写、地址和数据线均被测试到,测试更加全面。
Description
技术领域
本发明涉及计算机技术领域,具体涉及CPU安全系统。
背景技术
CPU安全系统中,为保证系统功能安全性,系统对各功能需要实时动态检测。其中对于带有并行数据总线的CPU安全系统通常需要对地址线、数据线实时动态检测,对于数据传输过程的正确性需要实时动态检测。
现有技术主要采用以下三种方案。
方案一:处理器子系统并行数据总线向目标设备发送(写入或读出)指定的地址数据,目标设备触发寄存器锁存。处理器再读取该寄存器地址下的数据。比较发送和读取的地址数据。
方案二:用于设备PCB检测时,通过测试接口,如:SPI、串口等对PCB的数据线和地址线检测。方案三:地址并行总线的检测方法、设备和系统:向第一专用地址和第二专用地址分别写入第一检测数据和第二检测数据,第一专用地址和第二专用地址对应的二进制数由交替的高低电平组成;由功能芯片对写入第一专用地址和第二专用地址的数据分别进行按位取反操作;通过读取第一专用地址和第二专用地址数据并经异或运算,判断并行总线地址是否故障。
现有技术存在如下缺陷。
方案一,通过目标设备锁存地址寄存器锁存地址数据,再通过读该寄存器的数据,可以检测并行总线地址故障,属于地址线和传输功能物理故障检测,未提及实时动态检测。
方案二,一种技术用于PCB板并行总线通断的自动测试方法,非处理器与目标设备实时动态检测。
方案三,可准确判断是地址线故障,需要写入两个地址数据。没有提到传输功能的检测。没有实时动态检测并行总线的数据、地址线和传输功能测试。
发明内容
本发明所要解决的技术问题就是提供一种CPU安全系统并行总线故障实时动态检测方法,检测全面,提高系统主动式安全功能。
为解决上述技术问题,本发明采用如下技术方案:一种CPU安全系统并行总线故障实时动态检测方法,包括如下步骤:
步骤S1,目标设备将系统并行地址线作为数据,通过CPU读信号触发存储在一个固定地址1寄存器里,CPU读取该固定地址1数据,检测该寄存器数据是否与上次发送的地址数据值一致,以判断当前数据线或地址线,以及读功能是否存在故障;
步骤S2,CPU对目标设备固定地址2寄存器写入被检测地址数据的反码值,读取固定地址1数据是否为固定地址2值,以确定CPU是否正确完成写功能,如果正确,CPU读取固定地址2寄存器数据,将读取固定地址2寄存器数据与被测试地址正码数据异或位与为1,表示当前CPU与目标设备并行传输功能正确,否则,不正确;
步骤S3,CPU需要循环步骤S1和S2共n次,n=地址线个数。
优选的,取地址数据的反码与原码拼接后,从低位取数据线宽度的数据为固定地址1寄存器存贮数据。
优选的,固定地址2寄存器数据正常情况为检测地址数据的反码。
优选的,步骤S3每次只设置一位地址为1,其余地址数据为0。
优选的,CPU安全系统需要在本系统每个正常运行周期里完成并行总线的检测
本发明采用上述技术方案,具有如下有益效果:
1、目标设备提供两个固定地址寄存器,其中,固定地址1寄存器数据通过读信号与片选信号有效,实时触发锁存并行总线地址的正码,固定地址2寄存器数据写入目标设备并行总线地址的反码,CPU安全系统通过写入固定地址2的数据,并读出该寄存器的值与被测试地址数据异或位与,其值是否为“1”,实时动态判断数据传输过程的正确性。数据传输过程是指并行总线读写功能、目标设备与CPU安全系统数据的存取,且检测不限于该过程中可能的随机干扰和器件瞬态失效。因此,总线功能信号片选、读写、地址和数据线均被测试到,测试更加全面。
2、并行总线地址或数据线需要按位,并且周期性实时检测,以提高该系统主动式安全功能,检测具有实时性和动态特性。
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1是CPU安全系统与目标板并行总线示意图;
图2是CPU安全系统并行总线故障实时动态检测方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图2所示,一种CPU安全系统并行总线故障实时动态检测方法,包括如下步骤:
步骤S1,目标设备将系统并行地址线作为数据,通过CPU读信号触发存储在一个固定地址1寄存器里,由于地址线与数据线宽度不一致,通常情况地址线宽度小于数据线宽度,取地址数据的反码与原码拼接后,从低位取数据线宽度的数据为固定地址1寄存器存贮数据。CPU读取该固定地址1数据,检测该寄存器数据是否为上次发送的地址数据值一致,以判断当前数据线或地址线,以及读功能是否存在故障。本次判断只针对当前地址线、数据线及CPU读功能检测。
步骤S2,读取固定地址1数据是否为固定地址2值,以确定CPU是否正确完成写功能。如果正确,CPU读取固定地址2寄存器数据,将读取固定地址2寄存器数据(正常情况为检测地址数据的反码)与被测试地址正码数据异或位(每位)与为1,表示当前CPU与目标设备并行传输功能正确,否则,不正确。
步骤S3,CPU需要循环步骤S1和S2共n次,n=地址线个数,每次只设置一位地址为1,其余地址数据为0。CPU系统需要在本系统每个正常运行周期里完成并行总线的检测。所以具有实时性和动态性。
以下具体说明本发明方法。
步骤S1,CPU安全系统并行总线对目标设备依次每位地址设为“1”,其它测试位是“0”。例如并行总线9位地址的测试地址数据分别为“0x001”、“0x002”、“0x004”、“0x008”、“0x010”、“0x020”、“0x040”、“0x080”、“0x100”。目标设备通过周期性读操作,触发锁存该地址数据X到目标设备一个固定地址1(如:0x0e1地址)寄存器A里。由于地址线宽度与数据线宽度不一致,通常数据线大于地址线时,可将地址线值的反码加到高位,取其数据线宽度,存入固定地址1寄存器A。具体见表1中列出各测试寄存器的值。
步骤S2,CPU安全系统并行总线地址数据X和读取目标设备固定地址1正码数据A是否一致,一致是正常,不一致是地址线、数据线或读功能存在故障。
步骤S3,建立在步骤S2基础上,CPU安全系统写入目标设备固定地址2(如:0x0e2)特定数据,系统读取固定地址1(如:0x0e1)确认数据是否为固定地址2(0x0e2)的值。不正确,表示系统写功能故障,正确,系统再读取固定地址2(例如:0x0e1)的数据。该数据是A的反码值B,CPU安全系统通过读取的这两个地址数据异或位与,如果为“1”表示数据传输正常,否则异常。
操作顺序为:
①CPU读取“0x001”地址X
②CPU读取“0x0e1”地址数据A
③CPU判断地址数据A是否为“0xfc01”,不正确,报地址线、数据线或读功能故障;正确,进行下一步。0xfc01是地址0x001正码与反码拼接后取低16位数据
④CPU写入“0x0e2”地址数据B
⑤CPU读取“0x0e1”地址数据是否为“0x3ae2”,不正确,报写功能故障;正确,进行下一步。0x3ae2是地址0x0e2正码与反码拼接后取低16位数据
⑥CPU读取“0x0e2”地址数据为B
⑦CPU将A和B异或后,位与是否为“1”,不正确,报数据传输故障;正确,进行下一步
⑧CPU读取“0x002”地址X,重复①~⑦直到最后一位地址线检测完成,具体见实施例第4步。
以下为本发明的具体实施例
以CPU安全系统并行数据总线为例,总线包括:地址线Address[8:0]9位、数据线Data[15:0]16位、控制信号有:CS、Write、Read。图1是CPU安全系统与目标设备的总线连接示意图。0x0e1和0x0e2分别是目标设备两个固定地址1和2。CPU安全系统依次发起对地址0x001、0x002、0x004、0x008、0x010、0x020、0x040、0x080、0x100读操作,每次目标设备将CPU安全系统地址值,通过读信号触发锁存在目标设备0x0e1地址下。由于地址线与数据线不一定完全匹配,通常数据线大于地址线,目标设备0x0e1地址锁存数据为:地址数据与该数据取反拼接而成。如下表1所示,CPU安全系统并行总线在0x0e1地址读取数据值是取低位16位数据:
步骤1、读取0x0e1地址数据。由于地址只有9位,数据为16位,将地址数据的反码拼接后,读取拼接后数据低16位。CPU子系统读取正确值如下表1所示。CPU并行总线读取固定地址1值的低9位与地址数据一致,则该地址线和数据线正确。否则为故障。
表1并行总线测试时各寄存器数据值
步骤2、满足步骤1,地址线和数据线检测正确后,CPU安全系统读取0x0e1地址数据,检测是否为0x0e2,不正确报写功能故障;正确后,CPU读取0x0e2地址数据B与原0x0e1数据A异或位与是否为1。如果数据为1表示数据传输功能正确;否则,数据传输功能故障。
步骤3、CPU安全系统依次发起对地址0x01、0x02、0x04、0x08、0x10、0x20、0x40、0x80读操作,同时步骤2也重复进行。并通过上述方法,CPU安全系统可以实时动态对并行数据传输过程检测。
步骤4、故障模式通常为数据线和地址线本身的短路和开路、总线数据改变和寄存器值改变等。以CPU安全系统读取0x008地址为例:
①读取0x0e1数据判断地址线是否正确,见下表。系统读取数据值为0xee08是正确,读取数据值为0xe60c或0xfe00以及乱码均为数据异常。
②通过①测试地址正常后,系统写入0x0e2数据后相关数据列表如下,系统读取0x0e1地址数据值为0xee08是正常,再读取0x0e2数据值为0x11f7正常,读取0x0e2数据值为0x11ff是异常。
除上述优选实施例外,本发明还有其他的实施方式,本领域技术人员可以根据本发明作出各种改变和变形,只要不脱离本发明的精神,均应属于本发明权利要求书中所定义的范围。
Claims (5)
1.一种CPU安全系统并行总线故障实时动态检测方法,其特征在于包括如下步骤:
步骤S1,目标设备将系统并行地址线作为数据,通过CPU读信号触发存储在一个固定地址1寄存器里,CPU读取该固定地址1寄存器数据,检测该寄存器数据是否与上次发送的地址数据值一致,以判断当前数据线或地址线,以及读功能是否存在故障;
步骤S2,CPU对目标设备固定地址2寄存器写入被检测地址数据的反码值,读取固定地址1寄存器数据是否为固定地址2值,以确定CPU是否正确完成写功能,如果正确,CPU读取固定地址2寄存器数据,将读取固定地址2寄存器数据与被测试地址正码数据异或位与为1,表示当前CPU与目标设备并行传输功能正确,否则,不正确;
步骤S3,CPU需要循环步骤S1和S2共n次,n=地址线个数。
2.根据权利要求1所述的一种CPU安全系统并行总线故障实时动态检测方法,其特征在于:取地址数据的反码与原码拼接后,从低位取数据线宽度的数据为固定地址1寄存器存贮数据。
3.根据权利要求2所述的一种CPU安全系统并行总线故障实时动态检测方法,其特征在于:固定地址2寄存器数据正常情况为检测地址数据的反码。
4.根据权利要求1所述的一种CPU安全系统并行总线故障实时动态检测方法,其特征在于:步骤S3每次只设置一位地址为1,其余地址数据为0。
5.根据权利要求1至4中任意一项所述的一种CPU安全系统并行总线故障实时动态检测方法,其特征在于:CPU安全系统需要在本系统每个正常运行周期里完成并行总线的检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811375824.1A CN109726057B (zh) | 2018-11-19 | 2018-11-19 | 一种cpu安全系统并行总线故障实时动态检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811375824.1A CN109726057B (zh) | 2018-11-19 | 2018-11-19 | 一种cpu安全系统并行总线故障实时动态检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726057A true CN109726057A (zh) | 2019-05-07 |
CN109726057B CN109726057B (zh) | 2022-07-22 |
Family
ID=66294628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811375824.1A Active CN109726057B (zh) | 2018-11-19 | 2018-11-19 | 一种cpu安全系统并行总线故障实时动态检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726057B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112098770A (zh) * | 2020-08-20 | 2020-12-18 | 深圳市宏旺微电子有限公司 | 针对动态耦合故障模拟极端环境下的测试方法和装置 |
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN113777911A (zh) * | 2021-10-09 | 2021-12-10 | 中国北方车辆研究所 | 一种基于地址编码的控制器复合防错方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63222400A (ja) * | 1987-03-11 | 1988-09-16 | Fujitsu Ltd | 記憶回路診断方式 |
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
US20090210590A1 (en) * | 2008-02-15 | 2009-08-20 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
CN101937232A (zh) * | 2010-09-07 | 2011-01-05 | 北京航空航天大学 | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 |
JP4841709B1 (ja) * | 2010-09-06 | 2011-12-21 | 三菱電機株式会社 | メモリ制御装置およびメモリ制御方法 |
CN102929755A (zh) * | 2012-09-27 | 2013-02-13 | 许继集团有限公司 | 一种cpu模块地址和数据总线的故障检测方法 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
-
2018
- 2018-11-19 CN CN201811375824.1A patent/CN109726057B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63222400A (ja) * | 1987-03-11 | 1988-09-16 | Fujitsu Ltd | 記憶回路診断方式 |
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
US20090210590A1 (en) * | 2008-02-15 | 2009-08-20 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
JP4841709B1 (ja) * | 2010-09-06 | 2011-12-21 | 三菱電機株式会社 | メモリ制御装置およびメモリ制御方法 |
CN101937232A (zh) * | 2010-09-07 | 2011-01-05 | 北京航空航天大学 | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 |
CN102929755A (zh) * | 2012-09-27 | 2013-02-13 | 许继集团有限公司 | 一种cpu模块地址和数据总线的故障检测方法 |
CN103885850A (zh) * | 2013-03-01 | 2014-06-25 | 上海富欣智能交通控制有限公司 | 存储器在线检查系统及方法 |
Non-Patent Citations (4)
Title |
---|
袁智荣: "地址总线检测方法", 《科技资讯》 * |
袁智荣: "地址总线检测方法", 《科技资讯》, no. 10, 3 April 2018 (2018-04-03) * |
马永强: "RAM模块地址线和数据线固定故障的诊断", 《计算机应用研究》 * |
马永强: "RAM模块地址线和数据线固定故障的诊断", 《计算机应用研究》, 30 June 1990 (1990-06-30) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112098770A (zh) * | 2020-08-20 | 2020-12-18 | 深圳市宏旺微电子有限公司 | 针对动态耦合故障模拟极端环境下的测试方法和装置 |
CN112286707A (zh) * | 2020-10-26 | 2021-01-29 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN112286707B (zh) * | 2020-10-26 | 2024-04-05 | 重庆智慧水务有限公司 | 一种mcu运行异常的故障定位系统及方法 |
CN113777911A (zh) * | 2021-10-09 | 2021-12-10 | 中国北方车辆研究所 | 一种基于地址编码的控制器复合防错方法 |
CN113777911B (zh) * | 2021-10-09 | 2023-06-02 | 中国北方车辆研究所 | 一种基于地址编码的控制器复合防错方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109726057B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726057A (zh) | 一种cpu安全系统并行总线故障实时动态检测方法 | |
CN112331253A (zh) | 一种芯片的测试方法、终端和存储介质 | |
CN101692351B (zh) | 存储器测试方法及装置 | |
GB2172128A (en) | A method of and apparatus for fault testing a random access memory system | |
CN104572385B (zh) | 存储器故障检测系统及方法 | |
CN112000536A (zh) | 一种内存检测方法、系统及相关设备 | |
CA1208795A (en) | Data processing scan-art system | |
CN112349341B (zh) | Lpddr测试方法、装置、可读存储介质及电子设备 | |
EP0402497B1 (en) | Method of and apparatus for diagnosing failures in read only memory systems and the like | |
US6539338B1 (en) | Self-diagnostic testing of a network interface adapter | |
CN111562998A (zh) | 一种集成电路的内存诊断方法、诊断设备及存储介质 | |
CN117290165A (zh) | 一种芯片测试的方法、系统、装置及存储介质 | |
CN104198921A (zh) | 一种印刷电路板的测试方法 | |
CN103018617B (zh) | 电路板检测方法及其检测系统 | |
CN110907857B (zh) | 一种基于fpga的连接器自动检测方法 | |
CN106990343A (zh) | 电子元器件的测试方法及系统 | |
EP0039665A1 (en) | A method and apparatus for tracing a sequence comprising a series of transfers of binary message words | |
Lala et al. | Development and evaluation of a Fault-Tolerant Multiprocessor (FTMP) computer. Volume 3: FTMP test and evaluation | |
Huang et al. | Diagnosing DACS (defects that affect scan chain and system logic) | |
CN101477834B (zh) | 集成电路数字编码的写入方法及系统 | |
CN105788646B (zh) | 一种ram检测方法及系统 | |
CN117912533A (zh) | 一种存储器故障注入与诊断电路及诊断方法 | |
KR19980079439A (ko) | 캐쉬 모듈 결함 격리 방법 및 시스템 | |
JPS6363068B2 (zh) | ||
CN117725881A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |