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?
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
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?
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.
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.
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ß
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.
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.
Habe einen 20Mhz AVR schon auf 60 Mhz übertaktet. Wird dann aber sehr heis ---> nimm einen Kühlkörper
Mein ATtiny läuft jetzt auf 100 Mhz aber der wird halt sehr schnell heiß, da braucht man dann halt eine Wasserkühlung. ;)
Mit flüssigem Stickstoff hängt ein Tiny12L@5GHz jeden P4 ab, glaubts mir !
Wenn du nen Tiny12 mit 3GHz zum laufen bringst, geb ich dir ne Palette Bier oder ähnliches aus.
realistisch bleiben... LPC21xx ist doch viel besser da ist das proggen auch anspruchsvoller.
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.
Wie wärs damit den Takt vorher zu teilen? (Flip Flop oder Teilerbaustein)
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.
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ß
Warum widerholst du jetzt das von mir geschriebene?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.