Ich bekomme 3 unabhängige Datenströme per USART, also 3 mal TxD. Nun bräuchte ich einen Atmel, der 3 mal RxD kann, also 3 USART hat -- das gibt es glaube ich nicht. Gibt es einen USART-Chip, der das kann -- ähnlich eines MIDI-Mergers?
ATmega640, 1280, 2560 je nach Datenrate könnte auch ein Softwareuart bzw. 2x Hardwar, 1x Software reichen... das musst du dir aber selber ausrechnen. http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=607&subfamily_id=760
Danke ... das hatte ich mir schon gedacht, dass es keine Lösung im lötbaren PDIP Gehäuse gibt.
Hallo, > dass es keine Lösung im lötbaren PDIP > Gehäuse gibt besorg dir einen Atxmega32a4, der ist noch gut lötbar (TQFP44 Package) ! Hat 3 Usarts. Gruß XMEGA
Jens schrieb: > das hatte ich mir schon gedacht, dass es keine Lösung im lötbaren PDIP > Gehäuse gibt. Was für Baudrate denn? Z.B. 19200 Baud sind für ne SW-UART kein Thema. Dann reicht ein ATmega164 (2* HW-UART + 1* SW-UART). Peter
Ja, danke. Das schaue ich mir mal an - gibt es dann auch wirklich 3 verschiedene RxD-Pins?
Jens schrieb: > Nun bräuchte ich einen Atmel "Einen Atmel" wirst du nicht bekommen, denn das ist eine Firma. ;-) (Daran, "ein Atmel" zu bekommen, indem man hinreichend viele Aktien kauft, hat sich vor einigen Jahren schon mal "ein Microchip" die Zähne ausgebissen ...)
Jens schrieb: > Das schaue ich mir mal an - gibt es dann auch wirklich 3 verschiedene > RxD-Pins? Wenn drei UARTs drin sind, gibt's auch 3 RxD-Pins, wie sollte es sonst gehen?
Sicher - sehe ich jetzt auch -- 2 bei PortD, 2 bei PortC und einen bei PortE ...
MAXIM hat externe SPI-UARTs und SPI kannst du gefahrlos auch per Software implementieren.
Jens schrieb: > Danke ... > > das hatte ich mir schon gedacht, dass es keine Lösung im lötbaren PDIP Mega640 gibts im 40er DIP. Habe ich da.
Hi
>Mega640 gibts im 40er DIP. Habe ich da.
Halte ich für ein Gerücht.
MfG Spess
Das glaube ich nicht.. der Mega640 ist ein 100-Pinner (TQFP oder CBGA). Was du haben wirst ist ein Mega644.
Noch was ist zu bedenken. Es kann sein, dass alle drei RxD gleichzeitig mit Daten bedient werden, da die "Sender" unabhängig voneinander arbeiten und Messdaten ausgeben. Deshalb die drei uC - ich kann über Interrupt die Daten in ein Buffer schreiben und danach in den Hauptroutinen gemütlich hintereinander über einen anderen Bus ausgeben. Also uC2 und uC3 geben ihre Daten an uC1 (wenn sie von uC1 aufgefordert werden) - der macht dann die Hauptarbeit und gibt letztendlich alles weiter über TxD. Der 644 hat nur eine USART. ??? Ich muss das Projekt jetzt auch zu Ende bekommen. Aber in Zukunft werde ich mich mal mit den ATxMega32a4 usw. beschäftigen.
OT: Jörg Wunsch schrieb: > "Einen Atmel" wirst du nicht bekommen, denn das ist eine Firma. ;-) Ich habe aber einen Renault, mein Nachbar einen Audi, ich kenne sogar einen, der einen Mercedes hat, heute morgen hat mich einer mit seinem Mitsubishi überholt und ich weiß von einem, der will sich sogar einen VW kaufen...
Hi
>Der 644 hat nur eine USART. ???
Der ATMega644 ja. Die ATMega644A/644PA haben 2.
MfG Spess
Jens schrieb: > Deshalb die drei uC - ich kann über Interrupt die Daten in ein Buffer > schreiben und danach in den Hauptroutinen gemütlich hintereinander über > einen anderen Bus ausgeben. Also uC2 und uC3 geben ihre Daten an uC1 > (wenn sie von uC1 aufgefordert werden) - der macht dann die Hauptarbeit > und gibt letztendlich alles weiter über TxD. Das funktioniert auch mit 4 USARTs und deren Rx-Interrupt problemlos. Die ISR schreibt einfach das aktuelle Byte in einen Ringpuffer, und der main thread überprüft regelmäßig alle Puffer. Bei deiner Mehr- Controller-Lösung verschiebst du das Problem doch nur, da du dann wieder eine master-slave-Kommunikation zwischen den Controllern brauchst, und die ist deutlich teurer als das Abholen der Bytes aus dem Ringpuffer.
Ja - das ist richtig. Ich muss nur abwägen was aufwendiger für mich ist. Lötarbeit mit SMD-Gehäuse und dafür die bessere Variante oder auf Lochraster und mehrere uC usw.. Die Kommunikation unter den 3 uC gestaltet sich in meinem Projekt einfach, da nach "außen" nur Fehl- und Vergleichswerte getragen werden. Jeder der uC sammelt seine Daten und gibt nach außen nur dann etwas weiter, wenn entsprechende Fehler oder Schlüsseldaten auftauchen. Es kommen sozusagen viele Messdaten an und es werden nur wenige verarbeitet.
Die größeren Atmels bekommt man bei diversen Anbietern auf Breakoutboards mit 0,1" Rastermaß. z.B. Atmega1280 16€ tigal.com Auch ein Arduino Mega2560 könntest du in Betracht ziehen. Preislich zwar etwas teurer (ca. 45€-50€ je nach Distri), dafür hängt der µC auch schon an einem USB/UART inkl. Stromversorgung. Wenn du die Zeit für die Verkabelung auf Lochraster mitkalkulierst, bist du mit günstigen Evaluationboards i.d.R. besser bedient. Die Erweiterungskarten kannst du immer noch auf Lochraster bauen ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.