Adaptador N64 x4

Grupo

Arquivo

Contexto

O adaptador USB para controles de Nintendo 64 foi desenvolvido como projeto final da disciplina de Laboratório de Microprocessadores no semetre 2009/1 na Universidade Federal de Santa Catarina.

Projeto

O projeto consiste na criação de uma interface de comunicação USB com capacidade para até 4 controles do console Nintendo 64.

Requisitos

Microcontrolador

O microcontrolador utilizado no projeto é o Atmel AVR Atmega8. Ele foi escolhido por ter baixo custo e um bom suporte de ferramentas de projeto.

Driver USB

O driver USB utilizado no projeto do adaptador é o V-USB. O V-USB é uma implementação compatível com USB 1.1 para microcontroladores AVR da Atmel, que tenham no mínimo 2 kB de memória flash, 128 bytes de RAM e operem em uma frequência mínima de 12 MHz. O driver suporta taxas de chaveamento de clock de 12 MHz, 15 MHz, 16 MHz, 16.5 MHz e 20 MHz. O adaptador desenvolvido opera em uma frequência de 16 MHz

USB é mais complexo do que uma interface serial, por exemplo. O padrão não só define como os bits são transferidos mas também como o dispositivo deve se apresentar ao hospedeiro. O elemento desenvolvido identifica-se perante ao hospedeiro como 4 dispositivos HID (Human Interface Device), que são os 4 controles conectados ao adaptador. Nenhum driver além dos padrões para dispositivos HID são necessários para que os controles se comuniquem de maneira adequada com o hospedeiro.

Controles N64

O envio de informações sobre o botão pressionado é feito através de um relatório de 32 bits enviado pelo controle toda vez em que lhe é enviada uma requisição (0x01). O formato do relatório é especificado na tabela a seguir:

Bit Botão
0 A
1 B
2 Z
3 Start
4 Direcional Cima
5 Direcional Baixo
6 Direcional Esquerda
7 Direcional Direita
8 Desconhecido (sempre 0)
9 Desconhecido (sempre 0)
10 L
11 R
12 C Cima
13 C Baixo
14 C Esquerda
15 C Direita

Os 16 bits restantes são informações do joystick analógico, sendo 8 bits para informação sobre o eixo X e os outros 8 bits para informação sobre o eixo Y.

O adaptador

Esquema elétrico do adaptador

Protótipo do adaptador