Hallo,
ich suche einen Mikrocontroller mit folgenden Eingeschaften:
-Low Power (sollte wenig Strom verbrauchen)
Hardware:
-CAN, SPI, I²C, UART, USB oder Ethernet
-PWM, ADC
Günstige bzw. kostenlose Entwicklungsumgebeung (IDE + C-Compiler) wäre
angebracht, die auch kommerziell genutzt werden darf. Außerdem sollte
sollte der Programmer am besten ISP und nicht zu teuer sein.
Suche schon Tage das I-Net durch, bis jetzt habe ich aber noch nicht den
passenden Controller gefunden.
Entweder er ist Low Power oder er hat die Schnittstellen... :-(
Vielleicht hat ja jemand von euch noch ein paar Tipps für mich.
Welche Hersteller und Typfamilen hast du den schon abgeklappert, damit
wird nicht alles 3 mal posten. Wobei ich hier die Schwierigkeit zwischen
Kostenloser C-Compiler für Komerzelle Nuzung sehe als den
Mikrocontroller.
Grüße Yob
Catman wrote:
> Entweder er ist Low Power oder er hat die Schnittstellen... :-(
Schon mal auf die Idee gekommen, dass eine eierlegende Wollmilchsau mehr
frisst als ein Mops auf Diät?
Prioritäten setzen: Was ist am wichtigsten, was weniger wichtig, was
verzichtbar. Die möglichst kostenlose Entwicklungsumgebung schränkt das
den Kreis schon so weit ein, dass die Suche deutlich einfacher sein
wird.
Wenn USB/CAN/Ethernet auch extern sein darf, wird's einfacher. Und spart
Strom, denn eine nicht vorhandene weil unnötige Schnittstelle braucht
exakt 0µA.
@Yob
Oh die Liste ist etwas länger, aber vielleicht habe ich ja auch den
passenden µC übersehen.
Atmel
TI
NXP
Samsung
Freescale
Microchip
Luminary
Analog Devices
@Sven
Also die 8051 von NXP haben maximal UART,SPI,I²C :(
> Also die 8051 von NXP haben maximal UART,SPI,I²C :(
Dann schau mal bei Silicon Labs vorbei. Die haben eine große Auswahl an
8051ern. Unter anderem eine neue Serie von Low Power modellen.
Catman wrote:
> Also die 8051 von NXP haben maximal UART,SPI,I²C :(
UART, SPI und I2C kann man sich natürlich auch -- je nach Anforderung
-- von Hand zusammenbauen, alles kein Thema.
Ethernet und stromsparen, das isn Widerspruch in sich. Guck mal, was
so ein gängiges Ethernet-IC an Leistung verbrät.
Und zuletzt baut Cypress den AN2131. Das isn 8051er mit USB drinne.
>Schon mal auf die Idee gekommen, dass eine eierlegende Wollmilchsau mehr>frisst als ein Mops auf Diät?
Das ist mir klar, aber vieleicht gibt es ja einen der dicht an die
geforderte Hardware kommt. Vergessen wir erstmal den Compiler & Co.
Hm, das sind ja schon ein paar ich würd mal bei ST & Renesas rein
schauen. Jedoch gibts da meistens nix freies zum Programmiern, da muss
man wieder extra Aufwand fahren und sich irgendwas aus OpenSource zam
suchen. Was verstehst du unter Stromsparend (Low Power) ?
Yob.
@seven
>Ethernet und stromsparen, das isn Widerspruch in sich. Guck mal, was>so ein gängiges Ethernet-IC an Leistung verbrät.
Ist mir klar dass dort viel Strom verbraucht wird, aber es wird nicht so
sein dass der Ethernet Port ständig an ist. Im Normalbetrieb soll quasi
nur USART, SPI, I²C, CAN genutzt werden, und für den Fall soll es halt
sparsam sein. Der Benutzer soll die möglichkeit haben mit dem PC
Einstellungen über Ethernet oder USB vorzunehmen, aber nicht ständig mit
dem Gerät verbunden sein.
@Yob
Low Power: also ich sag mal so maximal 40mA @ 3,6V, je weinger desto
besser. Die Betriebsspannung ist eher unkritisch, kann mehr kann aber
auch weniger sein.
@all
Danke für die Hersteller, ich werde mich dort mal umsehen, und dann
wieder schreiben.
Also, ich finde die Silabs 8051er sind Schnittstellenmonster... I2C,
SPI, UART, USB, bis auf Ethernet alles drinne.
Guck dir mal die F32x bzw. F34x Familie an. Das sind die USB-Devices von
SiLabs. Allerdings musst du dir bei USB von vornherein klar darüber
sein, was du machen willst, sonst hast du am Ende evtl. zuwenig
USB-Endpunkte.
Ralf
Catman wrote:
> Low Power: also ich sag mal so maximal 40mA @ 3,6V
Du LACHSACK :-) Low Power is bei mir unter einem Milliampère... mit 40mA
kannste ja schon fast nen ganzen ARM versorgen.
Wenns alle genannten Schnittstellen sein sollen käme u.A. der LPC2368
bzw. -78 von NXP in Frage. Stromverbrauch hängt im Wesentlichen von der
Taktfrequenz ab. Nichtbenutzte Peripherie lässt sich per Software
abschalten und schluckt dann auch keinen Strom mehr.
Schwieriger ist die Softwareseite, als kostenlose Tools gibt es zwar den
gcc - Compiler sowie die Eclipse-Umgebung, doch das Ganze ist recht
hakelig im Setup und der Bedienung. Wenn es ohnehin ein kommerzielles
Projekt werden soll lohnt sich auf jedenfall die Investition in eine
professionelle Programmierumgebung (ca. 2000-3000€), die Kosten kommen
durch die gesparten Arbeitsstunden schnell wieder heraus.
Gruss
Mike
@Sven
:D Na gut, war vielleicht etwas hochgegriffen... Ich habe halt im in den
DBs der µC den Worst Case angenommen (max Frequenz, alle Schnittstellen
an), da wurde der Stromverbrauch mit 70-200mA (je nach Typ und
Hersteller) angegeben.
Also 40mA maximal bedeutet dann wohl weit aus weniger...
Aber wenn du Controller kennst die weniger verbrauchen, her mit den
Indos. ;-)
Mal eine wichtige Frage zum Projekt:
Welche Stückzahl ist denn angepeilt? Soll die Software komplett selbst
entwickelt werden? Insbesondere USB und Ethernet sind softwaretechnisch
recht komplex und nur bei hinreichend grossen Stückzahlen würde sich
hier eine Eigenentwicklung lohnen. Ansonsten müssten hier ohnehin
SW-Module zugekauft werden (z.B. von Segger), wofür ebenfalls Kosten
anfallen. Als erstes sollte eine Wirtschaftlichkeitsrechnung stehen.
Eventuell ist eine Lösung mit fertigen externen Schnittstellenmodulen
(FTDI-Chip, XPORT für Ethernet günstiger).
Gruss
Mike
Microchip hat mit MPLAB und der sogenannten C18-studentenversion eine
lösung, die kommerziell genutzt werden darf*. dann kämen aber die
PIC18Fxxx in frage, die haben alles bis auf ethernet drin und die kannst
du sogar in wirklichen low-power setzten, wenn du sie auf "schlummern"
stellst ;)
für die PICs stellt Microchip sehr viel beispielcode zur verfügung, guck
mal ob was für dich drunter ist (USB, Ethernet, IC2...)
die nächsthöhere klasse wären die z.t. noch verbuggten PIC24 (unbedingt
errata lesen), aber da weiss ich nicht ob der C30-compiler auch
kostenlos verwendet werden darf.
* "if You downloaded the "Student Edition" of the Software from the web,
You may install and use such version of the Software on an unlimited
number of computers for commercial or educational use."
@Mike
Ja, es wird wohl eher eine Kleinserie. Von daher hast du vielleicht
Recht und ein externes USB bzw. Ethernet Modul wäre hier sinnvoller.
Also sollte der Schwerpunkt wohl Low Power (ein paar mA) &
CAN/ISP/I²C/UART/ADC/PWM sein.
Kannst eigentlich alles nehmen, fast jede Firma die uC's im Angebot hat,
hat eine passende Serie.
z.B. TI (MSP430), Renesas (H8 H8L H8S), NEC (78K0R / V850),
Microchip (PIC), ATMEL (ATMEGA), ...
Also ich wollte mal genau das gleiche haben, aber halt 4 UARTS mussten
drin sein. Da gab es nur einen:
LPC2368 von NXP.
Bei kleiner Taktrate braucht er wenig Strom, auch kann jede einzelne
Pheriperie abschalten. Auch wenn man Leitung braucht einfach Hochtakten,
32 Bit Power....
IDE: Eclipse GNU OpenOCD
Mich interessiert der Ganze ARM Kram auch. Muss man sich da um die
Startup Assembler Routinen selbst kümmern oder erledigt es Keil? Ich
sehe den Einstieg irgendwie als schwer in die ARM Thematik.
Für den ARM gibt es jede Menge beispiele im Netz. Ich nutze Eclipse und
die OpenSource sachen, da günstiger. Dafür muss ich das mit Mehrarbeit /
Zeitaufwand hineinstecken bis es geht.
Ich habe damit auch angefangen, ganz alleine, es gab keinen den ich um
Rat fragen konnte, ausser Google und Mikrocontroller.net. Und es geht.
Ich habe es alleine hin bekommen (mit Goggle) meinen LPC2368 ans USB zu
bekommen und einen Webserver zum laufen zu bekommen.
Also es ist machbar, einen starken Willen braucht es natürlich schon.
Die Startfiles existieren zu hauf im Netz, beim Keil geht es dann auch
gleich mit der main() in C los, der rest macht der Keil alleine.
Lieber ist mir da der GCC. Da kann ich anhand des Linkerscripst usw.
alles so einstellen wie ich es brauche. Das ist auch nötig, wenn man in
der Applikation auch gleich einen Bootloader für Firmwareupdate einbauen
möchte.
(Wenn man noch nie mit Makefile und Linkerscripte gearbeitet hat,
braucht man ca. 2-3 Wochen um da einigermassen gut durchzusteigen und
anpassungen selbst durchführen zu können, ABER das lohnt sich!)
NXP hat zu seinem Prozesor ein "lpc23xx.lpc24xx.code.bundle" darin sind
für alle Pheriperieteile Demo-Code enthalten. UND der Code ist FREE!
Also darf ohne Lizenz in eigenen kommerziellen Applikationen verwendet
werden!
Ich habe mich auch für den LPC2368 entschieden, da im Errata fast kein
Einträge sind, im gegensatz zu vielen anderen Herstellern. Ich habe
einen Monat gebraucht um mich für diesen Controller fest zu legen und
garantiert viele andere akribisch untersucht. (!!! Die Datenblätter
haben alle zwischen 300 und 600 Seiten !!!)
Im nachhinein würde ich mich wieder für diesen entscheiden.
Bei einem Prozessor mit ARM Kern könnte man meinen es ist egal von
welchem Hersteller. Aber es ist wichtig welche Pheriperie der Hersteller
mit rein packt und wie intelligent diese schon ist (= weniger
Programmieraufwand) und wie wenig Fehler diese hat. Auch war für mich
ein Argument wie viel Demo-Code es genau für diesen einen Prozessor in
Google gibt.
PS: Dies sieht so aus als ob ich Werbung für NXP machen würde, ist aber
nicht so, bitte keinen Kommentar diesbezüglich abgeben. Ich bin nur
einer der diesen Chip benutzt und rundrum zufrieden damit ist!
Hm, mir schint es auch so das fast jeder µC für deine Anwendung geht
wenn du externe Chips mit dau nimmst. Der von mir erwähnte µC von ST
kostet auch glich mal 20,-€ Stk. u. 100Stk. immer noch 10€ bei RS z.b. .
Hmmm, -zig Antworten und die MB90F5xx von Fujitsu wurden immer noch
nicht erwähnt. Kenne ich da alleine solche Exoten? ;-))
(Ok Ethernet gibt's auch da nicht, aber wie schon geschrieben wurde: der
PHY (nicht der EMAC) frisst da schon mehr Power als Du jemals mit dem
Begriff "low Power" labeln würdest.)
Yob wrote:
> ...Der von mir erwähnte µC von ST kostet auch glich mal 20,-€ Stk.
Ok, bei RS vielleicht. Wenn Du 100 St. (bzw. eine VE bzw. ein Tray)
brauchst, geh' mal direkt zum Dissi. Dort sollte es die für ca. die
Hälfte geben...