Wie hoch ist ein AVR für reine Schaltaufgaben übertaktbar.

Gast #209142
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?
Gast #209143
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
Gast #209144
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?
Gast #209145
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.
Gast #209146
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.
Gast #209147
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ß
Gast #209148
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.
Gast #209160
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ß

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