Hallo µC-Experten, ich bin auf der Suche nach einem ARM-Entwicklerboard mit 100MBit/s Ethernet und ca. 30 digitalen I/O-Pins. Der ARM soll Messdaten von den I/O-pins lesen und diese per Ethernet an einen PC schicken. Das ganze soll mit 100MBit/s laufen. Es reicht, wenn die Daten auf Layer2 (MAC) gesendet werden. Aufwändige IP- uder UDP-Protokolle sind dank Punkt-zu-Punkt-Verbindung nicht notwendig. Bisher habe ich folgende Boards gefunden, weiß aber z.B. nicht, ob ein 72 MHz ARM7 überhaupt der Datenrate gewachsen wäre. ARM7 Olimex LPC-E2468: http://www.olimex.com/dev/lpc-e2468.html ARM9 Portux920T: http://elmicro.com/de/portux920t.html Außerdem wüsste ich gerne, ob die ARMs standardmäßig ein komplettes Betriebssystem (z.B. Linux) laufen lassen, oder ob man z.B. ein einzelnes Programm (ohne Betriebssystem) ausführen kann. Ich denke, dass ein OS für meine Anwendung ein Overkill wäre, da eigentlich nur die Kommunikation mit dem Ethernet-Controller und deen I/O-Pins gebraucht wird. Ich bin für jeden Kommentar dankbar. Gruß Michael
"die ARMs" lassen das laufen, womit man sie programmiert. "Standardmäßig" sind die ab Werk leer... ;-) Betriebssysteme à la Linux sind auf nem 7er eher unüblich. Auf nem 9er schon eher anzutreffen. Echtzeitbetriebssysteme (RTOS) dagegen sind verbreiteter. Hat aber nichts mit ARM zu tun. Verwende ich auch auf den 8-bittern (FreeRTOS / RTX51, etc.). Dir steht also offen, alles zu programmieren wonach dir beliebt.
Hi, du kannst Dir auch mal das Atmel EK anschauen AT91SAM7X-Ek mit allem drum und dran. Wenn Du 500Mips brauchst, dann kann ich dir das AT91SAM9G20-EK empfehlen. Atmel betreibt eine eigene Linux Seite: www.linux4sam.org MfG
@Mibo Schau Di rauch mal as Board von Embedded Artists an, das kommt mit Linux, ist der LPC2468 oder LPC2478 drauf. Schafft ein ARM7 die 100 Mbit/s, die CPU bei Dauerfeuer wohl nicht, die hardware Unterstuetzung, z.B. DMA und eigenes Buffer RAM, locker. Also wenn das Einlesen der Ports nicht gerade jede usec passiert sehe ich wenig Probleme in der Ethernet Kommunikation. Die Daten werden in einen Buffer geschrieben und dann hat die CPU nur noch wenig damit am Hut. Die Anwendung, die Du oben beschrieben hast wuerde ich allerdings DEFINITIV NICHT mit Linux erledigen, sondern mit einem kleinen RTOS oder ganz ohne OS. Einfach einen Timer mit der Sample Frequenz programmieren, die Interrupt Routine liest die Pins ein und schiebt so zur Uebertragung zu Ethernet. Hier ist allerdings die Schwelle zum OS, bei einem ordentlichen TCP/IP Treiber wuerde ich wohl auch bald ein OS einsetzen. Board: http://www.embeddedartists.com um einiges hochwertiger als Olimex aber auch etwas teurer. Robert
Vielleicht wäre ein Cortex M3 mit RTOS das richtige? Sich in das Thema ARM-9 einzuarbeiten kostet mehr Zeit als man denkt. Mir persönlich erschien der Cortex M3 um einiges verständlicher als der ARM-9.
Hallo, wie lange willst du dich mit Entwicklung aufhalten? Es gibt genuegend ARM9 SBCs mit fertigem emdedded Linux OS im Flash. Auspacken, Evaluieren, Anwendung implementieren, fertig .. Gruss
>Es gibt genuegend ARM9 SBCs mit fertigem emdedded Linux OS im Flash. >Auspacken, Evaluieren, Anwendung implementieren, fertig .. bin kein Experte darin, aber hast du schon mal GPIO Funktionen unter Linux mit einem Cross-Compiler für den ARM-9 realisiert? Ich finde das ist alles andere als trivial (aber wie gesagt, habe da nicht so die Erfahrung.)
wie wäre es mit diesem Board: http://www.watterott.com/ARM-Cortex-M3-CAN-Ethernet-Modul-LM3S8962-mit-PoE_1 ich habe es mir auch vor kurzem gekauft, bin aber durch den ganzen ARM Wirwarr noch nicht ganz durchgestiegen. Die Cortex Architektur wird noch so breit unterstützt.
.. noch nicht so breit... sollte da stehen.
Wow, erstmal danke für die vielen Antworten. Gast wrote: > Hallo, > > wie lange willst du dich mit Entwicklung aufhalten? > Es gibt genuegend ARM9 SBCs mit fertigem emdedded Linux OS im Flash. > Auspacken, Evaluieren, Anwendung implementieren, fertig .. > Gruss Im Prinzip klingt der Vorschlag gut, aber ich habe Sorge, dass ein "dickes" OS zu Verzögerungen bei der Datenweitergabe führt. Wer weiß, was das Linux alles im Hintergrund macht, wenn es sich um die Daten kümmern soll? Deshalb würde ich eine schlankere Lösung bevorzugen. Die erwähnte Einarbeitungszeit ist natürlich ein Argument, auch wenn ich nicht verstehe, warum ARM7 einfacher als ARM9 sein soll. Leider kann ich die benötigte Prozessorleistung schlecht abschätzen. Ein NAS mit 400Mips-ARM9 Chip schafft normalerweise 100MBit/s Datentransferrate übers Netzwerk. Allerdings läuft da auch noch ein Linux mit diversen Dämonen im Hintergrund. evtl. reicht also eine viel geringere Rechenleistung. Die Abschätzung wird noch dadurch schwieriger, dass ich bisher nichts genaues zum Einlesen der Daten über einen 8-Bit-Bus (vermutlich Druckerport-ähnlich) sagen kann. Bei Intel-CPUs haben die inb/outb Befehle früher jedenfalls ordentlich gebremst, weshalb heute ja Memory-mapped-IO benutzt wird. Wie läuft das in/out beim ARM? Zum Thema Betriebssystem. Wie schon festgestellt wurde, brauche ich ein OS eigentlich nur des Ethernet-Treibers wegen. Andererseits könnte ich evtl. einfach den Treiber-Code aus Linux oder FreeRTOS nutzen? Schließlich will ich keinen ganzen TCP/IP-Stack, sondern nur MAC-Raw-Funktionalität. Außerdem habe ich leider in der Bibliothek und bei Amazon sehr wenig Literatur zum Stichwort "ARM Mikrocontroller" gefunden. Gibt es da kein empfehlenswertes Buch (ARM-Bibel)? Ich wünsche einen schönen Abend! Michael
hast du dich schnonmal hierdurch gehangelt: http://www.mikrocontroller.net/articles/ARM Der ARM hat intern zwei Busse, auch wenn so ein Zwerg mit 50Mhz oder mehr läuft kann man das nicht als volle IO Speed nutzen falls du sowas vor hattest. Und da es den ARM Prozessor ja garnicht gibt muss sich eher die Datenblätter (bzw. Datenkataloge mit tausend Seiten und mehr) der jeweiligen Hersteller antun...
Michael Born wrote: > Die erwähnte Einarbeitungszeit ist natürlich ein Argument, auch wenn ich > nicht verstehe, warum ARM7 einfacher als ARM9 sein soll. Am Prozessor liegt's jedenfalls nicht. Mal abgesehen von Cache und MMU Initialisierung, die Du für diese Anwendung wahrscheinlich sehr einfach halten kannst. Das Argument geht wohl eher in die Richtung, dass ARM9 MCUs auch komplexere Peripherie haben. Schau Dir mal die Möglichkeiten an, die Dir die eingebauten DMA Controller bieten. Unter Umständen brauchst Du die CPU nur zur Konfiguration. Naja, fast :) Gruß Marcus http://www.doulos.com/arm
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.