Forum: HF, Funk und Felder Zigbit-Modul i2c vs. uart o. SPI


von arash j. (arashjavan)


Lesenswert?

Hallo,

ich habe folgendes Problem,

ich möchte ein Zigbit-Modul mit einem zweitem MC verbinden, laut 
Zigbit-Modul-Datenblatt kann ein zweiter MC mittel UART mit zigbit-modul 
kommunizieren, nun ist mir die UART-BAudrate (max. ca. 34 kbit/s) zu 
gering, und USART in SPI-Mod kann leider nur als MAster betrieben 
werden.

jetzt meine Fragen?

1) Atemaga1281v-Datenblatt Seite 240, USART in SPI mode nur als Master 
möglich, aber da fehlt der PIN /CS, wie kann dann das gehen?

2) wenn ich die I2C verbindung nehmen würde, wie groß wäre da der 
SOftwareaufwand im Vergleich zu UART verbindung?

falls ihr andere Vorschläge habt, nehme mit großer Freude entegegen!

Danke voraus.
A. Java

von arash j. (arashjavan)


Lesenswert?

weiss niemeand die Antwort auf die Fragen??

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

a_ javan schrieb:
> weiss niemeand die Antwort auf die Fragen?

Wir hatten gerade nicht alle auf dich gewartet.

a_ javan schrieb:

> ich möchte ein Zigbit-Modul mit einem zweitem MC verbinden, laut
> Zigbit-Modul-Datenblatt kann ein zweiter MC mittel UART mit zigbit-modul
> kommunizieren, nun ist mir die UART-BAudrate (max. ca. 34 kbit/s) zu
> gering

Soso.  Welche Nettodatenrate gedenkst du denn, bei brutto 250 kbit/s
(Maximalrate von IEEE 802.15.4 im Standardmodus) so zu erreichen, wenn
du CSMA/CA mal mit einbeziehst und damit rechnest, dass du nicht der
einzige bist, der das Band gerade belegt?

> 1) Atemaga1281v-Datenblatt Seite 240, USART in SPI mode nur als Master
> möglich, aber da fehlt der PIN /CS, wie kann dann das gehen?

Indem du einen x-beliebigen Ausgang als /CS nimmst.  /CS hat nur im
Slave-Modus eine Sonderfunktion bzw. im Mastermodus, wenn er als
Eingang konfiguriert ist, weil er dann automatisch in den Slave-Modus
wechselt.

> 2) wenn ich die I2C verbindung nehmen würde, wie groß wäre da der
> SOftwareaufwand im Vergleich zu UART verbindung?

Schau dir die entsprechenden Bibliotheken und Appnotes einfach mal an.
Ist natürlich höher, denn UART ist nun wirklich simpelst zu handhaben.

von arash j. (arashjavan)


Lesenswert?

@Jörg

erste mal vielen Dank für Deine Antwort, also ich ahbe mich bissl 
schlauer gemacht, und hab mich dann doch für UART entschieden da ich 
nicht viel
Daten in die Welt frei setzten werde.

von A. W. (uracolix)


Lesenswert?

Hier ist ein kleines (Java)Script,
http://uracoli.nongnu.org/framecalc.html,
das die Netto-Datenraten fuer verschiedene
802.15.4-Datenraten und Framelaengen ermittelt.
CCA und ACK wird aktuell noch nicht mit beruecksichtigt,
die angegebenen Werte beziehen sich auf die reine
Sendedauer, d.h. als wuerde man back-to-back senden,
was aber praktisch sinnlos ist.

Es gibt noch eine Moeglichkeiten die ZigBit-UART-
Datenrate zu verbessern. Dabei wird der int. RC-Osc.
per OSCCAL auf F_CPU = 7,3728 MHz getrimmt.
(=> http://www.mikrocontroller.net/articles/Baudratenquarz)

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.