PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Microcontroller ohne Errata-Sheet ?



Siro
01.03.2010, 10:12
Hallo zusammen,
ich habe mir mal wieder einen neuen Microcontroller ausgesucht.
Dann habe ich mir das sogenannte "Errate Sheet" runtergeladen. Wer es nicht weis, das ist das Datenblatt, wo drin steht, was alles nicht bzw. nicht richtig funktioniert. Solch ein Zusatzblatt hat heutzutage anscheinend "jeder" Microcontroller. Da frag ich mich doch, wie man solch "defekte Bauteile" überhaupt verkaufen kann. Ohne auf irgendwelche Firmen einzugehen, findet man Sätze wie:
"Unter bestimmten Umständen" kann es zu einem Reset kommem"
"Die volle Taktgeschwindigkeit kann nicht erreicht werden"
Peripehrie Probleme mit:
ADC,CAN,USB,Ethernet,Watchdog...
Das sind keine gesammelten Werke, sondern Infos von einem einzigem "Errata" Sheet

Ohne jetzt als "Mecker-Heini" dazustehen frage ich mich wirklich,
ob es auch Controller gibt, die einwandfrei funktionieren.
Das Hauptproblem scheint darin zu liegen, daß wenn die Fehler beseitigt würden, eventuell vorhandene Software nicht mehr läuft, da sie speziell auf diese Fehler zugeschnitten wurde. Denn wie kann es sein, daß bei bekannten Fehlern in den nachfolgenden Derivaten Selbige wieder zu finden sind.

Was war jetzt eigentlich meine Frage:
Achja, gibt es "Fehlerfreie Microcontroller" ?

Siro


Zum Glück sind die meisten Bauteile heutzutage bleifrei,
so kann man sie bedenkenlos gleich entsorgen :-)

oberallgeier
01.03.2010, 10:46
... gibt es "Fehlerfreie Microcontroller" ...Mag sein, dass Erkenntnistheorie und Mikrocontrollertechnik nicht so direkt miteinander verwandt sind. Es ist eben nur die Anwesenheit von Fehlern diagnostizierbar, nicht deren Abwesenheit. So ist nun mal das wahre Leben, willkommen in der Wirklichkeit.

Jaecko
01.03.2010, 12:17
Naja, die Chiphersteller können unmöglich jeden Controller auf alle möglichen Dinge überprüfen, die dem Anwender einfallen. Wenn da halt irgend eine Kombination vorkommt, die die Werktests nicht vorsehen... tjo, ein Eintrag für ein Errata-Sheet. Und bei dem ganzen Zeug, das da drin ist, wärs ein Wunder, wenn da keine Fehler vorkommen.

Auch die CPUs von PCs haben Fehler, nur die kriegt man als Normalbenutzer eigentlich nie mit. Wobei einige der Fehler sogar bekannt sind wie z.B. Rundungsfehler bei bestimmten Rechnungen etc.

Den geilsten Eintrag hab ich bei nem Infineon-Controller gesehen.
Da heissts sinngemäss: "Flash Chip Sector Erase does not work. Workaround: Do not use."
Aber zum Glück gibts ja den Page Erase auch noch.

Richard
01.03.2010, 12:43
Wenn Fehler erst nach der Produktion auftreten, ist es halt zu spät.
Die Teile sind Masken programmiert, können nicht geändert werden.
Außerdem währen sie dann nicht mehr untereinander Kompatibel!
Also warnt man zumindest und setzt auf Softwarelösungen.

Gruß Richard

021aet04
01.03.2010, 15:06
Der beste Fehler ist der beim Pentium 3. Hat Intel etwas Geld gekostet, die auszutauschen (habe gerade gelesen ca 475 Millionen US-Dollar).

MfG Hannes

Felix G
01.03.2010, 21:05
Also bei allen Mikrocontrollern und DSPs mit denen ich bisher zu tun hatte, sind die Errata Sheets recht umfangreich. Ich finde das aber nicht weiter schlimm, denn in der Regel kann man mindestens 90% aller gelisteten Fehler komplett ignorieren, da sie bei der eigenen Anwendung schlicht nicht auftreten können, oder keine negativen Auswirkungen hätten. Dann gibt es nochmal rund 9-10% Fehler die sich softwaremässig umgehen lassen, also defacto auch kein gravierendes Problem darstellen.

