I2C / TWI -> UART welcher uC?

Gast #305216
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
Gast #305217
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.
Gast #305218
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.
Gast #305219
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.
Gast #305220
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ß
Gast #305221
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.
Gast #305222
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...
Gast #305224
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.