keypad controller implementation(FPGA)

May 30, 2005 4 Replies

Hi all,



I want to implement a 6x6 keypad decoder in FPGA,i have got a reference design for that, but the limitation with this reference design is that it scans for only one key pressed at a time.It dosen't have the capabality of scanning for multiple keys at the same time.



Can anybody help me out on this , how to go about this( any reference design)



Thanks in advance, Praveen



yes it is a matrix connection!! it is a possibality that the keys may be on the same row or column, in that case how will we deal with it.

wrote in sci.electronics.design:

If the keypad is the usual matrix connection (as "6x6" seems to indicate), you can only ever determine one key at a time. When two or more keys are pressed, the output is ambiguous, except when they happen to be on the same line or column of the matrix.

Anno

wrote in sci.electronics.design:

Thanks for *not* quoting what I wrote, i misspoke. Apologies, and scratch it.

Anno

I think you can't do it with plain combinatorial logic. I'm also not familiar with FPGAs, but if EACH key is isolated with a diode, you can do it by scanning: Activate column 1. Interrogate rows, record which keys are pressed. Deactivate column 1, activate column 2. Interrogate rows, record which keys are pressed. Deactivate column 2, activate column 3...

And so on. This is called "N-Key Rollover." I've done this with a 6502; it was great fun! :-) (if you scan fast enough, you can even catch what _order_ the keys got pressed!) :-)

Cheers! Rich

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required