PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny als UART Switch



Gast_Avr
06.10.2014, 20:59
Hallo an alle

ich hätte da mal eine kurze Frage:

Da ich über eine Uart Schnittstelle 4 verschiedene atmegas ansprechen muss, würde ich gerne einen Attiny2313 den ich noch rumliegen habe als eine Art Switch missbrauchen. Der Attiny würde dann über die Hardware Uart mit der einen Schnittstelle kommunizieren und die Nachrichten an 4 verschieden Software Uarts weiterleiten.

Bsp.:

Uart --(Msg:"(X)..Nachricht..."))--Attiny --(Msg:"..Nachricht..")--- Uart X

x ist dann z.B. 1 für den Ersten Atmega

Frage wäre jetzt ob der Attiny das schaffen würde mit 4 Soft Uarts? (Werde dann aber auf jeden Fall noch eine Art Fehlererkennung einbauen)

White_Fox
06.10.2014, 21:18
Hm...wenn du mit einer hohen Systemtaktfrequenz arbeitest und niedrigen Baudraten verwendest könnte das womöglich gehen.

Ich muß dazu sagen dass ich noch nie mit UART gearbeitet habe, aber wenn ich mir bei Wikipedia das Protokoll so anschaue...es könnte gehen. Wird aber bestimmt ein ordentliches Rumgefrickel und du solltest viel und gründlich testen.

oberallgeier
06.10.2014, 23:05
... über eine Uart ... 4 verschiedene atmegas ansprechen ... Attiny2313 ... rumliegen habe als eine Art Switch missbrauchen
... ob der Attiny das schaffen würde mit 4 Soft Uarts? ... auf jeden Fall noch eine Art Fehlererkennung einbauen ...Alle Achtung, da hast Du Dir ja was vorgenommen. Der 2313 hat 128 Byte SRAM, ob das reicht? Die Fehlererkennung wirds nicht einfacher machen. Vor allem wenn dann der Sender mal flottweg hintereinander nur so plaudert.

Du willst ja 4 Empfänger ansprechen. Dazu mal als Denkanstoß: am 2313 mit dem RX die Strings empfangen und nach dem Dekodieren der Adresse über den TX und einem "Adresspin" raussenden, also nur Hardware-uart. Adresspin und TX sind über einen Logikbaustein ver-und-et, das Signal geht also nur an den entsprechenden Ausgang wenn TX UND Pin aktiv sind . . .

Wsk8
06.10.2014, 23:09
Wie wärs mit I2C? Da hat dann jeder seine eigene Adresse. Oder einfach alle Megas an den Uart anschließen, ein Protokoll brauchst du ja so oder so um das alles zu verwalten.

mfg

Gast_Avr
06.10.2014, 23:17
Hi


am 2313 mit dem RX die Strings empfangen und nach dem Dekodieren der Adresse über den TX und einem "Adresspin" raussenden, also nur Hardware-uart. Adresspin und TX sind über einen Logikbaustein ver-und-et, das Signal geht also nur an den entsprechenden Ausgang wenn TX UND Pin aktiv sind

Ok in diese Richtung ist klar, aber wie anders herum mehrere Tx auf einen Rx, reichen da einfach Dioden oder wird das komplizierter?

oberallgeier
06.10.2014, 23:18
... einfach alle Megas an den Uart anschließen, ein Protokoll brauchst du ja so oder so um das alles zu verwalten ...Das habe ich bei meinem Archie mit zwei "Empfängern". Sender ist ein mega1284, Empfänger waren zwei mega8/TQFP. Nachdem ich einen mega8 gegen einen m168 getauscht hatte (tauschen musste :-/ ), ging alles so gut wie davor. Dann einen m328er draufgelötet damit ich mehr SRAM bekomme - und schon gabs Ausfälle. Ausführliche Beschreibung ab hier (https://www.roboternetz.de/community/threads/52279-LEDschaltung-im-PingPong?p=603919&viewfull=1#post603919) - und es war nicht zu entstören.

Gast_Avr
07.10.2014, 21:59
Hi


Wie wärs mit I2C?

Könnte man den Attiny2313 als I2c Master benutzen um darüber die verschieden Atmegas ansprechen?