买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】寄存器异常检测装置_阿自倍尔株式会社_201710272530.5 

申请/专利权人:阿自倍尔株式会社

申请日:2017-04-24

公开(公告)日:2020-11-24

公开(公告)号:CN107402830B

主分类号:G06F11/07(20060101)

分类号:G06F11/07(20060101);G06F11/10(20060101)

优先权:["20160425 JP 2016-086764"]

专利状态码:有效-授权

法律状态:2020.11.24#授权;2017.12.22#实质审查的生效;2017.11.28#公开

摘要:本发明的寄存器异常检测装置能在不使用高处理能力的CPU的情况下提高异常检测的可靠性。在IC2中,在算出被写入寄存器2A的数据的CRC期待值后,反复算出CRC现状值,并将算出的CRC现状值更新存储至CRC现状值存储部2E。每算出一次CRC现状值,就判定一次CRC期待值与CRC现状值的一致不一致,并将其判定结果写入至错误检测寄存器2H。CPU1定期地读出写入在错误检测寄存器2H中的判定结果以及存储在CRC现状值存储部2E中的CRC现状值,根据该读出的判定结果第1判定结果以及利用CRC现状值而获得的判定结果第2判定结果来检测写入寄存器2A中的数据的异常。

主权项:1.一种寄存器异常检测装置,其包括运算处理部和供写入从该运算处理部送来的数据的寄存器,所述寄存器异常检测装置检测所述寄存器中所写入的数据的异常,该寄存器异常检测装置的特征在于,包括:数据写入部,其将从所述运算处理部送来的数据写入至所述寄存器;期待值算出部,其算出检查用指标的期待值,该检查用指标的期待值用以检测所述寄存器中所写入的数据的异常;现状值算出部,其反复算出与所述寄存器中所写入的数据的所述检查用指标的期待值相对应的现状值;现状值存储部,把每次由所述现状值算出部算出的所述检查用指标的现状值,进行更新存储;以及一致不一致判定部,每次由所述现状值算出部算出所述检查用指标的现状值后,所述一致不一致判定部就对所算出的检查用指标的现状值与所述期待值的一致不一致进行判定,并将其判定结果作为第1判定结果写入至错误检测寄存器,所述运算处理部读出所述错误检测寄存器中所写入的第1判定结果以及所述现状值存储部中所存储的检查用指标的现状值,在每次从所述现状值存储部读出所述现状值时,就对该读出的现状值与由所运算处理部保存的期待值的一致不一致进行判定,将其判定结果作为第2判定结果,在所述第1判定结果为一致且所述第2判定结果为一致的情况以外的情况下,所述运算处理部检测所述寄存器中所写入的数据的异常。

