MSP430F169 startet nicht

OP #646713
Lesenswert?

Hallo!

Habe ein Problem mit einem Olimex-Headerbord mit dem MSP430F169 drauf.
Und zwar startet dieser beim Einschalten der Versorgungsspannung nicht! 
Erst nach einem Reset läuft er los!
Hab schon alles überprüft, der Quarz schwingt...den Kondensator am 
Reset-Eingang hab ich auch schon vergrößert...hat aber alles nichts 
gebracht!
Im Programm schalte ich nur den Watchdog ab und initialisiere das 
Taktmodul.
1
WDTCTL = WDTPW + WDTHOLD;    // Watchdogtimer ausschalten
2
BCSCTL1 &= ~XTS;      // XT1 = LF
3
_BIC_SR(OSCOFF);      // XT1 anschalten
4

5
BCSCTL1 |= DIVA_0;      // ACLK = 32kHz
6
BCSCTL1 &= ~XT5V;
7
BCSCTL2 = SELM_3 + DIVM_0;    // MCLK = XT1 = 32kHz

Bitte um Hilfe!!! Danke.
Gast #646998
Lesenswert?

Warte einfach, bis der Quarz stabil läuft:
Aus den Beispielen:
1
  do
2
  {
3
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
4
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
5
  }
6
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?
Gast #647017
Lesenswert?

Stimmt. Steht im Kommentar. hatte ich übersehen. Dann hilft wirklich nur 
ein Supervisor. Normal ist das aber nicht.Ich habe hier auch ein 
F169-Board, zwar selbst gemacht, aber es läuft ohne Probleme. Aber 
selbst TI empfiehlt ja oftmals Supervisor, eigentlich kein Wunder, sind 
ja die eigenen.
OP #647030
Lesenswert?

Gast wrote:
> Stimmt. Steht im Kommentar. hatte ich übersehen. Dann hilft wirklich nur
> ein Supervisor. Normal ist das aber nicht.Ich habe hier auch ein
> F169-Board, zwar selbst gemacht, aber es läuft ohne Probleme. Aber
> selbst TI empfiehlt ja oftmals Supervisor, eigentlich kein Wunder, sind
> ja die eigenen.

Für mich ist das ja auch das 2. Board mit dem MSP und beim ersten lief 
es wunderbar ohne Probleme!
#647524
Lesenswert?

Der DCO läuft natürlich erst an, wenn der MSP aus dem Reset raus ist. 
Meistens passiert genau das aber nicht, wenn die Versorgungsspannung zu 
langsam ansteigt. Haben wir hier im Labor ausprobiert.

Bei dir wird eher das Problem gewesen sein, dass der LF-Oszillator nicht 
sicher anschwingt.

User Guide:

Note: LFXT1 Oscillator Characteristics
Low-frequency crystals often require hundreds of milliseconds to start 
up,
depending on the crystal.

Wenn du also den MCLK ofort auf den LFXT1 umschaltest, kann das nicht 
klappen.
Gast #807229
Lesenswert?

Hello to all, I am a student that this programming MSP430f169 for a 
project, but I have a small problem with the programming of the clock, 
my code for init the osccillator is the following one:
1
void InitOsc(void) 
2
{
3
  WDTCTL = WDTPW | WDTHOLD;   // Paramos el watchdog timer
4
  BCSCTL1 |= XTS;     // XT1 ~ high-frequency
5
  _BIC_SR(OSCOFF);     // turn on XT1 oscillator
6

7
  do     // wait in loop until crystal is stable
8
  IFG1 &= ~OFIFG;
9
  while (IFG1 & OFIFG);
10

11
  BCSCTL1 |= DIVA1 | DIVA0;     // ACLK = XT1 / 8 = 1 MHz
12
  IE1 &= ~WDTIE;       // desactiva WDT int.
13
  IFG1 &= ~WDTIFG;       // clear WDT int. flag
14
  WDTCTL = WDTPW | WDTTMSEL | WDTCNTCL | WDTSSEL | WDTIS1;
15
    // use WDT as timer, flag each. 512 pulses from ACLK
16

17
  while (~(IFG1 & WDTIFG));     // cuenta 1024 pulsos XT1 
18

19
  IFG1 &= ~OFIFG;       // clear osc. fault int. flag
20
  DCOCTL |= DCO2 | DCO1 | DCO0;
21
  BCSCTL1 |= RSEL2 | RSEL1 | RSEL0;   // MCLK = DCO, 8 MHz  (MCLK=Reloj de la CPU)
22
}
   And not because he still has to me blocked in the intruccion:
  While (~ (IFG1 and WDTIFG));
   It is supposed that on having put the Watchdog already not deberia to 
enter(approach) of indefinite form, but does it.

 Regards to all, I wait for answers

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren