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
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
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
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.
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
> 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?
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.
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.
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
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
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.
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
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.
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...
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
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.
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
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
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.