Forum: Mikrocontroller und Digitale Elektronik Kein Zugriff auf neuen Atmega1284P - mit altem Chip kein Problem


von Chris H. (x3nion)


Lesenswert?

Einen wunderschönen guten Abend wünsche ich euch, liebe Community!

Ich habe ein Problem mit meiner μController-Schaltung auf einem 
Breadboard.
Mein Vater hat aus Versehen 12 Volt auf die sonst mit 5 Volt betriebene 
Schaltung gelegt und somit den μC zerschossen. Er hat auf einmal nicht 
mehr das gemacht, was er tun soll - quasi nach Lust und Laune.

Auf Pollin habe ich zweimal den gleichen IC (ein Atmega1284P - PU) 
bestellt. Mit beiden Neuen bekomme ich über Netbeans und WinAVR jedoch 
diese Fehlerkette:


avrdude: stk500v2_command(): command failed
avrdude: stk500v2_command(): unknown status 0xc9
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

make: *** [program] Fehler 1

RUN FAILED (exit value 2, total time: 844ms)




Seltsam ist, dass mit dem kaputten Atmega1284P dieser Fehler nicht 
auftritt und ich eine Verbindung bekomme. AVRDude sagt zwar, dass alles 
verifiziert ist und gibt auch ein "RUN Successful" aus, jedoch stimmt 
wie gesagt der übertragene Code absolut nicht.

Habt ihr eine Idee, was das Problem sein könnte, dass ich keine 
Verbindung bekomme?
Könnte eventuell der Programmer doch einen Schaden abbekommen haben?
Ich nutze den STK500v2.

Über eure Tipps und Ratschläge würde ich mich sehr freuen! :-)

Viele Grüße und einen schönen Abend wünscht
X3nion aka Chris

von Won K. (Firma: Outside the Asylum) (the_sane)


Lesenswert?

Setz mal den Programmiertakt auf höchstens 250kHz. Mehr können die Chips 
nicht wenn sie neu sind weil sie nur mit 1Mhz intern getaktet sind.
Danach kannst Du die Fuses passend setzen und wieder schneller 
programmieren.

von Chris H. (x3nion)


Lesenswert?

Hallo Won Ko, vielen Dank für deine schnelle Antwort!

Hm bei dem alten Chip ging das jedoch ohne das, 20 Mhz Quarzoszillator 
angeschlossen und losprogrammiert.

Ich bin auf diesem Gebiet noch kein Fachmann, deshalb frage ich dich: 
könntest du mir helfen, wie man die Fuses richtig setzt?

Der alte lief wie gesagt von Anfang an ohne dass dieses Prozedere 
notwendig gewesen ist.
Nur PORTB hatte die JTAG fuse drin, welche es mir verwehrte, 5 Pins von 
diesem Port zu nutzen.
Ein Freund hat mir hier ausgeholfen, dieser ist nun jedoch auf seine 
Bachelorarbeit konzentriert.

Über eine Hilfestellung wäre ich überaus dankbar!

Viele Grüße,
Christian

von Chris H. (x3nion)


Lesenswert?

Guten Morgen zusammen!

Muss ich denn nur die SUT-CKSEL Fuse setzen?
Diese ist momentan auf INTRCOSC_6CK_65MS.
Ich habe einen Quarzoszillator mit 20Mhz. Was muss ich dann auswählen?
Ich habe eine riesen Menge zur Auswahl.
Bezeichnet die zweite Gruppe "Extern Crystal Oscillator" denn einen 
Quarz, oder auch einen Quarzoszillator?
Im Tutorial über AVR fuses habe ich gelesen, dass External Clock ein 
Quarzoszillator ist - ist das korrekt?

EXTCLK_6CK_0MS
EXTCLK_6CK_4MS1
EXTCLK_6CK_65MS

oder

EXTXOSC_0MHZ4_0MHZ9_258CK_4MS1
EXTXOSC_0MHZ4_0MHZ9_258CK_65MS
EXTXOSC_0MHZ4_0MHZ9_1KCK_0MS
EXTXOSC_0MHZ4_0MHZ9_1KCK_4MS1
EXTXOSC_0MHZ4_0MHZ9_1KCK_65MS
EXTXOSC_0MHZ4_0MHZ9_16KCK_0MS
EXTXOSC_0MHZ4_0MHZ9_16KCK_4MS1
EXTXOSC_0MHZ4_0MHZ9_16KCK_16MS

EXTXOSC_0MHZ9_3MHZ_258CK_4MS1
EXTXOSC_0MHZ9_3MHZ_258CK_65MS
EXTXOSC_0MHZ9_3MHZ_1KCK_0MS
EXTXOSC_0MHZ9_3MHZ_1KCK_4MS1
EXTXOSC_0MHZ9_3MHZ_1KCK_65MS
EXTXOSC_0MHZ9_3MHZ_16KCK_0MS
EXTXOSC_0MHZ9_3MHZ_16KCK_4MS1

EXTXOSC_3MHZ_8MHZ_258CK_4MS1
EXTXOSC_3MHZ_8MHZ_258CK_65MS
EXTXOSC_3MHZ_8MHZ_1KCK_0MS
EXTXOSC_3MHZ_8MHZ_1KCK_4MS1
EXTXOSC_3MHZ_8MHZ_1KCK_65MS
EXTXOSC_3MHZ_8MHZ_16KCK_0MS
EXTXOSC_3MHZ_8MHZ_16KCK_4MS1
EXTXOSC_3MHZ_8MHZ_16KCK_65MS

