Forum: Mikrocontroller und Digitale Elektronik Geeigneter Cortex M3 für Projekt gesucht


von Carsten (Gast)


Lesenswert?

Hallo,

Ich suche vor meinen Projekt "Aquarium Computer" einen geeigneten 
Controller.
Bei Farnell habe ich mir mal angeschaut, was es so gibt, leider fehlt 
mir bis jtzt jegliche Erfahrung mit ARM's.

Kurz zu meinen Projekt, zurzeit läuft es auf einem ATMega2561 mit S65 
Display und SD-Card.
Folgende Funktionen sind vorhanden/geplant:

- Temperaturmessung Luft/Wasser
- Temperaturgelegung
- PH-Wert Erfassung und Regelung
- Datenaufzeichnung
- Lichtsteuerung
- Steuerung von 4 Dosierpumpen
- Visualisierung via Display + Bedienung
- Uhrzeit via DCF77 Uhr

Der AVR stößt hierbei zwar noch lange nicht an seine Grenzen jedoch 
reizen mich die Cortex MCU's sehr.

Als Entwiclungsumgebung schebt mir Eclipse vor, hierzu versuche ich mich 
gerade schlau zu machen. Zum proggen wollte ich meinen USBprog nehmen, 
ich hoffe das es mit JTAG gehen sollte.

Unter anderem habe ich folgende 3 Kandiaten näher angeschaut:

- STM32F103VDT6
- LM3S2939
- LPC1766FBD100

Der LPC1766FBD100 wäre mein Favoriert, da er auch noch USB und Ethernet 
integeriert hat, scheinbar ist er aber noch nicht lieferbar?

Hat jemand von euch schon erfahrungen mit einem der MCU's sammeln 
können?
Wie sieht es mit lib's für die IDE aus? Für den STM32 meine ich schon 
über soclhe gestolpert zu sein.

Oder gibt es gar noch alternativen?

Gruß
Carsten

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Der STM32F107 ist fast baugleich zum STM32F103 und besitzt ebenfalls 
Ethernet. USB ist auch schon im 103 enthalten.

von Bernhard B. (schluchti)


Lesenswert?

Also ich kann jetzt nur für die uC von ST sprechen, aber die sind echt 
nicht schlecht. Zusätzlich gibt es eine umfangreiche Library - ob man 
diese einsetzen möchte sei jedem selbst überlassen. Eigentlich reicht 
das Datenblatt des Controllers, das Reference Manual und das Cortex M3 
Technical Reference Manual vollkommen aus. Das Wichtigste ist denke ich, 
dass man sich am Anfang nicht von der Komplexität erschlagen lässt. Ist 
halt doch etwas anderes als ein 8 bit uC.

Bezüglich der IDE: Ich würde dir dazu raten, zu Beginn auf eine 
kommerzielle IDE zu setzen, da diese im Allgemeinen gerade am Anfang 
weniger Probleme bereiten. Viele Hersteller bieten IDEs an, die bis auf 
die Codebeschränkung (die man zu Beginn sowieso nicht erreicht) die 
gleichen Features wie die Kaufversion besitzen. Gerade am Anfang, wenn 
dir der Controller noch fremd ist, ist es vorteilhaft, wenn du eine IDE 
hast die einfach funktioniert. Wenn du mal ein bisschen Erfahrung mit 
dem Controller gesammelt hast, dann kannst du ja noch immer wechseln.

von Jörg S. (joerg-s)


Lesenswert?

Carsten schrieb:
> Der LPC1766FBD100 wäre mein Favoriert, da er auch noch USB und Ethernet
> integeriert hat, scheinbar ist er aber noch nicht lieferbar?
Zur Zeit nicht lieferbar. Den gibt's schon länger.

Ich arbeite zur Zeit an einem LPC1758. Doku ist recht gut, beim IAR 
Compiler (kostenlose 32kB Version) sind auch etliche Beispiele dabei.

von Albert .. (albert-k)


Lesenswert?

