PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mal wieder ISP Problem



Björn
10.08.2005, 11:51
Hi,

ich bin gerade an einem Projekt beschäftigt - doch noch nicht mal die ATmega8 Grundschaltung funst :-s
Ich habe sie nach dem Schaltplan im Anhang gemacht - außer dass ich kein Quarz eingebaut habe (könnte dass der Grund sein?!).
Ich habe auf meinem Board nur den AVR und die ISP Buchse. Der Controller und ISP-Programmer sollten heile sein, ich habe beide auf einem älteren Board getestet. Ebenso liegt eine Spannung von 4,85V an - also normal. Ist es auch normal dass, wenn man bei eingesteckten µC, abgetrennten Messgerät mit Multimeter eine schwache Verbindung zwischen VCC und GND messen kann?

Gruß, Björn

roboter
10.08.2005, 12:37
Wenn der Mega8 neu ist und du noch nichtsan den Fuse Bits verändert hast, brauchst du keinen Quarz.

Dir fehlt aber ein Pullup Widerstand. Und zwar am Resetpin.

Björn
10.08.2005, 13:03
Aber in meinen anderen Schaltungen habe ich auch nie einen Pullup verwendet (nur einen Taster dazwischen).

Die Fusebits sind auf 0 - 0 - 0 - 0 (also 8Mhz intern).

Gruß, Björn

Gerhard
10.08.2005, 13:38
Hallo Björn,
sei mir nicht bös', aber ich Du solltest Dich auch mal mit Datenblättern zum AVR beschäftigen.
Insbesondere auch mit diesem:
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

Dort gehts u.a. auch um die korrekte Resetbeschaltung.


mfg Gerhard

Björn
10.08.2005, 13:53
Mmhh... hatte mich mit der Reset-Beschaltung noch nie groß beschäftigt weil obiger Schaltplan immer funktioniert hat (bis auf dieses Mal).

Denkst du, dass der ATmega8 permanent am Reseten ist, oder was?

Gruß, Björn

Björn
10.08.2005, 14:45
Würde es vielleicht etwas bringen einen 10K Widerstand vom Reset auf VCC zu legen?

Gruß, Björn

Gerhard
10.08.2005, 16:05
Würde es vielleicht etwas bringen einen 10K Widerstand vom Reset auf VCC zu legen?

Gruß, Björn

.. ja, hatte "roboter" weiter oben Dir doch schon gesagt.

mfg Gerhard

Björn
10.08.2005, 16:42
Funst immer noch nicht :( Kann aber auch sein dass der AVR was abbekommen hat - jetzt funktioniert die alte Schaltung auch nicht mehr.

Gruß, Björn

Björn
10.08.2005, 16:53
:(

Soeben habe ich (eigentlich zum Glück) mal wieder eine riesen Wissenslücke bei mir festgestellt: Ich dachte immer in Bezug auf Fusebits hieße "0" => deaktiviert (kein Haken) =;
Jetzt habe ich alle µCs von mit auf externes Quarz gestellt. Das erklärt leider noch nicht, warum sie in der "bequarzten" Schaltung trotzdem nicht gehen.

Gruß, Björn

Björn
10.08.2005, 18:00
Neue Erkenntnisse :)

Ich habe eben meinen letzten AVR den ich finden konnte probiert. Also die Fusebits liest er brav - doch wenn man sie schreiben will bricht er während des schreibens ab und zeigt "Device unknown or missing" (oder wie das heißt) - von da an kann man weder lesen noch schreiben noch sonstwas. Der Test unter Interface Calibration ist noch "OK" und wenn man "Reset" in PonyProg macht, kommt auch eine positive Meldung.
Soviel Ahnung wie ich von sowas habe ;) würde ich jetzt sagen, dass der misslungene Versuch die Fuse/Lockbits zu schreiben den AVR "verschlossen" hat - oder so. Aber warum bricht er überhaupt das schreiben der Bits ab?!

Gruß, Björn

Florian
10.08.2005, 18:30
Hallo Björn!
Ich wollte Dir nur kurz mitteilen, dass ich den selben bzw. ähnlichen Schaltplan verwende und wenn ich Reset frei lasse bzw. nur an den ISP-Reset anschließe funktioniert es, genau so wie bei Deinen anderen Schaltungen, das geht aber meines Wissens nur bei den neuen Mega's !!!
Könnte es sein, dass Du die anderen Fuses auch umgestellt hast?

Björn
10.08.2005, 18:32
Hi!

