Sida 1 av 2

T: Hjälp att felsöka kretskort *Problemet löst!*

Postat: 11 februari 2013, 21:48:07
av CrowStudio
länge sedan man var här! :-)

Tänkte kolla om det finns någon som är intresserad av att hjälpa mig felsöka ett kretskort som jag inte lyckas få igång USB'n på?

Söker någon som gärna tycker det är kul, men framför allt någon som har kunnandet och instrument (t.ex oscilloskop och dyl.) och som är belägen i Göteborg!

Mitt problem är att jag inte lyckas att få igång USB kommunikationen med datorn (från ATMega32u2), har mina misstankar om att det är någon form av spök-kapacitans eller att impedansen* är för hög. på -D/ +D
*Edit* ...hade blandat ihop induktans och impedans när jag först skrev inlägget *Edit*

Vad jag vet ska det inte vara mjukvarobaserat fel! (enligt min programerare)

Kortet som det rör sig om (allt finns på plats nu):
Bild
Bild
Jag mailar gärna schema om någon är intresserad!

Fråga gärna om/vad ni behöver veta mer:



Tack på förhand!

Re: T: Hjälp att felsöka kretskort

Postat: 27 februari 2013, 08:43:36
av hanzibal
Kolla så att du uppfyller designkraven i avsnitt 20.3.3 på sidan 189 i databladet för MCUn:
http://www.atmel.com/Images/doc7799.pdf
Om dessa saker stämmer så tror jag att det är fel i mjukvaran. Sedan beror det ju på vad du menar med "få igång USB" - USB kan ju användas till väldigt mycket.

Det där med spökkapacitans och induktans tror jag inte att du behöver oroa dig för.

3V3-regulatorn ser felkopplad ut, SOT-223 brukar väl ha utgången på vingen resp. mellersta pinnen? Båda ser ut att vara anslutna till jordplanet på ditt kort och då lär regulatorn brinna eller utlösa sin skyddskrets. Kolla databladet för den regulator du använder och testa vid behov att ta bort den.

Re: T: Hjälp att felsöka kretskort

Postat: 27 februari 2013, 18:29:08
av SeniorLemuren
Om man kollar databladet så ser man att "Vinge" och mittenbenet båda är ground.

Det är lite slarvigt att bara påstå att något är fel utan att kolla tycker jag. Bättre att inte skriva alls om man inte vet.


Edit: Har du testat att det funkar i Proteus eller i någon liknande app? Om det funkar där så får du kolla om något blev fel i layouten. Det görs ju lättast på ett obestyckat kort.

Det brukar ofta vara problem med att få den externa oscillatorn att svänga. Testa med ett enkelt program och en lysdiod och se om µC:n verkligen snurrar.

Re: T: Hjälp att felsöka kretskort

Postat: 27 februari 2013, 19:34:55
av hanzibal
@SeniorLemuren: När det gäller regulatorn uttryckte jag mig klart trevande eftersom det bara är ett förslag på något som kan vara fel. Jag skrev inte på måfå utan läste datablad, precis som jag gjorde med MCUn. Så här ser det ut för LM1117-3.3, denna har samma pinout som industristandard LM317:
LM1117-3V3.JPG
Jag kollade bl.a. i detta datablad:
http://www.electrokit.com/productFile/download/857

När du skriver "databladet" - precis vilket datablad syftar du på då? Vad jag kan se framgår ju inte vilken regulator som är tänkt att användas eller har jag missat något här?

Jag uppfattade på TS som att MCUn snurrar men att USB-kontrollern inte funkar.

@CrowStudio: Vilken 3V3-regulator använder du?

Re: T: Hjälp att felsöka kretskort

Postat: 14 mars 2013, 14:07:20
av CrowStudio
-Hanzibal
MCUn funkar fint, det är bara datakommunikationen via USB som inte fungerar.
Har lyckats att komma fram till att det är den dindifferentiella impedansen på USBns signalbanor som är för hög!
Gör om gör rätt helt enkelt :-(

-seniorlemuren
spänningsregulatorn är LM2937-3.3

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 08:44:23
av hanzibal
Du har ju d+ och d- till MCUn via r3/r4 (skall vara ~220 ohm om jag minns rätt) med korta banor så det skall inte vara ngt problem. Tror fortfarande mer på mjukvarufel.

Vad bra att jag hade fel beträffande regulatorn!

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 08:49:36
av CrowStudio
-Hanzibal
Problemet är inte längden utan bredden, dom är på tok för smala enligt en referensguiden för kretskortdesign för USB 2.0!

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 10:00:08
av hanzibal
I mina ögon är bredden ok rent praktiskt, jag har själv haft tunnare som funkar bra. Dessutom stöder chipet ändå inte USB high speed utan bara full speed (max 12Mbit/s).

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 10:16:46
av CrowStudio
Kör du med LUFA eller flip?
Om jag förstår dig rätt har du också använt ATMega32u2?
Om så är fallet, kan du maila mig hur du gjort steg för steg så kan eventuellt vi utesluta mjukvara!

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 10:38:50
av hanzibal
Ingetdera och har aldrig programmerat Atmel överhuvudtaget. Förstår hur detta kan låta men jag har gott om erfarenheter av USB från annat håll.

I detta "fall" utgår jag bara ifrån vad jag kan läsa mig till i datablad och vad som framgår genom att titta på ditt kort.

Eftersom jag inte är någon mäster-routare (i t.ex. Eagle) så är min erfarenhet att USB inte är så himla kinkigt hårdvarumässigt (åtminstone inte full speed) emedan mjukvaran kan vara ett monstrum. Därför gissar jag på att det ändå är mjukvaran som strular för dig.

I något fall har jag fått göra D+ pull-up manuellt med en GPIO för att enumerera som full speed device. Din MCU gör kanske detta på egen hand?

Vilken/vilka device klasser försöker du köra, HID, mass-storage, CDC eller vad?

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 10:54:27
av CrowStudio
Det står inget om routingen i databladet, bara hur det ska kopplas!
Däremot när man läser här: http://www.cqpub.co.jp/dwm/article_engl ... SB2_05.htm
verkar det vara rätt så känsligt!
Om jag fattat rätt så är det HID, ska funka som kommunikations och programmeringsport .

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 11:18:36
av hanzibal
Precis, men artikeln handlar just om hur mkt kinkigare det blir när man går upp till high-speed (480Mbit/s). I ditt med full-speed fall är det alltså inte lika krävande.

Ja, HID är bra och enkelt att använda för enklare kommunikation mellan dator och chip men latensen är ca 1ms och du kan max överföra 64 byte åt gången. Beroende på tillämpning är detta oftast inget hinder. För programmering är nog DFU enklast (Device Firmware update).

Ofta bygger man in en funktion i bootloadern för att försätta chipet i DFU-läge (vissa chip har tom detta i ROM). Vid uppstart kan chipet t.ex. kolla om en viss pinne är jordad - denna typ av hårdvarukontroll är bäst eftersom man då alltid kan forcera DFU-läge om man skull råka flasha firmware som ballar ur och gör chipet icke-kommunikativt. Om pinnen inte är gjordad så kör man som vanligt och agerar HID och/eller vad man nu vill (man kan ha flera).

Sedan tror jag det finns någon klass för mer interaktiv programmering typ runtime debugging men den har jag aldrig använt.

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 11:23:48
av CrowStudio
Så sant, så sant!
Har inte tänkt på att det är för high speed so!m artikeln refererar till.

Problemet är att datorn inte registrerar kortet alls, har testat med diverse varianter av firmware, inget funkar

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 13:18:34
av hanzibal
Prova att dra upp D+ till 3.3V via 1,5k efter att du stoppat i USB-kontakten. Görs enklast direkt handgripligen med en lös sladd.

EDIT: Såg i databladet att din MCU sköter pull-up själv men skadar inte att testa ovan ändå. Enligt kortet går Ucap till 3.3V med C2 till jord så du kör alltså "self-powered", korrekt?

Re: T: Hjälp att felsöka kretskort

Postat: 15 mars 2013, 13:24:09
av CrowStudio
Förklara gärna vad detta gör ;-)
Ska jag high jacka D+ före eller efter 22 ohms motståndet?