首页/文章/ 详情

PIC16F17xx单片机的POR和BOR那些事

1年前浏览1802

大家好,我是电源漫谈PIC16F单片机使用广泛,在工业,汽车领域都有很多应用,本文通过介绍此芯片PORBOR相关的特性,以便对上述性能有一些基本的理解,有助于一些典型问题的分析。

1 多种复位源  

类似于一般的单片机,PIC16也可以有多种复位源使其处于复位状态中,如POR上电复位,BOR掉电复位,MCLR pin的外部复位,WDT看门狗复位,或者通过指令进行复位,除此之外,还有一些和堆栈使用故障相关的复位等,今天我们重点分析PORBOR这两种和VDD相关的复位。  

谈到PORBOR复位,不得不提到一个启动定时器Power Up Timer,这个定时器可以用来扩展PORBOR之后的复位时间,当然它可以选择使能或者不使能,通过这个功能,可以允许MCU的供电电压VDD可以有充分的时间达到稳定。  

2 PIC16片上复位电路的框图  

从上述PIC16的复位电路框图来看,下面三种复位POR,BOR,LBOR涉及到VDD电压的状态,同时在控制链路上可以选择Power Up Timer的使用,最终让器件复位。  

POR电路复位说明  

简单来说,POR电路使得器件处于复位状态,一直等到VDD电压达到一个可以接受的最小运行电压,当VDD上升比较慢时,或者需要快速运行速度时,或者一些模拟外设性能发挥等,都需要VDD电压大于最小运行电压。PWRT,MCLR,BOR等电路都可以用来扩展复位时间,一直到所有的器件运行条件都满足。  

3 PIC16的供电电压  

上表中显示了PIC16F176xPIC16LF176x两个系列产品的供电电压相关的规格,可以看到D001项指标中显示降低了供电电压到2.3V,则限制了MCU的运行系统时钟频率为16MHz,同时也可以看到RAM数据保持需要的电压至少是1.5V.


5 慢速上升VDD时的PORPOR REARM特性  

从上图中NPOR信号来看,当VDD电压处在BPOR电压以下时(当电压下降时有一个延时TVLOW2.7uS,器件将处于复位状态,当电压上升到VPOR之前(此时也有一个延时参数TPOR1uS)器件处于复位状态。  

这里重点说一下Power Up Timer的特性,它提供了一个标准的64msTime-Out时间,它将加在POR或者BOR复位释放之后启动,一般来说只要PWRT是低电平,那么器件一定是处在复位状态,在器件启动中的主要作用就是,让VDD获得足够的延时以便达到稳定状态。这个定时器可以在配置字中使能PWRTE位清零来实现使能。  

BOR电路复位说明  

当器件电压VDD达到一个可选的最小电压时,器件将处于复位状态,这将使得在PORBOR电压之间可以实施完整范围的保护。BOR模块具有四个运行模式BOR总是使能,BOR当睡眠时不使能,BOR被软件控制,BOR总是不使能等,这是由配置字中的BOREN位决定的。接下来我们详细说明一下四种模式的区别。  

BOR电压值是可以选择的,通过配置配置字中的BORV位就可以选择,VDD噪声抑制滤波器阻止了在一些小事件中BOR的误触发,如果VDD下掉到低于VBOR一段时间,这段时间大TBORDC时,那么器件将发生复位。  

6 BOR运行状态说明  

从上述简图中看,当VDD电压掉到一定电压时,且这个状态会持续一定时间,那么器件将进行复位,当电压再次上升到BOR时可以采用Power Up Timer扩展复位时间。  

7 BOR复位相关规格说明  

在上述表格中,我们可以看到33参数为Power Up Timer周期,典型值为65ms35参数为BOR电压的三个选项,对于PIC16F176x系列来书,不同的BORV值可以选择不同的BOR电压,最小值为2.3V或者2.55V.

同时可以看到36参数为BOR滞环电压VHYST为最大75mV,37参数为BOR的响应时间为最大35uS  

8 BOR的示意图和相关参数规格的关系  

从上述BOR示意图中,我们可以看到当电压VDD下降到VBOR时,经过参数37响应时间delay后,器件进入复位状态,电压再次达到VBOR时,由于有滞环电压VHYST,因此会有一点delay,当使能Power Up Timer后,这个定时器基于参数33进行delay复位时间,结束这个时间后,器件退出复位状态。  

9 BOR的四种状态  

从上述例子中,可以看到对BOR释放,和从睡眠中唤醒,启动都是没有delay的。BORready Flag BORRDY=1将会在CPU执行指令之前设置,因为BOR电路是通过BOREN位强制使能的。  

当配置字的BOREN为编程为11时,BOR就会总是处于使能:  

器件启动将发生delay,直到BORready的,并且VDD是高于BOR门限的。BOR保护在睡眠中是有效的,因为一直都是使能的,所以BOR不会出现睡眠中启动delay  

BOR在睡眠中是关闭:  

当配置字的BORENx位是编程为0b10时,除了在睡眠中,BOR都是使能的。器件启动将会delay,直到BORready并且VDD电压高于BOR门限电压。BOR保护在睡眠中是无效的,器件唤醒将会delay,直到BORready  

BOR通过软件控制:  

当配置字的BORENx位设置为0b01时,BOR是由BORCON寄存器中的SBOREN软件位控制,器件启动是不会受BOR ready的条件所delay,也不会受VDD电平而delay。当BOR电路ready后,BOR保护将开启,BOR电路的状态是在BORCON寄存器中的BORRDY位体现,这种情况下,BOR保护功能不会受睡眠条件的影响。  

10 VDD的上升时间影响  

对于PORBOR来说,受到VDD上升时间的影响,从规格来看,为了确保PORBOR电路信号合理释放,需要满足最小0.05V/ms的启动时间。  

最后说一下,低功耗BOR复位是复位系统一个重要的部分,LPBOR是用于监控外部的VDD pin当太低的电压检测到后,器件就会处于复位状态,当这发生时,寄存器位BOR位就会改变去表示BOR复位发生了。BORLBOR两种情况都会设置同一个bitLPBOR是受配置字的LPBOR位控制,当器件擦除后,LPBOR模块是默认disableLPBOR模块输出信号用以表示是否复位发生,这个信号会和BOR模块的复位信号取或,以便提供一般的BOR信号,给到PCON寄存器和电源控制模块。图7中,可以看到LPBOR=1时,BOR电压检测为1.8V.

以上对PIC16F17xx系列这个芯片的PORBOR,LPBOR等特性做了一些基本的分析,希望能对读者有一定的帮助,在遇到类似的问题需要分析时能够做到概念清楚。  


来源:电源漫谈
电源电路汽车芯片控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-15
最近编辑:1年前
仿真秀32093466624
硕士 签名征集中
获赞 90粉丝 77文章 167课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