We are using LM3S5956 controller with IAR tool chain in our project. We are facing an issue regarding brownout interrupt handling.
We are observing a continuous reset in our system. The brownout bit is always set in the "reset cause register(RESC)" which indicates the cause of reset is brownout.We are acknowleding this by using"SysCtlResetCauseClear(SYSCTL_CAUSE_BOR)" funtion.
By default the PBORCTL register has zero which allows for generate an interrupt on occurence of brownout event.
We have enabled the brownout interrupt using "SysCtlIntEnable(SYSCTL_INT_BOR)" function & made an entry at "System Control (PLL, OSC, BO)" in the interrupt vector table.
The interrupt service handler for brownout interrupt includes the code for switching on a led.But we did not observe the led glow.
Has anyone tried to capture the brownout reset? Please let us know if we have missed any steps.Any reference to document or sample code in this regard will be of help.
Are you able to catch the brownout with the debugger still attached? If so, are you able to set a breakpoint on the brownout interrupt handler?
Are you able to capture a scope trace of the brownout event? If so, it would be helpful to see a trace of the voltage and the GPIO signal connected to the LED.
No we are not able to catch the brownout interrupt with debugger attached. We tried to capture the GPIO signal but it was of no help.
Is it possible to generate both brown interrupt & reset also?
We are able to observe a reset due to brown out even though we have not enabled that option. This we can say because we are switching on a red LED if the
reset is caused due to brown out.
We wrote an application that glows a blue led if brownout interrupt occurs & red led when the reset cause is brownout. We never observed the blue led glow.
How is the brownout condtion being generated? What is the voltage level dropping to?
There are two ways by which we are generating the brownout condition.1. Connecting a load to our system and the operating voltage is around 3.5 volt. The system can be either in hibernate or completely switched off. when we power on, there is a dip in the Vcc line and the system gets into continuous loop of resets.2. There is no load connected to the system.We start decreasing the voltage starting from 3.3V to less than 2.9V.
In either case the granularity used to decrease the voltage is 1/100th of a volt.The voltage level is dropping to less than 2.9V.
One more information the glitch on the Vcc line is around for 2 milliseconds.
Have you read the errata? What is the revision of your device?
So finally did you get the brown out interrupt work, with or without debugger attached?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.