Forum: Mikrocontroller und Digitale Elektronik µC mit USB ohne externe Taktquelle?


von walter (k.) (Gast)


Lesenswert?

Hey, kennt einer von euch vielleicht einen kleinen µC der ohne externen 
Quarz auskommt? der PIC18C2450 z.b. scheint ja einen zu benötigen.

von Hubert.G (Gast)


Lesenswert?

Die ATmega und Tiny habe einen internen Oszillator.

von walter (k.) (Gast)


Lesenswert?

ja, ich hab mir auch schon überlegt ob ich USB in software auf einem 
ATTiny45 laufen lasse. Aber ich wollte vorher nochmal wissen ob es nicht 
welche gibt, welche das schon hardware-mäßig drinn haben.

von Andreas K. (a-k)


Lesenswert?

Für 1,5Mbps (low speed) reicht eine Takt-Toleranz von +/- 1,5% aus. 
Dafür könnte der interne Osz von o.g. PIC bei Zimmertemperatur sogar 
ausreichen.

Bei 12Mbps (full speed) mit 0,25% hingegen wird das ohne Quarz nix.

von walter (k.) (Gast)


Lesenswert?

Leider ist es bei dem pic technisch nicht möglich den internet osz der 
usb einheit zu zuweisen :(

von Andreas K. (a-k)


Lesenswert?

Hehe - genau genug wäre der PIC vielleicht, nur kann das USB damit nix 
anfangen und die Frequenzen passen nicht.

von Quirks (Gast)


Lesenswert?

Schau bei Cypress nach...die PSOC-Serie ist ganz nett und unterstüzt 
12Mbps ohne externen Quarz..Eine Programmer gibt es auch als Schaltplan 
im Netz

von rayelec (Gast)


Lesenswert?

Die C8051F32x-Controller von Silabs haben einen eingebauten Oszillator, 
welcher über den ganzen Temperaturbereich die angegebene Toleranz von 2% 
einhält. Die Controller sind deshalb für USB geeignet (sogar Full-Speed 
12Mbps geht! Habe vor einer Woche gerade eine Demo gesehen, wo per USB 
von einer CF-Karte ein kleines Filmchen zum PC übertragen und in 
Echtzeit abgespielt wurde).

Gruss
rayelec

von Andreas K. (a-k)


Lesenswert?

Steht nicht ausdrücklich drin, aber laut Blockschaltbild müsste der 
AT90USB162 es hinbekommen, den USB-Takt aus dem 8MHz +/-1% R/C-Osz zu 
gewinnen.

von Andreas K. (a-k)


Lesenswert?

rayelec wrote:

> einhält. Die Controller sind deshalb für USB geeignet (sogar Full-Speed
> 12Mbps geht!

Bloss steht im USB Standard dafür eine zulässige Abweichung von 0,25% 
drin. Heisst also: kann funktionieren, muss aber nicht.

von rayelec (Gast)


Lesenswert?

sind die 0.25% für 12Mbps oder für 480Mbps?

von jürgen (Gast)


Lesenswert?

die uC syncronisieren sich auf das USB Signal auf, der interne osc
hält die 2%, und bei der USB referenz wird dann die 0.25% eingehalten.
Das machen auch die Cypress und andere so.

Gruß

von Andreas K. (a-k)


Lesenswert?

rayelec wrote:

> sind die 0.25% für 12Mbps oder für 480Mbps?

0.25% bei 12Mbps. 0,05% bei 480Mbps.

von walter (k.) (Gast)


Lesenswert?

Vielen dank für eure Antworten. Der C8051F320 scheint mir sehr geeignet 
zu sein. Gibt es eine Webseite wo sich Hobbyelektroniker mit den 
C8051F32x-Controllern beschäftigen?

von rayelec (Gast)


Lesenswert?

Die Controller von Silabs sind Abkömmlinge des guten alten Intel 8051 
von ca. 1978 (nur um ca. Fakto 50-100 getunet). Die 8051er Plattform ist 
wohl die am weitesten verbreitete Architektur überhaupt. Webseiten und 
Code gibt es haufenweise - ist alles im Prinzip kompatibel, nur wurden 
die neuen Controller mit unzähligen neuen features ausgerüstet, welche 
aber i.d.R. über sog. Special Function Register (SFR) kontrolliert 
werden. Der Kern ist immer noch derselbe, nur schneller.

Es lohnt sich, von Silabs ein Kit (oder zumindest den Toolstick mit 
Debug-Kabel) zu kaufen.

Gruss
rayelec

von Guido Körber (Gast)


Lesenswert?

Also dass 8051 die am weitesten verbreitete Architektur ist, ist eine 
urban Legend. Es ist nur im Hobbybereich die häufigste Architektur und 
es ist einer der miesesten Prozessorkerne überhaupt. Tatsächlich 
schlagen sich HC05/HC08 und PIC um den ersten Platz bei den Stückzahlen, 
auch wenn es für 8051 mehr Hersteller gibt, die schaffen jeder aber nur 
relativ winzige Marktanteile.

Zum Thema USB: Wer eine USB Funktion ohne Hardware-SIE komplett in 
Software schreibt hat zu viel Zeit, dto. wer sowas verwendet. Die SIE im 
Chip zu haben macht diesen nicht nennenswert teurer, spart aber jede 
Menge Probleme, da dann das Timing stimmt und nicht jede Änderung am 
Code wieder die gesamte Funktion in Frage stellt.

Cypress hat mit den EnCoRe Chips eine ganze Familie von Controllern, die 
interne Oszillatoren mit PLL haben, die dafür sorgen, dass sich der 
Prozessortakt mit dem USB Takt synchronisiert. Ab den EnCoRe II Chips 
gibt es ein ordentliches Entwicklungssystem für moderates Geld, für 
kleinere Ansprüche (und Geldbörsen) gibt es einen In-Circuit Programmer.

von Rudolph (Gast)


Lesenswert?

Kommt ja drauf an, was man mit dem USB machen will.
Mir gefallen die FT232RL Wandler mehr und mehr.
Die können bei Bedarf auch einen externen Takt von 12 MHz zur Verfügung 
stellen und somit einen AVR ohne Quarz flinker laufen lassen.

von Stephan W. (stw)


Lesenswert?

Hallo, die Firma Objective Development bietet ihren USB-Code für AVR 
neuerdings in einer Variante an, die keinen externen Oszillator 
benötigt:

http://www.obdev.at/products/avrusb/easylogger.html

Der Code ist IIRC unter einer GPL-ähnlichen Lizenz veröffentlicht.

Grüsse,
Stephan

von Guido Körber (Gast)


Lesenswert?

Was ist denn die eigentliche Aufgabenstellung?

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.