EXTXOSC_8MHZ_XX_258CK_4MS1
EXTXOSC_8MHZ_XX_258CK_65MS
EXTXOSC_8MHZ_XX_1KCK_0MS
EXTXOSC_8MHZ_XX_1KCK_4MS1
EXTXOSC_8MHZ_XX_1KCK_65MS
EXTXOSC_8MHZ_XX_16KCK_0MS
EXTXOSC_8MHZ_XX_16KCK_4MS1
EXTXOSC_8MHZ_XX_16KCK_65MS


Ich würde mich wirklich über eure Hilfe freuen!

Grüße Chris

von spess53 (Gast)


Lesenswert?

Hi

>Im Tutorial über AVR fuses habe ich gelesen, dass External Clock ein
>Quarzoszillator ist - ist das korrekt?

Ja. Nimm EXTCLK_6CK_65MS.

MfG Spess

von Peter D. (peda)


Lesenswert?

EXTXOSC_8MHZ_XX_16KCK_65MS

von Georg G. (df2au)


Lesenswert?

Chris H. schrieb:
> 20 Mhz Quarzoszillator

wirklich ein Oszillator oder nur ein nackter Quarz?

von humus (Gast)


Lesenswert?

Georg G. schrieb:
> wirklich ein Oszillator oder nur ein nackter Quarz?

quarz plus zwei Cs nach gnd

von spess53 (Gast)


Lesenswert?

Hi

>quarz plus zwei Cs nach gnd

Ups. Dann EXTXOSC_8MHZ_XX_16KCK_65MS.

MfG Spess

von Chris H. (x3nion)


Lesenswert?

Hallo zusammen, also es ist definitiv ein Quarzoszillator mit 20MhZ, 
laut Bestellung, mit 4 Beinchen.

Ich habe jetzt gemäß der Antwort von Spess EXTCLK_6CK_65MS gewählt, laut 
AVR Studio 6,2 wurde alles ohne Probleme geschrieben. Wenn ich in dem 
"Device Programming" Fenster auf Close drücke, kommt allerdings eine 
Fehlermeldung von "Microsoft Visual C++ Runtime Library":

>> >> Assertion failed!

Program Atmel Studio 6,2\atbackend\atbackend.exe
File: ttgraphics.cpp
Line: 5432

Expression: (this) -> os_next != NULL

For information on how your program can cause an assertion failure, see 
the Visual C++ documentation on asserts.
(Press Retry to debug the application - JIT must be enabled)
<< <<


Des Weiteren kommt:

>> >> An ongoing operation is taking longer than expected.
Details: Tool -> tearDownTool
You can stop waiting for the operation, in which case you may need to 
restart AVR studio, or wait some more.
(The timeout can be set using the "Tools->Options->Debugger->AVR 
Debugger -> AVR Communication Timeout" option.)
<< <<



Ich bin dann noch einmal in das Device Programming Menü und habe den 
Chip ausgelesen. Dies funktionierte laut den Meldungen von Atmel Studio, 
allerdings steht immer noch INTRCOSC_6CK_65MS da.
Die Fehlermeldung kommt nach wie vor immer beim Schließen des Fensters 
"Device Programming".

Habt ihr eine Idee an was dies liegen könnte? Das Schreiben auf den Chip 
scheint doch nicht funktioniert zu haben!

Viele Grüße,
Christian

von Chris H. (x3nion)


Lesenswert?

P.S. Und seid ihr wirklich sicher mit EXTXOSC_8MHZ_XX_16KCK_65MS?
Im Mikrocontroller-Tutorial steht ja: "Für einen Quarz wird im 
Datenblatt die Bezeichnung crystal oscillator benutzt.
Somit würde ich ja etwas setzen wie wenn ich einen Quarz hätte, obwohl 
ich einen Quarzoszillator habe? Ich bin verwirrt...

von Georg G. (df2au)


Lesenswert?

Chris H. schrieb:
> Wenn ich in dem
> "Device Programming" Fenster auf Close drücke, kommt allerdings eine
> Fehlermeldung von "Microsoft Visual C++ Runtime Library":

Das deutet imho eher auf ein Problem mit deinem Studio 6.x hin als auf 
ein Prozessor Problem.

von Georg G. (df2au)


Lesenswert?

Chris H. schrieb im Beitrag #4268694:
> was wäre denn dein Rat?

Gute Frage. Ich arbeite mit Studio 4.19. Das 6er ist mir zu voluminös.

von Chris H. (x3nion)


Lesenswert?

Ich habe dir auf deine Mail geantwortet!

von Chris H. (x3nion)


Lesenswert?

Ich habe nun einen Zugriff bekommen, indem ich die Frequenz des ISP auf 
1KHZ gesetzt habe.
Was muss ich denn nun einstellen, External clock oder External crystal 
oszillator? Ich bin mir unsicher, nachdem ich beides gelesen habe hier 
im Forum :D

Vg Christian

von Jörn P. (jonnyp)


Lesenswert?

Wie wäre es denn, mal einen Blick ins Datenblatt zu werfen...
Kapitel 7 Clock sources wird genau gezeigt, was unter
"Crystal Oscillator Connections" zu verstehen ist (Figure 7-2) und was 
unter "External Clock Drive" (Figure 7-4).
Das hätte dich nur 5 Minuten gekostet.

von Chris H. (x3nion)


Lesenswert?

Eventuell ... das hätte jedoch nicht mein Problem gelöst, dass ich nicht 
auf den Kollegen zugreifen kann - dies ging mit 1KHZ ISP Frequenz, wie 
ich heute Nacht nach grfühlt einer halben Ewigkeit herausgefunden habe.
Vielen Dank euch für alle Antworten und Tipps :-)

Vg Chris

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.