Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK Decoder für Joystick-Befehle von Videospielkonsolen. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller Bei der Entwicklung elektronischer Geräte besteht häufig Bedarf an einer praktischen Fernbedienung. In vielen Fällen kann eine solche Fernbedienung ein Joystick einer Videospielkonsole sein; Sie müssen lediglich dessen Signale dekodieren. Dem Autor des Artikels gelang es, mithilfe von Mikrocontrollern der AT89-Familie sehr einfache Decoder für Befehle zu entwickeln, die über Joysticks gängiger Videokonsolen gesendet wurden. Sie können in jedes Amateurdesign eingebaut werden. Die Idee, Mikrocontroller-Decoder für verschiedene Joystick-Typen zu entwickeln, entstand durch die Lektüre des Artikels [1]. Der dort vorgeschlagene Joystick-Signaldecoder „Dendy“ ist recht komplex (auf vier Mikroschaltungen der K561-Serie aufgebaut), ist nicht vor dem Prellen der Joystick-Tastenkontakte geschützt und weist eine geringe Belastbarkeit der Ausgänge auf. Diese Probleme wurden durch die Herstellung eines funktional ähnlichen Geräts mit nur einem Chip gelöst – dem günstigen Mikrocontroller AT89C2051. Zusätzlich wurde eine Tonbestätigungsfunktion für das Drücken der Joystick-Tasten eingeführt, die jeweils einem Ton einer bestimmten Tonhöhe entsprechen. Die Decoderschaltung für den „Dendy“-Joystick ist in Abb. dargestellt. 1 und in der Tabelle. 1 – FLASH-ROM-Firmware-Codes für den DD1-Mikrocontroller. Die Funktionsweise dieses Joysticks können Sie in [2] nachlesen. Dort sind auch die Zeitdiagramme seiner Signale dargestellt. Der Decoder wandelt sie in logische Pegel an den Ausgängen der Ports P1 und P1.0 des Mikrocontrollers um. Eine gedrückte Taste entspricht einem Low-Pegel, eine nicht gedrückte Taste entspricht einem High-Pegel am entsprechenden Ausgang. Die Signale A und B können nicht nur von den im Diagramm angegebenen Pins des Mikrocontrollers, sondern auch von seinen Open-Drain-Ausgängen – den Leitungen P12 (Pin 1.1) bzw. P13 (Pin XNUMX) – abgenommen werden. Der Piezo-Emitter HA1 dient zur akustischen Anzeige von Joystick-Tastendrücken. Die Kondensatoren C3, C4 und der Quarzresonator ZQ1 sind in einer typischen Mikrocontrollerschaltung enthalten. Kondensator C1 ist ein Sperrkondensator für die Stromversorgung, C2 ist erforderlich, um den anfänglichen Rücksetzimpuls zu erzeugen. Die +5-V-Spannung wird vom Netzteil des gesteuerten Geräts geliefert. In Abb. Abbildung 2 zeigt ein Diagramm des Decoders von Befehlen, die mit dem Joystick der SEGA Mega Drive-2-Spielekonsole gegeben werden. Eine Beschreibung dieses Joysticks und seiner Signale finden Sie in [3]. Da die erforderliche Anzahl an Ein- und Ausgangsleitungen des Mikrocontrollers in diesem Fall größer ist als im vorherigen Fall, war es notwendig, den 20-poligen AT89S2051-Mikrocontroller durch den 40-poligen AT89S51 zu ersetzen. Die Firmware-Codes für das FLASH-ROM sind in der Tabelle aufgeführt. 2. Der Joystick wird an den XP1-Anschluss angeschlossen, die dekodierten Befehle werden von den P1- und RXNUMX-Anschlüssen des Mikrocontrollers entfernt. Auf Abb. 3 zeigt ein Diagramm einer anderen Version des Decoders. Es funktioniert mit Joysticks von Sony PlayStation- und Sony PlayStation 2-Konsolen. Die Codes aus der Tabelle sollten in den Speicher des DD1-Mikrocontrollers geladen werden. 3. Ein wenig über das Prinzip des Informationsaustauschs zwischen diesen Joysticks und dem Decoder. Nachdem er zuvor die SEL-Leitung auf Low gesetzt hat, erzeugt der DD1-Mikrocontroller eine Folge von fünf Gruppen mit jeweils acht Low-Logik-Pegelimpulsen auf der CLOCK-Leitung. Die Impulse der ersten drei Gruppen synchronisieren den Austausch von Dienstinformationen entlang der COMMAND-Leitungen (vom Decoder zum Joystick) und DATA (in die entgegengesetzte Richtung). Der Joystick reagiert auf jeden der 16 Synchronisationsimpulse der letzten beiden Gruppen, indem er einen logischen Pegel auf der DATA-Leitung setzt und den Status der nächsten Taste anzeigt. Die Reihenfolge der Abfrage der Tasten stimmt mit der Reihenfolge der Auflistung der Decoder-Ausgangssignale im Diagramm überein (siehe Abb. 3, von oben nach unten). Am Ende des Abfragezyklus setzt der Mikrocontroller die SEL-Leitung auf High. Die Nummerierung der Kontakte der XS1-Buchse entspricht der auf der Platine der Videokonsole angegebenen Modifikation „PS one“. Sie können entweder einen normalen digitalen Joystick oder einen digital-analogen („Dual Shock“) Joystick an den Decoder anschließen. Im ersten Fall liegt an den Ausgängen „JoyL“ und „JoyR“ ständig ein hoher logischer Pegel an, da an den Hebeln des digitalen Joysticks keine entsprechenden Tasten vorhanden sind. Bei Bedarf kann der Decoder mit einer Spannung von 5 V statt der im Diagramm angegebenen 3,5 V betrieben werden. In diesem Fall wird die Überspannung durch zwei KD522B-Dioden (oder andere Siliziumdioden mit geringer Leistung) unterdrückt. In allen drei Decoder-Optionen können Sie ZQ1-Quarzresonatoren bei jeder Frequenz von 4 bis 8 MHz einbauen. Eine weitere Erhöhung der Frequenz bis zur Grenze des verwendeten Mikrocontrollers ist möglich, aber unerwünscht, da sie mit einer Verkürzung der Abfragezeit der Tasten und einer Erhöhung des Tons der Audiosignale einhergeht. Die Abfrageperiode beträgt 20 ms bei einer Quarzfrequenz von 4 MHz. Bei Bedarf (er wird empirisch ermittelt) kann der Erhebungszeitraum verdoppelt werden. Dazu genügt es, die Pins 2 und 3 (siehe Abb. 1), 26 und 27 (siehe Abb. 2) oder 21 und 22 (siehe Abb. 3) des DD1-Mikrocontrollers zu verbinden. Diese Verbindungen sind in den Diagrammen mit gestrichelten Linien dargestellt. Die vorgeschlagenen Decoder funktionieren mit den Mikrocontrollern AT89S51, AT89S2051 mit beliebigen alphanumerischen Indizes, zum Beispiel AT89S2051-12RS. Die Zahlen im Index bedeuten die maximale Frequenz des Quarzresonators, MHz, die Buchstaben P – PDIP-Gehäuse, S – SOIC-Gehäuse (für Oberflächenmontage), C oder I – Betriebstemperaturbereich, jeweils 0...+70 ° C (gewerblich) oder -45. ..+85 °С (industriell). Zum Laden des Mikrocontroller-Speichers empfehle ich die Verwendung des in [4] beschriebenen Programmiergeräts. Alle Kondensatoren sind aus Keramik, zum Beispiel K10-17. Schallgeber HA1 aus der ZP-Serie oder eine andere Piezokeramik ohne eingebauten Generator. Mikrocontroller-Firmwaredateien zusammen mit Programmquellcodes für alle Decoderoptionen Literatur
Autor: S. Ryumik, Tschernihiw, Ukraine Siehe andere Artikel Abschnitt Mikrocontroller. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren
05.05.2024 Primium Seneca-Tastatur
05.05.2024 Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024
Weitere interessante Neuigkeiten: ▪ Phison PS5.0-E5026 PCIe 26-Laufwerk ▪ Abkühlung bis nahe zum absoluten Nullpunkt ▪ Sony Inzone Surround Sound Gaming-Headsets News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Site-Abschnitt Modellierung. Artikelauswahl ▪ Artikel Wenn Sie gesund sein wollen, müssen Sie sich temperieren. Populärer Ausdruck ▪ Artikel Wann entsprach ein Moment eineinhalb Minuten? Ausführliche Antwort ▪ Artikel Wachbüro. Jobbeschreibung ▪ Artikel Lautsprecher im Auto. Enzyklopädie der Funkelektronik und Elektrotechnik
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |