Forum: Mikrocontroller und Digitale Elektronik LPC2214: Quarz läuft nicht an


von Bernd S. (mms)


Lesenswert?

Hallo,

verwendet jmd von euch ein Board mit dem LPC2214 Controller und kann mir 
den verwendeten Quarz nennen?

Im Moment hab ich einen 14.7456MHz Quarz dafür vorgesehen ´
(http://www.abracon.com/Resonators/abm3b.pdf mit 10pF), aber der 
Controller läuft lediglich auf 1.6MHz (toggeln eines I/O Pins) und nicht 
mit den eingestellten (interne PLL) 60 MHz.

Das PLL Status Register ist mit 0x0703 richtig. Hab auch schon die 
Lastkondensatoren testweise geändert (18pF, 33pF, 10pF) - allerdings 
ohne jeglichen Erfolg.

Der Abstand vom Quarz zu den Pins vom µC ist max. 10mm; der ESR Wert von 
70 Ohm ist auch entsprechend niedrig gewählt.

Gruß
Bernd

von holger (Gast)


Lesenswert?

>aber der Controller läuft lediglich auf 1.6MHz
>(toggeln eines I/O Pins) und nicht
>mit den eingestellten (interne PLL) 60 MHz.

Die IO-Pins sind nicht besonders schnell bei den ARMs.
Wenn du wissen möchtest ob dein Takt stimmt, programmier
doch einfach einen Timer der den Pin alle Sekunde toggelt.

von Robert T. (robertteufel)


Lesenswert?

@Bernd,
erst mal moechte ich mich dem Vorschlag von Holger anschliessen, ein 
Timer mit pin toggeln ist eine viel bessere Indikation wie schnell das 
Teil laeuft als einen Pin so schnell als moeglich zu toggeln. Ich bin 
ueberzeugt, dein Quarz laeuft.
Ein paar Tips und Fragen.
1. Ist das ein LPC2214 oder ein LPC2214/01? Der /01 hat die sogenannte 
fast I/O, muss allerdings auch etwas anders programmiert werden als die 
regulaere I/O.
2. Bei Reset ist die MAMTIM auf langsamste Ausfuehrung programmiert, im 
Manual danach suchen und entsprechend programmieren.

Hoffe mal das hilft etwas weiter.

Robert
http://www.lpc2000.com

von Bernd S. (mms)


Lesenswert?

vielen Dank für die Tipps. Hab einen Timer initialisiert mit 10ms 
Timer-Intervall und der Pin toggelt dann auch mit 10ms.

Es handelt sich um einen LPC2214 (ohne /01) Prozessor. Den MAMTIM Wert 
hab ich bereits auf 4 gestellt (laut Datenblatt / User Manual sollte 
dieser Wert bei 40 - 60 MHz auf mind. 3 stehen).

Das Frequenz-Problem selbst ist mir beim I2C Bus aufgefallen; da die von 
mir eingegebenen I2C-Frequenzwerte (I2SCLH und I2SCLL) nicht mit den 
gemessenen übereinstimmen. Die gemessenen sind um einiges langsamer als 
die berechneten.

Gruß
Bernd

von Robert T. (robertteufel)


Lesenswert?

Es gibt noch einen Teiler fuer die Peripherals, ist nach dem Reset /4 
vielleicht ist es der. Das gilt allerdings auch fuer die Timer und der 
scheint ja richtig zu sein. Der Baustein hat schon ein paar Jaehrchen 
auf dem Buckel, denn die /01 sind meines Wissens nach seit 2007 auf dem 
Markt und haben ein paar nette neuen Eigenschaften wie z.B. fast I/O, 
eine deutlich bessere SPI und auch ein verbesserter UART.
p.s. ich denke mal da war bereits eine Hardware vorhanden, sonst sollte 
ein Neustart mit dem LPC2468 oder aehnlichem stattfinden, vergelichbare 
Kosten bei deutlich verbesserter Funktionalitaet.

Robert

von Bernd S. (mms)


Lesenswert?

hab gerade etwas an den PLL Settings gespielt, und bei Mul=5 und Div=2 
läuft der Controller schneller als bei Mul=4 und Div=1. Bei Mul=7 und 
Div=2 hat sich dann der Controller erst mal verabschiedet und bootet 
nicht mehr vom Flash.

Denke mal das ein kleinerer Quarz (um die 10MHz) hier abhilfe schaffen 
sollte, um den LPC wieder neu flashen zu können. Aber das mit der 
Frequenz macht mich stutzig....

Gruß
Bernd

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.