Forum: Mikrocontroller und Digitale Elektronik Wie hoch ist ein AVR für reine Schaltaufgaben übertaktbar.


von Thomas O. (Gast)


Lesenswert?

Hallo,

ich möchte für eine einfache Zählschaltung einen AVR übertakten. Hat
schon jemand Erfahrungen mit AVR's übertakten gesammelt. Es geht nur
um reine Schaltaufgaben, kein A/D, EEPROM usw.

Es soll so ablaufen. Im Pollig wird ständig ein Pin abgefragt sobald
der High wird ein 16bit Register um eins erhöht und das ganze über 2
Port auf ein RAM ausgegeben um es zu adressieren.

Dachte an eine 20 MHZ Typen der dann auf 40 MHz gepuscht wird. Meint
ihr das Ding raucht ab oder könnte das klappen?

von Andi K. (Gast)


Lesenswert?

Mit 40MHz kannst es vergessen.
33MHz gehen mit speziellen 8051 von Maxim die intern einen 4-fach
Multiplikator haben und extern bis 8,33MHz Taktbar sind.
So 20 bis vielleicht 24MHz geht ein AVR.
Wie viele Impulse je Sekunde willst Du zählen?

MfG
Andi

von Rufus T. Firefly (Gast)


Lesenswert?

Abrauchen wird er vermutlich nicht, aber funktionieren wird er
höchstwahrscheinlich auch nicht.
Das geschwindigkeitsbegrenzende Element an der Geschichte ist das
Flash-ROM, das Daten halt nur bis zu einer bestimmten Geschwindigkeit
liefern kann. Darüber gibt's Lesefehler und daraus folgend äußerst
spaßige Programmfunktionalität ...

Da man Programme bei normalen AVRs auch nur aus dem Flash-ROM laufen
lassen kann, kannst Du da auch nichts gegen unternehmen.

Allerdings sind von Atmel zwei AVR-Varianten angekündigt, bei denen das
anders ist. Diese haben kein Flash-ROM, sondern verwenden RAM auch als
Programmspeicher. Der Programmcode wird per USB heruntergeladen
(USB-Bootloader) oder aber aus einem externen ROM geladen.
Danach verhält sich das RAM wie ein ROM, mit dem winzigkleinen
Unterschied, daß es bedeutend schneller ist und daher bis zu 48 MHz
Takt ermöglicht.

Ich rede vom AT76C712/713
http://www.atmel.com/dyn/products/product_card.asp?part_id=3579
http://www.atmel.com/dyn/products/product_card.asp?part_id=3556

- ob man die mittlerweile irgendwoherbekommt?

von Wolfram (Gast)


Lesenswert?

Hallo Thomas

Wenn ich dich richtig verstehe willst du den Takt fuer deinen Zaehler
von aussen zuführen?
Dazu musst du nicht so hoch takten und staendig den PortPin abfragen.
dafuer gibt es Counter die zaehlen selbst hoch (sind auch 16 Bit
breit).
und du wirst auch eine höhere Frequenz erreichen als wenn du ständig
den PortPin abfragst.

von Thomas O. (Gast)


Lesenswert?

Hallo,

dachte mir den AVR als Zähler zu verwenden. Aber so wie du sagst kann
ders ja von sich aus. Müsste dann einfach den Timerwert ausgeben und
spare den einen Takt um vom Port zu lesen. Und den Teiler kann man dann
auch komfortabel nutzen um den Zähler zu verlangsammen.

Dann müsste man ja nur wiederholt
out porta, R16
out portb, R17
durchführen, wenn die 2 Bytes des Timers jetzt in R16 und R17 landen
würden.

von Kutschenegger (Gast)


Lesenswert?

Böse Falle -das mit dem Polling- selbst der counter ist auch
nicht das wahre, da laut Spec auch nur gesampelt wird.

