登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请周公抽时间务必看看,LPC900的复位实在让我难以理解!

作者:andrewpei 栏目:MCU技术
请周公抽时间务必看看,LPC900的复位实在让我难以理解!
前几天看了您的对于LPC900的回贴,才再次激起了我对932的兴趣。这以前我一直是用430单片机的。

言归正题吧!今天周日,我又把自己以前设计的试验板找了出来做了实验。
我的试验板设计是这样的:
DC9V->整流桥->7805->CS8231-3(ONSEMI的LDO)->LPC932<->MAX3222I,
                                              |
                                           MAX809R
MAX809R复位电路与贵公司的技术文档“LPC900系列单片机复位电路的可靠性设计”中的图7(以下简称 复位设计图7)完全一样。我把图贴到本文的最后。
其中,LPC932是G版的,从你们公司邮购,一共两片,批号为:P89LPC932BA CC2513 T10143G,从来没有被编程过。MAX3222I是TI的样片,MAX809RONSEMI的样片。因此,芯片都是正规渠道来的,应该没有问题。

新的LPC932在试验中出现的故障表现为:
1、系统上电后,FlashMagicV2.10常常与LPC932通讯不上(用贵公司的ZLGISPV1.22也一样)。反复上电几次后(没有慢速上电的情况),可以通讯上。
2、在这之后再下电,但保持D9头与MAX3222I相连,再上电,基本都可以一次ISP通讯成功。
3、重复2,情况同2。
3、若从2下电时,同时拿掉D9头,再次上电后,常浑很难ISP通讯成功,失败机率在20%以上。于是重复1。

以上说明了什么呢?我分析认为:可能是D9头经MAX3222I的漏电流对于保持LPC932上电复位电路的“正常工作”有很大关系。这个问题我现在限于实验手段的限制,没有办法准确地进一步分析。作为新片,LPC932上电后就应该处于ISP状态,可是我的试验却出现了上述的情况,答案只有一个,机器BOOT不成功,没有进入ISP状态。我推测,很可能是“死机”了。


在正式讨论之前,我想与周工就两个术语取得一致:“内部复位”与“外部复位”。
外部复位不用细说了,就是通过P1.5/RST引脚对系统进行复位,条件是由外部复位电路将P1.5/RST引脚拉低。
内部复位应该就是指PHILIPS手册上说的Power-up sequence吧!或者还应该加上Brownout。不知这两点我和您的理解是否相同?

首先,我想引用一下PHILIPS公司的技术文件P89LPC932 User Manual(Dec. 3, 2003) 中的关于复位的叙述

NOTE: During a POWER-on sequence, The RPE selection is overriden and this pin will always functions as a reset input. An external CIRCUIT connected to this pin should not hold this pin low during a Power-on sequence as this will KEEP the DEVICE in reset. After POWER-on this input will function either as an external reset input or as a DIGITAL input as defined by the RPE bit. ONLY a POWERon reset will temporarily override the selection defined by RPE bit. Other sources of reset will not override the RPE bit.
NOTE: During a POWER cycle, VDD must fall below VPOR (see "DC electrical characteristics" in the datasheet) before pwoer is reapplied, in order to ensure a POWER-on reset.

从第一段中可知:在上电复位时序过程中,P1.5/RST引脚的总是作为外部RST输入,这期间UCFG1对P1.5/RST的配置是暂时无效的。
从第二段中得知:激活LPC932进入Power-on sequence的条件是VDD的数值必须跌落到 VPOR以下,查手册LPC932 PRODUCT Data(Rev. 04 -- 06 January 2004)得VPOR为0.2V(MAX)。
从第一段还可以推测出来:LPC932的Power-on sequence不只是做了“复位”的工作,很可能还作了一些其它的动作,否则PHILIPS不会要求“An external CIRCUIT connected to this pin should not hold this pin low during a Power-on sequence as this will KEEP the DEVICE in reset.”。可见,在Power-on sequence过程中将RST拉低会干扰或者破坏LPC932的Power-on sequence正常执行。

接下来就可以讨论周工推荐的复位设计图7了,在讨论之前,我查阅了ONSEMIMAX809R的文档(我用的是ONSEMI的,其它公司的也应该基本相同吧)。总结一下MAX809R文档中对复位输出与上电电压的关系如下:当VCC<1.0 V时,RESET引脚与MAX809R内部处于断开状态;当VCC达到1.0 V的门槛后,RESET开始输出低有效,并保持到MAX809R的VCC电压越过2.63 V后140 ms才再次拉高。
回头来看复位设计图7,该图的标记说明是“纯3V系统,内部复位应用示意图”。周工告诉我们这个复位设计的应用前提是将UCFG1中的RPE位编程为0,最好还将UCFG1中的FOSC2-FSOC0编程为“011”。OK,一切按您的指导处理,我们分析一下这个设计在正常的非慢速上电以后应该有什么反应。
1、首先,系统电压从0上升到0.2V(VPOR),Power-on sequence启动,UCFG1的配置暂时失效,RST引脚是外部复位输入功能;与此同时,MAX809R的RESET输出与MAX809R内部是断开的,因此,LPC932的RST引脚被其内部的10K-30K上拉电阻拉高。也就是说,这一阶段的RST引脚状态与符合PHILIPS的技术要求。
2、系统电压继续上升至1.0 V,这时MAX809R开始输出低有效的RESET信号。这下问题出来了:这个时刻Power-on sequence完成了吗?通常情况下讲,Power-on sequence还在进行着,这一点我想向从事IC设计的专业人员求证一下。如果Power-on sequence这时仍在进行,则RST引脚的实际状态与PHILIPS的技术要求相背。