Carsten schrieb:
> Der LPC1766FBD100 wäre mein Favoriert, da er auch noch USB und Ethernet
> integeriert hat, scheinbar ist er aber noch nicht lieferbar?

Dann könntest du auch einen LPC1764 verwenden. Dieser hat Ethernet und 
USB Host integriert. Kostet auch nur 5,84€ plus Mwst (farnell.de).
Zum testen könntest du dir dann ein LPCXpresso mit einem LPC1769 oder 
LPC1768 anschaffen (Baugleich mit dem LPC1764, der 1768/LPC1769 hat nur 
mehr Flash und RAM. Bekommst du entweder auch bei Farnell, oder von 
Embedded Artists.

Da die Hardwareaustattung des LPCXpresso dürftig ist kannst du dir auch 
überlegen ob du ggf. ein Baseboard dazu haben möchtest:
http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php

Wenn du aber hauptsächlich auf eigenen Applikationen/Boards arbeitest 
kannst du dir das geld sparen.

von Carsten (Gast)


Lesenswert?

Hallo,

danke für eure Antworten. Über das LPCexpresso mit dem 1769 bin ich bei 
Watterott auch gerade gestolpert. Preislich sehr attraktive und ich 
müsste mich erstmal nicht um eine funktionieren Umgebung kümmern.
Am meisten begeistert bin ich davon, es man es ja wohl später einfach in 
sein eigenes Board einsetzen kann.

Nur die beschränkung auf 128kb Quellcode bei 512kb finde ich etwas 
schade.
Wie sieht es da denn mit der Unterstützung ähnlich wie bei der STM32 
Beischreiibung aus? Sprich wenn ich mit GCC und Eclipse arbeiten möchte?

Gruß
Carsten

von Albert .. (albert-k)


Lesenswert?

Die IDE zum LPCxpresso basiert auf Eclipse und verwendet auch den gcc 
Compiler (in angepasster Form? Zumindest die Standard Libraries sind 
angepasst, nennt sich dort redlib). Ob man ein eigenes Eclipse mit GCC 
so einfach verwenden kann weis ich nicht. Den das Problem ist das die 
LPCxpresso IDE zum begin des Debuggen/Flashen erst einmal die Firmware 
in das LPCxpresso Jtag Interface lädt bevor dieses überhaupt etwas 
macht. Ich weiß nicht ob es so einfach ist dies selbst zu realisieren.
Unterstützung ist auch sehr gut wenn man des Englischen mächtig ist. Das 
LPCXpresso Forum ist gut besucht.

Wenn einem die 128kByte doch zu wenig sind (was beim verwenden von OS 
und Videos/Bildern schnell mal passieren kann) kann man natürlich auch 
upgraden. Die 256kB Version kostet 256$ und die 512kB Version dann 512$.

von Carsten (Gast)


Lesenswert?

Da ich ja den USBprog besitzt und laut Homepage soll der mit ARM7 und 9 
JTAG laufen und der CVortex basiert ja auf dem ARM7 (?)

Ist es nicht möglich nur den MCU Part mit dem USB prog zu nutzen oder 
habe ich da nachher das Problem nicht die passenden Lib's zu haben?

Die bis zu 512 sind schon eine Menge Holz um, das ganze Potzenzial 
auszunutzen als Hobbybastler.

von Frank B. (f-baer)


Lesenswert?

Carsten schrieb:
> der CVortex basiert ja auf dem ARM7 (?)

Falsch. Der Cortex M ist zwar als Ersatz für den ARM7 gedacht, aber 
basiert (glücklicherweise) nicht auf selbigem.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

ST bietet für den STM32F107 Demo-Code für den TCP/IP Stack LwIP.

Daher unbedingt auch dies mit berücksichtigen!

Für einen NXP habe ich sowas noch nicht gefunden. (nur µIP)

von Michael G. (let)


Lesenswert?

^ Du hast den Link auf den STM32 Artikel vergessen ;)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

In dem Artikel steht nichts vom LwIP.

