www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7X512 USB


Autor: Kristof Koschnick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich programmieren im Rahmen meiner DA den AT91SAM7X und habe Probleme 
beim USB. Zur Verfügugng steht mir ein selbst Designtes Board und ein 
Bluetooth-Evalboard das auch USB hat. Eigendlich wollte ich hier meine 
ganzen Probleme schildern, jedoch schwarnt mir gerade das bei meinem 
Board vielleicht ein Fehler unterlaufen ist. Daher erstmal kurz und 
knapp:

Muss die DDP Leitung auf 3V3 gezogen werden? Ich bin davon ausgegangen 
das der intern Pullup dies tut, und habe keine Pullupresistoren an den 
DDP und DDM Leitungen. Nur Leitungswiederstände (27R).

Falls das nicht die "Lösung" sein sollte hier mal mein ganzes Problem:

Ich habe mir von Atmel das "USB HID Keyboard Project" genommen und 
musste es ein wenig anpassen damit es fehlerfrei kompiliert wird.
Jedoch findet nach dem Flashen keine Enumeration statt und ich (sowie 
alle die ich fragen kann) sind mit unserem latein am Ende.

Über DBUG habe ich schon jede Menge Debugmsg ausgeben lassen, und das 
Programm hängt in einer Endlosschleife
while (USBD_GetState() < USBD_STATE_CONFIGURED)

USBD_GetState() liefert den Devicestatus zurück, dieser ist aber immer 0
/// The device is currently suspended.
#define USBD_STATE_SUSPENDED            0
/// USB cable is plugged into the device.
#define USBD_STATE_ATTACHED             1
/// Host is providing +5V through the USB cable.
#define USBD_STATE_POWERED              2
/// Device has been reset.
#define USBD_STATE_DEFAULT              3
/// The device has been given an address on the bus.
#define USBD_STATE_ADDRESS              4
/// A valid configuration has been selected.
#define USBD_STATE_CONFIGURED           5

Es findet also gar keine Enumeration statt, daher meldet der PC auch 
garnichts wenn ich das Board anschließe.

Ich benutze:
Eclipse IDE for C/C++ Developers Build id: 20100218-1602
Yagarto
SAM ICE JTAG
SAM-BA 2.9


Danke im Vorraus
Gruß
Kristof

Autor: Alexander D. (lieberarm9alsarmab)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

http://www.atmel.com/dyn/resources/prod_documents/...
Seite 140:
USB requirements:
– pull-up on DDP

Seite 450:
When the host is disconnected and the transceiver is enabled, then DDP 
and DDM are floating. This may lead to over consumption. A solution is 
to connect 330 KΩ pulldowns on DP and DM. These pulldowns do not alter 
DDP and DDM signal integrity.

Gruß

Autor: Kristof Koschnick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Bestätigung.
Ich habe gestern abend auch noch Datenblätter gewälzt und es war mir 
schon fast klar...hab mich beim Designen der Platte auf eine Vorlage 
verlassen die crap ist.

Habe gerade einen Pullup 1.5K auf DDP gelötet und schon funktioniert die 
Enumeration.

Die Pulldowns habe ich vernachlässigt, da ein VBUS Monitor für mich 
nciht wichtig ist.

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.