Forum: Mikrocontroller und Digitale Elektronik Darf nur den selben Mikrocontroller verwenden?


von René W. (mikrokibo)


Lesenswert?

Hallo,

ich benutze einen Atmega 8. Ich habe ein Programm dafür geschrieben, und 
es funktioniert auch einwandfrei.

Jetzt kam ich auf die (offensichtlich) verrückte Idee, einen anderen 
Mikrocontroller (gleiches Modell) zu verwenden. Wenn ich diesen jetzt in 
den Sockel setze und mit dem Atmel Studio DAS GLEICHE Programm 
draufspielen will, kommt folgende Fehlermeldung:

"Unable to enter programming mode. The read device ID does not match the 
selected device or any other supported devices.

Please verify device selection, interface settings, target power and 
connections to the target device.

Unexpected signature 0x00000000 (expected 0x001e9307).

Unable to enter programming mode. Verify device selection, interface 
settings, target power and connections to the target device."

Kann mir bitte jemand erklären was das soll? Sobald ich den alten 
Mikrocontroller wieder einstecke, funktioniert alles bestens. Ich 
verwende einen externen Oszillator, aber wenn ich die Fusebits setzen 
möchte, bekomme ich die gleiche Fehlermeldung. Kann mir Jemand helfen?

Ich habe übrigens beide Mikrocontroller verglichen. Es sind ABSOLUT die 
selben "1426, Atmega8-16PU, H8A237-5, 354VAN, 6-P1426 e3". Die Schrift 
auf der Ober- und Unterseite ist absolut die selbe.

Habe echt keine Idee was das sein könnte, habe schon das Internet 
abgesucht und nichts gefunden. Ich drehe gleich durch...

von Justus S. (jussa)


Lesenswert?

vielleicht mal die ISP-Geschwindigkeit runtersetzen.

von Guest (Gast)


Lesenswert?

Setz den ISP-Takt von Deinem Programmieradapter runter um die Flags zu 
setzen (100kHz oder so)
Wenn CLKDIV8 gelöscht ist kannst Du wieder hochstellen.

von Guest (Gast)


Lesenswert?

Quatsch Flags, Fuses natürlich

von Rainer U. (r-u)


Lesenswert?

vielleicht hast Du Dir den Reset-Pin "weggefust", dass kannst Du nicht 
mehr per ISP programmieren.. ?

von ?!? (Gast)


Lesenswert?

René W. schrieb:
> Unexpected signature 0x00000000 (expected 0x001e9307).

Da gibt es eigentlich nur eine Möglichkeit. Er ist kaputt.
Denn wenn du mit einem externen Oszillator rangehst, mußt du auf jeden 
Fall eine Signatur lesen können.

von Guest (Gast)


Lesenswert?

?!? schrieb:
> Da gibt es eigentlich nur eine Möglichkeit. Er ist kaputt.

Quatsch.

?!? schrieb:
> Denn wenn du mit einem externen Oszillator rangehst, mußt du auf jeden
> Fall eine Signatur lesen können.

Nicht wenn er zu schnell lesen will.
Erkennt denn hier keiner mehr Standardfehler?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

René W. schrieb:
> Wenn ich diesen jetzt in den Sockel setze
In welchen Sockel?
> und mit dem Atmel Studio DAS GLEICHE Programm draufspielen will
Mit welchem Programmer?

von ?!? (Gast)


Lesenswert?

Guest schrieb:
> Nicht wenn er zu schnell lesen will.
> Erkennt denn hier keiner mehr Standardfehler?

Dann stellt er zwischen den beiden µCs immer den ISP-Takt um? Mit dem 
anderen gehts doch!

Es sei denn, der zweite µC ist nicht neu, sondern schonmal anders 
programmiert worden. Und dabei wurde er verfust oder sonst irgendwie 
versaut.
Ich ging aber davon aus, daß der zweite Controller neu ist.

von Cyblord -. (cyblord)


Lesenswert?

Guest schrieb:
> Nicht wenn er zu schnell lesen will.
> Erkennt denn hier keiner mehr Standardfehler?

Standardfehler? Die Meldung deutet darauf hin dass der Programmer 
überhaupt nicht mit dem Controller reden kann. Das kann aber viele 
Gründe haben (Kaputt, Verfused, ISP-Frequenz, falsch verkabelt/gesteckt, 
gar nicht gesteckt usw.)

von Draco (Gast)


Lesenswert?

?!? schrieb:
> Dann stellt er zwischen den beiden µCs immer den ISP-Takt um? Mit dem
> anderen gehts doch!

Nein... aber wenn er neu ist... dann is CKDIV8 und 1 Mhz aktiv. Wenn er 
sein "alten" Mega8 auf 8Mhz ohne CKDIV8 hat, und danach seine ISP 
Geschwindigkeit einstellte, ist diese für den neuen zu schnell bevor 
nicht die Fuses gesetzt wurden.

von Karl H. (kbuchegg)


Lesenswert?

?!? schrieb:
> Guest schrieb:
>> Nicht wenn er zu schnell lesen will.
>> Erkennt denn hier keiner mehr Standardfehler?
>
> Dann stellt er zwischen den beiden µCs immer den ISP-Takt um? Mit dem
> anderen gehts doch!

Deswegen kann es immer noch ein zu hoher ISP Takt sein.

Sein originaler Mega8 läuft offenbar mit einer anderen Taktfrequenz als 
1Mhz. Sonst hätte er keinen externen Oszillator.

Dem neuen ist aber der Oszillator piepegal. Der läuft erst mal auf 1Mhz 
bis er entsprechend umgefused wird.

-> die ISP Frequenz, die beim alten funktioniert, muss beim neuen noch 
lange nicht funktionieren.

von René W. (mikrokibo)


Lesenswert?

-Der externe Oszillator hat 4MHz
-Programmer ist der AVR MK2
-Der 1. Mikrocontroller (der funktioniert) wurde bereits von mir 
programmiert und mit diesem habe ich schon lange gearbeitet. Der 2. 
Mikrocontroller, der nicht funktioniert ist nagelneu aus der Verpackung.
-ISP Taktfrequenz werde ich gleich mal schauen...

danke für die schnellen Antworten :)

von ?!? (Gast)


Lesenswert?

Karl H. schrieb:
> Deswegen kann es immer noch ein zu hoher ISP Takt sein.

Stimmt! Asche -> Haupt :-)

von Cyblord -. (cyblord)


Lesenswert?

René W. schrieb:
> -Der externe Oszillator hat 4MHz
Aha


> -Der 1. Mikrocontroller (der funktioniert) wurde bereits von mir
> programmiert und mit diesem habe ich schon lange gearbeitet. Der 2.
> Mikrocontroller, der nicht funktioniert ist nagelneu aus der Verpackung.

Und wurde dieser dann auf externen Oszillator umgefused? Sonst sind die 
4 MHz doch völlig egal. Entweder nagelneu oder bereits gefused.

von Guest (Gast)


Lesenswert?

René W. schrieb:
> Der 2. Mikrocontroller, der nicht funktioniert ist nagelneu
> aus der Verpackung.

Und läuft mit intern 8Mhz + CLKDIV8 macht 1Mhz. Der ISP-Takt darf nicht 
schneller als CLK/8 also 125kHz sein.
Der einzige Fehler der genauso oft auftaucht ist PortC bei der 
Mage32-Familie (JTAGen)

von René W. (mikrokibo)


Lesenswert?

Ok, es war der ISP Takt! Der neue Mikrocontroller hatte noch nicht die 
entsprechenden Fuses gesetzt, um mit einem externen Oszillator zu 
arbeiten. Ich habe den Takt des ISP auf 250 kHz gesetzt, dann die Fuses 
entsprechend für den externen Oszillator gesetzt und danach wieder den 
ISP Takt auf 1 MHz gesetzt. Kann jetzt endlich wieder weitermachen :)

Danke euch, das macht echt Spaß, wenn die Community hier so motiviert 
ist und einem schnell hilft. Danke euch :)

von Draco (Gast)


Lesenswert?

René W. schrieb:
> ...Ich habe den Takt des ISP auf 250 kHz gesetzt, dann die Fuses
> entsprechend für den externen Oszillator gesetzt...

Und selbst das hätte in die Hose gehen können, weil zu schnell ;)

von Wolfgang (Gast)


Lesenswert?

René W. schrieb:
> Es sind ABSOLUT die selben

Die selben werden es sicher nicht sein - ob absolut oder nicht ;-)
http://www.selbe-gleiche.de/

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
Noch kein Account? Hier anmelden.