Hallo zusammen, ich habe ein altes Roboterprojekt mit MSP430 aus der Bastelkiste befreit, das ich vor vielen Jahren angefangen habe, weil ich jetzt gene mit meinem Sohn daran weiterbauen würde. Es basiert auf einem MSP430F149, der auf einem Header Board sitzt (von olimex). Das Programm was ich zuletzt aufgespielt hatte läuft noch, aber ich würde den Chip nun gerne neu programmieren. Das hatte ich damals mit einm parallelen JTAG Adapter von OLIMEX gemacht und da beginnt nun mein Problem: Habe das Header Board aus der Schaltung ausgesteckt und den Jumper auf P_IN gesteckt, damit der Chip über den JTAG Adapter versorgt wird. Dann habe ich das Kabel mit dem Header Board (rote Markierung Richtung Jumper) und den Adapter mit LPT1 verbunden und das OLIMEX Programm gestartet. Leider meldet dieses immer, dass er Adapter nicht gefunden werden kann (LPT1 und den Chiptyp hatte ich natürlich ausgewählt). Auch mit msp430-gdbproxy hatte ich kein Glück. Leider erinnere ich mich nicht mehr so genau, wie ich das früher gemacht habe. - Ist an dem o.g. Verfahren etwas falsch? - Brauche ich für einen parallelen JTAG Adapter ggf. noch einen zusätzlichen Treiber? - Müsste der Adapter auch ohne angeschlossenen Prozessor gefunden werden? Wenn nein: Wie kann ich den Adapter am besten einzeln testen? Für jede Hilfe dankbar Heinz
Heinz Müller schrieb: > - Brauche ich für einen parallelen JTAG Adapter ggf. noch einen > zusätzlichen Treiber? Einen Hardware Treiber sicher nicht. Parallelport ist ohne. Aber vielleicht kannst du mal schauen wie der LPT im BIOS vom Rechner eingestellt ist. Vielleicht bringt eine andere Einstellung (EPP/ECP etc) was. > - Müsste der Adapter auch ohne angeschlossenen Prozessor gefunden > werden? Wenn nein: Wie kann ich den Adapter am besten einzeln testen? Ich kenne das Programm nicht, aber ich glaube nicht das er die Möglichkeit hat den Programmer zu identifizieren. Um zu schauen ob überhaupt was passiert würde ich mal ein Oszi an die JTAG Pins hängen und schauen ob da was los ist.
Heinz Müller schrieb: > Habe das Header Board aus der Schaltung ausgesteckt und den Jumper auf > P_IN gesteckt, damit der Chip über den JTAG Adapter versorgt wird. Dann > habe ich das Kabel mit dem Header Board (rote Markierung Richtung > Jumper) und den Adapter mit LPT1 verbunden und das OLIMEX Programm > gestartet. Du glaubst, daß der Parallelportadapter in der Lage ist, das Headerboard mit Spannung zu versorgen?
Ja, schon, denn das Ding enthält gemäß Schaltplan einen Spannungsregler (TPS77030), der 3V an JTAG Pin 2 zur Verfügung stellt. Habe leider kein Oszi, werde aber zumindest mal nachmessen, ob an dem Pin Spannung anliegt. Werde auch mal checken, ob es mit einer externen Spannungsversorgung klappt.
So, habe jetzt nochmal etwas nachgemessen - mangels Oszi mit dem Multimeter: An den Pins 2 und 4 (VCC IN und OUT) liegen jeweils 3V an. Die Pins TCK (7) und TEST/VPP (8) liegen jeweis auf 2,5V. Der Rest liegt im Ruhezustand auf 0V. Ist das gut? Wenn ich das Programmierprogramm anwerfe, kann ich keine "Zuckungen" erkennen. Mag natürlich sein, dass mein Multimeter dafür zu lahm ist. Habe dann mal vergleichsweise direkt am Parallelport gemessen. Dort liegen die Datenleitungen im Ruhezustand auf 1V oder -3,3V gemessen gegen Pin 25. Ist das normal? Hatte 0V oder 5V erwartet... Zuckungen sind aber auch nicht zu beobachten, wenn das Programm läuft. Habe dann versucht mit externer Stromversorgung auf den Chip zuzugreifen. Leider erfolglos ;( Also es gibt jetzt drei Möglichkeiten: 1.) Mit der Software / dem PC stimmt was nicht 2.) Der Programmieradapter ist hin 3.) der MSP430 mag nicht mehr über JTAG kommunizieren Zu 2.): Könnte ja mal "manuell" 0V und 5V an die Datenleitungen legen und schauen was hinten raus kommt.... Hat noch jemand andere Vorschläge? Habe es auch schon erfolglos mit anderen Rechnern probiert, also denke ich mal es liegt nicht am PC.
heinz-m schrieb: > Ja, schon, denn das Ding enthält gemäß Schaltplan einen Spannungsregler > (TPS77030), der 3V an JTAG Pin 2 zur Verfügung stellt. Und wo soll die Spannung herkommen, die diesem Spannungsregler zugeführt wird? Ein Parallelport liefert die nicht. Heinz Müller schrieb: > Habe dann mal vergleichsweise direkt am Parallelport gemessen. Dort > liegen die Datenleitungen im Ruhezustand auf 1V oder -3,3V gemessen > gegen Pin 25. Ohne Dir zu nahe treten zu wollen, aber Du misst Mist. Versorge Deinen µC mit einem richtigen Netzteil.
Rufus Τ. Firefly schrieb: > Und wo soll die Spannung herkommen, die diesem Spannungsregler zugeführt > wird? Gemäß Schaltplan des Adapters (siehe http://www.olimex.com/dev/images/msp430-jtag-d-sch.gif) wird die Spannung von Pin 1, Pin 6 und Pin 9 bezogen - so verstehe ich das zumindest. >Ohne Dir zu nahe treten zu wollen, aber Du misst Mist. Glaube ich Dir unbesehen ;) Vielleicht nicht sinnvoll Ports völlig unbelastet zu messen!? Muss gestehen ich bin Anfänger. >Versorge Deinen µC mit einem richtigen Netzteil. Habe ich schon probiert (s.o.) - leider ohne Erfolg.
Rufus Τ. Firefly schrieb: > Und wo soll die Spannung herkommen, die diesem Spannungsregler zugeführt > wird? > Ein Parallelport liefert die nicht. Augenscheinlich schon, da ich auch schon jahrelang so MSPs programmiert habe. >Die Pins TCK (7) und TEST/VPP (8) liegen jeweis auf 2,5V. Der Rest liegt >im Ruhezustand auf 0V. Ist das gut? Reset müsste im Ruhezustand auf high liegen, glaub ich. Was hast du für einen Compiler? Bei IAR könntest du probieren ob du den MSP direkt mit IAR porgrammiert bekommst.
Jörg S. schrieb: > Was hast du für einen Compiler? Bei IAR könntest du probieren ob du den > > MSP direkt mit IAR porgrammiert bekommst. Hatte damals eine eclipse Umgebung mit mspgcc verwendet und bin gerade dabei diese wieder einzurichten. Kann mich nicht mehr genau erinnern wie der Programmiervorgang damit lief (hatte damals ein makefile, das dann irgendein flash Tool aufgerufen hat). Bislang habe ich im Netz nur Beispiele mit msp430-gdbproxy gefunden, aber dieses Tool dient ja eigentlich mehr zum debuggen. Wie auch immer: Kann mir ja IAR mal testweise installieren. Außerdem wollte ich mal ein Tool installieren, mit dem man einzelne Pins des Parallelports an und ausschalten kann und dann mal den Pegel am Parallelport und den am JTAG Adapter messen. Damit sollte sich ja feststellen lassen, ob der Port anspricht und ob der Adapter generell ok ist.
IAR meldet mir leider auch, dass es keinen Kontakt zum Programmer aufbauen kann (hatte testweise beide in der Konfiguration angebotenen parallelen Adapter ausprobiert). Habe dann auch mal mit einem Testprogramm die Datenleitungen auf High und Low gelegt und die Ausgangsspannungen nachgemessen. Gemäß Schaltplan müsste nach meinem Verständnis ja folgende Koppelung gelten: D0->TDI D1->TMS D2->TCK D3->TCLK /CE->RST Die Ausgänge schwanken dann zwar um ca. 0,3V in Abhängigkeit vom Pegel des Parallelports, aber auf 0 gehen sie nicht. Oder müsste ich da einen Pulldown Widerstand ergänzen um "richtige" Werte zu messen? Wenn ja was für einen Wert sollte der haben? Nehme an, dass die Programme das Vorhandensein des Adapters vom Pegel des Pins 12 (PERROR) abhängig machen, der in Abhängigkeit vom JTAG pin TD0 gesetzt wird - den könnte ich vielleicht auch nochmal nachmessen... Tja, scheint die einfachste Variante den Fehler einzukreisen wäre wohl der Austausch einer Komponente (JTAG Adapter oder Chip). Was denkt Ihr in welcher Komponente am wahrscheinlichsten der Fehler liegt?
Den Frickelportadapter solltest Du in der Schublade verschwinden lassen, und statt dessen eine USB-Variante verwenden. Da Du wegen des recht alten 'F149 auf 4-Draht-JTAG angewiesen bist, ist das recht teuer (entweder das Original von TI, MSP-FET430UIF, oder dessen Olimex-Nachbau), bei neueren MSP430-Varianten, die SBW verstehen, ist der Adapter hingegen spottbillig (in Form des Launchpad). Wenn Du unbedingt den Frickelportadapter nutzen willst: Kümmere dich um die Versorgungsspannung! Miss an den im Frickelportadapter verbauten Treiberbausteinen deren Versorgungsspannung, und vergiss die Idee, den Frickelport zur Versorgung zu nutzen. Speise Deine Schaltung und den Frickelportadapter mit einem Netzteil.
Danke für die Tipps! Den "Frickelportadapter" kann ich leider nicht mit einem Netzteil speisen, weil der sich die Versorgungsspannung aus dem Parallelport holt. Den MSP kann ich schon mit Netzteil speisen, aber das hat leider auch nicht funktioniert (siehe oben). Insgesamt wollte ich sowieso mittelfristig auf einen USB Adapter umsteigen - dann wohl auch gleich auf einen anderen Chip nach Deiner Beschreibung. Gibt es einen MSP neuerer Bauart auf einem Header Board? Wäre blöd, wenn ich die ganze Platine umbauen müsste, denn da hängt schon einiges drauf (Schrittmotoradapter, LCD Display, LEDS und Regler, Spannungsversorgung etc.).
Heinz Müller schrieb: > Gibt es einen MSP neuerer Bauart auf einem Header Board? Etliche: https://www.olimex.com/dev/ Von denen unterstützen 2274, 5438 und 2618 SBW. Und der dort fälschlicherweise FG2231 genannte 'G2231. Allerdings lässt sich auch das Launchpad selbst als so eine Art "Headerboard" nutzen, wenn man mit der Menge an Anschlüssen und Peripherie auskommt, die die damit direkt nutzbaren Controller zur Verfügung stellen. In der Version 1.5 wird das Launchpad auch mit interessanteren Controllern ausgeliefert, wie z.B. der 'G2553. Was hast du denn genaueres vor?
Rufus Τ. Firefly schrieb: > Was hast du denn genaueres vor? Wird vielleicht etwas off topic ;) Ich wollte mit meinem Sohnemann ein Roboterprojekt weiterbauen, das ich vor Jahren mal begonnen hatte, um ihn in das Thema Elektronik und Mikrocontroller etwas einzuführen. Ich hatte damals schon einiges an "Peripherie" angebaut, die ich gerne wieder nutzen möchte. Ich brauche recht viele IOs, weil schon durch das große LCD Display, die beiden Schrittmotoren die als Antrieb dienen und diverse LEDS und Taster knapp 30 IO Leitungen belegt sind und noch ein paar Abstandssensoren und ein Bluetooth Modul angebaut werden sollen. Von den von Dir genannten Prozessoren sieht das Header Board MSP430-H2618 recht interessant aus - sowohl vom Prozessor als auch von der Bauform, da identisch zu meinem jetzigen Board. Werde mir mal die Pinbelegung genauer ansehen - Vielleicht passt die ja... Bekommt man einen SWB Programmer mit USB Anschluss irgenwo fertig?
Heinz Müller schrieb: > Bekommt man einen SWB Programmer mit USB Anschluss irgenwo fertig? TI Launchpad
Rufus Τ. Firefly schrieb: > ...und vergiss die Idee, den Frickelport zur Versorgung zu nutzen. Weil? Aber alles komplett auszutauschen ist natürlich auch eine Art der Problemlösung... lol
Jörg S. schrieb: >> ...und vergiss die Idee, den Frickelport zur Versorgung zu nutzen. > Weil? Weil der Frickelport eben keine Versorgungsspannung zur Verfügung stellt, und obendrein bei neueren PCs auch nur noch mit 3V-Pegeln arbeitet (immerhin bleibt er eingangsseitig 5V-tolerant, sonst wär's ja noch schlimmer). Wenn Du einen PC hast, bei dem der Frickelport ohne Probleme funktioniert, dann hast Du schlichtweg Glück, aber das ist halt die Ausnahme. > Aber alles komplett auszutauschen ist natürlich auch eine Art der > Problemlösung... lol Eine seit 10 Jahren als tot anzusehende Schnittstelle nicht mehr zu nutzen ist in der Tat eine Problemlösung.
Rufus Τ. Firefly schrieb: > Wenn Du einen PC hast, bei dem der Frickelport ohne Probleme > funktioniert, dann hast Du schlichtweg Glück, aber das ist halt die > Ausnahme. Glaub ich weniger, weil das ja so von TI und den anderen LPT Programmer-Herstellern vorgesehen ist. Zudem habe ich noch keinen einzigen PC gesehen bei dem das nicht funktioniert hätte. >> Aber alles komplett auszutauschen ist natürlich auch eine Art der >> Problemlösung... lol > Eine seit 10 Jahren als tot anzusehende Schnittstelle nicht mehr zu > nutzen ist in der Tat eine Problemlösung. Wenn sie vorhanden ist und man zufällig auch noch einen Programmer für selbige Schnittstelle besitzt, ist es wohl eine eher zweifelhafte Lösung einen neuen Programmer zu kaufen nur weil mal beschlossen wurde das LPT "out" ist. Wenn der LPT Programmer defekt sein sollte ist das ne andere Sache. Wobei sich die Reparatur eines LPT Programmers in Cent Bereich bewegen sollte, also finanziell immer noch wesentlich günstiger als ein USB Programmer.
Danke für Eure Hilfe! Bin jetzt erstmal ein paar Wochen in Urlaub und werde es danach mit einem anderen parallelen Programmer versuchen, den ich zum Testen organisiert habe. Wenn das auch nicht klappt tausche ich den Microcontroller aus. Ansonsten vergleiche ich die Messwerte beider Adapter oder tausche gleich alle ICs aus.
Jörg S. schrieb: > Glaub ich weniger, weil das ja so von TI und den anderen LPT > Programmer-Herstellern vorgesehen ist. Von denen ist nicht vorgesehen, daß das Target vom Frickelport versorgt wird. Das Target hat seine eigene Versorgungsspannung zu haben, und das Target versorgt die Treiberbausteine im Frickelportadapter. Dann funktioniert die Chose.
Wobei man allerdings dazu sagen muss, dass es beim MSP430 sehr wohl aus dem Parallelport auch klappt, wenn der noch mit 5V läuft. Da der MSP430 nur µA Stromaufnahme hat, war das beim LPT Programmer durchaus vorgesehen. Hab ich lange mit dem olimex Programmer auch so gemacht.
Rufus Τ. Firefly schrieb: > Von denen ist nicht vorgesehen, daß das Target vom Frickelport versorgt > wird. Das Target hat seine eigene Versorgungsspannung zu haben, und das > Target versorgt die Treiberbausteine im Frickelportadapter. Warum gibt der Programmer dann überhaupt am VccOut Pin vom JTAG eine Spannung aus wenn das überhaupt nicht vorgesehen ist? >/Dann/ funktioniert die Chose. Die funktioniert auch so. Denn wenn der LPT Port genung Saft hat den nicht gerade stromsparenden Programmer zu versorgen (und die entsprechend bestückten Dioden zeigen das es so vorgesehen ist), reicht's für den MSP allemal.
Christian R. schrieb: > Wobei man allerdings dazu sagen muss, dass es beim MSP430 sehr wohl aus > dem Parallelport auch klappt, wenn der noch mit 5V läuft. Gerade mal nachgemessen. Mein Laptop hat 3,3V LPT. Über die Diode D2 wird der Programmer versorgt. Nach der Diode liegen dann also ~3,0V an. Die gehen nahezu 1:1 durch den Spannungsregler (U3) auf den Ausgang. Die Treiber-ICs bekommen ein paar Millivolt weniger ab, da sie noch über den OP (U1) gepuffert sind. Man mag es kaum glauben, das funktioniert. Als ob TI es so geplant hätte ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.