PS/2 Keyboard opencore (keyboard side) available ???

Feb 05, 2004 3 Replies

Hi,



I want to make a custom PS/2 keyboard.



I have a Xilinx SpartanII part on my custom keyboard and I am looking to implement a PS/2 keyboard interface so that I can plug my custom keyboard into a standard PC PS/2 port.



Googling for an opencore has so far been fruitless.



I've tried opencores.org, but they only have a PS/2 keyboard interface that would be implemented on the host side (not keyboard side).



Verilog is my preferred HDL.



Thanks for any help, Jason.



It's also not commonly done in an FPGA. Most PS/2 keyboards use a mask programmed 8048, although I did once find one (from Fujitsu) that used a mask programmed 6805.

If you really must use an FPGA, you could probably write the code in a few minutes, once you find a reference to the protocol ... googling ...

formatting link
or
formatting link
formatting link

Regards, Allan.

Build one yourself. To receive the codes is more complicated then sending them and in a lab course I teach it takes my students about four hours to build a PS2 receiver. So a sender should be no problem.

The protocol is described here:

formatting link

The scancodes are here

formatting link

For most keys you just have to shift out one byte when the key is pressed and two bytes when it is released.

I expect that interpreting whatever it is that you use for your keys is a lot more complicated then the PS2 part which I estimate at 10 lines VHDL at most. (Plus any FIFOs that you might want to add)

Kolja Sulimma

there is possible no keyboard side core available as it is not a very comman thing to have :)

I would personally probably do it a little tweaking, putting a PicoBlaze processor onto the FPGA it takes one Block RAM and about 70 Slices. It does fit into any spartan. So you can use it even in XC2S15. Even though a simple PS2 SIE (serial interface engine) itself is smaller than PicoBlaze then if you add full keyboard control status leds etc.. I think you will end up in similar Slice count or more.

antti

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required