Hi, für ein aktuelles Projekt benötige ich ca. 5-7 UART's. Ich empfange Daten über alle UART's, werte sie aus und schicke sie weiter. Ich könnte auf die ATxmega Reihe umsteigen, dort gibt es Chips mit bis zu 8 UART's und mehr Rechenleistung hätte ich auch. Alternativ hatte ich noch überlegt, einen Atmega zu verwenden und über SPI mehrere externe IC's mit UART Interface und Fifo anzuschließen. Der Fifo müsste allerdings pro UART mindestens 100 bytes groß sein. Hat jemand Erfahrung mit den Atxmegas und der Verwendung aller UART's gleichzeitig? Hat jemand Erfahrung mit externen UART Fifo's, die min 2-4 UART's haben? Lg Philipp
Je nach dem wie schnell deine UARTs sein müssen kannst du auch Software-Uarts benutzen. Welche Baudrate müssen die denn liefern ? Müssen alle gleichzietig empfangen (senden ist etwas unkritischer) oder reihum ?
Baud bis ca. 500k. Alle müssen gleichzeitig empfangen können, weil die sender keine "Sendepläne" oder ähnliches haben. Es wird dann gesendet wenn nötig. Die Daten werden dann aber erstmal gespeichert und dann wird immer Fifo für Fifo nacheinander ausgewertet. Wenn ich externe Fifos nehme, hole ich mir die Daten immer erst dann, wenn der entsprechende Fifo wieder an der Reihe ist, also immer im Kreis.
Achso, das habe ich schon wieder vergessen. Bei den externen Fifo's habe ich mich auch schon umgeguckt, aber ich brauche einen, der das 9. bit unterstützt, und soeinen konnte ich noch nicht finden.
500 kBaud sind eindeutig zu heftig für Software Uarts. Selbst externe UARTs könnten eng werden (500k * 7 UARTs = 3,5 MBaud Gesamtrate), gerade mit overhead vom SPI. Ein Xmega mit genug internen sollte damit aber klar kommen, gerade wenn man die gesprächigeren mit nem DMA abwickelt. Ein extra Fifo ist meines Erachtens eher hinderlich. Es gibt größere Xmegas mit EBI, damit kann man extern Ram-Chips hinhängen. Wenn du bei jedem Transfer einfach den Inhalt in den externen Ram legst, dann kommst du ohne speziellen 9bit fifo aus und billiger ist es auch. Dann haben Xmegas auchnoch 32 MHz. Solltest du aber noch keine Erfahrung mit AVRs haben, dann lohnt m.E. der Aufwand des Einarbeitens nicht. Mit minimal bis keinem mehr-Aufwand lernt man auch einen 32-Bit ARM zu proggen (gerade mit den ganzen gratis-IDEs von den Herstellern) und dann hat man genug Power um 20 UARTs zu managen. Xmegas lohnen nur, wenn man ohne große Neuerungen einfach noch "ein paar MIPS mehr" braucht um das Projekt zu reissen, neu lernen lohnt da einfach nicht.
Max D. schrieb: > Ein extra Fifo ist meines Erachtens eher hinderlich. Es gibt größere > Xmegas mit EBI, damit kann man extern Ram-Chips hinhängen. Ich meinte, dass ein externes UART Interface einen Fifo bräuchte, damit ich die Daten erst später rausholen kann. Max D. schrieb: > Solltest du aber noch keine Erfahrung mit AVRs haben, dann lohnt m.E. > der Aufwand des Einarbeitens nicht. Mit minimal bis keinem mehr-Aufwand > lernt man auch einen 32-Bit ARM zu proggen (gerade mit den ganzen > gratis-IDEs von den Herstellern) und dann hat man genug Power um 20 > UARTs zu managen. Ich arbeite schon seit einigen Jahren mit AVR's und habe ich schon einige Projekte umgesetzt. Ich habe aber auch schon mal mit nem Stm32f4 gearbeitet, der hier aber glaube etwas overkill ist. Ich denke, dass ich mir die XMega mal genauer angucke und dafür ein Konzept entwerfe. Danke und Lg Philipp
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.