Arexx RP6 V2 Build your own robot kit RP6 V2 Manuale Utente

Codici prodotto
RP6 V2
Pagina di 141
RP6 ROBOT SYSTEM -  2. Der RP6 im Detail
Neben Sensoren macht es auch sehr viel Sinn, zusätzliche Controller einzubauen um 
die anfallenden Aufgaben aufteilen zu können. Beispielsweise das RP6 CONTROL M32 
mit einem weiteren MEGA32 Mikrocontroller.
Das Erweiterungssystem muss natürlich in der Lage sein, viele Erweiterungsmodule 
miteinander zu verbinden (engl. Expansion Modules, s. Abb.), dabei mit wenigen Si-
gnalleitungen auskommen und eine ausreichend hohe Geschwindigkeit bieten. 
2.5.1. Der I²C Bus
Der I²C Bus (sprich: „I quadrat C Bus“ --> IIC = „Inter IC Bus“), erfüllt diese Anforde-
rungen. Er braucht nur 2 Signalleitungen, kann bis zu 127 Teilnehmer miteinander 
verbinden und hat eine maximale Übertragungsrate von 400kBit/s. 
Der I²C Bus wurde in den 1980er und 90er Jahren von Philips Semiconductors entwi-
ckelt und ist seitdem zu einem sehr weit verbreiteten Bussystem geworden. Der I²C 
Bus findet in sehr vielen elektronischen Geräten der Unterhaltungselektronik, wie Vi-
deorecordern   und   Fernsehern   Verwendung,  aber   auch   in   industriellen   Geräten   und 
Systemen. In den meisten moderneren PCs und Notebooks ist er in Form des SMBus 
zu finden und wird dort u.a. zur Kommunikation der Lüftersteuerung und Temperatur-
überwachung   verwendet.  Auf   vielen   anderen   Robotern   wird   er  ebenfalls   eingesetzt 
und so ist es nicht verwunderlich, dass es auch diverse Sensormodule wie Ultraschall-
sensoren, elektronische Kompassmodule, Temperatursensoren und ähnliches mit die-
sem Interface gibt. 
Es  handelt   sich   um   einen   Master-Slave   orientierten   Bus.   Ein   oder   mehrere   Master 
steuern den Datenverkehr von und zu bis zu 127 Slaves. Wir beschreiben aber nur die 
Verwendung   des   Busses   mit   einem   Master,   auch   wenn   der   Bus   Multimaster   fähig 
wäre! Das würde die Sache nur verkomplizieren.
Die beiden Signalleitungen werden mit SDA und SCL bezeichnet. SDA steht für "Serial 
Data" und SCL für "Serial Clock" - also eine Daten- und eine Taktleitung. SDA ist bidi-
rektional, was bedeutet, dass hier sowohl Master als auch Slave Daten anlegen kön-
nen. Der Takt auf SCL wird immer vom Master erzeugt. 
Der Bus überträgt die Datenbits stets synchron zum Taktsignal, das von einem Master 
vorgegeben wird. Der Pegel von SDA darf sich nur ändern während SCL low ist (aus-
ser bei Start und Stopbedingung, s.u.). Die Übertragungsgeschwindigkeit kann auch 
während einer laufenden Übertragung beliebig zwischen 0 und 400kBit/s variieren. 
Zwei typische Übertragungsabläufe sind in den obigen Abbildungen dargestellt. Die 
erste Abbildung zeigt eine Datenübertragung vom Master zu einem Slave. Die weissen 
Kästchen deuten auf Datenverkehr vom Master zum Slave hin, die dunklen sind die 
Antworten des Slaves. 
Jede Übertragung muss mit einer Startbedingung eingeleitet werden und mit einer 
Stopbedingung beendet werden. Die Starbedingung tritt ein, wenn bei high Pegel auf 
SCL die Datenleitung SDA von high auf low Pegel gezogen wird. Umgekehrt gilt dies 
für die Stopbedingung, also wenn während SCL high Pegel führt, SDA von low auf high 
gezogen wird.
- 26 -