Forum: Mikrocontroller und Digitale Elektronik Software I2C-Slave beim AVR möglich und sinnvoll?


von Bernhard Mayer (Gast)


Lesenswert?

Hallo!

Ist ein Software I2C-Slave mit einem ATmega mit 8MHz möglich? oder wird
der da schon ziemlich ausgelastet? (ich weiß dass er das auch in
Hardware kann)

Danke
Bernhard

von Jens D. (jens) Benutzerseite


Lesenswert?

Wieso willst du es in software nutzen, wenn er es hardwareseitig schon
kann

aber im grunde sollte es kein problem sein
kommt darauf an,was und wieviel du sonst machen willst..

von peter dannegger (Gast)


Lesenswert?

Bei 100kBit dauert die High-Zeit von SCL 4µs, das sind bei 8MHz 32
Zyklen, in denen Du das Bit abholen must.

Ein nackter Interupt kostet aber schon 10 Zyklen, und Du must ja noch
ne Menge Protokollzeugs machen.

Ohne super optimierten Assembler geht da nichts, trotzdem wirst Du
nicht wesentlich unter 90% Auslastung kommen.

Deine Anwendung wird also nur dann laufen, wenn der Master zwischen den
einzelnen I2C-Paketen genügend Pausen dafür läßt.

Auch während der Master zu einem anderen Slave sendet, bist Du voll
ausgelastet, da Du ja das nächste Start nicht verpassen darfst.


Peter

von Bernhard Mayer (Gast)


Lesenswert?

Gut, danke.

Hab hier nämlich ne Platine und da wird ein Software I2C-Master mit
eben diesem µC gemacht. und da wollt ich mal schaun wie groß der
aufwand ist, wenn man nen I2C-Slave draus machen will. aber ich seh
schon, da werd ich meinen schaltplan ändern müssen.

Danke
Bernhard

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.