Forum: Mikrocontroller und Digitale Elektronik Geeigneten µC mit CAN-Bus auswählen, 3 zur Auswahl


von Hubert S. (ch00ser)


Lesenswert?

Hallo Gleichgesinnte,

für meine Bachelorarbeit muss ich einen geeigneten Mikrocontroller 
auswählen.

Die wichtigste Voraussetzung ist die Unterstützung von (SPI über) CAN. 
Ein Converter existiert als CAPL Programm.
In meinem Projekt-Aufbau befindet sich ein PC mit Hardware von Vector. 
Über CAN2 werde ich ein Signal einspeisen um Messungen an CAN1 zu 
starten oder zu stoppen. Das klappt auch so weit wunderbar, wenn ich 
anstatt eines µC einen Beschleunigungssensor nehme und je nach Neigung, 
Messungen starte oder stoppe. Jetzt soll ich das aber automatisieren.

Aufbau:
[Sensor in Temp. Kammer]--(CAN1)--[PC mit CANalyzer]--(CAN2)--[µC]

Mir wurden drei genannt die im Unternehmen benutz werden:

(1) S12 Freescale
(2) 78 KOR
(3) SAM 08

Vielleicht kennt jemand von Euch einen dieser Controller oder einen 
anderen "besseren" und könnte mir bei der Wahl etwas weiterhelfen.


mfg

Hubert S.

von Me (Gast)


Lesenswert?

Soll der Mikrocontroller für den Automotive-Bereich sein oder bei 
Zimmertemperatur betrieben werden?

Soll das ganze in Serie gehen oder sind die Stückkosten egal?

Es gibt sicherlich noch mehr Punkte..

von Antwortender (Gast)


Lesenswert?

Konkret einen bennen würde ich nicht. Aber ein paar 
Entscheidungskriterien kann ich dir nennen:

- Wer kennt sich in deinem direkten Umfeld (Nachbartisch, 
Kaffeemaschine, Freundeskreis, ...) womit am besten aus und kann dir bei 
Problemen schnell und unkompliziert helfen.

- wofür ist eine aktuelle Entwicklungskette (IDE, Compiler, JTAG) 
vorhanden oder im Budget enthalten?

- Welcher Kontroller hat alle (!) von dir benötigten 
Peripherieeninheiten

von H.Joachim S. (crazyhorse)


Lesenswert?

Die meiste Unterstützung hier (falls dir daran liegt) wirst du bekommen, 
wenn du einen AT90CANxx benutzt.
Deine 3 genannten Typen sind (zumindest für mich) Exoten. Was nicht 
heisst, dass sie in irgendeiner Art schlecht sind.
Auch ein beliebiger anderer ATMega mit externem MCP2515 ist eine 
Überlegung wert.
PICs gibts auch mit CAN on Chip.

Das auschlaggebende letztendlich: kennst du schon einen der genannten 
und hast du eine funktionierende Entwicklungsumgebung?

Kurz: du kannst mehr oder weniger jede beliebige Kombination nehmen, die 
dir gefällt.

von Hubert S. (ch00ser)


Lesenswert?

Danke ersteinmal für die schnelle Antworten:

Me schrieb:
> Soll der Mikrocontroller für den Automotive-Bereich sein oder bei
> Zimmertemperatur betrieben werden?
>
> Soll das ganze in Serie gehen oder sind die Stückkosten egal?
>
> Es gibt sicherlich noch mehr Punkte..

genau, Automotive-Bereich ist richtig,
Mein Projekt soll später für das Testen der Sensoren benutzt werden, 
oder zumindest als Basis dienen. Also keiene Serien Produktion und was 
die Kosten angeht sollen die Kosten (Zitat) "nicht zu hoch und nicht zu 
niedrig sein".

Antwortender schrieb:
> Konkret einen bennen würde ich nicht. Aber ein paar
> Entscheidungskriterien kann ich dir nennen:
>
> - Wer kennt sich in deinem direkten Umfeld (Nachbartisch,
> Kaffeemaschine, Freundeskreis, ...) womit am besten aus und kann dir bei
> Problemen schnell und unkompliziert helfen.
>
> - wofür ist eine aktuelle Entwicklungskette (IDE, Compiler, JTAG)
> vorhanden oder im Budget enthalten?
>
> - Welcher Kontroller hat alle (!) von dir benötigten
> Peripherieeninheiten

- Erfahrung im Bereich µC besitzte ich, zumindest wenn es um "Cypress" 
Controller geht. Mein Prof. der mich betreut kennt sich mit Controllern 
aus und auch mein zweit Prüfer ist Dokter im Mechatronik-Bereich. In der 
FH sind auch ein oder zwei Laboringenieure die mir helfen könnten.

- Enwicklungskette? Was meinst Du damit? Mein Aufbau soll für 
Funktions-Test genutzt werden.

- alle drei werden im Unternehmen für diese zwecke genutzt, soweit ich 
das in Erfahrung gebracht habe,

H.joachim Seifert schrieb:
> Die meiste Unterstützung hier (falls dir daran liegt) wirst du bekommen,
> wenn du einen AT90CANxx benutzt.
> Deine 3 genannten Typen sind (zumindest für mich) Exoten. Was nicht
> heisst, dass sie in irgendeiner Art schlecht sind.
> Auch ein beliebiger anderer ATMega mit externem MCP2515 ist eine
> Überlegung wert.
> PICs gibts auch mit CAN on Chip.
>
> Das auschlaggebende letztendlich: kennst du schon einen der genannten
> und hast du eine funktionierende Entwicklungsumgebung?
>
> Kurz: du kannst mehr oder weniger jede beliebige Kombination nehmen, die
> dir gefällt.

Werde mir mal die genannten AVR Controller anschauen.

Ich habe bis jetzt keinen der drei aufgelisteten µC in der Hand gehabt. 
Ich weiss nur, dass die hier benutzt werden.

Hmmmm, dacht ich mir schon fast, dass es so einfach wird ;-)
> jede beliebige Kombination .....

von Moppel (Gast)


Lesenswert?

Um nochmal was ganz anderes auf den Markt zu werfen: Ich hatte gerade 
einen F550 in Arbeit, den fand ich auch ganz klasse. Die haben ebenfalls 
CAN und SPI, Automotive Qualified, sind schön klein und benötigen wenig 
externe Beschaltung (z.B. kein Quarz). Das ist dann allerdings ein 8051.

http://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F55x-F56x-F57x.pdf

von Hubert S. (ch00ser)


Lesenswert?

Moppel schrieb:
> Um nochmal was ganz anderes auf den Markt zu werfen: Ich hatte gerade
> einen F550 in Arbeit, den fand ich auch ganz klasse. Die haben ebenfalls
> CAN und SPI, Automotive Qualified, sind schön klein und benötigen wenig
> externe Beschaltung (z.B. kein Quarz). Das ist dann allerdings ein 8051.
>
> http://www.silabs.com/Support%20Documents/Technica...

wie wird der programmiert??

mit C oder assambler ???

was für ein compiler ??

der Speicher sollte für mein Projekt ausreichen:
- 2304 bytes internal data RAM (256 + 2048 XRAM)
- 32 or 16 kB Flash;

ich will ja "nur" ein CAN-Signal erzeugen!

von tom (Gast)


Lesenswert?

...naja, wenn Du zur Auswahl hast:
1. Freescale S12 (eher betagt),
2. NEC 78K0 (auch schon etwas älter)
3. ist evtl. ein Atmel SAMxyz ? - würde ich eher zu einem Cortex-M3 SAM 
tendieren. Dafür gibt es mehrere Toolchains (Compiler->Linker->Debugger) 
sowohl kommerziell (IAR, KEIL, beide bis 32k code als eval-version) als 
auch diverse gcc-basierte (Atollic, Codesourcery, yagarto, etc.) 
Möglichkeiten.
Als Studi kannste Dir einen Jlink-Edu z.B. gut leisten oder es gibt 
schon einen JTAG Adapter in der Firma ?

Mit der Wahl lernst Du etwas für's neue Leben und keinen alten Krams und 
kannst auch mal daheim ohne Lizenzprobleme dran arbeiten und hast eine 
vollwertige Entwicklungsumgebung selbst zur Verfügung.

Aber, des Menschen Wille ist sein Himmelsreich - Du musst Dich schon 
selbst entscheiden.

gutt lack, tom.

von marcel (Gast)


Lesenswert?

ich habe schon ein Embeddedsystem im Automotvebereich gemacht und habe 
den S12 eingesetzt und war zufrieden. Ok die freescale Datenblätter sind 
nicht der hit, aber der support war gut von frescale. Das er so viele 
can schnittstellen hat fand ich gut. Wir hatten aber ihn nur als 
Systemcontroller eingesetzt ind dem imx35 von freescale als prozessor 
mit linux.

von Frank K. (fchk)


Lesenswert?

Hubert S. schrieb:

> - Enwicklungskette? Was meinst Du damit? Mein Aufbau soll für
> Funktions-Test genutzt werden.

Als Entwicklungskette wird die Gesamtheit der Werkzeuge bezeichnet, die 
für die Softwareentwicklung benutzt werden: IDE, Compiler, Linker, 
Debugger (+ggf Hardware), Bibliotheken,...

>> Die meiste Unterstützung hier (falls dir daran liegt) wirst du bekommen,
>> wenn du einen AT90CANxx benutzt.

Nachteil:
- relativ groß; Atmel hat keine "kleinen" AVRs mit CAN
- wenn Du debuggen willst, brauchst Du einen JTAG-Adapter. Das Tool 
JTAGICE MKii von Atmel ist ziemlich teuer (ca 300€), der JTAGICE3 wird 
von vielen Programmen noch nicht unterstützt, und der Dragon ist mangels 
vernünftiger Schutzschaltungen (sollte halt billig sein) recht 
empfinglich gegen Fehlbehandlung.

>> Deine 3 genannten Typen sind (zumindest für mich) Exoten. Was nicht
>> heisst, dass sie in irgendeiner Art schlecht sind.

Diese Typen sind aufgrund des weiten Temperaturbereiches in der 
Automobilbranche beliebt. Die Tools sind allerdings oft ziemlich teuer.

>> PICs gibts auch mit CAN on Chip.

Das würde ich vorschlagen. MPLAB IDE, Compiler etc kannst Du Dir 
kostenlos runterladen, das PicKIT3 zum Debuggen und Flashen kostet um 
die 50€, und damit kannst Du nicht nur flashen, sondern auch debuggen, 
und zwar die gesamte 8, 16 und 32 Bit PIC-Serie. Die damit gewonnene 
Erfahrung kannst Du dann auch privaterweise weiterverwenden.

Kleine CAN-PICs gibts ab 28 Pins, auch im erweiterten Temperaturbereich 
von -40 bis +125°C. Kein Problem. Nimm irgendwas aus der 16 bittigen 
PIC24 oder dsPIC Serie, die kleineren PIC16 oder PIC18 nur, wenn es auf 
Stückkosten ankommt.

fchk

von can (Gast)


Lesenswert?

den uc3c von atmel gibts auch in automotive
Sehr einfache bedienung und volle canif implementierung mit reichlich 
features wie zb 16mailboxen damit bei schnellerer uebertragung auch 
nichts verlorengeht
Avratudio5 unterstuetzt gcc und diesen controller, gratis und keine kb 
beschraenkung

von Hubert S. (ch00ser)


Lesenswert?

was haltet Ihr davon??

http://www.kreatives-chaos.com/artikel/can-testboard-40

Bin kurz davor mir die Einzelteile bei Reichelt zu bestellen.

Warte nur auf Euer OK.  :-)

von Frank K. (fchk)


Lesenswert?

Hubert S. schrieb:
> was haltet Ihr davon??
>
> http://www.kreatives-chaos.com/artikel/can-testboard-40
>
> Bin kurz davor mir die Einzelteile bei Reichelt zu bestellen.

Hätte ich jetzt nicht gemacht. Ein externer CAN-Controller ist immer 
umständlicher zu programmieren als ein interner, wo Du einfach mit einem 
Debugger in die Register reinschauen kannst.

Ich hätte jetzt eher einen dsPIC30F4011 (Reíchelt-Bezeichnung 
30F4011-30IP) vorgeschlagen. Der hat CAN eingebaut und ersetzt damit den 
Mega644 und den MCP2515, d.h. Du sparst Geld, Verdrahtung, Platz und 
Programmieraufwand. Plus: er ist dreimal schneller. DIL40 wirst Du löten 
können.

Warum also was schlechteres nehmen?

fchk

von Hubert S. (ch00ser)


Lesenswert?

Frank K. schrieb:
> 30F4011-30IP

Frank K. schrieb:
> Hubert S. schrieb:
>> was haltet Ihr davon??
>>
>> http://www.kreatives-chaos.com/artikel/can-testboard-40
>>
>> Bin kurz davor mir die Einzelteile bei Reichelt zu bestellen.
>
> Hätte ich jetzt nicht gemacht. Ein externer CAN-Controller ist immer
> umständlicher zu programmieren als ein interner, wo Du einfach mit einem
> Debugger in die Register reinschauen kannst.
>
> Ich hätte jetzt eher einen dsPIC30F4011 (Reíchelt-Bezeichnung
> 30F4011-30IP) vorgeschlagen. Der hat CAN eingebaut und ersetzt damit den
> Mega644 und den MCP2515, d.h. Du sparst Geld, Verdrahtung, Platz und
> Programmieraufwand. Plus: er ist dreimal schneller. DIL40 wirst Du löten
> können.
>
> Warum also was schlechteres nehmen?
>
> fchk

Hört sich super an.

Jetzt noch einpaar Fragen:

1. Wie sieht die Schaltung aus, um den PIC zu proggen, bzw. zu flashen?
- mit Assambler oder Bascom habe ich keine Erfahrung, nur C!!!
2. Kann ich auch mit C/C++ programmieren?
3. Welchen Compiler?
4. Löten -nehm ich jetzt mal an- kann ich!

von Frank K. (fchk)


Lesenswert?

Hubert S. schrieb:
> Jetzt noch einpaar Fragen:
>
> 1. Wie sieht die Schaltung aus, um den PIC zu proggen, bzw. zu flashen?
> - mit Assambler oder Bascom habe ich keine Erfahrung, nur C!!!

Um Dein Programm in den Chip zu bekommen, besorgst Du Dir ein PicKit3.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538340

Bei Reíchelt findest Du das unter der Bezeichnung "DV 164131" zusammen 
mit einem PIC18-Board, das Du nicht brauchst. Auf ébay gibts Nachbauten 
aus China für 21€.

Als Schaltungsvorlage nimmst Du Dir das dsPICDEM2 Board. Da kannst Du 
Dir viel abschauen. Lad Dir das User Manual runter. Wenn DU Geld über 
hast, dann kannst Du Dir auch gleich das Board ordern. Kostet bei 
Farnell 79.11€ netto.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023561&part=DM300018

> 2. Kann ich auch mit C/C++ programmieren?
ja.

> 3. Welchen Compiler?
Du lädtst Dir von microchip.com
1. die Dokumentation zum Chip (Datenblatt und 30F Reference Manual, das 
sind etliche Teile)
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010337
2. die MPLAB 8.83 IDE
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002
3. den C30 Compiler als Lite Version (vielleicht musst dich 
registrieren, tut aber nicht weh)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en534868&page=wwwCompilers

Das MPLABX Zeug würde ich noch nicht nehmen, das ist noch ganz neu und 
noch nicht ganz reif. MPLAB8 ist zwar optisch nicht so schon, aber gut 
abgehangen und funktioniert. Erst MPLAB installieren, dann den Compiler. 
Das MPLAB geht auch für andere PIC-Architekturen, nur die jeweiligen 
Compiler (C18 bzw C32) musst Du dann nachinstallieren.

> 4. Löten -nehm ich jetzt mal an- kann ich!

fchk

von Frank K. (fchk)


Lesenswert?


von Sebastian (Gast)


Lesenswert?

Die Lösung von kreatives-chaos (Can-Testboard) hat allerdings einen 
Vorteil auf der Softwareseite: Es gibt eine erprobte Bibliothek (für 
avr-gcc) dazu, die ich selbst schon eingesetzt habe. Funktioniert prima 
und ist sehr einfach in der Hanshabung.

von Frank K. (fchk)


Lesenswert?

Die Peripherie-Bibliotheksfunktionen der Microchip-Compiler sind auch 
erprobt - das ist also kein Kriterium.

fchk

von Hubert S. (ch00ser)


Lesenswert?

Frank K. schrieb:
> Hubert S. schrieb:
>> Jetzt noch einpaar Fragen:
>>
>> 1. Wie sieht die Schaltung aus, um den PIC zu proggen, bzw. zu flashen?
>> - mit Assambler oder Bascom habe ich keine Erfahrung, nur C!!!
>
> Um Dein Programm in den Chip zu bekommen, besorgst Du Dir ein PicKit3.
>
> http://www.microchip.com/stellent/idcplg?IdcServic...
>
> Bei Reíchelt findest Du das unter der Bezeichnung "DV 164131" zusammen
> mit einem PIC18-Board, das Du nicht brauchst. Auf ébay gibts Nachbauten
> aus China für 21€.
>
> Als Schaltungsvorlage nimmst Du Dir das dsPICDEM2 Board. Da kannst Du
> Dir viel abschauen. Lad Dir das User Manual runter. Wenn DU Geld über
> hast, dann kannst Du Dir auch gleich das Board ordern. Kostet bei
> Farnell 79.11€ netto.
>
> http://www.microchip.com/stellent/idcplg?IdcServic...
>
>> 2. Kann ich auch mit C/C++ programmieren?
> ja.
>
>> 3. Welchen Compiler?
> Du lädtst Dir von microchip.com
> 1. die Dokumentation zum Chip (Datenblatt und 30F Reference Manual, das
> sind etliche Teile)
> http://www.microchip.com/wwwproducts/Devices.aspx?...
> 2. die MPLAB 8.83 IDE
> http://www.microchip.com/stellent/idcplg?IdcServic...
> 3. den C30 Compiler als Lite Version (vielleicht musst dich
> registrieren, tut aber nicht weh)
> http://www.microchip.com/stellent/idcplg?IdcServic...
>
> Das MPLABX Zeug würde ich noch nicht nehmen, das ist noch ganz neu und
> noch nicht ganz reif. MPLAB8 ist zwar optisch nicht so schon, aber gut
> abgehangen und funktioniert. Erst MPLAB installieren, dann den Compiler.
> Das MPLAB geht auch für andere PIC-Architekturen, nur die jeweiligen
> Compiler (C18 bzw C32) musst Du dann nachinstallieren.
>
>> 4. Löten -nehm ich jetzt mal an- kann ich!
>
> fchk

Danke für die Antwort!!! Werde mir das mal Heute und am Wochenende mal 
genauer anschauen und vielleicht schon Morgen bestellen.

Nur so neben bei, das andere Borad mit Atmel162 hätte bei reichelt so 
viel gekostet: 23,84 € + 5,60 € Vers.

> 
http://hbe-shop.de/Entwicklungskits-und-BoardsHalbleiter-ToolsHalbleiter-Zubehoer111-2720
>
> 
http://hbe-shop.de/Entwicklungskits-und-BoardsHalbleiter-ToolsHalbleiter-Zubehoer177-1323
Werde wahrscheinlich ersteinmal den Debugger mir besorgen, muss das hier 
wegen den Finanzen mal klären!

Gibt es nicht schon irgenwo jemanden der so ein Board entwickel hat??
Direkt bei Farnell würde ich weniger bezahlen bzw. der Preis der hier 
Oben angeben wurde.

von Frank K. (fchk)


Lesenswert?

Hubert S. schrieb:

> Werde wahrscheinlich ersteinmal den Debugger mir besorgen, muss das hier
> wegen den Finanzen mal klären!

Ja, das Demoboard ist optional.

> Gibt es nicht schon irgenwo jemanden der so ein Board entwickel hat??

Ich habe in den letzten 15 Jahren etliche Controllerfamilien durch, auch 
alle PIC-Architekturen.

Auch wenn Du Dir das dsPICDEM2 nicht kaufst, empfehle ich Dir dringend, 
das User Manual und die Software Files dafür von dieser Seite 
runterzuladen.

http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en023561&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023561#

Den im Manual abgebildeten Schaltplan unter Auslassung der für Dich 
uninteressanten Komponenten abzupinnen wirst Du ja hoffentlich wohl noch 
können. Sorry, aber wenn Du das JETZT nicht schaffst, verdienst Du 
Deinen Bachelor nicht.

CAN Code Example:
Google nach "CE034 - CAN Loopback", da hast Du Sende- und 
Empfangsroutinen.

> Direkt bei Farnell würde ich weniger bezahlen bzw. der Preis der hier
> Oben angeben wurde.

Denk dran, dass bei Farnell Nettopreise ohne Mwst stehen und dass HBE 
auch von irgendwas leben will. Wenn Du bei Farnell bestellen kannst, 
machst Du das natürlich.

fchk

von H.Joachim S. (crazyhorse)


Lesenswert?

http://www.olimex.com/dev/avr-can.html

Das sollte für dein Vorhaben passen (falls AVR).

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.