next up previous contents
Next: 4.1.1.2.1 Senden an einen Up: 4.1.1 Der Knoten auf Previous: 4.1.1.1.2 Empfang vom Rechner

4.1.1.2 Kommunikation über den K-Bus

Der K-Bus besteht unter anderem aus 6 Adreßleitungen und 8 Datenleitungen, sowie einigen weiteren Signalen (Chip-Select, Read/Write etc.), die hier erst einmal nicht weiter betrachtet werden sollen. Über den K-Bus kommunizieren allerdings noch weitere evtl. montierte Khepera-Module, so daß hier auch mögliche Konflikte berücksichtigt werden müssen.

In Absprache mit anderen Entwicklern von Khepera-Erweiterungen im Fachgebiet Schaltungstechnik wurde beschlossen, daß der K-Bus Adreßraum wie folgt aufgeteilt wird:

Die ersten vier Bit bezeichnen das Modul, das IR-Modul bekommt hier die 0000, die beiden letzten Bits sind dann Modul-interne Adressen, wovon die erste ein Statusregister sein soll. Die anderen drei Adressen können relativ willkürlich vergeben werden. Beim vorliegenden Modul wurden die Adressen folgendermaßen vergeben:

00=0 Statusregister
Wenn ein Modul auf dem Khepera einen IRQ6 auslöst, muß dieser nachprüfen, von wem dieser Interrupt gekommen ist. Dazu liest er aus jeweils aus dem Statusregister dieses Moduls. In vorliegenden Fall ist dies eben die Adresse 0000 00. Wird hier eine Null gelesen, liegt nichts an, der Interrupt muß von einem anderen Modul ausgelöst worden sein. Ansonsten enthält das gelesene Byte in den ersten drei Bit die Anzahl der zu lesenden Bytes minus eins4.1, die restlichen fünf Bit enthalten die Absenderadresse.
01=1 Daten lesen
Wurde aus dem Statusregister ein Wert ungleich null gelesen, so wird eine betreffende Anzahl von Lesezugriffen auf die Adresse 0000 01 ausgeführt. Damit sind die gesendeten Daten beim Khepera angekommen.
10=2 Empfängeradresse und Anzahl zu sendender Bytes
An diese Adresse müssen Empfängeradresse und die Anzahl der zu sendenden Bytes geschrieben werden, wenn etwas verschickt werden soll.
11=3 Daten schreiben
Anschließend muß der Khepera eine betreffende Anzahl an Bytes an diese Adresse schreiben, bevor die Nachricht versandt werden kann.



 
next up previous contents
Next: 4.1.1.2.1 Senden an einen Up: 4.1.1 Der Knoten auf Previous: 4.1.1.1.2 Empfang vom Rechner
Christopher Odenbach
1999-06-01