Forum: Mikrocontroller und Digitale Elektronik MSP430f2274 Programmieren


von Timo P. (latissimo)


Lesenswert?

Hallo!

Wie programmiert ihr einen solchen Controller? Wie es scheint, gibt es 
hierfür kein Entwicklungsboard. Liege ich da falsch?

Bin grade dabei selbst ein Layout zu machen. Einen Programmer habe ich. 
Ist ein USB zu JTAG.

von Jörg S. (joerg-s)


Lesenswert?

>Wie es scheint, gibt es hierfür kein Entwicklungsboard.
Gibt halt nicht für jeden einzellnen MSP ein Entwicklungsboard. Aber 
wenn du eh ein Layout machst, brauchst du doch eh keins, oder wofür 
willst du eins haben?

von Timo P. (latissimo)


Lesenswert?

Damit ich doch kein layout machen muss einerseits als entwicklungsboard 
und andererseits ein zweites für die endgültige schaltung ohne 
Programmierinterface aus Platzgründen. Kaufen spart halt Arbeit und Zeit 
ist kostbar.

MSP430x22xx EVAL-Board wäre halt schön gewesen...

von Stefan (Gast)


Lesenswert?

Von TI gibt es Target Boards mit ZIF-Sockel, in Deinem Fall ein 
38-poliger.
Allerding gebundled mit 'nem Programmer, den Du ja schon hast.
Vielleicht bekommt man das Target Board auch alleine... mal bei TI 
nachfragen?!

Wenn Du gerade ein Layout vorbereitest, dann schau Dir -falls noch nicht 
geschehen- das hier vorher an:
http://focus.ti.com/lit/ug/slau138l/slau138l.pdf
Sonst ist das Geschrei hinterher wieder groß, weil's nicht funzt ;-)

Außerdem würde ich mir an Deiner Stelle überlegen, ob ich wirklich die 4 
JTAG-Pins "opfern" kann oder ob ich nicht lieber gleich auf Spy-By-Wire 
ausweiche - falls es Dein USB-Programmer unterstützt.

Und zuletzt, falls das was Kommerzielles werden sollte (?),
denk mal drüber nach, Firmware-Updates über BSL einzuplanen.

von Timo P. (latissimo)


Angehängte Dateien:

Lesenswert?

nein nichts kommerzielles.

Wie ist das gemeint:

"Sonst ist das Geschrei hinterher wieder groß, weil's nicht funzt ;-)"

?!?  Muss ich etwas spezielles beachten? Schaltplan im Anhang

von Jörg S. (joerg-s)


Lesenswert?

>Muss ich etwas spezielles beachten? Schaltplan im Anhang
Die 100nF an Reset sind vielleicht etwas viel. Da könnte man auf die von 
TI empfohlenen 10, oder 2,2nF runter gehen.

>Außerdem würde ich mir an Deiner Stelle überlegen, ob ich wirklich die 4
>JTAG-Pins "opfern" kann oder ob ich nicht lieber gleich auf Spy-By-Wire
>ausweiche - falls es Dein USB-Programmer unterstützt.
Wenn man die Pins nicht braucht würde ich immer 4-Pin JTAG nehmen.

von Timo P. (latissimo)


Lesenswert?

Welche Pins brauche ich denn für JTAG?

Ich habe einen USB-Programmer, der ne 14-Poliges Kabel hat, da auch BSL 
mit integriert ist. Mein Ziel ist ausschließlich, den Controller zu 
Programmieren. Bisher habe ich dies nur via ISP gemacht, das war mit 
Atmel-Controllern.

von Jörg S. (joerg-s)


Lesenswert?

>Welche Pins brauche ich denn für JTAG?
Genau die die die auch laut Schaltplan angeschlossen hast.

von Timo P. (latissimo)


Lesenswert?

Hallo!

Die JTAG-Pins sind laut Schaltplan angeschlossen. Jedoch bekomme ich 
keine Verbindung zum device. Ich nutze den Elprotronic FlashPro430 also 
USB-Progger

