Forum: Mikrocontroller und Digitale Elektronik LPC1756 - Grundschaltung


von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade von den Atmega´s zu einem LPC1756FBD80 umzusteigen.

Im Eagle habe ich die Grundschaltung mal aufgebaut. Bin mir allerdings 
nicht 100%ig sicher ob alles so passt.

Könntet Ihr bitte einmal drüberschauen und etwas dazu sagen? Das Bild 
ist im Anhang.
Vor allem bei dem JTAG Anschluss bin ich mir nicht vollends sicher.

Ich nutze den J-LINK EDU Programer mit einem 20-zu-10 Pin Adapter dazu, 
sodass ich mit dem 10 Pin Adapter flashe und debugge.

Vielen Dank für eure Hilfe.

Niine

von Niine (Gast)


Lesenswert?

Anmerkung: Der Quarz soll 25Mhz sein.

von Frank K. (fchk)


Lesenswert?

Was für ein Quarz ist das? HC49U? 7*5 mm SMD? Die 39pF scheinen mir 
etwas hoch. Ich verwende immer 3mm*2.5mm oder 7mm*5mm (je nach Frequenz) 
SMD-Quarze, und da sind irgendwas so um 18pF ±3pF im Allgemeinen 
passend. Außerdem schalte einen 1M Widerstand parallel zu den 
Oszillatorpins am Prozessor und sehe einen 0R zwischen XTAL2 und Quarz 
vor. Wenn Du den Quarz übersteuerst, kannst Du später hier einen 
Dämpfungswiderstand einsetzen.

Der 10-Pin JTAG-Connector hat eine unübliche Beschaltung. Schau hier:

http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm

Da ist der offizielle 10-Pin ARM Connector aufgeführt. Ich weiß ja 
nicht, was Du für einen Adapter benutzt, aber Du solltest Dich besser 
doch an die Herstellervorgaben halten. Besser ist das.

Am JTAG fehlen Pullups/Pulldowns - so zwischen 10- und 100k.
Schau es Dir zB hier ab:

https://www.olimex.com/Products/ARM/NXP/LPC1766-STK/resources/LPC1766-STK-SCH.pdf

fchk

von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Frank,

danke für deine Hilfe.
Ich habe deine Anmerkungen einfließen lassen. Hab mich erstmal gegen den 
10pin Adapter entschieden, da bin ich für das erste mal auf der sicheren 
Seite :-)

Passt es jetzt so?

Vielen Dank,
Niine

von Niine (Gast)


Lesenswert?

Frank K. schrieb:
> Was für ein Quarz ist das? HC49U? 7*5 mm SMD?

Ganz vergessen. Der Quarz ist ein SM49. Also die SMD Variante des HC49U.

von Nils (Gast)


Lesenswert?

Vier Dinge noch:

Pin 41 ist der ISP-Pin. Der braucht einen Pullup nach High (10k bis 
100k). Ansonsten läufst Du Gefahr, das der LPC nach dem Reset in den 
Bootloader springt. Auch lohnt es sich, den Pin auf ein Testpad zu 
legen, damit man zur Not den Bootloader vom LPC starten kann.

Quarz: Wenn Du vor hast USB zu benutzten solltest Du einen Quarz nehmen, 
aus dem sich einfach per internem PLL 48Mhz erzeugen lässt. 12Mhz und 
24Mhz sind hier eine gute Wahl. Ich persönlich bevorzuge Oszillator 
Module, die sind robuster weil man mit den parallel Kapazitäten nichts 
falsch machen kann, aber Deine Schaltung sollte so auch gehen.

VREFP und VREFA: Wenn Du sehr gute Ergebnisse vom ADC und DAC brauchst, 
dann lohnt es sich eine kleine Drosselspule zwischen die 3.3V und den 
Pin zu setzten, so 10µH tuen es schon. Zusammen mit dem Kondensator 
ergibt das dann einen Lowpass Filter, der die HF Spannungsglitsches, die 
unweigerlich in der 3.3V Supplyspannung entstehen rausfiltern.

Obligatorische 100nF Bypass Caps hast Du genug, ich würde noch zwei mal 
1µF und einen 10µF um den Chip verteilen um die Spannungsversorgung noch 
robuster zu machen. Wenn sich herrausstellt, das Du die nicht brauchst 
kannst Du ja später auf das Bestücken verzichten. Andersrum ist es nicht 
so leicht.

von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Nils schrieb:
> Vier Dinge noch:
>
Hallo Nils,
super, vielen Dank für die Tipps!
Anbei noch ein paar Fragen:

