Forum: Mikrocontroller und Digitale Elektronik Cortex M3 Board (ext. Memory, Ethernet, USB) gesucht


von Clemens N. (clemens2)


Lesenswert?

Hallo Leute,

ich möchte mich mit dem Cortex M3 beschäftigen. Es gibt ja einige 
Boards, die den Chip beinhalten & etwas Peripherie herum, aber ich bin 
eigentlich auf der Suche nach einem "grösseren" Board.

Grösseres Board =

- Cortex M3 (USB & Ethernet on chip) - Hersteller eigentlich egal
- externes RAM & Flash
- Ethernet (Phy/Buchse)
- USB (Buchse)
- SD Karte

Das einzige, was ich gefunden habe, ist ein Selbstbauprojekt unter 
http://www.joernonline.de/ - Kennt wer noch was anderes?
Danke & LG,

Clemens

von bingo (Gast)


Lesenswert?


von JojoS (Gast)


Lesenswert?

Hast du dir den LPCXpresso mit LPC1769 angesehen? Der hat Ethernet und 
USB on Board, allerdings muss man die Anschlussbuchsen extern anklemmen. 
Ich habe Ethernet über eine Adapterplatine mit Buchse auf das 
Prototype-Board gesetzt das es zum LPCXpresso gibt, funktioniert einfach 
und gut. Vorteil ist hier das man eine Liz. (bis 128k Code) für die 
CodeRed IDE bekommt und man hier eine echte Plug&Play Lösung für den 
Einstieg hat. Der LPC1769 hat zwar kein ext. Memory, aber mit 512k Flash 
und 2x32k RAM ist der schon nicht schlecht ausgestattet. Die Cortex-M 
Serie zielt ja mehr auf Controller Anwendungen, bei Bedarf an viel 
Speicher und OS zur Verwaltung landest du schnell bei den ARM9 oder 
Cortex-A (z.B. Beagle Board, Panda Board, FriendlyArm).
Ein LPC1769 Board als (allerdings anspruchsvolles) Selbstbauprojekt habe 
ich noch das hier gefunden : http://code.google.com/p/micropendousx/

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Schau mal auf http://www.keil.com/boards/

Willst du Platformunabhängig bleiben, empfehle ich dir einen JLink (Edu 
für privat ca. 50,-)

von minidin (Gast)


Lesenswert?


von Clemens N. (clemens2)


Lesenswert?

Hi,

danke für die Hinweise.

@ JojoS: Zu Deinem Kommentar

>> Die Cortex-M Serie zielt ja mehr auf Controller Anwendungen, bei Bedarf an
>> viel Speicher und OS zur Verwaltung landest du schnell bei den ARM9
>> oder Cortex-A

Es gibt aber doch einige Cortex M3 Varianten, die externen Speicher 
anbinden können und "etwas grösser" sind. Andererseits sind diese doch 
zu klein für Linux (glaube ich).
Für welche Anwendungen sind dann diese Chips gedacht? Werden diese dann 
z.b. mit µC OS-II, eCos,... betrieben?

von Arne (Gast)


Lesenswert?

> Es gibt aber doch einige Cortex M3 Varianten, die externen Speicher
> anbinden können und "etwas grösser" sind. Andererseits sind diese doch
> zu klein für Linux (glaube ich).
> Für welche Anwendungen sind dann diese Chips gedacht? Werden diese dann
> z.b. mit µC OS-II, eCos,... betrieben?

Wir nehmen STM32 ohne ext. RAM/Flash im Bereich Weisse Ware - mit embOS.
Du kannst natürlich auch alles in einer Mainloop machen.

Zum Thema:
- Cortex-M3
- USB
- Ethernet
- ext. RAM/Flash

fällt mir momentan nur das hier ein:
http://www.embeddedartists.com/products/kits/lpc1788_kit.php

Wenn Du eine Bezugsquelle in D findest, gib Bescheid. Suche auch eins ;)

von LPC (Gast)


Lesenswert?

Hier die Dinger sind richtig billig
http://shop.ebay.de/i.html?LH_PrefLoc=2&_nkw=lpc1768

von JojoS (Gast)


Lesenswert?

