www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90USB162 USB-Verbindung nach Absturz neu initialisieren


Autor: Jens Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe folgendes Problem mit unserem AT90USB162 Controller:

An der Steckdosenleiste, an der der PC angeschlossen ist, ist ebenfalls 
ein Kompressor eingesteckt. Wenn sich dieser ausschaltet, stört er 
rückwärts die Netzsspannung so sehr, dass sich der USB-Controller 
aufhängt. Die Störung schlägt also durch das PC-Netzteil durch. PC und 
Kompressor sind beide neu.
Der Controller hat auch direkt überhaupt nichts mit dem Kompressor zu 
tun.

Natürlich kann man jetzt einfach sagen, der Kompressor darf das Netz 
nicht in dieser Weise stören, er tut es aber. Eine weitere Abhilfe wäre 
auch, den Kompressor in einer anderen Steckdose einzustecken, was aber 
auch nicht immer ganz einfach ist.

Nun also meine Frage an die USB-Spezialisten:
Wie kann ich den USB-Controller neu starten, bzw. auf welches Ereignis 
hin? Das wie ist hier nicht die Schwierigkeit, sondern zu erkennen, dass 
die Verbindung zum PC nicht mehr in Ordnung ist.
Gibt es irgend welche USB-Flags die ich abfragen kann?
Gibt es einen anderen Trick, wie ich von der Controller Seite aus 
erkennen kann, dass die Verbindung zum PC nicht mehr in Ordnung ist?

Vielen Dank schon mal für eure Hilfe!

Gruß

Jens Müller

Autor: Jens Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo USB-Spezialisten,

hat denn wirklich keiner eine Idee?

Gruß

Jens

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aldi hat gerade eine Steckdosenleiste mit Netzfilter im Angebot...

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema USB:
Der USB-Controller sollte beim Reset die Beine so vom Bus nehmen und 
wieder drantun, dass der PC "denkt", es sei ein neues Gerät eingesteckt 
worden.

Autor: Jens Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

auch wenn es sich zugegebenermaßen nach einem Bastler Problem anhört, es 
ist keins. So ist halt die Praxis und Geräte werden nun mal so verkauft, 
trotz CE und was auch immer, und dann muss man sich als Entwickler eben 
was einfallen lassen.

Natürlich ist der richtige Weg, die Störung zu beseitigen. Was ich suche 
ist aber ein Workarround um schnell reagieren zu können. Alles Andere 
dauert nun mal länger.

Sollte sich die USB-Verbindung tatsächlich nur durch aus- und wieder 
einstecken retten lassen, muss ich halt erst mal damit leben.
Deshalb meine Frage an die USB-Spezialisten, ob es eine andere Lösung 
gibt.

Gruß

Jens

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst den PC dazu bringen, die Kommunikation mit dem USB-Device 
wieder aufzubauen.
USB ist ein Polling-Bus...

Autor: Jens Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vom PC aus habe ich es probiert. Es geht leider nicht.
Vom PC aus sieht die Verbindung in Ordnung aus. Der Com-Port ist 
geöffnet und lässt sich auch ansprechen. Der Atmel antwortet in diesem 
Zustand leider nicht mehr.
Deshalb auch mein Frage, was man ggf. vom Controller aus machen kann. 
Kann der Controller feststellen, dass die Verbindung nicht mehr in 
Ordnung ist?

Gruß

Jens

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bekommst du noch SOF-Pakete?
Wenn sich für >= 3ms nichts auf der Leitung tut, sollte auch der 
USB-Suspend Interrupt ausgelöst werden.
Ich kenne die CDC-Spezifikation nicht, aber eventuell gibt es auch hier 
eine Möglichkeit einen Verbindungsabbruch zu erkennen (Z.B. Daten von 
Interrupt-EP werden nicht mehr abgeholt).

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also am USB liegts ja nun wirklich nicht. Wenn ich bei einer 
uC-Schaltung was gegen Störungen machen muss, dann nehm ich meist so ein 
zwei Kondensatoren und gut isses. Vielleicht hilft das ja auch bei 
Deinem Kompressor?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Deshalb auch mein Frage, was man ggf. vom Controller aus machen kann.
>Kann der Controller feststellen, dass die Verbindung nicht mehr in
>Ordnung ist?

Wer er sich aufgehängt hat kann er nichts mehr feststellen.
Für diesen Fall wurde der Watchdog erfunden.

Autor: Wayne Monga (vibra)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

von MS gibst dazu ein Prg. nennt sich DEVCON

Using DevCon, you can enable, disable, restart, update, remove, and 
query individual devices or groups of devices.

http://support.microsoft.com/kb/311272/EN-US/

vielleicht hilft es

mfg

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Controller-Firmware könnte ein Watchdog implementiert werden. 
Wird der nicht bedient, gibts einen Reset.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank erst mal für die Antworten.

An den Watchdog habe ich auch schon gedacht. Dieser hilft aber nur dann, 
wenn sich wirklich der Controller aufgehängt hat und nicht nur die 
Schnittstelle. Das bin ich gerade am prüfen.

Den Watchdog werde ich auf jeden Fall implementieren, ich möchte mir nur 
vorher sicher sein, was wirklich im Controller passiert.

@Wayne Monga: Danke für den DevCon Hinweis. Das kannte ich noch nicht. 
Ich werde es heute gleich mal ausprobieren, vielleicht reicht das ja.

Gruß

Jens

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Also am USB liegts ja nun wirklich nicht. Wenn ich bei einer
>> uC-Schaltung was gegen Störungen machen muss, dann nehm ich meist so ein
>> zwei Kondensatoren und gut isses. Vielleicht hilft das ja auch bei
>> Deinem Kompressor?

Natürlich liegt es nicht am Controller. Das hiermit erst einmal nicht 
die Ursache beseitigt wird, ist mir vollkommen klar. Habe ich aber schon 
mal geschrieben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.