DSP, Micros & Memory


Implementing an ultralow-power keypad interface

23 April 2003 DSP, Micros & Memory Products & Solutions

Often in applications with keypads, the condition can occur where a key can be held or stuck down, causing excess current consumption and reducing the battery life of a battery-operated product.

This article shows a solution. The keypad interface here, based on the Texas Instruments' MSP430, draws 0,1 µA while waiting for a key press, is completely interrupt driven, requiring no polling, and consumes a maximum of only 2 µA at 3 V if all keys are pressed and held simultaneously.

Figure 1. Keypad schematic diagram
Figure 1. Keypad schematic diagram

The keypad interface described in this article (schematic in Figure 1) is based on MSP430F12x device from. Its beneficial features include:

* 100 nA typical current consumption while waiting for key press.

* 2 µA maximum current consumption if all keys are held simultaneously.

* No polling required.

* No crystal required.

* Minimum external components.

* Application is suitable for any MSP430 device.

Implementation

The rows of the keypad are connected to port pins P3.0-P3.3. The columns are connected to pins P1.0-P1.2. Connecting the rows to port 3 pins, instead of port 1 pins, leaves the other port 1 pins for other interrupt sources, because the P1 pins have interrupt capability, but the P3 pins do not.

In normal mode, while the circuit is awaiting a key press (wait-for-press mode), the rows are driven high, and the P1.x column pins are configured as inputs, with interrupts enabled and set to interrupt on a rising edge. The 4.7 M. pulldown resistors hold the inputs low in this state. The MSP430 is then put into low-power mode 4, where the MSP430 current consumption is about 100 nA. This state is maintained indefinitely until a key is pressed. The circuit is completely interrupt-driven with no need for polling.

When a key is pressed, the column associated with that key gets a rising edge, waking up the MSP430. At that point, Timer_A is configured to perform a debounce delay of about 40 ms. The timer for the delay uses the internal digitally controlled oscillator (DCO) of the MSP430 - an RC-type oscillator. The DCO is subject to tolerances, so a debounce delay was chosen to give a worst-case-minimum delay of 25 ms. That translates to a worst-case-maximum delay of about 86 ms and a typical delay of about 40 ms. This is a useable range for keypad debounce.

After a key has been pressed, the MSP430 goes into a wait-for-release mode in which it drives high only the necessary row for the key being pressed (other rows are driven low). It reconfigures the P1.x I/O lines to interrupt on a falling edge, and it goes back into low power mode 4, waiting for the release of the key. Again, there is no polling necessary at this point. The detection of the key release is completely interrupt driven allowing the microcontroller to stay asleep while the key is held, thus reducing current consumption. Once the key is released, the debounce delay is again executed. After the debounce delay, the keypad is scanned again to determine if any other keys are being held. If so, the wait-for-release mode continues, waiting for all keys to be released. When all keys are released the MSP430 goes back to the wait-for-press mode again.

During the wait-for-release mode, only one row of the keypad is driven high, therefore limiting the maximum amount of current consumption to the condition where all three keys on a single row are pressed and held. For a 3 V system, that equates to about 2 µA. Any other key press does not result in increased current consumption because the corresponding row is not driven high.

In this 3 x 4 keypad example, the rows are driven rather than the columns, to limit the maximum current consumption by the circuit when all keys are pressed and held simultaneously. Had the columns been driven instead, the rows would have had the pulldown resistors, therefore increasing the number of paths to ground when all the keys are held and increasing the possible current consumption.

Figure 2. Software flow
Figure 2. Software flow

The software

The software flow chart is shown in Figure 2. Click here for the complete code listing.

For more information contact Avnet Kopp, 011 809 6100, [email protected], www.avnet.co.za





Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

MCU for noisy environments
EBV Electrolink DSP, Micros & Memory
The MCX?E24X is a high-performance microcontroller family from NXP, engineered for industrial, automotive-like, and energy-focused environments.

Read more...
SmartRAID 4300 Series
Altron Arrow DSP, Micros & Memory
Microchip’s disaggregated architecture leverages host CPU and PCIe infrastructure to overcome traditional storage bottlenecks in scalable, secure NVMe RAID storage solutions.

Read more...
High-performance SDR range
RFiber Solutions DSP, Micros & Memory
Epiq Solutions offers high-performance RF tuners and software-defined radios with various specifications for diverse applications in congested environments.

Read more...
Secure, modernise and optimise CCTV
Surveillance Products & Solutions
Industrial and commercial organisations are navigating complex digital transformation processes. With SecuVue, companies can bridge the gap between operational technology and information technology for safer, smarter operations.

Read more...
Water mist for optimal fire suppression
Fire & Instrument Services Fire & Safety Products & Solutions
Building owners, facility managers and other professionals are seeking fire suppression solutions that can meet the demands of modern buildings and facilities, including reduced water usage and environmental impact, while providing the necessary protection for assets and business operations.

Read more...
Smoke 'em out
Fire & Safety Products & Solutions
The moment an intrusion is detected, Smoke Screen’s high-powered fog cannons activate, flooding the area with a dense, harmless fog that reduces visibility to near zero within seconds.

Read more...
IoT innovation in water mist fire protection
Fire & Safety Products & Solutions IoT & Automation
Marioff, a provider of water mist fire protection, has introduced an Internet of Things (IoT) solution designed for high-pressure water mist systems, enabling real-time monitoring, smart alerts, and centralised control.

Read more...
Advanced fire safety solutions
Fire & Safety Products & Solutions
With fire incidents on the rise, it is crucial to choose fire safety solutions that are proven, reliable, and capable of providing early detection and efficient response.

Read more...
High performance SDR design considerations
RFiber Solutions Editor's Choice DSP, Micros & Memory
As the spectrum gets increasingly crowded, and adversaries more capable, the task of examining wide bands and making sense of it all, while not missing anything, gets harder.

Read more...
Direct RF converters and FPGAs boost EW applications
RFiber Solutions DSP, Micros & Memory
The latest boost to electronic warfare designs comes from emerging FPGA architectures that combine advanced RF converters and high-performance processing engines in a single package.

Read more...









While every effort has been made to ensure the accuracy of the information contained herein, the publisher and its agents cannot be held responsible for any errors contained, or any loss incurred as a result. Articles published do not necessarily reflect the views of the publishers. The editor reserves the right to alter or cut copy. Articles submitted are deemed to have been cleared for publication. Advertisements and company contact details are published as provided by the advertiser. Technews Publishing (Pty) Ltd cannot be held responsible for the accuracy or veracity of supplied material.




© Technews Publishing (Pty) Ltd | All Rights Reserved