www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eigenbau Platine mit AT91SAM7Sxxx - USB-Problem


Autor: Greg (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend miteinander,

ich habe eine Platine (Schaltplan anbei) entworfen und möchte gerne mit 
SAM-BA über USB auf den Controller zugreifen.
Es gibt drei Jumper:
- für TST: TST nach +3V3
- für RESET: NRST nach GND
- für den USB-Pullup: D+ über 1k5 nach +3V3

Wenn ich das Oszilloskop zwischen Quarz und GND anschließe, sehe ich 
meinen 18.432MHz-Sinus. Schließe ich es an mein Eval-Board an, so sehe 
ich eine Spannung mit gleicher Amplitude.

Ich habe nachfolgende Prozedur durchgeführt:
- TST-Jumper schließen
- USB-Kabel anschließen, ca. 10 bis 20 Sekunden warten
- USB-Kabel entfernen
- TST-Jumper öffnen
- USB-Pullup-Jumper schließen
- USB-Kabel anschließen

--> USB-Gerät wurde nicht erkannt.
(Das Eval-Board wird dann erkannt...)

Mehrere Schaltpläne zu AT91SAM7xxx-Eval-Boards habe ich durchgesehen.
Manche haben einen Spannungsteiler zwischen USB-5V und GND, andere 
nutzen einen Transistor um den USB-Pullup zu schalten. Folglich muss 
dass nicht sein - zumindest fand ich in der Doku zum Controller hierzu 
keinen Hinweis.

Ich habe mit zwei Controllern mein Glück probiert, langsam gehen mir die 
Ideen aus...

Wer hat ähnliche Erfahrungen gemacht oder kann mir einen Tipp geben?

Gruss,
Greg.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich das Oszilloskop zwischen Quarz und GND anschließe, sehe ich
> meinen 18.432MHz-Sinus.

Ich nehme an, du hast diese Messsung gemacht, nachdem du SAM-BA
mittels der TST-Pin-Prozedur aktiviert hast. Vorher sollte der
Quarzoszillator nicht laufen, da er erst durch die Software
eingeschaltet wird.

Wenn er hingegen erst nach dem Aktivieren von SAM-BA läuft, heißt
dies, dass die SAM-BA-Software tatsächlich ausgeführt wird. Wenn die
USB-Schnittstelle trotzdem nicht funktioniert, scheint eher ein Fehler
in der Beschaltung des USB-Anschlusses zu liegen (Steckerbelegung,
Widerstände, Kondensatoren ...).

Ich hatte bei meinem (ähnlich aufgebauten) Board anfänglich das
gleiche Problem. Bei mir fehlte einfach nur der USB-Pullup-Widerstand.

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SAM-BA benötigt die interne PLL, was wiederum für das PLLRC Netzwerk 
einen bestimmten Wert erfordert. Ich habe für meinen AT91Sam7S64 22n+1k5 
& 2n2 genommen. Das funktioniert bisher perfekt. Ich habe aber keine 
Kondensatoren am Quarz, die sind laut Datenblatt schon im Chip 
integriert.

Du weisst aber schon dass Pin19 den Pullup für USB steuert? Er ist 
Active Low. Ich benutze dafür ein PNP Transistor.

Gruß, Feadi

Autor: achtbit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

beim AT91SAM7Sxx musst Du um SAM-BA zu aktivieren mehrere PINs auf High 
(3V3) ziehen:

TST
PA0
PA1
PA2

steht auch so im Datasheet (SAM-BA Recovery).
Dann sollte es funktionieren.

Beim S-Typ ist es halt etwas komplizierter als beim X-Typ (nur tst-pin 
auf high).

Gruss achtbit

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ achtbit:

Die PA0-2 Pins haben Pullups, daher reicht es auch diese einfach offen 
zu lassen.

Gruß, Feadi

Autor: Greg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo yalu!

>Ich nehme an, du hast diese Messsung gemacht, nachdem du SAM-BA aktiviert hast.
Ja. Es war ein Controller vom Eval-Board direkt nach der 
TST-Pin-Prozedur.


>Wenn die USB-Schnittstelle trotzdem nicht funktioniert, scheint eher ein
>Fehler in der Beschaltung des USB-Anschlusses zu liegen...
In der Tat hatte ich sogar den Fall, dass ein Widerstand defekt war. 
Mittlerweile habe ich meine 27 Ohm.

Der Pullup-Widerstand liegt zwischen D+ und (über einen Jumper) +3V3.
Wenn ich den Jumper stecke, erhalte ich die Meldung "USB-Gerät wurde 
nicht erkannt".

Nun schmeiße ich den Lötkolben an und löte die Kondensatoren um die 
USB-Schnittstelle herum ab. Mal sehen...


In jedem Fall danke für den Tipp!

Gruß,
Greg.

Autor: Greg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zunächst die gute Nachricht:

Das Problem ist gelöst.


Die Lösung:

Der Kondensator zwischen D+ und D- (C1) war der Übeltäter. 33pF die jede 
Menge Ärger gemacht haben.
yalu, nochmals vielen Dank für den Tipp!


@Feadi
Was diese Portleitung zum Schalten des Pullup angeht, so habe ich 
wirklich schon Schaltpläne gesehen, in denen er fest verdrahtet ist. 
Langfristig werde ich ihn doch schaltbar machen (z.B. wegen Reset).


@all
Vielen Dank für eure Ideen.


Im Moment ging es mir lediglich nur darum, mit einem möglichst einfachen 
Board zu einem Erfolgserlebnis zu kommen - deshalb nur absolute 
Minimalstbeschaltung und fast alle Pins mit einem Lötpad versehen.


Viele Grüße,
Greg.

Autor: Feadi F. (feadi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 33pF die jede Menge Ärger gemacht haben.

Huch? Ich habe den Kondensator eingebaut, und das funktioniert echt gut. 
Ist es auch wirklich ein 33p Kondensator?

Gruß, Feadi

Autor: Greg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist es auch wirklich ein 33p Kondensator?
Oje, ich sollte mich wirklich schlafen legen!

Gerade habe ich diesen Kondensator nachgemessen: 11,5nF.
Da habe ich mich tatsächlich vergriffen...

Gruß,
Greg

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.