PS/2

From ArmadeusWiki

Jump to: navigation, search

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

Image: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 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 ??

Links

Personal tools