For more information, please contact: email@example.com
Using an MCU or SoC to scan a keypad is a less than ideal solution for human input. It often makes sense to offload keypad scanning to a dedicated IC to reduce the power and IO burden on larger, less efficient, and more expensive devices. Using GreenPAK™ as a keypad scanner provides a flexible, reliable solution that won’t kill your power budget or your BOM cost. Any GreenPAK with I2C can perform this function, but using a GreenPAK’s Asynchronous State Machine (ASM) unlocks the full potential and enables up to 54 key scanning.
How does it work?
1. Once powered, GreenPAK’s ASM cycles through each state, sending out a logic HIGH to each row using the 8-bit ASM output in a 1-hot configuration.
2. When a key is pressed, the circuit is complete and the HIGH signal is picked up by the corresponding column input. GreenPAK then generates an interrupt, stopping the ASM and notifying the MCU or SoC, which can be in sleep mode to save power.
3. From here, the MCU or SoC needs to simply send the I2C read commands to determine the active row and column and decode the key pressed from that information.
4. After completing the I2C read, the MCU or SoC can send a RESET signal to GreenPAK which then releases the ASM to continue scanning.
Figure 2. Keypad Scanner State Diagram
GreenPAK can often implement multiple functions. Just one GreenPAK device can implement keypad scanning in conjunction with other functions like glue logic, timing adjustment, reset, power sequencing, LED control, and more depending on design requirements and resource configuration.
Below is are just a few GreenPAK devices which can perform a keypad scan function.
|GreenPAK Part Number||Max Keys||Programmable Debounce|