Forum: Mikrocontroller und Digitale Elektronik Vorgehensweise beim einsetzen einen nagelneuen Mega


von Tom (Gast)


Lesenswert?

Hallo,

ich bin neu in dem µControllergebiet und habe bzw. vielmehr hatte ein 
funktionierendes Controllerboard.

Dies hat auch bis jetzt funktioniert jedoch habe ich versehentlich einen 
Kurzschluß gebaut bin mir nicht sicher wie aber auf alle Fälle roch es 
verbrannt und der Mega128 war glühend heiß.

Danach ging auch nichts mehr also dachte ich ich tausche den Mega 
einfach aus.
Nachdem ich dies gemacht hatte konnte ich trotzdem mit den Mega nicht 
kommunizieren weder per ISP noch JTAG.
Ich denke ich hätte etwas machen müssen bevor ich ihn eingelötet habe.
Ich habe noch ein weiteres Board ist mehr oder weniger nur eine Platine 
bei der die Anschlüsse auf Pfostenstecker herausgeführt sind.
Das funktioniert, also kann ich Kabelbruch etc. ausschließen.
In der Anleitung des Board steht als Auslieferkonfiguration

– ISP: ANJTAG Interface: AUS
– Brown-out Detection: AUS
– CKSEL0..3: 1111 (16MHz externer Takt)
– SUT0..1: Start-up Time 16k CK + 64ms
– Mega103 Compatibility Mode: AUS

Muss ich den Mega zuerst programmieren bevor ich Ihn einlöte.
Gibt es hierzu eine Vorgehensweise was und in welcher Reihenfolge ich 
etwas machen muss.

Achja ISP Frequenz habe ich alles probiert von ...Hz bis 250kHz.
Ich verwende AVR Studio, AVRISP MK2 und JTAGICE MK2.
STK500 und Adapterplatine ist auch vorhanden habe diese jedoch bis jetzt 
noch nicht verwendet.

Gruß

Tom

von Peter Diener (Gast)


Lesenswert?

Hallo,

ISP über SPI funktooniert immer, unabhängig wie der Mikrocontroller 
programmiert und gefused ist.
Wenn das nicht geht, ist noch mehr defekt.

Viele Grüße,

Peter

von Tom (Gast)


Lesenswert?

Hallo,

ich habe nun versucht per ISP und JTAG auch den Mega128 zuzugreifen 
jedoch ohne Erfolg.
Meine zweite LP funktioniert mit JTAG und ISP nur die erste nicht.

Nachdem ich den defekten 128 abgelötet hatte habe ich alle Leiterbahnen 
durchgepiepst somit sollten diese OK sein.
Die ganze LP besteht ja nur aus einer hanvoll Kondensatoren einen Pullup 
für Reset und 4 Stiftleisten an denen die IO etc. verbunden sind und ein 
Quarz  und so teste ich auch ohne externe Beschaltung.

An was könnte es noch liegen?
Ich habe mir ein anderes Board geätzt und dort habe ich auch die 
gleichen Probleme, bin etwas Ratlos.

Tom

von Dennis (Gast)


Lesenswert?

Hast du schon auf Kurzschluss zwischen GND und Vcc geprüft?

von Hein Blöd (Gast)


Lesenswert?

> ISP über SPI funktooniert immer, unabhängig wie der Mikrocontroller
> programmiert und gefused ist.

Quatsch!

von Sachich N. (dude) Benutzerseite


Lesenswert?


von Tom (Gast)


Lesenswert?

@Dennis,

ein Kurzschluß liegt nicht vor der Strom bewegt sich um die 40mA.
Die Spannung per ISP oder JTAG gemessen ist auch 5.1Volt.

Ich habe nun mal einen Oszilator 12MHz genommen und XTAl 1 gehängt und 
schwups kann ich die Fuse Bits lesen nur nicht setzen oder mache ich da 
was falsch?!?
Häckchen setzen und auf Program drücken läuft alles normal durch.
Lese ich die Fuse wieder aus hat sich nicht geändert.

