www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C / TWI -> UART welcher uC?


Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
Ich möchte ein I2C-Bus auslesen und das Signal etwas überarbeitet
seriell übertragen, um ein anderes System zu emulieren.
Jetzt habe ich mir mal die Tinys und die kleinen Megas angesehen.
Der kleinste mit TWI ist wohl der tiny24. Leider hat der aber keine
UART-Schnittstelle mehr, oder doch?
Im Datenblatt steht unter UART  "USI"  aber nicht ob und wie man
daraus eine UART Schnittstelle machen kann.
Der Mega8 ist mir schon ein bisschen zu groß.
Gibt es Alternativen?
Kann man aus dem USI UART-Daten rausschicken und wenn ja, wie?
Danke im Vorraus
fw

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
prinzipiell kannst du sowohl I2C als auch UART per Software machen, dann
bist du ganz frei in der Wahl des Controllers.
I2C brauchst du eigentlich gar nicht als Hardwareeinheit, zumindest als
master ist das sehr einfach, gibt genügend Codebeispiele dafür.

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das könnte stimmen, aber ich würde es mir gerne einfach machen ...
schon desshalb, weil das Ganze ein gewisse Stabilität in der Funktion
haben sollte und weil mir die Zeit fehlt...
Ich muss mir das mit dem I2C erst mal zu Gemüte führen. Ich hab noch
nix damit gemacht.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Softwarelösung ist nicht instabiler als eine Hardwareeinheit.
Allenfalls gibt es Komplikationen mit dem Timing der Datenübertragung
(bei I2C irrelevant), ansonsten hat es den Nachteil, dass die CPU mehr
beschäftigt ist, als wenn Aufgaben an eine Hardwareeinheit delegiert
werden. Aber ein Auslastungsproblem kann ich bei dir kaum erkennen.
Nimm also irgendeinen, der eine UART hat, dann hast du den kritischeren
Teil in Hardware erledigt.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das USI ist gerade dazu da, sowohl einen auf UART als auch auf TWI zu
machen. Schau dir dazu die Appnotes 307 und 310 von Atmel an. Die
Komplexität des Codes liegt jeweils zwischen reiner Hardware und reiner
Softwarelösung, ist ja klar ;)
Da du natürlich nur ein USI hast, muss eine Funktion ganz in Software
gemacht werden, aber dazu gibt es auch Codebeispiele z. B. Appnote 304
für einen Software-UART (aber mach lieber den TWI in Software, wie
CrazyHorse empfiehlt).

Gruß

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vermutlich ist die Idee, einen Tiny zu nehmen und UART + TWI in Software
zu machen nicht die Schlechteste. Ich glaube ich hebe mir das als
Beta-Plan auf wenn ich mich mal langweile.
Die Zeit, die ich brauche um die Software zu tippeln dürfte den
materiellen Mehraufwand eines uCs der beide Schnittstellen zur
Verfügung stellt bei weitem übersteigen.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, dann nimm halt den Mega8.
Als etwas kleinere Variante gibts noch den Tiny2313. Dessen USI ist
aber irgendwie kein richtiges I2C-Interface, ich bin schon mal dran
gescheitert. Hatte dann auch keine Lust mehr - copy & paste, ruckzuck
war die Software-I2C fertig.
Wenn du die Routinen selbst schreiben müsstest, würde ich deine
Bedenken ja verstehen...

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi flyingwolf,

schau dir mal die ATmegas 48/88/168 an. Die sind schön klein, haben TWI
und USART und kosten fast nichts.

Gruß
   Sascha

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich trau den Codebeispielen von Atmel nicht mehr über den Weg, damit
habe ich mich sooo angeschmiert, das brauche ich nicht noch einmal.
Würdest Du mir denn Deine getestete und für gut befundene Software zur
Verfügung stellen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.