von Kai Fettmit Unterstützung der Fa. Pioneer electronics
Alle neueren Geräte von Pioneer sind über einengemeinsamen Bus verbunden. Der eigentliche Sinn davon ist es, daßman nur ein Gerät mit einer Fernbedienung benötigt, um seinegesamte Anlage zu steuern. So empfängt zum Beispiel der Receiver vonder Fernbedienung den Befehl "CD Play". Diesen Befehl gibt er auf den Bus,alle Geräte ignorieren ihn, nur der CD-Player aktiviert halt das entsprechendeKommando.
Der Bus ist folgendermaßen realisiert: Alle Gerätewerden über ein 3,5"-Klinkenstecker-Kabel untereinander verbunden,wobei alle Geräte parallel am Bus hängen. Der Bus wird standardmäßigvom Empfänger (im Beispiel der Receiver) auf einem 5V-Pegel gehalten.Zum Senden eines Kommandos wird er einfach getaktet auf 0V heruntergezogen.
Das schöne ist, daß die Pullup-Widerständeschön hoch sind, so daß man zum Versenden eigener Codes denBus einfach nur getaktet auf Masse legen muß. Das kann zum Beispielam Ausgang des letzten Gerätes am Bus geschehen, oder am Eingang desVerstärkers.
Das Protokoll ist schnell erklärt:
Eine Liste der wichtigsten Geräte-IDs:
A1 | Tapedeck |
A2 | CD-Player |
A4 | Tuner |
A5 | Verstärker |
A8 | LD-Spieler |
AB | Video-Recorder |
Eine Liste der wichtigsten Codes:
17 | Play |
18 | Pause |
16 | Stop |
10 | Vorwärts |
11 | Rückwärts |
1C | Power |
Wie schon oben geschrieben, benötigt man im Prinzipnur eine Schaltung, die den Bus kurzfristig auf 0V zieht. Um nun aber auchGeräte ansteuern zu können, die an keinem aktiven SR-Empfängerhängen, sollte man dafür Sorge tragen, daß der Bus auf5V-Pegel gehalten wird. Ferner muß man noch den PC und die Anlageauf das gleiche Massen-Niveau bringen, falls dieses noch nicht durch Soundblasteroder Schutzleiter der Fall sein sollte. Eine doppelte Massenverbindungsollte man hingegen vermeiden, da man sich sonst sehr schönes Brummenauf den Audio-Leitungen einfängt, Stichwort Massenschleife.
Als Schnittstelle mit dem Computer empfiehlt sich der Parallel-Port,da dieser zum einen sehr leicht anzusprechen ist, und zum anderen bereitsdie benötigten Pegel zur Verfügung stellt.
Zum "Kurzschließen" des Busses nimmt man einen handelsüblichenNPN-Transistor, Emmiter an Erde, Kollektor an den Bus, Basis überSpannungsteiler an Erde bzw. D0 der Schnittstelle. Ich verwende zum Beispieleinen BC546, der gerade vorrätig war.
Damit ergibt sich folgende kleine Schaltung:
Abb.1: Die Schaltung
Dabei ist SR der innere Pol des Klinkensteckers zur Anlage.WICHTIG: Der äussere Pol ist keine Masse, sondern dient manchen Gerätenfür weitere Kommunikationsaufgaben. Man darf ihn also keinesfallsals Masse mißbrauchen. Diese muß man also am Gehäuse oderan einer freien Cinch-Buchse der Anlage abgreifen. Falls Ihr die Pinbelegungder parallelen Schnitstelle nicht auswendig wissen solltet (warum interessiertIhr Euch dann überhaupt für solche Texte hier?!), hier die relevantenPins:
Pin | Bedeutung |
2 | D0 |
3 | D1 |
18-25 | GND |
Wie man sehen kann, mißbrauche ich Datenbit 1 zuraktiven Busspeisung, so daß man diese bequem im Program abschaltenkann, wenn sie stören sollte.
Wenn Du von obigem nichts verstanden haben solltest, undder Schaltplan für Dich Ähnlichkeit mit einem Strickmuster ausder Zeitschrift Deiner Oma hat, für Dich aber trotzdem die Welt untergehensollte, wenn Du Deine Anlage nicht in Zukunft vom Rechner aus steuern kannst,dann wende Dich vertrauensvoll an mich,wenn ich noch etwas Zeit habe, bastel ich Dir das Interface für Material+Porto+TüteGummibärchen zusammen.
Nun kommt es zum eigentlichen kribbeligen Akt: Das Interfacewill angesteuert sein. Und zwar teilweise für 0,35 ms, wobei eineToleranz von 5% eingehalten werden sollte. Die PC-Hardware stellt einemallerdings nur Zeitinformationen mit einer Auflösung von 54,9 ms zurVerfügung. Ich verwende daher für die Software eine Zeitschleife,die einfach n-mal eine Addition durchführt. Dadurch ergeben sich zweiKonsequenzen:
Die Linux-Software kennt diese Probleme nicht, da es unter Linux einenwunderbaren RTC-Support gibt. Aber auch hier gilt: Linux ist keinRealtime-OS, so da˜ man das Tool zum einen mit root-Rechten laufen lassenmu˜ und zum anderen bei vielbesch„ftigten Systemen einen sehr niedrigennice-Value ben÷tigt.
Die Software liegt in mehreren Varianten vor:
Die Doku ist etwas dürftig, also müßt Ihr schon einwenig im Code lesen...
So, viel Spaß mit dem ganzen, und WIEDER EINE STUFE WEITER aufder Leiter zum Hightech-Freak!