Hallo noch einmal,
Ich danke allenganz herzlich, die Bezugsquellen angegeben haben bzw. sich sogar persönlich per Mail gemeldet haben! Nachdem der At90S1200 wohl nicht mehr in ausreichender Stückzahl verfügbar ist und spätestens bei der nächsten Auflage das Problem wieder auftaucht, habe ich die Firmware nun für den Attiny2313 umgeschrieben. Änderungen am Platinenlayout waren kaum nötig und zum Glück waren an passender Stelle Brücken die nun statt gerade einfach diagonal bestückt werden können... so far...
Nun tut sich ein anderes Problem auf: Das Programm läuft sowohl auf einem At90S2313 (hier auch mit externem Takt durch Quarz) als auch auf dem Attiny2313. Auf dem tiny allerdings nur mit dem internen Takt von
8MHz / 8 = 1 MHz... und genau das führt natürlich zu Problemen mit der Kommunikation mit dem COM-Port.
Nun habe ich gestern den ganzen Tag herumgedoktert, um den Attiny2313 dazu zu bewegen, mit einem externen 3,6864 MHz Quarz nebst 2x27pF Kondensatoren zusammenzuarbeiten (der 90S2313 tuts). 3 Stück habe ich jetzt beim Setzen der Fuses mit TWinAVR "verbrannt", sie werden auch mit externem 4MHz Quarzoszillator nicht mehr erkannt (den Atmega8 konnte ich bislang immer so "retten") :-(.
Ich habe zum Berechnen der Fuses den AVR Fuse Calculator
formatting link
benutzt und es auch laut Datenblatt versucht... Kann es sein, dass 1 und 0 zwischen Datenblatt, AVR Fuse Calculator und TWinAVR nicht übereinstimmen... Ich bin inzwischen völlig wirr...
Die Fuse High Bits habe ich ganz in Ruhe gelassen, auch die LockBits blieben so wie in der default Einstellung (Auslieferungszustand).
Im Auslieferzustand zeigt TWinAVR an:
CKSEL0 = 0 unchecked/programmed CKSEL1 = 0 unchecked/programmed CKSEL2 = 1 checked/unprogrammed CKSEL3 = 0 unchecked/programmed SUT0 = 0 unchecked/programmed SUT1 = 1 checked/unprogrammed CHDIV8 = 0 unchecked/programmed
Der letzte Stand, den ich mir nun aus dem Datenblatt des Attiny2313 "zusammengereimt" habe ist nun der:
CKSEL0 = 0 CKSEL1 = 0 CKSEL2 = 1 CKSEL3 = 1
Für einen Quarz von 3.0-8.0 MHz laut Tabelle 4 Seite 26 Datenblatt
SUT0 = 0 unchecked/programmed SUT1 = 1 checked/unprogrammed
Für einen Crystal Oscillator slowly rising power 14CK+65ms
CHDIV8 = 1
Die 3,6864 MHz sollen _nicht_ durch 8 geteilt werden.
Unsicher bin ich mir bei CKOUT? Ich benötige an PD2/Pin6 keine Taktausgabe, also CKOUT = 1?
Bevor ich nun die nächsten bestellten tinys "grille", würde es mir sehr helfen, wenn ihr mal einnen Blick auf mein Ergebnis werfen könntet und es ggf. korrigiert. Danke!
Viele Grüße
Kai