Ich habe nur die 4 Quarz Fuses verstellt. Die anderen habe ich so gelassen wie er sie gelesen hat.

Gruß, Björn

Florian
10.08.2005, 18:35
Was für einen Strom misst Du, wenn der AVR in der Schaltung steckt und Du Vcc angeschlossen hast?

Björn
10.08.2005, 18:41
Strom oder Spannung? Also Spannung 4,85V - falls du Strom meinst, wo?

Gruß, Björn

Florian
10.08.2005, 18:52
Ja, ich meinte den Strom!
Da, wo Du die Spannung anschließt, also den Gesamtstrom!? ;o)

Björn
10.08.2005, 18:58
Also auf der Einstellung 20m sind es so 1.50-1.70 (also meist so 1.60). Es ist außer dem ISP wie gesagt nichts dran.

Gruß, Björn

Florian
10.08.2005, 19:03
Hmmm, normalerweise sind das bei nem AVR so 9mA!
Hast Du alle Verbindungen schonmal durchgemessen, z.B. mit nem Durchgangstester?

So, tut mir Leid, aber ich muss jetzt zu einer Party! ;o)

Tschüssi! *g*

Björn
10.08.2005, 19:07
Ja! Da ist mir nur aufgefallen, dass bei eingestecktem µC eine schwache Verbindung zwischen VCC und GND ist (ist das normal?!).

Bei herausgezogenem µC ist keine Verbindung die schaden könnte, ich habe auch alle Verbindungen vom jeweiligen µC-Pin zum ISP geprüft.

Gruß, Björn

Björn
11.08.2005, 10:58
Was ist eigentlich Quarz "Werkseinstellung" bei den ATmega8?
Die CKsel sind ja alle 0 (also Programmiert) - sind das dann 8Mhz?

Gruß, Björn

roboter
11.08.2005, 11:00
Soweit ich weiß, sind die Werkseinstellung bei allen avr immer intern 1MHz

Björn
11.08.2005, 11:02
Aha - aus was sind denn meine ganzen AVRs jetzt eingestellt? Sie haben bei den CKSel keinen Haken - also 1-1-1-1.

Gruß, Björn

Psiyou
11.08.2005, 12:30
Hi,

hast Du da schon mal was geaendert ?? Stdeinstellung sollte 0001 sein (interner Oszillator). Du muestest jetzt External Crystel Oszillator eingestellt haben. Bin mir da aber auch nie so ganz sicher...
Kennst https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=849 schon ??

Philipp

Björn
11.08.2005, 13:03
Ja, aber warum lassen sie sich dann nicht mehr beschreiben?

Gruß, Björn

roboter
11.08.2005, 17:14
Na wenn du die Fuse bits auf extrenen Quarz stehen hast, brauchst du auch einen entsprecdhenden Quarz um etwas verändern zu können

Björn
11.08.2005, 17:22
Naja, ich hab in der alten Schaltung ja einen 7,... Quarz.

Gruß, Björn

Psiyou
11.08.2005, 20:50
Wenn ich dich jetzt richtig verstanden habe müßte bei Dir Crystal Oszillator mit 3-8 MHz eingestellt sein...
Habe gerad auch noch mal in Deine Schaltung geschaut, hast da 16 MHz drin, das schafft der mega8 natürlich nicht (währe also das der Fehler...), hier gibts auch einen Beitrag übers Übertackten, wenn ich mich recht entsinne war das max für eine mega8 da 11MHz oder so...
Oder soll die 7,... andeuten das Du irgend was mit 7MHz drin hast ??
Dann hab ich auch keine Ahnung...
Philipp

SprinterSB
12.08.2005, 00:04
hast da 16 MHz drin, das schafft der mega8 natürlich nicht
Der Mega8 geht bis 16MHz
Der Mega8L geht bis 8MHz
(Datasheet pp. 1)

Sollte also kein Problem sein.


Die CKsel sind ja alle 0 (also Programmiert)

Wenn deine CLSELn tatsächlich auf 0000 stehen, dann bedeutet das 'external Clock' (Datasheet pp. 24, 30).

Du musst also einen Takt an XTAL1 anlegen, die Treiberstufe für RC/Quarz/Resonator ist nicht aktiv. XTAL2 bleibt offen.

Besorg dir also irgendwoher nen Takt, vorsichthalber mit 4.7kOhm oder so in Reihe.

Gruß, Georg-Johann

Björn
12.08.2005, 00:06
Meine normale Quarzschaltung kann ich dafür nicht nehmen oder?

Gruß, Björn