Mache ich etwas falsch?!?Sorry ich mache es zum ersten mal und bin etwas 
unsicher.

Danke

Tom

von Tom (Gast)


Lesenswert?

Hallo mochmal,

also irgendwie ist der Wurm drin, ich kann lesen aber nicht schreiben 
(Fuse).
Wenn ich schreibe und das Häckchen vei vergleichen reinmache kommt 
eine Fehlermeldung das die ISP Frequenz 1/4 der Taktfrequenz sein soll 
und das ist sie auch 250kHz zu 16MHz.
Lesen kann ich ohne Probleme nur schreiben geht nicht.
Habe nun mal das EEPROM und den Flesh beschrieben und verglichen auch 
ohne Probleme.
Ich bin jetzt kurz davor mir noch ein solches Adapterboard zu bestellen 
um zu sehen ob mein JTAG MK2 und ISP MK2 noch richtig funktionieren.

Denn seltsamerweise wenn ich den JTAG als ISP Programmierer verwende 
zeigt mir AVR Studio eine andere Fuseprogramierung als der ISP MK2.

Naja es ist spät neuer Tag oder vielmehr Morgen neues Glück.

Tom

von Иван S. (ivan)


Lesenswert?

> Fehlermeldung das die ISP Frequenz 1/4 der Taktfrequenz sein soll
> und das ist sie auch 250kHz zu 16MHz.

von Tom (Gast)


Lesenswert?

Hallo Ivan,

sie ISP Frequenz soll doch < 1/4 der Taktfrequenz sein also bei 16MHz < 
4MHz somit ist doch 250 kHz OK.
Oder stehe ich ganz auf dem Schlauch?1?

Tom

von Tom (Gast)


Lesenswert?

ich habe gerade versucht mit 4MHz die Fuse zu schreiben laut AVR Studio

Fuse schreiben OK
Fuse lesen     OK
Fuse vergleichen  Fehler

Wenn ich Devive ERASE mache laüft alles durch mit OK.
Ich kann die Fuse jedoch nur lesen und nicht schreiben.

Muss ich etwas spezielles beachten ?

Danke schon mal

Tom

von Simon K. (simon) Benutzerseite


Lesenswert?

Tom wrote:
> ich habe gerade versucht mit 4MHz die Fuse zu schreiben laut AVR Studio
>
> Fuse schreiben OK
> Fuse lesen     OK
> Fuse vergleichen  Fehler
>
> Wenn ich Devive ERASE mache laüft alles durch mit OK.
> Ich kann die Fuse jedoch nur lesen und nicht schreiben.
>
> Muss ich etwas spezielles beachten ?

Ja, du musst den MISO (oder MOSI, kann natürlich auch sein) Draht 
anschließen.

von Tom (Gast)


Lesenswert?

@Simon,

ich habe das Kabel nochmals durchgeprüft und es ist OK incl. Adapter 
6pin-->10pin Stecker.
Habe das Kabel durch ein kürzeres ersetzt somit ist das 6Pin kabel 
orginal dann Adapter und dann 5cm 10Pol Kabel zur Platine.
Habe irgendwo gelesen hier im Forum das ein zu langes Kabel auch zu 
Problemen führen kann.

Das eigenartige ist jedoch manchmal stecke ich alles an und ich kann die 
Fuse schreiben zumindest ohne Fehlermeldung stecke ich dann den uC ab 
und wieder an, lese die Fuse aus sind andere Fuse eingeschaltet wie 
zuvor.
Wenn ich dann wieder schreiben will Fehler.
Ich kapier es nicht manchmal scheint es zu funktionieren aber im 
Endeffekt doch wieder nicht.
Achja wenn ich mein Programm flashe und danach vergleiche funktioniert 
das auch ohne Fehlermeldung und der Flashinhalt ist i.O laut Verify.
Gibt es irgendwo im Netz eine Anleitung Schritt für Schritt wie man die 
Fuse unter AVR Studio ändert habe leider noch nichts gefunden.
Ich denke das ich etwas falsch mache da es das erst mal ist das ich mich 
an die Fuse wage.

