Forums

LPC17xx深度睡眠和WDT唤醒问题

开始于 好goganmeanalias已经 2011年12月13日
大家好,

我在LPC1768上使用深度睡眠模式。您可以使用以下方式从此模式唤醒 看门狗,外部中断,RTC警报。但是,我没有外部 使用中断,并且RTC无效(也被列为 (无论如何,LPC17xx勘误表中的不可靠项),因此我正在使用WDT。

我的问题是,这不能轻易允许多个条目/退出 沉睡。我可以轻松地将看门狗中断设置为唤醒,这 工作成功。但是,WDMOD寄存器的WDINT位表示 仅可通过外部复位清除。因此,尽管我可以一次使用这种方法 进入深度睡眠,然后在我入睡后立即返回生产线, WDT ISR必须被禁用,否则它将一直触发。没有办法 清除似乎。

因此,我认为唯一的答案是必须重新设置整体的更复杂方法 处理器,设置所有时钟,就像重新启动一样,然后 跳转到其他启动例程,以确定在哪里恢复我的代码。

有人知道是否有偷偷摸摸的方法清除该WDINT位吗?或者是 还有另一种方法,您可以用来进入深度睡眠模式,然后 在您离开的地方后立即唤醒并继续吗?

谢谢!

LPC2100系列工程师指南

Il 13/12/2011 17:47,好goganmeanalias已经 ha scritto:
>
>
> Hi all,
>
>我在LPC1768上使用深度睡眠模式。您可以从此模式唤醒
>使用看门狗,外部中断,RTC警报。但是,我没有
>使用外部中断,并且RTC不起作用(它也是
>在LPC17xx勘误表中被列为不可靠的项目),所以我
> using the WDT.
>
>我的问题是,这不能轻易允许多个条目
>/进入深度睡眠状态。我可以轻松地将看门狗中断设置为
>唤醒,并且成功运行。但是,
>WDMOD寄存器表示只能通过外部复位将其清除。所以
>虽然我可以一次使用这种方法进入深度睡眠,然后返回
>我入睡后马上走,WDT ISR必须是
>禁用,或者只是不断开火。没有办法清除
> bit it seems.
>
>因此,我认为唯一的答案是更复杂的重置方法
>整个处理器,设置所有时钟,就像它是一个
>重新启动,然后跳转到其他启动例程来确定
>在哪里恢复我的代码。
>
>有人知道是否有偷偷摸摸的方法清除该WDINT位吗?
>还是有其他方法可以使您深入了解
>睡眠模式,然后从您离开的地方后立即唤醒并恢复?
>
> Thanks!
>
我可以尝试为您提供帮助,但是我不明白那是什么 event/reason
唤醒单片机。您是否需要定期唤醒(每1秒
实例)先做些事然后入睡,还是需要醒来
触发特定事件时,仅在某些时候打开MCU?
>



我有一个调用的函数,使我进入XX分钟的深度睡眠模式。 因此,例如,我想睡60分钟然后恢复,我将其发送给我 “ deepsleep(60)”。该时间将因应用程序/模式而异 changes...
---在...中,“曼卡先生”写道:
>
>Il 13/12/2011 17:47,好goganmeanalias已经 ha scritto:
> >
> >
> > Hi all,
> >
> >我在LPC1768上使用深度睡眠模式。您可以从此模式唤醒
> >使用看门狗,外部中断,RTC警报。但是,我没有
> >使用外部中断,并且RTC不起作用(它也是
> >在LPC17xx勘误表中被列为不可靠的项目),所以我
> > using the WDT.
> >
> >我的问题是,这不能轻易允许多个条目
> >/进入深度睡眠状态。我可以轻松地将看门狗中断设置为
> >唤醒,并且成功运行。但是,
> >WDMOD寄存器表示只能通过外部复位将其清除。所以
> >虽然我可以一次使用这种方法进入深度睡眠,然后返回
> >我入睡后马上走,WDT ISR必须是
> >禁用,或者只是不断开火。没有办法清除
> > bit it seems.
> >
> >因此,我认为唯一的答案是更复杂的重置方法
> >整个处理器,设置所有时钟,就像它是一个
> >重新启动,然后跳转到其他启动例程来确定
> >在哪里恢复我的代码。
> >
> >有人知道是否有偷偷摸摸的方法清除该WDINT位吗?
> >还是有其他方法可以使您深入了解
> >睡眠模式,然后从您离开的地方后立即唤醒并恢复?
> >
> > Thanks!
> >
>我可以尝试为您提供帮助,但我不知道事件/原因是什么
>唤醒单片机。您是否需要定期唤醒(每1秒
>实例)先做些事然后入睡,还是需要醒来
>触发特定事件时,仅在某些时候打开MCU?
> >
> >
> >
>

你好:

RTC问题已在芯片芯片的Rev A中修复。我用过 RTC每隔X秒将处理器从深度睡眠模式可靠地唤醒一次。不 need to use the WDT.

问候,

亚历克斯·R。
---在《 ...》中,“ 好goganmeanalias已经”写道:
>
>我有一个函数叫我进入XX的深度睡眠模式 分钟。因此,例如,我想睡60分钟然后恢复,我会发送 它 changes...
>---在...中,“曼卡先生”写道:
> >
> >Il 13/12/2011 17:47,好goganmeanalias已经 ha scritto:
> > >
> > >
> > > Hi all,
> > >
> > >我在LPC1768上使用深度睡眠模式。您可以从此模式唤醒
> > >使用看门狗,外部中断,RTC警报。但是,我没有
> > >使用外部中断,并且RTC不起作用(它也是
> > >在LPC17xx勘误表中被列为不可靠的项目),所以我
> > > using the WDT.
> > >
> > >我的问题是,这不能轻易允许多个条目
> > >/进入深度睡眠状态。我可以轻松地将看门狗中断设置为
> > >唤醒,并且成功运行。但是,
> > >WDMOD寄存器表示只能通过外部复位将其清除。所以
> > >虽然我可以一次使用这种方法进入深度睡眠,然后返回
> > >我入睡后马上走,WDT ISR必须是
> > >禁用,或者只是不断开火。没有办法清除
> > > bit it seems.
> > >
> > >因此,我认为唯一的答案是更复杂的重置方法
> > >整个处理器,设置所有时钟,就像它是一个
> > >重新启动,然后跳转到其他启动例程来确定
> > >在哪里恢复我的代码。
> > >
> > >有人知道是否有偷偷摸摸的方法清除该WDINT位吗?
> > >还是有其他方法可以使您深入了解
> > >睡眠模式,然后从您离开的地方后立即唤醒并恢复?
> > >
> > > Thanks!
> > >
> >我可以尝试为您提供帮助,但我不知道事件/原因是什么
> >唤醒单片机。您是否需要定期唤醒(每1秒
> >实例)先做些事然后入睡,还是需要醒来
> >触发特定事件时,仅在某些时候打开MCU?
> > >
> > >
> > >
> >
> >
> >
> >
>

谢谢亚历克斯。我使用的硬件不是Rev-A。也许我会尝试获取 chips replaced.

过去,我在使用RTC晶体时遇到过一些问题(可能只是电容器) 选择)。您是否遇到了与RTC相关的任何与深度睡眠唤醒有关的问题 您想继续吗?

谢谢!

---在l ...中,“ alexander_ribero”写道:
>
> Hi:
>
>RTC问题已在芯片芯片的Rev A中修复。我用过 RTC每隔X秒将处理器从深度睡眠模式可靠地唤醒一次。不 need to use the WDT.
>
> Regards,
>
> Alex R.
>---在《 ...》中,“ 好goganmeanalias已经”写道:
> >
> >我有一个函数叫我进入XX的深度睡眠模式 分钟。因此,例如,我想睡60分钟然后恢复,我会发送 它 changes...
> >
> >
> >---在...中,“曼卡先生”写道:
> > >
> > >Il 13/12/2011 17:47,好goganmeanalias已经 ha scritto:
> > > >
> > > >
> > > > Hi all,
> > > >
> > > >我在LPC1768上使用深度睡眠模式。你可以从这里醒来 mode
> > > >使用看门狗,外部中断,RTC警报。但是,我没有
> > > >使用外部中断,并且RTC不起作用(它也是
> > > >在LPC17xx勘误表中被列为不可靠的项目),所以我
> > > > using the WDT.
> > > >
> > > >我的问题是,这不能轻易允许多个条目
> > > >/进入深度睡眠状态。我可以轻松地将看门狗中断设置为
> > > >唤醒,并且成功运行。但是,
> > > >WDMOD寄存器表示只能通过外部复位将其清除。所以
> > > >虽然我可以一次使用这种方法进入深度睡眠,然后 return
> > > >我入睡后马上走,WDT ISR必须是
> > > >禁用,或者只是不断开火。无法清除 that
> > > > bit it seems.
> > > >
> > > >因此,我认为唯一的答案是更复杂的重置方法
> > > >整个处理器,设置所有时钟,就像它是一个
> > > >重新启动,然后跳转到其他启动例程来确定
> > > >在哪里恢复我的代码。
> > > >
> > > >有人知道是否有偷偷摸摸的方法清除该WDINT位吗?
> > > >还是有其他方法可以使您深入了解
> > > >睡眠模式,然后从您离开的地方后立即唤醒并恢复?
> > > >
> > > > Thanks!
> > > >
> > >我可以尝试为您提供帮助,但我不知道事件/原因是什么
> > >唤醒单片机。您是否需要定期唤醒(每1秒一次) for
> > >实例)先做些事然后入睡,还是需要醒来
> > >触发特定事件时,仅在某些时候打开MCU?
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
>

Il 14/12/2011 06:34,好goganmeanalias已经 ha scritto:
>
>
>谢谢亚历克斯。我使用的硬件不是Rev-A。也许我会尝试
>更换芯片。
>
嗯...我相信WDT不能用于您的目的。如果你
可以在硬件方面工作,您可以在输出比较模式下使用计时器
将输出的输出引脚连接到中断引脚(或
GPIO P0或P2引脚)并使用该引脚唤醒MCU。你也可以
通过非Rev A零件区分以实现此管理和正常
零件的RTC管理>= Rev. A
>过去,我在使用RTC晶体时遇到了一些问题 (probably just
>电容器的选择)。您是否遇到了与RTC相关的任何问题(包括运费)
>您想通过深度睡眠唤醒吗?
>
> Thanks!
>
> --- In l... ,
>“ alexander_ribero”写道:
> >
> > Hi:
> >
> >RTC问题已在芯片芯片的Rev A中修复。我有
>使用RTC可靠地将处理器从深度睡眠模式唤醒
>每X秒。无需使用WDT。
> >
> > Regards,
> >
> > Alex R.
> >
> >
> > --- In l... ,
>“ 好goganmeanalias已经”写道:
> > >
> > >我有一个叫我进入深度睡眠模式的函数
>XX分钟。举例来说,我想睡60分钟
>简历,我将其发送为“ deepsleep(60)”。这段时间会有所不同,具体取决于
>应用程序/模式更改...
> > >
> > >
> > > --- In l... ,
> "曼卡" wrote:
> > > >
> > > >Il 13/12/2011 17:47,好goganmeanalias已经 ha scritto:
> > > > >
> > > > >
> > > > > Hi all,
> > > > >
> > > > >我在LPC1768上使用深度睡眠模式。你可以从
> this mode
> > > > >使用看门狗,外部中断,RTC警报。但是,我
> don't have
> > > > >使用外部中断,并且RTC不起作用(它也是
> > > > >在LPC17xx勘误表中被列为不可靠的项目),所以我
> > > > > using the WDT.
> > > > >
> > > > >我的问题是,这不能轻易允许多个
> entries
> > > > >/进入深度睡眠状态。我可以轻松设置看门狗中断
> as the
> > > > >唤醒,并且成功运行。但是,
> > > > >WDMOD寄存器表示只能通过外部复位将其清除。所以
> > > > >虽然我可以一次使用这种方法进入深度睡眠
> then return
> > > > >我入睡后马上走,WDT ISR必须是
> > > > >禁用,或者只是不断开火。没有办法
> clearing that
> > > > > bit it seems.
> > > > >
> > > > >所以我认为唯一的答案是更复杂的
> to reset
> > > > >整个处理器,设置所有时钟,就像
> it was a
> > > > >重新启动,然后跳转到其他启动例程来确定
> > > > >在哪里恢复我的代码。
> > > > >
> > > > >有谁知道是否有偷偷摸摸的方法清除它
> WDINT bit?
> > > > >还是有其他方法可以使您深入了解
> > > > >睡眠模式,然后唤醒并在您之后继续
> left off?
> > > > >
> > > > > Thanks!
> > > > >
> > > >我可以尝试为您提供帮助,但是我不明白那是什么
> event/reason
> > > >唤醒单片机。您是否需要定期唤醒(每1个
> sec for
> > > >实例)先做些事然后睡觉或您需要
> to wake
> > > >触发特定事件时,仅在某些时候打开MCU?
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >