Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: I2C Multi Master Fähigkeit? Kategorie: C-Control I V1.2/2.0 (von Jens - 1.12.2005 22:58)
 Als Antwort auf I2C Multi Master Fähigkeit? von Eltor - 30.11.2005 20:44
Jens nutzt:  CC1-M-Unit V1.1, Micro, Open-Micro, Open-Mini
Hallo

> Ist das, was der C-Control M2.0x zur I2C Fähigkeit verhilft "bit-banged" Software und daher nicht Multi Master fähig? Dieselbe Frage stellt sich natürlich auch bei den Open Micro/Mini Controllern und OMBasic. Falls nicht Multi Master fähig, dann würde ich wohl ein Problem bekommen, das vielleicht nur mit zusätzlicher Hardware in den Griff zu bekommen wäre.
>
> Kurz zur Grundidee: Sammelstelle und Platz zum Austauschen von Daten würde ein I2C EEPROM sein, auf das mehrere Microcontroller zugreifen, schreibend und lesend. Multi Master Fähigkeit ist eine Grundvoraussetzung dafür.
>
> Geht das?

Eine "Multi master Fähigkeit", so wie sie Philips vorschreibt, wird mit der C-Control und der Open-Micro / Mini nicht möglich sein. Allerdings kannst Du etwas tricksen. Wenn Du die Open-Micro / Mini mit der I2C-Bus-Routine von Dietmar verwendest, dann kannst Du mehrere "Master" an einem I2C-Bus betreiben. (Bei den C-Controls kenne ich mich nicht so genau aus.) Allerdings musst Du selber darauf achten, dass nicht mehrere "Master" zur gleichen Zeit Senden oder Empfangen, dann gibt es auch keine Probleme. (Glaube ich, nicht getestet.)

Wenn die "Master" zeitlich synchron laufen, dann kannst Du dass mit einer Zeitabfrage regeln. (zwischen 0 bis 10 Sekunden darf "Master 1" Senden / Empfangen, zwischen 20 bis 30 Sekunden darf "Master 2" Senden / Empfangen, usw. ...)

Wenn das nicht geht, dann kanst Du Dir auch eine zusätzliche "Bussy Leitung" aufbauen. (Die nichts mit dem eigentlichen I2C-Bus zu tuhen hat.) Dazu brauchst Du bei jedem "Master" einen freien Digital-Port. Diese Digital-Ports schliest Du alle zusammen und legst sie dann mit 10K auf Masse. (Wenn alle Ports deaktiviert sind, dann sind alle "Bussy" Ports LOW.) Wenn jetzt z.B. "Master1" auf den I2C-Bus zugreifen soll, dann muss die "Bussy Leitung" LOW sein. Wenn diese Bedingung erfüllt ist setzt "Master1" die "Bussy Leitung" auf HIGH und fängt danach an die Daten an den EEProm zu senden. So lange die "Bussy Leitung" HIGH ist heist dass für alle anderen "Master" dass sie nicht auf den I2C-Bus zugreifen dürfen. Nach dem "Master1" mit der Datenübertragung fertig ist, wird die "Bussy Leitung" wieder deaktiviert (LOW) und für einen anderen "Master" freigegeben... Das ist zwar nicht elegant gelöst, wird aber sicherlich funktionieren.

LG Jens







 Antwort schreiben

Bisherige Antworten:

Re: I2C Multi Master Fähigkeit? (von Eltor - 2.12.2005 18:33)
    Re: I2C Multi Master Fähigkeit? (von Eltor - 2.12.2005 23:20)
        Re: I2C Multi Master Fähigkeit? (von Jens - 3.12.2005 17:18)
            Re: I2C Multi Master Fähigkeit? (von Eltor - 4.12.2005 10:42)
                Re: I2C Multi Master Fähigkeit? (von Benno - 5.12.2005 17:12)
                    Re: I2C Multi Master Fähigkeit? (von Eltor - 5.12.2005 18:38)
                Re: I2C Multi Master Fähigkeit? (von Jens - 5.12.2005 16:24)
                    Re: I2C Multi Master Fähigkeit? (von Eltor - 5.12.2005 23:49)
                       Re: I2C Multi Master Fähigkeit? (von Jens - 6.12.2005 10:42)
                          Re: I2C Multi Master Fähigkeit? (von Eltor - 6.12.2005 12:28)
                             Re: I2C Multi Master Fähigkeit? (von Jens - 6.12.2005 16:16)
                                Re: I2C Multi Master Fähigkeit? (von Jens - 6.12.2005 23:14)
    Re: I2C Multi Master Fähigkeit? (von Eltor - 2.12.2005 18:37)
        Re: I2C Multi Master Fähigkeit? (von Jens - 2.12.2005 22:26)