Ich würde dir empfehlen, die Externen interrupts zu nehmen.
Da wird nix gesampelt. Einfach nur der Interrupt ausgelöst
(musst du nur steigende flanke einstellen) und das wars.

Dann kannst du sogar dem µC im Idle lassen oder noch ein anderes
Süpchen kochen.


Gruß

von Thomas O. (Gast)


Lesenswert?

Hallo,

es ist halt die Frage ob das in diesem kurzen Program mit dem Poling
schneller geht als mit den Interrupts, da es auch eine paar Takte
dauert bis zur Interruptroutine gesprungen wird.

Wie schnell ich zählen will. Das kommt ganz drauf an was für ein
Speicherbaustein verwendet werden soll. Habe mich da noch nciht
entschieden aber ein Protokoll wie ein 28C.. wäre nicht schlecht weil
ich sowas schon parat habe, weil ich letztens mit einen EEPROM
experimentiert habe.

von Jens (Gast)


Lesenswert?

Nimm einen PIC und benutze dessen Timer mit externem Clock. Dieser Clock
kann sehr viel höher sein, als der Prozessortakt und die Prescaler
kannst du auch benutzen. Näheres im Datenblatt.

von overclocker (Gast)


Lesenswert?

Habe einen 20Mhz AVR schon auf 60 Mhz übertaktet. Wird dann aber sehr
heis ---> nimm einen Kühlkörper

von Marius Schmidt (Gast)


Lesenswert?

Mein ATtiny läuft jetzt auf 100 Mhz aber der wird halt sehr schnell
heiß, da braucht man dann halt eine Wasserkühlung. ;)

von Benedikt (Gast)


Lesenswert?

Mit flüssigem Stickstoff hängt ein Tiny12L@5GHz jeden P4 ab, glaubts mir
!

von Jens (Gast)


Lesenswert?

Wenn du nen Tiny12 mit 3GHz zum laufen bringst, geb ich dir ne Palette
Bier oder ähnliches aus.

von Andreas (Gast)


Lesenswert?

realistisch bleiben...

LPC21xx ist doch viel besser
da ist das proggen auch anspruchsvoller.

von hans dieter (Gast)


Lesenswert?

der lpc21xx ist echt viel besser!
am besten den port0 nicht verwenden (wegen strom-sparen)
und alles an port1 machen, damit das jtag nicht mehr an geht.

von Läubi (Gast)


Lesenswert?

Wie wärs damit den Takt vorher zu teilen? (Flip Flop oder
Teilerbaustein)

von beta-frank (Gast)


Lesenswert?

Wie wär's, das in nem CPLD zu realisieren?! Die ev. nötige Einarbeitung
in VHDL kost zwar bissel Zeit, aber so ein kompliziertes Projekt
scheints ja net zu sein.

von ,,,, (Gast)


Lesenswert?

Brauchst nicht mal VHDL, sowas einfaches lässt sich noch problemlos als
Schaltplan zeichnen.

von neuer (Gast)


Lesenswert?

bis er die grätsche macht....

von Gast ein Anderer (Gast)


Lesenswert?

Was du da bauen willst nenn ich 16bit Zähler. Zwei 8bit Zähler
kaskadieren (hintereinander schalten). 4 bit Zähler etwas sind
einfacher zu bekommen. Asynchrone Zähler könnten evtl. Probleme machen.
Ich würde ne CPLD nehmen. Dafür brauchst du auch kein VHDL zu können, so
etwas einfaches kannst du z.B. mit Xilinx WebPack schnell als Schematic
machen das geht wie Schaltpläne erstellen. In VHDL ein Template
(Beispielmodul) umzuschreiben ist aber auch schnell zu verstehen und
braucht kaum 1 Minute.
Gruß

von ,,,, (Gast)


Lesenswert?

Warum widerholst du jetzt das von mir geschriebene?

von Gast ein Anderer (Gast)


Lesenswert?

Hab noch geschrieben da hast du schon längs gesendet. Bin einfach zu
langsam. :-(

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.