Erste Schaltung mit dem STM32F103 ARM

OP #1657545
Lesenswert?

Hi,

ich hab jetzt meine erste Testschaltung für den STm32F103 fertig. 
Angeschlossen sind ein LCD-Display, Touch und SD-Karte.


Hier die Datenblätter zu den Bauteilen:

STM32F103xE
http://www.st.com/mcu/download2.php?file=14611.pdf&info=STM32F103RC%20Datasheet%20STM32F103xC-D-E&url=http://www.st.com/stonline/products/literature/ds/14611.pdf

USB ESD protection
http://www.st.com/stonline/products/literature/ds/11265.pdf

Display/Touch
http://www.lcd-module.de/deu/pdf/grafik/dogxl160-7.pdf

LED-Treiber
http://www.onsemi.com/pub_link/Collateral/CAT4238-D.PDF

Passt das so?

Lieben Gruß & danke
Tom
Angehängte Dateien:
(Firma: EleLa - www.elela.de) #1657589
Lesenswert?

- IC3 ist nicht richtig angeschlossen. Ich kenne den zwar nicht, aber 
der braucht sicher GND.
- Wo kann man die Versorgungsspannung anschließen?
- Mindestens eine LED sollte drauf sein, so für z.B. Blink-LED Test.
- RxD/TxD sollte nach aussen geführt werden, damit könnte man einen 
TTL/V24 Wandler anschließen und seriell infos auf dem Hyperterminal 
beobachten. (Debug-Ausgabe)
- Die C's 10uF durch X7R (0805) Kondensatoren SMD ersetzen, auch die 
etwas reduzieren, denn sonst passen die nicht auf die Platine (oder es 
passen keine anderen Leitungen daran vorbei)
- Es gibt sicher Kalibierdaten für den Touchscreen. Daher wäre es nicht 
schlecht die dauerhaft gespeichert zu haben. Dafür kann man entweder das 
Flash verwenden, das ja bei jedem Debug-Download gelöscht wird oder man 
macht ein externen IIC EEPROM ran.
- Pull-Up bei RST?
- OSC-IN hängt in der Luft. / R15 ist falsch >> Quarz
- Die Schaltung T1/T2 ist schrott. Einfach R11 auf einen Port-Pin des 
Prozessors legen.
- Spannungsregler von +5V (USB VIn) auf 3,3V Fehlt.
(Firma: EleLa - www.elela.de) #1657606
Lesenswert?

- Mein Debug-Stecker hat nur 10 Pins und ich habe einen Adaptergemacht.
  > Vorteil:
  > - Weniger Platzbedarf auf der Platine
  > - Hat auch einen Debug-UART-Anschluss.
  > (- Wenn man den richtigen UART verwenden könnte auch der interne STM
       Bootloader funktionieren, habe ich aber nie genutzt)
- Mein EA-DOG (2*16 Zeichen) schließe ich mit 2 Versorgungsspannungen
  an. Damit muss ich nicht extra den Strom über Spannungsregler auf 3,3V
  verbraten, um ihn dann wieder im LCD zu erhöhen.
- Die Bezeichnung Vcc im Plan ist verwirrend, besser die Spannung so
  benennen wie sie ist (z.B. 3,3V)
Angehängte Dateien:
#1657631
Lesenswert?

Ergänzend zu den Kommentaren von Markus:

- Boot1 Pin ist nicht angeschlossen.
- Prüfen, ob PE5 5Volt tolerant ist (wahrscheinlich ja, weil kein ADC 
drauf hängt)
- Serienwiderstände für die USB Leitungen
- Die C Armada an Versorgungspins des STM32s ist überzogen. Lt. 
Datenblatt ist nur an einem VCC GND Paar ein 4u7 || 100nF gefordert und 
bei der Versorgung für den Analogteil. An den anderen reichen 100nF.
Persönliche Seite #1659058
Lesenswert?

Schadet nicht BOOT[1:0] über jumper selektierbar machen, speziel weil 
"meine erste Testschaltung".

