具有配置字自检功能的mcu上电启动方法及其自检方法

文档序号:6622706阅读:2368来源:国知局
具有配置字自检功能的mcu上电启动方法及其自检方法
【专利摘要】本发明提供了一种具有配置字自检功能的MCU上电启动方法,提出通过简单的配置字自检方法,在电路上电过程中增加配置字自检过程,确认电路加载的配置字正确后再启动电路的程序运行,否则将重新加载配置字,直至配置字确认正确为止。本发明的优点是:通过增加配置字自检这个过程,确保电路能够进入预期的运行状态,保证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。
【专利说明】具有配置字自检功能的MCU上电启动方法及其自检方法

【技术领域】
[0001] 本发明涉及MCU类集成电路的上电配置启动技术,具体是一种具有配置字自检功 能的MCU上电启动方法及其自检方法。

【背景技术】
[0002] 本发明涉及MCU (微处理器)类集成电路的上电配置启动技术,主要是针对程序存 储器为非易失型的可编程只读存储器,对电路基本配置等有上电选择过程的MCU类集成电 路产品。
[0003] 现在MCU类产品的应用范围非常广泛,特别是带有可编程只读存储器(EPROM, EEPR0M)的MCU,针对同一款MCU产品,其程序灵活可变,被广泛使用。针对不同的应用场 合,对系统配置选择也各有不同需求,这些配置选项一般存储在可编程只读存储器里面,在 上电过程中被读取并配置相应状态。配置字内容一般包括:复用端口选择,复位电压选择, 系统主/从时钟源及其频率选择,看门狗选择,保密位选择等。
[0004] 针对此类MCU产品,一旦配置字读取错误,随即整个芯片状态设置错误会导致死 机并送出不可预计的错误输出结果,且不可恢复,甚至可能损坏整机装置。所以让MCU芯片 按照需求完成上电配置使之正常工作显得尤为重要。针对上电过程中读取的配置字的正确 性判断,增加合适、高效的自检是有意义的。
[0005] 现有的MCU类集成电路的上电过程如图1所示,主要分四步完成: (1) 达到上电复位(poweron)电压后,系统复位; (2) 看门狗(WDT)计数达到计数要求后,读取存储器中的配置字; (3) 电路寄存器清零,根据配置字信息配置芯片; (4) 系统主时钟达到计数要求后,MCU开始读取程序并执行工作。
[0006] 如上过程所述,配置字读取后采取直接配置的方式。
[0007] 如图1所示的上电配置过程中,并没有对获取得到的配置字进行检查就直接配 置。一旦配置字读取出错,系统又不做任何确认,整个电路的运行就会进入非正常状态,并 无法自行恢复。即使重新上下电,也会同样重复进入异常状态。
[0008] 事实上,配置字读错现象在可编程只读存储器的MCU类集成电路中出现频繁,在 此类电路做可靠性实验室如:雷击浪涌试验,插拔试验,EFT测试试验等过程中,该类错误 都极易发生。
[0009] 在上电过程中读错配置字信息的主要原因是受电源电压影响: (1)上电缓慢(读取配置字时电源电压偏低,存储器结果输出有误)。
[0010] (2)电源波动,干扰串入,导致错误的配置字被锁存。
[0011] 还有一种可能情况就是原先存储进存储器的配置字信息本身就存在错误,因种种 操作异常而未被发现。对于这类失效片,采用具有配置字自检功能的MCU上电启动方法就 容易被发现并及时剔除。


【发明内容】

[0012] 为了规避现有MCU类(特别是存储器类型为可编程只读存储器)集成电路设计中, 因为配置字读错而导致的异常工作的问题,本发明提供一种具有配置字自检功能的MCU上 电启动方法及其自检方法,在整个上电启动过程中,添加了配置字校验过程。
[0013] 按照本发明提供的技术方案,所述的具有配置字自检功能的MCU上电启动方法, 其特征包括以下步骤: (1) 达到上电复位(poweron)电压后,系统复位; (2) 看门狗(WDT)计数达到计数要求后,读取存储器中的配置字; (3) 进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在 存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字; (4) 配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片; (5) 启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
[0014] 其中的配置字自检方法为:在MCU的存储器空白区域的地址位中预先存入一个字 节的配置字校验位,所述配置字校验位为所有配置字的每个字节按位做异或运算的结果; 在MCU读取配置字后进行自检,即将所有配置字的每个字节按位做异或运算,将运算结果 与所述配置字校验位比较;若不一致则重新加载配置字;比较结果一致后,寄存器清零,根 据配置字信息配置MCU芯片。
[0015] 本发明的优点是:通过增加配置字自检这个过程,确保电路能够进入预期的运行 状态,保证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。

