Um ein Anwenderprogramm auf dem Khepera ablaufen zu lassen, gibt es zwei Möglichkeiten:
Bei der zweiten Variante wird der Khepera über die integrierte serielle Schnittstelle mit einer flexiblen Leitung an einen Rechner angeschlossen. Der Khepera ist über einen DIP-Schalter in den ,,Download-Mode`` zu schalten. Jetzt kann ein compiliertes Programm auf den Khepera geladen und dort ausgeführt werden.
Die serielle Schnittstelle des Kheperas wird weiterhin genutzt, um Daten vom Khepera auf einen Rechner zu laden, z.B. um während des Programmablaufs Kontrolldaten auszugeben. Dazu ist natürlich immer eine Verbindung zwischen Rechner und Khepera nötig.
Als ein offenes System besitzt der Khepera weiterhin eine Erweiterungsmöglichkeit, den sogenannten K-Bus. Dieser Bus, bestehend aus sechs Adreß- und acht Datenleitungen, ist eigentlich nur ein nach außen gelegter Teil des Khepera-Prozessor-internen System-Busses. Wird jedoch eine der hiermit ansprechbaren Adressen (0 bis 63) selektiert, generiert der Khepera zusätzlich ein Chip-Select-Signal. Während dieses Signal low ist (dies ist nur für die Dauer von ca. 250 ns der Fall), darf ein externes Modul auf die Datenleitungen zugreifen, und dies, abhängig vom Read/Write-Signal, lesend oder schreibend.
Alle Lese- und Schreibzugriffe auf den K-Bus werden vom Khepera initiiert. Wenn z.B. der Khepera von einer K-Bus-Adresse liest, kann ein Modul die abgesprochene Adresse sowie das Read/Write-Signal und das Chip-Select detektieren und Daten auf die Datenleitungen legen. Wenn kein Modul innerhalb dieser Zeit einen Wert auf den Datenbus schreibt, erhält der Khepera den Wert 32 (entspricht 00100000
).
Die Aufgabe des zu entwickelnden Moduls ist es, zum einen die Verbindung vom Roboter zum Rechner über die serielle Schnittstelle kabelunabhängig zu machen, und zum anderen eine Kommunikationsmöglichkeit zwischen verschiedenen Robotern über den K-Bus zu ermöglichen.