PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere UART Sender am ATMEL



surfer
17.09.2005, 12:18
Hallo

Ich muss zwei UART Sender mit einem ATMEL auswerten...
Der eine Sender schickt ca. alle 1s Daten. Der andere schickt Daten, bei Tastendruck des Senders...
Nun weiss ich nicht ob ich einen normalen MEGA16 nehmen kann und beide Datenleitungen auf den RX-Pin hängen kann, oder ob bei gleichzeitigem Senden beider Module ein Konflikt entsteht...
Wäre es besser einen MEGA162 mit 2UART´s zu nehmen??

Merci

olfi13
17.09.2005, 12:27
Klar entsteht dort en Konflikt, der läßt sich über Software aber auflösen.

Gruß, olfi

surfer
17.09.2005, 12:39
Und wie würde das gelöst???
Anhaltspunkte?

olfi13
17.09.2005, 17:09
Eine Möglichkeit:
Der Sender der etwa 1mal pro Sekunde sendet dient quasi zum Triggern.
Der 2.te hört am Bus, ist der erste fertig, sendet er seine Daten.

Andere Möglichkeit: Beide senden dauernd, aber abwechselnd.

Noch eine Möglichkeit: Wenn die Sender nicht zu weit auseinander sind und die Verbindungsleitungen es erlauben regelt der Atmel als Master den Datenverkehr über Ausgänge die dem jeweiligen Teilnehmer das Senden freigeben.

Es kommt auf die Anwendung an welche Möglichkeit die Beste ist. Es gibt sicherlich noch mehrere.
Also eine Frage des Protokolles.
Hoffe, es reicht als Anregung,
Grup, olfi

surfer
17.09.2005, 18:38
Hallo olfi

Danke für deine Tipps
Leider lassen sich die Sendevorgänge meiner Sender nicht Regeln, da sie "unkontrolliert" senden...
Nun denke ich dass die Methode mit dem ATMEGA162 besser ist. Hat da schon jemand Erfahrungen gemacht?
Gibt es sehr grosse Änderungen an der Programmierung, oder ist ein Umstieg einfach?

Thanks

surfer
18.09.2005, 14:03
Ich werde im Datenblatt vom ATMEGA162 einfach nicht schlau, wie ich jetzt zwischen den beiden UART's wählen kann...
Empfang ist klar, da es zwei verschiedene Interrupts gibt.
Jedoch verstehe ich das Senden nicht ganz...
Wie kann ich wählen, ob ich jetzt über TXD0 oder TXD1 senden kann?
UDR1/UDR0???

Hoffe jemand kann mir helfen... :-k

Kjion
18.09.2005, 14:29
Wie kann ich wählen, ob ich jetzt über TXD0 oder TXD1 senden kann?
UDR1/UDR0???

Genau.
Es gibt halt alle Register zweimal, ansonsten ist die Ansteuerung aber fast genauso wie bei einem AVR mit nur einem UART.

MfG Kjion

surfer
18.09.2005, 14:58
Aha. Also mit allen UART Registern?
Z.B. dann auch UCSRA1 UCSRB1 / UCSRA0 UCSRB0 etc.?
Dann finde ich es einfach ein bisschen merkwürdig dass nichts im Datenblatt steht, oder habe ich etwas übersehen???
Die Regiser sind nämlich nicht so deklariert...

Kjion
18.09.2005, 19:13
Dann finde ich es einfach ein bisschen merkwürdig dass nichts im Datenblatt steht, oder habe ich etwas übersehen???
Die Regiser sind nämlich nicht so deklariert...

Gleich auf der ersten Seite zum USART steht doch sowas:

USART0 and USART1 have different I/O Registers as shown in “Register Summary” on page 272.

In der Registertabelle auf Seite 273 sieht man es dann auch. Da sind jeweils die Register für jeden UART Kanal aufgeführt.

MfG Kjion

surfer
18.09.2005, 19:22
OK ;-)

Danke!