Post Go back to editing

Device doesn't detect all key presses nor all key releases

Category: Hardware
Product Number: MAX7360

We have had a noisy board resulting in MAX7360 detecting 'ghost keys' I.e. it reported a 3 key while just two keys were pressed.

After having reworked our PCB we now see key presses being lost or (worse) key releases being lost. We did also see that before reworking PCB but just sporadic and we thought it was related to the noise too.
Loss of key events are easiest to provoke my simultaneous pressing/releasing two keys, but if intensively reading from the device (polling), we also see events lost on just a single key

We've now tried isolating noise by connecting two of our PCBs so one is running MCU, Display and other peripherals while the other PCB runs only the MAX7360 and the keys. The two boards are interconnected with just the two I2C wires and a Ground.
The isolated PCB is powered from a lab PSU. Still we detect the lost events.

Our SW is designed to react on interrupts from the device

On ISR asserted our SW reads from the MAX7360 FIFO until no more events exists. I.e. say we read two key presses and then FIFO empty (0x3F). On release of the keys we might read release information of just one before getting the FIFO empty.
And it is not like the 'release' from the second key is just deferred. Pressing a 3. key and reacting on the interrupt generated by that, doesn't give us the missing release event. Neither if the missing key is pressed again we wont see the release. We will just see keypress two times from that key.

Like written above it is easier to provoke the more I2C traffic we generate to the device. We've also observer that lower I2C clock speed lowers probability of loosing events.

Anyone who have seen something similar



legacy maxim product
[edited by: AAlessandro at 8:59 AM (GMT -5) on 10 Dec 2024]