【专利附图】

【附图说明】
[0016] 图1是现有的MCU类集成电路的上电过程的流程图。
[0017] 图2是带本发明的MCU的上电过程的流程图。
[0018] 图3是实施例的存储器地址分配示意图。
[0019] 图4是实施例的配置字自检方法的示意图。

【具体实施方式】
[0020] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本发 明作进一步地详细描述。
[0021] 本发明提供了增加配置字自检的上电启动方法,在整个上电启动过程中,添加了 配置字校验过程,需确认配置字读取无误后才能清零内部寄存器,根据正确的配置字信息 配置芯片,启动系统时钟计数,然后再运行MCU主程序。
[0022] 如图2所示,本发明具有配置字自检功能的MCU的上电过程中增加了配置字自检 环节,其上电过程主要分五步完成: (1) 达到上电复位(poweron)电压后,系统复位; (2) 看门狗(WDT)计数达到计数要求后,读取存储器中的配置字; (3) 进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在 存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字; (4) 配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片; (5)启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
[0023] 图3是存储器ROM的地址分配的实施例示意图,此实施例示意图以2KB ROM为 例,其中定义配置字区域以3个字节为例,设定为ROM区域的最后三个地址07FDH,07FEH, 07FFH〇
[0024] 在实际设计中:(1)配置字的容量可以随需求增加。(2)配置字的字长按照实际情 况定义(如一个字节8位的二进制数值,或一个字节16位的二进制数值)(3)配置字的区域 可以独立于程序存储器。
[0025] 配置字的三个字节我们分别定义为word2, wordl,wordO。其中wordl和wordO用 以定义所需的配置字信息;word2为配置字校验位用以存放wordl和wordO的二进制数值 按位异或以后的运算结果。
[0026] 在实际设计中,配置字容量可能不止两个字节,无论配置字的容量多大,我们均将 所有的配置字按位做异或运算,并将其运算结果预先存在配置字校验位。配置字校验位的 存放地址为任何某指定的空闲地址区域。
[0027] 图4是本发明实施例的配置字自检方法的示意图。按照图3的实施例,在MCU芯 片内部,当读取到配置字信息wordl和wordO以后,在芯片内部先做wordl和wordO按位异 或运算,结果输出为wordcheck。将wordcheck与配置字校验位word2做比较,当两个字节 内容完全一致时,输出使能信号option_en为高;当两个字节内容有差异时,输出使能信号 option_en为低。使能信号option_en为低时,需要重新获取配置字信息,重新运算,重新比 较,直至使能信号〇ption_en为高时,再进行下一步动作。
[0028] 本发明的配置字的自检方法主要是通过将所有配置字按位异或,并将得到的异或 结果与预存入的配置字校验位相比较,以此判断电路上电启动时获取的配置字的正确性。
[0029] 本发明提出通过简单的配置字自检方法,在电路上电过程中增加配置字自检过 程,确认电路加载的配置字正常正确后再启动MCU的程序运行,否则将重新加载配置字,直 至配置字正确为止。通过增加配置字自检这个过程,确保电路能够进入预期的运行状态,保 证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。
[0030] 所述自检方法简单易实现,自检过程迅速安全,添加的运算和校验逻辑几乎不占 芯片面积。电路通过在上电过程中自运行配置字的自我比较和自我校正,提高了电路工作 的可靠性,是一种几乎不耗成本的高安全设计方案。
【权利要求】
1. 具有配置字自检功能的MCU上电启动方法,其特征是,包括以下步骤: (1) 达到上电复位电压后,系统复位; (2) 看门狗计数达到计数要求后,读取存储器中的配置字; (3) 进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在 存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字; (4) 配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片; (5) 启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
2. 如权利要求1所述具有配置字自检功能的MCU上电启动方法,其特征是,所述配置 字校验位预先存入存储器的空白区域,其值为所有配置字的每个字节按位做异或运算的结 果。 3. MCU上电启动的配置字自检方法,其特征是,在MCU的存储器中预先存入一个字节 的配置字校验位,所述配置字校验位为所有配置字的每个字节按位做异或运算的结果;在 MCU读取配置字后,进行自检,将所有配置字的每个字节按位做异或运算,将运算结果与所 述配置字校验位比较;若不一致则重新加载配置字;直至配置字比较结果一致后,寄存器 清零,根据配置字信息配置MCU芯片。
【文档编号】G06F9/445GK104123167SQ201410385473
【公开日】2014年10月29日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】饶喜冰, 刘明峰, 陈恒江, 黄坚, 俞小平 申请人:无锡中微爱芯电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1