Forum: Mikrocontroller und Digitale Elektronik FX2 Problem beim Hochfahren


von Klaus (Gast)


Lesenswert?

Hallo,

ich habe hier eine kleine FX2-Schaltung Marke Eigenbau. Die 
Bulkloop-Demo läuft ohne Probleme.
Allerdings ist es so, daß sich das Gerät beim Hochfahren von Windows 7 
(64 Bit) als 'Unbekanntes Gerät' im Geräte-Manager bemerkbar macht. Nach 
erneutem Anschließen an den USB funktioniert es dann.

Woran kann das liegen? Was ist zu tun?

Gruß Klaus

von Christian R. (supachris)


Lesenswert?

Falls das ein self-powered Design ist, musst du VBus im Programm 
überwachen, um beim Hochfahren, Standby, Resume usw. passend ein 
Disconnect oder Reconnect auszulösen: http://www.cypress.com/?rID=12961

Bei einem Bus-powered device musst du das VBus verwenden, um mit einem 
schnellen Reset-Generator den FX2 korrekt aus dem Reset zu bringen, 
spätestens 100ms nach Power-On erwartet das OS eine Meldung vom Gerät.

http://www.cypress.com/?rID=12959

Poste mal die Schaltung.

von Klaus (Gast)


Lesenswert?

Hallo Christian,

das Gerät ist Bus-powered. D.h. ich brauche einen Reset-Generator 
(irgendwas mit C und R?). Ich schau mir mal das PDF von Dir an. Da wird 
schon was drinstehen.

Danke für den Hinweis. Normal ist das aber nicht.

Gruß Klaus

von Christian R. (supachris)


Lesenswert?

Poste doch mal die Schaltung. Hast du denn irgendwas am Reset? In dem 
Dokument steht extra drin, dass RC-Kombi nicht richtig funktioniert. 
Nimm einen Reset-Generator, der 10ms Verzögerung macht. Achja, dann 
musst du außerdem im EEPROM Image beim Erzeugen des IIC Files noch das 
Konfig-Byte so einstellen, dass der auf 400kHz umschaltet, sonst dauert 
das Laden des FX2 zu lange.

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Christian,

anbei die Schaltung.

Ein paar Fragen hätte ich noch:
1. Den vorgeschlagenen IC TPS3820 würde ich nur ungerne nehmen. Kennst 
Du da Alternativen?
2. Wie werden die Dinger eigentlich beschaltet?
3. /MR: Kann ich den mit Pullup auf 3.3V legen oder floaten lassen?
4. WDI: Fix auf High- oder Low-Pegel? Floaten lassen?

Und danke für den Tipp mit den 400kHz. Da denkt man auch nicht sofort 
dran.

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Nach Überarbeitung siehts jetzt wie im Anhang aus.

Sollte passen, oder?

von Klaus (Gast)


Lesenswert?

>dann musst du außerdem im EEPROM Image beim Erzeugen des IIC Files noch das
>Konfig-Byte so einstellen, dass der auf 400kHz umschaltet
Wo stell ich das ein beim Keil?

Gruß Klaus

von Christian R. (supachris)


Lesenswert?

Wenn du den STM6315A nimmst, sollte das passen. Der hat dann 1,5ms 
Verzögerung. MR kannst du offen lassen, da ist ein interner Pull-Up. 
Klar, dass das in der urspünglichen Schaltung nur unzuverlässig geht, da 
ist ja gar keine sinnvolle Reset-Beschaltung. Achja, die 
Quarz-Kondensatoren sind zu klein. Ich nehme mal an, der 24MHz den du 
hast, hat eine wesentlich höhere Lastkapazität als 10pF. Die 
Kondendatoren müssen jeweils etwa das doppelte der vom Quarz 
geforderten Lastkapazität haben.

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hatte zwischenzeitlich etwas anderes zu tun und bin nun wieder hier.

Die Schaltung hat sich etwas geändert (siehe Bild). Programmiert wird 
der FX2 über Keil mit den folgenden Flags (sollte für 400kHz I2C 
passen):

hex2bix -c 0x01 -i -f 0xC2 -o bulkloop.iic bulkloop.hex

Wenn ich den FX2 anstecke/abziehe, dann meldet er sich korrekt an (das 
war vorher ohne besondere Beschaltung des Reset auch schon so). Beim 
hochfahren kommt aber immer noch 'unbekanntes Gerät'.

Christian R. schrieb:
> Falls das ein self-powered Design ist, musst du VBus im Programm
> überwachen, um beim Hochfahren, Standby, Resume usw. passend ein
> Disconnect oder Reconnect auszulösen:

Das habe ich noch nicht umgesetzt (irgendwie kapier ich den 
Code-Schnipsel auch nicht so ganz).
Aber ist das notwendig, wenn es ja beim Anstecken/Abziehen funktioniert?

Gruß Klaus

von Klaus (Gast)


Lesenswert?

Ich habe gerade gesehen, dass für Bus-Powered Geräte das VBUS-Monitoring 
sowieso überflüssig ist.

Fragt sich nun, warum wird das Gerät bei Windows Start immer noch nicht 
erkannt?

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.