如果上述分析正确合理的话,那么可以推出复位设计图7在系统上电时也是违背PHILIPS的技术要求的。再引申一下,LPC932单片机设计究竟能不能用外部复位,如果要用,怎么样用才能满足PHILIPS的技术要求----上电时RST引脚状态为高。如果不能用,那么,所有基于LPC932单片机的设计其可靠性将在极大程度上取决于该机器本身的Power-on sequence过程。显然我们搞应用的人就会问,这个Power-on sequence的可靠性有多高?

另外再说一句题外话:我仔细看了PHILIPS作的51内核的单片机,从标准12 clock的,到6 clock的, 再到比较新的LPC700,都没有对RST引脚单独作出本文中引用的那一个NOTE。个人感觉很奇怪,猜想是不是为了实现2 clock的51所付出的代价呢?



2楼: >>参与讨论
andrewpei
贴图
 

3楼: >>参与讨论
zhaoyk1981
厉害
暂时没遇到,先帮你顶一下
你今天的麻烦就是我明天的经验呀
谢谢

4楼: >>参与讨论
zlg900
re
to andrewpei

1, 我向来推荐大家使用ICP的,因为ICP比ISP方便,
   1,ISP要牵扯到串口及串口软件,
   2,ISP要牵扯到您的串口电路,
   3,如果您的一块板子上,一个新的片子都无法进入ISP的话,
   以我的经验来看,有可能是哪个地方的电路有可能没有处理好,
  (有些熟悉ISP的工程师偶尔也会出错)
  或者在软件的操作上没有熟悉,

2,您对LPC932 的使用指南专研得很仔细! 很少看到有人能这么仔细的!呵呵,佩服!

An external CIRCUIT connected to this pin should not hold this pin low during a Power-on sequence as this will KEEP the DEVICE in reset.
如果这段话,大家按照下面的方式就比较容易理解了
”如果在 Power-on sequence 的过程中,外部电路使/RST引脚处于低电平,则MCU将一直处于复位态。“

谈到这里就要牵扯到芯片的上电复位问题了!(针对所有的 低电平复位芯片)
为什么809R上到  2.63V以后要有一个比较长时间(160~200ms)的低电平延迟,在这段时间里芯片将一直处于复位状态,那是为了保证芯片的VDD能够得到  “稳定”的供电,是为了保证芯片的晶振能够充分地起振。
这样的复位才是一个完整的POR过程,一个可靠的POR过程。

所以 809R 从1V到2.63V,甚至后面160ms的  /RST过程,对900是有效的。

这是我们公司的一些应用工程师经验累积的结果。他们把这些经验写成文档,放在网上是为了与更多的工程师进行交流。

谢谢 大家对 ZLG公司的支持!

to andrewpei
我们公司也有CAT809啊,...功能差不多的,如果感兴趣可以考虑与销售联系一下!


5楼: >>参与讨论
zlg315
不知道您的问题是否已经解决?
 
6楼: >>参与讨论
toonaive
ICP的话是否需要编程器?
 
7楼: >>参与讨论
zlg900
可以使用MiniICP下载线。
可参考http://www.zlgmcu.com/tools/bianchengqi/MiniICP/MiniICP.pdf

8楼: >>参与讨论
ye77
遇到了同样的问题!!!
    我使用LPC920芯片,使用3.6V工作电压,设置成外部复位,使用SP809-2.6V复位芯片.整个系统中连了60个使用LPC920芯片的子系统.测试如下:
    第一次上电,60个使用LPC920芯片的子系统都正常.
    (A)断电20秒后,再上电,所有LPC920芯片的子系统都正常.
    (B)断电30秒后,再上电,有四个LPC920芯片的子系统不能工作.而且RST脚加低电平也不能复位.
    (C)断电40秒后,再上电,有六个LPC920芯片的子系统不能工作.
    (D)断电50秒后,再上电,有五个LPC920芯片的子系统不能工作.
    (E)断电60秒后,再上电,所有LPC920芯片的子系统都正常.
    
注:以上测试每个过程都重复了5次.当LPC920芯片的子系统不能工作时,只要系统断电后,马上上电就能恢复正常工作.但LPC900芯片给人的感觉有点不放心.
    希望周公能抽时间关注一下这个问题.给出一个可靠的外部复位方案.
    E_Mail:wista77@yahoo.com.cn

9楼: >>参与讨论
ye77
解决办法探讨
例:当PLC9XX使用3V供电时,使用外部复位.使用阀值电压2.6V.

   外部复位满足以下条件:
单片机上电过程中:
   电压小于2.6V时,输出高电平.(确保Power-on sequence过程完成)
   电压等于2.6V时,输出一定宽度的低电平.
   电压大于2.6V时,输出高电平.

10楼: >>参与讨论
zlg900
re
请将您的复位模式改成内部复位,
电路不变
您会发现您的系统不再有以上问题!

11楼: >>参与讨论
ye77
问题已基本解决
上述问题已基本解决.不过LPC900芯片的缺陷是存在的.或者是关于RST介绍的太少.

参与讨论
昵称:
讨论内容:
 
 
相关帖子
764的板上编程(ICP)是那两个脚呀
I2C中,从发送器如何知道已接受地址!
有没有932计数方面的程序?
led为何不闪烁?
isd51的疑问
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号