-         

Ergebnis 1 bis 6 von 6

Thema: Wie USB-Verbindung PC-Programmer (nicht Target) resetten ?

  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554

    Wie USB-Verbindung PC-Programmer (nicht Target) resetten ?

    Anzeige

    Bitte um Rat.

    Umgebung: Win7pro 64, AVRStudio4, Terminal br@y, Pololu USB AVR Programmer, dazu Kabellänge ca. 1,8 m wie von Pololu mitgeliefert.

    Beschreibung des Problems:
    Mein Pololu Programmer kann als USB-UART-Wandler und als USB-Programmer arbeiten. Üblicherweise sind beide Anschlüsse am Target-ISP und -UART angelegt. Damit kann der Zielprozessor geflasht und anschließend kann die Startinfo vom Porzessor im Terminal gelesen werden. Ohne weitere Änderungen kommen dann (meist, in der Testphase) verschiedene UART-Meldungen vom Target als Debughilfen oder Befehle vom Terminal starten Tasks in der angeschlossenen Platine.

    Störung:
    Gelegentlich, eher selten, verheddert sich der USB-Anschluss des Windows-Rechners (vermute ich).
    Dann ist z.B. die Terminalverbindung unterbrochen und kann nicht mehr aktiviert werden. Auch die ISP-Verbindung kann vergleichbar zusammenbrechen. Beide Verbindungen können auch jeweils einzeln ihre Funktion einstellen.

    Aktuelle Lösung: Die Abhilfe ist relativ einfach:
    Flashfenster im Studio4 und evtl. Terminal schließen, USB-Stecker ziehen, kurz ärgern und bis fünf zählen, USB-Stecker wieder einstecken, Flashfenster und Terminal öffnen. Nu läufts wieder. Diese Holzhammermethode geht schnell, der zuständige USB-Stecker ist beim Programmieren üblicherweise in meiner Reichweite, andere Störungen sind mir in diesem Zusammenhang nicht aufgefallen.

    Frage: gibt es eine Möglichkeit die USB-Verbindung bei gestecktem Stecker zu resetten?

    Mir geht es - rein technisch - gegen den Strich die Verbindung hardware- und softwaremässig zu trennen - sowohl Flashfunktion des Studio4 als auch Terminal müssen davor beendet werden - nur um die gestörte Verbindung wieder aktivieren zu können. Irgendene Abhilfe habe ich nicht gefunden, bei manchen ähnlichen USB-Störungen (z.B. USB-Harddrive) werden im Netz Hinweise auf möglicherweise (!möglicherweise!) zu langes Kabel geschoben.

    Danke im Voraus für Eure Hilfe
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.444
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Frage: gibt es eine Möglichkeit die USB-Verbindung bei gestecktem Stecker zu resetten?
    Von hause aus nicht.
    USB ist ja als Plug and Play entwickelt.
    Beim Abziehen des Steckers, schaltet der Hub den entsprechenden Port aus und das Betriebssystem über das entfernen des entsprechenden Gerätes informiert.
    Beim Einstecken, wird im Statusregister des Hub für den jeweiligen Port ein Flag gesetzt, Der Host fragt das regelmäsig ab und initiiert dann die Konfiguration.
    Es gibt aber auch noch die Möglichkeit eine Verbindung per control Befehl zurückzusetzen.
    Allerdings werden diese Control Transfers von der USB System Software durchgeführt.
    Mann müsste also in die Treiberprogrammierung einsteigen.
    http://sdphca.ucsd.edu/lab_equip_manuals/usb_20.pdf

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Von hause aus nicht .. Mann müsste also in die Treiberprogrammierung einsteigen ..
    Danke für die schnelle, klare Antwort und den Link. So etwas hatte ich befürchtet und werde wohl besser nicht einsteigen. Auch wenn ich vermute, dass sich mit Hilfe des 650seitige Datenblattes/Tutorials der Aufwand einer eigenen Softwarelösung nach ein paar Jahrzehnten mit dem Handgriff ausstöpseln-einstöpseln gegenrechnen lassen würde. Immerhin ist die Bustopologie nur in sieben Ränge eingeteilt . . .
    Im Ernst: danke für die Aufklärung.
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Hallo oberallgeier,
    ich bin immer noch mit WINXP in englisch auf meinem PC zugange. Dort gibt es im Control Panel - Administrative Tools - Computer Management den Device Manager (Hardware Manager?). Dort kann ich unter Universal Serial Bus Controllers erkennen, ob und wo zB ein USB-Stick eingesteckt ist. Auswählen und dann unter Menüpunkt Action ein Disable und Enable. Hat bei dem Stick zumindest funktioniert. Ob das ein komplettes Rücksetzten ist und bei Dir wirkt, müßtest Du ausprobieren (falls Du den Device Manager unter Windows 7 findest). Bei meiner ersten Begegnung mit Windows 8 habe ich gar nichts gefunden

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von MisterMou
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    26
    Beiträge
    433
    Mit dem Programm Devcon kann man per Konsole unter anderem Geräte aktivieren und deaktivieren anhand ihrer ID. Ich hatte das mal für das WLAN bei einem Tablet gemacht.
    Das kann man dann als *.bat schreiben und muss so nur noch eine Bat starten zum Trennen und die andere zum Verbinden.

    Das macht nichts anderes als das Gerät per Gerätemanager zu deaktivieren.

    Wäre dir damit geholfen?
    Mähh macht der Rasenmäher. http://moufx.wordpress.com/

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.444
    Deaktivieren / aktivieren im Gerätemanager, führt meines Wissens dazu das auf Betreibssystemebene eine Trennung und eine neues Anfordern der config erfolgt, wenn der USB Hub dann auch die 5V an dem Port abschaltet und das Gerät nicht fremdbestromt ist, sollte das auch Geräteseitig wie ein physikalisches Trennen/Wiederverbinden wirken.
    Allerdings wird in der Regel nicht die 5V deaktiviert, sonst würde ja auch kein Abgreifen von 5V mit nur 2 belegten Steckerpins funktionieren, wie bei USB LED Leuchten (auch kein Plug and Play von per USB bestromten Geräten).
    Und da hängt es dann vom Gerät ab ob es bei einem OS seitigen deaktivieren einen Reset ausführt oder nicht. Wenn nicht, bringt das Ganze nichts. Dann hilft nur Softwareseitig dem Gerät die selbe Befehlsfolge zu schicken die auch nach einem Rechnerneustart an bereits angeschlossene Geräte wie Maus und Tastatur gesand wird.
    Und selbst da kann es sein das ein Gerät das sich aufgehängt hat durch die dauerhafte Stromversorgung eben doch keinen Reset ausführt.
    USB ist halt Plug and Play bzw. Plug and Pray.

    Noch lustiger wird es, da in einem Computer die ersten beiden USB Ports eine Sonderrolle haben und da dann auch noch BIOS Einstellungen mit reinspielen. Das merkt man wenn man mal Rechner von USB als Bootmedium installieren will. Das geht nur von USB Port 1 und 2. alle anderen werden rein vom OS kontrolliert, lassen sich also da leichter softwareseitig manipulieren ohne ungewollte Rückkopplungen auf das OS befürchten zu müssen (Blöd wenn eine Bytefolge die der µC sendet beim Reboot des Rechners den MBR löscht oder ähnliches weil die Bytefolge zufällig dem Opcode der entsprechenden Befehle der Rechner CPU entsprechen)

    Übrigens ist das Dokument kein Handbuch sondern die offizielle Spezifikation des USB 2.0 Standarts (quasi die Norm).

    Die aktuelle für USB 3.1 findet man hier: http://www.usb.org/developers/docs/
    Geändert von i_make_it (20.01.2016 um 15:50 Uhr)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 23.07.2013, 09:28
  2. Keine Verbindung zum Controller (mit USB-ISP-Programmer)
    Von manuuE im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 15.11.2011, 14:12
  3. Keine Verbindung zum Programmer (Vista/USB/ebay)
    Von Goldenflash im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 13.05.2008, 21:47
  4. Programmer für 3.3V Target
    Von OnkelTobi im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 08.03.2007, 09:44
  5. AVR softwareseitig resetten
    Von Foooob im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 20.02.2007, 17:30

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •