Hallo Leute, nachdem ich nun mein Programm auf dem NUCLEO-F411RE + Peripherie zum laufen gebracht und einen Schaltplan erstellt habe, hätte ich vor dem Layouten noch ein paar allgemeine Fragen. SWD Schnittstelle Anfangs habe ich mein Programm per DFU auf den Chip geflasht. Da ich gerne eine Schnittstelle hätte mit der ich mein Programm debuggen kann habe ich nun eine SWD Pinheader eingebaut. Wird diese mit einem ST-Link/V2 programmierer so funktionieren ( siehe Anhang )? Oszillator Für DFU musste ich zusätzlich einen 8 MHz quarz auf mein NUCLEO Board löten, nur so wurde es von Windows erkannt. Bin ich richtig mit der Annahme das ich diesen mit einer SWD Schnittstelle aus meinem Schaltplan wieder entfernen kann ( bereits entfernt )? Außerdem habe ich die PLL clock benutzt um ein 40 kHz Signal über einen Timer Callback zu erzeugen. Ist der 32kHz Oszillator der auch auf dem NUCLEO Board verbaut ist, bei einer PLL clock (die intern erzeugt wird?) von nöten? Bauteile & Plazierung Sind die Pull up/down Widerstände richtig gewählt? Bei den Tastern TY_Boot & TY_RESET habe ich auch noch Widerstände in Reihe dazu geschaltet. Diese Taster lösen einen BOOT/Reset bei einem anderen Gerät aus, sind die Werte in Ordnung? Oszillator sowie Kondensatoren sollte ich so nah wie möglich an ihre entsprechenden Pins plazieren, aber das wird sich beim Layouten zeigen. Allgemein stellt sich mir die Frage ob der Schaltplan so funktioniert oder ob ich irgendetwas vergessen habe. Würde mich über Anregungen, Verbesserungen und ein bisschen hate freuen! Gruß
In deinem Schaltplan kann man kaum die Zahlen und Buchstaben erkennen. Zudem: einiges hätte man schön logisch anordnen können, zwecks besserem Verstehen. Was ich trotzdem in Frage stellen kann: was sollen 47k in Reihe zu den Tastern? Wer zieht den Pin im Ruhezustand auf HIGH? An NRST mit parallelem C wäre evtl. ein kleiner Reihenwiderstand zum Taster angebracht - so 50Ω oder 100Ω.
HildeK schrieb: > Wer zieht den Pin im Ruhezustand auf HIGH? Der Ausgang von meinem µC. Habe dem Datenblatt entnommen das die Pull-Down Widerstände so dimensioniert werden sollen
Walt N. schrieb: > HildeK schrieb: >> Wer zieht den Pin im Ruhezustand auf HIGH? > > Der Ausgang von meinem µC. Habe dem Datenblatt entnommen das die > Pull-Down Widerstände so dimensioniert werden sollen Ok. Unklar war, dass der µC hier einen Ausgang hat. Pullup oder Pulldown hat man üblicherweise an Eingängen. Oder an OD-Ausgängen. Aber: Wenn der Ausgang vom µC auf HIGH gezogen wird, dann bewirkt der Taster nichts, er schaltet nur 47k Last dazu - ohne irgendwelche Änderung am Pegel. Wenn der Ausgang über einen internen PU nach HIGH gezogen wird, dann sind 47k viel zu viel, denn der interne PU ist wahrscheinlich sogar niedriger als 47k. Du bekommst dann kein LOW sondern irgendwas mit etwa oder mehr als der halben Versorgungsspannung. Es könnte auch sein, dass du mit dem Ausgang HIGH und LOW schalten willst und ggf. bei HIGH auch manuell mit dem Taster das xx_Reset- oder xx-Bootsignal auf LOW bringen willst. Dann aber musst du den 47k in Reihe zum Ausgang legen. Aber auch in dem Fall wäre der mir zu hochohmig. 4k7 oder 10k sind besser passend, wobei ich die Specs von den STM32-Ausgängen nicht kenne und auch von dem angeschlossenen Eingang abhängt.
Walt N. schrieb: > SWD Schnittstelle Du wirst der SWD Schnittstelle noch den NRST mitgeben wollen. Walt N. schrieb: > Oszillator Wenn du den DFU nicht mehr nutzen möchtest brauchst du im Prinzip keine HSE mehr. Der DFU benötigt diese Zwingend, hier ist anzumerken, dass in den Datenblättern meistens die Rede davon ist das die HSE bis 24MHz gehen kann in der Praxis sind aber mehr als 10MHz nicht wirklich drin. Der Bootloader misst die HSE Frequenz mit dem internen RC Oszillator als Referenz und der ist für höhere Taktraten zu ungenau. Generell ist eine externe HSE immer besser, wenn man genaue Timings braucht, das kommt auf die verwendete Peripherie und Anwendung an. Ich persönlich bevorzuge allerdings Oszillatoren statt Quarze. Walt N. schrieb: > Ist der 32kHz Oszillator der auch auf dem NUCLEO Board verbaut > ist, bei einer PLL clock (die intern erzeugt wird?) von nöten? Nein der ist rein für die RTC. Timer können von HSE,HSI oder PLL (genauer der SYSCLK) versorgt werden. Die PLL wird ebenfalls entweder aus HSI oder HSE gespeist. ST empfiehlt bei den meisten Prozessorfamilien zusätzlich zu den 100nF an jedem VDDx noch EINEN 4.7µF Bulk Kondensator.
HildeK schrieb: > Es könnte auch sein, dass du mit dem Ausgang HIGH und LOW schalten > willst und ggf. bei HIGH auch manuell mit dem Taster das xx_Reset- oder > xx-Bootsignal auf LOW bringen willst. Dann aber musst du den 47k in > Reihe zum Ausgang legen. Stimmt, macht nicht sehr viel Sinn was ich da gemacht habe. So sollte es doch besser aussehen.
Ist bei STM32 schon ein Bootloader vorprogrammiert? Also funktioniert das so wenn ich die Platine mir bestücken lasse, direkt per SWD zu flashen?
Walt N. schrieb: > Ist bei STM32 schon ein Bootloader vorprogrammiert? Ja aber das hat mit SWD nichts zu tun. Es gibt einen ROM UART Bootloader. > Also funktioniert > das so wenn ich die Platine mir bestücken lasse, direkt per SWD zu > flashen? Ja natürlich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.