Guten Morgen,
ich arbeite mit einem MSP430F147 und einem Flash Emulation Tool (am
Parallel-Port) als Programmiergerät. Die Kommunikation mit PC
(Hyperterminal) per UART geht einwandfrei, aber nur wenn der Stecker des
Programmiergerätes eingesteckt ist. Sobald ich den Stecker abstecke,
geht UART nicht mehr. Das Hauptprogramm ( LED-Blinken ) läuft sowohl mit
als auch ohne Stecker problemlos.
Vielleicht kennt jemand dieses Problem und kann mir sagen was ich falsch
mache?
Danke schon mal!
Dein JTAG-Adapter bedient die Reset-Leitung. Könnte es sein, daß die von
Dir gänzlich unbeschaltet ist und der µC recht oft einen Reset
durchführt, und das dann so aussieht, als ob Dein Programm liefe?
Die UART der 'F1xx-Reihe hat keine Abhängigkeit vom JTAG-Interface,
jedenfalls keine, die ich kenne.
Ev. wird durch den UART-Anschluss eine zusätzliche Spannung in die
Schaltung eingekoppelt oder Deine Betriebsspannung ist ohne
angeschlossenenes Programmiergerät zu niedrig.
Wenn JTAG dran ist dann gebietet es über die Clocks. Hast du die
gewählte Clock für das UART Modul kontrolliert? Hast du einen Reset
ausgeführt nachdem du den JTAG Adapter gezogen hast? Hast du in die
Errata geguckt (meine mich erinnern zu können, dass ich im Zusammenhang
JTAG/UART bei den MSP's mal was gelesen habe)?
Moin,
schau mal nach, ob dein Programmiergerät die /RST-Leitung bedient. Wenn
datt Dingen ab iss, dann könnte der floaten. Zieh ihn dann mal per VCC
per Draht auf HIGH und checke, was dann geht.
Gruß uss demm Kölner Raum,
Gunb
noips schrieb:
> Die Kommunikation mit PC> (Hyperterminal) per UART geht einwandfrei, aber nur wenn der Stecker des> Programmiergerätes eingesteckt ist. Sobald ich den Stecker abstecke,> geht UART nicht mehr. Das Hauptprogramm ( LED-Blinken ) läuft sowohl mit> als auch ohne Stecker problemlos.
Ein Schaltplan oder eine Skizze wuerde schonmal weiterhelfen...
PC und µC sind auch bei abgezogenem Programmieradapter auf gemeinsamer
Masse?
Volker
Ich glaube, es ist wie Rufus beschreibt die RST-Leitung. Hatte das
Problem auch einmal, ist mir die ganze Zeit während der Entwicklung nie
aufgefallen, weil ich den JTAG permanent angeschlossen hatte. Später
habe ich dann den Programmieradapter entfernt und mal lief die
Schaltung, mal nicht - je nachdem, was sich der LOW-aktive RST-Pin eben
gerade einfängt.
Die Tatsache, dass die LED blinkt, würde ich wie Rufus interpretieren:
wenn die Schaltung mehr oder weniger regelmäßig neu startet, blinkt die
LED, aber der USART macht's nicht mit.
Gruß
Gunb
Reset-Leitung ist beschaltet. Reset nach Ziehen des Programmers wurde
auch durchgeführt. Ich hänge die Schaltplanauszüge der betroffenen
Schaltungsteile an.
Zu Bild RS232 wäre noch zu sagen, dass ein Jumper die Stifte 1 und 2 an
der Stiftleiste verbindet und die Querverweise A1RXD und TB_TXD
entsprechend zu RXD- und TXD-Pins des MSP430 führen.
OK,
dann fällt mir spontan nur Folgendes ein:
a) Die State Machines des MSP430 haben bei mir anfangs Ärger gemacht,
als ich mich nicht genau an die Vorgaben in der Reihenfolge des
Datenblatts hielt. Keine Ahnung, ob sich dieses Verhalten ändert, wenn
der JTAG dranhängt?!
b) Der BSL wird bei den JTAG-Varianten mir dem /RST- und TCK-Pin
gestartet. Eigentlich sollte deine Resetschaltung so schnell genaug den
/RST-Pin auf HI ziehen, die TCK scheint bei dir aber zu floaten, wenn
der Adapter nicht angeschlossen ist. Vielleicht probierst du mal den
TCK-Pin auf definierten Pegel zu legen. Der genaue BSL-Ablauf ist im
App.Note. slaa089d.pdf beschrieben (damals jedenfalls).
Leider momentan etwas unter Zeitdruck, aber vielleicht hilft dir die
Richtung weiter.
Gruß
Gunb
Das mit dem TCK-Pin wird schon passen, ich habe diese Belegung
eigentlich aus einer bestehenden Schaltung mit dem gleichen µC
übernommen, die seit langem eingesetzt wird und keine Probleme macht.
Hab jetzt permanent ein Zeichen gesendet und das Signal TXD des µC mit
Oszi angeschaut. Mit gestecktem Adapter schaut das signal normal aus,
das heißt man kann die einzelnen Bits sauber ekrennen und die Pegel
passen auch: high -> ca. 3.1V und low -> 0V. Bei nicht gestecktem
Adapter ist das Signal weiterhin erkennbar mit dem Unterschied, dass
low-Pegel jetzt nicht bei 0V sondern bei ca. 1V liegt.
Wie kann man das erklären.
ich tippe auf Masseproblem...mit dem JTAG-Adapter wird eine
Masseverbindung zwischen Board und PC hergestellt, die ohne JTAG-Adapter
fehlt - da würde ich nochmal alles prüfen...
War tatsächlich ein Masseproblem. Habe schon mehrmals die Platine
durchgecheckt und nichts bemerkt. Erst jetzt stelle ich fest, dass ein
Fädeldraht abgekommen ist. Ich schäme mich :-(
Danke euch allen!!!!!