von Frank K. (fchk)


Lesenswert?

Carsten schrieb:

> Der AVR stößt hierbei zwar noch lange nicht an seine Grenzen jedoch
> reizen mich die Cortex MCU's sehr.

Das ist jetzt zwar kein ARM, aber Du solltest unbedingt die PIC32 in 
Deine Überlegungen mit einbeziehen. Der bewegt sich in einer ähnlichen 
Leistungsklasse wie die Cortex M3. Auch die Preise für die Bausteine 
selber sind ähnlich.

Der große Vorteil ist die Unterstützung des Herstellers. Microchip hat 
alles für Dich vorbereitet, damit Du sofort loslegen kannst. Nimm die 
MPLAB IDE, den MPLAB C32 Compiler (Lite-Version mit etwas 
eingeschränkter Optimierung, aber ohne Größenlimit oder sonstigen 
Beschränkungen kostenlos verfügbar), als Debugger reicht ein PICKit3 für 
69€ (für höhere Ansprüche gibts das schnellere ICD3 für 200€ (so eines 
liegt hier gerade neben mir), und das Real ICE mit Realtime Trace für 
600€), dann ist alles beisammen, und in einer halben Stunde hast Du 
alles lauffähig installiert.

Peripheriebibliotheken sind beim Compiler dabei, USB und TCP/IP gibts 
als kostenlosen Download (wobei der Microchip TCP/IP-Stack um 
Größenordnungen besser ist als lwIP oder uIP, ich kenne auch die 
ARM-Seite, so ist das nicht), also alles aus einer Hand, und alles passt 
zusammen. Rundum-Versorgung also.

fchk

von Michael G. (let)


Lesenswert?

Frank K. schrieb:
> USB und TCP/IP gibts
> als kostenlosen Download (wobei der Microchip TCP/IP-Stack um
> Größenordnungen besser ist als lwIP oder uIP,

In welcher Hinsicht? Schneller als lwip und kleiner als uip? Leichter 
portierbar?

von Albert .. (albert-k)


Lesenswert?

Carsten schrieb:
> a ich ja den USBprog besitzt und laut Homepage soll der mit ARM7 und 9
> JTAG laufen und der CVortex basiert ja auf dem ARM7 (?)

Natürlich kannst du auch jeden eigenen JTAG Programmer verwenden, 
hindert dich niemand daran. Beinahe jeder Cortex-M3 unterstützt auch 
JTAG (ich sage nur beinahe weil mir zumindest keiner bekannt ist der 
kein JTAG interface hat, aber man weis ja nie).

Siehe aber Antwort von Frank Bär. Cortex-M3 ist kein ARM7.

Carsten schrieb:
> Ist es nicht möglich nur den MCU Part mit dem USB prog zu nutzen oder
> habe ich da nachher das Problem nicht die passenden Lib's zu haben?

Das Problem wirst du nicht haben. Den die ganze CMSIS Lib sowie weitere 
Libraries kannst du von der NXP Homepage runterladen.

Markus Müller schrieb:
> Für einen NXP habe ich sowas noch nicht gefunden. (nur µIP)

Eine Beispiel Web-Applikation findet sich in den Demo Codes zur LPC17xx 
Reihe.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Albert ... schrieb:
> Markus Müller schrieb:
>> Für einen NXP habe ich sowas noch nicht gefunden. (nur µIP)
>
> Eine Beispiel Web-Applikation findet sich in den Demo Codes zur LPC17xx
> Reihe.

Link?

Web-Applikation, was ist da alles drin?
Nur ein Web-Server, oder kann der auch mehr?

von Albert .. (albert-k)


Lesenswert?

Markus Müller schrieb:
> Web-Applikation, was ist da alles drin?
> Nur ein Web-Server, oder kann der auch mehr?

http://ics.nxp.com/support/lpcxpresso/
Dort findet man alle Example Projects. Der Code für den Demo Webserver 
ist jedoch nicht in dem ZipFile vorhanden, sondern nur bei der 
LPCxpresso IDE. Wieso das so ist kann ich nicht sagen. Finde ich etwas 
arg komisch.

Der Webserver entspricht aber demselben wie er in den MCB1700 Beispielen 
verwendet wird:
http://ics.nxp.com/support/documents/microcontrollers/zip/mcb1700.code.bundle.lpc1769.lpcxpresso.zip
Dort unter EMAC zu finden.

Der Webserver stellt den Messwert eines Analogen Inputs dar. Da er sehr 
simpel gehalten ist ist auch die funktionalität beschränkt (soll ja nur 
dem Verständnis dienen).
- Keine gifs/jpg's auf der Webpage
- Keine fragmentierten IP Datenpakete (wird aber vom TCP/IP Stack 
unterstützt)
- Nur eine Webpage

Außerdem gibt es noch einige Threads im LPCxpresso Support Forum die 
sich damit beschäftigen.

von Albert .. (albert-k)


Lesenswert?

Wenn es gewünscht ist kann ich diese Demo ja mal Stückweise anhängen 
damit man sie sich ansehen kann. ich bin nur derzeit nicht zuhause um 
das direkt zu machen.

von W.S. (Gast)


Lesenswert?

Wer ist größer+schneller+schöner und so weiter...

Also, der Carsten wollte dediziert einen Cortex haben, weil er sich 
wahrscheinlich genau DAS als Bastelziel gesetzt hat - also kein PIC32 
oder was anderes.

Nun Carsten, bist du ein Gewerbetreibender? Wenn nicht, dann mein Rat:

Guck zuerst, was du überhaupt an Chips zu kaufen oder zu schnorren 
bekommst ("kostenlose Muster" für studentische Zwecke). Da scheiden sich 
nämlich schon die Geister. Was nützt dir ein hier empfohlener Chip, wenn 
du ihn nicht bekommst.

Dann schau dir das Datenblatt an und stell dir die Frage, ob du das 
Gehäuse überhaupt verarbeiten kannst: BGA ist außen vor, QFN ist 
schwierig. Wenn dir TQFT auch zu problematisch ist, dann schau, ob du 
ein fertiges kleines Enwicklungsboad bekommst. Zumeist ist der Debugteil 
abtrennbar und der Teil mit dem eigentlichen uC separat verwendbar.

Dann solltest du dir gut überlegen, ob du tatsächlich gleich am Anfang 
mit JTAG und/oder SWI herumpfriemeln willst. Viele Chips haben nämlich 
einen eingebauten Bootlader, mit dem man einfach+komfortabel per 
seriellem Interface programmieren kann. Hier mal ne Übersicht aus dem 
Stegreif:
NXP: Bootlader fest eingebaut
ST:  Bootlader fest eingebaut
Luminary/TI: Bootlader lediglich im Nutzraum vorprogrammiert (geht beim 
Programmieren flöten..
Nuvoton: Platz für Bootlader vorgesehen aber keiner drin

Und zum Schluß: von den teils gewaltig aufgebauschten 
"Treiber"-Bibliotheken halte ich wenig, sie sollten bestenfalls als 
ergänzende Lektüre zum RefManual dienen - aber nicht zum tatsächlichen 
Benutzen.

Und: Die RefManuals von ST sind die umfänglichsten und zugleich 
übelsten, denn man sucht sich darin den Wolf, ehe man die Info 
herausbekommt, die man sucht. Dafür sind Chips und Manuals relativ 
bugfrei. Die RefManuals von NXP lesen sich etwas besser, aber dafür sind 
Chips und Manuals eher buggy. An die Doku-Qualitäten von Microchip und 
Fujitsu kommen aber ALLE Arm- und Cortex-Hersteller nicht heran.

Frohe Ostern!
W.S.

von Frank K. (fchk)


Lesenswert?

Michael G. schrieb:
> Frank K. schrieb:
>> USB und TCP/IP gibts
>> als kostenlosen Download (wobei der Microchip TCP/IP-Stack um
>> Größenordnungen besser ist als lwIP oder uIP,
>
> In welcher Hinsicht? Schneller als lwip und kleiner als uip? Leichter
> portierbar?

Schneller als lwip auf jeden Fall, größerer Leistungsumfang, 
SSL-Support; Portierbarkeit weiß ich nicht, aber da das Zeugs auf drei 
völlig verschiedenen Architekturen (PIC18,PIC24/dsPIC,PIC32/MIPS) läuft, 
denke ich, dass das auch kein Problem sein sollte.

fchk

von Bingo (Gast)


Lesenswert?

Die CodeRed 128K limit ist für die "programmer" nicht die Compiler.
http://knowledgebase.nxp.com/showthread.php?t=1807


Ich brauche diser , als programmer/debugger (OOCD based).
Und Codesourcery als compiler.
http://knowledgebase.nxp.com/showthread.php?t=1794

Beitrag "Use your STMxx-Discoveryboard as JTAG (SWD)"

Die vsprog (ein programmer wie avrdude) funktioniert 100% ok jetzt
mit meiner lpc1768 lpcxpresso.
http://www.versaloon.com/bbs/viewtopic.php?f=2&t=1082&start=40


Die Versaloon STM8S dongle gibts auch am watterott ($8)
http://www.watterott.com/de/STM8S-Discovery

Du brauchst einer ARM-Jtag für progammiere (erst mahl) Versaloon im die 
STM8S

Du kann auch die STM32VL-Discovery brauche als SWD dongle , aber hier 
brauchst du einer SWD programmer für die erstmahl programming von 
Versaloon (2 x STM32VL's ist ok).


mfg
Bingo Dänemark

von CArsten (Gast)


Lesenswert?

Hallo,

da hab ich ja erstmal viel Lesestoff zum einarbeiten.

>Nun Carsten, bist du ein Gewerbetreibender?

Nein, ich bin kein Gewerbetreibener aber bei Farnell gibt es über einen 
Zwischenhändler auch die Möglichkeit dort zu bestellen.

Der Cortex M3 kann mir in den Sinn, der er doch recht Aktuell ist und 
viele Möglichkeiten bietet.

Um Überhaupt die Cortexwelt überhaupt etwas besser kennenzulernen, habe 
ich mir einen LPCexpresso bestellt. Somit haben ich dann für den Anfang 
auch eine Funktionieren Umgebung und laufe nicht Gefahr, mich mit 
anderen Problemen auseinander zusetzten.

JTAG und USBprog kam mir nur in den Sinn, da ich es hier liegen habe. 
Die eingebauten Bootloader habe ich regestriert, nur der Gedanke an das 
Incurcit Debugging (ich hoffe da jetzt nicht gedanklich etwas zu 
verwechseln, finde ich doch verlockend.

Bei der Bauform habe ich lange mit mir gehadert, SO habe ich schon 
gelötet, kleiner noch nicht. Das LPCexpresso sollte das aber auch 
erstmal umgehen und da die lib's bei NXP frei verfügbar sind und die 
Codebeschränkung nur auf den mitgelieferten Programmer zutrift, sehe ich 
da erstmal kein Problem.

Gruß
Carsten

von Bingo (Gast)


Lesenswert?

CArsten schrieb:
> JTAG und USBprog kam mir nur in den Sinn, da ich es hier liegen habe.


Pas auf ob die Jtag pins an diE Xpresso sind 5v kompatibel ...
Meisten USBPROG sind 5v.

mfg
Bingo

von jonas biensack (Gast)


Lesenswert?

Es gibt auch die Möglichkeit siehe hier einen Bootloader zu 
installieren:

http://ucapps.de/mbhp_core_lpc17.html

das Board zu trennen um dann anschließend über eine weitere 
usb-verbindung Code bis zur maximalen Flashgröße (512K) zu laden ;)

Wie gesagt die Limitierung liegt nur beim Programmer nicht beim 
Debugger...

gruß Jonas

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.