Ergebnis 1 bis 2 von 2

Thema: Worum gehts

  1. #1
    Registered User Avatar von lupo
    Registriert seit
    01.11.2004
    Beiträge
    50

    Worum gehts

    Hier findet ihr alle Infos über unseren Mame Panel Controller zum Nachbauen,
    Weiterentwickeln, Verbessern etc.

    Nachdem wir uns mit erstklassigen Arcadecontrols wie Seimitsu Joysticks
    und Arcade Buttons eingedeckt hatten, wurde die fehlende
    Anschlussmöglichkeit am PC zur Qual. Daher haben wir uns auf die Suche
    nach einem kostengünstigen USB-Controller für Arcadecontrols gemacht.
    Herausgekommen ist eine Eigenbaulösung, die auf einen AVR Atmega
    Mikrocontroller und den V-USB SW-Stack basiert. Die kleine Version
    verwendet den Atmega8(A) im PDIP-28 Gehäuse, die große den Atmega32(A)
    im PDIP-40 Gehäuse.

    Die Atmega Serie gibt es zwar auch mit HW-USB Unterstützung, allerdings
    sind diese schwer erhältlich und es gibt keine Ausführungen im PDIP Gehäuse.
    Daher haben wir uns für die reine SW-Umsetzung mit V-USB entschieden.

    Die Kosten für den uC belaufen sich beim Händler um die Ecke auf € 1,95
    für den Atmega8 bzw. € 3,80 für den Atmega32. Neben ein paar
    Widerständen und Kondensatoren benötigt man noch einen 12.0000MHz
    Quarz, einen 3.3V Spannungsregler, Schraubklemmen und eine
    Lochrasterplatine. Mit etwas Bastelaufwand kommt man also auf eine sehr
    günstige Lösung.

    Die Software wurde von Andi auf Basis von V-USB entwickelt. Der Controller
    meldet sich beim PC als HID Gerät und benötigt keine zusätzlichen Treiber.
    Die SW unterstützt zur Zeit folgende Features:
    - HID Keyboard Device
    - HID Joystick Device
    - HID Mouse Device (Spinner/Trackball)
    - HID Consumer Control Device (Lautstärkeregelung)
    - Shiftkey

    Der uC verfügt auch über 6 bzw. 8 10Bit-Analog-Digital-Umsetzer. Es wäre
    also auch die Unterstützung von analogen Eingabegeräten denkbar.

    Shiftkey:
    Damit kann jedem Switch eine zweite Funktion zugeordnet werden.
    z.B. Joystick 1, switch up
    shiftkey nicht gedrückt -> HID Joystick, Joystick 1 UP
    shiftkey gedrückt -> HID Keyboard, Cursortaste oben

    HID Consumer Device:
    Dadurch könne 2 switches für die Lautstärkeregelung verwendet werden.
    Getestet mit Windows XP SP3 und MacBook.
    z.B. in Verbindung mit dem Shiftkey und Joystick 2 links/rechts
    shiftkey nicht gedrückt -> HID Joystick, Joystick 2 LEFT/RIGHT
    shiftkey gedrückt -> Summenlautstärke leiser/lauter

    HID Maus:
    Support für einen Spinner oder Trackball. Der uC wertet direkt die Signale
    der Gabellichtschranken aus (Quadraturdecoder). Folgende Einschränkung
    muss beachtet werden! Der uC wird mit 3.3V betrieben und die Eingänge
    sind nicht 5V-tolerant. Daher sollte auch der Spinner/Trackball anstatt mit
    5V mit 3.3V versorgt werden.
    Ausgemessen und getestet mit einem original Arkanoid Spinner.

    HID Joystick:
    Unterstützung für Standard Joysticks und Buttons. Theoretisch könnten die
    Joysticks auch über das Keyboard Interface angebunden werden, dies hat
    aber bei Low-Speed USB Geräten einen gravierenden Nachteil (siehe HID
    Keyboard).

    HID Keyboard:
    Unterstützung für Standard Keys wie Coin-In, 1-Player Start, Pause etc.
    Folgende Limitierung sollte beachtet werden. V-USB unterstützt nur
    LOW-Speed USB Geräte. Laut USB-Spezifikation darf ein Frame bei einem
    LOW-Speed Device nur 8 Byte groß sein. Da jeder Key ein Byte benötigt
    und ein Byte für die Report-Id sowie ein Byte für die Modifier Bits benötigt
    werden, können maximal 6 Keys gleichzeitig reportet werden d.h. es können
    auch nur 6 Keys gleichzeitig gedrückt werden! Um dieses Limit umgehen zu
    können, sollten die Joysticks über HID Joystick Devices angebunden werden.

  2. #2
    Registered User
    Registriert seit
    22.09.2012
    Beiträge
    1
    Nice post. I like it. Thanks for sharing these information. Keep it up.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •