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:

Cost-effective microcontroller series
Altron Arrow DSP, Micros & Memory
The STM32C5 series from STMicroelectronics delivers an excellent balance of performance, efficiency, and affordability for embedded designs that require more capability without increasing bill of materials cost.

Read more...
Battery-friendly Thread and BLE solution
iCorp Technologies DSP, Micros & Memory
Positioned as an incremental upgrade to the ESP32-H2, Espressif’s ESP32-H21 adds an integrated DC-DC converter that reduces active current draw and helps extend battery life in power-sensitive consumer and industrial devices.

Read more...
Next generation HMI processing platform
Future Electronics DSP, Micros & Memory
Microchip’s latest hybrid MCU SiP integrates an Arm926EJ-S processor with 512 Mb of DDR2 SDRAM and is engineered to meet the rising demand for sophisticated HMI solutions in modern vehicles.

Read more...
Low-power SoC for IoT designs
iCorp Technologies DSP, Micros & Memory
Espressif’s ESP32-H4 is a dual-core 32-bit RISC-V SoC designed for battery-powered wireless products that require low energy consumption, strong security, and modern connectivity.

Read more...
Chip for high-density power
Future Electronics DSP, Micros & Memory
Microchip’s dsPIC33AK256MPS306 Digital Signal Controllers combine high-resolution control, high-speed analogue, and security with support for post-quantum cryptography.

Read more...
The end of ‘entry-level’: STMicroelectronics’ STM32C5 sets a new baseline for embedded systems
DSP, Micros & Memory
[Sponsored] Instead of incrementally improving legacy Cortex-M0+ architectures, STM32C5 introduces a Cortex-M33-based platform into the entry-level category. This changes not only performance expectations, but also how engineers approach system architecture, consolidation, and long-term scalability.

Read more...
SWEAR integrates with Milestone
Milestone Systems Surveillance Products & Solutions
Security footage, legal evidence, and other critical surveillance assets face increasing risks of tampering, raising chain-of-custody questions, jeopardising admissibility, and undermining the timely operational decisions that depend on credible video.

Read more...
GigaDevice expands GD25UF Series density
NuVision Electronics DSP, Micros & Memory
GigaDevice has announced the expanded density range of its GD25UF series 1,2 V ultra-low power SPI NOR Flash, now spanning from 8 Mb to 256 Mb.

Read more...
ARINC 429 line driver evaluation board
ASIC Design Services DSP, Micros & Memory
Holt Integrated Circuits have announced the release of the ADK-85104 Evaluation Board, a compact, ready-to-use platform designed to help engineers rapidly evaluate and characterise Holt’s HI-85104.

Read more...
Highly integrated 24-channel mixed signal IC
EBV Electrolink DSP, Micros & Memory
Microchip Technology has announced the LX4580, a 24-channel mixed-signal IC designed to replace multiple discrete components with a single device that supports synchronised data acquisition, fault monitoring, and motor control.

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