USB-problem
USB-problem
Jag har gjort ett USB-interface till datorn baserat på en AVR-processor. Jag har använt mig av projektbeskrivningarna på http://www.obdev.at/products/avrusb/projects.html främst obdevs filer, bl.a. PoweSwitch, HIDKeys och Automator.
Hårdvaran är kopierad rakt av, och jag har testat både med både tiny2313 och atmega32 och programmerat in såväl den färdigkompilerade filen som egenkompilerad variant av den givna koden, anpassat för min processor. Trots olika hårdvara och olika firmware vill det inte fungera, i alla fall inte med Windows XP.
När jag ansluter hårdvaran till datorn kommer det upp ett meddelande om att den har hittat en ny okänd enhet, men när jag går in i enhetshanteraren är PID och VID 0000 båda 2 (USB\VID_0000&PID_0000\...) enligt enhetshanteraren. Det går inte att skapa någon drivrutin till en USB-enhet som har ovan nämnd data. 0 är tydligen reserverat för fel om jag förstått rätt.
Jag vet inte hur jag ska gå vidare och felsöka. Tacksam för förslag.
/Kenneth
Hårdvaran är kopierad rakt av, och jag har testat både med både tiny2313 och atmega32 och programmerat in såväl den färdigkompilerade filen som egenkompilerad variant av den givna koden, anpassat för min processor. Trots olika hårdvara och olika firmware vill det inte fungera, i alla fall inte med Windows XP.
När jag ansluter hårdvaran till datorn kommer det upp ett meddelande om att den har hittat en ny okänd enhet, men när jag går in i enhetshanteraren är PID och VID 0000 båda 2 (USB\VID_0000&PID_0000\...) enligt enhetshanteraren. Det går inte att skapa någon drivrutin till en USB-enhet som har ovan nämnd data. 0 är tydligen reserverat för fel om jag förstått rätt.
Jag vet inte hur jag ska gå vidare och felsöka. Tacksam för förslag.
/Kenneth
Tack för tipset.
Jag trodde att klockningen fungerade som den skulle, eftersom jag har ställt in att den ska använda extern kristall och jag har anslutit en 12MHz-kristall. Vid mätningar ser jag dock att den verkliga klockfrekvensen är avsevärt lägre. Jag vet inte riktigt varför det är så, men det ska nog inte vara så svårt att reda ut imorgon när man är lite piggare.
Jag trodde att klockningen fungerade som den skulle, eftersom jag har ställt in att den ska använda extern kristall och jag har anslutit en 12MHz-kristall. Vid mätningar ser jag dock att den verkliga klockfrekvensen är avsevärt lägre. Jag vet inte riktigt varför det är så, men det ska nog inte vara så svårt att reda ut imorgon när man är lite piggare.
Förslag till skäl för fel frekvens på en kristall:
* Fel storlek på lastkapacitanser http://www.scapro.se/lastkapacitans.htm
* Olika storlek på lastkapacitanser
* Svårt misslyckad PCB-layout som stör svängningen
* Trasig kristall (minst troligt)
* Fel storlek på lastkapacitanser http://www.scapro.se/lastkapacitans.htm
* Olika storlek på lastkapacitanser
* Svårt misslyckad PCB-layout som stör svängningen
* Trasig kristall (minst troligt)
Frekvensen för atmega32:an var korrekt redan från början men inte frekvensen för tiny:n (testade bara tiny:n igår) trots att divide clock by 8 intenally var bortklickad. För övrigt ganska onödig default-inställning tycker jag. Jag vet inte vad jag förändrade men helt plötsligt fungerade klockningen som den ska. Tyvärr blir resultatet för hela kretsen det samma när jag ansluter den till datorn.
Jag har satt reset disabled så att kretsen ska köra hela tiden och det fungerar att toggla några lysdioder när programmet kör.
Jag har satt reset disabled så att kretsen ska köra hela tiden och det fungerar att toggla några lysdioder när programmet kör.
Har du mätt så att du verkligen har ca 3.5 V på VCC?
Jag provade att koppla en enhet som jag har gjort med Obdev till en Windowsdator. Då fick jag upp ett fönster om att installera en drivrutin. Samtidigt gick jag in i Enhetshanteraren och kollade. Där låg mycket riktigt enheten, med sitt namn. Så det är konstigt att det inte fungerar för dig.
Jag provade att koppla en enhet som jag har gjort med Obdev till en Windowsdator. Då fick jag upp ett fönster om att installera en drivrutin. Samtidigt gick jag in i Enhetshanteraren och kollade. Där låg mycket riktigt enheten, med sitt namn. Så det är konstigt att det inte fungerar för dig.