Forum: Mikrocontroller und Digitale Elektronik Welcher µC ist "der Richtige"


von Martin S. (sirnails)


Lesenswert?

Hallo miteinander,

ich stehe vor einer Entscheidung, die relativ weitreichende Konsequenzen 
haben wird, und daher würde ich gerne mal neben dem netten Gerede von 
Vertrieblern gerne eure Erfahrungswerte hören. Explizit geht es um den 
professionellen Einsatz, nicht um das Basteln daheim.

Wir müssen oder wollen uns auf eine Prozessorlinie festlegen (d.h. also 
eines Herstellers). Wichtig ist dabei, dass mindestens die AECQ-100 
erfüllt ist. Wichtig ist auch, dass die Generationen eine 
Langzeitverfügbarkeit besitzt, da man bei Layoutänderungen u.U. durch 
die komplette Konformitätsprüfung durch muss. Und wichtig ist, dass es 
in Europa problemlos beschaffbar ist (auch bei Stückzahlen weit kleiner 
als 30.000 p.a.).

Ich war zu diese Zwecke auf der Electronica unterwegs, und habe mir mal 
so angehört, was die Hersteller zu bieten haben. Alles ohne AECQ lasse 
ich hier mal weg. Ob alles so richtig ist, habe ich nicht geprüft. Falls 
nicht, bitte ich um Korrektur.

Atmel:

+ weit verbreitet, sehr viele Quellcodes im Netz verfügbar
+ Eine IDE für alle Generationen (AVR und ARM Cores)
+ gute Beschaffbarkeit
+ CAN und LINQ gibt es (lt. Aussage des Vertrieblers) in rudimentären 
Zügen in der Bibliothek, sodass das 1x1 des Busses nutzbar ist.
+ Atmel Studio kostenlos (tolle IDE und Compiler)

- keine Aussagen über die Langzeitverfügbarkeit; mehr als 7 Jahre wurden 
zähneknirschend nicht genuschelt
- Festes Pinning bei dem AVR Cores, kein I/O Multiplexing möglich, 
sodass das Pinning am Board auf den µC zugeschnitten werden muss. Das 
macht nachträgliches Umschlüsseln bei nicht Pin-kompatiblen Controllern 
unmöglich.

Microchip:

+ Ebenso weit verbreitet wie Atmel
+ I/O Multiplexing
+ Mit Keil ist eine gute IDE verfügbar
+ Lange Verfügbarkeit >= 15 Jahre

- Compiler wird extra benötigt, nur ANSI C, kein C++
- Codegröße limitiert, teure Lizenzen nötig
- keine CAN Treiber

ST:

+ Miniaturkleine Controller ab 8 Beinchen mit enorm viel Funktionalität
+ 4 Timer Register vorhanden inkl. Hardware-Invertern für 
Halbbrückentreiber und shoot-through protection
+ Lange Verfügbarkeit >= 15 Jahre
+ hohe Taktraten
+ Programmierung und Debugging über 1-Wire

- Keine antändige IDE vorhanden
- Compiler größenbeschränkt, danach teuer einzukaufen

Insgesamt klang mir ST am sympathischsten. Allerdings schreckt mich der 
Mangel an einer anständigen ganzheitlichen Entwicklungsumgebung ab. 
Außerdem ist der globale Support (Foren, Newsgroups u.d.gl.) eher klein 
im Vergleich zu Atmel und Microchip.

Von daher wären ein paar Erfahrungswerte wirklich sehr nützlich.

Danke :)

von Schlumpf (Gast)


Lesenswert?

Du schreibst, dass für Microchip eine gute IDE von Keil verfügbar wäre 
und bei ST sei von Nachteil, dass keine IDE verfügbar wäre.

Hast du schonmal bei Keil auf der HP geschaut?
--> µVision

von Frank K. (fchk)


Lesenswert?

Martin Schwaikert schrieb:


> Microchip:
>
> + Ebenso weit verbreitet wie Atmel
> + I/O Multiplexing
> + Mit Keil ist eine gute IDE verfügbar
KEIL bedient nur 8051,80166,80251 und ARM. Für die PICs brauchst Du 
MPLABX und die zur jeweiligen Architektur passenden Compiler.

> + Lange Verfügbarkeit >= 15 Jahre
>
> - Compiler wird extra benötigt, nur ANSI C, kein C++
C++ gibts für PIC32
> - Codegröße limitiert, teure Lizenzen nötig
falsch. Das gilt für KEIL. Bei den Microchip-Compilern ist die Codegröße 
unbegrenzt, nur die höheren Optimierungsstufen eingeschränkt.
> - keine CAN Treiber
falsch - es gibt AppNotes dazu, ansonst frag bei Vector nach.