Welche Ursachen könnte die (laut Programmer-SW) nicht zustandekommende 
JTAG-Verbindung haben?

Meldung: JTAG communication initialization....   failed

von Christian R. (supachris)


Lesenswert?

Beim F2274 musst du aufpassen, dass wirklich alle Leitungen dran sind. 
Da der SpyBiWire und JTAG kann, muss der Debugger erst auf der TST 
Leitung was rumklappern, damit der 4-Wire JTAG aktiviert ist. Man muss 
also auch bei normalem JTAG das TST anschließen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Zu beachten ist auch die Beschaltung des RST-Pins. Wenn der Controller 
Spy-Bi-Wire unterstützt, darf die daran angeschlossene Kapazität nicht 
mehr als 2.2 nF betragen, selbst wenn als Debuginterface das 
herkömmliche 4-Draht-JTAG verwendet wird.

von Uhu U. (uhu)


Lesenswert?

Rufus t. Firefly schrieb:
> Zu beachten ist auch die Beschaltung des RST-Pins. Wenn der Controller
> Spy-Bi-Wire unterstützt, darf die daran angeschlossene Kapazität nicht
> mehr als 2.2 nF betragen, selbst wenn als Debuginterface das
> herkömmliche 4-Draht-JTAG verwendet wird.

Mit dem eZ430F2013 Spy-Bi-Wire muß man das Reset-Netzwerk sogar ganz 
abklemmen, sonst geht nichts.

von Timo P. (latissimo)


Lesenswert?

> Rufus t. Firefly schrieb:
>> Zu beachten ist auch die Beschaltung des RST-Pins. Wenn der Controller
>> Spy-Bi-Wire unterstützt, darf die daran angeschlossene Kapazität nicht
>> mehr als 2.2 nF betragen, selbst wenn als Debuginterface das
>> herkömmliche 4-Draht-JTAG verwendet wird.

gibt es dafür einen bestimmten Grund? Wie man sieht, habe ich noch die 
100n Drin, die wohl zu viel sind...

Wäre wohl eine Änderung, die unabdingbar ist.

von Timo P. (latissimo)


Lesenswert?

HEILANDZACK!!!!

mir ist gerade noch aufgefallen, dass der Hersteller meines 
Proggers(Elprotronic) die Pinbelegung gegenüber dem TI-herkömmlichen 
VERÄNDERT ist!!!

VCC ist an 2 statt an 4 am 14Pol(JTAG-BSL-Interface) HAMMER!!!

von Stefan (Gast)


Lesenswert?

Womit wir also doch beim Geschrei wären...

>Datum: 22.05.2009 10:49
>Wenn Du gerade ein Layout vorbereitest, dann schau Dir -falls noch nicht
>geschehen- das hier vorher an:
>http://focus.ti.com/lit/ug/slau138l/slau138l.pdf
>Sonst ist das Geschrei hinterher wieder groß, weil's nicht funzt ;-)

von Timo P. (latissimo)


Lesenswert?

funzt jetzt!

von Christian R. (supachris)


Lesenswert?

Timo P. schrieb:
> HEILANDZACK!!!!
>
> mir ist gerade noch aufgefallen, dass der Hersteller meines
> Proggers(Elprotronic) die Pinbelegung gegenüber dem TI-herkömmlichen
> VERÄNDERT ist!!!
>
> VCC ist an 2 statt an 4 am 14Pol(JTAG-BSL-Interface) HAMMER!!!

Naja, Pin 2 ist doch völlig korrekt, da ist VCCTool dran, also die 
Spannung, die die MSP430 Platine dem Programmer zur Verfügung stellt, 
damit der die richtigen Ausgangspegel einstellen kann. Pin 4 ist nur 
dafür da, einen MSP430 aus dem Programmer heraus mit Strom zu versorgen. 
Das ist aber in den wenigsten Fällen so. Also erst Schaltung angucken 
(da sind sogar Pfeile für die Stromrichtung dran) und dann rumschreien 
;)

