Olimex Support Forum

Others => FPGA => Topic started by: mobluse on December 01, 2017, 07:45:30 PM

Title: Questions about Olimex iCE40-IO PS/2 & iCE40HX8K-EVB
Post by: mobluse on December 01, 2017, 07:45:30 PM
I have questions about this article:
VGA video generator and moving objects with PS2 keyboard:
https://olimex.wordpress.com/2016/07/13/fpga-tutorial-vga-video-generation-with-ice40hx1k-evb-ice40-io-in-verilog/

Can you connect a PS/2 mouse to the PS/2 connector of Olimex iCE40-IO IO-modul VGA/PS2/IRDA? If you use Y-splitter cable for PS/2, can you connect both a keyboard & a mouse at the same time? Otherwise I think you should develop a new version of the board that can use a Y-split cable.

Can you use this example also with Olimex iCE40HX8K-EVB? Are there any changes in that case? Is an open source tool-chain also available for iCE40HX8K-EVB?
Title: Re: Questions about Olimex iCE40-IO PS/2 & iCE40HX8K-EVB
Post by: berce on December 09, 2017, 04:09:41 PM
QuoteCan you use this example also with Olimex iCE40HX8K-EVB? Are there any changes in that case? Is an open source tool-chain also available for iCE40HX8K-EVB?
Yes, you can use it. If there are changes needed, they would be minimal, but I assume there are none. The same tool-chain will work for both iCE40HX?K-EVBs. Links are on the product pages.

QuoteCan you connect a PS/2 mouse to the PS/2 connector of Olimex iCE40-IO IO-modul VGA/PS2/IRDA? If you use Y-splitter cable for PS/2, can you connect both a keyboard & a mouse at the same time? Otherwise I think you should develop a new version of the board that can use a Y-split cable.

The PS/2 connector just connects the input device to the FPGA. What happens with then has to be programmed in the FPGA. https://github.com/OLIMEX/iCE40HX1K-EVB/blob/master/demo/ice40-io-video/example_7.v (https://github.com/OLIMEX/iCE40HX1K-EVB/blob/master/demo/ice40-io-video/example_7.v) shows how to use signals from a keyboard. You could just as well program correct responses to mouse movements. There's an example at opencores.org: https://opencores.org/websvn,filedetails?repname=ps2&path=%2Fps2%2Fweb_uploads%2Fps2_mouse.v (https://opencores.org/websvn,filedetails?repname=ps2&path=%2Fps2%2Fweb_uploads%2Fps2_mouse.v). Once you have both working, you can study how the splitter multiplexes the signals, and handle that on the FPGA too.

Good luck with your project!
Title: Re: Questions about Olimex iCE40-IO PS/2 & iCE40HX8K-EVB
Post by: mobluse on March 10, 2018, 11:39:29 AM
I've looked at the schematics now and you can't connect a PS/2 Y-splitter cable (https://www.amazon.com/StarTech-Keyboard-Splitter-Adapter-KYC1MF/dp/B000067SLZ) since pin 2 and 6 are not connected. :(

https://github.com/OLIMEX/iCE40-IO/raw/master/ICE40-IO_Rev_A.pdf

https://en.wikipedia.org/wiki/PS/2_port
Pin 2: Sometimes, keyboard Data for splitter cable.
Pin 6: Sometimes, keyboard Clock for splitter cable.

The mouse/keyboard splitter does not multiplex signals, but uses unused pins, and old laptops support this.