Hi alle zusammen, ich muss gerade eine Platine mit einem Xilinx Coolrunner CPLD aufbauen. Auf der Platine ist nicht viel drauf bis auf ein IC für Clock, DC DC Linearregler, Buchsen für Eingangs und Ausgangssignale die differentiell übertragen. Die Platine wird später als einschubkarte benutzt. Jetzt würde ich gerne eine Schaltung darauf Implementieren die die Hauptschaltung auf Kurzschluss und Funktion überprüft. Angezeigt sollte ein Fehler ueber eine LED. Leider fehlt mir hier die Erfahrung und wollte Fragen ob Ihr mir Tipps, Ideen, Anregung und eigene Erfahrung mitgeben könntet. Ist so etwas schwer in der Umsetzung? Vielen Dank schon einmal im Vorraus sawyer_ma
Sawyer Ma schrieb: > Ist so etwas schwer in der Umsetzung? In den meisten Fällen: ja Die Spannungen aus dem DC/DC Konverter zu überwachen geht ja noch (wobei sich natürlich die Frage stellt, wer versorgt eigentlich die Überwachungsschaltung mit Strom und wie wird sichergestellt, dass die nicht an Überspannung stirbt?). Aber Dinge wie intrnen Kurzschluss festzustellen ist gar nicht so einfach, weil du ja genau genommen die Leitungen auftrennen müsstest, um den Widerstand zu messen. Die korrekte Funktion zu überwachen ist auch nicht so simpel. Wie stellst du dir das vor, dass das gehen soll? Im Prinzip muss die Überwachungsschaltung eine Reihe von Testmustern auf die Eingänge legen und nachsehen, ob an den Ausgängen die erwarteten Ergebnisse rauskommen. Nur: dazu muss die Überwachungsschaltung die originalen Eingänge und Ausgänge abklemmen, damit eine anhängende Schaltung davon nichts mitkriegt und/oder stört. Was natürlich wieder nicht so simpel ist, denn eine anhängende Schaltung soll ja nicht einfach in der Luft hängen. Ganz abgesehen davon, dass jetzt plötzlich überall Umschalter in den Leitungen erforderlich sind. Alles was du mittels Spannungsmessungen rauskriegen kannst, geht einigermassen, weil man Spannungen ohne grossartige Beeinflussung der zu messenden Schaltung messen kann. Sobald aber eine Strommessung im Spiel ist, müsste man zb einen Shuntwiderstand in den Signalpfad einschleusen, der allerdings jetzt seinerseits unter Umständen wieder die originale Charakteristik verändert. Und dann stellt sich ja auch immer noch die Frage: Wer überwacht den Überwacher?
Karl Heinz schrieb: > Und dann stellt sich ja auch immer noch die Frage: Wer überwacht den > Überwacher? Naja, der User schaut auf die LED, und schon ist der Überwacher überwacht.
Schaltplanleser schrieb: > Karl Heinz schrieb: >> Und dann stellt sich ja auch immer noch die Frage: Wer überwacht den >> Überwacher? > > Naja, der User schaut auf die LED, und schon ist der Überwacher > überwacht. :) Und woher weisst du, dass das kein Fehlalarm ist?
Karl Heinz schrieb: > Und woher weisst du, dass das kein Fehlalarm ist? Weil die Überwachungsschaltung perfekt und fehlerfrei entwickelt worden ist ;-)
Ok ich verstehe, die Sache wird nicht einfach. Wie machen das die grossen Hersteller? MAchen die so etwas?
Kommt drauf an. Für Militär und vor allen Dingen Raumfahrt ist nichts zu teuer. 'nicht einfach' ist nett ausgedrückt. Das ganze kommt mir vor, wie in der Software. Solange man sich um Fehlererkennung und Behandlung drücken kann, sind viele Dinge ganz einfach. Komplex werden sie oft erst, wenn die beiden genannten Bedingungen auch noch berücksichtigt werden müssen.
Sawyer Ma schrieb: > Wie machen das die > grossen Hersteller? MAchen die so etwas? Bei Consumer-Produkten darf der user halt einmal in der woche den Stecker ziehen und wieder einstecken wenn sich der Kram aufhängt. Was wohl auch beliebt ist ein Watchdog-Timer. Der resettet dann wenn der µC hängt weil er irgendwo übergelaufen ist das Gerutsche und danach stellt sich wieder ein normaler Zustand ein. Das ist aber alles mehr Statistik als Sicherheit (wenn 10 von 1000 user ihr Geld zurückwollen ist das billiger als die zusätzliche sicherung).
Bei sicherheitsrelevanter Software werden die Schaltungen redundant aufgebaut. Es laufen dann zwei in hard- und software identische Mikrocontroller, die sich gegenseitig überwachen. Dabei werden z.B. Eingaben, Ausgaben und Checksummen von Register-/Speicherinhalten überprüft. Werden Fehler festgestellt wird das System in einen sicheren Zustand gefahren. Wie der aussieht muss aber je nach Anwendung neu definiert werden.
Man kann im CPLD natürlich ein Testdesign reinladen das Pegel auf Leitungen legt und diese Pegel zurücklist um auf Schlüsse zu GND und VCC zu Prüfen. Man kann auch auf Schlüsse zwischen benachbarten Leitungen Prüfen. Wenn an beiden Enden eine Testsoftware bz. Design draufgeladen werden kann, dan kann auch auf leitungsunterbrechungen getstet werden. Beim Netzteil wird das schon schwieriger weil Analog und man man müßte ja noch ein 2. Netzteil für die Prüfschaltung haben usw. Auch Impedanzmessung von Leitungen usw. ist nicht so einfach möglich.
@ Sawyer Ma (sawyer_ma) >Ok ich verstehe, die Sache wird nicht einfach. Wie machen das die >grossen Hersteller? MAchen die so etwas? Nicht alles kann man sinnvoll mit einem internen Selbsttest erschlagen. Bei deiner Platine bietet sich eine einfache Prüfschaltung an. Signal einspeisen und die Ausgänge mit einem Oszi ansehen. Die Spannungen misst man manuell mit einem Multimeter. Das ist ein einfacher Funktionstest am Ende der Produktion. Bei der einfachen Schaltung ist es sehr unwahrscheinlich, dass sie im Laufe des Lebens kaputt geht. Und wenn doch, wird es der Anwender merken, auch ohne Selbsttest und Selbstüberwachung. Und selbst die besten Tests der Profis erreichen selten eine 100% Testabdeckung. Die Qualität muss auch durch andere Maßnahmen sichergestellt werden.
Teste doch nicht auf Schlüsse und Anderes, sondern wie ich es oben schrieb einfach auf korrekter Funktion mit einer redundant aufgebauter Schaltung. Deren Teile sich gegenseitig überwachen. Ergeben sich Unterschiede liegt ein Fehler vor, der signalisiert bzw. behandelt werden kann. Die Fehlerursache ist im ersten Moment dabei uninteressant, diese wird später durch einen Servicemonteuer beseitigt. Wichtig ist nur, das das System durch Defekte keinen Schaden anrichtet.
Das ist übrigens genau der Weg den grosse Hersteller, aufgrund der zugrundeliegenden Normen, ab Softwaresicherheitslevel SIL3 gehen müssen.
@ Decius (Gast) >Das ist übrigens genau der Weg den grosse Hersteller, aufgrund der >zugrundeliegenden Normen, ab Softwaresicherheitslevel SIL3 gehen müssen. Ja EBEN! Aber die gilt garantiert nicht für einfache Schaltungen wie die des OP! OVERENGINEERING! https://de.wikipedia.org/wiki/Overengineering
@Falk > Ok ich verstehe, die Sache wird nicht einfach. Wie machen das die > grossen Hersteller? MAchen die so etwas? Nun der Threaderöffner hat gefragt wie die grossen Hersteller das machen. Mein letzter Post war die Antwort. Natürlich muss man nicht alle Aspekte umsetzen, wenn man nicht zwingend an die Normen gebunden ist, eben nur das was einem dann als sinnvoll erscheint. Auf alle Fälle kann man den ganzen Papierkrieg auf eine Minimum reduzieren. Aber so ungefähr in diese Richtung zu gehen, würde ich schon in Betracht ziehen. Immerhin sind das erprobte Verfahren.
Kommt eben einfach auf die gestellte Aufgabe an. Unter Umständen würde ja schon einfach die Anwendung einer statischen Codeanalyse und die Erstellung einer vernüftigen Dokumentation reichen. Ich glaube es wurde schon oben darauf hingewiesen. Auch eine Überwachungsschaltung kann defekt sein. Defekte allegemein treten bei komplexeren Schaltungen häufiger auf. Ist also wie so oft in der Technik die Suche nach dem sinnvollen Kompromis.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.