Hallo erstma!
Momentan programmiere ich im Rahmen meiner Bachelorartbeit einen Msp430.
Am Ende soll damit ein verkaufsfähiges Produkt entstehen.
Natürlich muss ich dafür wohl auch nen EMV Test machen. Das Gerät soll
USB powered sein. Das ist wohl erstmal gut weil keine hohen Ströme
fließen. Da ja der MSP430 mit 3,2V auskommt wollte ich das nutzen und
durch einen Step Down Konverter ein bisschen mehr Power zur verfügung
haben(jetzt nich meckern klar! hab ich nich mehr power kann die
Vorhandene aber besser nutzen denke ich mal da ich ja statt 500mA mit ca
700mA rechnen kann werd die aber eh nich ganz ausnutzen). Welchen
Konverter ich da nutze weiss ich noch nich so genau aber es gibt ja
genug zur Auswahl (Vielleicht habt ihr ja ne Empfehlung).
Was mir aber mehr Bauchschmerzen macht ist halt dieser EMV Test und
Besonders der Burst Test. Nach der Definition muss das Gerät während des
Tests ja nich einwandfrei Funktionieren. Danach soll es aber wieder in
die Aktuelle Position zurückkehren. Also keine gespeicherten Werte
verlieren die während des Betriebs gespeichert wurden.
Dafür dachte ich nehm ich den Flash dann her also wenn der User ne
Einstellung ändert wird die im Flash gespeichert.
Was aber eher ein Problem ist was ist mit Program internen Daten, die
ich ja nich im Flash speichern kann wegen Geschwindigkeit und den max
100000 zugriffen. Ich Arbeite mit mehreren Übertragungs Protokollen
Arbeite u.a. Midi und Spi.
Das problem bei Midi ist das es mindestens mit 3 aufeindarefolgenden
Bytes arbeitet, da ich aber nach jedem Empfangs bzw Sende Vorgang den
Interrupt verlasse um Zeit für andere Sachen zu haben arbeite ich mit
Cases. Dies tu ich auch in vielen anderen Fällen. Wenn ich nun davon
Ausgehen soll das mein Programm jederzeit gestört werden kann, kann es
natürlich auch zum Verlust des aktuellen Cases kommen.
Wär es vielleicht hier mal ne Sinnvolle Anwendung für den
Watchdogtimer...
(hab denn bisher in allen früheren Anwendungen immer sofort ausgemacht)
damit ich wieder in nen definierten Zustand komme wenn die Zustände
nicht in in einer definierten Reihenfolge ablaufen.
Leider kann ich meinen Programmcode aus rechtlichen Gründen nicht Posten
ich würde mich aber total freuen wenn mir jemand vielleicht allgemeine
Hinweise geben könnte um mein Gerät stabiler zu machen.
liebe Grüße und nen schönes WE
Flo
Die Daten die waehrend der Stoerung im uC RAM liegen sind dann eh weg
bzw. nicht in Korrekt.
Du must nur dafuer sorgen das der uC nach einer Stoerung wieder
kontrolliert anlaeuft. Und das kannst du mit dem Watchdog erreichen. Das
die letzte Messung dann nicht OK ist muss halt in kauf genommen werden.
Ich habe selber mit dem MSP430 eine Messbox entwickelt wo die
Anforderungen noch viel hoeher lagen (400kV Hochspannungsueberschlag in
ca. 5m Entfernung) und habe die Tests bestanden.
Aber kann ich denn davon ausgehen, dass der sich irgendwo aufhängt und
den Timer nich zurücksetzt oder sollte man in allen Zustandsketten
abfragen ob die auch korrekt abgearbeitet wurden.
kann ich da irgendwie Schaltungstechnisch noch was machen
Der EMV Test ist nicht so schwierig wenn man sich an ein paar Regeln
haelt.
1) Leiterplatte mit GND Plane, 4 Lagig ist noch besser
2) Bei 2 lagiger Leiterplatte oben und unten mit GND fuellen und mit
einer grosszuegigen anzahl Vias verbinden.
3) Industriegeraete im Metallgehaeuse. Das Metallgehaeuse liegt auf
Erde. Die Leiterplatte kann auf Erde liegen, oder auf GND. Falls GND
ungleich Erde, muessen beide mit hinreichend mit Keramikkondensatoren
verbunden sein.
4) Alle DC kabel, die die Leiterplatte verlassen mit 100nF gegen GND
oder ERDE abblocken, und zwar direkt am Stecker. 1 Zoll Draht, oder
Leiterbahn ist schon eine gute Antenne fuer Signale oberhalb 1GHz. Die
EMV Richtlinie geht bis 3GHz. Irgendwelche RF, die auf das Kabel
einkoppelt sieht so einen Kurzschluss.
5) Alle Signalkabel, mit Signalen langsamer 100kHz, werden mit 1nF gegen
GND resp ERDE geblockt. Irgendwelche RF, die auf das Kabel einkoppelt
sieht so einen Kurzschluss.
6) Netz sollte man vermeiden. Da gelten strengere Anforderungen. Also
lieber ein externes 5Voder 12V Netzteil.
Abweichungen sind moeglich, wenn man genau weiss was mach macht und
weshalb. Medizingeraete gehoeren zu den Ausnahmen.
Flo schrieb:> Aber kann ich denn davon ausgehen, dass der sich irgendwo aufhängt und> den Timer nich zurücksetzt oder sollte man in allen Zustandsketten> abfragen ob die auch korrekt abgearbeitet wurden.
Wenn du den WD nicht bedienst wird der nach einiger Zeit zubeissen und
den uC wieder auf den Boden der Tatsachen zurueck holen.
Zur weiteren Sicherheit kannst du ja Plausibilaeteskontrollen einbauen
ob die Ergebnisse im korrekten Bereich liegen.
>kann ich da irgendwie Schaltungstechnisch noch was machen
Du kannst in den Zuleitungen Filter einbauen. (EMV , Burst , Surge etc.)
Gemaess der Regel "Nur so schnell schalten wie noetig nicht so schnell
wie moeglich"
Super dankeschön,
Werd das dann schonmal im Hardware design beherzigen.
@Pico Oschi ist sowieso vom USB gepowered deshalb brauch ich mir darum
keine sorgen machen wegen Netzteil
Am Ende muss man halt die Daumen drücken denke ich mal. Das gute ist ds
wir an der Uni ne EMV Kammer haben und ich den Test zur Not ein paar mal
machen kann.
Die Vorstellung macht einem halt nur Bauchschmerzen das der Fehler immer
und überall im Programm eintreten kann.
>Am Ende muss man halt die Daumen drücken denke ich mal. Das gute ist ds
wir an der Uni ne EMV Kammer haben und ich den Test zur Not ein paar mal
machen kann.
.. vielleicht ein Opferhuhn, oder ein Opferlamm, oder eine kleine Spende
...
Nee. EMV macht man in erster Linie mit der Hardware. Watchdog und
Softwaremassnahmen sind Symptombekaempfung. Wenn man allerdings ein LCD
dabei hat, hat man schon mal schlechtere Karten, denn man hat eine
hinreichen grosse Oeffnung im Gehauese, um 1-3GHz eine Ausbreitung zu
ermoeglichen. Dann muss man's auch mit der Software machen. zB muss man
das LCD periodisch neu initialisieren, und periodisch neu beschreiben.
@Pico Oschi
in die ganze Opfergeschichte muss ich mich noch einlesen ;)
ne aber im ernst hier das war der grund meiner Verunsicherung
http://www.nkl-emv.de/downloads/seminar2.pdf
Seite 43 bzw 3 in dem Dokument
"Als übergeordnete Regel gilt aber immer, daß das Gerät keinen
unsicheren oder
gefährlichen Zustand annehmen darf ! Deshalb sollten Geräte, von denen
ein Gefährdung im
sicherheitstechnischen Sinne ausgehen könnte, immer so konstruiert sein,
daß auch bei einer
Fehlfunktion der Elektronik durch andere Maßnahmen (Schmelz- oder
Thermo- sicherungen,
mechanische Endschalter etc.) eine Gefährdung ausgeschlossen ist.
Dies bedeutet in der Praxis, daß hauptsächlich digital gesteuerte
(Mikroprozessor) Geräte bei
dieser Prüfung Probleme bereiten können. Ein rein analoges Gerät, z. B.
ein Differenzspannungsverstärker
für Temperatur-Sensoren, wird zwar während der Prüfung vorübergehend
einen falschen Meßwert ausgeben, aber nach Abschalten der Störimpulse
wieder in den
normalen Betriebszustand zurückgehen, sofern keine dauerhafte
Beschädigung der Elektronik
eingetreten ist. Diese muß natürlich auf jeden Fall verhindert werden."
Pico Oschi schrieb:> Nee. EMV macht man in erster Linie mit der Hardware. Watchdog und> Softwaremassnahmen sind Symptombekaempfung.
I/Os die nicht auf einem festen Potential liegen...oder nur mit (zu)
schwachen internen Pull-Ups/Downs gehalten werden...
Watchdog: Hier z.B. USB + ESD-Schutz + gutes Layout heißt noch lange
nicht, dass der Controller mit dem was danach noch angekommt auch
"umgehen" kann.
Oder was passiert bei einem Fehler in einem ext. Bauteil wenn bspw. mit
while (irgendwas) { } auf etwas gewartet wird ohne z.B. einen Zähler in
der Schleife runterzuzählen.
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.