mikrocontroller.net

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


Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...
http://www.atmel.com/dyn/products/product_card.asp...

- ob man die mittlerweile irgendwoherbekommt?

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kutschenegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: overclocker (Gast)
Datum:

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

Autor: Marius Schmidt (Gast)
Datum:

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

Autor: Benedikt (Gast)
Datum:

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

Autor: Jens (Gast)
Datum:

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

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
realistisch bleiben...

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

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Läubi (Gast)
Datum:

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

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ,,,, (Gast)
Datum:

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

Autor: neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bis er die grätsche macht....

Autor: Gast ein Anderer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum widerholst du jetzt das von mir geschriebene?

Autor: Gast ein Anderer (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.