Hallo,
ich benutze den Controller ATSAM3U2CA-AU und versuche über Full-Speed
den Controller als HID anzumelden leider klappt es nicht es wird gar
nichts erkannt. Die Software ist höchstwahrscheinlich nicht das Problem
da Sie beim Evolutionboard läuft.
Mein Controller ATSAM3U2CA-AU läuft grundsätzlich auch ich kann auf ihn
zugreifen, flashen leds ansteuern etc.. Aber das Anmelden als HID
funktioniert nicht ich habe die USB-Beschaltung aus dem Datenblatt
übernommen.
Kann einer mal bitte drüber schauen ob ich irgendwo ein Hardware bug
habe.
Ich habe schon die Spannung gemessen am Spannungsteiler R9 & R10 liegen
ca. 3.3 V an die auf PA2 gehen ( erkennung ob sich der Controller als
HID angemeldet hat)
Leider habe ich nicht rausgefunden was für eine Spannung am pin VBG
anliegen muss bei mir ist sie bei ca. 0V. Weiß einer was für eine Bias
Referenzspannung da anliegen muss und wo von ist die anhängig da Sie ja
nur intern erzeugt wird wenn ich das richtig sehe?!
Hat vllt noch eine Idee was bzw wo ich messen sollte um einen
Hardwarebug auszuschließen.
P.S Die VDDIO Spannung ist bei 3,3 V und die VDDCORE bei 1,8V.
Muss ich vllt noch irgendwas unbedingt aktivieren um auf die
USB-Schnittstelle als Full-Speed zu zugreifen zu können?
Danke für alle Tips!!!
> wird gar nichts erkannt.
Wenn bei USB gar nichts erkannt wird, fehlt der Widerstand (1,5 k) von
D+ nach 3,3 Volt. Manche µC können den intern schalten, andere brauchen
den extern.
Wenn der Widerstand vorhanden ist zeigt Windoof mindestens ein
"unbekanntes Gerät" an, allerdings eventuell erst nach einiger Zeit.
Jim Meba schrieb:>> wird gar nichts erkannt.>> Wenn bei USB gar nichts erkannt wird, fehlt der Widerstand (1,5 k) von> D+ nach 3,3 Volt. Manche µC können den intern schalten, andere brauchen> den extern.>> Wenn der Widerstand vorhanden ist zeigt Windoof mindestens ein> "unbekanntes Gerät" an, allerdings eventuell erst nach einiger Zeit.
die Widerstände sind laut Datenblatt im Controller vorhanden.
Seite 977
Mir ist jetzt aufgefallen das mein Quarz
http://www.txccrystal.com/images/pdf/9c.pdf nicht schwingt.
Komischer weise komme ich aber auf den Controller drauf und kannn ganz
normal flashen.
Kann es sein das der SAM3U automatisch auf den internen RC-Oszillator
umschaltet und ich deswegen alles machen kann bis auf USB weil der zu
ungenau für USB ist=?
Woran kann es denn liegen das der Quarz nicht anschwingt? Habe 18pF als
Anschwing Kondensatoren wie im Datenblatt vorgegeben
http://www.txccrystal.com/images/pdf/9c.pdf.
Muss ich irgendwie dem Controller beim flashen mitteilen das er den
externen Quarz benutzen soll. oder sollte er auch so schwingen?
Danke für alle Tips!
Hallo,
das Problem mit dem Quartz ist gelöst er schwingt und wird auch vom
Controller benutzt.
Leider funktioniert USB immer noch nicht. An der Software kann es nicht
liegen da Sie bei dem Evolutionboard läuft.
Kann mir einer sagen wofür der PIN VBG zuständigt ist bzw. welcher pegel
dort anliegen sollte.
Bei mir ist immer 0V egal ob USB eingesteckt ist oder nicht.
Bei dem EVO-Board ist bei eingesteckten USB an dem pin VBG ca 1.2V.
Aber ich habe ja keinen einfluss auf den VBG pin oder?!
So wie ich das sehe ist es eine interne Referenzspannung für USB beim
Controller, leider steht im Datenblatt dazu nicht viel.
Hat einer ne Idee woran es liegen könnte bzw. muss ich noch irgendwas
spezielles aktivieren bei dem ATSAM3U2CA-AU Controller?
Ok, dann schauen wir mal was "auffällig" ist:
1.
Ich gehe davon aus, dass Du das SAM3U-EK mit "Evaluation Board" meinst.
2.
Im SAM3U-EK wird VBus an PA0 und nicht an PA2 angeschlossen!
"erkennung ob sich der Controller als HID angemeldet hat"
-> Glaub ich nicht. Damit wird die Software erkennen, ob man mit einem
USB
Port verbunden ist, und wenn ja, dann erst die USB-Softwareschicht
aktivieren. So ein Spaß hatte ich schon mit einem anderen Controller.
Hab mich gewundert, warum das Teil (USB) net funzt und hab dann
festgestellt, dass die Demosoftware bzw. die Treiberschicht auf eine
Spannung (High-Pegel) an einem Port gewartet hat....
3.
Da Du nur einen winzigen Teil deiner Schaltung, kann ich nicht sagen, ob
da evtl. noch was anderes schief gelaufen sein kann. Ich hoffe mal Du
hast brav alle xxxUTMI Pins passend verdrahtet und auch die PLL (VCC,
etc.) korrekt angeschlossen. Ein Augenmerk solltest Du auch auf
Filtermaßnahmen haben, die in Spannungsversorgungen vorgesehen wurden.
Hoffe mal, das hilft Dir weiter ;-)
Matthias schrieb:> Ok, dann schauen wir mal was "auffällig" ist:>> 1.> Ich gehe davon aus, dass Du das SAM3U-EK mit "Evaluation Board" meinst.
ja richtig
>> 2.> Im SAM3U-EK wird VBus an PA0 und nicht an PA2 angeschlossen!>> "erkennung ob sich der Controller als HID angemeldet hat">> -> Glaub ich nicht. Damit wird die Software erkennen, ob man mit einem> USB> Port verbunden ist, und wenn ja, dann erst die USB-Softwareschicht> aktivieren. So ein Spaß hatte ich schon mit einem anderen Controller.> Hab mich gewundert, warum das Teil (USB) net funzt und hab dann> festgestellt, dass die Demosoftware bzw. die Treiberschicht auf eine> Spannung (High-Pegel) an einem Port gewartet hat....
das habe ich auch erst gedacht aber im Quellcode wir das signal gar
nicht ausgewertet das heißt auch wenn es nicht ein high pegel von 3,3V
an PA2 bekommt funktioniert es beim evo board.
>> 3.> Da Du nur einen winzigen Teil deiner Schaltung, kann ich nicht sagen, ob> da evtl. noch was anderes schief gelaufen sein kann. Ich hoffe mal Du> hast brav alle xxxUTMI Pins passend verdrahtet und auch die PLL (VCC,> etc.) korrekt angeschlossen. Ein Augenmerk solltest Du auch auf> Filtermaßnahmen haben, die in Spannungsversorgungen vorgesehen wurden.
der Rest passt soweit VDDANA,VDDBU, VDDUTMI,VDDIO habe alle 3,3V und
VDDPLL VDDCORE haben 1,8V.
Hast du ne Idee was VBG macht bzw. Was für ein Pegel dort anliegen
sollte?
Muss ich noch irgendwas aktivieren ? bei dem Evo-Board ist ja der große
bruder ATSAM3U4E verbaut ich habe aber den ATSAM3U2CA-AU auf meinem
Board ist dort ein unterschied beim USB ich sehe nichts anderes...
>> Hoffe mal, das hilft Dir weiter ;-)
Was ist mit dem GNDUTMI?
So wie's aussieht hast Du den Joker gezogen und darfst jetzt Schritt für
Schritt den Source der Demo durchgehen und schauen, ob es einen
Unterschied zwischen ATSAM3U4E und ATSAM3U2CA-AU gibt.
Wenn erst mal nur das USB laufen soll, dann könntest Du auch ein eigenes
Projekt erstellen und dann mal den Systemtakt (MCLK, USBCLK, ...)
generieren. Danach den USB-Controller initialisieren und versuchen den
Code
dafür nachzuvollziehen. Mal einen Breakpoint in die USB-IRQ-ISR setzen
und prüfen, ob die aufgerufen wird. Der uC ist ja prinzipiell nur
passiv, da er nur auf Polls vom Master reagiert. Mit VBUS muss Du halt
den 1,5K Pullup schalten, bzw. schalten lassen, damit der Master den
Slave erkennen kann.
Ich hoffe mal Atmel verwendet nicht die DMA-Engine dafür.
Dann müsste man das etwas besser nachvollziehen können.
VBG sagt mir nix, aber wenn es so angeschlossen ist, wie am Eval-Board
bzw. im Datenblatt angegeben, dann sollte das auch gehen.
Wenn ich das Datenblatt richtig verstehe ist VBG irgendeine
Referenzspannung für's USB (wahrscheinlich zur internen Verwendung).
Dass die VBUS nicht ausgewertet wird ist komisch. Schau mal, ob Du im
Quelltext irgendwo das UDPHS_CTRL Register findest und wie die Bits
PULLD_DIS und DETACH gesetzt sind bzw. gesetzt werden.