CN104123167B - 具有配置字自检功能的mcu上电启动方法及其自检方法 - Google Patents
具有配置字自检功能的mcu上电启动方法及其自检方法 Download PDFInfo
- Publication number
- CN104123167B CN104123167B CN201410385473.8A CN201410385473A CN104123167B CN 104123167 B CN104123167 B CN 104123167B CN 201410385473 A CN201410385473 A CN 201410385473A CN 104123167 B CN104123167 B CN 104123167B
- Authority
- CN
- China
- Prior art keywords
- configuration words
- self
- configuration
- mcu
- words
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种具有配置字自检功能的MCU上电启动方法,提出通过简单的配置字自检方法,在电路上电过程中增加配置字自检过程,确认电路加载的配置字正确后再启动电路的程序运行,否则将重新加载配置字,直至配置字确认正确为止。本发明的优点是:通过增加配置字自检这个过程,确保电路能够进入预期的运行状态,保证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。
Description
技术领域
本发明涉及MCU类集成电路的上电配置启动技术,具体是一种具有配置字自检功能的MCU上电启动方法及其自检方法。
背景技术
本发明涉及MCU(微处理器)类集成电路的上电配置启动技术,主要是针对程序存储器为非易失型的可编程只读存储器,对电路基本配置等有上电选择过程的MCU类集成电路产品。
现在MCU类产品的应用范围非常广泛,特别是带有可编程只读存储器(EPROM,EEPROM)的MCU,针对同一款MCU产品,其程序灵活可变,被广泛使用。针对不同的应用场合,对系统配置选择也各有不同需求,这些配置选项一般存储在可编程只读存储器里面,在上电过程中被读取并配置相应状态。配置字内容一般包括:复用端口选择,复位电压选择,系统主/从时钟源及其频率选择,看门狗选择,保密位选择等。
针对此类MCU产品,一旦配置字读取错误,随即整个芯片状态设置错误会导致死机并送出不可预计的错误输出结果,且不可恢复,甚至可能损坏整机装置。所以让MCU芯片按照需求完成上电配置使之正常工作显得尤为重要。针对上电过程中读取的配置字的正确性判断,增加合适、高效的自检是有意义的。
现有的MCU类集成电路的上电过程如图1所示,主要分四步完成:
(1)达到上电复位(poweron)电压后,系统复位;
(2)看门狗(WDT)计数达到计数要求后,读取存储器中的配置字;
(3)电路寄存器清零,根据配置字信息配置芯片;
(4)系统主时钟达到计数要求后,MCU开始读取程序并执行工作。
如上过程所述,配置字读取后采取直接配置的方式。
如图1所示的上电配置过程中,并没有对获取得到的配置字进行检查就直接配置。一旦配置字读取出错,系统又不做任何确认,整个电路的运行就会进入非正常状态,并无法自行恢复。即使重新上下电,也会同样重复进入异常状态。
事实上,配置字读错现象在可编程只读存储器的MCU类集成电路中出现频繁,在此类电路做可靠性实验室如:雷击浪涌试验,插拔试验,EFT测试试验等过程中,该类错误都极易发生。
在上电过程中读错配置字信息的主要原因是受电源电压影响:
(1)上电缓慢(读取配置字时电源电压偏低,存储器结果输出有误)。
(2)电源波动,干扰串入,导致错误的配置字被锁存。
还有一种可能情况就是原先存储进存储器的配置字信息本身就存在错误,因种种操作异常而未被发现。对于这类失效片,采用具有配置字自检功能的MCU上电启动方法就容易被发现并及时剔除。
发明内容
为了规避现有MCU类(特别是存储器类型为可编程只读存储器)集成电路设计中,因为配置字读错而导致的异常工作的问题,本发明提供一种具有配置字自检功能的MCU上电启动方法及其自检方法,在整个上电启动过程中,添加了配置字校验过程。
按照本发明提供的技术方案,所述的具有配置字自检功能的MCU上电启动方法,其特征包括以下步骤:
(1)达到上电复位(poweron)电压后,系统复位;
(2)看门狗(WDT)计数达到计数要求后,读取存储器中的配置字;
(3)进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字;
(4)配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片;
(5)启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
其中的配置字自检方法为:在MCU的存储器空白区域的地址位中预先存入一个字节的配置字校验位,所述配置字校验位为所有配置字的每个字节按位做异或运算的结果;在MCU读取配置字后进行自检,即将所有配置字的每个字节按位做异或运算,将运算结果与所述配置字校验位比较;若不一致则重新加载配置字;比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片。
本发明的优点是:通过增加配置字自检这个过程,确保电路能够进入预期的运行状态,保证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。
附图说明
图1 是现有的MCU类集成电路的上电过程的流程图。
图2 是带本发明的MCU的上电过程的流程图。
图3 是实施例的存储器地址分配示意图。
图4 是实施例的配置字自检方法的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本发明作进一步地详细描述。
本发明提供了增加配置字自检的上电启动方法,在整个上电启动过程中,添加了配置字校验过程,需确认配置字读取无误后才能清零内部寄存器,根据正确的配置字信息配置芯片,启动系统时钟计数,然后再运行MCU主程序。
如图2所示,本发明具有配置字自检功能的MCU的上电过程中增加了配置字自检环节,其上电过程主要分五步完成:
(1)达到上电复位(poweron)电压后,系统复位;
(2)看门狗(WDT)计数达到计数要求后,读取存储器中的配置字;
(3)进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字;
(4)配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片;
(5)启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
图3是存储器ROM的地址分配的实施例示意图,此实施例示意图以2KB ROM为例,其中定义配置字区域以3个字节为例,设定为ROM区域的最后三个地址07FDH,07FEH,07FFH。
在实际设计中:(1)配置字的容量可以随需求增加。(2)配置字的字长按照实际情况定义(如一个字节8位的二进制数值,或一个字节16位的二进制数值)(3)配置字的区域可以独立于程序存储器。
配置字的三个字节我们分别定义为word2,word1,word0。其中word1和word0用以定义所需的配置字信息;word2为配置字校验位用以存放word1和word0的二进制数值按位异或以后的运算结果。
在实际设计中,配置字容量可能不止两个字节,无论配置字的容量多大,我们均将所有的配置字按位做异或运算,并将其运算结果预先存在配置字校验位。配置字校验位的存放地址为任何某指定的空闲地址区域。
图4 是本发明实施例的配置字自检方法的示意图。按照图3的实施例,在MCU芯片内部,当读取到配置字信息word1和word0以后,在芯片内部先做word1和word0按位异或运算,结果输出为wordcheck。将wordcheck与配置字校验位word2做比较,当两个字节内容完全一致时,输出使能信号option_en为高;当两个字节内容有差异时,输出使能信号option_en为低。使能信号option_en为低时,需要重新获取配置字信息,重新运算,重新比较,直至使能信号option_en为高时,再进行下一步动作。
本发明的配置字的自检方法主要是通过将所有配置字按位异或,并将得到的异或结果与预存入的配置字校验位相比较,以此判断电路上电启动时获取的配置字的正确性。
本发明提出通过简单的配置字自检方法,在电路上电过程中增加配置字自检过程,确认电路加载的配置字正常正确后再启动MCU的程序运行,否则将重新加载配置字,直至配置字正确为止。通过增加配置字自检这个过程,确保电路能够进入预期的运行状态,保证后续程序运行能够正常工作,避免电路进入不可恢复的错误状态。
所述自检方法简单易实现,自检过程迅速安全,添加的运算和校验逻辑几乎不占芯片面积。电路通过在上电过程中自运行配置字的自我比较和自我校正,提高了电路工作的可靠性,是一种几乎不耗成本的高安全设计方案。
Claims (3)
1.具有配置字自检功能的MCU上电启动方法,其特征是,包括以下步骤:
(1)达到上电复位电压后,系统复位;
(2)看门狗计数达到计数要求后,读取存储器中的配置字;
(3)进行配置字自检:将所有配置字的每个字节按位做异或运算,将运算结果与预存在存储器中的一个字节的配置字校验位比较;若不一致则重新加载配置字;
(4)配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片;
(5)启动系统时钟计数,系统主时钟达到计数要求后,MCU开始读取主程序并执行工作。
2.如权利要求1所述具有配置字自检功能的MCU上电启动方法,其特征是,所述配置字校验位预先存入存储器的空白区域,其值为所有配置字的每个字节按位做异或运算的结果。
3.MCU上电启动的配置字自检方法,其特征是,在MCU的存储器中预先存入一个字节的配置字校验位,所述配置字校验位为所有配置字的每个字节按位做异或运算的结果;在MCU读取配置字后,进行自检,将所有配置字的每个字节按位做异或运算,将运算结果与所述配置字校验位比较;若不一致则重新加载配置字;直至配置字比较结果一致后,寄存器清零,根据配置字信息配置MCU芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410385473.8A CN104123167B (zh) | 2014-08-06 | 2014-08-06 | 具有配置字自检功能的mcu上电启动方法及其自检方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410385473.8A CN104123167B (zh) | 2014-08-06 | 2014-08-06 | 具有配置字自检功能的mcu上电启动方法及其自检方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104123167A CN104123167A (zh) | 2014-10-29 |
CN104123167B true CN104123167B (zh) | 2017-06-23 |
Family
ID=51768591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410385473.8A Active CN104123167B (zh) | 2014-08-06 | 2014-08-06 | 具有配置字自检功能的mcu上电启动方法及其自检方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123167B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515737A (zh) * | 2016-06-15 | 2017-12-26 | 深圳市博巨兴实业发展有限公司 | 一种加载mcu芯片的配置信息字的方法 |
CN106291323B (zh) * | 2016-08-12 | 2019-05-17 | 聚辰半导体股份有限公司 | 非接触式ic卡的芯片快速上电检测和配置方法及装置 |
CN107329746B (zh) * | 2017-06-19 | 2019-07-02 | 珠海格力电器股份有限公司 | 一种芯片配置信息处理方法及装置 |
CN107657153B (zh) * | 2017-09-27 | 2020-11-13 | 深圳芯邦科技股份有限公司 | 一种芯片内flash区的代码保护方法及装置 |
CN109407807B (zh) * | 2018-09-29 | 2021-04-02 | 上海东软载波微电子有限公司 | 一种芯片复位电路、复位方法及mcu芯片 |
CN111506449B (zh) * | 2019-01-31 | 2024-02-20 | 青岛海尔空调电子有限公司 | 一种空调参数存储方法及装置和存储介质 |
CN110502378B (zh) * | 2019-08-16 | 2022-11-22 | 兆讯恒达科技股份有限公司 | 一种配置多算法协处理器自检的方法 |
CN111782290B (zh) * | 2020-06-02 | 2023-10-27 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN113012746A (zh) * | 2021-04-27 | 2021-06-22 | 无锡矽杰微电子有限公司 | 一种存储器的信息区数据上电自检方法 |
CN115525482B (zh) * | 2022-11-29 | 2023-03-17 | 深圳市航顺芯片技术研发有限公司 | 一种微控制器芯片启动控制方法、装置、芯片及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625731B1 (en) * | 1999-02-19 | 2003-09-23 | Stmicroelectronics Sa | Method of configuring a microcontroller during reset mode by generating auxiliary oscillator signal as supply voltage ramps up to read option word from central memory |
CN1725207A (zh) * | 2005-04-27 | 2006-01-25 | 杭州华为三康技术有限公司 | 调整处理器配置模式的方法及系统 |
CN102346501A (zh) * | 2010-07-30 | 2012-02-08 | 中兴通讯股份有限公司 | 一种具有统一机框管理架构的设备及其管理控制方法 |
CN103095265A (zh) * | 2012-11-13 | 2013-05-08 | 长沙景嘉微电子股份有限公司 | 一种上电和掉电自动复位检测电路 |
-
2014
- 2014-08-06 CN CN201410385473.8A patent/CN104123167B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625731B1 (en) * | 1999-02-19 | 2003-09-23 | Stmicroelectronics Sa | Method of configuring a microcontroller during reset mode by generating auxiliary oscillator signal as supply voltage ramps up to read option word from central memory |
CN1725207A (zh) * | 2005-04-27 | 2006-01-25 | 杭州华为三康技术有限公司 | 调整处理器配置模式的方法及系统 |
CN102346501A (zh) * | 2010-07-30 | 2012-02-08 | 中兴通讯股份有限公司 | 一种具有统一机框管理架构的设备及其管理控制方法 |
CN103095265A (zh) * | 2012-11-13 | 2013-05-08 | 长沙景嘉微电子股份有限公司 | 一种上电和掉电自动复位检测电路 |
Also Published As
Publication number | Publication date |
---|---|
CN104123167A (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123167B (zh) | 具有配置字自检功能的mcu上电启动方法及其自检方法 | |
CN110634530B (zh) | 芯片的测试系统和测试方法 | |
CN104981778A (zh) | 修补只读存储器的引导代码 | |
WO2012100145A1 (en) | Method and apparatus for memory management | |
US8176281B2 (en) | Controlling access to an embedded memory of a microcontroller | |
JP6622337B2 (ja) | 安全関連のアプリケーションにおけるマイクロコントローラシステム用の安全なリセット技術 | |
CN102915209B (zh) | 一种存储控制芯片、存储设备及其系统数据写入方法 | |
EP3895939B1 (en) | Electronic control device and security verification method for electronic control device | |
US9595350B2 (en) | Hardware-based memory initialization | |
US8621643B2 (en) | Semiconductor device | |
US20140372666A1 (en) | Semiconductor device with configurable support for multiple command specifications, and method regarding the same | |
CN101582294B (zh) | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 | |
CN104331341A (zh) | 一种基于fpga的故障恢复方法 | |
JP5876364B2 (ja) | 半導体メモリ及びデータ読出方法 | |
CN105205034A (zh) | 一种基于asic的高可靠参数配置方法 | |
CN109117299A (zh) | 服务器的侦错装置及其侦错方法 | |
CN115454517B (zh) | 多介质安全启动的方法、系统、存储介质、设备及芯片 | |
CN106156632B (zh) | 安全装置及在其内提供安全服务至主机的方法、安全设备 | |
CN108763148B (zh) | 一种支持上注的容错存储器控制器 | |
CN101788916A (zh) | 配置芯片的方法和装置 | |
CN104035776A (zh) | 一种操作系统的启动方法 | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
CN106571914B (zh) | 一种基于otp器件的密钥管理装置 | |
CN105825898A (zh) | 动态存储器测试装置及其测试方法 | |
CN110619918B (zh) | 一种ftl掉电测试方法、系统、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |