Forum: Mikrocontroller und Digitale Elektronik AVR-CDC "USB-Gerät nicht erkannt"


von Giuseppe G. (Firma: ACS) (gcrax)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,
endlich hab ich den weg hierher auch geschafft, nach jahren die ich 
nutze um mich in euren projekten einzulesen :-) ihr leistet ja super 
spitze arbeit :-)

ich habe schon seit langem vor, eine ganz simple lösung zu nutzen oder 
"bauen", um ganz einfach eine virtuelle com-port schnittstelle per usb 
zu erreichen, damit ich dann meine schon vorhandenen projekte per rs232 
weiternutzen zu kann, da ich nur rs232 befehle schicken muss...

ich hab auch schon sehr viel gelesen und auch versucht, aber irgendwie 
schaff ich es nicht einen durchbruch zu erreichen und das alles 
aufzubauen.

wie gesagt, mein vorhaben ist einfach nur meine µC-Harware per USB 
anzusteuern und da dachte ich, das das projekt AVR-CDC von der seite 
http://www.recursion.jp/avrcdc/ mit einem attiny2313 ideal wäre, um das 
auch zu erreichen...

mein problem is nun folgendes...
ich habe die hardware korrekt aufgebaut und auch auf jegliche 
leiterbahn-problemen geprüft und es sind nirgendswo fehler zu finden...
ich arbeite mit bascom avr und einem myavr-lpt brenner, mit dem ich 
meine µC auch korrekt programmieren kann und auch alle notwendigen 
fusebits einstellen kann, aber irgendwie schaff ich das nicht, die 
korrekten einstellungen, oder eine korrekte firmware zu erstellen...
deshalb meine frage...

gibt es jemand, der vielleicht mit bascom eine "step-by-step" anleitung 
hat, wie ich meine fusebits einstellen kann? oder irgendwas anderes, wo 
ich mein vorhaben, so leicht wie möglich erledigen kann??

ich bin schon langsam am verzweifeln...
wenn ich die hardware anschliesse, kommt immer nur "USB-Gerät wurde 
nicht erkannt"...

woran kann ich merken, was ich falsch mache??
ich hab hoffentlich im anhang die schaltung dazugelegt...:-)
freu mich schon, auf eure hilfe...

mfg giuseppe

von Εrnst B. (ernst)


Lesenswert?

Versuch einen anderen PC (UHCI vs OHCI, WinXP vs Win7 vs Linux vs Mac)
Versuch einen USB-HUB dazwischenzuschalten.

Die AVR-CDC-Implementierung ist nicht USB-Konform, d.H. es ist immer 
Glückssache ob es an einem bestimmten PC geht.

von Albert .. (albert-k)


Lesenswert?

Hast du auch schon den dafür nötigen Windows Treiber (Bzw. Linux 
treiber) installiert?
Siehe dazu folgenden Abschnitt:
http://www.recursion.jp/avrcdc/driver.html#windows

Wenn dieser Fehlt kann das betriebssystem nichts mit deinem 
angeschlossenen Gerät anfangen.

Eine Alternative und schnellere Lösung wäre ein FT232RL (USB<->UART 
Konverter)

von C. H. (hedie)


Lesenswert?

hmmm

ich habe auch gerade das AVR-CDC programm mit einem Attiny2313 
probiert...

Ich habe dazu direkt das Hexfile eingebrannt. Habe nen 12Mhz quarz 
verwendet!


Hast du CLKDIV8 in den Fuses DEAKTIVIERT ?


Bei mir hats beim ersten PC auch nicht geklappt... Danach
anderer PC versucht und da gings (Windows7)

von Sebastian (Gast)


Lesenswert?

Firmware erstellen? Oder nur in den Flash schreiben? Das Archiv auf der 
Seite enthält ja bereits eine kompilierte Version als hex-Datei.
Die Fusebits müssen auf jeden Fall so eingestellt werden, daß der Tiny 
mit dem externen Quarz läuft (12 MHz) und keine Teilung durch 8 erfolgt 
(CKDIV-Fuse?). Takt messen, falls Frequenzzähler oder Oszi vorhanden.

Übrigens hoffe ich, daß Bascom hier nur als Programmer dient. Man kann 
den Quellcode, der in C geschrieben ist, damit nicht übersetzen.

