Difference between revisions of "PS/2"
From ArmadeusWiki
m (→Driver) |
m |
||
Line 48: | Line 48: | ||
* http://www.rennes.supelec.fr/ren/fi/elec/docs/mouse_ps2/souris_ps2.htm | * http://www.rennes.supelec.fr/ren/fi/elec/docs/mouse_ps2/souris_ps2.htm | ||
* http://www.computer-engineering.org/ps2protocol/ | * http://www.computer-engineering.org/ps2protocol/ | ||
− | |||
− | |||
[[Category:UserInput]] | [[Category:UserInput]] |
Latest revision as of 20:33, 1 August 2010
Contents
Instructions to connect a PS/2 keyboard to your Armadeus board
Introduction
Your Armadeus board allows you to connect it a PC keyboard, by using the power of the Spartan3 FPGA (if present on your board).
Hardware connection
- Connect the PS/2 DATA line to the FPGA pin P137 (IO_L27N_0) and the CLOCK one to the FPGA pin P140 (IO_L01P_0).
- If your keyboard supports 3,3v power supply you don't need to use the resistor divider brige ! Just use 3,3v from your development board and connect the PS/2 connector pins directly to the FPGA.
Firmware installation
- Firmware for PS/2 is avaiblable in your SVN repository: firmware/PS2/ps2_top.bit
- Copy it to your TFTP directory and follow the procedure here.
Memory Map
The core uses the following register map:
Address | Name | Description |
---|---|---|
0x12000000 | Status register | The following bits are used: 0x2 => empty, 0x8=>full, the other bits can be ignored (not used or for debug purposes) |
0x12000002 | Data read register | The keyboard scancodes can be read from this register. After each access, the next byte from the fifo appears here |
0x12000004 | Test register | (has nothing to do with the PS2 interface, just for fun) The lower 8 bit behave like a normal RAM |
0x12000006 | Test register | (has nothing to do with the PS2 interface, just for fun) The lower 8 bit behave like a normal RAM |
0x12000008 | Test register | (has nothing to do with the PS2 interface, just for fun) The value is always 0x1234, write is ignored |
Driver
Use this Linux driver to control this IP.
BUGS
Status register starts with value 0x000A -> Fifo Full + Fifo Empty normal ??