next up previous contents
Next: 3.3 Verbindung vom Master Up: 3. Aufbau des Moduls Previous: 3.1 Verbindung vom Khepera

  
3.2 Infrarot-CAN-Busbetrieb

Das erste Problem ergibt sich aus der starken Richtwirkung der Infrarot-Transceiver. Diese macht es unmöglich, daß eine direkte Verbindung zwischen zwei Robotern in jeder Position und Lage garantiert werden kann. Daher muß ein Umweg über eine Repeater genommen werden. Diese Extra-Platine ist oberhalb der Roboter-Umwelt angebracht und kann dadurch alle Roboter erreichen. So ermöglicht sie auch die Kommunikation zwischen Robotern in jeder Position, die jetzt einfach nur noch nach ,,oben`` senden müssen.


 
Abbildung: Die Netzwerk-Topologie (aus [RLR98])
Die Netzwerk-Topologie

Durch die herausragende Position des Repeaters und die damit verbundenen Vorteile (kein Energiesparen nötig) macht es Sinn, ihn ebenfalls als Busteilnehmer d.h. CAN-Knoten vorzusehen und ihm weitere Aufgaben zukommen zu lassen. Er wird daher im folgenden als Master bezeichnet (obwohl CAN als Multimaster-System ausgelegt ist, d.h. alle Busteilnehmer gleichberechtigt sind).

Der Master verfügt über eine serielle Schnittstelle, die an einen Rechner angeschlossen werden kann. Darüber ist es möglich, jeden Roboter zu erreichen. Eine ausführliche Beschreibung dieser Topologie und der Konsequenzen findet sich in [Lü97] sowie in [RLR98].

Eine weitere Schwierigkeit beim Aufbau des CAN-Netzwerkes ist die Realisierung der Pegel. Bei gewöhnlichen drahtgebundenen Medien entspricht der rezessive Pegel der Betriebsspannung; bei einem dominanten Bit wird diese Spannung auf Massepotential gelegt. Beim verwendeten Infrarot-Netz verhält es sich genau andersherum: Liegt das Sendesignal auf Massepotential, wird nichts gesendet, der Pegel ist rezessiv. Ein dominantes Bit dagegen sendet einen Infrarot-Impuls, dieser überschreibt den rezessiven Pegel. Um dieses Verhalten zu erreichen muß der im Prozessor integrierte CAN-Baustein softwareseitig auf inversen Betrieb eingestellt werden. Dadurch wird eine logische 0 auf dem CAN-Bus als Impuls und somit als dominant dargestellt.

Der Uplink auf der CAN-IR-Seite soll mit 100 kbit/s betrieben werden. Das Signal an der Leitung TX0 der CAN-Zelle (siehe Abschnitt 2.2 und Abbildung 2.6 auf Seite [*]) muß über den Infrarot-Transceiver gesendet werden. Dieses Signal kann aber nicht direkt als Eingang des Senders genommen werden, da der Transceiver für IrDA ausgelegt ist, und dort wird mit Pulsbreiten-Modulation gearbeitet. Dies hat zur Folge, daß der Transceiver nur Eingangsimpulse der Dauer von einer bis zu zwanzig $\mu$s verarbeiten kann. CAN arbeitet aber mit NRZ-Signalen, d.h. es ist prinzipiell möglich, daß das Sendesignal länger als 20 $\mu$s (zwei Bitdauern) high ist, und dann bricht der Transceiver ab. Der Ausweg ist die Modulation des NRZ-Signals zu einem RZ-Signal. Hierzu wird das Signal am Pin TX0 mit dem CAN-Bustakt am Pin TX1 UND-verknüpft. Der Bustakt hat gerade eine Länge von einer $\mu$s, eine logische 1 entspricht somit einem Impuls, eine 0 keinem.


 
Abbildung 3.3: Prinzipschaltbild IR-CAN-Schnittstelle Khepera
Prinzipschaltbild IR-CAN-Schnittstelle Khepera

Auf der Empfänger-Seite muß dieses empfangene Signal wieder zu einem NRZ-Signal geformt werden, damit die CAN-Zelle dieses Signal korrekt abtasten kann. Diese Funktion übernimmt ein Monoflop, das auf eine Pulsdauer von etwa 90 Prozent der Bitzeit eingestellt wird; die kurze Pause ist nötig, damit der Transceiver wieder in den Ruhezustand übergehen kann, um eventuell ein weiteres Bit zu empfangen. Dabei benötigt das Monoflop eine negative Flanke zum Triggern und gibt einen positiven Rechteckimpuls aus, es ist also direkt anschließbar. Diese ganze Beschaltung füllt im ISO/OSI-Modell die unterste Schicht, den Physical Layer.


 
Abbildung 3.4: Oszilloskop-Aufnahme zur Modulation
Oszilloskop-Aufnahme zur Modulation


next up previous contents
Next: 3.3 Verbindung vom Master Up: 3. Aufbau des Moduls Previous: 3.1 Verbindung vom Khepera
Christopher Odenbach
1999-06-01