> Pin 41 ist der ISP-Pin. ...auf ein Testpad zu
> legen...
Wie genau meinst du es mit Testpad? Ich habe jetzt mal einen Jumper 
genommen der den Pin auf Ground legen würde. Geht das so? Siehe Anhang.

> Quarz: Wenn Du vor hast USB zu benutzten... 12Mhz und
> 24Mhz sind hier eine gute Wahl.
Danke, hab ich :-)

> VREFP und VREFA: Wenn Du sehr gute Ergebnisse vom ADC und DAC brauchst,
> dann lohnt es sich eine kleine Drosselspule
VREFA hab ich nicht, oder? Zumindest sehe ich in nicht, oder welchen 
meintest du?
Ansonsten, leuchtet mir ein, danke!

> Obligatorische 100nF Bypass Caps hast Du genug, ich würde noch zwei mal
> 1µF und einen 10µF um den Chip verteilen
Hab ich :-)

Viele Grüße,
Niine

von Nils (Gast)


Lesenswert?

> Wie genau meinst du es mit Testpad? Ich habe jetzt mal einen Jumper
> genommen der den Pin auf Ground legen würde. Geht das so? Siehe Anhang.

Jep, so ist gut.

Hintergrund ist folgender:

Ist der ISP Pin beim Reset auf Ground, dann springt der LPC nicht in den 
Flash-Code sondern ins Rom. Dort befindet sich ein Bootloader über den 
via UART0 der Chip programmiert werden kann. (Dafür gibt es kostenlose 
Upload-Tools, das Protokoll ist aber sehr einfach, kann man auch selbst 
schreiben).

Würdest Du Dir jetzt den ISP-Pin, Ground, sowie UART0 TX und RX auf 
einen 4 Pin Stecker legen, dann kannst Du völlig ohne JTag den Chip 
Flashen. Das ist praktisch wenn dein JTag-Debugger mal nicht will, Du 
auf der Reise bist oder so. Ein simpler USB/UART Konverter reicht dann 
zum Programmieren aus.

>> VREFP und VREFA: Wenn Du sehr gute Ergebnisse vom ADC und DAC brauchst,
>> dann lohnt es sich eine kleine Drosselspule
> VREFA hab ich nicht, oder? Zumindest sehe ich in nicht, oder welchen
> meintest du?
> Ansonsten, leuchtet mir ein, danke!

Oh, ich meine VREFP und VDDA. Sorry :-) Die Spule können sich beide Pins 
teilen.


Eins noch, sicher, das Du kein Rest-Taster auf dem Board brauchst?

von del (Gast)


Lesenswert?

Je nach dem, welche Lasten am GND hängen, kann es auch sinnvoll sein, 
den VSSA von GND mit einer kleinen Spule zu trennen.
Resettaster würde ich auch vorsehen, wenn der Platz nicht zu knapp ist.

von Jojo S. (Gast)


Lesenswert?

VBat getrennt herausführen und den Uhrenquarz anschließen für die RTC? 
Der ist klein und ist schlecht auf ein breadboard zu packen.

von W.S. (Gast)


Lesenswert?

Niine schrieb:
> Wie genau meinst du es mit Testpad? Ich habe jetzt mal einen Jumper
> genommen der den Pin auf Ground legen würde. Geht das so? Siehe Anhang.
>
>> Quarz: Wenn Du vor hast USB zu benutzten... 12Mhz u

Am besten ist es, wenn du dir einen 5 poligen Header auf dein Board 
setzt mit folgenden Anschlüssen:
- GND
- RxD (von dem UART, wo der Bootlader standardmäßig drauf zugreift)
- TxD (dito)
- /Reset (mit 4k7 gegen VCC und 10..22nF gegen GND)
- /Boot (ISP-Pin) ebenfalls mit 4k7 gegen VCC gezogen
und wenn du willst, auch noch nen 6. Pin an VCC

Beim JTAG/SWD sehe ich das deutlich entspannter. Natürlich kannst du dir 
einen dicken 10 oder gar einen noch dickeren 20 poligen Verbinder auf 
die LP setzen, aber wirklich nützlich ist das nicht. Ich habe für SWD 
(allerdings auf LP für Freescale-µC) nur GND, SWCLK, SWDIO, VCC, /RESET 
auf einen Steck im 1.25 mm Pitch geroutet, das ist klein und 
funktioniert trotzdem.

Zum eventuellen USB:
Wenn du USB  haben willst, dann setz die USB-Buchse mit auf dein Board 
und versuche nicht, die Usbsignale über diverse Breadboard-Gefilde zu 
schleifen. Dazu kommt noch der VUSB-Anschluß sowie der geschaltete 1k5 
(guck dazu ins Manual)

W.S.

