5.5 电源电路
LPC17xx系列微控制器在电源部分需要五种电压源对其供电,分别为:
1. 内核和外部通路所需的3.3V电压源VDD(3V3);
2. 内部稳压器所需的3.3V电压源VDD(REG)(3V3);
3. 模拟部分(诸如片上ADC以及DAC)所需的3.3V电压源VDDA;
4. 模数转换器ADC所需的参考电压源VREFP;
5. 实时时钟RTC所需的3.3V电压源VBAT。
由上述分析可见,如果用户对ADC参考电压源无特殊要求,LPC17xx系列微控制器可以统一由3.3V电平的电压源供电,降低了用户在设计硬件时电源部分的复杂度,需要注意的是,模拟部分电压源VDDA可以与VDD(3V3)由相同的电压源提供,但最好隔离开来以减小电源噪声。除此之外,用户的设计中不使用ADC或者DAC,关于模拟部分电压源的管脚仍需要连接到电压源上。
现以Linpo-PS-LPC1760开发板为例,简单介绍一下LPC17xx系列微控制器电源部分的实现。如图5.4所示,开发板使用常用的1117系列LDO低压差线性稳压器将外部5V电压源降压产生LPC17xx所需的3.3V的压,EC301和C302用于对5V输入电源的滤波,EC302和C303用于对3.3V输出电流的滤波。

LPC17xx的RTC部分电路可参看图5.5,通过两个二极管D101和D102实现板上3.3V电源或者是3.3V电池对RTC供电,且电池电源不会与板上3.3V电源产生影响。

5.6 复位电路
LPC17xx系列微控制器拥有4个复位源,分别是外部RESET复位,看门狗复位,上电复位(POR)以及掉电检测复位(BOD),LPC17xx系列微处理器的复位逻辑图如图5.6所示。

一旦LPC17xx的Cortex-M3内核侦测到外部复位信号源(POR,BOD复位,外部复位和看门狗复位)出现,内部RC振荡器(IRC)启动。在内部RC振荡建立时间(IRC-start-time,上电后最多60uS)并且IRC可以提供稳定的时钟输出后,复位信号将被锁存并且与IRC时钟同步。以下的两步将会并发:
* 当同步复位信号断定后,2位IRC唤醒定时器开始计数,在2位IRC唤醒定时超时后LPC17xx内部ROM的启动代码开始执行,启动代码完成启动所需的任务以及实现跳转到Flash的功能,如果Flash没有准备好被访问,MAM将插入等待周期直到Flash准备好了。
* 当同步复位信号断定后,Flash唤醒定时器(9位)开始计数。Flash唤醒定时器将对Flash的启动时间产生100uS的定时,一旦超时则Flash初始化顺序将会启动,这个初始化任务将会持续大约250个时钟周期。当初始化顺序完成,MAM就可以准许访问MAM了。
当内部复位信号撤销后,处理器将在地址0开始执行程序。因此,所有的与处理器和外设相关的寄存器将以预定值被初始化。图5.7描述了当LPC17xx复位后启动时RESET,内部IRC以及处理器状态的关系。

1.外部RESET复位
外部RESET复位是通过外部电路将LPC17xx的RESET管脚拉低实现复位。外部RESET复位信号不能立即清除,需在振荡电路稳定工作后及LPC17xx系列微处理器的X1管脚上出现符合要求的时钟信号方可清除复位信号。
在用户实际应用中,用户须按照芯片厂商提供的复位参数正确选择复位器件以及合理的复位电路。LPC17xx系列微控制器的RESET管脚为施密特触发输入管脚,常见的外部复位电路有两种,一种为阻容复位电路,另一种为专用复位IC电路。
阻容复位电路是利用上电时电容两端的电压不能突变因此Vc为0V。随着对电容的不断充电,Vc逐渐上升直至稳定的电源电压,于是在芯片RESET管脚上形成了一定的低电平脉冲。当电源电压消失时,二极管D1为电容C1提供了一个快速放电回路,从而使RESET管脚端的电压迅速回零,以便下次上电时系统能及时可靠的复位。虽然阻容复位电路简单而且成本低廉,但并不能完全保证在任何情况下都能够产生可靠稳定的复位信号,在实际应用中,应当选用可靠稳定的专用复位芯片。图5.8为阻容复位的电路原理图。

