版权归原作者所有,如有侵权,请联系我们

[科普中国]-复位控制

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

复位源6个复位源

TM4C123GH6PM微控制器有6个复位源:

(1)上电复位(POR);

(2)外部复位输入引脚有效(RST);

(3)掉电检测可以用于由以下任一事件引起:①低于BOR0,触发值是BOR0的最高电压值;②低于BOR1,触发值是BOR1的最高电压值。

(4)软件启动复位(利用软件复位寄存器);

(5)违反看门狗复位条件;

(6)MOSC故障。1

复位过程复位时,执行下列顺序:

(1)读取BOOTCFG寄存器。如果EN位被清除,则执行ROM的Boot Loader。

(2)在ROM的Boot Loader下,将指定的GPIO引脚的状态与规定的极性相比较。如果引脚状态与指定的极性匹配,那么将ROM映射到地址0x00000000,并继续执行ROM的Boot Loader。

(3)如果EN位置位或引脚状态与规定的极性不匹配,则读取地址0x00000004的数据。如果这个地址的数据是0xFFFFFFFF,那么ROM映射到地址0x00000000并继续ROM的Boot Loader。

(4)如果地址0x00000004的数据不是0xFFFFFFFF,那么堆栈指针(SP)将加载Flash地址0x00000000的数据,程序计数器(PC)将加载地址0x00000004的数据。随后用户应用程序开始执行。1

上电复位(POR)电路监测电源电压(),并且在电源达到阈值(VDD_POK)时向包括JTAG在内的所有内部逻辑产生复位信号。当片上的电源上电复位脉冲结束时,该微控制器必须在规定的工作参数范围内工作。当应用要求使用外部复位信号让微控制器更长时间地保持在复位状态时(相对使用内部POR而言),可以使用PST输入。1

上电复位的顺序(1)微控制器等待内部POR变为无效;

(2)内部复位释放,内核从内存加载初始堆栈指针、初始化程序计数器以及程序计数器指向的第一条指令,最后开始执行。1

注意事项(1)JTAG控制器只能被上电复位置位;

(2)内部POR只有在微控制器的最初上电时或者从睡眠模式唤醒时才有效。1

外部复位输入引脚如果应用程序仅适用于内部的POR电路,那么RST输入必须通过一个可选的上位电阻(0~100kΩ)连接到电源()。RST输入滤波需要一个最小脉冲宽度的复位脉冲,以便复位脉冲被识破。外部复位引脚(RST)复位控制器,包括内核和所有片上外设。

外部复位序列(1)外部复位引脚(RST)由特定的声明,然后失效。

(2)内部复位释放,内核从内存加载初始堆栈指针、初始化程序计数器以及程序计数器指向第一条指令,最后开始执行。1

注意事项(1)建议RST信号的跟踪线路越短越好。确保连接RST信号的任何元件布置的尽可能靠近微控制器。

(2)为了提高抗干扰性和/或延迟上电复位,RST输入可以连接一个RC网络。1

掉电复位(BOR)触发事件微控制器提供一个由以下事件触发的掉电检测电路:

(1)低于掉电检测复位0(BOR0)。外部提供的电压低于规定的BOR0值。触发值是BOR0的最高电压值。

(2)低于掉电检测复位1(BOR1)。外部提供的电压低于规定的BOR1值。触发值是BOR1的最高电压值。

该应用程序通过读取复位原因寄存器可以识别导致复位的BOR事件。当检测到掉电条件,默认条件将产生一个复位。BOR事件也可以通过编程,在清除上电和掉电复位控制寄存器(PBORCTL)的BOR0位或BOR1位时产生中断。1

掉电复位顺序(1)当降低至时,内部BOR条件将置位。

(2)如果BOR条件存在,则内部复位有效。

(3)内部复位释放,微控制器获取并加载初始堆栈指针、初始程序计数器以及由程序计数器指定的第一条指令,然后开始执行。

掉电复位的效果等同于一次有效的外部RST输入,并且该复位将会保持有效,直到恢复到正确的电压级别。在复位中断处理程序中可以检查RESC寄存器,以确定掉电条件是否是复位的原因,从而使软件确定需要恢复哪些操作。1

软件复位软件可以复位某个特定的外设或者复位整个微控制器。通过系统控制偏移量0x500处开始的外设复位寄存器(例如看门狗定时器软件复位(SRWD)寄存器),外设可以单独由软件复位。如果外设对应的位被置位并随后清零,那么该外设被复位。

包括内核在内的整个微控制器,可以通过设置应用中断和复位控制寄存器的SYSESREQ位实现复位。1

系统复位序列(1)通过置位SYSESREQ位即可产生软件微控制器复位;

(2)内部复位有效;

(3)内部复位释放,微控制器从存储器加载初始堆栈指针、初始程序计数器以及由程序计数器指定的第一条指令,然后开始执行。

内核只能由设置APINT寄存器中的ECTRESET位实现复位。1

内核复位序列(1)内核复位通过设置VECRTESET位启动;

(2)内部复位有效;

(3)内部复位释放,微控制器从存储器加载初始堆栈指针、初始程序计数器以及由程序计数器指定的第一条指令,然后开始执行。1

看门狗定时器复位看门狗定时器模块看门狗定时器模块的功能是阻止系统挂起。TM4C123GH6PM微控制器有两个看门狗定时器模块,以防止其中一个看门狗时钟源出现故障。一个看门狗脱离系统时钟运行,另一个脱离精确内部振荡器(PIOSC)运行。除了由于PIOSC看门狗定时器模块处于不同的时钟域,对寄存器的访问必须在它们之间有一个时间延迟外,每个模块还应该以相同的方式运行。看门狗定时器可被配置为在第一次超时的时候向微控制器产生一个中断或者不可屏蔽中断,在第二次超时的时候产生一个复位。

看门狗第一次超时事件后,32位看门狗计数器会重载看门狗定时器装载寄存器(WDTLOAD)的值并从该值递减计数。如果在第一次溢出中断被清除之前,定时器递减至零,并且复位信号使能,那么看门狗定时器将复位信号传递给微控制器。1

复位序列(1)看门狗定时器第二次溢出时没有被复位;

(2)内部复位有效;

(3)内部复位释放,微控制器从存储器加载初始堆栈指针、初始程序计数器以及由程序计数器指定的第一条指令,然后开始执行。1