SprinterSB
12.08.2005, 00:31
So ist es.
Du brauchst irgendwas, das dir einen Takt macht.
Notfalls geht's vielleicht sogar von Hand, mit einer *echten* Knauplösung, wenn du nicht genug Teile für nen Multivibrator hast oder nen NE555:

GND --- Taster --- 1kOhm --- XTAL1 --- 10kOhm --- VCC

Proger starten und versuchen die Fuses wieder zurück zu stellen, dabei fleissig auf dem Taster rumtitschen.
AVR-seitig geht das, der arbeitet auch noch voll statisch, d.h. einmal Taster gedrückt und losgelassen, und der nächste Maschinenbefehl wird abgearbeitet.
Ob das Proggen so geht, würd mich echt mal interessieren, wär echt heiß!
Tasterprellen sollte kein Problem sein -- ist hier sogar von Vorteil, weil's dann schneller geht ;-)

Georg-Johann

Psiyou
12.08.2005, 11:44
Ups, ja, sorry, da hab ich nicht richtig aufgepasst...
Aber noch mal wegen den Fuse Bits:

Sie haben bei den CKSel keinen Haken - also 1-1-1-1.

Und das waehre dann doch Crystal Oszillator oder bin ich voellig falsch ???
Wie kommte es eigentlich zu der Drehung bei der Logik ??
Vermute mal aus der Hardware, aber warum ??

Philipp

SprinterSB
12.08.2005, 13:05
Die Drehung kommt daher, daß in 'leerem' Flash oder in 'leeren' EEPROMs die Bits auf 1 stehen. Komplettiert wird die Verwirrung durch unterschiedlichen Sprachgebrauch in enizelnen Proggern.

Georg-Johann

Psiyou
12.08.2005, 14:16
Hmm,
soll heissen ich hab mein zB EEPROM mit den ganzen FETs(selbstleitend) drin, sprich im ungeladenen Zustand bekomme ich am Ausgang einen H-Pegel. Eigentlich logisch.
Und wenn dann bei allen Kaestchen ein Haken ist (nicht programmiert) folgt daraus doch eigentlich fuer die Tabelle im Datenblatt 1111 was Crystal Oszillator, extern, waehre...
Oder hab ichs immer noch nicht ??

Und weiss jemand warum ausgerechnet selbstleitend und nicht selbstperrende FETs verwendet werden ??

Und schon mal vielen Dank fuer Deine Hilfe SprinterSB !!!

Philipp

Björn
12.08.2005, 21:07
Ich habe gerade versucht auf externes Quarz zu stellen (nach Tabelle aus RN) - doch während des schreibens kam wieder diese Meldung. Obwohl ein Quarz in der Schaltung eingebaut war.

Gruß, Björn

Psiyou
12.08.2005, 21:41
Hi,
dann scheint SprinterSB mit seiner Vermutung das es richtig zu liegen...
Du brauchst dann einen "aktiven" Takt, sprich ein Signalgenerator, bzw NE555 mit entsprechender Beschaltung.
Poste doch bitte mal einen Screenshot Deiner Fusebits.

Björn
12.08.2005, 21:44
Hi, kein Problem.
Genau so:
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=152

Gruß, Björn

roboter
12.08.2005, 22:08
Wenn ich das jetzt richtig in erinnerung habe, brauchst du nur einen ganz normalen Quarz.

Wenn die Schaltung und der Mega8 in Ordnung ist, sollte das dann eigentlich laufen.

Psiyou
12.08.2005, 22:44
Ja, seh ich auch so, aber schau lieber noch mal in die Doku von dem Prog. Könnte ja sein (wie SprinterSB schon meinte) das bei Dir ein Hacken "unprogrammed" bedeutet und die somit auf 0000 -> external clock heißen würde...
Im zweifelsfall probiers doch einfach mal mit nem externen Takt, sollte eigentlich ncihts kaputt gehen... (Vermutung)
Weiß da wer was ??

Björn
19.08.2005, 21:06
Aber ich habe es sonst auch immer so gemacht und es ging. Könnte es sein dass das ISP Adapter einen Schaden hat?

Gruß, Björn

Björn
20.08.2005, 18:38
Naja, ich probiere jetzt SprinterSBs Variante - wenn einer kaputt geht - egal, so sind die Controller auch nutzlos.
Ich kann leider nicht sofort loslegen, weil meine letzten 1K-Ohm Widerstände aufgebraucht sind und ich Montag erst zu Reichelt fahren muss ;-( Ohne geht nicht, oder?

Gruß, Björn