Ein Spiel wird auf einem PC ausgeführt. Die Steuerung erfolgt über einen beliebigen Telefonapparat (z.B. Mobiltelefon), der DTMF-Signale verschicken kann, indem eine bestimmte Telefonnummer angerufen wird und dann die Tastentöne übermittelt.
Das Projekt dient als Beispiel-Implementation für eine Telefonsteuerung eines PC-Spieles. Dabei wird die Telefonnachbildung und der DTMF-Dekoder als externe Schaltung realisiert und der PC muss ausser der Ausführungs des Spiels nur mehr einfache Steueraufgaben übernehmen.
Die Telefonnachbildung wird direkt an eine analoge Telefonleitung (oder ISDN-Leitung mit entsprechendem Adapter) angeschlossen. Sie erkennt ein Klingel auf der Leitung und teilt dies dem PC mit, der dann wieder mit Hilfe der Telefonnachbildung abhebt. Der DTMF-Dekoder wandelt dann die darauffolgenden Signaltöne (z.B. 4 und 6) aus der Telefonleitung in binäre Signale um, die der PC als Steuerkommandos (z.B. links und rechts) an das Spiel weiterleitet.
Das Projekt unterteilt sich im groben in zwei Blöcke. Einerseits die externe Schaltung zur Dekodierung, andererseits die Software am PC.
Die Aufgaben der Telefonnachbildung sind das erkennen eines Klingels und das Abheben, sowie das weiterleiten der Hörersignale an den DTMF-Dekoder. Achtung: In unserer Schaltung fehlt der VDR am Eingang (dient dem Überspannungsschutz). Dieser muss ergänzt werden bevor die Schaltung an ein bestehendes Telefonnetz angeschlossen wird (zwischen A und B Leitung).
Wie schon beschrieben erfolgt ein Anruf in zwei Schritten. Das Klingelsignal ist ein Wechselstromsignal, das an den Transistor T3 weitergeleitet wird. Dadurch bekommt das Signal einen TTL-Pegel und wird an die Parallelschnittstelle über Pin D7 weitergeleitet. Der PC misst die Dauer des Pegels und validiert damit das Klingel (um Fehler auszuschliessen). Ist das Klingelen als solches erkannt wird über den Strobe-Pin der Parallelschnittstelle die Halteleitung aktiviert.
Diese schaltet dann über den Optokoppler den Eingang an den DTMF-Dekoder durch (über die Halteschaltung). Dabei wird vorher das Signal gleichgerichtet um andere Signale als das Sprechsignal auszufiltern.
Der DTMF-Dekoder besteht im Kern aus einem Mitel MT8870D. Dieser IC ist auf das Dekodieren von DTMF-Signalen spezialisiert.
Er bekommt nach dem Abheben über die Halteschaltung die Eingangssignale und damit die DTMF-Töne zugeschaltet. Der IC filtert selbsttätig nur die reinen DTMF-Signale aus und wandelt diese in ein binäres Signal um, das über die Leitungen D0-D3 des Parallelports an den PC übergeben wird. Zuvor wird über die Leitung D4 signalisiert, dass tatsächlich ein neues DTMF-Singal erkannt wurde und am Ausgang des ICs anliegt.
Als Grundlage der Schaltung diente der Artikel Haustechnik aus dem ELVjournal 6/01. (Schaltung bei den restlichen Unterlagen)
Als Schnittstelle zwischen PC und Schaltung dient der Parallelport. Es werden die Datenleitungen sowie die Strobe-Leitung verwendet.
Die Software besteht aus 2 voneinander unabhängigen Teilen:
Ursprünglich hatten wir geplant einen MP3-Player zu realisieren der von einem GameBoy gesteuert wird. Aufgrund des Angebotes von Funworld hatten wir uns entschlossen dieses Projekt aufzugeben und statt desen die DTMF-Steuerung zu entwickeln.
Es soll eine MP3-Player in Hardware realisiert werden, der von einem GameBoy gesteuert wird. Für den dafür nötige MP3-Dekoder wird ein fertiger IC verwendet. Die Soundausgabe erfolgt ebenfalls nicht im GameBoy, da dieser nicht die Verarbeitungsgeschwindigkeit für eine gute Qualtität zur Verfügung hat.
Der GameBoy ist für die Benutzeroberfläche und somit für die Wiedergabe nach Wunsch des Benutzers zuständig. Das Programm ist problemlos auf einer normalen Game-Cartridge unterzubringen. Nach Möglichkeit (und Zeit) wird auch der Mikrokontroller und die Dekoder-Einheit darauf untergebracht.
Auf dem Medium liegen die zu spielenden MP3-Datein. Angestrebt wird eine Integration eines Flash-Mediums, basierend auf einem älterem Projekt. Für die ersten Versuche werden die MP3-Daten aus einem E(E)PROM gelesen.
Der Mikrocontroller ist die wichtigste Einheit zur Soundwiedergabe. Er holt die Daten vom Medium und übergibt sie dem MP3-Dekoder, und er nimmt die Benutzerwünsche vom GameBoy entgegen und übergibt diesem die MP3-Header Daten. Die Wiedergabe alleine ist so auch ohne dem GameBoy möglich.
Als MP3-Dekoder wird ein bereits fertiger IC verwendet. Diesem muss nur
mehr der Datenstrom in einem Buffer übergeben werden und er liefert von selbst
die Header-Daten und kümmert sich um die gesamte Dekodierung in digitale
Audiodaten.
Für unser Projekt haben wir dafür den VS1001k von
VLSI Solutions
VLSI Solutions (http://www.vlsi.fi/)
gewählt. In diesem ist auch schon der DAC integriert.