Markus Müller schrieb:
> - Mein Debug-Stecker hat nur 10 Pins und ich habe einen Adaptergemacht.
>   > Vorteil:
>   > - Weniger Platzbedarf auf der Platine
>   > - Hat auch einen Debug-UART-Anschluss.
>   > (- Wenn man den richtigen UART verwenden könnte auch der interne STM
>        Bootloader funktionieren, habe ich aber nie genutzt)


mag sein, würde ich aber nicht machen. Morgen vergisst man und klemmt 
ein jtag stecker und schon brennt was durch. Mit einem spezielen stecker 
allerdings kein problem, cih würde meiden aber etwas wo man aus versehen 
einen "standard was auch immer" reinstecken kann -> vor allem weil 
"meine erste Testschaltung".
(Firma: EleLa - www.elela.de) #1659076
Lesenswert?

Der 20-Polige JTAG-Stecker passt leider nicht in meine 10-Polige Wanne, 
daher gibt es so einfach keinen Kurzen.

Wenn man hingegen bei dem 20-Poligen keine echte Wanne nimmt sondern nur 
Stifte und dann den Stecker falsch rein tut, dann kanns rauchen! weil 
Pin 1 / 20    +3V3 / GND dummerweise gegenüber liegen.
Das passiert bei meinem Stecker nicht.
Und bei meinem Stecker kann man auch mit einem 4-Poligen Quadrat-Stecker 
an den UART.
(Firma: EleLa - www.elela.de) #1659154
Lesenswert?

Auf der linken Schaltung fehlt TRST, dafür ist der RTCK drauf, den es 
nicht braucht.

Auf der rechten Schaltung kann man zwischen 1 und 10 einen Kurzen 
erzeugen, falls man den Stecker falsch rum rein steckt.

Ich finde mein Stecker ist perfeckt angeordnet:
1. Über 4-Poligen Würfel kann der UART benutzt werden (Pin 7/8/9/10)
2. Es kann ein Jumper gesteckt werden für eine Option (Pin 7/8) ohne 
dass es sich mit dem RS232 Chip beißt
3. Über einen 5-Poligen einreihigen Stecker kann SWD (SingleWireDebug) 
verwendet werden (Pin 1/3/5/7/9)
4. den ganzen Stecker braucht es nur, wenn man den herkömlichen JTAG 
nutzen möchte.
5. kleinerer Stecker (als 20-Polig) benötigt weniger Platz bei der CPU, 
denn da hat man ohnehin wenig Platz wegen der vielen Leitungen.

Warum die anderen "Standards" nicht so elegant aufgebaut sind weiß ich 
nicht. Offensichtlich wurde da nicht genügeng nachgedacht. Ich 
jedenfalls habe in allen Schaltungen von mir immer diese gleiche 
Anordnung, daher gibt es auch keine Verwechslung.
Wenn man jetzt neu mit dem STM32 beginnt und dies gleich so macht, dann 
gibt es auch nie eine Verwechslung.
Anbei ein Bild meines Adapters 20-Polig / 10 Polig und Anschluss für 
TTL-UART.

Jeder kann selbst entscheiden was er einsetzt, ist nur ein gutgemeinter 
Ratschlag. Ich publiziere das hier gerne, vieleicht liest ja jemand von 
den JTAG-Bauern mit und übernimmt diese Idee, wäre nicht schlecht. Denn 
ein FTDI Basierter JTAG bietet auch gleich einen freien UART...

Vielleicht sollte ich einen eigenen Thread dafür auf machen. Aber erst 
wenn tatsächlich interesse dafür besteht.
Angehängte Dateien:
OP #1664211
Lesenswert?

Jörn Kaipf schrieb:
> Die C Armada an Versorgungspins des STM32s ist überzogen. Lt.
> Datenblatt ist nur an einem VCC GND Paar ein 4u7 || 100nF gefordert und
> bei der Versorgung für den Analogteil. An den anderen reichen 100nF.