Übrigens kann man den Parallelportbrenner wahrscheinlich mit AVRDUDE 
betreiben. Kommandozeile ist nicht jedermanns Sache, aber dafür ist das 
Programm ausgereift und zuverlässig, die Ergebnisse reproduzierbar.

von Giuseppe G. (Firma: ACS) (gcrax)


Lesenswert?

Sebastian schrieb:
> Firmware erstellen? Oder nur in den Flash schreiben?
nur flash schreiben...

Das Archiv auf der
> Seite enthält ja bereits eine kompilierte Version als hex-Datei.
die hab ich auch reingebrannt, aber ich weiss nicht, ob ich da was 
ändern muss... hast du da vielleicht eine fertige firmware?(link) ich 
hab schon mittlerweile alles mögliche probiert...

> Die Fusebits müssen auf jeden Fall so eingestellt werden, daß der Tiny
> mit dem externen Quarz läuft (12 MHz) und keine Teilung durch 8 erfolgt
> (CKDIV-Fuse?).
fuse sind so eingestellt hoffe ich mal, hast du vielleicht eine 
anleitung wie ich das machen kann?? vielleicht ein screenshot??...hilft 
oft mehr wie worte...

>Takt messen, falls Frequenzzähler oder Oszi vorhanden.
leider nicht, gibts ne andere möglichkeit dafür??

> Übrigens hoffe ich, daß Bascom hier nur als Programmer dient. Man kann
> den Quellcode, der in C geschrieben ist, damit nicht übersetzen.
ja, bascom dient nur als programmer, weil ich das notwendige 
brennerpaket damit betreibe...

> Übrigens kann man den Parallelportbrenner wahrscheinlich mit AVRDUDE
> betreiben. Kommandozeile ist nicht jedermanns Sache, aber dafür ist das
> Programm ausgereift und zuverlässig, die Ergebnisse reproduzierbar.
wahrscheinlich geht das, aber bin glaub zu doof dafür??? :-)

von Giuseppe G. (Firma: ACS) (gcrax)


Lesenswert?

hat keiner mehr eine idee, wo noch mein fehler liegen könnte???
:-(

von Εrnst B. (ernst)


Lesenswert?

G. G. schrieb:
> hat keiner mehr eine idee, wo noch mein fehler liegen könnte???
> :-(

Doch, sicher. Wir warten nur alle auf deine Rückmeldung, welche oben 
geposteten Ideen du bereits probiert oder ausgeschlossen hast.

von Karl H. (kbuchegg)


Lesenswert?

G. G. schrieb:

>> Die Fusebits müssen auf jeden Fall so eingestellt werden, daß der Tiny
>> mit dem externen Quarz läuft (12 MHz) und keine Teilung durch 8 erfolgt
>> (CKDIV-Fuse?).
> fuse sind so eingestellt hoffe ich mal, hast du vielleicht eine
> anleitung wie ich das machen kann?? vielleicht ein screenshot??...hilft
> oft mehr wie worte...

Ist doch ganz einfach:
In einer Softwareschleife eine LED im Sekundentakt ein/ausschalten.
Dazu sagst du BASCOM noch dass du einen 12Mhz Quarz hast.

Stimmen die Sekunden so leidlich (sieht man mit freiem Auge bzw. man 
misst mit einer Uhr mit Sekundenzeiger einfach mal die Dauer von 10 
Blinkern aus), dann ist der 12Mhz Quarz aktiv. Abweichungen kleiner ein 
paar Hundert Kiloherz kann man damit nicht feststellen. Da deine 
Alternativen aber 1Mhz (Quarz nicht aktiv) bzw. irgendwas bei knapp 2Mhz 
(CKDIV Fuse) sind, und das schon eine enorme Differenz ausmacht (Faktor 
12 bzw. Faktor 8) besteht keine Gefahr das man das verwechselt.

von Karl H. (kbuchegg)


Lesenswert?

> ich habe schon seit langem vor, eine ganz simple lösung zu nutzen
> oder "bauen", um ganz einfach eine virtuelle com-port schnittstelle
> per usb zu erreichen, damit ich dann meine schon vorhandenen
> projekte per rs232 weiternutzen zu kann, da ich nur rs232 befehle
> schicken muss...

Da hast du dir aber einige Mühe gemacht, wenn man bedenkt, dass man für 
ein paar Euro einen USB/RS232 Umsetzer fertig in jeder Hardwarequetsche 
kaufen kann. Anstecken, Treiber installieren, bisheriges RS232 Kabel 
dort anstecken, funktioniert.

von Paul Baumann (Gast)


Lesenswert?

Verlege mal den 1,5 Kiloohm-Widerstand so, dass er direkt am Anschluss 1
der USB-Buchse liegt und nicht hinter den Dioden.

So habe ich es bei all meinen Eigenbau "USB-Apparaten" und die laufen
an den verschiedensten Rechnern.
MfG Paul

von Giuseppe G. (Firma: ACS) (gcrax)


Lesenswert?

@kbuchegg

>Ist doch ganz einfach:
>In einer Softwareschleife eine LED im Sekundentakt ein/ausschalten.
>Dazu sagst du BASCOM noch dass du einen 12Mhz Quarz hast.

Mensch manschmal ist man vor lauter lauter sowas von affendoof :-D
danke, auf die idee hätt ich vorher kommen können :-)
Gleich ausprobiert, also fusebit für ext. quarz stimmt soweit und funzt 
:-)

>Da hast du dir aber einige Mühe gemacht, wenn man bedenkt, dass man für
>ein paar Euro einen USB/RS232 Umsetzer fertig in jeder Hardwarequetsche
>kaufen kann. Anstecken, Treiber installieren, bisheriges RS232 Kabel
>dort anstecken, funktioniert.

Logisch, ganz einfach weil schon das Designen der Platine inkl. dieser 
Wandler einheit eigentlich wichtig ist und wenn ich dann bedenke das ich 
noch um die 20 ics hier rumfliegen hab und so en wandler schon paar 
euronen mehr kostet... hmmm. dann halt ich mich lieber an dem 
spassfaktor "selbst is der mann" :-)


@Paul Baumann

>Verlege mal den 1,5 Kiloohm-Widerstand so, dass er direkt am Anschluss 1
>der USB-Buchse liegt und nicht hinter den Dioden.

Du meinst einfach Dioden überbrücken, das hab ich auch schon probiert, 
aber egal wierum ich das ausprobiere, sobald es anders als in dieser 
schaltung angeschlossen ist, stimmen die werte für D+ / D- und VCC für 
den AVR nicht mehr und dann folgt daraus, das der Prozessor sowieso 
falsch arbeitet und niemals erkannt werden kann...

von Paul Baumann (Gast)


Lesenswert?

G.G. schrob:
>Du meinst einfach Dioden überbrücken,
Nein, das meine ich nicht und das habe ich auch so nicht geschrieben.

MfG Paul

von Εrnst B. (ernst)


Lesenswert?

Paul Baumann schrieb:
> Verlege mal den 1,5 Kiloohm-Widerstand so, dass er direkt am Anschluss 1
> der USB-Buchse liegt und nicht hinter den Dioden.

Das ist eigentlich falsch.
Der 1.5K-Widerstand sollte als Pullup gegen stabilisierte 3.3V gehen.
Wenn die Schaltung direkt mit Vusb läuft (also so 4 .. 5 V), dann ist 
ein ca. 2.2K-Widerstand "richtiger".

Aber wie immer bei USB: Soo genau nimmt das eigentlich kein 
Host-Controller.


@G.G:
Was ist mit den anderen Vorschlägen von oben?
HUB dazwischen, anderer Rechner, andere Windows-Version?

von Giuseppe G. (Firma: ACS) (gcrax)


Lesenswert?

@ernst
>Was ist mit den anderen Vorschlägen von oben?
>HUB dazwischen, anderer Rechner, andere Windows-Version?

Sagte ich doch schon weiter oben, das ich das auch schon an mehreren 
rechnern probiert habe mit allen möglichen windows versionen und das das 
keine änderung gebracht hat...

aber jetzt mal zu nen wichtigsten...

vielen dank an alle für eure bemühungen, ich hab den fehler gefunden, es 
liegt ganz einfach daran, das das usb kabel in der dleitung einen bruch 
intern hatte und ich einfach mal das kabel gewechselt hab und alles is 
seinen lauf gegangen...

ich hab das gerät erkannt, installiert und siehe da, es liegt wie immer 
am falschen hexfile :-D

nochmals vielen dank an alle...
aus fehlern wird man schlau :-)

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