Bin nun nach dem 3 Tag wirklich ratlos und würde mich über Hilfe echt 
freuen.

Tom

von Andreas L. (andi84)


Lesenswert?

40mA?!
Was hängt denn da alles dran?
Nur für einen AVR ist das ein bischn viel...


MfG
Andreas

von Simon K. (simon) Benutzerseite


Lesenswert?

das hört sich danach an, als hänge am SPI vom Controller noch ein 
anderes Gerät, dass ohne Pullupwiderstand auf der CS/CE Leitung die 
Programmierung stört, wenn der Mikrocontroller keinen Pegel (für CS/CE) 
ausgibt.

von Tom (Gast)


Lesenswert?

@Andreas,

ca 40mA lese es von einem Zeugerinstrumrnt ab daher könnte es auch 
weniger sein.Es ist auch eine LED auf der Platine die anzeigt das die 
Versorgungsspannung anliegt also sind es noch ~25mA für den uC.

@Simon,

habe jetzt folgendes herausgefunden, wenn ich den ISP Stecker stecke und 
der Controller dabei eingeschaltet war kann ich nur lesen und nicht 
schreiben.
Schalte ich den Controller ab secker den ISP Stecker und schalte den 
Controller wieder an kann ich die Fuse setzen usw. ohnen Fehler also mal 
ein Schrittchen weiter.
Vergleiche ich nun die Fuse Einstellungen mit einem zweiten Controller 
sind diese gleich nur beim einen läuft ein LED-Blink Programm und beim 
anderen nicht.
Programm geflasht und vergliechen allse OK.
An was kann das schon wieder liegen.

Tom

von Andreas L. (andi84)


Lesenswert?

Also 25mA sind für den Controller immernoch etwas arg viel.
Dächte doch eher so an 5-10mA, wenn er was tut, da er aber neu ist und 
nur NOPs ausführend dürfte, halte ichs für etwas arg hoch.

von Tom (Gast)


Lesenswert?

@Andreas,

ich habe nun mal mit einem Multimeter nachgemessen 43 mA.
Ich habe 2 Möglichkeiten den Controller zu versorgen einmal direkt mit 5 
Volt und einmal mit 7-15 Volt über einen Festspannungsregler alles auf 
der platine.
Egal ob ich 12 oder 5 Volt anlege der Strom bleibt gleich.
Könnte auch sein, das bei Versorgung mit 5 Volt trotzdem ein Strom über 
den Festspannungsregler fließt.
Beide Module sind gleich --> Stromverbrauch,  beim einen läuft ein 
Programm und beim anderen nicht obwohl die Fuse und Lock Bits gleich 
eingestellt sind.

Muss ich beim einrichten der Fuse noch auf etwas besonderes achten?

Tom

von Tom (Gast)


Lesenswert?

Hallo,

ich habe nun noch folgendes probiert.
Ich habe 2 identische Module Mega128 auf Stiftleisten mit Quarz, 
Kondensatoren und einem Festspannungsregler sonst nichts.

Ich lade auf beide das gleiche Blinkprogramm und vergleiche es --> OK.
Die Fuse Bits und Lock Bits  sind identisch gesetzt.
Wenn ich den Quarz mit dem Oszi messe habe ich auf beiden Module die 
gleiche 16MHz Schwingung.
Wenn ich nun den Portpin am Oszi anschliesse fängt der eine am zu 
schalten AN-AUS-AN-AUS...... im 1ms Takt und der andere nicht.

Hat jemand eine Idee an was es liegen könnte.
Ansonsten löte ich den Mega ab und ersetze diesen mit meinem letzten 
Neuen wobei der jetzige erst vor 4 Tagen aufgelötet wurde.

Tom

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.