Forum: Mikrocontroller und Digitale Elektronik JTAG Dragon ATMega16


von Fritz S. (alterbastler)


Lesenswert?

Hallo Forum

Habe eine LP mit AVR M16 und JTAG Stecker.
Programmiert wird mit AVR-Studio in asm und mit dem Dragon geflast.
Auf der LP ist u.a. eine PWM-Schaltung, die die ca. 40V 
Betriebs-Spannung
auf regelbare 6-10 Volt erzeugt.
Nun zum Problem.
Wenn ich das Programmier-Tool ausschalte und den Debug-Modus mit dem
Dragon starte und dann auf "run" klicke, ist es noch ok.
Sobald aber ein Haltepunkt erreicht ist oder ein "break" veranlasst 
wird,
kann es sein,dass der PWM-Ausgang durchgeschaltet ist.
Und das ist für den angehängten 10V-Verbraucher tödlich.
Zur Zeit ist noch eine Glühlampe dran, die auch die 40 V aushält,aber
 es muss auch  mit echter Hardware mal funzen und dann darf sowas nicht 
mehr passieren.
Frage: kann ich innerhalb des assembler-Programms feststellen, ob JTAG 
ein Braek ermöglicht, d.h. ob es im DEBUG-Modus läuft.
In diesem Fall müsste das Programm anhalten,bevor die PWM initalisiert 
wird.
(Oder ich muss einen zusatzlichen Widerstand dazuschalten, dass die 
(teuere)
Hardware keinen Schaden nimmt.
Wird mit dem Zusatz-Programmiertool per JTAG programmiert,gibt es keine 
Break-möglichkeit und das oben beschr. kann nicht passieren
weitere Fragen:
Wer kann was zu dem "OCDR"-Register sagen
 kann man mit dem "MCUCSR"
Bit 7 – JTD: JTAG Interface Disable
Bit 4 – JTRF: JTAG Reset Flag
etwas anstellen, ohne dass man sich aussperrt
und
wie kommt man an das "Device Identification Register"
scheint keine Adresse zu haben

Hatte auch das Problem mit dem hängenden Reset. Meistens gehts 
gut,manchmal
aber nur mit Neustart des Studios.
Habe in die Reset-Leitung einfach ein kleiner Schalter eingebaut.
Und wenn der Dragon den Reset nicht freigibt,,Schalter aus.


hoffe, dass es verständlich genug beschrieben ist

von Frank K. (fchk)


Lesenswert?

Mach in Deine Schaltung einen Komparator rein, der die Spannung nur 
freigibt, wenn sie unter einer kritischen Grenze (beispielsweise 12V) 
liegt. Das wäre der erste Schritt.

Der zweite Schritt wäre zu schauen, ob das Problem nicht auch 
intelligenter zu lösen ist, z.B. indem Du den AVR aus der Regelschleife 
rausnimmst und ihn nur noch den Sollwert ausgeben lässt. Das macht dann 
die Regelschleife auch viel schneller. Ein kleiner SPI-DAC kostet auch 
nicht die Welt.

Ich denke, Dein genereller Lösungsansatz ist verbesserungsfähig.

Poste mal Deinen Schaltplan.

fchk

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.