Ich bin mir nicht sicher mit welchem Takt der AVR Butterfly läuft. Nach verschiedenen Versuchen mit einem Timerinterrupt und verschiedenen Vorteilern mit Ausgabe an LEDs denke ich, dass es möglicherweise 1MHz sind. Könnte dies korrekt sein? Leider habe ich kein KO um es direkt zu messen... Justus
Von 1 MHz würde ich ohne Studium der Butterfly-Doku auch erstmal ausgehen -- das wäre nämlich der interne RC-Oszillator. Einen Quarz hat er meines Wissens bestenfalls für die RTC (32 kHz).
Jep, Takt des BF ist im Auslieferungszustand mit der vorinstallierten Applikation 1MHz vom internen RC-Osz. wie JW schreibt. Dieser Takt wird bei der vorinstallierten Version (ab V0.6) mittels des on-board 32kHZ "Uhrenquarzes" kalibriert. Beim vorinstallierten Bootloader und in der Funktion zum Eingeben des Namens bei der Applikation wird temporaer auf 2MHz "internal-RC" umgestellt (19200bps bei mgl. kleinem Fehler). Die Doku zum BF ist nicht besonders hilfreich, aus den Kommentaren im Quellcode der Original-Applikation und des Bootloaders kann man jedoch einiges an Information herausziehen.
Danke für den Hinweis, das Problemchen ist, dass ich 1. noch nie uCs prorammiert habe,... 2. C nicht kann, da zu meiner Zeit an der Hochschule Modula2 in war und ich mich anschliessend aufs Feld Hochfrequenztechnik verlegt habe und 3. ich, was Messinstrumente anbelangt, relativ schlecht ausgerüstet bin.... So, genug geweint.... wahrscheinlich hilft halt wirklich nur "sich durchbeissen". Viele Grüsse und einen schönen Sonntag Justus
Ist es für eine Übertragung über die serielle Schnittstelle zwingend nötig, die Taktrate zu kalibrieren? Ich habe vor, Daten mit dem 1MHz Takt über den UART mit 4800bps zu senden (Fehler der Datenrate gemäss Datenblatt: 0.2%). Bzw. hat jemand Erfahrung, wie stark der 1MHz Takt vom Sollwert abweicht? Wie sieht es denn mit der Abweichung des "Uhrenquarzes" gegenüber der Sollfrequenz aus? Auch dieser ist ja Temperaturschwankungen unterworfen. Justus
Ja, eine gewissen Kalibrierung braucht's schon, um die 0,2 % einzuhalten. Der interne RC-Oszillator wird im Auslieferungszustand so kalibriert (Voreinstellwert des OSCCAL-Registers), daß er bei 5 V Ucc die 1 MHz recht genau einhält (genau genug für eine RS-232 auf jeden Fall). Leider hilft das natürlich bei den 3 V des ,,Schmetterlings'' nicht viel. Der 32 kHz Quarz hat sicher auch einen Temperaturgang (zumal Armbanduhrenquarze oft bei Ta = 30 °C den geringsten Temperaturgang haben) und eine Grundabweichung, aber in einer Größenordnung von einigen 1E-5 sollt er schon ohne weitere Kalibrierung genau sein, also dicke ausreichend, um Deine Forderung von 2E-3 für die RS-232 zu erfüllen.
Hi, bin zufällig über diesen Beitrag gestolpert. Also ich bin zwar auch noch ein Newbi aber ich habe mir den Butterfly zugelegt und eine Serielle Übertragung gebastelt. In den Butterfly Sourccodes erkennt man, das diese mit 8 MHz standard läuft. Für die serielle Übertragung wird diese per Teiler auf 2 MHz gesetzt. Bei Fragen... mail.
In der Standardanwendung wird der ATmega169V wie spezifiziert mit 1MHz betrieben (Teiler 8). Bei RS232 wg. "sauberen 19200bps" mit 2MHz (Teiler 4).
Hast recht, so meinte ich es auch. Nachdem ich es abgeschickt hatte, dachte ich mir auch schon es ist blöd formuliert. Ich hatte nur in einer anderen Ecke was gelesen, das der Butterfly mit 1MHz getaktet wird, und die serielle Übertragung danach ausgerichtet. Der Prozessortakt ist aber 8MHz und wenn ich meine Anwendung lade, so muss ich halt davon ausgehen und die Prescaler entsprechend setzen. Also Sorry für die etwas unglückliche formulierung, ich hoffe das es diesmal besser 'rüber kommt. hier nochmal ein Ausschnitt der Funktion aus main.c CLKPR = (1<<CLKPCE); // set Clock Prescaler Change Enable // set prescaler = 8, Inter RC 8Mhz / 8 = 1Mhz CLKPR = (1<<CLKPS1) | (1<<CLKPS0); Mich hat es als noch-Anfänger auch nerven gekostet, da ich immer von 1MHz ausgegangen bin.
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.