Forum: Mikrocontroller und Digitale Elektronik AT91SAM7 USB Device (Unstimmigkeiten im Datenblatt?)


von Timo B. (spida)


Angehängte Dateien:

Lesenswert?

Ich möchte einen AT91SAM7 als USB-Client benutzen. Als Software benutze 
ich den eingebauten Bootloader SAMBA von Atmel, den ich per ERASE Jumper 
lade. Auf dem Olimex SAM7-EX256 Board funktioniert das, auf meiner 
eigenen Schaltung nicht.

Nun gibt Atmel in der Schematic Checklist 
http://www.atmel.com/dyn/resources/prod_documents/doc6258.pdf eine 
Schaltung an, bei der beide Datenleitungen einen 330k Pulldown auf der 
Steckerseite der 27 Ohm Widerstände haben.

Allerdings benutzt Atmel im AT91SAM7 Evaluation Kit 
http://www.atmel.com/dyn/resources/prod_documents/AT91SAM7S-EK__KitsFiles.zip 
eine andere Schaltung: Auf der Arm-Seite der 27 Ohm Widerstände in 
beiden Datenleitungen je einen 15pF Kondensator gegen GND. Diese 
Schaltung benutzt Olimex auch für das SAM7-H64 
http://olimex.com/dev/images/sam7-h64-sch.gif.

Olimex benutzt für das SAM7EX256 wieder eine andere Variante: 
http://olimex.com/dev/images/ARM/ATMEL/SAM7-EX256-REV-Bsch.gif

Welche dieser Varianten funktioniert denn?

Mein Linux sagt zu der Variante aus der Schematic Checklist und 
SAM7-EX256 jeweils nur:
usb 6-2: new full speed USB device using uhci_hcd and address 33
usb 6-2: device not accepting address 33, error -71
hub 6-0:1.0: unable to enumerate USB device on port 2

von Kay I. (imperator)


Lesenswert?

Moin!

Fehlerursachen für USB-Probleme gibt es viele...

wenn ich Dich richtig versehe, funktioniert das Bootloader-Programm mit 
dem SAM7-EX256 nicht aber mit Deinem Layout. Dabei wird also das 
SAM7-EX256 von Deinem PC als USB-Device enumeriert?

Wenn ja, dann stimmt vermutlich die Firmware - was ist aber mit dem 
Layout? Hast Du impedanzkontrollierte Leitungen für die USB-Zuleitung 
realisiert?

von Timo B. (spida)


Lesenswert?

Kay Imperator schrieb:

> wenn ich Dich richtig versehe, funktioniert das Bootloader-Programm mit
> dem SAM7-EX256 nicht aber mit Deinem Layout. Dabei wird also das
> SAM7-EX256 von Deinem PC als USB-Device enumeriert?
Ja

> Wenn ja, dann stimmt vermutlich die Firmware
Die Firmware ist im ROM des Mikrokrontrollers und stammt von Atmel, ich 
gehe davon aus, dass die tut.

> - was ist aber mit dem Layout?
> Hast Du impedanzkontrollierte Leitungen für die USB-Zuleitung
> realisiert?
Ich hatte nicht gedacht, dass das bei 12MBps USB bei einer Leitungslänge 
2 cm, wo D- und D+ ueber praktisch die ganze Strecke parallel liegen, 
nötig ist.

von Kay I. (imperator)


Lesenswert?

Also die 150p ... kann ich mir nicht vorstellen, dass das gut sein soll 
... die 15p scheinen da richtiger besser zu sein - wobei ich nicht ganz 
verstehe, was der überhaupt soll ??

Die Pullupschaltung hier:
http://www.olimex.com/dev/images/sam7-ex256-sch.gif
versteh ich auch nicht so recht... wenn das Board im Reset ist, soll 
kein Pullup da sein. Wenn ein L-Pegel auf dem Signal USB_PUP ist, so 
wird die Schaltung nur aktiv, wenn DP low ist. Wenn L-Pegel auf USB_PUP, 
dann ist der Pullup immer aktiv.

Noch eine Fehlermöglichkeit ist der Quarz ... hat der eine USB-taugliche 
Frequenz?

von klaus (Gast)


Lesenswert?

Hallo Timo,

hast du das Problem lösen können?


Ich versuche aktuell auch mit dem Olimex SAM7-EX256 USB zum Laufen zu 
bringen und habe mich auch über die Beschaltung gewundert.

Was mich vor allem gewundert hat ist, dass im Schaltplan R6=R5 ist, was 
meines Erachtens dazu führt dass man softwaremäßig über USB_PUP den USB 
Pull-up überhaupt nicht beeinflussen kann, da der Transistor maximal auf 
die Hälfte von 3,3V gezogen werden kann und dieser dann eigentlich 
immernoch leiten sollte.

Haben die USB Beispiele von dieser Seite bei dir funktioniert ?

http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_at91.html

von Timo B. (spida)


Lesenswert?

Kay Imperator schrieb:
> Noch eine Fehlermöglichkeit ist der Quarz ... hat der eine USB-taugliche
> Frequenz?

Laut Datenblatt 
http://www.atmel.com/dyn/resources/prod_documents/doc6175.pdf, Seite 26:
"Communication through the USB Device Port is limited to an 18.432 MHz 
crystal."
So einen hab ich drauf, sollte also dadran nicht liegen.

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.