next up previous contents
Next: 6.2 Master Up: 6.1 Khepera-IR-Modul Previous: 6.1.1 Serielle Schnittstelle

6.1.2 K-Bus

Auch bei der Kommunikation über den K-Bus wurde grundlegendes geändert. Da als weiteres Bauteil das bidirektionale Latch hinzugekommen ist, müssen die load und output enables davon noch generiert werden. Das geschieht auf der K-Bus-Seite durch Gatter (damit ist sichergestellt, daß K-Bus-Zugriffe garantiert nur noch im dafür vorgesehenen Zeitintervall stattfinden), und auf der Prozessorseite durch zwei weitere Portleitungen. Diese Signale müssen jetzt noch in der Software entsprechend geschaltet werden.

Der Ablauf beim Lesen vom K-Bus ist folgender:

Der Khepera legt für 250 ns Daten auf die Datenleitungen, eine Adresse auf die Adreßleitungen und das r/w-Signal auf low (schreiben). Liegt diese Adresse im Adreßraum von null bis drei, sind die Daten also für das IR-Modul bestimmt, so übernimmt das Latch die Daten und hält sie gespeichert. Mittlerweile ist der Prozessor aufgewacht und erkennt, daß er vom Bus lesen soll. Er legt dazu das Output-Enable Signal an Port B auf low, von nun an liegen die Daten an Port A. Jetzt liest er von Port A und deaktiviert hinterher das Output-Enable-Signal an Port B wieder.

Wenn das IR-Modul Daten auf den K-Bus legen möchte, so setzt es zuerst das Load-Enable-Signal an Port B auf low und gibt dann die Daten an Port A aus. Wenn jetzt das Load-Enable-Signal wieder auf high geschaltet wird, übernimmt das Latch die Daten, gibt sie aber erst bei einem Lesezugriff des Khepera-Prozessors auf eine der untersten vier Adressen aus.


next up previous contents
Next: 6.2 Master Up: 6.1 Khepera-IR-Modul Previous: 6.1.1 Serielle Schnittstelle
Christopher Odenbach
1999-06-01