EMV-stabile Software?

OP #3350538
Lesenswert?

Hallo Leute,

eine Software die ich geschrieben habe läuft bei der EMV-Prüfung nicht 
immer optimal. Oft bleibt der Prozessor zum Beispiel hängen und es geht 
nichts mehr oder das Display zeigt wirres Zeug an. Daher wollte ich mich 
mal erkundigen ob es auch Software seitig Möglichkeiten zur 
Stabilisierung des Programmablaufs gibt. Ich bin offen für alles was 
euch einfällt. Vielen Dank.

Mit freundlichen Grüßen

Lukas
Gast #3350544
Lesenswert?

Es gibt keine EMV stabile Software, denn bei einem schlechten HW Design 
wird es unweigerlich zu unerwünschten Zuständen kommen. Man kann nur die 
Wahrscheinlichkeit minimieren, dass dies passiert.
Gast #3350546
Lesenswert?

Vermutlich ist es eher ein HW Problem.
Es gibt aber durchaus auch softwareseitig Dinge, die man tun kann.
Stichworte: einstellbare Flankensteilheit z.B. oder bei gößeren 
Controllern (STM32) die einstellbare Taktfrequenz mancher Ausgänge, oder 
keine floatenden Eingänge (z.B. interne PullUps per Software 
aktivieren).
Watchdog aktivieren... ist aber ein weitläufiges Thema.
Gast #3350550
Lesenswert?

Lukas D. schrieb:
> Daher wollte ich mich
> mal erkundigen ob es auch Software seitig Möglichkeiten zur
> Stabilisierung des Programmablaufs gibt.

Für die EMV-Festigkeit trägt die Software eine ähnlich große 
Verantwortung wie die Hardware. Es gibt sehr viele Möglichkeiten die 
Software stabiler zumachen:
- keine undefinierten Werte in Variablen
- eingelesene Werte mehrfach einlesen und vergleichen
- Werte im EEPROM dreifach ablegen und Werte im Programmablauf damit 
permanent aktualisieren
- am Ende ungenutzter Bereiche im ROM sinnvolle Sprungbefehle setzen
- Daten zur Anzeige auf Displays, LEDs usw. ständig neu senden
- Hauptprogramm als Schleife laufen lassen
- Timeouts einbauen

... und so weiter und so fort.
#3350565
Lesenswert?

Das wichtigste ist aber, erst mal die Hardware EMV-gerecht zu machen. 
Ein µC der ständig abstürzt (bei korrektem Programm) ist eindeutig ein 
Hardware-Problem.
Das macht ja auch keinen Sinn, wenn der µC alle paar Minuten per 
Watchdog rebooten muss und man softwaremässig eine Menge Aufwand in 
Wiederaufsetzstrategien steckt, um das Programm an der Stelle weiter 
machen zu lassen, wo der µC abgestürzt ist.
#3350594
Lesenswert?

Man kann in der SW ne ganze Menge tun für die EMV, z.B.:

Die SW muß alle Signale auf Plausibilität prüfen (Dauer, Pegel, 
Verlauf).
Sie darf an keiner Stelle blockieren können.
Ist auf etwas zu warten, muß entweder ein Timeout gestartet werden oder 
das Warten nebenläufig erfolgen.

Ein Displayabsturz kann HW- oder SW-Ursachen haben. Das sollte man 
abklären und nicht einfach zyklisch neu initialisieren.

Der Watchdog hilft in keinster Weise bei Schlamperei in der HW- oder 
SW-Entwicklung. Er ist während der Entwicklungs- und Testphase 
grundsätzlich zu deaktivieren.
Gast #3350716
Lesenswert?

LCD sind ein Problem, denn die kann man nicht schirmen. Dort muss man 
periodisch alles refreshen. Ich schreibe zB immer alles neu. Der 
Bildschirm inhalt ist im RAM, wird dort immer neu erzeugt, und wird 
periodisch mit dem Timer auf das LCD gespuelt. Wenn man moechte kann man 
auch periodisch einen Reset des LCD durchfuehren.
(Firma: fritzler-avr.de) #3350768
Lesenswert?

Sowas ähnliches hatte ich auch mal.
Bei meiner Kaffeemaschiene schalte ich die Komponenten mit 
überdimensionierten Schützen für den gewissen RUMMS.

Nur hatte sich der Prozessor ab und zu aufgehangen wenn ein Schütz 
schaltete.
Langes hin und her ergab, dass sich der AVR immer beim Busyflag auslesen 
erhängt hat.
Ein Ferrit im Displayflachkabel löste das Problem auch nicht.
Das Display noch weiter weg von den Schützen positionieren war auch nich 
möglich.
Also Display ohne Busyflag und mit delays angesteuert und es wird 
periodisch neu initialisiert und neubeschrieben.

Das Display hängte sich bei mir als auf und gab kein Busyflag mehr 
aus...
Gast #3350778
Lesenswert?

Eigentlich braucht man stabile Hardware und Deine gewünschte SW ist nur 
eine Art der Lebensversicherung falls doch mal was schief geht. Dann 
reicht es aber nicht das Display mit neuen Fehlern zu beliefern, sondern 
das System sollte ein Log führen warum der Fehler entstand, damit man 
später Hinweise zu deren Beseitigung hat. z.B. falscher Wert am Eingang 
...
#3350825
Lesenswert?

Hi,

bei WELCHEM Test der EMV-Prüfung tritt der Ausfall auf?
Störaussendung oder Störbeaufschlagung?
Ich gehe mal davon aus das das bei Störbeaufschlagung passiert. Jetzt 
wär dann noch die Feldstärke und Frequenz interessant bei/(ab wann) der 
Fehler auftritt.

lg.
#3351007
Lesenswert?

Dann würde ich mir ganz Klar mal die Spannungsversorgung und die 
Kabelverlegung anschauen. Am Besten das Netzkabel weit weg von allem 
idealerweise nur vom Stecker zu einem Line Filter und dann so kurz wie 
möglich ins Netzteil. Wenn du einen Kabelbaum im Gerät hast, worin das 
Netzkabel und irgendein Signalkabel eine gewisse Zeit zusammen ist musst 
du dich nicht wundern.
Es kann aber auch sein, daß sas NT selbst aufgibt: dann musst du 
entweder ein anderes nehmen oder mit geeigneten Maßnahmen deine 
Spannungsversorgung Puffern, damit sie kurze Ausfälle übersteht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren