EDE1144 Keypad Encoder IC 4 x 4 Matrix Keypad Encoder IC EDE1144 RS-232 Output 1 XMIT Beep 18 Beeper Output 0=2400, 1=9600 Baud 2 Baud Valid 17 Data Valid Output Connect to +5V 3 +5V OSC1 16 Oscillator Conection Connect to +5V 4 +5V OSC2 15 Oscillator Connection Digital Ground 5 GND +5V 14 Connect to +5V Row 0 Output 6 R0 C3 13 Column 3 Input Row 1 Output 7 R1 C2 12 Column 2 Input Row 2 Output 8 R2 C1 11 Column 1 Input Row 3 Output 9 R3 C0 10 Column 0 Input Functionality & Feature Set: • • • • • • • • • • Automatic key repeat after delay Contact debouncing Keybeep provides tactile feedback to operator Electrically quiet (reduced EMI) keypad scanning Serial / Parallel outputs available Data Valid output signal for interrupt activation 2400/ 9600 serial Baud rates Available in 18 pin DIP or SOIC packages Interfaces to any microcontroller or microprocessor Cost effective for OEM applications The EDE1144 Keypad Encoder IC is designed to interface a matrix-type 4 row x 4 column (16 key or less) keypad to a microcontroller or other host processor. A one-wire serial or four-wire parallel interface returns the keypress data and can be used in conjunction with a 'data valid' signal for polled or interrupt-driven applications. The EDE1144 provides enhanced keypad features such as contact debouncing and key auto-repeat in an easy-to-use package that will lower software overhead in the host microcontroller and reduce the I/O pin requirements from eight to one, frequently resulting in the use of a less costly host microcontroller in your design. In addition, the EDE1144 is electrically quiet. Many keypad encoders continually scan the keypad, radiating EMI noise from the wires leading to the keypad (resulting in trouble during emissions testing & final product certification & approval). The EDE1144 reduces this problem by monitoring the keypad with unchanging signals, and then scanning only once each time a keypress is detected. Copyright © 1999 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 1/7 EDE1144 Keypad Encoder IC PIN DEFINITIONS Keypad Connection Pins: (R0) Row 0 / Data 0 Output (Pin 6)........................................Multiplexed Keypad Row 0, Host System Data Input 0 (R1) Row 1 / Data 1 Output (Pin 7)........................................Multiplexed Keypad Row 1, Host System Data Input 1 (R2) Row 2 / Data 2 Output (Pin 8)........................................Multiplexed Keypad Row 2, Host System Data Input 2 (R3) Row 3 / Data 3 Output (Pin 9)........................................Multiplexed Keypad Row 3, Host System Data Input 3 (C0) Column 0 Input (Pin 10).................................................Multiplexed Keypad Column 0 (through 330 resistor) (C1) Column 1 Input (Pin 11).................................................Multiplexed Keypad Column 1 (through 330 resistor) (C2) Column 2 Input (Pin 12).................................................Multiplexed Keypad Column 2 (through 330 resistor) (C3) Column 3 Input (Pin 13).................................................Multiplexed Keypad Column 3 (through 330 resistor) Control & Data Pins: Baud (Pin 2)...........................................................................Baud Rate Selection; 0=2400, 1=9600 XMIT (Pin 1)..........................................................................Serial Data Output (N-8-1); RS232 (TTL/CMOS Voltages) Valid (Pin 17).........................................................................Data Valid Signal / Interrupt: Parallel data valid when low Beep (Pin 18)..........................................................................Modulated Output Signal: Oscillates on keypress or repeat Clock / Power Pins: OSC1 (Pin 16)........................................................................One pin of 4MHz parallel-cut crystal or resonator, or a direct TTL clock input OSC2 (Pin 17)........................................................................Other pin of 4MHz parallel-cut crystal or resonator, or leave floating if OSC1 driven with a TTL clock input +5V (Pins 3,4,14)..................................................................Connect to +5V DC GND (Pin 5)...........................................................................Connect to 0V DC (Ground) Note: DIP are SOIC (surface mount) packages of the EDE1144 have identical pinout and pincount. Please specify EDE1144/P (DIP) or EDE1144/SO (SOIC) when ordering. Page 2/7 EDE1144 Keypad Encoder IC 4x4 Multiplexed Keypad Data Output Row 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D0 Row 1 D1 Row 2 D2 Row 3 Column 3 D3 Serial Output EDE1144 Keypad Encoder Column 2 Column 1 Data Valid Column 0 Beeper Output 2400 / 9600 Baud Select Input Figure One: Connection Block Diagram As illustrated by Figure One, the EDE1144 resides between the keypad and host microcontroller/ processor. The host microcontroller receives keypress data via either the four parallel data outputs (D0-D3, Pins 6-9) or the Serial Data Output (Pin 1). The Data Valid signal (Pin 17) is activated upon keypress (and upon each key repeat cycle if key is held). The Data Valid signal is activated prior to transmission of the serial data to allow polled (software-UART) style host serial systems such as the BASIC Stamp™ or a microcontroller without a hardware UART to enter the serial receive routine and receive the keypress data without needing to continually wait for the start bit. Note that the data outputs to the host microcontroller reside on the row output pins (Pins 6-9), therefore parallel-output data should only be read while the Data Valid (Pin 17) signal is active (low). Upon powerup, the four data output pins will be high, and will remain high except when a key is pressed. The following table illustrates the data values returned by the serial and parallel outputs of the EDE144 upon each keypress. Note that the serial values are increased (by Hexadecimal 30 ($30) for 0-9 and Hex $37 for 10-15) to correspond to the ASCII equivalent (0-9,A-F) of the BCD (binary-coded decimal) value on the parallel outputs. Key: 0 1 2 3 4 5 6 7 RS-232: $30 ('0') 0000 $31 ('1') 0001 $32 ('2') 0010 $33 ('3') 0011 $34 ('4') 0100 $35 ('5') 0101 $36 ('6') 0110 $37 ('7') 0111 D3..D0: Key: 8 9 10 11 12 13 14 15 RS-232: $38 ('8') 1000 $39 ('9') 1001 $41 ('A') 1010 $42 ('B') 1011 $43 ('C') 1100 $44 ('D') 1101 $45 ('E') 1110 $46 ('F') 1111 D3..D0: Table One: Keynumber vs. Output Data Page 3/7 EDE1144 Keypad Encoder IC OVERVIEW OF OPERATION Table One of the previous page illustrates the data that is output upon each keypress. The following sequence is initiated upon each keypress, and is repeated if the key is held: 1. 2. 3. 4. 5. 6. Keypress is detected One scan cycle is performed Parallel Outputs (D3..D0) are latched with the appropriate value Data Valid signal is activated (pulled low) Beeper (1KHz square wave) is activated for 45mS Serial data is transmitted This entire cycle takes 50mS (regardless of Baud rate selected). If a key is held longer than the autorepeat delay of 660 mS, the cycle is repeated again at a rate of 5 times per second. The following timing diagram illustrates the above sequence: 0ms 10ms 20ms 30ms 40ms 50ms 50mS Keypress (Multiple transitions are due to contact bounce) Parallel_Outputs D3..D0 latched with appropriate value 1uS Data_Valid_Output Serial_Output 45mS (Square wave is not to scale) Beeper_Output Once a key is pressed, any additional closures (bounce) of that contact, or of any other contacts are ignored for 50mS, during which several signals are output by the EDE1144. First, the parallel outputs D0..D3 (Pins 6-9) are latched with the appropriate keypress value. One microsecond later, the Data Valid Output (Pin 17) goes low, indicating that there is valid data on the parallel output pins. Following this, the Beeper Output (Pin 18) pulse stream is generated for 45mS, providing auditory confirmation to the keypad operator that a key has been pressed. Finally, the RS-232 Output (Pin 1) transmits the keypress data at the Baud rate selected by the Baud rate input select (Pin 2). After this, a variable (determined by Baud rate chosen) delay period is waited to make the entire process to last precisely 50mS. If a key is held longer that the autorepeat delay of 660mS, the outputs are cleared and this entire process is repeated every 204mS until the key is released by the operator. Page 4/7 EDE1144 Keypad Encoder IC +5V Beeper 1K Ohm Data Valid / Interrupt Output Serial Output +5V 330 Ohm EDE1144 XMIT Baud +5V +5V GND R0 R1 R2 R3 Beep Valid OSC1 OSC2 +5V C3 C2 C1 C0 4 x 4 Keypad 4 MHz 4.7K Ohm D0 (LSB) D1 D2 D3 (MSB) Parallel Outputs Figure Two: Schematic of Keypad Connection Figure Two illustrates a typical connection of a 4x4 keypad to the EDE1144. Note that R0-R3 (Pins 6-9) are connected to the keypad rows through 330 Ohm resistors. They are present to prevent a short circuit during the scan cycle in case more that one key is being held at a time, and they can also help to lower radiated emissions from the keypad wires. The 4.7K Ohm resistors on the keypad columns are pulldowns to prevent the EDE1144 column inputs from floating or oscillating. Pulldowns should be present on all four column inputs (C0..C3) regardless of the keypad size or configuration being used. Note: Power and Ground connections have been omitted from the EDE1144 hookup shown in Figure Two to simplify the illustration. They must be connected in actual operation. Also, when using a 4MHz resonator with internal capacitors, the third (center) pin should be connected to ground. PARALLEL DATA CONNECTION To read data from the EDE1144 in a parallel format the host microcontroller will input from the four data inputs D0,D1,D2, & D3, which also serve as the row drive signal pins R0,R1,R2, & R3 (see Figure Two). While the EDE1144 is waiting for a keypress, it will hold these lines at 1111 (all high). Once a key is pressed, the data output pins will toggle while the keypad is scanned so that the EDE1144 can determine which key was pressed. Then, the appropriate data value (see Table One) will be output onto the data outputs (via the row output pins), and the Data Valid Output (Pin 17) will go low. This pin will stay low for 50 mS, during which the Data Output pins will hold the keypress data. The keypress data should be sampled during this 50mS window. Both the Parallel & Serial Data outputs are activated on each keypress (and autorepeat cycle); designers using the parallel data outputs can ignore the serial data output (and vice versa designers using the serial data output can ignore the parallel data output). Page 5/7 EDE1144 Keypad Encoder IC SERIAL DATA CONNECTION To receive keypress data serially from the EDE1144, two options exist. The first (typically used with a host microcontroller having an onboard hardware UART) is to simply connect the XMIT (Pin 1) line to the host microcontroller's serial data input. Each time a key is pressed (or the autorepeat loop cycles) one byte will be transmitted, corresponding to the values shown in Table One. The host microcontroller's hardware UART's 'Receive Buffer Full' flag can be polled to monitor for newly received serial data; alternately the host microcontroller can be configured to generate an interrupt when a new byte is received by the UART. The second method of receiving serial data from the EDE1144 involves the use of the Data Valid signal (Pin 17). This pin can be polled by the host microcontroller, or connected to an external interrupt input. Once this pin transitions to its active level (low), the EDE1144 pauses 45mS (while the keybeep signal is generated) before the start bit and remaining data bits are sent, during which the host microcontroller can finish what it is doing and enter the serial receive routine, holding there until it detects the EDE1144's start bit. This method is ideal for BASIC Stamps™ and other devices using a 'software' (a non-hardware, or 'bit-bang') UART. SMALLER KEYPADS The EDE1144 can be used with keypads smaller than 4 rows by 4 columns, such as 3 rows by four columns, 1 row by 4 columns, etc. Simply connect the keypad as shown in Figure Two, starting with Row 0 and Column 0, connecting as many rows and columns as your keypad has. Be certain to use the 330 Ohm resistor to connect each row of your keypad, and also be certain to pull all four column inputs (C0..C3) to ground with four 4.7K Ohm resistors as illustrated in Figure Two. BEEPER CONNECTION In order to provide tactile feedback to the operator, the Beeper Output (Pin 18) of the EDE1144 is designed to drive a piezo beeper or speaker via a NPN transistor such as the 2N2222. Figure Two illustrates a typical common-emitter configuration. With the common-emitter drive configuration, be certain to use a resistor from the EDE1144 Beeper Output (Pin 18) to the transistor's base pin to limit base drive current. Your particular beeper may or may not require a resistor in series with it to limit current. The drive signal is a 1KHz square wave, toggling from 0 to 5 Volts, with a duration of 45mS. RS-232 OUTPUT The RS-232 Output (Pin 1) transmits serial data to the host microcontroller. This data is sent at either 2400 or 9600 Baud, as selected by Pin 2. Data is send in traditional N-8-1 (no parity, 8 data bits, one stop bit) format at TTL/CMOS voltage levels; i.e. 0V to 5V. This serial output signal can be connected directly to the host microcontroller's serial input pin without any type of voltage level conversion. However, if data is to be sent to a device expecting RS-232 voltage levels of -12V to +12V (such as a PC), a voltage level conversion IC such as the MAX232 will be needed between the EDE1144's serial output pin and the PC's serial input pin. Page 6/7 EDE1144 Keypad Encoder IC Although we strive to maintain a high degree of technical accuracy, this document may contain typographical errors or other inaccuracies. We reserve the right to correct any inaccuracy in future editions of this document without notice. This document and examples contained herein are provided 'As Is' without warranty of any kind expressed or implied. This document is to be used for informational purposes only and may not be duplicated for commercial purposes other than by distributors authorized by E-Lab Digital Engineering, Inc. ABSOLUTE MAXIMUM RATINGS Oscillator frequency .......................................... 4 MHz Supply Voltage ................................................... 7.5V Ambient temperature under bias ...................... -55 °C to +125°C Max. current sunk by an output pin .................. 25mA Max. current sourced by an output pin ............. 20mA Max. current sunk by all 4 column inputs.......... 50mA Max. current sourced by all 4 row outputs......... 40mA STANDARD OPERATING CONDITIONS Supply voltage ................................................. 4.5V to 5.5V Typical current draw......................................... 1.8mA Operating temperature ..................................... 0 °C to +70°C The EDE1144 IC is implemented as firmware on a PIC16C54 microcontroller, manufactured by Microchip Technology, Inc. For a more comprehensive technical summary of this device, please refer to the PIC16C54 datasheet (accessible from the E-Lab web site). IMPORTANT NOTICE E-LAB Digital Engineering, Inc. (E-LAB), reserves the right to change products or specifications without notice. Customers are advised to obtain the latest versions of product specifications, which should be considered when evaluating a product’s appropriateness for a particular use. THIS PRODUCT IS WARRANTED TO COMPLY WITH E-LAB’S SPECIFICATION SHEET AT THE TIME OF DELIVERY. BY USING THIS PRODUCT, CUSTOMER AGREES THAT IN NO EVENT SHALL E-LAB BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES AS A RESULT OF THE PERFORMANCE, OR FAILURE TO PERFORM, OF THIS PRODUCT. E-LAB MAKES NO OTHER WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. E-LAB’s LIABILITY IS FOR A PERIOD NO GREATER THAN 90 DAYS FROM DATE OF SHIPMENT BY E-LAB AND IS LIMITED TO REPLACEMENT OF DEFECTIVE PRODUCT. This warranty covers only defects arising under normal use and not malfunctions resulting from misuse, abuse, modification, or repairs by anyone other than E-LAB. E-LAB’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF E-LAB. Life support devices or systems are those which are intended to support or sustain life and whose failure to perform can be reasonably expected to result in a significant injury or death to the user. Critical components are those whose failure to perform can be reasonably expected to cause failure of a life support device or system or affect its safety or effectiveness . COPYRIGHT NOTICE This product may not be duplicated. E-LAB Digital Engineering, Inc. holds all copyrights on firmware, with all rights reserved. Unauthorized duplication of this device will be subject to penalty under state and/ or federal law. EDE1144 and the E-LAB logo are trademarks of E-LAB Digital Engineering, Inc. All other trademarks and registered trademarks are property of their respective owners. CONTACTING US We are continually updating our product line. Please contact us for our latest product information. Dannell Electronics Ltd Unit 2, Funston's Commercial Centre Arkesden Road Clavering Essex CB11 4QU, ENGLAND Telephone: UK Calls 0845 603-1509 International :441 799 551 215 Fax: 01 799 551 216, International 441 799 551 216 Internet: http://www.dannell.co.uk E-Mail: [email protected] Page 7/7