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
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.
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.
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.
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
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$.
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.
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.
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)
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
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?
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.
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?
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.
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.
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.
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
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
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
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