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
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?
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.
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.