>
> ST:
>
> + Miniaturkleine Controller ab 8 Beinchen mit enorm viel Funktionalität
gibt bei Microchip auch
> + 4 Timer Register vorhanden inkl. Hardware-Invertern für
> Halbbrückentreiber und shoot-through protection
gibt bei Microchip auch (auf "MC" in der Typenbezeichnung achten -> 
Motor Control -> dsPIC33EP Serie)
> + Lange Verfügbarkeit >= 15 Jahre
> + hohe Taktraten
> + Programmierung und Debugging über 1-Wire
falsch. 1-Wire ist TM von Maxim. Du meinst SWD.
> - Keine antändige IDE vorhanden
> - Compiler größenbeschränkt, danach teuer einzukaufen
es gibt freie, aber für Automotive wird meist IAR verwendet wegen MISRA 
Support, und IAR ist teuer

Du willst Dich noch bei Freescale informieren. Das ist im 
Automotive-Bereich eine ganz große Nummer.

fchk

von Nik (Gast)


Lesenswert?

Martin Schwaikert schrieb:
> kein C++
Für PIC32 gibt es den XC32++

> - Codegröße limitiert, teure Lizenzen nötig
Von welchem Compiler sprichst du? Soweit ich weiß sind die XC Compiler 
in der Free Version nur bei  der Optimierung beschränkt.

> - keine CAN Treiber
Ein PIC18F25K80 z.B. hat alles für CAN bis auf den Tran ceiver onboard.

von Mooskopf (Gast)


Lesenswert?

Von C++ solltest du dich eh loesen. Diese Konzepte passen nicht auf 
Controller. Willst du einen dunamischen Memory Manager ? Dynamisches 
Memory ? Natuerlich nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin Schwaikert schrieb:
> auf eine Prozessorlinie festlegen (d.h. also eines Herstellers)
Eine "Linie" ist also alles, was ein Hersteller von 8 bis 32 Bit 
anbietet?
Für mich wäre 1 Linie bei Atmel z.B die AVR gewesen, eine andere die 
XMega und dann noch die ARM Prozessoren.

von ttl (Gast)


Lesenswert?

im Vergleich zu den Zertifizierungskosten ist der Preis für Compiler/IDE 
doch eh Peanuts. Keil und IAR sind schon sehr gut. AVR-Studio und MPLAB 
ehr ein Witz dagegen. Keil ist seit einiger Zeit auch 100% Teil von ARM, 
das ist auch kein Nachteil.

von m.n. (Gast)


Lesenswert?

Martin Schwaikert schrieb:
> Ich war zu diese Zwecke auf der Electronica unterwegs, und habe mir mal
> so angehört, was die Hersteller zu bieten haben.

Und Renesas hat da nichts anzubieten?

von gasper (Gast)


Lesenswert?

klingt zumindest nach automotiven Anforderungen.

ST klingt gut, ist bzgl. PPAP nicht immer so zuverlässig.
Support ist i.O., Preise sind i.O., AECQ 100 i.O.

MICROCHIP : Support i.O., Preise i.O. AECQ 100 i.O.

ATMEL : habe ich meine Vorbehalte.

MELEXIS : Support etwas schwierig, Preise i.O. AECQ 100 i.O.

Zwischen automotiven und industriellen Kunden ist der
Unterschied etwa so wie zwischen gesetzlichen und privaten
Versicherung (ist aber so ziemlich überall meist so)

Tools für die SW Entwicklung werden von den Herstellern ausreichend
angeboten oder von FAEs empfohlen.

CAN, Transceiver, System-Basis-Chips wird von allen o.g. angeboten.

Sind empfehlenswert für professionelle anspruchsvolle
Applikationen, dh auch geeignet um die Anforderungen in
Automobilindustrie und dessen Qualifizierungsanforderungen
zu erfüllen.

von sdg (Gast)


Lesenswert?

Lothar Miller schrieb:
> Für mich wäre 1 Linie bei Atmel z.B die AVR gewesen, eine andere die
> XMega und dann noch die ARM Prozessoren.

Für mich sind das nur zwei "Linien", AVR8 und ARM.

Aber interessehalber: Warum verlangt der TO AEC-Q, da müsste er
schon in der entsprechenden Firma sitzen, die Zugriff auf genug
Ressourcen hat.

Er möchte hier in einem Hobby-Forum fragen und die Meinung von
Bastlern in einer Firma vertreten, die mindestens AEC-Q-Bauteile
verlangt?

Wie passt denn das zusammen?

Der Tipp mit Freescale war gut. Infineon auch. Atmel kaum bis
gar nicht.

von 6A66 (Gast)


Lesenswert?

Martin Schwaikert schrieb:
> Alles ohne AECQ lasse
> ich hier mal weg. Ob alles so richtig ist, habe ich nicht geprüft. Falls
> nicht, bitte ich um Korrektur.

Mir sind für Automotive auch noch IFX und Renesas eingefallen.
Atmel und PIC hätte ich da nicht reingepackt.

IDE: Da würde ich weniger drauf schauen, sondern inwiefern die 
Bibliotheken oder Compiler/Assembler den Automotivnormen genügen oder 
zertifziert sind (wenn denn benötigt). Denn die IDE ist zum Entwicklen 
zwar schön aber eben nur das "Windows" über die eigentlichen Werkzeuge.

30k/a ist schon ganz ordentlich (natürlich nicht mit mobile 
vergleichbar), die solltest Du aber bei allen namhaften Distributoren 
bekommen. Wenn das nicht möglich ist ist das IMHO kein vernünftiger 
Hersteller.

rgds

von Rolf M. (rmagnus)


Lesenswert?

Mooskopf schrieb:
> Von C++ solltest du dich eh loesen. Diese Konzepte passen nicht auf
> Controller. Willst du einen dunamischen Memory Manager ? Dynamisches
> Memory ? Natuerlich nicht.

Dynamischer Speicher ist nicht ein Konzept von C++, sondern etwas, das 
es in beiden Sprachen gleichermaßen gibt und das man auch in beiden 
Sprachen nutzen kann, aber nicht zwingend muß.

Martin Schwaikert schrieb:
> - Compiler wird extra benötigt, nur ANSI C, kein C++

Und "nur ANSI C" bedeutet übrigens C auf dem Stand von vor 25 Jahren 
nach einer Norm, die vor 15 Jahren für ungültig erklärt wurde.

von Martin S. (sirnails)


Lesenswert?

sdg schrieb:
> Aber interessehalber: Warum verlangt der TO AEC-Q, da müsste er
> schon in der entsprechenden Firma sitzen, die Zugriff auf genug
> Ressourcen hat.

Es gibt nicht nur schwarz und weiß. Die AECQ ist alleine schon wegen des 
Temperaturbereiches und der hohen Qualitätskontrolle wichtig.

Im Bereich der NFZ ist die Firmengrößte nicht mit der im PKW Sektor 
vergleichbar.

> Er möchte hier in einem Hobby-Forum fragen und die Meinung von
> Bastlern in einer Firma vertreten, die mindestens AEC-Q-Bauteile
> verlangt?

Hier sind sogar sehr viele nicht-bastler online. Und auch Bastler 
arbeiten zumeist im Leben in entsprechenden Firmen.

> Der Tipp mit Freescale war gut. Infineon auch. Atmel kaum bis
> gar nicht.

Stimmt. Dort war ich auch. Muss ich nochmal in die Unterlagen sehen.

von sdg (Gast)


Lesenswert?

Martin Schwaikert schrieb:
> Stimmt. Dort war ich auch. Muss ich nochmal in die Unterlagen sehen.


ST bietet seit kurzem auch Freescale-PPCs an (zusammen entwickelt).

Es gibt ein paar µCs von Atmel, die AEC-Q haben oder bekommen (können).
Auch welche aus dem AVR8-Segment.

von Arc N. (arc)


Lesenswert?

6A66 schrieb:
> Atmel und PIC hätte ich da nicht reingepackt.

Warum? Beide Hersteller bieten AEC-Q100 qualifizierte Controller an.
Bei den PIC32 z.Z. afaik allerdings nur bis 105 °C.

Martin Schwaikert schrieb:
> Microchip:
>
> + Ebenso weit verbreitet wie Atmel
> + I/O Multiplexing
> + Mit Keil ist eine gute IDE verfügbar

MPLAB X bzw. NetBeans ist imo der Keil IDE mindestens ebenbürtig

> - Codegröße limitiert, teure Lizenzen nötig

Wenn es um die PIC32 geht, gibt es bspw. auch die Möglichkeit den 
normalen GCC zu benutzen, auf welchem der XC32 bzw. XC32++ basiert
http://wise-ware.org/wiki/index.php?n=Pic32.GccPic32

Für die Compiler von Microchip gilt:
"No time or memory restrictions", "Unrestricted use—ideal for a low-cost 
academic or commercial solution". Nur die Optimierungen, die der 
Compiler vornimmt, sind in den kostenlosen Version, wie schon 
geschrieben wurde, eingeschränkt.

> ST:
> - Keine antändige IDE vorhanden

http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533
bzw. lässt sich da so gut wie jede IDE verwenden. Eclipse, NetBeans etc. 
pp.

Allgemein wäre u.U. auch zu bedenken wie gut/schnell der Support durch 
den Hersteller bzw. die FAEs der Distributoren ist.

Bei sicherheitskritischen Teilen wäre TI noch überlegenswert:
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/safety/overview.page
Das sind div. Cortex-M und R, die z.T. für ISO 26262 ASIL D oder IEC 
61508 SIL 3 Anwendungen entwickelt wurden.

p.s. Die GHS-Compiler sollten auch für PIC32 erhältlich sein
http://www.ghs.com/news/20071105_microchip.html

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Martin Schwaikert schrieb:

> ST:
> - Keine antändige IDE vorhanden
> - Compiler größenbeschränkt, danach teuer einzukaufen

Sind das nicht ARM Controller von ST? Wenn ja dann kann man doch Eclipse 
CTD und gcc verwenden oder geht das nicht? Oder verwechsel ich da was?

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.