Maturaprojekt Büchler/Edtinger 5HIA 2001/2002

Index

1. Projektdaten

1.1. Teilnehmer

1.2. Zeitraum

1.3. Kurzbeschreibung

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.

2. Beschreibung

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.

3. Blöcke

Das Projekt unterteilt sich im groben in zwei Blöcke. Einerseits die externe Schaltung zur Dekodierung, andererseits die Software am PC.

3.1. externe Schaltung

3.1.1. Telefonnachbildung

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.

3.1.2. DTMF Dekoder

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.

3.2. Software

Die Software besteht aus 2 voneinander unabhängigen Teilen:

Dekodier-Teil
Der Dekodier-Teil übernimmt die Steuerung der Schaltung:
Sobald die Software einen Anruf an Pin D7 erkennt, hebt sie ab, indem sie an Strobe eine logische 1 legt, wodurch die Schaltung zu dekodieren beginnt. Danach fragt sie weiterhin den Paralell-Port (D0-D4) ab um eingegangene Tasten zu erkennen. Sobald eine Taste erkannt wurde, was durch eine logische 1 an D4 angezeigt wird, wird sie in einem internen Buffer zwischengespeichert, von wo sie jederzeit abgefragt werden kann.
Anwendungs-Teil
Der Anwendungs Teil ist vom Rest der Software unabhängig und kann daher jede beliebige Funktion erfüllen. Es besteht sogar die Möglichkeit die Steuerung über das Netzwerk erfolgen zu lassen wobei ein PC den Anruf entgegennimmt und ein anderer ein Spiel ausführt welches dann mit dem Telefon gesteuert werden kann. Es ist zum Beispiel kein Problem ein Netzwerkfähiges Interface zu erstellen mit welchem dann sogar über grössere Distanzen (Internet) die Daten geschickt werden können.

4. Arbeitspläne

4.1. Edtinger

September 2001
Suche nach Projekt, danach suche im Internet nach den einzelnen Bausteinen und Software
September - Oktober 2001
Programmierung erster Testprogramme für den GameBoy und testen dieser im Emulator; dabei Studium der einzelnen Bausteine des GameBoys
Oktober - November 2001
Entwicklung eines Spiels am GameBoy (ähnlich Tron/Nibbles/Snake)
November - Dezember 2001
Wechsel des Projekts auf Grund des Angebots von Funworld; Suche eines DTMF-Dekoder ICs und Aufbau der externen Schaltung
Jänner 2002
Schreiben der Software zum DTMF-Dekoder und Optimierung der Schaltung
Februar 2002 - März 2002
Suche einer Schaltung für eine Telefonnachbildung, Aufbau und schreiben der zugehörigen Software; Aktualisierung der Dokumenation

4.2. Büchler

September 2001
Suche nach Projekt, danach suche im Internet nach den einzelnen Bausteinen und Software
September - Oktober 2001
Programmierung erster Testprogramme für den GameBoy und testen dieser im Emulator; dabei Studium der einzelnen Bausteine des GameBoys
Oktober - November 2001
Entwicklung eines Spiels am GameBoy (ähnlich Tron/Nibbles/Snake)
November - Dezember 2001
Wechsel des Projekts auf Grund des Angebots von Funworld; Suche eines DTMF-Dekoder ICs und Aufbau der externen Schaltung
Jänner 2002
Schreiben der Software zum DTMF-Dekoder und Optimierung der Schaltung
Februar 2002 - März 2002
Suche einer Schaltung für eine Telefonnachbildung, Aufbau und schreiben der zugehörigen Software; Aktualisierung der Dokumenation

5. altes Projekt

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.

5.1. Kurzbeschreibung

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.

5.2. Funktionsblöcke

Medium->uC<-Gameboy, uC->MP3->DAC->out

5.2.1. GameBoy

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.

5.2.2. Medium

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.

5.2.3. Mikrokontroller

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.

5.2.4. MP3-Dekoder

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.





gesamte Dokumentation unter http://www.chatternation.net/alpha/maturaprojekt/