Forum: Mikrocontroller und Digitale Elektronik AVR multimaster arbitrierung


von sebastians (Gast)


Lesenswert?

Hallo,
im AVR-Datenblatt steht:
----------------------
arbitration is not allowed between:
    - A REPEATED START condition and a data bit
    - A STOP condition and a data bit
    - A REPEATED START and a STOP condition
It is the user software’s responsibility to ensure that these illegal 
arbitration conditions never occur. This implies that in multi-master 
systems, all data transfers must use the same composition of SLA+R/W and 
data packets. In other words: All transmissions must contain the same 
number of data packets, otherwise the result of the arbitration is 
undefined.
----------------------

Wenn ich garantieren kann, dass der Anfang des Datenpackets für jeden 
Master verschieden ist (indem ich einfach als erstes die Adresse des 
Masters sende), dann findet Arbitrierung doch immer zwischen Datenbits 
(wenn nicht schon beim Empfänger-Adresspacket) statt.

Warum steht dann da "This implies... All transmissions must contain the 
same number of data packets"?

von sebastians (Gast)


Lesenswert?

Hallo,
nachdem hier keine Antwort kam, hab ich bei atmel nachgefragt.
Falls jemand später das Forum durchsucht und es auch wissen will, hier 
die wichtigsten Auszüge aus der Antwort:

"...I think that the statement about number of data packets in the 
datasheet is a bit simplified..."

"...Since you can guarantee this within the first data packet, I see no 
problem..."

Sebastian
P.S.: Lob für atmel: Der email support funktioniert!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.