Forum: Mikrocontroller und Digitale Elektronik Selbstüberprüfende, digitale Kanäle


von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Hi,

Ich versuche mit Digitallogik zweikanalig Signale zu überprüfen, so dass 
beide Kanäle das gleiche ausspucken. Ich habe im Anhang mal eine Idee 
simuliert, so dass über XOR ein Feedback Pfad entsteht, der die AND 
abschaltet. Es wird also erkannt, wenn die Kanäle nicht das gleiche 
ausspucken, aber es wird nicht erkannt, wenn z.B ein XOR durchschlägt 
und immer HIGH ausgibt.

So kann ich grundsätzlich nie überwachen, ob das letzte Logikgatter vom 
Feedback durchgeschlagen ist, also müssen die Feedback Kanäle immer 
unterschiedliche Pegel haben, damit ich das erkennen kann. Also habe ich 
mal ein NOR für einen Pfad genommen, so dass ein Pfad LOW braucht, 
während der andere HIGH. Die Simulation macht mir hier Probleme, 
wahrscheinlich sind die Timings so, dass das ganze zu schwingen beginnt. 
Hier wird aber grundsätzlich ein Durchschlagen der Versorgung erkannt, 
aber nicht ein Kurzschluss nach GND nach den Inverter A7/bzw. A8.

Jemand eine Idee, wie man das Problem noch anders angehen könnte?

von Peter D. (peda)


Lesenswert?

Erstell doch erstmal eine Wahrheitstabelle dafür.

von Bert S. (kautschuck)


Lesenswert?

Die Logik ist nur ein AND von Ausgang (Signale wo rechts weggehen) zu 
Feedback (Auf dem ersten Bild der Feedback Pfad in die AND Gates).
1
OUT1 OUT2 OUT1FB OUT2FB
2
0    0    0      0
3
0    1    0      0
4
1    0    0      0
5
1    1    1      1
Die Signale SIG1 und SIG2 sind grundsätzlich mal egal für die Kanäle, es 
geht nur um die Überprüfung der Kanäle, also dass beide Ausgänge das 
gleiche liefern und beide Feedback Kanäle gleich sind. Die XOR 
übernehmen die Überprüfung der Ausgänge OUT1 und OUT2, aber ich kann die 
OUT1FB und OUT2FB Signale nicht überprüfen, ohne in eine Loop zu fallen 
(braucht wieder ein XOR, und das neue XOR wieder ein XOR etc.)

: Bearbeitet durch Moderator
von Tim (timgabinski)


Lesenswert?

Verstehe ich nicht. Die Wahrheitstabelle vom XOR ist

A   B    out
0   0    1
0   1    0
1   0    0
1   1    1

Damit kann man doch prima prüfen, ob beide Kanäle das gleiche Signal 
ausgeben. Irgendwas an Deiner Frage habe ich nicht verstanden.

von Rainer W. (rawi)


Lesenswert?

Bert S. schrieb:
> Jemand eine Idee, wie man das Problem noch anders angehen könnte?

Falls du das Ausgangssignale digital auswerten willst, musst du dir noch 
Gedanken über Gatterlaufzeiten und Glitches machen. (z.B. synchrone 
Logik)

von Bert S. (kautschuck)


Lesenswert?

Tim schrieb:
> Verstehe ich nicht. Die Wahrheitstabelle vom XOR ist
>
> A   B    out
> 0   0    1
> 0   1    0
> 1   0    0
> 1   1    1
>
> Damit kann man doch prima prüfen, ob beide Kanäle das gleiche Signal
> ausgeben. Irgendwas an Deiner Frage habe ich nicht verstanden.

Sorry für die Verwirrung. Also die Ausgangssignale müssen gleich sein. 
Somit ist OUT1 und OUT2 XNOR verknüpft.

Mit der obigen Warheitstabelle wollte ich nur zeigen, wie mein Feedback 
sein muss aufgrund der Ausgänge OUT1 und OUT2. Grundsätzlich muss OUT1FB 
und OUT2FB auch gleich sein (XNOR), so dass der FB-Pfad (welcher ja die 
Diagnose bildet) auch eine Diagnose hat und somit steckt man in einer 
Loop fest.

Rainer W. schrieb:
> Gedanken über Gatterlaufzeiten und Glitches machen

Genau, das ist das nächste Problem

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


Lesenswert?

Bert S. schrieb:
> so dass beide Kanäle das gleiche ausspucken.
Bert S. schrieb:
> die Ausgangssignale müssen gleich sein.
Das hört sich für mich so an:
1
                     .------------- Ausgang 1
2
                     |
3
Eingang -------------o
4
                     |
5
                     '------------- Ausgang 2
Denn wenn du da mehrere Eingänge hast (bei dir wohl diese SIGx), welcher 
soll dann gewinnen, wenn der andere ungleich ist?

Was fehlt ist also einfach eine Logiktabelle für SIG1, SIG1 und dem 
einen einzigen, immer gleichen Ausgangssignal:
1
          ____       .----------- Ausgang 1
2
SIG1 ----|    |      |
3
         |  ? |------o
4
SIG2 ----|____|      |
5
                     '----------- Ausgang 2

Kann natürlich auch sein, dass ich das Problem falsch verstanden habe. 
Aber dann bin ich mir sicher, dass es nicht daran liegt, dass ich 
Dinge schlecht verstehe, sondern daran, dass die Erklärung nicht 
schlüssig oder die Spezifikation unvollständig ist.

: Bearbeitet durch Moderator
von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Absolut, meine Erklärung war verwirrend und enthielt zu wenig Infos. Im 
Anhang habe ich mal grafisch dargestellt, was ich eigentlich will.

Im Endeffekt will ich die Signale SIG1 und SIG2 auf Gleichheit prüfen 
und zusätzlich die Ausgänge überwachen. OUT1 und OUT2 müssen ebenfalls 
immer gleich sein sonst soll die Logik abschalten und latchen, bis von 
außen wieder ein Trigger kommt. Der Latching Mechanismus geschieht über 
einen Monostabilen Multivibrator auf sinkende Flanke.

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


Lesenswert?

Die Forderug mit "Jeder interne Kurzschlus..." kann prizipiell nicht 
erfüllt werden, denn was, wenn der OUT1 selber (oder einer, der in der 
Logik den OUT1 ansteuert) einen Kurzschluss nach Vcc hat? Dann kannst du 
ihn niemals auf GND legen.

: Bearbeitet durch Moderator
von Bert S. (kautschuck)


Lesenswert?

Lothar M. schrieb:
> Die Forderug mit "Jeder interne Kurzschlus..." kann prizipiell nicht
> erfüllt werden, denn was, wenn der OUT1 selber (oder einer, der in der
> Logik den OUT1 ansteuert) einen Kurzschluss nach Vcc hat? Dann kannst du
> ihn niemals auf GND legen.

True that, in diesem speziellen Fall müsste zumindest OUT2 auf LOW 
gehen.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Am Ende kommt dann etwas raus wie die neuen Automatiktüren der DB.
So vollgestopft mit sich gegenseitig überwachenden Sensoren, 
Schutzschaltungen, Verriegelungen und allem an Hirndedöhns was sich ein 
frischer Absolvent auf Ritalin gerade noch so ausdenken kann, das pro 
100km Fahrt 12 behebbare Türstörungen, 10 willenlos hin und 
herschlackernde Türen und 3 Zugausfälle wegen Türstörung zusammenkommen.

Aber immerhin, auch ein körperbehinderter, Blinder, Bodybuilder mit 
suizidalen Tendenzen kann nicht bei Tempo 30 aus dem Zug fallen oder 
eingequetscht werden.
Im wesentlichen weil er sich ein zuverlässigers Transportmittel sucht 
weil er das warten am Bahnsteig leid ist.

Früher:
Druckluft auf die Türzylinder und wer meinte noch eben reinspringen zu 
müssen macht bekanntschaft mit der Gummilippe.
Türstörungen auf 100.000 KM: Null!

Fazit:
Bau es robust, nicht eine überwachte sich selbst überwachende 
Selbstüberwachung mit überwachter Überwachungsüberwachung.

von Rolf (rolf22)


Lesenswert?

Bert S. schrieb:
> meine Erklärung war verwirrend und enthielt zu wenig Infos.

Das ist ein Euphemismus. ;-)

> Im Endeffekt will ich die Signale SIG1 und SIG2 auf Gleichheit prüfen

Uihh. Beide werden im ersten Bild gleich am Anfang UND-verknüpft. Also 
kann man hinterher nichts mehr auf Gleichheit prüfen, da bleibt nur noch 
die Unterscheidung zwischen zwei Fällen: entweder gilt S1=S2=1 oder eben 
nicht. Aber auch im zweiten Fall können ja beide gleich sein, nämlich 
S1=S2=0. Also kann man gar nicht mehr unterscheiden, ob S1 und S2 gleich 
sind oder nicht.

Ersetz für uns mal in der folgenden Wahrheitstabelle die Fragezeichen 
mit den von dir gewünschten Werten. Dann ist vielleicht erkennbar, was 
dein Text sagen will.

S1   S2   Out1     Out2
0     0     ?        ?
0     1     ?        ?
1     0     ?        ?
1     1     ?        ?

Davon abgesehen: Du möchtest eine Schaltung, die fehlerhafte 
Eingangssignale erkennt UND es außerdem erkennt, wenn diese Schaltung 
selbst fehlerhaft arbeitet? DAS geht mit einem Ansatz wie deinem 
prinzipiell nicht, egal wie raffiniert die Schaltung ist. Eine 
Überwachung, die ins Eigentliche reingemischt ist, kann das nicht 
leisten. Du brauchst mindestens drei voneinander völlig unabhängige(!) 
Kanäle und einen nachgeschalteten hoch-zuverlässigen Voter.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Bert S. schrieb:
> Im
> Anhang habe ich mal grafisch dargestellt, was ich eigentlich will.

Das ist dann ein AND aller 4 Eingänge:
OUT2 = OUT1 = SIG1_1 & SIG2_1 & SIG1_2 & SIG2_2
1
S1_1   S2_1   S1_2   S2_2   Out1     Out2
2
1      1      1      1      1        1
3
0      x      x      x      0        0
4
x      0      x      x      0        0
5
x      x      0      x      0        0
6
x      x      x      0      0        0

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


Lesenswert?

Bert S. schrieb:
> True that, in diesem speziellen Fall müsste zumindest OUT2 auf LOW gehen.
Wenn der Treiber von Out2 kaputt ist, dann geht Out2 niemals ohne 
zusätzlichen externen Kurzschluss von aussen auf Low.

Mir scheint, du willst da irgendwie "Sicherheit" in dein System bringen. 
Wenn das um "Sicherheit" geht, mit der Personenschäden oder Todesfälle 
verhindert werden sollen, dann musst du dich vorweg ausgiebig mit 
"funktionaler Sicherheit" und der "Maschinenrichtlinie" und den 
"Sicherheitsanforderungsstufen" auseinandersetzen:
- https://www.google.com/search?q=funktionale+Sicherheit
- https://www.google.com/search?q=Maschinenrichtlinie
- https://www.google.com/search?q=SIL+Sicherheit

Danach kaufst du dir einfach eine Sicherheits-SPS und lässt die die 
Ausgänge verwalten.

: Bearbeitet durch Moderator
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.