von Timo P. (latissimo)


Lesenswert?

ok flashen kann ich den chip jetzt.

Nur, der tut nichts.... habe mal versucht einen Pin zu toggeln.

1) Controller hat Spannung an AVCC und an DVCC
2) Versorgung hat genug Saft für die ganze Schaltung
3) Flashen funktioniert einwandfrei
4) Oszilloskop ist zwar oldschool, aber es funzt
5) im code habe ich das richtige device angegeben
6) Der code ist ein sample-Code von Ti
7) Um als Fehlerquelle den ext Quartz auszugrenzen interne Quelle 
genutzt

Läuft alles nicht!

Bitte um Hilfe!

von Christian R. (supachris)


Lesenswert?

Wie sieht denn die Reset-Beschaltung jetzt aus?

von Timo P. (latissimo)


Lesenswert?

2,2 statt 100n
100k als widerstand zu vcc

von Christian R. (supachris)


Lesenswert?

Und der Reset ist auch messbar auf 3,3V, wenn das Programm laufen soll? 
Oder hält der Programmer den eventuell auf Low?

von Timo P. (latissimo)


Lesenswert?

VCC hat 3,09
RST hat 3,06

also alles im RANGE des Controllers

von Timo P. (latissimo)


Lesenswert?

als einzige option sehe ich nur noch den Controller zu tauschen....:(

von Christian R. (supachris)


Lesenswert?

Hast du keinen Debugger? Schließ den doch mal an, und schau, was der 
Chip intern so veranstaltet. Ist eventuell der Watchdog noch aktiv?

von Timo P. (latissimo)


Lesenswert?

Wie man sieht ein ganz kleines Programm, watchdog ist aus!
1
//******************************************************************************
2
//  MSP430F22x4 Demo - Software Toggle P1.0
3
//
4
//  Description; Toggle P1.0 by xor'ing P1.0 inside of a software loop.
5
//  ACLK = n/a, MCLK = SMCLK = default DCO ~1.2MHz
6
//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.41A
7
//******************************************************************************
8
#include "msp430x22x4.h"
9
10
volatile unsigned int i;                    // volatile to prevent optimization
11
12
void main(void)
13
{
14
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
15
  P1DIR |= 0x01;                            // Set P1.0 to output direction
16
17
  for (;;)
18
  {
19
    P1OUT ^= 0x01;                          // Toggle P1.0 using exclusive-OR
20
21
    i = 50000;                              // Delay
22
    do (i--);
23
    while (i != 0);
24
  }
25
}

alternativ habe ich andere Ports ausprobiert, sowohl togglen, als auch 
einfach nen Pin auf High zu machen. Debugger habe ich nicht, nur mein 
Eval-Board mit chip. Bin echt ratlos!

von Stefan (Gast)


Lesenswert?

>Debugger habe ich nicht
Wieso? Ich dachte, Du hast den FlashPro-430?!
Den kannst Du auch unter IAR, usw. zum Laufen bringen, musst halt die 
DLL's tauschen, das sollte funktionieren -> siehe Doku von Elprotronic

von Timo P. (latissimo)


Lesenswert?

dachte das ist nur ein progger!

ich nutzte im übrigen CCE also code composer das läuft glaube ich in 
verbindung mit eclipse

von Stefan (Gast)


Lesenswert?


von Stefan (Gast)


Lesenswert?

>ich nutzte im übrigen CCE also code composer das läuft glaube ich in
>verbindung mit eclipse
Auszug aus "MSP430-DLL-READ ME FIRST.pdf" (im 2. Downloadlink):

Enclosed library file allow to communicate with the CCE, IAR-IDE, 
CrossWork, NoIDE, Quadravox (and any other IDE software if they have TI 
MSP430.dll as an I/O driver) with the FlashPro430 (USB-MSP430-FPA), 
ChainPro430 and GangPro430 adapters from Elprotronic

von Timo P. (latissimo)


Angehängte Dateien:

Lesenswert?

hab alles lt. anleitung gemacht, jezt schmiert CCE ab!!

:(

von Gerald (Gast)


Lesenswert?

Hi,

Warum sind diese kondensatoren C5, C13 da? Sind diese wirklich 
notwendig?

Was ist der unterschied zwischen Universal Serial Communication 
Interface (USCI) und Serial Communication Interface (USART)?
Welche Vorteile hat USART oder USCI? Wann bin ich mit USART besser 
bedient?

LG
Gerald

von Gerald (Gast)


Lesenswert?

Hi,

wie kann man ueber nur 2 leitungen den MSP430f2274 flashen und debuggen?
die nehmen da die pins: TEST  SBWTCK und RST  SBWTDIO

siehe:
http://www.ti.com/lit/ug/slau227e/slau227e.pdf

von FritZ (Gast)


Lesenswert?

Gerald schrieb:
> USCI

Der beeinhaltet I²C, UART und SPI

Gerald schrieb:
> USART

Das teht für Universal Synchronous Asynchronous Receiver Transmitter -> 
UART

von Christian R. (supachris)


Lesenswert?

Das USART Modul am MSP430 kann auch I2C und SPI. Daher das S mit drin. 
USART war bei den älteren MSP430 drin, die neuen haben eigentlich alle 
die USCI Module. Da gibts auch welche die IRDA können.

von Gerald (Gast)


Lesenswert?

Hi,

braucht man fuer USCI einen externen Oscillator wenn man den UART
mode verwenden will?
Der MSP430F227 hat 2 USCI module und nur einer kann UART oder wie?

LG

von Jörg S. (joerg-s)


Lesenswert?

>braucht man fuer USCI einen externen Oscillator wenn man den UART
>mode verwenden will?
Externen Oszillator braucht man beim MSP niemals zwingend.


>Der MSP430F227 hat 2 USCI module und nur einer kann UART oder wie?
Schau einfach mal hier rein:
http://www.ti.com/lit/sg/slab034u/slab034u.pdf
Da ist das eigentlich schön dargestellt was welcher MSP kann.

In deinemm Fall kann der Channel A UART und der Channel B nicht. Daher 
nur 1x UART.

von Gerald (Gast)


Lesenswert?

ich will die UART mit 9600 baud betreiben...geht das mit dem internen 
oszillator?

warum ist dann in jedem UART sample von denen ein externer oszillator 
dabei?
http://www.ti.com/lit/sw/slac123d/slac123d.zip

LG

von Jörg S. (joerg-s)


Lesenswert?

Gerald schrieb:
> ich will die UART mit 9600 baud betreiben...geht das mit dem internen
> oszillator?
Ja

> warum ist dann in jedem UART sample von denen ein externer oszillator
> dabei?
> http://www.ti.com/lit/sw/slac123d/slac123d.zip
Ist er nicht. Bei 4 der UART Beispiele wird der DCO, also der interne 
Takt benutzt.

von Gerald (Gast)


Lesenswert?

Warum ist beim RST dieser Wiederstand mit 100k und Kondensator auf 
Ground?

Was heisst:
BCSCTL2 |= DCOR;  // Activate ROSC (Pin 25)

In einem anderen Schematic: http://www.ti.com/lit/an/slaa196/slaa196.pdf
hatte ROSC mit RST verbunden....zur Stabilisierung?

von Jörg S. (joerg-s)


Lesenswert?

Gerald schrieb:
> Warum ist beim RST dieser Wiederstand mit 100k und Kondensator auf
> Ground?
?

> Was heisst:
> BCSCTL2 |= DCOR;  // Activate ROSC (Pin 25)
Das was im Kommentar steht. Der Rosc wird aktiviert.

> In einem anderen Schematic: http://www.ti.com/lit/an/slaa196/slaa196.pdf
> hatte ROSC mit RST verbunden....zur Stabilisierung?
Zur erhöhung der Genauigkeit des DCO. Und er ist vor allem mit Vcc 
verbunden.

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.