Hier mal ein Auszug aus der Appnote Getting Startet von ST

The VDD pins must be connected to VDD with external decoupling 
capacitors (one
100 nF Ceramic capacitor for each VDD pin + one Tantalum or Ceramic 
capacitor (min.
4.7 μF typ.10 μF).


- Wo kann man die Versorgungsspannung anschließen?
Was meinst Du damit?

- Mindestens eine LED sollte drauf sein, so für z.B. Blink-LED Test.
Schon klar, wird eh erst auf Lochrater mit Adapterplantine aufgebaut

- RxD/TxD sollte nach aussen geführt werden, damit könnte man einen
TTL/V24 Wandler anschließen und seriell infos auf dem Hyperterminal
beobachten. (Debug-Ausgabe)

Wie gesagt Lochraster

- Die C's 10uF durch X7R (0805) Kondensatoren SMD ersetzen, auch die
etwas reduzieren, denn sonst passen die nicht auf die Platine (oder es
passen keine anderen Leitungen daran vorbei)

Gute Idee


- Es gibt sicher Kalibierdaten für den Touchscreen. Daher wäre es nicht
schlecht die dauerhaft gespeichert zu haben. Dafür kann man entweder das
Flash verwenden, das ja bei jedem Debug-Download gelöscht wird oder man
macht ein externen IIC EEPROM ran.

Ich denke Flash ist ok, startet danach halt mit dem 
Kalibrierungsbildschirm. Oder ich pack doch noch ein EEPROM dran. Danke 
für den Hinweis.

- Die Schaltung T1/T2 ist schrott. Einfach R11 auf einen Port-Pin des
Prozessors legen.

Ich hab die Schaltung von einem Evalboard von ST übernommen. Reicht das 
wirklich aus?

- Spannungsregler von +5V (USB VIn) auf 3,3V Fehlt.
Wozu? Ich versorge das Board extern mit 3,3V
Gast #1664714
Lesenswert?

Thomas Burkhart schrieb:
> The VDD pins must be connected to VDD with external decoupling
> capacitors (one
> 100 nF Ceramic capacitor for each VDD pin + one Tantalum or Ceramic
> capacitor (min.
> 4.7 μF typ.10 μF).

Das war die Intension meiner Aussage, wobei ich mich gerade frage, was 
ich intus hatte, als ich das geschrieben habe.

In folgendem Dokument

http://www.st.com/stonline/products/literature/ds/14611.pdf

auf Seite 40 (Figure 12) ist die empfohlene Beschaltung der VDD Pins 
nochmal abgebildet. Hinweis unter der Zeichung beachten.
(Firma: EleLa - www.elela.de) #1664817
Lesenswert?

>- Die Schaltung T1/T2 ist schrott. Einfach R11 auf einen Port-Pin des
>Prozessors legen.
>Ich hab die Schaltung von einem Evalboard von ST übernommen. Reicht das
>wirklich aus?

Ja, garantiert. Ich habe schon viele Schaltungen so aufgebaut mit 3,3V 
CPU's.

Was halten Sie von meiner JTAG Steckerbelegung?
Hier >> Beitrag "Re: Erste Schaltung mit dem STM32F103 ARM"
und hier noch beschrieben >> 
Beitrag "Re: Erste Schaltung mit dem STM32F103 ARM"
Gast #1664985
Lesenswert?

Thomas Burkhart schrieb:
> Hmm, da fraggt man sich echt, was ST sich dabei wohl gedacht hat :-(

Warum? Die Aussagen zwischen dem Zitat und der Zeichnung sind 
deckungsgleich. An jedem VDD Pin ein 100nF C + noch ein einzelner 4u7 
bzw. 10u dazu. Die Zeichnung gibt dann noch Aufschluß an welchem VDD GND 
Paar der 'große' Kondensator plaziert werden und gibt noch Rat zu der 
Versorgung des analogen Teils des STM32.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren