Hallo, ich habe für Atmel Mega8 einen DCC Decoder programmiert, der die Signale liest (Interrupt bei Flanke an PD2), decodiert und dann per RS232 an den PC schickt (zur Kontrolle). Mein Problem ist, dass ein und das selbe Programm (selbe hex-Datei) auf dem einen Mega8 fehlerfrei funktioniert, auf manchen anderen nicht (im Programmierboard). Bei den problematischen bekomme ich dann nur sporadisch ein decodiertes Paket (per RS232 geschickt) auf dem PC zu sehen. Mit den "funktionierenden" MCs wird jeder DCC Befehl innerhalb einer Sekunde angezeigt (F-Tasten etc). Ich habe schon die Einstellungen (Taktfrequenz, Startbedingungen etc.) verglichen und habe keinen Unterschied feststellen könen. Das Programmierboard ist ein STK 600, das Schreiben des Programms in die MCs funktioniert fehlerfrei. Da ich nicht glaube dass mehrere der Mega8 defekt sind, denke ich, dass ich noch irgendwas übersehen habe, nur was? Es kann Zufall sein, aber die funktionierenden haben die Aufschrift "Atmel 0953G ATMEGA8-16PU", die (bei mir zumindest bei diesem Programm) problematischen "Atmel 0903G ATMEGA8-16PU". Gibt es da Unterschiede? Im Web habe ich dazu nichts gefunden. Ich habe an vielen Stellen gesehen dass das DCC Signal über eine Schaltung mit Optokoppler an den MC geleitet wird. Kann es dran liegen dass ich da nur einen 10K Widerstand zwischen einem DCC Draht und PD2 bzw Masse nutze und manche MCs das nicht "mögen"? (Bin kein Elekroniker). Auch wenn sich manche an den Kopf greifen :-), wäre ich für jeden Hinweis dankbar. Viele Grüße Armin
Wird der interne Takt oder quarzstabiler Takt verwendet ? bei internem Takt (mit RC-Oszillator) streut die Frequenz chargenbedingt so, dass dieser Fehler entstehen könnte. Da versuchsweise mit den entsprechenden fuses den Oszillator verstellen. unwahrscheinlicher: Eventuell ist die Quarzfrequenz gerade so an der Grenze des erlaubten Bereichs, dass dadurch der Fehler entsteht. Da versuchsweise die pF-Kondensatoren am Quarz ändern z.B. von 22p auf 12p oder umgekehrt.
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.