mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik at90usb1287 programmieren


Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich entwerfe gerade eine Platine, die den at90USB1287 enthalten soll.
Jetzt ist mir aufgefallen, daß der JTAG-Port auf den A/D 
Wandler-Eingängen sitzt. Ich würde JTAG aber gerne benutzen gerade um 
den Code, der den A/D-Wandler beutzt zu untersuchen.
Was kann ich tun?

Vielen Dank für Eure Hilfe,
Hansi

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim MSP430 gibts für sowas "Release JTAG on Go", wenn man die shared 
JTAG Pins benutzt. Sicher kann man das beim JTAGICE auch irgendwo 
aktivieren....denn dedizierte JTAG Anschlüsse hat der Atmel ja 
eigentlich nie...

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo finde ich Informationen dazu?
Dem Datenblatt nach habe ich nur diese JTAG-Pins auf den a/d wandlern 
gefunden und keine Möglichkeit sie zu verlegen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, 4 ADC-Pins hast du ja auch mit JTAG.  Wenn die dir nicht reichen,
musst du dich halt entscheiden, was dir wichtiger ist.

JTAG kann man auch im Betrieb abschalten (über das Bit JTD in MCUCSR),
aber dann kannst du natürlich nicht mehr mit JTAG debuggen.  Wenn du
nur im laufenden Betrieb JTAG abschalten willst, aber trotzdem die
gleiche Firmware initial noch debuggen können willst, kannst du einen
kleinen Trick anwenden: um das JTAG abschalten zu können, muss man
JTD zweimal hintereinander innerhalb einer gewissen Zeit beschreiben.
Wenn du nun im Debugger einen Breakpoint auf das erste Schreiben des
Bits legst und danach mit single-step drüber gehst, dann ist die
timed sequence kaputt, und das JTAG-Interface bleibt aktiviert.

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, jetzt bin ich schon etwas schlauer.
Dann muss ich eben mit nur 4-a/d kanälen debuggen.

Das ganze klingt so als sollte ich den ISP besser auch herausführen, 
damit ich mich nicht evtl. durch jtag-abschalten aussperre, oder?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans Mayer schrieb:

> damit ich mich nicht evtl. durch jtag-abschalten aussperre, oder?

Solange du an der JTAGEN-Fuse nicht fummelst, sperrst du dich nicht
aus.  Das JTAG ICE kann im Zweifelsfall den über JTD abgeklemmten
Zugang zum JTAG dadurch wiederherstellen, dass es den Controller im
CPU-Reset hält (dadurch kann der Code, der JTD setzt, nicht
erreicht werden) und dann die JTAG-Initialisierung vornimmt.

Autor: Hilfesuchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne Frage ich habe das selbe Problem mit dem AT90CAN128.
Die JTAG ports sitzen auf den oberen 4 A/D Wandlern. Ich habe versucht 
JTAG im betrieb über setzen des JTD bits abzuschalten:

MCUCR|=(1<<JTD);
MCUCR|=(1<<JTD);

Nun habe ich aber an den A/D Wandlern auf den JTAG Ports immer nen high 
Pegel von 5V. Den kann ichmit den A/D Wandlern auch super messen, bloß 
halt nichts anders. Eigentlich sollte an den Ports aber nichts anliegen 
sprich 0V.

Ich habe gelesen das sich die Pins automatisch auf high ziehen sobald 
man JTD auf eins setzt also JTAG disabled. Kann man das irgendwie 
verhindern so das man den A/D wandler auch irgendwie benutzen kann?

Oder kann man die nur benutzen wenn man die JTGEN FUSE disabled, was 
aber reichlich schlecht wäre da ich keine ISP Schnittstelle vorgesehen 
habe.

Ps. Die anderen A/D Wandler funktionieren super. was mach ich da falsch?

Bitte um hilfe.
ich hab den entsprechenden Port auch schon nach dem Abschalten von JTAG 
über JTD als input definiert über DDRF=0x00; und dann mit PORTF=0x00 die 
Pins auf low gezogen trotzdem meß ich hier 5 Volt dran....

Hab ich da irgendwie nen denkfehler gema8 oder geht das einfach nur 
nicht wenn die JTAG FUSE enabled ist.

Autor: Hilfesuchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SRY har sich erledigt beitrag bitte löschen hatte mich beim register 
verschrieben, sowas aber auch....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.