|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请周公抽时间务必看看,LPC900的复位实在让我难以理解! |
作者:andrewpei 栏目:MCU技术 |
前几天看了您的对于LPC900的回贴,才再次激起了我对932的兴趣。这以前我一直是用430单片机的。 言归正题吧!今天周日,我又把自己以前设计的试验板找了出来做了实验。 我的试验板设计是这样的: DC9V->整流桥->7805->CS8231-3(ONSEMI的LDO)->LPC932<->MAX3222I, | MAX809R MAX809R复位电路与贵公司的技术文档“LPC900系列单片机复位电路的可靠性设计”中的图7(以下简称 复位设计图7)完全一样。我把图贴到本文的最后。 其中,LPC932是G版的,从你们公司邮购,一共两片,批号为:P89LPC932BA CC2513 T10143G,从来没有被编程过。MAX3222I是TI的样片,MAX809R是ONSEMI的样片。因此,芯片都是正规渠道来的,应该没有问题。 新的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了,在讨论之前,我查阅了ONSEMI的MAX809R的文档(我用的是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 于 2005/3/6 13:14:00 发布:
贴图 |
3楼: | >>参与讨论 |
作者: zhaoyk1981 于 2005/3/6 13:35:00 发布:
厉害 暂时没遇到,先帮你顶一下 你今天的麻烦就是我明天的经验呀 谢谢 |
4楼: | >>参与讨论 |
作者: zlg900 于 2005/3/6 23:27:00 发布:
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 于 2005/3/7 16:38:00 发布:
不知道您的问题是否已经解决? |
6楼: | >>参与讨论 |
作者: toonaive 于 2005/3/11 9:43:00 发布:
ICP的话是否需要编程器? |
7楼: | >>参与讨论 |
作者: zlg900 于 2005/3/11 9:48:00 发布:
可以使用MiniICP下载线。 可参考http://www.zlgmcu.com/tools/bianchengqi/MiniICP/MiniICP.pdf。 |
8楼: | >>参与讨论 |
作者: ye77 于 2005/7/25 15:00:00 发布:
遇到了同样的问题!!! 我使用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 于 2005/7/26 8:12:00 发布:
解决办法探讨 例:当PLC9XX使用3V供电时,使用外部复位.使用阀值电压2.6V. 外部复位满足以下条件: 单片机上电过程中: 电压小于2.6V时,输出高电平.(确保Power-on sequence过程完成) 电压等于2.6V时,输出一定宽度的低电平. 电压大于2.6V时,输出高电平. |
10楼: | >>参与讨论 |
作者: zlg900 于 2005/7/26 8:37:00 发布:
re 请将您的复位模式改成内部复位, 电路不变 您会发现您的系统不再有以上问题! |
11楼: | >>参与讨论 |
作者: ye77 于 2005/7/27 7:48:00 发布:
问题已基本解决 上述问题已基本解决.不过LPC900芯片的缺陷是存在的.或者是关于RST介绍的太少. |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |