Quantcast
Viewing all articles
Browse latest Browse all 262198

MSP430 Reducing Power Consumption / Clocks / WDT

Hi all

I am quite new to the MSP430 and want to clarify a few things.

I am using a TI Lanchpad rev 1.5 with a custom breakout board featuring a sensor linked via I^2C and a wireless RF module linked via UART, I am using the MSP430G2553 module with the internal USCI module for the communications, I have a program working where the MSP430 goes into sleep mode 4, it is then awoken by the sensor every 12 seconds by an interrupt on port 1 (seperate pin to the I^2C SCLK / SDA pins), MSP430 then requests data from the sensor, when recieved it then sends it back to a computer via the wireless UART module. The program is functioning correctly.

I will intend to change to low power mode 3 as I plan on using the watchdog timer in the future (I currently disable this in my program).

The sensor and wireless module go into sleep mode in-between samples. I am seeing the current fall to around 1-2uA during the sleep mode for the MSP430 (disconnected sensor and wireless module), is there a way to reduce this even lower by using a slower clock when in sleep mode, as time is not really crucial here, as long as when it wakes up the clock can stabilise to read the I^2C data / set the baud rate reliably.

I am using the inbuilt DCO chip set at 1Mhz, this is then scaled for the 9600 Baud rate UART and the 100kHz I^2C communication to the sensor. I have seen that the MSP430 has a built in very low frequency oscillator (VLOCLK), can this be used at a slower rate during the sleep mode to reduce power? I see this is not disabled during low power mode 3. Then use the 1Mhz value during 'awake mode" to ensure the system gets the data and send it on quickly to return back to sleep mode.

Also I plan to implement the watchdog timer, say I would like to set this to say 30 seconds to allow for missing two reads of data showing a fault on the sensor, how would this be achieved? I would want the watchdog timer to be cleared every time the sensor gets read, to avoid it resetting the system. Looking through the header file (msp430g2553.h) I can see that the WDT can be configured from the different clock sources, however the maximum time seems to be 1000ms (1 second), I have seen in a sample code that the WDT can be set up as a routine that increments a variable, which is then compared to a threshold, if the threshold is reached then the system will then take some form of action (eg in this case reset), everytime the system functions when reading sensor data this variable can be cleared to avoid the WDT kicking in during normal operation. Is this the only option to achieve this or can the WDT be setup on a really slow clock and then a divider used to create a WDT for a longer period than 1 second?

Also looking at the value range devices which fit the Launchpad, as I am not using port 2 the extra 6 pins of the 20 pin module are not being used, i have looked around at the 14 pin devices but cannot find any with the USCI module rather than the USI module, does anyone know if any exist and part numbers if so, am I likely to see any reduction in power with the device without port 2 access? If not what is the best state to leave the port pins if they are not connected? ie I asume ensure the internal resistor is disbaled, but should I tie then to ground or VCC or let them float etc?

Thanks in advance for any help in this matter.

I have had a good read through the MSP430 basics book, need to have another read of the relevant section on clocks and also a bit more indepth in the family users guide for the device.

Darren


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>