Descrição: Implementação de um processador dedicado para comunicação com dispositivos USB.
Objetivo: Prover comunicação com dispositivos USB conectadas à placa DE2 gastando menos do que 10% dos recursos do FPGA e sem utilizar memória externa ao FPGA.
First connect DE2 to DC 9V and via BLASTER to PC with CentOS and Quartus 11.1sp2 installed. Other configurations of PC should also work.
The files inst.mif
and DE2_TOP.sof
compiled using the make
commands are in their respective section.
Mouse
- `include "mouse.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make mouse
- connect a mouse to DE2 USB HOST connector
- press KEY3 to activate reset and KEY0 to release reset
Keyboard
- `include "keybd.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make keybd
- connect a keyboard to DE2 USB HOST connector
- press KEY3 to activate reset and KEY0 to release reset
Gamepad
- `include "gamepad.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make gamepad
- connect a Sony PS2 game controller to DE2 USB HOST connector
- press KEY3 to activate reset and KEY0 to release reset
Drum
- `include "drum.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make drum
- connect wireless controller of Guitar Hero drum kit to DE2 USB HOST connector
- press P button on drum kit
- press KEY3 to activate reset and KEY0 to release reset
MIDI
- `include "midi.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make midi
- switch on MIDI keyboard and put it in MIDI send/receive mode
- connect MIDI keyboard to DE2 USB HOST connector
- press KEY3 to activate reset and KEY0 to release reset
- switch off SW[17] and press key on MIDI keyboard
- put key and velocity into SW[13:0] and press KEY2
- switch on SW[17] an press key on MIDI keyboard
Pendrive
CAUTION: data on pendrive will get overwritten.
- `include "pendrive.sv" in frst line of DE2_TOP.sv
- make ; make nlst ; make pendrive
- put any bit pattern in SW[15:2], leave SW[1:0]=0
- activate SW[17] for writing
- plug pendrive into USB HOST connector
- press KEY3 to activate reset and KEY0 to release reset
- observe checksum on HEX7-4
- deactivate SW[17] for reading
- press KEY3 to activate reset and KEY0 to release reset
- observe same checksum on HEX7-4