Ich kenne nicht alle M3, der LPCXpresso war jetzt auch mein Einstieg. 
Ich habe vorher schon mit dem AT7SAM gespielt, aber der hatte kein 
Ethernet. Und die Installation der Toolchain+Debugger war ein Krampf 
weil hier viele verschiedene Hersteller mitspielen.
Bei NXP sehe ich auch nur den 177x oder 178x mit EMC (External Memory 
Controller) und diese Typen sind noch nicht im 'Production' Status. Dazu 
kommt das für das ext. Memory viele Leitungen nötig sind (der EMC hat 
einen 16/32 Bit Datenbus, keinen langsamen 4Bit wie ATXMega) und daher 
die Gehäuse kaum Basteltauglich sind. Das dürfte auch für die STM32 
gelten.
Die meisten Controlleranwendungen kommen sicher mit 32-64kB 
Arbeitsspeicher aus, für Datenlogger sind ext. Speicherkarten für die 
grossen Datenmengen verbreitet. Und wenn man mehr Speicher braucht für 
ein Display z.B. würde ich auch eher nach ARM9 oder Cortex-A schauen.
Den LPC1769 finde ich genial weil preislich nicht über einem fetten 
ATMega aber dafür wesentlich schneller und Peripherie wie CAN oder 
Ethernet arbeitet direkt auf das interne RAM und ermöglicht hohen 
Datendurchsatz.
Ich habe zB das FreeRTOS Beispiel um UDP erweitert und schicke jede ms 
ein Messwertdatagramm auf die Reise, das erzeugt z.Zt. 5% Last.

von JojoS (Gast)


Lesenswert?

ok, wenn man nach lpc1788 googelt findet man auch das hier:
http://www.teamfdi.com/development-tools-kits/products/6/SOMDIMM-LPC1788

von Klaus H. (klausc127)


Lesenswert?

JojoS schrieb:

> Den LPC1769 finde ich genial weil preislich nicht über einem fetten
> ATMega aber dafür wesentlich schneller und Peripherie wie CAN oder
> Ethernet arbeitet direkt auf das interne RAM und ermöglicht hohen
> Datendurchsatz.
> Ich habe zB das FreeRTOS Beispiel um UDP erweitert und schicke jede ms
> ein Messwertdatagramm auf die Reise, das erzeugt z.Zt. 5% Last.

Hallo JojoS:
mich würde interessieren, wie Du das FreeRTOS-Beispiel um UDP erweitert 
hast. Ich habe eine ähnliche Applikation, bei der aber zusätzlich Daten 
auf/aus Dateien auf dem PC geschrieben und gelesen werden sollen.
Ich setze LPCXpresso lpc1769 ein, der PC ist windows XP.

Vielen Dank im Voraus
Klaus

von JojoS (Gast)


Lesenswert?

hallo Klaus,
ich habe mich an der Doku von uIP orientiert. Man braucht eine 
Verarbeitungsfkt. die beim eintreffen eines UDP Ereignisses aufgerufen 
wird.
1
void mt_udp_appcall(void)
2
{
3
4
  if(uip_newdata())
5
  {
6
// Datagram empfangen, Daten checken
7
  }
8
9
  } else if (uip_poll())
10
// zyklische Funktion, z.B. Senden
11
  {
12
  } else
13
  {
14
    uip_abort();
15
  }
16
}

In einer Initialisierung kann man die UDP Ports anlegen die bearbeitet 
werden sollen:
1
void mt_init(void)
2
{
3
  uip_ipaddr_t addr;
4
  struct uip_udp_conn *c;
5
6
  uip_ipaddr(&addr, 192, 168, 1, 1);
7
  c = uip_udp_new(&addr, 6002);
8
9
  if(c != NULL)
10
  {
11
    uip_udp_bind(c, HTONS(6001));
12
  }
13
}

erlaubt zB Empfangen von 192.168.1.1 auf 6001 und sendet zurück an 
gleiche Adresse auf 6002.
In den config files muss das UDP auch noch an ein paar Stellen aktiviert 
werden, habe dafür aber keinen Fahrplan gemacht.
Zum Dateien lesen/schreiben ist sicher TCP besser. Oder Protokolle wie 
(T)FTP nutzen, das habe ich aber nicht implementiert.

von Klaus H. (klausc127)


Lesenswert?

Hallo JoJos,
vielen Dank für die Hinweise. Irgendwie finde ich die Doku für UIP 
nicht.
Kannst mir da noch einen Tip geben?
Danke
Klaus

von Uwe Bonnes (Gast)


Lesenswert?

Die neuen STM32F4 (Cortex M4) haben schon ordentlich intern Speicher, 
externes Memory Interface etc. Zum Spielen sollten die STM32F4Discovery 
Sticks gut sein. In ungefaehr in zwei Wochen sollen sie in den Handel 
kommen.

von tom (Gast)


Lesenswert?

schau mal bei TI, die haben cortex-m3 uC's wo sogar der ethernet phy mit 
auf dem chip integriert ist. musst nur noch buchse mit integrierten L's 
anschliessen.

Stellaris 9000 Serie...

gruss, tom.

von JojoS (Gast)


Lesenswert?

Die Doku findet google mit 'uip refman', eine neuere als V1.0 habe ich 
auch nicht.

von Klaus H. (klausc127)


Lesenswert?

Hallo Jojo,
vielen Dank. Habe ich gefunden. Das wird mir sehr helfen :-))

Grüße
Klaus

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
Noch kein Account? Hier anmelden.