全文数据:寄存器异常检测装置技术领域[0001]本发明涉及一种检测寄存器中所写入的数据的异常的寄存器异常检测装置。背景技术[0002]一直以来,在使用微电脑来进行各种处理的电子电路中,会将从运算处理部CPUCentralProcessingUnit中央处理单元)送来的数据写入至ICIntegratedCircuit集成电路)内部的寄存器。在该使用微电脑的电子电路中,1C内部的寄存器中所写入的数据寄存器值有时会因噪声等因素而意外地改写。[0003]因此,以往在CPU侧进行有下述1、⑵那样的处理。1在动作中始终对寄存器值进行轮询,由此监视寄存器值是否发生了变化,在尽管未进行对寄存器的写入但寄存器值发生了变化的情况下,判断寄存器值寄存器中所写入的数据发生了异常,从而写入正确值。2在寄存器初始设定后,以一定间隔持续写入与初始设定时相同的值。由此,即便寄存器值因噪声等的影响而发生了变化,寄存器值也会被正确值覆盖。【现有技术文献】【非专利文献】[0004]【非专利文献l】“20us稳定、250kSPS的24位2-AADC-AnalogDevices”(20usirHJ7夕'、、25〇1^?3024匕卜2-六厶〇:-六1^1^〇6¥;[063,〔2016年4月5日检索〕,网址【非专利文献2】“8-Channel,Low“否”ise,LowPower,24-Bit,Sigma-DeltaADCwithPGAandReference”,〔2016年4月5日检索〕,网址发明内容【发明要解决的问题】[0005]然而,要在CPU侧进行上述1、⑵那样的处理,必须选定高处理能力的CPU。此外,为了确认寄存器中所写入的数据的异常寄存器异常),从CPU到1C的访问会增加,由此导致耗电也增大。[0006]再者,也有在1C侧而非CPU侧内置有下述3、⑷那样的结构的例子例如,参考非专利文献1、2。[0007]3准备2个寄存器,将一寄存器作为动作设定用寄存器,将另一寄存器作为期待值存储用寄存器。与从CHJ对动作设定用寄存器进行写入相同的值也被复制到期待值存储用寄存器。在尽管未发生从CHJ到动作设定用寄存器的写入但动作设定用寄存器中所写入的值与期待值存储用寄存器中所写入的值不一样的情况下,使用错误检测寄存器对CHJ通知寄存器异常。[0008]⑷反复算出寄存器中所与入的数据的CRCCyclicRedundancyCode循环冗余校验值,在尽管未进行从CPU到寄存器的写入但所算出的CRC值CRC现状值与期待值CRC期待值不一致的情况下,使用错误检测寄存器对CRJ通知寄存器异常。再者,所谓CRC值,是用以检测寄存器中所写入的数据的异常的检查用指标之一,是定义为将数据视为值并除以某常数所得的余数剩余的值。此外,所谓CRC期待值,是定义为寄存器中所写入的数据原本应有的值的CRC值。[0009]然而,在上述3的结构中,会使用平常的2倍的寄存器,因此在面积上较为不利。此外,在上述⑷的结构中,虽然可减少异常检测所需的寄存器的数量,但是,在错误检测寄存器本身的比特产生乱码等异常的情况下,有可能会进行误检测。即,存在因错误检测寄存器本身发生异常而导致尽管是正常的却被判断为异常的情况。反过来,存在尽管是异常的却被判断为正常的情况。[0010]本发明是为了解决这种问题而成,其目的在于提供一种可在不使用高处理能力的CPU的情况下提高异常检测的可靠性的寄存器异常检测装置。【解决问题的技术手段】[0011]为了达成这种目的,本发明为一种寄存器异常检测装置100,其包括运算处理部1和供写入从该运算处理部Q送来的数据的寄存器(2A,所述寄存器异常检测装置100检测寄存器2A中所写入的数据的异常,该寄存器异常检测装置(100的特征在于,包括:数据写入部2B,其将从运算处理部⑴送来的数据写入至寄存器2A;期待值算出部2〇,其算出检查用指标的期待值,该检查用指标的期待值用以检测寄存器2A中所写入的数据的异常;现状值算出部2D,其反复算出与寄存器2A中所写入的数据的检查用指标的期待值相对应的现状值;现状值存储部2E,把每次由现状值算出部2D算出的检查用指标的现状值,进行更新存储;以及一致不一致判定部(2G,每次由现状值算出部2D算出检查用指标的现状值后,所述一致不一致判定部2G就对所算出的检查用指标的现状值与期待值的一致不一致进行判定,并将其判定结果作为第i判定结果写入至错误检测寄存器2H,运算处理部⑴读出错误检测寄存器2H中所写入的第1判定结果以及现状值存储部2E中所存储的检查用指标的现状值中的至少一方。[0012]在本发明中,当从运算处理部⑴送来的数据被写入至寄存器2A时,算出用以检测该寄存器2A中所写入的数据的异常的检查用指标的期待值CRC期待值)。继而,在算出该检查用指标的期待值后,反复算出与寄存器2A中所写入的数据的检查用指标的期待值相对应的现状值CRC现状值),并将该所算出的检查用指标的现状值更新存储覆盖至现状值存储部2E。此外,每当重复检查用指标的现状值的算出时,就判定所算出的检查用指标的现状值与期待值的一致不一致,并将其判定结果作为第丨判定结果而写入至错误检测寄存器2H。[0013]运算处理部(1根据错误检测寄存器2H中所写入的第1判定结果以及利用现状值f储部2E中所存储的检查用指标的现状值而获得的第2判定结果,检测寄存器2A中所写入的数据的异常。例如,在第1判定结果为“一致”且第2判定结果也为“一致,,的情况下,判断寄存器2A中所写入的数据正常,在其他情况下判断为异常。[0014]在本发明中,运算处理部(1读出错误检测寄存器2H中所写入的第1判定结果以及现状值存储部2E中所存储的检查用指标的现状值中的至少一方。由此,例如,可利用现状值存储部2E中所存储的检查用指标的现状值来获得第2判定结果,从而根据利用该检查用指标的现状值而获得的第2判定结果和错误检测寄存器2H中所写入的第1判定结果来检测寄存器2A中所写入的数据的异常。[0015]在该情况下,利用从现状值存储部(2E中读出的检查用指标的现状值来获得第2判定结果,例如,定期地读出现状值存储部2©中所存储的检查用指标的现状值,将从该现状值存储部2E中读出的最初的检查用指标的现状值作为运算处理部(1侧的期待值,之后,每当从现状值存储部2E读出检查用指标的现状值时,就判定该读出的检查用指标的现状值与运算处理部1侧的期待值的一致不一致,将其判定结果作为第2判定结果。[0016]此外,在该情况下,根据第1判定结果和第2判定结果来检测寄存器2A中所写入的数据的异常,但也可仅利用第1判定结果来检测寄存器2A中所写入的数据的异常,并且,也可仅利用第2判定结果来检测寄存器2A中所写入的数据的异常。例如,可选择第1、第2、第3方式作为寄存器的异常检测方式,在选择第1方式的情况下,仅利用第1判定结果来检测异常,在选择第2方式的情况下,仅利用第2判定结果来检测异常,在选择第3方式的情况下,根据第1判定结果和第2判定结果来检测异常。[0017]此外,在本发明中,错误检测寄存器2H中所写入的第1判定结果可由运算处理部1定期地读出,也可包含在带校验和的SPISerialPeripheralInterface串行外设接口)访问的响应字节中等、包含在通信协议中而送至运算处理部1。[0018]再者,在上述说明中,作为一例,通过带括号的参考符号来表示了与发明的构成要素相对应的附图上的构成要素。【发明的效果】[0019]根据本发明,由于读出错误检测寄存器中所写入的第1判定结果以及现状值存储部中所存储的检查用指标的现状值中的至少一方,因此,例如利用现状值存储部中所存储的检查用指标的现状值来获得弟2判定结果,并根据利用该检查用指标的现状值而获得的第2判定结果和错误检测寄存器中所写入的第1判定结果来检测寄存器中所写入的数据的异常等,从而可在不使用高处理能力的CPU的情况下提高异常检测的可靠性。附图说明[0020]图1为表示本发明的实施方式的寄存器异常检测装置的要部的构成的图。图2为该寄存器异常检测装置中的CRC值算出部的内部的状态机图。图3为表示由CRC值算出部进行的动作的时序图。图4为将1C侧的处理功能块化而得的图。图5为表示1C侧的处理的流程图。图6为表示PU侧的处理的流程图。图7为表示选择第1方式的情况下的、在PU侧进行的处理的流程图。图8为表示选择第2方式的情况下的、在PU侧进行的处理的流程图。图9为表示将错误检测寄存器的值包含在带校验和的SPI访问的响应字节中的例子的图。具体实施方式[0021]下面,根据附图,对本发明的实施方式进行详细说明。图1为表示本发明的实施方式的寄存器异常检测装置100的要部的构成的图。[0022]图1中,1为CPU运算处理部),2为1C。在1C2中设置有数据接收电路21、命令控制部22、数据发送电路23及内部寄存器24。在内部寄存器24中设置有CRC值算出对象寄存器24-l、CRC值算出非对象寄存器24-2、CRC值算出部24-3及错误检测寄存器24-4。[0023]在该寄存器异常检测装置100中,从CPU1送来的数据被数据接收电路21接收,经串并行转换后,经由命令控制部22而送至内部寄存器24,被写入至CRC值算出对象寄存器24-1。[0024]在内部寄存器24中,CRC值算出部24-3算出CRC值算出对象寄存器24-1中所写入的数据的CRC期待值及CRC现状值,并判定算出的CRC现状值与CRC期待值的一致不一致,将其判定结果写入至错误检测寄存器24-4。[0025]此外,X寸CRC值算出非对象寄存器24-2写入由CRC值算出部24-3算出的CRC现状值。通过CPU1而定期地读出该CRC值算出非对象寄存器24-2中所写入的CRC现状值以及错误检测寄存器24-4中所写入的判定结果。[0026]再者,图1中,CS为片选信号,SCLK为串行时钟信号,MISOMasterInSlaveOut为主入从出信号,MOSIMasterOutputSlaveI叩ut为主出从入信号,REG_ERR_DET为从错误检测寄存器24-4中读出的异常检测状态判定结果)。[0027]图2表示CRC值算出部24-3的内部的状态机图。在CRC算出启用为有效的情况下,CRC值算出部24-3反复算出CRC值算出对象寄存器24-1中所写入的数据的CRC的现状值CRC现状值)(状态S1并反复比较算出的CRC现状值与CRC期待值状态S2,当从CPU1接收到CRC期待值算出命令时,开始CRC期待值的算出(状态S3。当完成CRC期待值的算出时,清除错误检测寄存器24-4的值而设为“0”(状态S4,反复算出CRC现状值状态S1。[0028]当在该CRC现状值的算出的重复中因噪声等异常而导致CRC值算出对象寄存器24-1中所写入的数据的值发生改写而产生CRC现状值与CRC期待值的不一致时,CRC值算出部24-3对错误检测寄存器24-4的值设置“1”。[0029]根据该状态机图可知,CRC值算出部24-3每当重复CRC现状值的算出时,就判定算出的CRC现状值与CRC期待值的一致不一致,并将其判定结果写入至错误检测寄存器24-4。[0030]在本实施方式中,错误检测寄存器24-4的值最初设为“0”,当CRC现状值与CRC期待值之间发生不一致时,该错误检测寄存器24-4的值被重写为“1”。即,在CRC现状值与CRC期待值的一致不一致的判定结果为“一致”的情况下,错误检测寄存器24-4的值异常检测状态被设为“0”,在“不一致”的情况下被设为T。在“一致”的情况下,错误检测寄存器24-4的值不会被重写,但就结果而言可以说写入的是“0”。[0031]再者,图2中,“IDLE”表示初始状态状态SO,“CALC”表示进行CRC现状值的算出的状态状态SI,“RESULT”表示进行CRC现状值与CRC期待值的比较的状态(状态S2,“REF—CALC”表示进行CRC期待值的算出的状态状态S3,“REF_RESULT”表示进行异常检测状态的清除的状态状态S4。[0032]此外,在图2中,在状态S1下反复算出CRC现状值,而每当算出该CRC现状值时,就会更新存储覆盖至CRC值算出非对象寄存器24-2。此外,在状态S3下算出CRC期待值,而该CRC期待值仅通过CRC期待值算出命令求出1次,并存储至CRC值算出部24-3内的存储器。[0033]在图1中,CPU1定期地读出错误检测寄存器24-4中所写入的判定结果以及CRC值算出非对象寄存器24-2中所存储的CRC现状值。继而,根据该读出的判定结果第1判定结果)以及利用CRC现状值而获得的判定结果第2判定结果来检测CRC值算出对象寄存器24-1中所写入的数据的异常。例如,在第i判定结果为“一致”且第2判定结果也为“一致”的情况下,判断CRC值算出对象寄存器24-1中所写入的数据正常,在其他情况下判断为异常。[0034]在本实施方式中,CPU1可从1C2中读出的CRC值仅为CRC现状值。即,CPU1应是求出CRC值算出对象寄存器24-1中所写入的数据的CRC期待值与从1C2中读出的CRC现状值的一致不一致的判定结果作为利用CRC现状值而获得的判定结果第2判定结果),但CRC值算出部24-3中所算出的CRC期待值无法读出。[0035]在该情况下,虽然也可在CPU1侧求出写入至CRC值算出对象寄存器24-1的数据的CRC期待值,但CPU1的处理负荷会增加。因此,在本实施方式中,在CPU1中将从CRC值算出非对象寄存器24-2中读出的最初的CRC现状值CRC期待值算出命令发布后的最初的CRC现状值作为CPU1侧的CRC期待值,之后,每当从CRC值算出非对象寄存器24-2中读出CRC现状值时,判定该读出的CRC现状值与CPU1侧的CRC期待值的一致不一致,将其判定结果作为利用CRC现状值而获得的判定结果第2判定结果)。[0036]图3表示由CRC值算出部24-3进行的动作的时序图。该图中,(a〜⑹为CRC值算出部24-3的输入输出信号,⑴、(j为CRC值算出部24-3的内部信号。[0037]当CRC值算出部24-3从CPU1接收到CRC期待值算出命令时(图3的(c所示的点tl,开始CRC期待值的算出(图3的(j所示的点tl。继而,当结束CRC期待值的算出时(图3的(j所示的点t2〜t3,清除错误检测寄存器24-4的值(图3的f所示的点t2〜t3,开始CRC现状值的算出(图3的j所示的点t3。[0038]CRC值算出部24-3每当算出CRC现状值时,就进行与CRC期待值的比较,当确认所算出的CRC现状值与CRC期待值的不一致时(图3的(j所示的点t4〜t5,将错误检测寄存器24-4的值异常检测状态设为“1”(图3的g所示的点t4〜t5。[0039]再者,在该由CRC值算出部24-3进行的处理动作中,CRC期待值的算出所需的时间CRC期待值算出期间)TA与CRC现状值的算出所需的时间(CRC现状值算出期间)TB相同。例如,当CRC值算出对象寄存器24-1为60字节、以一次1字节的方式进行CRC算出时,CRC的算出所需的时间为60循环。[0040]图4为将上述1C2侧的处理功能块化而得的图。1C2包括寄存器2A、数据写入部2B、CRC期待值算出部2C、CRC现状值算出部2D、CRC现状值存储部2E、CRC期待值存储部2F、一致不一致判定部2G及错误检测寄存器2H。[0041]再者,在该功能框图中,寄存器2A相当于图1中的CRC值算出对象寄存器24-1,CRC现状值存储部2E相当于CRC值算出非对象寄存器24-2,错误检测寄存器2H相当于错误检测寄存器24-4。此外,CRC期待值算出部2C、CRC现状值算出部2D、CRC期待值存储部2F及一致不一致判定部2G对应于CRC值算出部24-3内的处理功能。[0042]此外,在该功能框图中,CRC期待值算出部2C与CRC现状值算出部2D是分为2个部分来表示,以区别其处理功能,但在硬件上并非作为不同电路而存在,而是设为共用的电路同一电路)。即,在该共用的电路中,将接收到CRC期待值算出命令之后算出的CRC值判断为CRC期待值而存储至CRC期待值存储部2F,将这以外的时间内算出的CRC值作为CRC现状值而存储至CRC现状值存储部2E。也就是说,CRC期待值的生成和CRC现状值的生成是利用完全相同的计算式来算出,因此无须以不同电路的形式存在。若是同时算出CRC期待值和CRC现状值,则必须准备成不同电路,但在该例中,CRC期待值与CRC现状值的算出是以排他方式执行。当然,虽然会成为重复的构成,但也可将算出CRC期待值与CRC现状值的电路准备成不同电路。[0043]在该1C2中,数据写入部2B接收来自CPU1的寄存器写入命令数据+命令),对寄存器2A写入来自CPU1的数据。CRC期待值算出部2C接收来自CTO1的CRC期待值算出命令,算出寄存器2A中所写入的数据的CRC期待值。CRC期待值存储部2F存储由CRC期待值算出部2C算出的CRC期待值。[0044]在由CRC期待值算出部况算出CRC期待值后,CRC现状值算出部2D反复算出与寄存器2A中所写入的数据的CRC期待值相对应的CRC现状值。每当由CRC现状值算出部2D算出CRC现状值时,CRC现状值存储部2E就更新存储所算出的CRC现状值。[0045]每当由CRC现状值算出部2D算出CRC现状值时,一致不一致判定部2G就判定所算出的CRC现状值与CRC期待值的一致不一致,并将其判定结果(“〇”“〇作为第丨判定结果而写入至错误检测寄存器別。再者,每当CRC期待值算出部2C中的CRC期待值的算出完成时,就清除错误检测寄存器2H中所写入的值。[0046]图5为表示上述1C2侧的处理的流程图。当数据写入部2B从CPU1收到寄存器写入命令时步骤S101的“是”),就对寄存器2A写入数据步骤S102。当CRC期待值算出部2C在寄存器写入命令的发布后从CPU1收到CRC期待值算出命令时步骤S103的“是,,),就算出CRC期待值(步骤S104。此外,在该CRC期待值的算出后,清除错误检测寄存器2H的值(步骤S105。[0047]当CRC期待值算出部2C中的CRC期待值的算出完成时,CRC现状值算出部2D就开始CRC现状值的算出(步骤S106。当CRC现状值算出部2〇中的CRC现状值的算出完成时,一致不一致判定部2G就判定该算出的CRC现状值与CRC期待值算出部2C所算出的CRC期待值的一致不一致步骤S107。[0048]每当由CRC现状值算出部2D算出CRC现状值时便重复一致不一致判定部2G中的一致不一致的判定(步骤S101—Sl〇6—S107的重复),在该CRC现状值的算出的重复中获得“不一致”这一判定结果的情况下,一致不一致判定部2G将错误检测寄存器2H的值设为“1”步骤S108。[0049]图6为表示上述CTO1侧的处理的流程图。CPU1在解除1C2的重置后步骤S201,确认是否已对1C2发布了寄存器写入命令步骤S2〇2。当确认对1C2的寄存器写入命令的发布时步骤S202的“是”),对1C2发布CRC期待值算出命令步骤S203。[0050]继而,CPU1等待1C2中CRC值的算出完成步骤S204,并读出CRC现状值存储部2E中所存储的CRC现状值CRC期待值算出命令发布后的最初的CRC现状值),将该读出的CRC现状值作为CPU1侧的CRC期待值加以保存步骤S205。[0051]继而,CPU1读出错误检测寄存器2H中所写入的判定结果第1判定结果)以及CRC现状值存储部2E中所存储的CRC现状值步骤S2〇6,在从错误检测寄存器2H中读出的判定结果第1判定结果)为“0”而且从CRC现状值存储部2E中读出的CRC现状值与步骤S205中所保存的CPU1侧的CRC期待值一致第2判定结果为“0”)的情况下步骤S207的“是”),S卩,在第1判定结果为“一致”且第2判定结果也为“一致”的情况下,判断寄存器2A中所写入的数据正常,返回至步骤S202。[0052]当CPU1对1C2发布1次寄存器写入命令时,重复步骤S202、S206、207的处理直至发布下一寄存器写入命令为止。在该步骤S202、S206、S207的处理的重复中未获得第1判定结果为“一致”且第2判定结果也为“一致”这一结果的情况下(步骤S207的“否”),g卩,在第1判定结果和第2判定结果中的至少一方为“不一致”的情况下,CPU1判断寄存器2A中所写入的数据发生了异常,从而进行异常处理步骤S208。关于该步骤S208中的异常处理的内容,在各系统中确定恰当的方法。[0053]如此,根据本实施方式的寄存器异常检测装置100,在1C2侧的判定结果第1判定结果和CPU1侧的判定结果第2判定结果)均为“一致”的情况下,判断寄存器2A中所写入的数据正常,在其他情况下判断为异常。由此,可在不使用高处理能力的CPU作为CPU1的情况下提高异常检测的可靠性。[0054]再者,虽然上述中省略了说明,但该寄存器异常检测装置100可选择是根据1C2侧的第1判定结果和CPU1侧的第2判定结果来检测寄存器2A中所写入的数据的异常、还是仅利用1C2侧的第1判定结果来检测寄存器2A中所写入的数据的异常、还是仅利用CPU1侧的第2判定结果来检测寄存器2A中所写入的数据的异常。[0055]在该情况下,在选择第1方式作为寄存器的异常检测方式的情况下,CPU1仅利用IC2侧的第1判定结果来检测寄存器2A中所写入的数据的异常,在选择第2方式的情况下,仅利用CPU1侧的第2判定结果来检测寄存器2A中所写入的数据的异常,在选择第3方式的情况下,根据1C2侧的第1判定结果和CPU1侧的第2判定结果来检测寄存器2A中所写入的数据的异常。[0056]图7表示选择第1方式的情况下的、在CPU1侧进行的处理的流程图。在该情况下,CPU1在解除1C2的重置后(步骤S301,确认是否己对1C2发布了寄存器写入命令步骤S302。当确认对1C2的寄存器写入命令的发布时(步骤S302的“是”),对1C2发布CRC期待值算出命令步骤S303。[0057]继而,CPU1等待1C2中CRC值的算出完成步骤S304,并读出错误检测寄存器2H中所写入的判定结果第1判定结果)(步骤S305,在从错误检测寄存器2H中读出的判定结果第1判定结果不为“1”的情况下步骤S306的“否”),g卩,在第1判定结果为“0”的情况下,判定寄存器2A中所写入的数据正常,返回至步骤S302。[0058]当CPU1对1C2发布1次寄存器写入命令时,重复步骤S3〇2、S305、S306的处理直至发布下一寄存器写入命令为止。在该步骤S302、S305、S306的处理的重复中第1判定结果为“1”的情况下(步骤S306的“是”),g卩,在第1判定结果为“不一致”的情况下,CPU1判断寄存器2A中所写入的数据发生了异常,从而进行异常处理步骤S307。关于该步骤S307中的异常处理的内容,在各系统中确定恰当的方法。[0059]图8表示选择第2方式的情况下的、在CPU1侧进行的处理动作的流程图。在该情况下,CPU1在解除1C2的重置后步骤S401,确认是否已对1C2发布了寄存器写入命令步骤S402。当确认对1C2的寄存器写入命令的发布时步骤S4〇2的“是”),对1C2发布CRC期待值算出命令步骤S403。[0060]继而,CPU1等待1C2中CRC值的算出完成步骤S404,并读出CRC现状值存储部2E中所存储的CRC现状值CRC期待值算出命令发布后的最初的CRC现状值),将该读出的CRC现状值作为CPU1侧的CRC期待值加以保存步骤S405。[0061]继而,CPU1读出CRC现状值存储部况中所存储的CRC现状值(步骤S406,在该从CRC现状值存储部此中读出的CRC现状值与步骤S405中所保存的CPU1侧的CRC期待值一致的情况下(步骤S4〇7的“是”),S卩,在第2判定结果为“一致”的情况下,判断寄存器2A中所写入的数据正常,返回至步骤S402。[0062]当CPU1对1C2发布1次寄存器写入命令时,重复步骤S4〇2、S406、S407的处理直至发布下一寄存器写入命令为止。在该步骤S4〇2、S4〇6、S407的处理的重复中未获得第2判定结果为“一致”这一结果的情况下步骤S407的“否”),S卩,在第2判定结果为“不一致”的情况下,CPU1判断寄存器从中所写入的数据发生了异常,从而进行异常处理步骤S408。关于该步骤S408中的异常处理的内容,在各系统中确定恰当的方法。[0063]在选择第3方式的情况下,进行使用图6而说明过的处理。再者,并非必须设为这种可选择第1、第2、第3方式的构成,也可单独采用第3方式。此外,在本实施方式中,CPU1从1C2中读出异常检测状态及CRC现状值中的至少一方,但该读出的异常检测状态、CRC现状值如何利用是由用户决定的。[0064]此外,在上述实施方式中,对于CRC值的具体算出方法未作叙述,但实际上是使用“CRC-16-CCIITX~16+X~12+X~5+1”作为多项式。当然,也可使用其他多项式(例如,“〇?〇16”、“CRC-32”)来算出CRC值。此外,也可使用“MODBUSASCII”的校验和算出中所使用的“2的补数和的2的补数”等而不使用CRC。[0065]〔衍生效果)在图1中,在动作前必定会对CRC值算出对象寄存器24-1写入任意值,因此,CRC值算出对象寄存器24-1中所写入的数据的CRC现状值在1C2的动作中与初始值不一样。因此,通过在1C2的动作中利用CPU1来监视CRC现状值,可确认是否因噪声等的影响而发生了未预期的重置。即,若发生了重置,则CRC现状值会变为初始值,通过利用这一情况,可确认是否发生了未预期的重置。[0066]此外,在图1中,作为对CPU1的异常通知方法,还有将错误检测寄存器24-4的值包含在通信协议中这一方法。例如,如图9所示,将MIS0信号的“0x04”分配为内部寄存器异常检测,从而将1C内部状态也包含在带校验和的SPI访问的响应中。由此,可降低利用CPU1来轮询错误检测寄存器24-4的频率。[0067]〔实施方式的扩展〕以上,参考实施方式对本发明进行了说明,但本发明并不限定于上述实施方式。可在本发明的技术思想的范围内对本发明的构成、详情进行本领域技术人员可理解的各种变更。符号说明[0068]1CPU运算处理部)21C21数据接收电路22命令控制部23数据发送电路24内部寄存器24-1CRC值算出对象寄存器24-2CRC值算出非对象寄存器24-3CRC值算出部24-4错误检测寄存器2A寄存器2B数据写入部2CCRC期待值算出部2DCRC现状值算出部2ECRC现状值存储部2FCRC期待值存储部2G—致不一致判定部2H错误检测寄存器100寄存器异常检测装置。

权利要求:1.一种寄存器异常检测装置,其包括运算处理部和供写入从该运算处理部送来的数据的寄存器,所述寄存器异常检测装置检测所述寄存器中所写入的数据的异常,该寄存器异常检测装置的特征在于,包括:数据写入部,其将从所述运算处理部送来的数据写入至所述寄存器;期待值算出部,其算出检查用指标的期待值,该检查用指标的期待值用以检测所述寄存器中所与入的数据的异常;现状值算出部,其反复算出与所述寄存器中所写入的数据的所述检查用指标的期待值相对应的现状值;现状值存储部,把每次由所述现状值算出部算出的所述检查用指标的现状值,进行更新存储;以及一致不一致判定部,每次由所述现状值算出部算出所述检查用指标的现状值后,所述一致不一致判定部就对所算出的检查用指标的现状值与所述期待值的一致不一致进行判定,并将其判定结果作为第1判定结果写入至错误检测寄存器,所述运算处理部读出所述错误检测寄存器中所写入的第1判定结果以及所述现状值存储部中所存储的检查用指标的现状值中的至少一方。2.根据权利要求1所述的寄存器异常检测装置,其特征在于,所述运算处理部根据所述错误检测寄存器中所写入的第1判定结果以及利用所述现状值存储部中所存储的检查用指标的现状值而获得的第2判定结果,检测所述寄存器中所写入的数据的异常。3.根据权利要求1所述的寄存器异常检测装置,其特征在于,所述运算处理部定期地读出所述错误检测寄存器中所写入的第1判定结果以及所述现状值存储部中所存储的检查用指标的现状值,根据该读出的第1判定结果以及利用检查用指标的现状值而获得的第2判定结果,检测所述寄存器中所写入的数据的异常。4.根据权利要求3所述的寄存器异常检测装置,其特征在于,所述运算处理部将从所述现状值存储部中读出的最初的检查用指标的现状值作为运算处理部侧的期待值,之后,每次从所述现状值存储部中读出检查用指标的现状值后,就对该读出的检查用指标的现状值与所述运算处理部侧的期待值的一致不一致进行判定,将其判定结果作为所述第2判定结果。5.根据权利要求2〜4中任一项所述的寄存器异常检测装置,其特征在于,在所述第1判定结果为一致且所述第2判定结果也为一致的情况下,所述运算处理部判断所述寄存器中所写入的数据正常,在其他情况下判断为异常。6.根据权利要求1所述的寄存器异常检测装置,其特征在于,在选择第1方式作为所述寄存器的异常检测方式的情况下,所述运算处理部根据所述错误检测寄存器中所写入的第1判定结果,检测所述寄存器中所写入的数据的异常,在选择第2方式作为所述寄存器的异常检测方式的情况下,所述运算处理部根据利用所述现状值存储部中所存储的检查用指标的现状值而获得的第2判定结果,检测所述寄存器中所写入的数据的异常,在选择第3方式作为所述寄存器的异常检测方式的情况下,所述运算处理部根据所述错误检测寄存器中所写入的第1判定结果以及利用所述现状值存储部中所存储的检查用指标的现状值而获得的第2判定结果,检测所述寄存器中所写入的数据的异常。7.根据权利要求1或6所述的寄存器异常检测装置,其特征在于,所述错误检测寄存器中所写入的第1判定结果被包含在通信协议中而送至所述运算处理部。

百度查询: 阿自倍尔株式会社 寄存器异常检测装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。