Forum: Mikrocontroller und Digitale Elektronik CP2102 resetet controller


von Michi (Gast)


Lesenswert?

Hallo,

ich habe eine Platine mit CP2102 (2,2 uF von REGIN/VBUS zu GND, und 
2,2uF VDD zu GND).

Die Schaltung funktioniert Einwandfrei, Kommunikation über USB ist 
genauso Problemlos möglich


Beim Abstecken des USB Steckers oder beim Kurzzeitigen Anschliessen von 
einem 220uF Kondensator von USB+5V zu GND. (kurzer Spannungs Einbruch) 
bleibt
mir der Atmega88PA hängen.

Dies geschieht auch wenn D+/D- vom USB nicht angeschlossen ist, bzw mit 
einem USB Ladegerät fürs Handy.

An was kann das liegen?

von Michi (Gast)


Lesenswert?

Das Problem Tritt auf bei unterschreiten einer Spannung von 2.7V 
(Datenblatt min 3V) am USB Stecker.

Das ganze Problem verschwindet wenn ich die TX/RX Leitungen zum 
Atmega88pa
unterbreche.

Aus irgend einem Grund macht der CP2102 Probleme wenn man Ihm die 
Spannung auf unter 2.7V bringt und das wirkt sich dann auf den 
Atmega88pa aus.

von Helfer (Gast)


Lesenswert?

CP2102 unter 2.7V, d.h. der CP2102 wird über seinen RX und den TX des 
AVR parasitär versorgt? Versuch mal mit einem Serienwiderstand (z.B. 1k) 
in dieser Leitung die Stromabgabe des AVR zu begrenzen.

von Michi (Gast)


Lesenswert?

wenn ich TX am COntroller Trenne, und RXD mit 1,5k bestücke. tritt der 
Fehler auch auf.

auch wenn ich den RXD port der Controllers auf GND ziehe.

Ich frage mich ob der nahe liegende Reset anschluss des Controllers mit 
eine rolle spielt (schlecht gelötet?) er ist mit 10k zu Vcc beschalten.
Auch wenn ich anstelle des 10k Widerstandes ein 0-ohm widerstand 
einloete bleibt das Problem bestehen

von René K. (king)


Lesenswert?

Michi schrieb:
> Beim Abstecken des USB Steckers oder beim Kurzzeitigen Anschliessen von
> einem 220uF Kondensator von USB+5V zu GND. (kurzer Spannungs Einbruch)

Das geht so auf gar keinen Fall! Schau Dir mal in der USB Spezifikation 
den Punkt 7.2.4.1 genauer an. Da steht: "The maximum load (CRPB) that 
can be placed at the downstream end of a cable is 10 μF..."

Deine 220uF sind also viel zu viel. Davon ab: Wie hast Du /RST des 2102 
beschaltet?

von Michi (Gast)


Lesenswert?

moment moment, der 220uF war nur zum testen drann.

RST vom cp2102 ist offen.

wenn ich die RXD leitung direkt am Controller auf GND ziehe, passiert 
der fehler nicht mehr.

da kann ich USB an/ab stecken wie ich will, alles bestens

von Helfer (Gast)


Lesenswert?

>> (Fehler tritt auf) wenn ich den RXD port der Controllers auf GND ziehe.

> wenn ich die RXD leitung direkt am Controller auf GND ziehe, passiert
> der fehler nicht mehr.

Sorry ich habe den Plan verloren, was du machst :(

von Michi (Gast)


Lesenswert?

Genauso wie von der RXD leitung des Controllers 2k zu GND  und danach 
wie vorher auch mit 1,5k zum cp2102 tritt der Fehler nicht mehr auf.

von Michi (Gast)


Lesenswert?

ok, also USB nicht angeschlossen.


RXD Controller -> 1,5k zu cp2102
RXD Controller -> 2k zu GND

USB immernoch nicht angesteckt. sobald ich den 2k Widerstand abstecke 
bleibt der Controller hängen, genauso wenn ich mit dem Finger den Draht 
anfasse der auf RXD geht. (anstelle des 2k Widerstandes)

von Michi (Gast)


Lesenswert?

Ich hab den Fehler gefunden.

Abgefahren!!!

Ich hatte im Code das RXCIE bit gesetzt. beim Abstecken des Steckers
hat der Controller sein Signal empfangen, genauso wie beim Berühern mit 
meinem Finger. Vermutlich irgend welche Zeichen, das problem daran...

Ich hatte den entsprechenden Interrupt Vector nicht im programm, was 
natürlich zum abrotzen des Controllers führte.


denoch Vielen Dank an die Leute die mir hier bei meinen Projekten immer 
Helfen!

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.