Forum: Mikrocontroller und Digitale Elektronik Fusebits - tiny2313 mit 4 MHz Quarz


von mr-unbekannt (Gast)


Lesenswert?

Hallo!

Ich bin ziemlicher Neuling und habe mir soeben bei Pollin 3 ATtiny2313 
gekauft.
Dazu 3 4MHz Quarze-> 2 Füßchen. (Keine Quarzoszillatoren)
Programmieren werde ich mit einem selbstgemachten ISP-Adapter auf den 
LPT.

Ich benutze PonyProg und würde nun gerne wissen, welche Fusebits ich 
setzen, bzw. löschen muss?!?

Im Datenblatt steht: bei 3-8 MHz muss CKSEL3 = 1; CKSEL2 = 1 und CKSEL1 
= 0
sein. Habe bei "crystal oscillator" geschaut.

was muss ich denn jetzt bei CKSEL0 und bei SUTx einstellen?

Ich will nämlich nichts falschmachen...

Vielen DAnk,
mr-unbekannt

PS: ich weiß, dass bei Ponyprog Häkchen setzen 0 bedeutet.
PPS: ICh sehe immer einem Pin bei den Anderen ISP-Adaptern für Vcc, ich 
habe aber keine Spannungsversorgung beim programmieren?!?

von Joe (Gast)


Lesenswert?


von Hannes L. (hannes)


Lesenswert?

Mach Deine ersten Schritte lieber ohne Quarz und lass die Fusebits in 
Ruhe, solange es geht. Quarz brauchst Du erst für UART, da solltest Du 
dann aber einen Baudratenquarz (z.B. 3,6864 MHz) vorziehen, ist einfach 
zuverlässiger.

Ansonsten stehen die Fuses und ihre Wirkung ausführlich im Datenblatt. 
Das Datenblatt bekommt man kostenlos bei www.atmel.com

...

von mr-unbekannt (Gast)


Lesenswert?

hallo!

Naja, jetzt habe ich einige Fragen!

1.) Was ist UART (ist das das gleiche wie USART)?
2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.
3.) der FuseCalculator ist ganz gut, aber was bedeutet das:
Start-up time 14CK + 4.1 ms???
4.) DAtenblatt habe ich schon

5.) Danke nochmals ;-)

von Falk (Gast)


Lesenswert?

@Hannes Lux

>dann aber einen Baudratenquarz (z.B. 3,6864 MHz) vorziehen, ist einfach
>zuverlässiger.

Idiotensicherer vielleicht, aber kaum zuverlässiger. 
Nichtbaudratenfreqeunzquarze sind nicht böse ;-)

>Ansonsten stehen die Fuses und ihre Wirkung ausführlich im Datenblatt.
>Das Datenblatt bekommt man kostenlos bei www.atmel.com

Und Apfelmus ist Mus aus Äpfeln. Das leidige Thema Fuses und Ponyprog 
haben wir ja schon des öfteren durch. Doofes Ponyprog. Ich nehme SP12, 
das ist super und man gibt die Fuses genauso an wie es im Datenblatt 
steht (0/1). Diese sinnlose Parallelinterpretation programmiert/nicht 
programmiert irritier nur.

http://www.mikrocontroller.net/articles/AVR_Fuses
http://www.mikrocontroller.net/articles/AVR_ISP#SP12_Programmer

http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATtiny2313&P=ATtiny2313&V_LOW=DC&V_HIGH=DF&V_EXTENDED=FF&M_LOW_0x3F=0x1C&M_LOW_0x40=&M_LOW_0x80=&M_HIGH_0x01=&M_HIGH_0x0E=0x0E&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=&M_HIGH_0x80=&M_EXTENDED_0x01=&B_SUT1=P&B_SPIEN=P&B_CKSEL1=P&B_CKSEL0=P&O_BITS=Apply+fuse+bits

MfG
Falk


von Joe (Gast)


Lesenswert?

> 3.) der FuseCalculator ist ganz gut, aber was bedeutet das: Start-up time 14CK + 
4.1 ms???

Das ist die Zeit die der Osc. braucht um einzuschwingen.

Baudrate (Geschwindigkeit der seriellen Schnittstelle) USART.

UART = USART, einmal alte Bezeichnung sowie neue. Ebenso ist die USART 
etwas anders konstruiert, steht aber im Datenblatt.


von Falk (Gast)


Lesenswert?

@mr-unbekannt

>1.) Was ist UART (ist das das gleiche wie USART)?

Ja. USART ist eine Weiterentwicklung des UART.

>2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.

