ATMega48 mit Taktvorteiler - USART-Takt auch geteilt?

Gast #1335276
Lesenswert?

Wie viele hier wohl bereits wissen, bieten neuere ATMegas (wie der 
48/88/168) die Möglichkeit, den Systemtakt durch Setzen des 
CLKPR-Registers über einen Vorteiler zu ändern.
Aus dem Datenblatt kann ich jedoch beim besten Willen nicht ablesen, ob 
dies auch die USART-Baudrate beeinflußt. Da ist einerseits davon die 
Rede, daß der heruntergeteilte Takt auch für die Peripherie gilt, z.B. 
als clkIO. Andererseits ist in Zusammenhang mit der USART-Baudrate bzw. 
UBRR-Einstellung immer von fOsc die Rede, und nicht von einem bestimmten 
Peripherietakt als Quelle.

Der Oszillator läuft nach wie vor mit 8 MHz. Wenn ich einen 
Taktvorteiler von 16 für die CPU festlege, muß ich dann für die 
Berechnung der Baudrate von fOsc=8.000.000 ausgehen, oder vielmehr von 
fOsc=500.000?

Auch Google ist in dieser Frage nicht sehr freundlich zu mir (oder ich 
verwende die falschen Suchbegriffe, kann auch sein).
#1335292
Lesenswert?

Sebastian schrieb:

> Auch Google ist in dieser Frage nicht sehr freundlich zu mir (oder ich
> verwende die falschen Suchbegriffe, kann auch sein).

Die erste Anlaufstelle bei solchen Problem ist das Datenblatt:
Aus dem Blockdiagramm direkt am Anfang von 8. System Clock and Clock 
Options kann man die Antwort schon entnehmen.
Wenn das nicht reicht, dann steht es weiter unten auch nochmal im 
Klartext drin:
1
This can be used with all clock source options, and it will affect the clock
2
frequency of the CPU and all synchronous peripherals. clkI/O, clkADC, clkCPU, and clkFLASH are divided by a factor as shown in Table 28-3 on page 308.
Gast #1335303
Lesenswert?

>Ich war bloß ziemlich verunsichert, weil nirgendwo gesagt wurde, daß der
>USART ein "synchronous peripheral" ist.

Das "synchron" bezieht sich hier auf die USART, also eine Kommunikation 
wo ein Takt zusätzlich übertragen wird, nicht auf seine Taktquelle (was 
dann trotzdem egal wäre).
#1335306
Lesenswert?

Sebastian schrieb:

> Ich war bloß ziemlich verunsichert, weil nirgendwo gesagt wurde, daß der
> USART ein "synchronous peripheral" ist.

Steht aber auch im Datenblatt:
1
8.1.2 I/O Clock – clkI/O
2
The I/O clock is used by the majority of the I/O modules, like Timer/Counters, SPI, and USART.

> Also gehen nur maximal 4800 Baud im Double-Speed Modus. Wie schade.

Mit einem Baudratenquarz geht auch mehr:
7,3728MHz/16=460,8kHz
460,8kHz/8 (U2X Mode)=57600Baud

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren