Forum: Mikrocontroller und Digitale Elektronik ATmega, Baudratenquarz und USB?


von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

hat schon jemand Erfahrung mit USB im Zusammenhang mit Baudratenquarzen 
(14,7456MHz) als Taktquelle für einen ATmega gesammelt.

Ich möchte also einen ATmega mit 14,7456MHz takten und gleichzeitg eine 
Software-USB-Schnittstelle auf der Baugruppe haben. Ich möchte aber 
keinen speziellen USB-IC (z.B. FT232) verbauen.

Bei der USB-Lib von obdev.at gibt es ja auch ein Include für 15Mhz, was 
ja der Frequenz schom ziehmlich nahe kommen würde, paßt das? Gibt es 
noch anderen Softare-Alternativen?

Grüße & Danke Uwe

von Ulrich (Gast)


Lesenswert?

Die USB Frequenz sollte kritischer sein als die UART Frequenz. Wenn die 
UART nicht zu schnell ist im Vergleich kann man auch mit einem 20 MHz 
Quarz noch genügend genau die Baudrate einstellen.

von Falk B. (falk)


Lesenswert?

@  Uwe Berger (boerge) Benutzerseite

>hat schon jemand Erfahrung mit USB im Zusammenhang mit Baudratenquarzen
>(14,7456MHz) als Taktquelle für einen ATmega gesammelt.

Nein, aber . . .

>Software-USB-Schnittstelle auf der Baugruppe haben. Ich möchte aber
>keinen speziellen USB-IC (z.B. FT232) verbauen.

Ist der soooo teuer?

>Bei der USB-Lib von obdev.at gibt es ja auch ein Include für 15Mhz, was
>ja der Frequenz schom ziehmlich nahe kommen würde, paßt das?

15 MHz / 10 =15, MHz. Das ist die Low Speed USB Datenrate.

AFAIK sind dort max. 2,5% Frequenzfehler zulässig. Deine 14,7456MHz 
haben -1,7% Abweichung. Könnte klappen.

MFG
Falk

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Ulrich schrieb:
> Die USB Frequenz sollte kritischer sein als die UART Frequenz. Wenn die
> UART nicht zu schnell ist im Vergleich kann man auch mit einem 20 MHz
> Quarz noch genügend genau die Baudrate einstellen.
>
ich brauche UART genau (Webcam-Geschichte) und möchte USB als Luxus 
haben...

Grüße Uwe

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Falk Brunner schrieb:

>>Software-USB-Schnittstelle auf der Baugruppe haben. Ich möchte aber
>>keinen speziellen USB-IC (z.B. FT232) verbauen.
>
> Ist der soooo teuer?
>
das nun nicht, aber möchte nicht unbedingt nötige Bauteile verbauen.


> AFAIK sind dort max. 2,5% Frequenzfehler zulässig. Deine 14,7456MHz
> haben -1,7% Abweichung. Könnte klappen.
>
stimmt, wenn man es so betrachtet könnte es funktionieren, also wirklich 
mal ausprobieren...

Grüße & Danke Uwe

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Uwe Berger schrieb:

> hat schon jemand Erfahrung mit USB im Zusammenhang mit Baudratenquarzen
> (14,7456MHz) als Taktquelle für einen ATmega gesammelt.
>
> Ich möchte also einen ATmega mit 14,7456MHz takten und gleichzeitg eine
> Software-USB-Schnittstelle auf der Baugruppe haben. Ich möchte aber
> keinen speziellen USB-IC (z.B. FT232) verbauen.
>
> Bei der USB-Lib von obdev.at gibt es ja auch ein Include für 15Mhz, was
> ja der Frequenz schom ziehmlich nahe kommen würde, paßt das? Gibt es
> noch anderen Softare-Alternativen?

Nein. Das passt nicht. 15MHz sind nicht 14.7456MHz. Die 
AVR-Soft-USB-Implementierungen die ich kenne, funktionieren alle nur in 
Assembler und mit peinlichst genauer Buchhaltung und Abzählung wieviel 
Ticks jeder Befehl/Sprung schon verbraucht hat. Mit einer Anpassung 
einer Timer-Initialisierung an eine andere Taktrate ist es also nicht 
getan, sonder alle Zyklusberechnungen mussen neu geschehen und die 
Implementierung darauf angepasst werden.

Beispielsweise verwendet der USBasp in seiner Firmware einen SW-USB, der 
auch im Asm-Teil sehr gut kommentiert ist:
   http://www.fischl.de/usbasp

Johann

von Falk B. (falk)


Lesenswert?

@  Johann L. (gjlayde) Benutzerseite

>Nein. Das passt nicht. 15MHz sind nicht 14.7456MHz.

Vermutung oder ausprobiert?
Ich weiss dass dort alles per handoptimiertem ASM läuft, aber wie 
gesagt, WENN sie die Dinger halbwegs standardkonform verhalten KÖNNTE es 
laufen.

MFG
Falk

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.