Content originally posted in LPCWare by johnhe on Tue Apr 20 00:57:19 MST 2010
I have looked at the deep sleep architecture for the ARM Cortex series. From memory, I think the main obligatory requirement on vendors with deep sleep is to shut off the clock to the NVIC interrupt controller. This will prevent interrupts being triggered from normal peripherals. With normal sleep just the clock to the core is shut off.
So I don't think NXP are violating architectural standardsby allowing peripeherals to be clocked during deep sleep: the NVIC simply will not be able to notice their interrupts. NXP allows what they vaguely call 'start logic' to trigger a device to leave deep sleep, using pins.
With this in mind we are then at the mercy of ARM vendors, such as NXP, as to what they choose to allow clocks to do with peripherals during deep sleep. The manual is pretty clear in this case. The system clock is disabled. The system clock clocks peripherals. We now know this is not true.
Despite what NXP staff are said to be saying, I suspect the clocking of peripherals is really a silicon fault instead of intentional. ARM chip implementations have always been weak on low power issues and on clocking in low power, I imagine for territorial patent reasons
What I imagine happened is that there was a design review failure that failed to notice design features that should have been removed, as patent licenses are unlikely to has been obtained for the features.
On the other hand they could be a forgotten feature from a time when NXP was expected to be bought out by a competitor who perhaps has licenses for the features. I think the markets have got tired of using NXP for their favourite imminent takeover target whipping boy.
There is no mercy in the ruthless cut throat silicon industry, which is held precariously intact by the threat of mutually assured destruction if patent violation wars break out and by keeping to territorial patches.
Unless there are explicit statements from NXP that corrects the manual, we cannot assume the peripheral clocking in deep sleep can be configured to remain on during deep sleep.
On the other hand maybe NXP want to be taken over to escape their crippling debt, and are goading the industry! I would hate to think we are being manipulated as pawns.
This is what I stated earlier in this thread:
Quote: johnhe
From the LPC111x user manual section 3.7.3:
"In Deep-sleep mode (see Section 3–8) for details), the chip is in Sleep mode, the system clock is disabled,"
So what is the system clock?
From the LPC111x user manual section 3.4.11:
"The main system clock clocks the core, the peripherals, and the memories."
So in deep sleep, the clock is disabled higher up the hierarchy than for normal sleep. Normal sleep just disables the clock to the core. For sleep purposes the interrupt controller (NVIC) should be considered a peripheral and not part of the core. The interrupt controller also requires a clock. For deep sleep 'start logic' connected to pins provides a workaround to this requirement.
Since the system clock is disabled in deep sleep there is a disconnect between a relevant oscillator that may not be shut down during deep sleep and between timer peripherals.
While a timer peripheral will wake up from normal sleep, a timer peripheral cannot be used to wake up from deep sleep with the LPC1114, even if its oscillator is not shut down.
There is no separate RTC domain for the LPC1114 to generate a start logic interrupt.
John Heenan
Quote: hfischer
Hi all,
maybe one of the NXP Staff or technical artist could give an answer to this odd circumstance. Cause me and I think other developer rely on the documents which are released. And when there is a feature which is not revealed in the documents, why should it not work.
I wonder if you, John, give us your source for your claim that it is a hardware fault in the silicon and it should not be relied on it, because my development bases on this possibility to wakeup by software from deep sleep.
If it would not be sure that this feature will be supported for long time, I have to think about a other solution, what would hurry out to a other producer of MCUs.
Thanks