Das ist deine Übertragungsgeschwindigkeit des UART, angegeben in Bit/s 
oder Baud (Zeichen/Sekunde). Beim UART sind beide Angaben identisch.

>3.) der FuseCalculator ist ganz gut, aber was bedeutet das:
>Start-up time 14CK + 4.1 ms???

Dass es nach dem Deaktivieren des Resets noch 14 Takte (CK) und 4.1 ms 
dauert, ehe dein AVR mit dem Programm loslegt. Nimm lieber 14CK + 65ms, 
ist erstmal sicherer.

MFG
Falk

von Rahul, der Trollige (Gast)


Lesenswert?

>1.) Was ist UART (ist das das gleiche wie USART)?
Ja, nur dass USART auch noch synchrone Übertragungen ermäglicht.

>2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.
http://de.wikipedia.org/wiki/Baudrate

>3.) der FuseCalculator ist ganz gut, aber was bedeutet das:
>Start-up time 14CK + 4.1 ms???
Nah 4.1ms und 14Clockcycles gilt der Takt als stabil

>4.) DAtenblatt habe ich schon
Schön. Jetzt musst du es dir noch noch angucken (so, dass man die 
Schrift lesen kann, und dann am besten von vorne nach hinten...)

>5.) Danke nochmals ;-)
Da nich für!

von Falk (Gast)


Lesenswert?

@Joe
>> 3.) der FuseCalculator ist ganz gut, aber was bedeutet das: Start-up >time 14CK 
+ 4.1 ms???

>Das ist die Zeit die der Osc. braucht um einzuschwingen.

Nein, das ist die Zeit, die die Resetschaltung noch wartet, nachdem die 
Versorgungsspannung einen gültigen Pegel erreicht hat.

MfG
Falk

von Joe (Gast)


Lesenswert?

Falk,

Danke für den Hinweis.

von Hannes L. (hannes)


Lesenswert?

mr-unbekannt wrote:
> hallo!
>
> Naja, jetzt habe ich einige Fragen!
>
> 1.) Was ist UART (ist das das gleiche wie USART)?

UART ist eine Betriebsart (die asynchrone) des Universellen Asynchron 
(oder) Synchron Receiver / Transmitters

Wenn ich die (meistgenutzte) asynchrone Betriebsart meine (RS232), 
spreche ich von UART und nicht von USART. Denn ich nutze ja nicht 
gleichzeitig asynchron und synchron. ;-)

> 2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.

Gut, da halte ich mich jetzt zurück, ich habe keine Lust auf einen 
Meinungsstreit. Falk har recht und ich meine Ruhe. ;-)

Solange Du das nicht brauchst, brauchst Du vermutlich auch keinen Quarz. 
Zeitunkritische Dinge gehen auch mit dem internen RC-Oszillator. Also 
lass die Finger von den Fuses bis Du etwas mehr Wissen hast. Du wärst 
nicht der erste, der sich ausgesperrt hat, bevor das erste Programm im 
AVR lief.

> 3.) der FuseCalculator ist ganz gut, aber was bedeutet das:
> Start-up time 14CK + 4.1 ms???
> 4.) DAtenblatt habe ich schon

Dann solltest Du es lesen und versuchen zu verstehen.

>
> 5.) Danke nochmals ;-)

Nix zu danken.

...

von mr-unbekannt (Gast)


Lesenswert?

OK, Vielen Dank.

Ich stelle diese Werte jetzt bei PonyProg ein:

 CKDIV8 = 1  DWEN       = 1
 CKOUT  = 1  EESAVE     = 1
 SUT1   = 1  SPIEN      = 1
 SUT0   = 1  WDTON      = 1
 CKSEL3 = 1  BODLEVEL2  = 1
 CKSEL2 = 1  BODLEVEL1  = 1
 CKSEL1 = 0  BODLEVEL0  = 1
 CKSEL0 = 1  RSTDISBL   = 1  SELFPRGEN = 1


Der Takt soll ja nicht geteilt werden oder... deshalb CKDIV 8 = 1.
Wenn CKSEL0, SUT1 und SUT0 1 sind bedeutet das 14CK + 65 ms Crystal 
Oscillator, slowly rising power

stimmen meine Aussagen?

mfg mr

von Falk (Gast)


Lesenswert?

@Hannes Lux

>> 2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.
>Gut, da halte ich mich jetzt zurück, ich habe keine Lust auf einen
>Meinungsstreit. Falk har recht und ich meine Ruhe. ;-)

Wenn das ein Anspielung auf meine Aussage

"Das ist deine Übertragungsgeschwindigkeit des UART, angegeben in Bit/s
oder Baud (Zeichen/Sekunde). Beim UART sind beide Angaben identisch."

sein soll, hast du natürlich Recht, wenn du unter einem ZEICHEN ein Byte 
verstehst. Ich hab in dem Moment mehr Richtung Leitungscode (Zeichen = 
Bit)gedacht, naja, Kommtechniker halt ;-)

MfG
Falk


von Helmut Wendler (Gast)


Lesenswert?

> Falk har recht und ich meine Ruhe. ;-)

Ist das so neu für dich?

von mr-unbekannt (Gast)


Lesenswert?

also im Klartext, UART ist die Übertragungsweise der RS232 
Schnittstelle.
Was ist dann mit der parallelen Schnittstelle, ist das auch UART?

stimmen nun meine Einstellungen für einen Quarz mit 4 MHz?

von Rahul, der Trollige (Gast)


Lesenswert?

>Was ist dann mit der parallelen Schnittstelle, ist das auch UART?

NEIN!
UART bezeichnet schon seit ewigen Zeiten eine serielle Schnittstelle.

von Rahul, der Trollige (Gast)


Lesenswert?


von Falk (Gast)


Lesenswert?

@mr-unbekannt

>also im Klartext, UART ist die Übertragungsweise der RS232
>Schnittstelle.

Ja.

>Was ist dann mit der parallelen Schnittstelle, ist das auch UART?

Nein. Das ist schlicht die parallele Schnittstelle. Die könntest du auch 
mit deinem AVR verbinden, allerdings gibts dazu kein spezielles Modul im 
AVR, du musst alles selber per Software machen.

>stimmen nun meine Einstellungen für einen Quarz mit 4 MHz?

Ja.

MfG
Falk

von mr-unbekannt (Gast)


Lesenswert?

ich habe mir den parallelen Adapter von der bekannten Seite 
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm nachgebaut.

Der dürfte doch ohne weiteren Aufwand funktionieren?!? oder?

@ Falk "Die könntest du auch
mit deinem AVR verbinden, allerdings gibts dazu kein spezielles Modul im
AVR, du musst alles selber per Software machen."

Was ist damit gemeint?

mfg

von Rahul, der Trollige (Gast)


Lesenswert?

UART ist zusammen mit seinen Baudraten eine Standard-Schnittstelle (Wenn 
man auch noch den Pegel dazunimmt, ist bei bei einer RS232 oder RS422 
bei den Vollduplx-Schnittstellen und RS485 bei den halbduplexen).

Parallele Schnisttellen sind nicht drart vereinbar. (GPIB ist auch eine 
parallele Schnittstelle...)

von Rahul, der Trollige (Gast)


Lesenswert?

UART ist bitserielle, Parallel >bitseriell...

von Holger K. (krulli) Benutzerseite


Lesenswert?

mr-unbekannt wrote:
>
> stimmen nun meine Einstellungen für einen Quarz mit 4 MHz?

Ja, ist so genehmigt ;)

von Karl H. (kbuchegg)


Lesenswert?

mr-unbekannt wrote:
> @ Falk "Die könntest du auch
> mit deinem AVR verbinden, allerdings gibts dazu kein spezielles Modul im
> AVR, du musst alles selber per Software machen."
>
> Was ist damit gemeint?

Das eine UART ein Hardware Modul in deinem Tiny ist:
Du frägst ab, ob das MOdul bereit ist. Wenn ja stopfst
du das zu übertragende Byte in das MOdul hinein und das
Modul sorgt dafür, dass die Daten auf die Reise gehen.

Bei parallel musst du selbst ran: Du darfst dir selbst
ausdenken, wie die Kommunikation laufen soll: In welcher
Reihenfolge sind welche Pins auf High oder Low zu ziehen um
bestimmte Zustände anzuzeigen.

von Michael U. (Gast)


Lesenswert?

Hallo,

nette Diskussion. ;)

UART und USART bezeichnen schon seit ewigen Zeiten die Hardware eines 
Schnittstellenbausteins, genauso wie PIO (Parallel-Input-Output) oder 
SIO oder CTC.

Ich zumindest denke, dabei sollte es auch besser bleiben.
Wenn ich sehe, daß ein bestimmter AVR einen UART hat, weiß ich, daß der 
in Hardware nur asyncron kann, hat er einen USART kann er eben auch 
syncron.

Ob ich das benutze, steht doch auf einem völlig anderen Blatt.

Denke ich zumindest. Schon seit Z80/6800/6510 Zeiten.

Gruß aus Berlin
Michael

von Hannes L. (hannes)


Lesenswert?

Falk wrote:
> @Hannes Lux
>
>>> 2.) Baudrate?!? Habe ich schon oft gehört aber weiß nicht was das ist.
>>Gut, da halte ich mich jetzt zurück, ich habe keine Lust auf einen
>>Meinungsstreit. Falk har recht und ich meine Ruhe. ;-)
>
> Wenn das ein Anspielung auf meine Aussage
>
> "Das ist deine Übertragungsgeschwindigkeit des UART, angegeben in Bit/s
> oder Baud (Zeichen/Sekunde). Beim UART sind beide Angaben identisch."

Nein, auf diese:

> Idiotensicherer vielleicht, aber kaum zuverlässiger.
> Nichtbaudratenfreqeunzquarze sind nicht böse ;-)

Ist aber Geschichte, ich werde wohl zukünftig in diesem Forum Niemanden 
mehr zu baudratentauglichen Quarzen raten.

Beste Grüße,
Hannes

von Falk (Gast)


Lesenswert?

@Hannes Lux

>> Idiotensicherer vielleicht, aber kaum zuverlässiger.
>> Nichtbaudratenfreqeunzquarze sind nicht böse ;-)

>Ist aber Geschichte, ich werde wohl zukünftig in diesem Forum Niemanden
>mehr zu baudratentauglichen Quarzen raten.

Endlich erleuchtet? ;-)

SCNR
Falk

von ..,,..-- (Gast)


Lesenswert?

Nicht zu fassen...

von Jack B. (jackbraun)


Lesenswert?

>Ist aber Geschichte, ich werde wohl zukünftig in diesem Forum Niemanden
>mehr zu baudratentauglichen Quarzen raten.

Würde mich mal jetzt interessieren:
Kann man bei einem AVR aus jeder beliebigen Quarzfrequenz jede Baudrate
erzeugen?
Beim 8051 geht das leider nicht.

von Sonic (Gast)


Lesenswert?

Beim AVR mal mit 0.2%, mal mit 3.4% Fehler, also bei den 10 bit eines 
Bytes unerheblich. Im Datenblatt steht die Berechnung von UBRRL.
UBRRL = (Fosc/(16*Baudrate))-1
Glaub' ich jedenfalls.

von johnny.m (Gast)


Lesenswert?

> Kann man bei einem AVR aus jeder beliebigen Quarzfrequenz jede Baudrate
> erzeugen?
Im Datenblatt eines jeden AVR sind Tabellen für die Standard-Baudraten 
mit den üblichen Quarzen. Schau einfach da nach. Einen Baudratenquarz 
benötigt man i.d.R. nur dann, wenn man darauf angewiesen ist, lückenlos 
eine große Bandbreite der Standard-Baudraten einstellen zu können. Für 
den Betrieb mit einer festen Baudrate genügt meist ein Standard-Quarz, 
der eben diese Baudrate mit weniger als etwa 2 % erzeugen kann. Mit 
einem 8 MHz-Quarz lassen sich z.B. schon mal alle Baudraten bis einschl. 
38,4 kBd, die 76,8 kBd und die High-Speed-Raten (250 und 500 kBd) mit 
weniger als 1 % Abweichung einstellen. Das reicht für die meisten 
Sachen.

von Falk (Gast)


Lesenswert?

@Jack Braun

>Würde mich mal jetzt interessieren:
>Kann man bei einem AVR aus jeder beliebigen Quarzfrequenz jede Baudrate
>erzeugen?

Nein.

>Beim AVR mal mit 0.2%, mal mit 3.4% Fehler, also bei den 10 bit eines
>Bytes unerheblich.

Kaum. Theoretisch sind 3% gerade noch so akzeptabel, wenn die 
Gegenstelle (meist der PC) mit 0% Fehler arbeitet. Praktisch sollte man 
sich auf Werte <= 1% beschränken.

http://pdfserv.maxim-ic.com/en/an/AN2141.pdf

MfG
Falk

von Jack B. (jackbraun)


Lesenswert?

Also sind 'Baudratenquarze' doch die 'Guten'.

von johnny.m (Gast)


Lesenswert?

> Also sind 'Baudratenquarze' doch die 'Guten'.
Wenn Du wirklich jede einzelne der Standard-Baudraten von A bis Z 
präzise haben willst, dann ja.

von Rahul, der Trollige (Gast)


Lesenswert?

>Standard-Baudraten

Die sind doch bestimmt wieder von irgendwelch zölligen Affen/Texanern 
entwickelt worden... (Meine völlig belanglose Meinung)

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.