Tja, und dann gibt es (manchmal) noch Fehler die man kennen sollte bevor man die Schaltung entwirft, da sie nur hardwaremässig zu lösen sind. Wenn man sich angewöhnt die Errata-Sheets nach eben solchen Fehlern zu durchsuchen, kommt man aber auch damit meist gut zurecht.


Seit ich gesehen habe wie der Compiler für einen FPGA arbeitet, wundert mich ohnehin nichts mehr. Man wirft das Teil an, wartet 2 Stunden bis er fertig ist, und wenn man Glück hat funktioniert das Ergebnis korrekt. Wenn kein Kompilat erzeugt werden kann daß die Anforderungen erfüllt, wirft man den Compiler nochmal an, wartet weitere 2h auf das Ergebnis, und freut sich wenn es geklappt hat.

Da lob ich mir doch einen guten C-Compiler, denn die arbeiten wenigstens deterministisch, und erzeugen bei identischen Einstellungen aus dem gleichen Code auch immer bis auf das letzte Bit identische Ergebnisse.

Besserwessi
01.03.2010, 21:53
Ganz ohne Fehler ist schwer. Die besten Chancen hat man wohl bei eher kleinen Typen, und da neueren Versionen aus einer eher alten Falmilie. Wenn da was nicht geht, fällt dann auch schon mal einfach aus der Spezifikation raus. Ein bischen Warten sollte man aber schon, damit auch Evetuelle Fehler auch gefunden werden.

Die kleinen neueren AVRs wie Tiny13A haben schon ein ziehmlich kurzes Erata Sheet, bzw. Anhang im Datenblatt dazu. Bei der Version von Datenblatt, die ich habe, gibts da ab 1,9 V keine bekannten Probleme mehr.

Bei anderen wie Atmel Xmega oder PIC33 ist das errata Sheet schon ziehmlich lang.

Die Länge machts aber auch nicht allein - Viele Fehler stören nicht, einige sind aber schon recht heftig (z.B. nicht funktionierendes JATG). Lang ist oft auch die Beschreibung wie man Fehler umgeht.

Richard
02.03.2010, 00:28
Darum verwendet man ja auch in Marsroboter und ähnlich kritische
Anwendungen ur ur alte und laaaangsame Prozessoren, da weiß man was man
hat. Die sind dann auch noch mindestens 3 fach mit unterschiedlicher Sofware
on Board und überprüfen sich gegenseitig nach den guten alten Mehrheitsprinzip.

Gruß Richard

Siro
02.03.2010, 16:48
Wow, 68 bekannte Fehler im PIC33 ist schon eine stolze Leistung.
Davon 6 alleine im UART. Der 8250 ist ja nun bald 30 Jahre alt und man
bekommt die Technik immer noch nicht in den Griff. Ist mir echt rätselhaft.
Ich war auch erstaunt, daß bei dem NXP in den 32 Bit Arm dieser uralte 8 Bit UART eingebaut wurde. Der läuft aber wenigstens...

Und nebenbei hatte ich mal einen "sehr schönen Fehler" Der Controller trifft unter bestimmten Bedingungen den RESET-VECTOR nicht.
Dieser Fehler wurde offengelegt, nachdem ca. 500 unserer Geräte in Operationssälen standen. Da kam echt Freude auf. Mehr durch Zufall lief die CPU dann in die Interrupt-Routine. Dort konnte die Software den Verursacher des Interrupts nicht feststellen und sprang so direkt auf die Adresse 0. Glück gehabt...

Welche Prozessoren bzw. Controller werden eigentlich in Sicherheitsrelevanten Anwendungen verbaut ? Airbus, Space Shuttle usw.
Oder welche Controller dürfen überaupt in Lebenserhaltenen Geräten verbaut werden. PICs jedenfass nicht, daß hab ich schriftlich bekommen von Microchip.

oberallgeier
02.03.2010, 19:09
... Welche Prozessoren bzw. Controller werden eigentlich in Sicherheitsrelevanten Anwendungen verbaut ? Airbus, Space Shuttle usw. ... Oder welche Controller dürfen überaupt in Lebenserhaltenen Geräten verbaut werden ...
[/size]mel im Doc zu m328P, 8161D–AV R–10/09, letzte Seite, Disclaimer: ...]... At mel products are not suitable for, and shall not be used in, automotive applications. At mel’s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life ...Wenn Du kein für Deine Wünsche/Anwendungen zugelassenes Bauteil bekommst (und es evtl. nirgendwo erhältlich ist - das gilt übrigens für die ganze produzierende Industrie), dann kannst Du Dir eigene Zulassungskriterien erstellen, eigene Tests formulieren und selbst testen. Dann machst Du die gesamte Qualitätssicherung selbst - und übernimmst natürlich die zugehörige Haftung. Klar, dass der Verwaltungsaufwand extrem steigt: Ursprungszeugnis, Chargennachweis, teilweise bauteil-individuelle Identifizierung und Nachverfolgbarkeit aller Vorgänge - es wird aufwändig. Dann kannst Du das auch für exotische Bereiche anwenden.

TheDarkRose
02.03.2010, 19:52
Also in unseren Bosch Motorsteuergeräten sind auch NXP Controller verbaut, aber welche weiß ich jetzt nicht.

Besserwessi
02.03.2010, 21:08
Dass im Weltraum oft ältere µCs benutzt werden, hat noch einen anderen Grund. Die etwas gröberen Struckturen sind nicht so empfindlich auf Strahlung. Die ganz kleine Struckturen können bei Strahlung schon mal falsch rechnen. So ganz alt sollten die auch nicht sein. SOI sollten die auch noch nutzen, und da ist die Auswahl dann recht gering.

Am schlimmsten sind ja die Fehler die man noch nicht kennt. Viele Fehler kann man ja in Software umgehen, man muß sie nur kennen.

oberallgeier
02.03.2010, 21:38
Es gibt noch einen nicht unbedeutenden Grund Modelländerungen zu vermeiden. Gerade bei Controllern und anderen flashbaren Bauteilen wird hin und wieder die Software im Endprodukt modernisiert (geupdatet). Da wäre es eher unschön, wenn man Bauteile mit und ohne fehlerhafte Reaktionen hätte. Immerhin könnte eine Softwareanpassung an eine Fehlreaktion OHNE Fehlreaktion auch schon wieder fehlerhaft sein. So etwas liesse sich natürlich mit einer Bauteil-ID abfangen . . . . Aber es müsste eben für jede kleine Korrektur bekannter Fehler IM Bauteil vermutlich eine angepasste Softwarevariante erstellt werden - und das verursacht mit Sicherheit einen Rattenschwanz von Kosten, möglicherweise auch zusätzliche Fehler.

Der Hinweis auf ältere Baumuster durch Richard und Besserwessi zeigt ja auch, dass für manche, insbesondere für hohe Anforderungen auf Alt - Bewährtes zurückgegriffen werden soll. Andernfalls macht man Fehler, die so um die Zeit "erste blaue LED im VW" gerade gross in Mode waren *ggg*.

Siro
03.03.2010, 10:17
Danke erst einmal für Eure Beteiligung:

zu Felx G:
Da stimme ich absolut zu, daß die meisten beschriebenen Fehler
a) irgendwie umgangen werden können und
b) in der eigenen Anwenung oft garnicht zum tragen kommen. Sieht oftmals schlimmer aus als es wirklich ist.
Beim PIC24 hatte der Uart auch 6 Einträge. Ich habe ihn ohne Umwege programmiert und er lief in meiner Anwendung völlig einwandfrei.

Da wir schon beim Thema welcher Controller für welche Anwendung gelandet sind, hab ich eine "Merkwürdigkeit" bei ATMEL gefunden:
Auf der Atmel Seite gibt es spezielle "Automotive Microcontrollers"
In den Datenblättern (in der Rubrik Disclaimer) steht, wie "Oberallgeier" schon schrieb:
Atmels products are not suitable for, and shall not be uses in, automotive applications. Atmels's products are not intended, authorized, or warranted for use as components in application intended to support or sustain life.
Ist das nicht ein Wiederspruch. ..
Ich habe mir mal von diversen Firmen den Haftungsausschluss angesehen.
Eigentlich haftet man wohl generell selbst, egal welchen Chip man einsetzt.
Speziell zugelassene für einen bestimmten Bereich, scheint es nicht wirklich zu geben.

