Difference between revisions of "PS/2"

From ArmadeusWiki
Jump to: navigation, search
(Memory Map)
Line 51: Line 51:
 
[[Image:FrenchFlag.png]] [[Fr:Nom de la page | Cette page en français]]
 
[[Image:FrenchFlag.png]] [[Fr:Nom de la page | Cette page en français]]
  
[[Category:Hardware]]
+
[[Category:UserInput]]

Revision as of 10:31, 29 March 2008

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

PS2 Schema.png [PS2_Schema.png]

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 the Devlight 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: Firmware installation

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

Linux driver for PS/2 FPGA IP

BUGS

Status register starts with value 0x000A -> Fifo Full + Fifo Empty normal ??

Links

FrenchFlag.png Cette page en français