CN109558277B - 微控制器及其控制方法 - Google Patents

微控制器及其控制方法 Download PDF

Info

Publication number
CN109558277B
CN109558277B CN201811090544.6A CN201811090544A CN109558277B CN 109558277 B CN109558277 B CN 109558277B CN 201811090544 A CN201811090544 A CN 201811090544A CN 109558277 B CN109558277 B CN 109558277B
Authority
CN
China
Prior art keywords
circuit
signal
signal processing
processing circuit
microcontroller
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.)
Active
Application number
CN201811090544.6A
Other languages
English (en)
Other versions
CN109558277A (zh
Inventor
西川卓郎
藤谷诚希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN109558277A publication Critical patent/CN109558277A/zh
Application granted granted Critical
Publication of CN109558277B publication Critical patent/CN109558277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23283Debugging, breakpoint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24093Display, show place of error, fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及微控制器及其控制方法。为了提供抑制调试期间功耗增加的微控制器,根据本发明的微控制器包括第一信号处理电路、以与第一信号处理电路相同的方式执行信号处理的第二信号处理电路、将第一信号处理电路的处理结果与第二信号处理电路的处理结果相互比较并在检测到错误时输出错误信号的比较电路、接收用于抑制第二信号处理电路的操作和比较电路的操作的抑制信号的抑制信号输入单元、接收来自抑制信号输入单元的抑制信号并抑制第二信号处理电路的操作和比较电路的操作的抑制电路、以及当第二信号处理电路的操作和比较电路的操作被抑制时输出伪错误信号代替错误信号的伪错误信号输出电路。

Description

微控制器及其控制方法
相关申请的交叉引用
于2017年9月26日提交的日本专利申请No.2017-184355的公开内容(包括说明书、附图和摘要)通过引用整体并入本文中。
技术领域
本发明涉及微控制器及其控制方法。
背景技术
在用于需要高可靠性的领域中(例如,用于汽车用途)的产品中的半导体器件中,一部分电路会被复制以提高冗余性,从而在一些情况下提高可靠性。采用电路的复制的示例包括微控制器产品,其中半导体器件的CPU(中央处理单元)被复制并且其采用双核锁步(lock-step)法。在双核锁步法中,看起来像单个核但实际上为两个的两个核通过锁步机制链接,并且在确认两个核输出相同结果之后执行操作。通过以这种方式在确认从两个核输出的结果时进行操作,双核锁步法提高了半导体器件的操作可靠性。
日本未经审查的专利申请公开No.2008-518338描述了包括至少两个实现单元的计算机系统中的切换设备。该切换设备设置有开关。开关被配置为使得这些实现单元在至少两种驱动模式之间切换。在这种情况下,第一驱动模式对应于比较模式,并且第二驱动模式对应于执行模式。切换设备设置有中断控制器,并进一步设置有至少三个存储器区域。在这种情况下,对存储器区域的访问被配置为使得:使得第一存储器区域与至少一个第一实现单元相关联,第二存储器区域与至少一个第二实现单元相关联,以及至少一个第三存储器区域与该至少两个实现单元相关联。
发明内容
在包括复制的电路的半导体器件中,最大功耗可能随着复制的电路的功耗的增加而增加。在作为半导体器件之一的微控制器的情况下,功耗例如在所有CPU核以高负载操作并且调试被执行时变得最大。因此,如果重复的是在执行调试时操作的电路,则与相关领域的功耗相比,功耗增加。
但是,在许多情况下,调试在开发阶段执行。当用于大规模产品的外围电路的设计或热设计被执行为适应调试期间的最大功耗时,部件成本、空间等可能变得过大。
根据本说明书的描述和附图,其它目的和新特征将是清楚的。
根据实施例,一种微控制器包括:第一信号处理电路;第二信号处理电路,以与第一信号处理电路相同的方式执行信号处理;比较电路,将第一信号处理电路的处理结果与第二信号处理电路的处理结果相互比较,并当检测到错误时输出错误信号;抑制信号输入单元,其接收用于抑制第二信号处理电路的操作和比较电路的操作的抑制信号;抑制电路,其接收来自抑制信号输入单元的抑制信号,并抑制第二信号处理电路的操作和比较电路的操作;以及伪错误信号输出电路,当第二信号处理电路的操作和比较电路的操作被抑制时,该伪错误信号输出电路输出伪错误信号来代替错误信号。
根据实施例,一种微控制器的控制方法,该微控制器包括第一信号处理电路、以与第一信号处理电路相同的方式执行信号处理的第二信号处理电路、以及将第一信号处理电路的处理结果与第二信号处理电路的处理结果相互比较并且当检测到错误时输出错误信号的比较电路,该方法包括:接收调试开始信号;响应于调试开始信号,抑制第二信号处理电路的操作和比较电路的操作;以及在第二信号处理电路的操作和比较电路的操作被抑制之后,输出伪错误信号来代替错误信号。
根据前述实施例,能够提供抑制调试期间的功耗的增加的微控制器。
附图说明
图1是根据第一实施例的微控制器的示意配置图。
图2是根据第一实施例的中央处理单元110及其周围部分的框图。
图3是在正常操作模式下微控制器的启动序列的流程图。
图4是根据第一实施例的中央处理单元110及其周围部分的框图。
图5是在调试模式下微控制器的启动序列的流程图。
图6是根据第一实施例的修改例的微控制器的框图。
图7是根据第二实施例的微控制器的框图。
具体实施方式
下面参考附图描述实施例。由于附图是简化的附图,因此实施例的技术范围不应该被解释为基于附图的说明而更窄。相同的组件用相同的附图标记来标记,并且省略了冗余的描述。
为了方便起见,如果需要,以下实施例将被分成多个部分或实施例进行描述。但是,除非另有说明,否则它们不是彼此独立的,而是处于使得一个是另一个的一部分或全部的修改、应用、详细说明、补充说明等等这样的关系。此外,在以下实施例中,当对要素的数字等(包括数值、量、范围等)进行参考时,元件的数字不限于特定数字,而是可以为特定数字或更多或更少,除非另有说明,或者除了该数字原则上明显限于特定数字的情况之外,或者除了其它情况之外。
此外,在以下实施例中,构成元件(包括操作步骤等)并不总是必要的,除非另有说明,或者除了该构成元件原则上显然被认为必要的情况之外,或者除了其它情况之外。类似地,在以下实施例中,当参考构成元件等的形状、位置关系等时,应该理解它们包括与形状等基本类似或相似的那些,除非另有说明,或者除非原则上另有明确考虑,或者除了其它情况之外。这些对于前述数字等也是相同的(包括数值、量、范围等)。
为了使得说明清楚,适当地在以下描述和附图中进行了省略和简化。作为执行各种处理的功能块在附图中示出的每个元件如果由硬件实现则可以由CPU、存储器或其它电路进行配置,并且如果由软件实现则可以通过加载到存储器的程序来实现。因此,本领域技术人员将理解,这些功能块可以以各种方式仅由硬件、仅由软件或由硬件和软件的组合来实现,并且这些组件的实现不限于它们中的任何一个。在所有附图中,相同的元件用相同的附图标记来标记,并且根据需要省略冗余的描述。
第一实施例
下面参考图1至图5描述第一实施例。
首先,描述作为示例的图1中所示的微控制器。图1是根据第一实施例的微控制器的示意配置图。微控制器100是用于控制各种系统的控制IC。要控制的系统的示例包括用于汽车的动力传动系统、空气控制系统和自动驾驶系统。微控制器100包括中央处理单元110、DMA控制单元120、接口单元130和存储单元150作为主要组件。上述主要组件中的每个都耦接到主总线141和检验器总线142。
中央处理单元110具有对接收到的信号执行诸如计算的处理并输出经处理的信号的计算功能。中央处理单元110包括主核111、检验器核113和自诊断控制单元112和114。
主核111是用于实现中央处理单元110的计算功能的计算单元。检验器核113具有与主核111相同的电路配置。因此,主核111和检验器核113对于相同的输入信号输出相同的计算结果。中央处理单元110将相同的信号输入到主核111和检验器核113中的每一个,并将分别从这些核输出的计算结果相互比较,从而确保主核111正常操作。
计算单元可以是所谓的CPU或GPU(图形处理单元)。计算单元也可以被称为信号处理电路。即,中央处理单元110包括作为第一信号处理电路的主核和作为第二信号处理电路的检验器核。
自诊断控制单元112实现诊断主核111的操作是否正常执行的功能的一部分。作为具体示例,自诊断控制单元112将预设的检验输入信号输入到主核111。然后,自诊断控制单元112接收作为来自主核111的检验输入信号的计算结果的检验输出信号,并将接收到的检验输出信号存储在其中。
对于检验器核113,自诊断控制单元114具有与上述自诊断控制单元112相同的功能。作为具体示例,自诊断控制单元114将预设的检验输入信号输入到检验器核113。然后,自诊断控制单元114接收作为来自检验器核113的检验输入信号的计算结果的检验输出信号,并将接收到的检验输出信号存储在其中。
中央处理单元110通过将分别存储在自诊断控制单元112和114中的检验输出信号相互比较来诊断主核111是否正常操作。中央处理单元110包括主核111和具有与主核111相同的电路配置的检验器核113,从而提高了主核111的操作可靠性。
DMA控制单元120具有DMA(直接存储器访问)功能,其使得不经由中央处理单元110访问存储器中的数据。DMA控制单元120包括主核121、检验器核123和自诊断控制单元122和124。主核121是用于实现DMA功能的电路。即,例如,主核121在存储单元150和未示出的定时器单元、AD(模拟到数字)转换器或DA(数字到模拟)转换器的输入/输出单元之间执行数据传输。
检验器核123具有与主核121相同的电路配置。因此,主核121和检验器核123对于相同的输入信号输出相同的信号。DMA控制单元120将相同的信号输入到主核121和检验器核123中的每个,并将分别从这些核输出的信号相互比较,从而确保主核121正常操作。
自诊断控制单元122和124具有与包括在中央处理单元110中的自诊断控制单元112和114相同的功能。因此,这里省略了详细描述。DMA控制单元120包括主核121和具有与主核121相同的电路配置的检验器核123,从而提高了主核121的操作可靠性。
接口单元130从/向微控制器100的外部接收/发送信号。例如,接口单元130具有车载LAN(诸如CAN(控制器区域网络)、FlexRay或以太网(注册商标)),或用于系统开发的接口(诸如JTAG(联合测试行动组))。
存储单元150是微控制器100的主存储单元,并且包括例如被称为RAM(随机存取存储器)的易失性存储单元。存储单元150耦接到主RAM控制单元151和检验器RAM控制单元152。
如上所述,微控制器100中的主要组件是复制的。通过复制组件,微控制器100提高了操作可靠性。
接下来,参考图2描述微控制器100的功能。图2是根据第一实施例的中央处理单元110及其周围部分的框图。
在描述微控制器100的功能之前,描述图2中所示的微控制器100的配置。除了中央处理单元110之外,微控制器100还包括调试电路160和调试端子170。
除了参考图1描述的主核111、检验器核113以及自诊断控制单元112和114之外,中央处理单元110还包括延迟电路115和116、比较电路117和抑制电路118。
延迟电路115和116是各自延迟接收到的信号并输出它的电路。延迟电路115和116各自由例如由级联连接的触发器(flip-flop)电路配置的电路实现。因为延迟电路115和116具有彼此相同的电路配置,所以延迟输入信号的时间被设置为彼此相等。延迟电路115耦接到检验器核113的输入级。延迟电路116耦接到主核111的输出级。因此,包括在中央处理单元110中的主核111和检验器核113形成时钟延迟双核锁步法的配置。
自诊断控制单元112包括寄存器112a和寄存器112b。寄存器112a和寄存器112b用在系统启动时操作的自诊断中。作为图2中的示例示出的寄存器112a的寄存器地址是地址REG_A0。类似地,寄存器112b的寄存器地址是地址REG_B0。自诊断控制单元112具有输出端60。自诊断控制单元112被设置为当预设值被输入到自诊断控制单元112时将伪错误信号输出到输出端60。伪错误信号是与从比较电路117输出的错误信号相同的信号。
自诊断控制单元114包括寄存器114a和寄存器114b。寄存器114a和寄存器114b用在系统启动时操作的自诊断中。作为图2中的示例示出的寄存器114a的寄存器地址是地址REG_A1。类似地,寄存器114b的寄存器地址是地址REG_B1。
自诊断控制单元112的寄存器112a和自诊断控制单元114的寄存器114a的寄存器地址彼此不同。但是,相同的值被写入到作为寄存器组A的寄存器112a和寄存器114a。类似地,相同的值被写入到作为寄存器组B的寄存器112b和寄存器114b。要写入到寄存器组A的值和要写入到寄存器组B的值被设置为彼此不同。
比较电路117将从主核111接收到的信号与从检验器核113接收到的信号相互比较,并将比较结果输出到输出端20。例如,当从主核111接收到的信号和从检验器核113接收到的信号彼此相同时,比较电路117输出指示操作正常的正常信号作为比较结果。同时,当从主核111接收到的信号和从检验器核113接收到的信号彼此不相同时,比较电路117输出指示发生异常的错误信号。
抑制电路118从调试端子170接收调试开始信号。在接收到调试开始信号时,抑制电路118抑制中央处理单元110的组件中的预设电路的操作。这里,抑制电路的操作意味着例如停止供电以防止预设电路执行正常功能或停止输入信号以防止当前电路输出预定信号。
调试电路160诊断主核111的操作是否异常。例如,调试电路160使得发生预设的诊断输入信号,并将其输入到主核111。然后,调试电路160接收从主核111输出的诊断输出信号,并将其对着预先存储的预期值进行检验。根据检验结果,调试电路160确定主核111是否正常。调试电路160耦接到主核111和调试端子170。此外,调试电路160具有输出端40并将调试结果输出到输出端40。
调试端子170是用于当微控制器100被调试时经由输入端50从外部接收信号的端子。调试端子170从用于调试的外部设备(例如计算机)接收调试开始信号,并将接收到的调试开始信号输出到微控制器100的内部。调试端子170耦接到中央处理单元110和调试电路160。
接下来,通过具体示例描述微控制器100的功能。微控制器100具有通过时钟延迟的双核锁步法诊断主核111的操作是否正常的功能。
下面描述中央处理单元110的功能的示例。例如,中央处理单元110从输入端10接收给定的输入信号。接收到的输入信号被输入到主核111和检验器核113中的每个。然后,主核111和检验器核113各自输出处理结果到比较电路117。比较电路117将两个信号相互比较,并当主核111和检验器核113已输出相同的处理结果时输出正常信号。可替代地,比较电路117不输出错误信号。在这种情况下,从主核111输出到输出端30的信号继续作为正常操作被处理。
同时,当主核111和检验器核113并未输出相同的处理结果时,比较电路117输出错误信号。在这种情况下,从主核111输出到输出端30的信号不作为正常操作继续被处理,而是经受与发生异常对应的处理。
接下来,参考图2和图3描述在正常操作中系统启动时微控制器100的自诊断功能。微控制器100的自诊断功能将主核111的输出值和检验器核113的输出值设置为彼此不同的值,并诊断出可以检测到错误。
这里描述的正常操作模式是当前模式不是调试模式的情况。即,在正常操作模式下,没有信号输入到调试端子170。此外,自诊断功能是诊断上述时钟延迟双核锁步法是否正常工作的功能。此外,图3中用虚线示出的组件表示,在下面描述的正常操作模式下在系统启动时的微控制器100的自诊断功能中该组件不活动。
图3是在正常操作模式下微控制器的启动的流程图。图3中所示的流程图是微控制器100的启动序列。
首先,当已启动时,微控制器100执行自诊断信号的写入(步骤S10)。具体而言,微控制器100将预设值写入到自诊断控制单元112的寄存器112a和寄存器112b。同时,微控制器100将预设值写入到自诊断控制单元114的寄存器114a和寄存器114b。
如上所述,写入到自诊断控制单元112的寄存器112a的值和写入到自诊断控制单元114的寄存器114a的值彼此相同。此外,写入到自诊断控制单元112的寄存器112b的值和写入到自诊断控制单元114的寄存器114b的值彼此相同。但是,微控制器100设置为使得:在启动序列中自诊断信号被写入之后,比较电路117在读取自诊断信号并将它们相互比较时输出错误信号。具体而言,作为输出到比较电路117的值,寄存器组A的寄存器112a的值被输出作为主核111侧的输出值。同时,寄存器组B的寄存器114b的值被输出作为检验器核113侧的输出值。以这种方式,设置以在正常操作中在启动序列中不同的值被输出到比较电路117的方式执行。在比较电路117输出错误信号的情况下,确定时钟延迟双核锁步法正常工作。
以上设置仅仅是示例。微控制器的配置不限于上述配置,只要设置以主核111的输出和检验器核113的输出彼此不同的方式执行即可。
下面通过更具体的示例描述自诊断功能。例如,微控制器100将“0xAA”写入到寄存器112a和寄存器114a中的每个,并将“0X55”写入到寄存器112b和寄存器114b中的每个作为自诊断信号(步骤S10)。
然后微控制器100读出写入的自诊断信号(步骤S11)。具体而言,例如,主核111读出写入到自诊断控制单元112的寄存器112a的值“0xAA”,并将其输出到比较电路117。同时,检验器核113读出写入到自诊断控制单元114的寄存器114b的值“0x55”,并将其输出到比较电路117。
随后,比较电路117将分别从主核111和检验器核113输出的自诊断信号相互比较。然后,比较电路117确定是否发生错误(步骤S12)。当分别从主核111和检验器核113输出的值不相同时,比较电路117确定发生了错误。同时,当分别从主核111和检验器核113输出的值彼此相同时,比较电路117没有确定发生错误。
在其中比较电路117比较自诊断信号并确定发生错误的情况下(步骤S12中的是),比较电路117将错误信号输出到输出端20(步骤S13)。在其中比较电路117通过自诊断功能输出错误信号的情况下,上述时钟延迟双核锁步法正常工作。在这种情况下,微控制器100的启动序列正常结束并且微控制器100进入到下个序列。
在上述示例中,比较电路117将寄存器112a的值“0xAA”与寄存器114b的值“0x55”相互比较。寄存器112a的值“0xAA”和寄存器114b的值“0x55”彼此不同。因此,在其中上述时钟延迟双核锁步法正常工作的情况下,比较电路117输出错误信号。
在比较电路117比较自诊断信号并且没有确定发生错误的情况下(步骤S12中的否),比较电路117将正常信号输出到输出端20(步骤S13)。在比较电路117通过自诊断功能输出正常信号的情况下,上述时钟延迟双核锁步法不能正常工作。在这种情况下,在上述时钟延迟双核锁步法中发生异常,并且因此微控制器100异常结束(步骤S15)。
接下来,参考图4描述在调试模式下主要功能块的操作。图4是根据第一实施例的中央处理单元110及其周围部分的框图。在图4中,调试端子170从用于调试的外部设备(例如计算机)接收调试开始信号,并将接收到的调试开始信号输出到微控制器100的内部。
调试开始信号经由调试端子170输出到包括在中央处理单元110中的抑制电路118和微控制器100中的调试电路160。
已经从调试端子170接收到调试开始信号的调试电路160基于预设处理执行微控制器100的调试处理。调试处理的具体内容与本实施例无关,而是一般技术。因此,这里省略了详细描述。
已经从调试端子170接收到调试开始信号的抑制电路118抑制预设电路的操作。具体而言,抑制电路118停止延迟电路115和116、检验器核113、自诊断控制单元114和比较电路117的操作。以这种方式,微控制器100停止时钟延迟双核锁步法的功能。即,当调试模式开始时,检验器核113不输出信号。此外,比较电路117不从输出端20输出信号。图4中用虚线所示的组件表示其操作被抑制电路118抑制的状态。
同时,当在调试模式下时钟延迟双核锁步法的功能被停止时,自诊断控制单元112将预设的伪错误信号输出到输出端60。通过由自诊断控制单元112输出伪错误信号,微控制器100可以在调试模式下完成启动序列并且可以进行到下一个处理。
此外,由于时钟延迟双核锁步法的功能的停止,所以微控制器100的功耗在调试模式下减少了与时钟延迟双核锁步法的功能的停止对应的量。但是,在调试模式下,调试电路启动。因此,与正常操作模式相比,微控制器100的功耗增加了与调试电路的启动对应的量,并且减少了与时钟延迟双核锁步法的功能的停止对应的量。
接下来,参考图5描述在调试模式下启动时的处理。图5是在调试模式下微控制器的启动序列的流程图。
首先,当微控制器100启动时,抑制电路118和调试电路接收调试开始信号(步骤S20)。因此,微控制器100开始与调试模式相关联的处理。
然后,抑制电路118响应于接收到的调试开始信号而抑制预设电路的操作,如参考图4所述(步骤S21)。因此,时钟延迟双核锁步法的功能停止。
接下来,微控制器100执行自诊断信号的写入(步骤S22)。具体而言,微控制器100将预设值写入到自诊断控制单元112的寄存器112a和寄存器112b。
随后,微控制器100读出写入的自诊断信号(步骤S23)。具体而言,主核111读出写入到自诊断控制单元112的寄存器112a和寄存器112b的值。
然后,自诊断控制单元112输出伪错误信号(步骤S24)。在调试模式的启动序列中,自诊断控制单元112被设置为在主核111执行读取之后输出伪错误信号。例如,自诊断控制单元112可以被设置为响应于来自抑制电路118的信号和寄存器112a或寄存器112b的读取操作而输出伪错误信号。
当自诊断控制单元112输出伪错误信号时,通过自诊断功能,以与上述时钟延迟双核锁步法正常工作的情况下相同的方式执行处理。在这种情况下,微控制器100的调试模式的启动序列正常结束,并且微控制器100进入到下一个序列。
通过上述配置,第一实施例可以提供抑制调试期间功耗增加的微控制器。
第一实施例的修改例
接下来,描述第一实施例的修改例。如图1所示,微控制器100包括DMA控制单元120。在DMA控制单元120中,如在中央处理单元110中那样复制电路。时钟延迟双核锁步法应用于复制的电路。即,DMA控制单元120包括作为第一信号处理电路的主核和作为第二信号处理电路的检验器核。
图6是根据第一实施例的修改例的微控制器的框图。通过将与第一实施例中参考图2至图5描述的配置相同的配置应用于DMA控制单元120来获得根据第一实施例的修改例的微控制器200。即,根据第一实施例的修改的DMA控制单元120包括主核121、检验器核123、自诊断控制单元122和124、延迟电路115和116、比较电路127和抑制电路128作为主要组件。除了主核121和检验器123之外,各个组件的功能与第一实施例中描述的对应组件的功能相同。因此,省略其详细描述。
通过这种配置,第一实施例的修改例能够提供抑制调试期间的功耗增加的微控制器。
应该注意的是,第一实施例的配置和第一实施例的修改例的配置不是相互排斥的。即,微控制器100或微控制器200可以彼此分开地包括在第一实施例中描述的中央处理单元110和在第一实施例的修改例中描述的DMA控制单元120或者可以同时包括两者。此外,在存在每个都对应于中央处理单元110的多个计算单元的情况下,相同的配置可以应用于所有这些计算单元。此外,除了中央处理单元110和DMA控制单元120之外,具有双核锁步法的功能的任何重复组件可以具有与上述那些相同的配置和有益效果。
根据第一实施例的微控制器100和200采用具有延迟电路的时钟延迟双核锁步法。但是,也可以采用不具有延迟电路的双核锁步法。
第二实施例
接下来,以下参考图7描述第二实施例。图7是根据第二实施例的微控制器的框图。图7中所示的微控制器300与根据第一实施例的微控制器100的不同之处在于用于抑制时钟延迟双核锁步法的功能的配置。
下面描述与第一实施例的配置不同的配置。图7中所示的微控制器300包括电源切断电路310。电源切断电路310具有通过接收预设信号而切断电路310所耦接的电路的电源的功能。
描述了作为示例的图7中示出的电源切断电路310的细节。电源切断电路310具有MOSFET(金属氧化物半导体场效应晶体管)。MOSFET布置在检验器核113、自诊断控制单元114、延迟电路115和116以及比较电路117的GND线中。此外,电源切断电路310接收从调试端子170输出的信号。从调试端子170输出的信号耦接到电源切断电路310的MOSFET的栅极。电源切断电路310的MOSFET是所谓的n型的MOSFET。因此,电源切断电路310通过接收来自调试端子170的调试开始信号而断开电路310所耦接到的检验器核113、自诊断控制单元114、延迟电路115和116以及比较电路117的GND连接。因此,电源切断电路310可以停止向电路310所耦接到的检验器核113、自诊断电路114、延迟电路115和116以及比较电路117供电。
通过以这种方式停止向操作被抑制的电路供电,微控制器300可以减少在调试期间操作被抑制的电路的漏电流。因此,根据第二实施例的微控制器300可以提供抑制调试期间功耗增加的微控制器。
图示的电源切断电路310的配置是主要部分的配置示例。具体的电路配置不限于图7中所示的配置。
微控制器300可以包括多个复制电路,该多个复制电路通过复制上述预定电路块和与复制电路相关联的多个电源切断电路而获得。在这种情况下,电源切断电路各自切断作为复制电路的一部分的电路块的电力。在这种情况下,微控制器300可以响应于调试开始信号同时启动这些电源切断电路,并且可以停止作为复制电路的一部分的电路块的操作。
此外,微控制器300可以以逐步的方式停止电源切断电路,该电源切断电路停止作为复制电路的部分的电路块的操作。在这种情况下,例如,微控制器300可以在调试处理期间根据微控制器300的操作参数停止预设电路块的操作。例如,操作参数是温度、电流值、电压值或功耗或其组合。在这种情况下,被停止的电路块的电路可以通过上述输出伪错误信号的功能来处理检验复制电路的操作。以这种方式,微控制器300可以继续调试处理。
此外,微控制器300可以根据微控制器300的功耗的值以逐步的方式停止电路块的操作。即,微控制器300可以监视上述操作参数中的预设操作参数,并且当所监视的操作参数超过预设阈值时,可以以逐步的方式停止电路块的操作。通过采用这种配置,能够抑制调试状态下的功耗的增加和温度的增加。
在上文中,已经通过实施例具体描述了由本申请的发明人做出的发明。但是,自然地,应该理解的是,本发明不限于上述实施例,并且可以在不脱离其主旨的范围内以各种方式进行改变。

Claims (10)

1.一种微控制器,包括:
第一信号处理电路;
第二信号处理电路,以与所述第一信号处理电路相同的方式执行信号处理;
比较电路,将所述第一信号处理电路的处理结果与所述第二信号处理电路的处理结果相互比较,并在检测到错误时输出错误信号;
抑制信号输入单元,接收用于抑制所述第二信号处理电路的操作和所述比较电路的操作的抑制信号;
抑制电路,接收来自所述抑制信号输入单元的所述抑制信号,并抑制所述第二信号处理电路的操作和所述比较电路的操作,以及
伪错误信号输出电路,当所述第二信号处理电路的操作和所述比较电路的操作被抑制时,输出伪错误信号来代替所述错误信号,
其中,当所述比较电路的操作被抑制时,切断所述比较电路的电源。
2.如权利要求1所述的微控制器,还包括通过从外部接收调试开始信号来执行调试处理的调试电路,
其中,所述抑制信号被包括在所述调试开始信号中。
3.如权利要求2所述的微控制器,
其中,当接收到所述抑制信号并且检测到在启动时从所述第一信号处理电路输出的预设读取信号时,所述伪错误信号输出电路输出所述伪错误信号。
4.如权利要求1所述的微控制器,
其中,所述第一信号处理电路包括中央处理单元的主核,以及
其中,所述第二信号处理电路包括所述中央处理单元的检验器核。
5.如权利要求1所述的微控制器,
其中,所述第一信号处理电路包括直接存储器访问控制器的主核,以及
其中,所述第二信号处理电路包括所述直接存储器访问控制器的检验器核。
6.如权利要求1所述的微控制器,
其中,所述第一信号处理电路包括延迟所述第一信号处理电路的输出的第一延迟单元,以及
其中,所述第二信号处理电路包括延迟所述第二信号处理电路的输入的第二延迟单元。
7.如权利要求1所述的微控制器,还包括切断所述第二信号处理电路的电源的电源切断电路,
其中,当抑制所述第二信号处理电路的操作时,通过所述电源切断电路切断所述第二信号处理电路的电源。
8.如权利要求2所述的微控制器,
其中,所述抑制电路还包括单独地抑制多个电路块的操作的电路,以及
其中,所述抑制电路在所述调试处理中根据所述微控制器的功耗单独地抑制电路块的操作。
9.如权利要求2所述的微控制器,
其中,所述抑制电路还包括单独地抑制多个电路块的操作的电路和测量所述微控制器内部的温度或外围部分的温度的温度传感器,以及
其中,所述抑制电路在所述调试处理中根据温度单独地停止电路块的操作。
10.一种微控制器的控制方法,所述微控制器包括第一信号处理电路、以与所述第一信号处理电路相同的方式执行信号处理的第二信号处理电路、以及将所述第一信号处理电路的处理结果与所述第二信号处理电路的处理结果相互比较并在检测到错误时输出错误信号的比较电路,所述方法包括:
接收调试开始信号;
响应于所述调试开始信号,抑制所述第二信号处理电路的操作和所述比较电路的操作;以及
当所述第二信号处理电路的操作和所述比较电路的操作被抑制时,输出伪错误信号来代替所述错误信号,
其中,当所述比较电路的操作被抑制时,切断所述比较电路的电源。
CN201811090544.6A 2017-09-26 2018-09-19 微控制器及其控制方法 Active CN109558277B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017184355A JP2019061392A (ja) 2017-09-26 2017-09-26 マイクロコントローラ及びマイクロコントローラの制御方法
JP2017-184355 2017-09-26

Publications (2)

Publication Number Publication Date
CN109558277A CN109558277A (zh) 2019-04-02
CN109558277B true CN109558277B (zh) 2023-11-21

Family

ID=63363852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811090544.6A Active CN109558277B (zh) 2017-09-26 2018-09-19 微控制器及其控制方法

Country Status (5)

Country Link
US (1) US10915082B2 (zh)
EP (1) EP3460632B1 (zh)
JP (1) JP2019061392A (zh)
KR (1) KR20190035480A (zh)
CN (1) CN109558277B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6979630B2 (ja) * 2018-01-17 2021-12-15 パナソニックIpマネジメント株式会社 監視装置、監視方法及びプログラム
JP6981920B2 (ja) * 2018-05-25 2021-12-17 ルネサスエレクトロニクス株式会社 半導体装置、およびデバッグ方法
KR20210058566A (ko) 2019-11-14 2021-05-24 삼성전자주식회사 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템
DE102021206133A1 (de) * 2021-06-16 2022-12-22 Robert Bosch Gesellschaft mit beschränkter Haftung Steuerungssystem für mindestens ein empfangendes Gerät in sicherheitskritischen Anwendungen
US11892505B1 (en) * 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247160B1 (en) * 1997-06-06 2001-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Hardware design for majority voting, and testing and maintenance of majority voting

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0394183A (ja) * 1989-05-19 1991-04-18 Fujitsu Ltd 半導体集積回路の試験方法及び回路
SE466475B (sv) * 1990-07-10 1992-02-17 Ericsson Telefon Ab L M Saett och anordning foer oevervakning och testning vid en flerplansenhet i en digital tidsvaeljare
US7076609B2 (en) * 2002-09-20 2006-07-11 Intel Corporation Cache sharing for a chip multiprocessor or multiprocessing system
ATE407398T1 (de) 2004-10-25 2008-09-15 Bosch Gmbh Robert Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem
KR101052994B1 (ko) 2004-10-25 2011-07-29 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서전환을 위한 방법 및 장치
US20080244305A1 (en) * 2007-03-30 2008-10-02 Texas Instruments Deutschland, Gmbh Delayed lock-step cpu compare
US8074087B2 (en) * 2008-06-24 2011-12-06 Microsoft Corporation Configuring processors and loads for power management
US8209591B2 (en) * 2008-10-23 2012-06-26 Intersil Americas Inc. Voter tester for redundant systems
JP2010117813A (ja) * 2008-11-12 2010-05-27 Nec Electronics Corp デバッグシステム、デバッグ方法、デバッグ制御方法及びデバッグ制御プログラム
JP2014209312A (ja) * 2013-03-25 2014-11-06 株式会社東芝 集積回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247160B1 (en) * 1997-06-06 2001-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Hardware design for majority voting, and testing and maintenance of majority voting

Also Published As

Publication number Publication date
US20190094830A1 (en) 2019-03-28
CN109558277A (zh) 2019-04-02
KR20190035480A (ko) 2019-04-03
EP3460632A1 (en) 2019-03-27
US10915082B2 (en) 2021-02-09
JP2019061392A (ja) 2019-04-18
EP3460632B1 (en) 2020-05-13

Similar Documents

Publication Publication Date Title
CN109558277B (zh) 微控制器及其控制方法
US10576990B2 (en) Method and device for handling safety critical errors
JP6266239B2 (ja) マイクロコンピュータ
JP6462870B2 (ja) 半導体装置及び診断テスト方法
US20170249224A1 (en) Semiconductor device
US10997043B2 (en) Semiconductor device, semiconductor systems and test-control methods for executing fault injection test on a plurality of failure detection mechanism
JPS5968004A (ja) 車載用コンピユ−タのフエイルセ−フ方法
US8375256B2 (en) System with configurable functional units and method
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
US9678870B2 (en) Diagnostic apparatus, control unit, integrated circuit, vehicle and method of recording diagnostic data
CN110140112B (zh) 锁步系统的周期性非侵入性诊断
JP2007034469A (ja) データエラー検出装置およびデータエラー検出方法
JP5756413B2 (ja) 制御装置
JP6588068B2 (ja) マイクロコンピュータ
CN110462603B (zh) 微型计算机
JP2012160149A (ja) 二重化回路、半導体装置およびテスト方法
US20230055743A1 (en) Information processing device, control method, and non-transitory computer readable medium
JP5632804B2 (ja) バス診断機能を備えた制御装置
Harutyunyan et al. Functional Safety Compliant Test & Repair Framework for System-on-Chip Lifecycle Management
JPS6362776B2 (zh)
JP2006293649A (ja) 電子制御装置
JPH06168151A (ja) 2重化計算機システム
JP2017045344A (ja) フォールトトレラントシステム
JP2012243205A (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