JTAG Dragon ATMega16

OP #3430232
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
#3430691
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.