021aet04
03.03.2010, 11:08
Ich vermute, dass der µC Hersteller deswegen in das DB schreibt, dass er keine Haftung übernimmt, weil man mit einem fehlerhaften Programm auch Schaden verursachen kann. Damit keine Schadensansprüche (durch eventuell fehlerhaftes Programm) entstehen, wird das in das DB geschrieben.

https://www.xing.com/net/qmsoftware/softwarefehler-kosten-geld-3079/10-der-bekanntesten-softwarefehler-6451995/25063858/

MfG Hannes

oberallgeier
03.03.2010, 11:49
... Speziell zugelassene für einen bestimmten Bereich, scheint es nicht wirklich zu geben ...NochnBeispiel: Es gab mal einen TexasInstruments Taschenrechner mit EX-Zulassung. Der gleiche Typ aus dem Shop von nebenan oder woher auch immer durfte aber de jure NICHT in EX-Zonen verwendet werden. Es war eine spezielle Zulassung (PTA oder so - keine Ahnung), mit einem Aufkleber versehen und vermutlich batch-gebunden und dementsprechend getestet - und natürlich mit einem Zertifikat.

Teilen wir die Dinge mal grob ein:
a) zugelassene Bauteile - z.B. mit PTB-, BGA-, FDA-, BG-, LBA- oder TÜV-Zulassung. Dazu gibts dann Papier(e) der entsprechenden Prüfstelle.
b) konforme Bauteile - sie sind nicht zugelassen, aber GENAU nach den Vorschriften der entsprechenden Stellen (ähnliche Liste wie oben) gebaut. So etwas wird vom Hersteller bestätigt und ist zulassungsmässig WENIGER wert (kostet auch viel weniger) als die Bauteile nach a).
c) "Normale" Ladenexemplare - sind die billigsten *ggg*

So, Beispiel. Wer jetzt eine verkehrssicherheitstechnisch relevante Anwendung mit einem XY-Controller macht, der spricht am besten mit "seinem" TÜV-Fuzzi. Wenn das richtig gemacht wird, bekommt man eine Einzelzulassung - oder mit entsprechenden Zusatzaktivitäten eine Bauartbescheinigung. Das ist in verschiedenen Industrien fast überall ähnlich.

Nochn Beispiel: ich habe O-Ringe. Einzeln abgepackt und mit einer Bauteilnummer versehen. Die Teile aus dem gleichen Werkstoff von der gleichen Firma als Massenware gibts für ein paar Zent. Der abgepackte kostet dann vielleicht 5 Euro. Aber den abgepackten darf ich auch in einer sicherheitsempfindlichen Chemieanlage oder in einer Bohrinsel einbauen. Und dort gibts dann ein dickes Buch, in dem genau dieser O-Ring-Typ mit genau dieser Zulassung an (einer) ganz bestimmten Stelle/n vorgeschrieben ist - und ein anderes dickes Buch, in dem der Einbau penibel notiert wird.

Siro
03.03.2010, 16:14
Hallo Oberallgeier,
ich dachte eben das sind Gehäusebauformen...
PTB-, BGA-, FDA-, BG-, LBA- usw.
aber Spaß beiseite, kenne ich wirklich nicht alle, muß ich zugeben.
Wir müssen unsere Geräte natürlich auch "Abnehmen" lassen beim TÜV
zudem haben wir ja ISO Zertifizierung. Und die Abnahme eines Gerätes wird ja als komplette Einheit angesehen. Wir müssen zudem sicherstellen, daß bei einem Ausfall eines Bauteils bzw. einem Softwarefehlers das Gerät in eine "Sicheren" Zustand geht. Also doppelte Sicherheit. So haben wir beispielsweise für die Drucküberwachung nicht nur 2 Druckmesskanäle sondern einen völlig separaten Analog aufgebauten Druckkanal mit einer Überdruckabschaltung, welcher der CPU übergeordnet ist. So kann die CPU ruhig ausfallen, ohne daß der Patient Schaden nimmt. Da dies auch entsprechend Dokumentiert und vom Tüv abgenommen ist, spielt der eventuell "defekte" Controller eigentlich keine Rolle mehr. Es interessiert den TÜV denke ich auch nicht, welche Bauteile wir verwenden. Unsere Lieferanten müssen meiner Meinung nach auch ISO zertifiziert sein, bin ich mir jetzt aber nicht sicher. Damit schließt sich eigentlich die Frage nach einwandfrei funktionierenden Bauteilen. Durch die Zertifizierung des gesamten Gerätes.
mfg Siro

TheDarkRose
03.03.2010, 21:11
Unsere Lieferanten müssen meiner Meinung nach auch ISO zertifiziert sein, bin ich mir jetzt aber nicht sicher. Damit schließt sich eigentlich die Frage nach einwandfrei funktionierenden Bauteilen. Durch die Zertifizierung des gesamten Gerätes.
mfg Siro
Also ich kenns so auch bei uns in der Firma. bei uns muss auch jeder Lieferant ISO zertifiziert sein. egal ob jz elektrische oder mechanische Bauteile geliefert werden.

oberallgeier
03.03.2010, 23:38
... Lieferanten ... ISO zertifiziert ... Damit ... einwandfrei funktionierenden Bauteilen ...Ja - so versuchen die Zertifizierungsgesellschaften es zu vermitteln. Das stimmt eindeutig NICHT! Die Odyssee ISO 9000 ist vorzugsweise dazu aufgebaut, die Planung und Durchführung der Herstellung einwandfrei und durchgängig zu dokumentieren. Das hat mit der korrekten oder gar hohen QUALITÄT der hergestellten Produkte GARNIX zu tun. Es ist einfach - Papierkram. Sehr vereinfacht ausgedrückt: wer pfuschen will, der kann pfuschen. Dann steht es allenfalls in den Papieren - wenn die korrekt ausgefüllt sind. Aber eben auch nicht immer. Ich habe schon sehr ernstzunehmende Leute darüber aufklären müssen, dass sie die Qualitätsvorschriften nur durch simple Fehlrechnungen einhalten.

Siro
04.03.2010, 10:08
Thema ISO: Da muss ich jetzt dem Herrn Oberallgeier zustimmen. Wenn ich pfuschen will, dann kann ich das tun, ich muss es nur dokumentieren.
Seit Einführung unserer ISO hat sich an unseren Geräten nichts geändert. Es gibt nur zusätzlich etliche Ordner voller Papier, welche mir
derart viel Zeit stehlen, daß ich mich kaum noch um die wirklich wichtigen Arbeiten kümmern kann. Ich darf doch heut kaum noch einen Widerstand
wechseln, wenn ich nicht genau belegen kann wo er hergekommen ist, oder dafür eine Ausfallstatistik erstellt habe.
Die ISO ist für mich eine absolute Gelschneiderei und macht viele kleine Firmen kaputt.
An unsere Gerätequalität hat sich dadurch absolut nichts geändert, eher im Gegenteil.
Diese verplemperte Zeit sollten wir lieber in Testphasen, Endtest usw. unserer Geräte investieren.
Das ist aber meine persönliche Meinung und gehört ja eigentlich nicht hier her.
Warum braucht man denn eine ISO, weil die anderen es auch haben...
Dazu habe ich auch ein schönes Beispiel: Ich setzte seit Jahren ein bestimmtes Bauteil ein, dieses ist in der gesamten Laufzeit nicht ein
einziges mal ausgefallen. Plötzlich haben wir etliche von Reparaturgeräten. Überall ist genau dieses spezielle Bauteil ausgefallen.
Nach etlichen Recherchen und Anfragen beim Hersteller, stellte sich heraus, daß wir vermutlich eine sogenante "Fakeware" auf unserer
Leiterplatte haben. Das kann ja eigentlich nicht sein, da wir die Leiterplatten bei einem zertifizierten Unternehmen bestücken lassen,
welche auch den Bauteileinkauf tätigen. Eine Nachfrage dort, ergab, daß dieses Bauteil schlecht verfügbar war und sie einen Broker damit
beauftragt haben es zu besorgen. Es konnte dadurch nicht mehr ermittelt werden, welchen Ursprung das Bauteil hatte. Alle Bauteile haben eine
eigene Chargennummer auf dem Chip und alle ausgefallenen Chips waren genau aus dieser Serie.
Also hat uns die ISO zertifizierte Bestückungsbude "schlechte" Ware aus nicht nachvollziehbarer Quelle bestückt.
Was hat also die ISO mit Qualität zu tun ??? N I C H T S
Siro