von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

also ich hab die Tipps noch eingearbeitet. Die Bootloaderprogrammierung 
klingt interessant, deswegen hab ich den 5Pin Stecker mal mit 
reingebracht (Oben rechts). Die Pullup Widerstände habe ich da mal 
gelassen, weil da haben wir ja vom JTAG die 10k schon...

Die Spule hab ich noch mit an VSS geschlossen, 10uH ist da ok?
Ansonsten VREFP und VDDA zusammen an die Spule geschlossen und den Reset 
Taster eingefügt.

Thema VBAT und RTC habe ich mich noch nicht beschäftigt :-/ Da muss ich 
mich erstmal belesen wie ich es da genau machen muss.

Fällt jemand noch etwas auf? Vor allen bei den neuen Sachen...

Vielen Dank für eure Hilfe, man lernt viel :)

Viele Grüße

von del (Gast)


Lesenswert?

Du könntest noch einen 100n zwischen RESET und GND hängen um den Reset 
Taster zu entprellen. Aus dem Schaltplan von STM32F4 Discovery Board 
kann man viel abschauen :)
Je nach dem was du vor hast kannst du zb einen UART auf einen Stecker 
herausführen (samt VCC, GND usw.) damit du später einen FTDI Adapter 
oder einen kleinen Bluetooth Adapter anschließen kannst.
Dann könntest du den MC sogar wireless flashen.

SWD usw. mache ich auch immer so minimalistisch, wie W.S. es beschrieben 
hat, zumindest beim STM32Fx

von del (Gast)


Lesenswert?

EDIT: bin mir aber nicht sicher ob man auch deinen MC wireless flashen 
kann, da wissen die anderen bestimmt mehr ;)

von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

eine Frage habe ich noch. Habe nun USB versucht mit anzuschließen und 
habe den Plan von da genommen:
https://www.pantechsolutions.net/project-kits/interfacing-usb-2-with-arm7-friendly

Kann ich das so machen?
USB_VCC geht dann direkt an den VBUS-Pin.

Viele Grüße und besten Dank,
Niine

von Jim M. (turboj)


Lesenswert?

Die Leitung vom 10k an 3V3 schließt den Bus auf 5V kurz. Damit grillst 
Du eventuell sogar den Hub/PC, denn Die Dateleitungen vertragen keine 5 
Volt.

Der LPC175x hat IMO einen Pin zum Schalten des USB Widerstands (der nur 
an D+ geschaltet wird) via Transistor.

von Niine (Gast)


Lesenswert?

Jim M. schrieb:
> Die Leitung vom 10k an 3V3 schließt den Bus auf 5V kurz. Damit
> grillst
> Du eventuell sogar den Hub/PC, denn Die Dateleitungen vertragen keine 5
> Volt.
>
> Der LPC175x hat IMO einen Pin zum Schalten des USB Widerstands (der nur
> an D+ geschaltet wird) via Transistor.

Danke, vollkommen richtig. Ich hatte mich da auch schon gewundert.
Hab es nun auch im Datenblatt gefunden, Seite 65 ist doch ein 
wunderbarer Schaltplan schon gezeigt. :-)

Viele Grüße

von Stephan M. (stephanm)


Lesenswert?

Niine schrieb:
> Die Spule hab ich noch mit an VSS geschlossen, 10uH ist da ok?

Einen LC-Filters für VDDA -- ok. Aber VSSA über 10µH an GND? Damit hast 
Du bei höhreren Frequenzen eine hochohmige Masseverbindung. 
Normalerweise will man sowas doch vermeiden, oder macht das bei der 
analogen Masse des µC tatsächlich Sinn?

Mir erscheint das mehr als fragwürdig. Das Datenblatt zum LPC1756 sagt, 
die analoge Masse "should be isolated to minimize noise and error", aber 
ich würde denken, dass damit die Empfehlung zu einer aufmerksamen 
Masseführung oder zu einer gesplitteten Massefläche gemeint ist.

von Jim M. (turboj)


Lesenswert?

Stephan M. schrieb:
> Einen LC-Filters für VDDA -- ok. Aber VSSA über 10µH an GND? Damit hast
> Du bei höhreren Frequenzen eine hochohmige Masseverbindung.
> Normalerweise will man sowas doch vermeiden, oder macht das bei der
> analogen Masse des µC tatsächlich Sinn?

Nö, kein Stück - insbesondere wenn der Abblock Kondensator nicht am Chip 
hängt.

VREF an (gefilterte) VDD ist aber nich so gut, da es auch keine interne 
Referenz gibt. Da ist der ADC nur ein Schätzeisen...

von Niine (Gast)


Lesenswert?

Jim M. schrieb:
> Nö, kein Stück - insbesondere wenn der Abblock Kondensator nicht am Chip
> hängt.
Okay, also einfach ganz normal an GND?

> VREF an (gefilterte) VDD ist aber nich so gut, da es auch keine interne
> Referenz gibt. Da ist der ADC nur ein Schätzeisen...
Das wurde ein paar Beiträge vorher geraten. Wie würdest du es machen, 
bzw wie machst du es?

Viele Grüße

von Jim M. (turboj)


Lesenswert?

Niine schrieb:
> Jim M. schrieb:
>> Nö, kein Stück - insbesondere wenn der Abblock Kondensator nicht am Chip
>> hängt.
> Okay, also einfach ganz normal an GND?

Das kommt darauf an (tm). Wenn GND eine durchgänige Massefläche bei 
einer 4-lagigen Platine ist: Ja, das langt bei 12 Bit ADC 
normalwerweise.
Bei 2 Lagen oder größenen Strömen muss man im Layout aufpassen, das 
sieht man aber nicht im Schaltplan.


Niine schrieb:
>> VREF an (gefilterte) VDD ist aber nich so gut, da es auch keine interne
>> Referenz gibt. Da ist der ADC nur ein Schätzeisen...
> Das wurde ein paar Beiträge vorher geraten. Wie würdest du es machen,
> bzw wie machst du es?

Wir benutzen für VREF eine genaue 3,0 V Referenzquelle mit einem darauf 
spezialisiertem Baustein.
Das ist nötig wenn man den ADC genauer als die 3,3 Volt Versorgung haben 
will. Auf vielen Demo Boards ist VREF einfach wie bei Dir auf 
(gefilterter) VCC, weil das für Demo Zwecke genau genug ist.

von Niine (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe nun das Board soweit fertig und wollt den Segger J-Link Edu per 
JTAG verbinden. Leider bekomme ich keine Verbindung :( Und der LPC wird 
auch bei Spannungsanschluss sehr heiß.

Ich habe schon alles abgesucht, alles kontrolliert und geprüft. Aber ich 
finde einfach das Problem nicht.

Sieht zufällig jemand von euch ein Problem im Schaltplan oder hat einen 
Rat?

Viele Grüße,

Niine

von Lothar (Gast)


Lesenswert?

Niine schrieb:
> Sieht zufällig jemand von euch ein Problem im Schaltplan

Leider nicht. Hätte aber grundsätzliche Anmerkungen:

1) Die LPC1700 sind elektrisch für ein eigenes Board schon eine 
Herausforderung. Wenn nicht unbedingt Ethernet gebraucht wird, ist der 
"Nachfolger" LPC1500 im QFP-48/64/100 eher zu empfehlen, der läuft 
notfalls sogar ohne Stützkondensatoren. Hat deutlich bessere Peripherie 
bekommen z.B. 2 MSPS 12-Bit ADC/DAC. Zudem meldet sich hier der 
Bootloader als USB-Stick und man kann einfach das Binary draufziehen:

http://www.nxp.com/ko/products/microcontrollers-and-processors/arm-processors/lpc-cortex-m-mcus/lpc-cortex-m3-mcus/lpc1500-cortex-m3-mcus:MC_1403790713448

2) Wenn es ein LPC1700 sein muss, ein Breakout-Board funktioniert immer 
und ist wahrscheinlich auch noch billiger als ein komplett eigenes 
Board:

http://www.embeddedartists.com/products/lpcxpresso/lpc1769_cmsis_xpr.php

von Andreas (Gast)


Lesenswert?

Hallo Niine,

die Vorwiderstände der LEDs sind viel zu niedrig.
Der Port 2 kann keine "Normalen" LEDs Treiben, Low Current  LEDs 
funktionieren dabei wunderbar.

Viele Grüße
Andreas

von Jim M. (turboj)


Lesenswert?

Andreas schrieb:
> Der Port 2 kann keine "Normalen" LEDs Treiben, Low Current  LEDs
> funktionieren dabei wunderbar.

Die 10mA @0.5V V_OL reichen für normale LEDs aus, solange man sie nicht 
bei direktem Sonnenschein ablesen muss. Der Kurzschlusstrom bei den 
GPIOs ist 50mA.

Allerdings darf man nicht sehr viele davon gleichzitig betreiben, der 
Strom durch die GND Pins (und Ptot des Packages) limitieren hier.

von Andreas (Gast)


Lesenswert?

Hallo Jim,

im Schaltplan hat er 68Ohm Vorwiderstände verwendet.
Damit dürfte der Strom deutlich höher als 10mA sein.

Andreas

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.