专用复位芯片也可理解为电压监控芯片,其选型时主要注意硬件系统是否需要手动复位以及复位电压阈值的选择。随着半导体厂商技术的创新,有些厂商将专用复位IC和E2PROM、看门狗或者RTC等结合到一颗芯片上,提供更为简便的电路设计以及减小PCB的面积。Linpo-PS-LPC176X开发板选取的是圣邦微电子设计的带有手动复位的复位阈值为2.95V的SGM811,如果用户的设计并不需要手动复位功能,也可选取SGM809。复位阈值的选择是根据LPC17xx微控制器的工作电压范围来选定的,LPC17xx的工作电压范围为2.4~3.6V之间,推荐工作电压为3.3V,处于对电路工作更加稳定的考虑选取2.95V作为复位阈值比较合理,用户也可以根据自己的实际需求定制复位阈值,根据复位阈值选取合适自己的复位IC。图5.9为SGM811专用复位IC的电路原理图。实际应用中需要对LPC17xx的复位RESET脚加上10K的上拉电阻,以保证复位的可靠性。

2.看门狗复位
看门狗实际为一个独立的计数器电路,对内部的独立时钟进行计数。计数器的一处输出连接到系统电路的复位端,程序在一定时间范围内对计数器清零或者重新装载("喂狗"),以使程序正常工作即计数器不溢出,也就无法产生复位信号,如果程序执行时出现问题无法再规定的时间内复位看门狗计数器,则看门狗计数器就会溢出产生复位信号。
LPC17xx系列微控制器内部集成了看门狗的功能,对于要求不苛刻的应用,可以使用LPC17xx内部看门狗完成监控系统运行的任务。这样可以减少硬件成本并减少电路板的面积和走线。看门狗初始化代码如程序清单5.1所示。
程序清单5.1 LPC17xx 看门狗初始化代码
WDCLKSEL = 0x00; //bit1:0 WDSEL 00:选择内部RC振荡器为看门狗时钟源
WDTC = 0x003FFFFF; //设置看门狗定时器参数
WDMOD = 0x03; //设置看门狗模式:中断且复位
3.上电复位
LPC17x x系列微控制器具有上电复位功能,当VDD管脚电平超过门限值时,POR信号有效,Cortex-M3内核还是进入复位状态。
4.掉电检测
LPC17xx的VDD管脚带有2级电压检测,如果VDD电压低于2.95V,则掉电检测器(BOD)向中断向量控制器发出中断信号,使能该信号可以通过使能NVIC中的中断使能寄存器,即可产生CPU所需的中断;如果没有使能NVIC中的中断使能寄存器,软件也可以通过读取Raw Interrupt Status Register中的内容实现监控。
当VDD管脚的电压降到低于2.65V时,第2级的低压检测将产生复位信号。该复位可以防止Flash的内容发生改变,因为在低电压下各个功能部件的操作都将变得不再可靠,LPC17xx的BOD电路可以在电源电压为1V及其以上时保持复位信号。
2.95V和2.65V阈值都存在一些滞后。正常工作时,滞后使得2.95V的检测电路能够产生可靠的中断信号,掉电检测中断信号能够唤醒处于掉电模式下的CPU,使CPU退出掉电模式,但是,如果电源电压在唤醒定时器完成延时前恢复为正常电平,那么此时BOD产生的结果是:CPU被唤醒,但不会产生任何中断,RSID寄存器中的BODR位清零,此时可以确认掉电唤醒操作完成。
最新评论
4 小时 29 分钟之前
13 小时 22 分钟之前
15 小时 13 分钟之前
15 小时 15 分钟之前
15 小时 16 分钟之前
16 小时 28 分钟之前
1 天 3 小时之前
1 天 3 小时之前
1 天 5 小时之前
1 天 6 小时之前