Das merkwürdige Verhalten des laufreifen Philips LPC932 zur Einschaltzeit :-(

Hi, NG!

Ich bin in einem schlechten Film.

formatting link

in folgender Beschaltung ein:

  1. Der Controller wird von einem 12MHz Quarz getaktet (per

  1. Die Stromversorgung leistet ein LM2936-3.3 LDO von 10V auf 3V3. 22uF Tantal + 0.22uF KerKo am Ausgang, nah am Controller. Ein 2K2 Widerstand ist an die Stromversorgung angeschlossen, um diese nach dem Abschalten sicher bis auf 0V fallen zu lassen. Der Grund: "Vdd Fall Time" lt. Datenblatt Table

8, Seite 45 und Punkt 8.15, Seite 25.
  1. Nach dem Start werden per Software alle Port-Pins (mit wenigen Ausnahmen wie P1.2, P1.3 und P1.5) als Quasi-Bidirectional definiert. Der Grund: nach dem Reset sind alle Port-Pins lt. Datenblatt [Punkt 8.12, ab Seite 22] als

werden sie halt in Quasi-Bidirectional umgewandelt.

trotzdem als Reset behandelt und darf zu dem Zeitpunkt nicht LOW sein.

definiert.

Mehr ist am Controller nichts dran.

Und jetzt kommt's:

einigen Sekunden) wieder eingeschaltet wird, kann man nach einigen Versuchen die Situation reproduzieren, wo der Controller sich selber UMPROGRAMMIERT,

Die Tatsache, dass die Sichetheit-Bits gesetzt worden sind, kann man feststellen, indem diese mit FlashMagic (so ein Programmwerkzeug von Philips

aus verschiedenen Programmabschnitten heraus die oder jene Port-Pins

worden sind, tut der MOVC-Befehl nicht mehr richtig, die Konstanten sind dann falsch, und das Programm rechnet falsch. Wenn man den Controller jedoch

funktioniert alles wieder richtig, u.s.w....

Ich weiss, die Frage ist sehr speziell...

TIA, Igor.

Reply to
Igor "Knight" Ivanov
Loading thread data ...

Igor "Knight" Ivanov schrieb im Beitrag ...

Hat der uC eine eingebaute Brown-Out-Protection ? (Sorry, trotz URL hol ich mal nicht das Datenblatt, das wird groesser sein) ? Wenn nein: RESET-Controller an den RESET-Anschluss. Fuer 3V3 bei active high RESET hat die de.sci.electronics FAQ:

formatting link
leider keinen brauchbaren auf Tasche (ICL7665, TL7702, na ja). Wenn du also einen akzeptable findest (3-pin), sag die Typennummer. (National, OnSemi, TI, Maxim)

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com 
homepage: http://www.geocities.com/mwinterhoff/ 
Read 'Art of Electronics' Horowitz/Hill before you ask. 
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

indem

Versuchen

UMPROGRAMMIERT,

Ja, wir haben alle Sicherheitsmechanismen, die der Controller bietet, auf den Kreuzzug geschickt. Auch den Brown Out Detector im Reset Mode und den Watchdog im Security Mode, was heisst, der startet sofort nach dem Power Up, ohne von der Software explizit zum Laufen gebracht werden zu müssen. Nur regelmässig bestätigen danach, natürlich.

Nix geholfen. Also, das hilft schon den Prozessor zu (re)starten, falls dieser während der Vergewaltigung durch die Spannung "rein-raus" doch stecken bleibt (das kann man manchmal tatsächlich beobachten, doch nach 2.66 Sekunden erweckt der Watchdog das Chipchen zum Leben wieder). Aber so ein Hang beim Start bedeutete nicht automatisch, dass der Controller sich programmierte. Der Controller startet immer aber dann ZACK! - Fehler, der sich bei uns so zeigt, dass PWM nicht mehr tut, denn die Konstanten im Speicher sind dafür notwendig.

Gerne! Aber das Layout ist schon 1000-Fach fertig. Gut, ich habe eine Revision gemacht, und die nächste Generation kriegt einen Reset-Chip verpasst. Doch interessanterweise haben wir noch eine Schaltung, mit dem Chip diesmal in einem TSSOP Gehäuse, wo RESET sogar in der Luft hängt, und sie tut als ob nix wäre. Nirgendwo im Datenblatt oder ANs stand, dass der Reset-Pin nicht frei gelassen werden dürfe! Da steht nur, während Start Up bitte NICHT nach LOW ziehen.

BTW, LPC932 braucht aktiv LOW.

Ich hab' so einen von Maxim gefunden, irgendwie mit vierstelliger Nummer MAXxxxx, SC70-Gehäuse. Das Datenblatt ist im Büro, habe nicht im Kopf... Heutzutage gibt es diese Chips haufenweise, sogar bei AD! Mit Schwellenspannungen im 0.1V Schritt.

Und noch eine Sache, die mir in den Sinn kam als ich jetzt diese Antwort schrieb. Es kann sein, dass zum Startpunkt die noch floating Pins (die Software ist noch nicht angelaufen) so eine Konstellation (Sternenbild? - zum Thema Denglish und Latein :-)) darstellen, dass der Chip auf PARALLEL-Programming Mode geht?! Ich habe sofort bei Philips nachgeschaut und konnte überraschenderweise keinen Dokument finden, wo steht, wie man diese Dinge parallel programmiert! Wer findet, bekommt von mir ein Bier spendiert, jedoch virtuell ;-).

Gruss, Igor.

Reply to
Igor "Knight" Ivanov

Ah! Und was steht bevor? ;-)

Oh, ja! Anscheinend hat sich dieses Ungezieferpärchen ziemlich vermehrt! Ich bin sicher, das Errata Sheet wird bald länger sein als der User Manual selbst!

Wir haben jetzt die Revision G. Aber das von dir beschriebene Verhalten konnten wir bisher nicht feststellen. Bei uns läuft er immer mit 12MHz vom externen Quarz an, was man (wie ich schon schrieb) anhang der Debug-(Kammerjäger-? Oh! Nach dem Thread "OT: gutes Deutsch" hier, den ich ungewollt losgetreten hatte, komme ich nicht mehr zu Ruhe!)Impulse, die wir aus dem Programm heraus senden, sieht. (

Reply to
Igor "Knight" Ivanov

Hi!

Wow! Danke fuer den Tipp! Wir haben naemlich eine Schaltung, die mit dem internen Oszi laufen tun macht :-). Bisher konnten wir jedoch den Effekt nicht beobachten. Aber. Ich glaube, man kann aus der Situation herauskommen: man startet den Watchdog und stellt ihn so ein, dass das Programm mit 7.xxx MHz es schafft, diesen rechtzeitig und regelmaessig zu bestaetigen, aber das selbe Programm, getaktet mit 400kHz, - nicht mehr. Kommt reset, und... Was dann? Schaltet der Prozessor wieder auf 7.xxx Mhz um? Weisst du, ich rede am Montag mit dem Kollegen, der das Programm schreibt...

(Mir iss egal, man spricht beim Thema sowieso Denglish ;-)). Ich habe unseren Distributor (von dem wir die Chips beziehen) so erschreckt, dass die Leutz mir eine e-mail Adresse von irgendeinem Supportingenieur persoenlich rausgerueckt hatten. Den habe ich heute schon angeschrie(b)en :-). Der schlief bestimmt noch zu dem Zeitpunkt, aber am Montag werden wir sehen...

Die duerfen vollwertige Ports haben, meinetwegen, aber warum muss ich mich um irgendwelche externen Widerstaende kuemmern, um z.B. MOS-Eingaenge in einem definierten Zustand zu halten, solange die Ports, die die Eingaenge ansteuern sollen, noch nicht als Ausgaenge von der Software geschaltet sind?! Wozu baut man so einen feinen klitzekleinen Chip, wenn drum herum haufenweise Resis stehen muessen?

Ob wir DIVM verwenden... Denke nicht, muss 1:1 laufen... Muss den Kollegen am Montag Fragen, das ist sein Kramm.

Danke! Igor.

Reply to
Igor "Knight" Ivanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.