Hallo zusammen,
für mein neues Bastelprojekt bin ich auf der Suche nach einem geeigneten
Controller. Da ich beruflich fast ausschließlich mit größeren Kalibern
zu kämpfen habe (Freescale MPCs) bin ich nicht mehr so up-to-date welche
kleineren Alternativen es gibt.
Ich sag euch einfach mal welche Anforderungen der Controller erfüllen
sollte:
Kein Exot
2x CAN
2x UART
EEPROM
Kostenlose, bzw. günstige IDE und Debugger
Schön wäre auch wenn es schon ein paar Libraries für den Controller
geben würde, damit man nicht alles zu Fuß programmieren muss.
Na dann mal her mit euren Vorschlägen!
peterguy schrieb:> Kein Exot> 2x CAN> 2x UART> EEPROM> Kostenlose, bzw. günstige IDE und Debugger
Microchip hat ein paar die diese Wünsche erfüllen, z.B. dsPIC30F5011
IDE (MPLAB X IDE) und Compiler (XC16) sind kostenlos, Debugger gibt's ab
30€. Microchip liefert auch ein paar Libraries.
Vom Preis her sind die STM32-Discovery-Boards nicht zu schlagen.
STM32F4-Discovery-Board (Cortex-M4, 168MHz) für ~15€ und der Debugger
ist auch schon mit drauf auf dem Ding. USB-Kabel ran und abfahrt. Mit
der IDE von Keil (ARMCC) kannst du auch kostenfrei bis 32k-Codegröße
arbeiten.
Ok, so ein M4 ist nicht wirklich klein, aber bei dem Preis...
Ansonsten wäre noch der Atmel SAM3X8E im angebot: Cortex-M3, 84MHz, und
mit Atmel Studio (GCC 4.8.3) hast du auch keine Codelimitierung, dafür
ist der Debugger nicht gerade geschenkt...
Lediglich einen EEPROM müsstest du dir extern ranklatschen.
Danke schonmal für das Feedback.
Von den genannten Controllern gefallen mir der LPC1769 und der
dsPIC30F5011
ganz gut.
Hat der LPC auch ein eingebautes EEPROM, oder muss man da was extern
anschließen?
Ansonsten sieht der Toolchainmäßig schon sehr komplett aus und ist mit
~20€ als LPCexpresso board wirklich nicht teuer.
Für den PIC spricht ein gewisser Nostalgiefaktor, hab damals im Studium
mit einem kleinen PIC die ersten Gehversuche unternommen :-)
STM kommt eher nicht in Frage, bei meinem letzten Privat Projekt habe
ich einen STM32F3 eingesetzt und bin mit dem Software package nicht
wirklich glücklich geworden.
Nee, der LPC hat kein EEPROM drauf, aber mit SPI oder I2C lässt sich
sowas relativ schnell realisieren. Ein weitere Möglichkeit ist, einen
Teil des internen Flash als DataFlash zu nutzen. Das ist zwar
aufwändiger, übt aber ungemein. Btw. wenn ich mich recht erinnere lässt
die Umgebung Code bis zu 128kB zu.
M3 ist schon schön. Man muss auch loslassen können ;-).
Gruß,
Bernd
> Btw. wenn ich mich recht erinnere lässt> die Umgebung Code bis zu 128kB zu.
Es geht wohl um die LPCxpresso IDE. Da sind inzwischen 256kB möglich.
Und die Grenze gilt auch nur für den Debugger. Der Compiler/Linker ist
nicht eingeschränkt.
Mit der IDE bin ich allerdings nie richtig warm geworden. Ich benutze
lieber ein nacktes Eclipse mit der Linaro Toolchain und verzichte auf
den Debugger. Aber Versuch macht schliesslich kluch. Kannst dir das Teil
ja mal runterladen und etwas damit herumspielen. Das geht auch ohne
Hardware.
Ansonsten: CAN und (echtes) EEprom beissen sich. So eine Kombination ist
mir noch nicht aufgefallen. Flash als Eprom hat halt das Problem dass
die Blöcke recht groß sind und die mögliche Anzahl Schreib-/Lesezyklen
irgendwo bei 10k (10000) liegen. Richtiges EEprom schafft 100k bzw. 1M.
Wenn man es denn braucht.
Stefan schrieb:> Ansonsten: CAN und (echtes) EEprom beissen sich
90CANxx, ATMega16M1 usw. :-) Okay, nur 1 CAN, aber mit EEPROM. :-)
Ein externes FRAM per SPI dran macht das eh schneller und flexibler.
Also mit so einer Eepromemulation im Flash habe ich jetzt schon 2mal
gearbeitet, das tue ich mir nicht mehr an. Würde dann wirklich eher zu
einem FRAM oder MRAM greifen.
Die LPCexpeesso IDE muss ich mir mal näher anschauen. Fand eclipse
bisher zum entwickeln, verwalten und kompilieren top. Das Debuggen fand
ich dagegen weniger intuitiv, aber vielleicht bin ich auch einfach von
Lauterbach zu verwöhnt ☺
Also bei Microchip spuckt die Suche bei 2xUART+2xCAN+1xSPI (für externes
EEPROM) 62 PICs raus, wenn man statt dem SPI nen EEPROM haben will, sind
es nur noch 7 PICs (die dsPIC30er). Die laufen noch mit 5V und sind,
soweit ich das bisher mitbekommen habe, vom Stromverbrauch schon relativ
hoch. Dazu auch relativ alt. Externe EEPROMs mit SPI oder I2C gibts auch
als kleiner DFN oder SOT23 Gehäuse. Bevor ich mich auf sehr wenige
Controller festlegen muss, würde ich mir mit ext. EEPROM die Auswahl
eher groß halten. Könnte insgesamt vielleicht auch günstiger sein.
Ich sehe gerade, ich habe mich vertippt.
MPC560x meinte ich natürlich.
Das sind kleine Power-PC von Freescale ab 64 Pins mit bis zu sechs CANs.
Es gibt mit dem TRK-USB-MPC5602P auch ein günstiges Eval-Board.
Zum Beispiel hat Farnell diverse SPC560x Typen im Sortiment, das ist die
Automotive-Version.
Wenn man beruflich sowieso mit Freescale-Controllern arbeitet könnten
die doch eine Alternative sein.