为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

7 PIC32复位

2011-11-18 18页 pdf 480KB 26阅读

用户头像

is_421808

暂无简介

举报
7 PIC32复位 复 位 7 第 7 章 复位 目录 本章包括下列主题: 7.1 简介 .......................................................................................................................... 7-2 7.2 控制寄存器 .............................................................................................
7 PIC32复位
复 位 7 第 7 章 复位 目录 本章包括下列主题: 7.1 简介 .......................................................................................................................... 7-2 7.2 控制寄存器 ................................................................................................................ 7-3 7.3 工作模式 ................................................................................................................... 7-9 7.4 各种复位的影响 ...................................................................................................... 7-12 7.5 技巧 ................................................................................................................. 7-14 7.6 相关应用笔记 .......................................................................................................... 7-15 7.7 版本历史 ................................................................................................................. 7-16 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-1 页 PIC32MX 系列参考手册 7.1 简介 DS61118E_CN 第 7-2 页 初稿 © 2010 Microchip Technology Inc. 复位模块结合了所有复位源并控制系统复位信号 SYSRST。下面列出了器件的复位源: • POR:上电复位 • MCLR:引脚复位 • SWR:软件复位 • WDTR:看门狗定时器复位 • BOR:欠压复位 • CMR:配置不匹配复位 图 7-1 给出了复位模块的简化框图。任何有效的复位源都将使系统复位信号有效。很多与 CPU 和 外设相关的寄存器均会被强制设为已知的 “复位状态 ”。大多数寄存器都不受复位影响;它们的状 态在 POR 时为未知,并且在所有其他复位时不变。 图 7-1: 系统复位框图 注: 如需了解寄存器复位状态的信息,请参见本手册中的特定外设或 CPU 章节。 MCLR VDD VDD 上升检测 POR SLEEP(休眠) 欠压复位 WDT 超时 毛刺滤波器 BOR 配置 SYSRST 软件复位 上电延时 定时器 使能 复位 WDTR SWR CMR MCLR 稳压器 不匹配 或 IDLE(空闲) 第 7 章 复位 10 复 位 7 7.2 控制寄存器 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-3 页 任何类型的器件复位都会将 RCON 寄存器中相应的状态位置 1,以指示复位类型(见寄存器 7-1)。 上电复位将清零除 BOR 和 POR 位(RCON<1:0>)之外的所有位, BOR 和 POR 位在 POR 时 被置 1。用户可以在代码执行过程中的任何时间置 1 或清零任意位。RCON 寄存器中的位仅用作 状态位。用软件将特定的复位状态位置 1 不会导致系统复位。 RCON 寄存器还包含与看门狗定时器和器件节能状态相关的位。关于这些位的功能的更多信息, 请参见第 7.4.3 节 “ 使用 RCON 状态位 ”。 RSWRST 控制寄存器只有一个位 SWRST。该位用于强制执行软件复位状态。 复位模块包含以下特殊功能寄存器 (Special Function Register, SFR): • RCON:复位控制寄存器 RCONCLR、 RCONSET 和 RCONINV:RCON 的原子级位操作只写寄存器 • RSWRST:复位数据寄存器 RSWRSTCLR、 RSWRSTSET 和 RSWRSTINV:RSWRST 的原子级位操作只写寄存器 下汇总了所有与复位相关的寄存器。该汇总表之后列出了相应的寄存器,并且每个寄存器均附 有详细的说明。 表 7-1: 复位 SFR 汇总 名称 Bit31/23/15/7 Bit 30/22/14/6 Bit 29/21/13/5 Bit 28/20/12/4 Bit 27/19/11/3 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 RCON 31:24 — — — — — — — — 23:16 — — — — — — — — 15:8 — — — — — — CMR VREGS 7:0 EXTR SWR — WDTO SLEEP IDLE BOR POR RCONCLR 31:0 写入时会将 RCON 中的选定位清零,读取时获得的值未定义 RCONSET 31:0 写入时会将 RCON 中的选定位置 1,读取时获得的值未定义 RCONINV 31:0 写入时会将 RCON 中的选定位取反,读取时获得的值未定义 RSWRST 31:24 — — — — — — — — 23:16 — — — — — — — — 15:8 — — — — — — — — 7:0 — — — — — — — SWRST RSWRSTCLR 31:0 写入时会将 RSWRST 中的选定位清零,读取时获得的值未定义 RSWRSTSET 31:0 写入时会将 RSWRST 中的选定位置 1,读取时获得的值未定义 RSWRSTINV 31:0 写入时会将 RSWRST 中的选定位取反,读取时获得的值未定义 PIC32MX 系列参考手册 寄存器 7-1: RCON:复位控制寄存器 DS61118E_CN 第 7-4 页 初稿 © 2010 Microchip Technology Inc. r-x r-x r-x r-x r-x r-x r-x r-x — — — — — — — — bit 31 bit 24 r-x r-x r-x r-x r-x r-x r-x r-x — — — — — — — — bit 23 bit 16 r-x r-x r-x r-x r-x r-0 R/W-0 R/W-0 — — — — — — CMR VREGS bit 15 bit 8 R/W-0 R/W-0 r-x R/W-0 R/W-0 R/W-0 R/W-1 R/W-1 EXTR SWR — WDTO SLEEP IDLE BOR POR bit 7 bit 0 图注: R = 可读位 W = 可写位 P = 可编程位 r = 保留位 U = 未实现位 -n = POR 时的值:(0, 1, x = 未知) bit 31-11 保留:写入 0;忽略读操作 bit 10 保留:写入 0;忽略读操作 bit 9 CMR: 配置不匹配复位标志位 1 = 发生了配置不匹配复位 0 = 未发生配置不匹配复位 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 8 VREGS: 稳压器待机使能位 1 = 使能稳压器并在 SLEEP (休眠)模式下继续工作 0 = 禁止稳压器并在 SLEEP (休眠)模式下关闭 bit 7 EXTR:外部复位 (MCLR)引脚标志位 1 = 发生了主复位 (引脚)复位 0 = 未发生主复位 (引脚)复位 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 6 SWR:软件复位标志位 1 = 执行了软件复位 0 = 未执行软件复位 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 5 保留:写入 0;忽略读操作 bit 4 WDTO:看门狗定时器超时标志位 1 = 发生了 WDT 超时 0 = 未发生 WDT 超时 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 3 SLEEP:从 SLEEP (休眠)模式唤醒标志位 1 = 器件处于 SLEEP (休眠)模式 0 = 器件不处于 SLEEP (休眠)模式 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 2 IDLE:从 IDLE (空闲)模式唤醒标志位 1 = 器件处于 IDLE (空闲)模式 0 = 器件不处于 IDLE (空闲)模式 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 第 7 章 复位 10 复 位 7 寄存器 7-1: RCON:复位控制寄存器(续) © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-5 页 bit 1 BOR:欠压复位标志位 用户软件必须清零该位以查看下一次检测结果。 1 = 发生了欠压复位 0 = 未发生欠压复位 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 bit 0 POR:上电复位标志位 用户软件必须清零该位以查看下一次检测结果。 1 = 发生了上电复位 0 = 未发生上电复位 注: 该位由硬件置 1,它只能用软件清零 (= 0)。 PIC32MX 系列参考手册 寄存器 7-2: RCONCLR:RCON 清零寄存器 DS61118E_CN 第 7-6 页 初稿 © 2010 Microchip Technology Inc. 写入时会将 RCON 中的选定位清零,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RCON 中的选定位清零 在一个或多个位中写入 1会将 RCON 寄存器中的相应位清零,但不会影响未实现位或只读位。写入 0 不会影响该寄存器。 示例: RCONCLR = 0x00008001时,会将 RCON 寄存器中的 bit 15 和 bit 5 清零。 寄存器 7-3: RCONSET:RCON 置 1 寄存器 写入时会将 RCON 中的选定位置 1,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RCON 中的选定位置 1 在一个或多个位中写入 1 会将 RCON 寄存器中的相应位置 1,但不会影响未实现位或只读位。写入 0 不会影响该寄存器。 示例: RCONSET = 0x00008001时,会将 RCON 寄存器中的 bit 15 和 bit 5 置 1。 寄存器 7-4: RCONINV:RCON 取反寄存器 写入时会将 RCON 中的选定位取反,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RCON 中的选定位取反 在一个或多个位中写入 1会将 RCON 寄存器中的相应位取反,但不会影响未实现位或只读位。写入 0 不会影响该寄存器。 示例: RCONINV = 0x00008001时,会将 RCON 寄存器中的 bit 15 和 bit 5 取反。 第 7 章 复位 10 复 位 7 寄存器 7-5: RSWRST:软件复位寄存器 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-7 页 r-x r-x r-x r-x r-x r-x r-x r-x — — — — — — — — bit 31 bit 24 r-x r-x r-x r-x r-x r-x r-x r-x — — — — — — — — bit 23 bit 16 r-x r-x r-x r-x r-x r-x r-x r-x — — — — — — — — bit 15 bit 8 r-x r-x r-x r-x r-x r-x r-x W-0 — — — — — — — SWRST bit 7 bit 0 图注: R = 可读位 W = 可写位 P = 可编程位 r = 保留位 U = 未实现位 -n = POR 时的值:(0, 1, x = 未知) bit 31-1 保留:写入 0;忽略读操作 bit 0 SWRST:软件复位触发位 1 = 使能软件复位事件 0 = 无影响 注: 在写入 SWRST 位之前,必须先执行系统解锁序列。请参见第 7.3.4 节 “ 软件复位 (SWR) ”。 PIC32MX 系列参考手册 寄存器 7-6: RSWRSTCLR:RSWRST 清零寄存器 DS61118E_CN 第 7-8 页 初稿 © 2010 Microchip Technology Inc. 写入时会将 RSWRST 中的选定位清零,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RSWRST 中的选定位清零 在一个或多个位中写入 1 会将 RSWRST 寄存器中的相应位清零,但不会影响未实现位或只读位。写 入 0不会影响该寄存器。 示例: RSWRSTCLR = 0x00008001时,会将 RSWRST 寄存器中的 bit 15 和 bit 5 清零。 寄存器 7-7: RSWRSTSET:RSWRST 置 1 寄存器 写入时会将 RSWRST 中的选定位置 1,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RSWRST 中的选定位置 1 在一个或多个位中写入 1会将 RSWRST 寄存器中的相应位置 1,但不会影响未实现位或只读位。写入 0不会影响该寄存器。 示例: RSWRSTSET = 0x00008001时,会将 RSWRST 寄存器中的 bit 15 和 bit 5 置 1。 寄存器 7-8: RSWRSTINV:RSWRST 取反寄存器 写入时会将 RSWRST 中的选定位取反,读取时获得的值未定义 bit 31 bit 0 bit 31-0 将 RSWRST 中的选定位取反 在一个或多个位中写入 1 会将 RSWRST 寄存器中的相应位取反,但不会影响未实现位或只读位。写 入 0不会影响该寄存器。 示例: RSWRSTINV = 0x00008001时,会将 RSWRST 寄存器中的 bit 15 和 bit 5 取反。 第 7 章 复位 10 复 位 7 7.3 工作模式 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-9 页 7.3.1 系统复位 PIC32MX 内部系统复位(SYSRST)可以从多种复位源产生,例如 POR (上电复位)、 BOR (欠压复位)、MCLR(主复位)、WDTO(看门狗超时复位)、SWR(软件复位)和 CMR(配 置不匹配复位)。系统复位信号在 POR 时置为有效,并一直保持有效,直到装入器件配置设置并 且时钟振荡源稳定为止。然后,系统复位信号置为无效,允许 CPU 在 8 个系统时钟周期 (SYSCLK)之后开始取代码。 BOR、MCLR 和 WDTO 复位是异步事件,为了避免 SFR(特殊功能寄存器)和 RAM 损坏,系 统复位信号会与系统时钟进行同步。所有其他复位事件均为同步事件。 7.3.2 上电复位 (POR) 当检测到 VDD 上升到高于 VPOR 时,上电事件会产生内部上电复位脉冲。器件供电电压的特性必 须满足规定的启动电压和上升速率要求,以产生 POR 脉冲。特别是,在新的 POR 开始之前, VDD 必须下降到低于 VPOR。关于 VPOR 和 VDD 上升速率的更多信息,请参见具体器件数据 手册的 “ 电气特性 ” 章节。 对于使能片上稳压器的那些 PIC32MX 型号,上电延时定时器(Power-up Timer,PWRT)会自 动禁止。对于禁止片上稳压器的那些 PIC32MX 型号,内核通过外部电源供电,上电延时定时器 会自动使能,用于延长上电序列的持续时间。在器件启动时,PWRT 会增加一段 64 ms 的固定标 称延时。因此,上电延时可以是片上稳压器输出延时 (称为 TPU),也可以是上电延时定时器延 时 (称为 TPWRT)。 此时 POR 事件已延时结束,但器件复位信号仍然保持有效,与此同时会装入器件配置设置和配 置时钟振荡源,并且时钟监视电路会等待振荡源趋于稳定。从复位状态退出时,总是通过 DEVCFG1 配置字中的 FNOSC<2:0> 位来选择 PIC32MX 器件使用的时钟源。这段附加延时取决 于时钟,并且可包含对应于 TOSC、TLOCK 和 TFSCM 的延时。关于振荡器、PLL 和故障保护时钟 监视的详细信息,请参见第 6.3.5 节 “ 故障保护时钟监视器操作 ” (DS61112)。 在这些延时结束之后,系统复位信号 SYSRST 会置为无效。在允许 CPU 开始执行代码之前,还 需要 8 个系统时钟周期,然后 CPU 内核的同步复位信号才会置为无效。 上电事件会将 BOR 和 POR 状态位 (RCON<1:0>)置 1。 关于延时参数值的更多信息,请参见具体器件数据手册的 “ 电气特性 ” 章节。 注: 当器件退出复位状态(开始正常工作)时,器件工作参数(电压、频率和温度等)必须在相应的工作范围 内;否则,器件将不能正常工作。用户必须确保从第一次上电到系统复位释放之间的延时足够长,以使所 有工作参数都符合规范。 PIC32MX 系列参考手册 7.3.3 MCLR 复位 DS61118E_CN 第 7-10 页 初稿 © 2010 Microchip Technology Inc. 每当 MCLR 引脚驱动为低电平时,复位事件会与系统时钟 SYSCLK 进行同步,之后系统复位信号 SYSRST 会置为有效,但前提是 MCLR 上的输入脉冲宽度要大于特定的最小宽度;关于该最小宽 度的详细信息,请参见具体器件数据手册的 “ 电气特性 ” 章节中的规定。 MCLR 提供了一个滤波器,以最大程度降低噪声影响和避免意外的复位事件。 EXTR 状态位 (RCON<7>)被置 1,指示发生了 MCLR 复位。 7.3.4 软件复位 (SWR) PIC32MX 的 CPU 内核不提供特定的 RESET指令;但是,硬件复位用软件来执行(软件复位), 方法是执行软件复位命令序列。软件复位命令的作用类似于 MCLR 复位。软件复位序列要求先执 行系统解锁序列,然后才能写入 SWRST 位。关于系统解锁的详细信息,请参见第 6.3.6 节 “ 时钟 切换操作 ” (DS61112)。软件复位的执行方式如下: • 写入系统解锁序列 • 设置 SWRST 位 (RSWRST<0>) = 1 • 读取 RSWRST 寄存器 • 后面跟随 “while(1);” 或 4 条 “NOP” 指令 向 RSWRST 寄存器写入 1会将 SWRST 位置 1,从而激活软件复位。RSWRST 寄存器的后续读 操作会触发软件复位,它在读操作之后的下一个时钟周期发生。要确保在发生复位事件之前不执 行任何其他用户代码,建议将 4 条 “NOP” 指令或 “while(1);” 语句放在 READ指令之后。 SWR 状态位 (RCON<6>)被置 1,指示发生了软件复位。 例 7-1: 软件复位命令序列 /* The following code illustrates a software Reset */ /* perform a system unlock sequence */ SYSTEMUnlock(); /* set SWRST bit to arm reset */ RSWRSTSET = 1; /* read RSWRST register to trigger reset */ volatile int* p = &RSWRST; *p; /* prevent any unwanted code execution until reset occurs*/ while(1); 第 7 章 复位 10 复 位 7 7.3.5 看门狗定时器复位 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-11 页 在系统复位信号置为有效之前,看门狗定时器(Watchdog Timer,WDT)复位事件会先与系统时 钟 SYSCLK 进行同步。请注意,在 SLEEP (休眠)或 IDLE (空闲)模式期间发生 WDT 超时将 唤醒处理器并跳转到 PIC32MX 复位向量处,但不会复位处理器。只有 RCON 寄存器中的 WDTO 和 SLEEP 或 IDLE 位会受影响。请参见本手册中的第 9 章 “ 看门狗定时器和上电延时定时器 ” (DS61114)。 7.3.6 欠压复位 PIC32MX 系列器件具有简单的欠压复位功能。如果为稳压器提供的电压不足以维持稳定电压,则 稳压器复位电路会产生 BOR 事件,该事件先与系统时钟 SYSCLK 进行同步,然后系统复位信号 会置为有效。该事件由 BOR 标志位(RCON<1>)进行捕捉。更多详细信息,请参见具体器件数 据手册的 “ 电气特性 ” 章节。 7.3.7 配置不匹配复位 为了维持所存储的配置值的完整性,所有器件配置位都以寄存器位互补集的形式装载和实现。装 载配置字时,对于装载值为 1 的每个位,都会在相应的后台字单元中存储互补值 0,反之亦然。 每次装载配置字时,都会比较每一对配置位 (包括 SLEEP (休眠)模式)。在比较期间,如果 发现配置位值彼此不互补,则产生配置不匹配事件,这会导致器件复位。 如果配置不匹配导致器件复位,则 CMR 状态位(RCON<9>)被置 1。 注: 在本手册中,对于特定模块中使用的功耗模式和器件使用的功耗模式进行了区分; 例如,比较器的 Sleep (休眠)模式和 CPU 的 SLEEP (休眠)模式。为了指示所 期望功耗模式的类型,模块功耗模式使用大写字母加小写字母 (Sleep, Idle, Debug)(休眠、空闲和调试)来表示,器件功耗模式使用全大写字母 (SLEEP, IDLE, DEBUG)(休眠、空闲和调试)来表示。 PIC32MX 系列参考手册 7.4 各种复位的影响 DS61118E_CN 第 7-12 页 初稿 © 2010 Microchip Technology Inc. 复位控制寄存器 RCON 的复位值取决于器件复位的类型,如表 7-2 中所示。 7.4.1 特殊功能寄存器的复位状态 大多数与 PIC32MX CPU 和外设相关的特殊功能寄存器(SFR)会在器件复位时复位为某个特定 值。复位值在本手册相应章节中指定。 复位控制寄存器 RCON 的复位值取决于器件复位的类型。 7.4.2 配置字寄存器的复位状态 所有复位条件都会强制重新装载配置设置。POR复位会在装载配置设置之前将所有配置字寄存器 单元设为 1。对于所有其他复位条件,配置字寄存器单元在重新装载之前不会进行复位。由于这 种行为差异,所以 MCLR 可以在 DEBUG(调试)模式期间置为有效,而不会影响 DEBUG(调 试)操作的状态。 不论复位源如何,总是会重新装载系统时钟,它由 DEVCFG1 配置字中的 FNOSC<2:0> 值指定。 在器件执行代码时,用户可以通过使用 OSCCON 寄存器来更改主系统时钟源。更多详细信息, 请参见本手册中的第 6 章 “ 振荡器 ” (DS61112)。 表 7-2: RCON 寄存器的状态位、含义以及初始化状态 条件 程序计数器 EX TR SW R W D TO SL EE P ID LE C M R B O R PO R 上电复位 BFC0_0000h 0 0 0 0 0 0 1 1 欠压复位 BFC0_0000h 0 0 0 0 0 0 1 u 运行模式期间的 MCLR 复位 BFC0_0000h 1 u u u u u u u IDLE (空闲)模式期间的 MCLR 复位 BFC0_0000h 1 u u u 1(1) u u u SLEEP (休眠)模式期间的 MCLR 复位 BFC0_0000h 1 u u 1(1) u u u u 软件复位命令 BFC0_0000h u 1 u u u u u u 配置字不匹配复位 BFC0_0000h u u u u u 1 u u 运行模式期间的 WDT 超时复位 BFC0_0000h u u 1 u u u u u IDLE (空闲)模式期间的 WDT 超时复位 BFC0_0000h u u 1 u 1(1) u u u SLEEP (休眠)模式期间的 WDT 超时复位 BFC0_0000h u u 1 1(1) u u u u 由于中断从 IDLE (空闲)模式退出 向量 u u u u 1(1) u u u 由于中断从 SLEEP (休眠)模式退出 向量 u u u 1(1) u u u u 图注: u = 不变 注 1: 先前执行的 WAIT指令定义 SLEEP 和 IDLE 位状态。 第 7 章 复位 10 复 位 7 7.4.3 使用 RCON 状态位 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-13 页 用户可以在发生任何系统复位后读取 RCON 寄存器,以确定复位的原因。表 7-3 汇总了复位标志 位的操作。 表 7-3: 复位标志位操作 7.4.4 从器件复位到开始执行代码的时间 复位事件结束时和器件实际开始执行代码之间的延时由两个主要因素决定:复位类型,以及退出 复位状态时使用的系统时钟源。表 7-4 汇总了各种器件复位类型的代码执行开始时间。关于每种 延时的详细信息,请参见具体器件数据手册的 “ 电气特性 ” 章节中的介绍。 注: RCON 寄存器中的状态位应该在被读取后清零,这样在器件复位后 RCON 寄存器的 下一个值才有意义。 标志位 置 1 源: 清零源: POR (RCON<0>) POR 用户软件 BOR (RCON<1>) POR 和 BOR 用户软件 EXTR (RCON<7>) MCLR 复位 用户软件、 POR 和 BOR SWR (RCON<6>) 软件复位命令 用户软件、 POR 和 BOR CMR (RCON<9>) 配置不匹配 用户软件、 POR 和 BOR WDTO (RCON<4>) WDT 超时 用户软件、 POR 和 BOR SLEEP (RCON<3>) WAIT指令 用户软件、 POR 和 BOR IDLE (RCON<2>) WAIT指令 用户软件、 POR 和 BOR 注: 所有复位标志位均可由用户软件置 1 或清零。 表 7-4: 各种器件复位的代码执行开始时间 复位类型 时钟源 上电延时 (1)(2)(3) 系统时钟延时 (4)(5) FSCM 延时 (6) POR EC, FRC, FRCDIV, LPRC (TPU 或 TPWRT) + TSYSDLY — — ECPLL, FRCPLL (TPU 或 TPWRT) + TSYSDLY TLOCK TFSCM XT, HS, SOSC (TPU 或 TPWRT) + TSYSDLY TOST TFSCM XTPLL, HSPLL (TPU 或 TPWRT) + TSYSDLY TOST + TLOCK TFSCM BOR EC, FRC, FRCDIV, LPRC TSYSDLY — — ECPLL, FRCPLL TSYSDLY TLOCK TFSCM XT, HS, SOSC TSYSDLY TOST TFSCM XTPLL TSYSDLY TOST + TLOCK TFSCM MCLR, CMR, SWR, WDTO 任何时钟 TSYSDLY — — 注 1: TPU = 使能片上稳压器时的上电周期。 2: TPWRT = 禁止片上稳压器时的上电周期 (上电延时定时器)。 3: TSYSDLY = 重新装载器件配置熔丝值所需的时间加上 8 个 SYSCLK 周期。 4: TOST = 振荡器起振定时器延时。 5: TLOCK = PLL 锁定时间。 6: TFSCM = 故障保护时钟监视器延时。 注: 关于参数规范,请参见第 30.2 节 “ 交流特性和时序参数 ”。 PIC32MX 系列参考手册 7.5 设计技巧 DS61118E_CN 第 7-14 页 初稿 © 2010 Microchip Technology Inc. 问 1: 如何使用 RCON寄存器来确定器件复位源? 答 1: 发生复位后,初始化代码可以检查 RCON 寄存器并确定复位源。在某些应用中, 可利用该信息来采取适当操作,以纠正造成复位发生的问题。RCON 寄存器中的 所有复位状态位应该在被读取后清零,以确保 RCON 值在下一次器件复位后能提 供有意义的结果。 int main(void) { //... perform application specific startup tasks // next, check the cause of the Reset if(RCON & 0x0003) { // execute a Power-on-Reset handler // ... } else if(RCON & 0x0002) { // execute a Brown-out-Reset handler // ... } else if(RCON & 0x0080) { // execute a Master Clear Reset handler // ... } else if(RCON & 0x0040) { // execute a Software Reset handler // ... } else if (RCON & 0x0200) { // execute a Configuration Mismatch Reset handler // ... } else if (RCON & 0x0010) { // execute Watchdog Timeout Reset handler // ... } //... perform other application specific tasks while(1); } 第 7 章 复位 10 复 位 7 7.6 相关应用笔记 © 2010 Microchip Technology Inc. 初稿 DS61118E_CN 第 7-15 页 本节列出了与手册本章相关的应用笔记。这些应用笔记可能并不是专为 PIC32MX 器件系列 而编写的,但其概念是相近的,通过适当修改并受到一定限制即可使用。当前与复位相关的应用 笔记有: 标题 应用笔记编号 目前没有相关的应用笔记。 N/A 注: 如需获取更多 PIC32MX 系列器件的应用笔记和代码示例,请访问 Microchip 网站 (www.microchip.com)。 PIC32MX 系列参考手册 7.7 版本历史 DS61118E_CN 第 7-16 页 初稿 © 2010 Microchip Technology Inc. 版本 A (2007 年 9 月) 这是本文档的初始版本。 版本 B (2007 年 10 月) 更新了文档 (删除了 “ 机密 ” 状态)。 版本 C (2008 年 4 月) 将状态修改为 “ 初稿 ” ;将 U-0 修改为 r-x。 版本 D (2008 年 6 月) 修改了图 7-2 ;删除了图 7-3 ;修改了第 7.3.2 节、第 7.3.3 节和第 7.3.4 节;修改了表 7-4 ;删 除了图 7.2 和 7.3 ;将保留位从 “ 保持为 ” 更改为 “ 写入 ”。 版本 E (2008 年 7 月) 修改了第 7.3.2 节、第 7.3.3 节、第 7.3.6 节和第 7.4.4 节。 请注意以下有关 Microchip 器件代码保护功能的要点: • Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。 • Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。 • 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。 • Microchip 愿与那些注重代码完整性的客户合作。 。代 代码 ht Ac 而制止 提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含 的英文部分,因为其中提供了有关 Microchip 产品性能和使用 情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的 任何差错不承担任何责任。建议参考 Microchip Technology Inc. 的英文原版文档。 本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。 • Microchip 或任何其他半导体厂商均无法保证其代码的安全性 代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的 为违反了《数字器件千年版权法案(Digital Millennium Copyrig 软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从  2010 Microchip Technology Inc. 初稿 商标 Microchip 的名称和徽标组合、 Microchip 徽标、 dsPIC、 KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、 PICmicro、 PICSTART、 PIC32 徽标、 rfPIC 和 UNI/O 均为 Microchip Technology Inc. 在美国和其他国家或地区的注册商标。 FilterLab、 Hampshire、 HI-TECH C、 Linear Active Thermistor、MXDEV、MXLAB、SEEVAL 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标。 Analog-for-the-Digital Age、 Application Maestro、 CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、 dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、 HI-TIDE、 In-Circuit Serial Programming、 ICSP、 Mindi、 MiWi、MPASM、MPLAB Certified 徽标、MPLIB、MPLINK、 mTouch、 Octopus、 Omniscient Code Generation、 PICC、 PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、 rfLAB、 Select Mode、 Total Endurance、 TSHARC、 码保护并不意味着我们保证产品是 “牢不可破 ” 的。 保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 t)》。如果这种行为导致他人在未经授权的情况下,能访问您的 这种行为。 DS61118E_CN 第 7-17 页 UniWinDriver、 WiperLock 和 ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地区的商标。 SQTP 是 Microchip Technology Inc. 在美国的服务标记。 在此提及的所有其他商标均为各持有公司所有。 © 2010, Microchip Technology Inc. 版权所有。 ISBN: 978-1-60932-093-5 Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州 Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和 印度的设计中心均通过了 ISO/TS-16949:2002 认证。公司在 PIC® MCU 与 dsPIC® DSC、KEELOQ® 跳码器件、串行 EEPROM、单片机外 设、非易失性存储器和模拟产品方面的质量体系流程均符合 ISO/TS- 16949:2002。此外,Microchip 在开发系统的设计和生产方面的质量体 系也已通过了 ISO 9001:2000 认证。 DS61118E_CN 第 7-18 页 初稿  2010 Microchip Technology Inc. 美洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 技术支持: http://support.microchip.com 网址:www.microchip.com 亚特兰大 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 波士顿 Boston Westborough, MA Tel: 1-774-760-0087 Fax: 1-774-760-0088 芝加哥 Chicago Itasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075 克里夫兰 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 达拉斯 Dallas Addison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Farmington Hills, MI Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo Kokomo, IN Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles Mission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608 圣克拉拉 Santa Clara Santa Clara, CA Tel: 408-961-6444 Fax: 408-961-6445 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 亚太地区 亚太总部 Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431 中国 - 北京 Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 中国 - 成都 Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 中国 - 重庆 Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 中国 - 香港特别行政区 Tel: 852-2401-1200 Fax: 852-2401-3431 中国 - 南京 Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 中国 - 青岛 Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 中国 - 沈阳 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 中国 - 武汉 Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 中国 - 西安 Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 中国 - 厦门 Tel: 86-592-238-8138 Fax: 86-592-238-8130 中国 - 珠海 Tel: 86-756-321-0040 Fax: 86-756-321-0049 台湾地区 - 高雄 Tel: 886-7-536-4818 Fax: 886-7-536-4803 台湾地区 - 台北 Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 亚太地区 台湾地区 - 新竹 Tel: 886-3-6578-300 Fax: 886-3-6578-370 澳大利亚 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 印度 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 印度 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 印度 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 日本 Japan - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 韩国 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 马来西亚 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 马来西亚 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 菲律宾 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 新加坡 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 泰国 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 欧洲 奥地利 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 丹麦 Denmark-Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 法国 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 德国 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 荷兰 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 西班牙 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 英国 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 全球销售及服务网点 01/05/10 第7章 复位 目录 7.1 简介 图7-1: 系统复位框图 7.2 控制寄存器 表7-1: 复位SFR汇总 寄存器7-1: RCON:复位控制寄存器 寄存器7-2: RCONCLR:RCON清零寄存器 寄存器7-3: RCONSET:RCON置1寄存器 寄存器7-4: RCONINV:RCON取反寄存器 寄存器7-5: RSWRST:软件复位寄存器 寄存器7-6: RSWRSTCLR:RSWRST清零寄存器 寄存器7-7: RSWRSTSET:RSWRST置1寄存器 寄存器7-8: RSWRSTINV:RSWRST取反寄存器 7.3 工作模式 7.3.1 系统复位 7.3.2 上电复位(POR) 7.3.3 MCLR复位 7.3.4 软件复位(SWR) 例7-1: 软件复位命令序列 7.3.5 看门狗定时器复位 7.3.6 欠压复位 7.3.7 配置不匹配复位 7.4 各种复位的影响 表7-2: RCON寄存器的状态位、含义以及初始化状态 7.4.1 特殊功能寄存器的复位状态 7.4.2 配置字寄存器的复位状态 7.4
/
本文档为【7 PIC32复位】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索