Efficient Keypad Interface with EDE1144 Keypad Encoder IC
The EDE1144 Keypad Encoder IC, developed by E•Lab Digital Engineering (www.elabinc.com). It is specifically crafted for connecting a matrix-type 4 row × 4 column (16-key or fewer) keypad to a microcontroller or any other host processor. This IC offers a choice between a 1-wire serial or 4-wire parallel interface to transmit keypress data. It can be effectively paired with a ‘data valid’ signal for both polled and interrupt-driven applications. With advanced keypad features like contact debouncing and key auto-repeat, this IC simplifies the process. It significantly reduces software overhead in the host microcontroller and decreases the I/O pin requirements from eight to just one. This often leads to the use of a more budget-friendly host microcontroller in your design.
EMI Reduction through Efficient Keypad Scanning
The EDE1144 stands out for its electrically quiet operation. Unlike many keypad encoders that constantly scan the keypad, emitting EMI noise through the wires, the EDE1144 takes a different approach. It tackles this issue by employing stable signals for keypad monitoring and scanning only once each time a keypress is detected. This approach mitigates problems during emissions testing, final product certification, and approval processes.
Standard Application Circuit and Key Data Transmission
In the provided schematic, the EDE1144 is integrated between the keypad and the host microcontroller or processor. The host microcontroller receives keypress data through either the four parallel data outputs (D0-D3, Pins 6-9) or the Serial Data Output (Pin 1). Upon keypress detection, the Data Valid signal (Pin 17) is activated. This signal triggers not only during keypress but also in each key repeat cycle when a key is held down. Significantly, the Data Valid signal activates before the serial data transmission, allowing polled-style host serial systems, such as the BASIC Stamp™, or microcontrollers lacking a hardware UART, to enter the serial receive routine. This eliminates the need for continuous waiting for the start bit.
Data Output Handling and Corresponding ASCII Values
The host microcontroller reads data outputs from the row output pins (Pins 6-9). Notably, parallel output data should be read exclusively while the Data Valid (Pin 17) signal is active (Low). Upon startup, the four data output pins are high and remain high except when a key is pressed.
The accompanying table demonstrates the data values returned by the serial and parallel outputs of the EDE1144 for each keypress. It’s essential to observe that the serial values are adjusted, specifically increased (by hexadecimal 30 ($30) for 0-9 and hex $37 for 10-15), aligning with the ASCII equivalent (0-9, A-F) of the BCD (binary-coded decimal) value present on the parallel outputs.