-
-
Erfahrener Benutzer
Robotik Einstein
Nicht so schnell Leute,beim 8574 geht das schon aber nur eingeschränkt.:
@Infosystems
Elektrisch gibt es da jedenfalls keine Probleme da der Bus komplett auf Offene Kollektoren aufgebaut ist.
Rein Logisch geht das natürlich nur beim Schreiben aber das dürfte dir ja sicher klar sein.
Der Master sendet "Start" + "Adresse" und alle angesprochenen Slaves geben ein "ACK" zurück.
Wegen der Bindung am Takt ist das Synchron.
Was dir passieren kann ist das ein Slave kein "ACK" gibt.
Das würde der Master nicht mitbekommen.
Du hast also keine Kontrollmöglichkeit mehr.
Im Ernstfall kommen auf diesem Slave die Daten nicht an oder nur Müll.
Dagegen hilft nur die Daten doppelt oder dreifach zu schicken aber wenn du das eh mehrfach schickst dann kannste auch gleich einzeln adressieren.
Macht also wenig Sinn.
Eine reduzierung des Taktes würde zusätzliche Sicherheit (Naja,so in etwa) geben.
Ich hab das mal mit 2 PCF8574 an nem M16 gemacht.
Der M16 hat auf 2 gleichadressierte Portexpander die gleichen Daten geschickt und die 2x8 Bit hab ich dann wieder am M16 eingelesen.
Das ganze mit unterschiedlichen Taktraten und Leitungslängen.(Jeweils 10'000 Durchgänge bei 100-1 Khz Takt mit 0.1 bis 5m Leitungslänge)
Der M16 hat die Daten gespeichert und am Ende über die Serielle ausgeworfen.
Bei 100Khz gabs einige fehler aber unterhalb von 30Khz keine mehr.
Die Leitungslängen sind unabhängig davon eine Frage der Kapazitäten und dienten nur dem Hintergrund unterschiedliche Längen und Kabelsorten zu testen.
Is also mit Einschränkungen machbar.
PS:
Am Ende hab ich mich aber dann doch für unterschiedliche Adressen entschieden weil es Zeitlich kein Problem war und ich so "jeden" Portexpander Individuell beschicken konnte.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen