mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR ATtiny mit Uhrenquarz zu langsam für Programmer


Autor: Michael Schramm (micha61)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Experten,
als Anfänger in Sachen µC-Programmierung bin ich gleich bei meinem 
ersten Projekt auf ein lästiges Problem gestoßen:

Der µC (ATtiny24) wird mit 32 KHz (Uhrenquarz) getaktet 
(Taktgenauigkeit, da mit interner Uhr, und energiesparende 
Batterie-Applikation). Die erste Programmierung unter Windows XP mit 
einem seriellen Programmer (eBay, aus Bulgarien, Typ AVR910, mit 
ATtiny2313) klappte wunderbar - da lief noch der interne Taktgeber mit 1 
MHz. Dann habe ich die Fuses auf Low-Frequency-Crystal gestellt. Der 
Quarz begann offenbar zu schwingen, denn die Testapplikation lief mit 
der erwarteten Geschwindigkeit. Aber jetzt erkennt das Programm AvrOspII 
den µC nicht mehr, da er offenbar zu langsam ist...

Ich konnte mir zunächst helfen, indem ich auf einem zweiten, älteren 
Notebook (Win2K), das noch über eine LPT-Schnittstelle verfügt, mit der 
Kombination STK200 + Kanda-Programmer und der Einstellung SLOW auf den 
Tiny zugriff. Da kann ich entweder gaaanz laaangsam flashen oder die 
Fuses zwischenzeitlich wieder auf den internen Taktgeber zurücksetzen. 
Letzteres heißt aber, Fuses zweimal umbrennen für jeden neuen 
Programmtest - keine Ahnung, wie lange die das mitmachen.

Das Vorgehen ist so, d. h. mit zwei Computern, auf jeden Fall denkbar 
umständlich (die alte Win2K-Kiste hat eine so geringe 
Bildschirmauflösung, dass ich damit nicht vernünftig Programmentwicklung 
betreiben kann).

Weiß jemand Rat? Mir wäre sehr geholfen, wenn es gelänge, den AVR910 
dazu zu bewegen, mit dem µC langsamer zu kommunizieren. Ist das möglich, 
evtl. mit anderer Software? Der Programmer wird überhaupt nur erkannt, 
wenn die COM-Schnittstelle auf 115200 baud gestellt ist. Entsprechend 
schnell spricht der Programmer dann auch mit dem µC, schätze ich.

Jeder Tipp ist herzlich willkommen. Vielen Dank für eure Mühe!

Viele Grüße
micha61

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Programmer wird überhaupt nur erkannt,
wenn die COM-Schnittstelle auf 115200 baud gestellt ist.

Das ist logisch.

> Entsprechend schnell spricht der Programmer dann auch mit dem µC, schätze ich.

Hat damit nichts zu tun. Die ISP Geschwindigkeit muss die 
Programmiersoftware einstellen können. Wenn nicht- Pech gehabt, such dir 
eine andere, z.B. AVR OSP II.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Idee: Zweiter AVR + 8 MHz Quarz + kleiner Schiebeschalter = 
Rechteckoszillator mit umschaltbarer Taktfrequenz 32 kHz / 1 MHz. Wenn 
Du den Takt selbsttätig vom T/C1 erzeugen lässt (CTC mode + toggle pin 
on output compare), ist das easy mit <20 Zeilen Assembler oder C 
gemacht.

Während der Entwicklung Deines Projekts taktest Du Deinen tiny24 dann 
mit diesem Modul, das Du zum Flashen auf 1 MHz umschaltest, und danach 
wieder zurück auf 32 kHz.

Autor: Michael Schramm (micha61)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gast,
danke für deine schnellen Antworten und die wertvollen Anregungen!

Einen weiteren ATtiny als flexiblen Taktgeber einzusetzen, ist eine gute 
Idee. Wenn der so erzeugte Takt auf XTAL1 geht und XTAL2 offen bleibt, 
spielen die Fuses-Einstellungen zur Art des Quarzes vermutlich keine 
Rolle mehr, so lange nur eine externe Taktquelle vorgesehen ist (?) – 
dann könnte ich es immer bei der Uhrenquarzeinstellung belassen.

Um schnell weiter zu kommen, würde ich aber zunächst deinen ersten 
Vorschlag zur Programmiersoftware aufgreifen wollen. Ich verwende 
bereits AvrOspII (Version .547). Die einzige 
Geschwindigkeitseinstellmöglichkeit, die ich in diesem überaus 
praktischen Programm gefunden habe, ist die zur Baudrate. Wie 
beeinflusse ich die ISP-Speed?

Warum ist es übrigens logisch, dass man mit 115200 baud arbeiten muss? 
Ich habe das erst durch Herumprobieren herausgefunden, nachdem ich 
zunächst schon befürchtete, die Hardware sei defekt...

Nochmals vielen Dank!

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.