Forum: Platinen STM32 Eagle Library?


von Bauform B. (bauformb)


Lesenswert?

Nachdem ich trotz langer Suche (2 Tassen Kaffee) hier nichts finde:
Wie komme ich zu vernünftigen libraries? Das Problem gibt's 
wahrscheinlich mit jeder uC-Familie und jedem Layout-Programm, aber mir 
würden schon die STM32 für Eagle reichen.

Selbst wenn nur STM32L4 im LQFP-Gehäuse in Frage kommen, kennt CubeMX 
noch 88 Typen. Legt ihr die (bei Bedarf) alle einzeln mit der kompletten 
Nummer an? Die ST-Nummer ist ja sehr systematisch aufgebaut, aber doch 
nicht so, dass man mit weniger Eagle Devices auskommt.

Der Buchstabe für die Flash-KBs ist meistens egal, aber die größeren L1 
haben auch mehr Peripherie. Die letzte Ziffer für den Temperaturbereich 
könnte man auf jeden Fall weglassen -- dachte ich. Jetzt gibt's aber 
z.B. den L496RGT6 und den L496RGT6P mit völlig unterschiedlicher 
Pinbelegung.

Im Schaltbild sollte wahrscheinlich die Nummer des kleinsten passenden 
stehen, z.B. STM32L471. Wenn der nicht lieferbar ist, geht auch der L476 
und mehr Flash geht immer -- nicht. Es kann sein, dass der größere zwei 
Flash Bänke hat und deshalb anders programmiert wird.

Wie macht man/ihr das?

von Sebastian S. (amateur)


Lesenswert?

Der Vogel lässt es zu, dass Varianten eines Bausteins abgelegt werden 
können.
Also differierende Namen oder differierenden Gehäuse mit gleichem 
Vornamen.

Bei Interesse: Schau Dir mal ein paar Teile aus der TTL-Reihe  an. 
Würden die alle eine eigene Bibliothek benötigen, hätten – zumindest 
früher ™ - die Verzeichnisse richtig dicke Backen bekommen.

von Bimbo. (Gast)


Lesenswert?

Wie ich das mache? Selber, 10 Minuten. Neues Symbol anlegen, vrknüpfen, 
fertig!

von Sebastian S. (amateur)


Lesenswert?

Es gibt, auch von (jetzt) Autodesk, recht umfangreiche Anleitungen, wie 
man selber Bibliotheken anlegen kann. Wegen der hohen Verbreitung des 
Programms ist das Netz ebenfalls voll davon.

Aus eigener Erfahrung weiß ich: Das ist erstaunlich einfach. Einfach mal 
probieren.

Oft braucht’s dafür nur zwei Schritte:
1. Schaltbild zeichnen.
   Hier bekommst Du was Du brauchst. Also mit Schnörkeln und Schleifen
   oder ein einfacher "Kasten".
?. Den Fußabdruck kannst Du meistens aus einer anderen Bibliothek
   übernehmen. Oder einfach reinkopieren. Aber die Neuanlage ist auch
   nicht besonders schwierig.
2. Fußabdruck und Schaltbild zu einem Symbol zusammenfassen.
Das war’s dann schon.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Bei Mouser kann man sich Libs runterladen mit sonem Dritttool.
Da nen paar Fakedaten angeben und schon haste Libs.
Wenns die lib für genau den einen nicht gibt, dann beim Selben 
gehäuseSerie guvken, aber anderer Speicherausstattung.
Die sind nur nicht sonderlich schön, da die Schaltplan Pins so 
angeordnet sind wie am Gehäuse statt es logisch oder mit getrennten 
Ports anzulegen.

Oder eben selber bauen.
Wenn man einmal damit anfängt ist das auch ganz leicht.

von Oleg (Gast)


Lesenswert?

Bimbo. schrieb:
> Wie ich das mache? Selber, 10 Minuten. Neues Symbol anlegen,
> vrknüpfen,
> fertig!

Wenn du nur mal die Frage gelesen hättest, dann wäre dir aufgefallen, 
daß er die Bauteile schon selbst anlegt. Dein Kommentar ist insofern 
mehr als überflüssig. Die eigentliche Frage des TO lautete:

Bauform B. schrieb:
> Selbst wenn nur STM32L4 im LQFP-Gehäuse in Frage kommen,
> kennt CubeMX noch 88 Typen. Legt ihr die (bei Bedarf)
> alle einzeln mit der kompletten Nummer an?

Und ich bin mir (ziemlich) sicher, daß du NICHT in der Lage bist,
selbst nur die 88 verschiedenen L4-Typen anzulegen...

von Bauform B. (bauformb)


Lesenswert?

Da sieht man mal wieder, dass fragen schwieriger ist als antworten ;)

Sebastian S. schrieb:
> Der Vogel lässt es zu, dass Varianten eines Bausteins abgelegt werden
> können.
> Also differierende Namen oder differierenden Gehäuse mit gleichem
> Vornamen.

Man könnte "technology" für den Flash-Buchstaben missbrauchen und 
"package" für Package+Temperatur+den optionalen letzten Buchstaben. So 
ähnlich mache ich das bei "normalen" Bauteilen.


Wenn in einer Schaltung ein einfacher STM32 ausreicht, gibt es viele 
Ausweichtypen, Hauptsache, das Gehäuse passt. Das will man natürlich 
ausnutzen. Also ändert man nur die Stückliste und schon kennt sich 
keiner mehr aus, weil die nicht mehr zum Schaltbild passt. Theoretisch 
braucht man eine neue Variante der Leiterplatte, die Filme ändern sich 
ja nicht. Aber der Verwaltungsaufwand... und die Benutzer haben Angst, 
dass die Varianten nicht kompatibel sind.

Ich seh' schon, das ist eine blöde Idee, das im Layout-Programm 
erschlagen zu wollen. Da muss es wohl genau definierte Chips mit 
vollständiger Nummer geben. Aber wenn die Platine fertig ist, geht viel 
Information verloren. Vielleicht gibt's eine kleine Tabelle mit 
Ausweichtypen im Schaltbild.

von Oleg (Gast)


Lesenswert?

Um die ganze Sache mal wieder in Bewegung zu bringen:
Ich mache es in Eagle immer so, daß ich nur die ICs anlege, welche ich 
auch brauche. Und nicht alle, die es gibt. Und dann arbeite ich mit 
Varianten, das heißt wenn es den µC in mehreren Gehäusevarianten gibt, 
nehme ich Standard-Packages und weise die gemeinsam mit dem 
Schaltplansymbol einem Device zu.

von Maik F. (Firma: ibfeew) (mf_hro)


Lesenswert?

Hallo,
ja, so wie Oleg verfahren wir auch.
Als Weiterführung:
- in der description eines Bauteils pinkompatible Typen mit 
reinschreiben. Die werden dann mit der Suchfunktion gefunden.
- Wenn es Alternativtypen gibt, die (bei Lieferschwierigkeiten) auch 
bestückt werden können: Attribut "ALTERNATIVE" anlegen und dort die 
entsprechenden Bauteile eintragen. Beim BOM-Erzeugen werden die dann 
automatisch mit aufgelistet. Ist dann auch bei der Datenweitergabe an 
den Bestücker gleich mit dabei.
Schönen Abend, Maik

von Bauform B. (bauformb)


Lesenswert?

Maik F. schrieb:
> - in der description eines Bauteils pinkompatible Typen mit
> reinschreiben. Die werden dann mit der Suchfunktion gefunden.

Das bringt es kurz und knapp auf den Punkt. Es geht nicht in der 
zentralen Bibliothek.

Ich brauche pro Platine eine eigene stm32xxx.lbr Datei. "pinkompatibel" 
sind ja fast alle, aber in einer bestimmten Schaltung passen nur noch 
wenige. Das spannende ist, dass auch ein "größerer" Chip nicht unbedingt 
einen "kleineren" ersetzen kann. Mit individuellen *.lbr kann ich das 
beim Schaltungsentwurf berücksichtigen. Zum Beispiel bieten diese 3 Pins 
ganz unterschiedliche Möglichkeiten:
1
 STM32...    L431RCT6     L451RCT6     L471RET6    L496RET6
2
 IDcode      0x435        0x462        0x415       0x461
3
 Pin
4
  14  PA0    -            -            ADC2_IN5    ADC2_IN5
5
      .      COMP1_INM    COMP1_INM    -           -
6
      .      COMP1_OUT    COMP1_OUT    -           -
7
      .      -            -            TIM5_CH1    TIM5_CH1
8
      .      -            -            TIM8_ETR    TIM8_ETR
9
      .      -            UART4_TX     UART4_TX    UART4_TX
10
11
  15  PA1    -            -            ADC2_IN6    ADC2_IN6
12
      .      COMP1_INP    COMP1_INP    -           -
13
      .      SPI1_SCK     SPI1_SCK     -           SPI1_SCK
14
      .      -            -            TIM5_CH2    TIM5_CH2
15
      .      -            UART4_RX     UART4_RX    UART4_RX
16
17
  16  PA2    -            -            ADC2_IN7    ADC2_IN7
18
      .      COMP2_INM    COMP2_INM    -           -
19
      .      COMP2_OUT    COMP2_OUT    -           -
20
      .      LPUART1_TX   LPUART1_TX   -           LPUART1_TX
21
      .      -            -            TIM5_CH3    TIM5_CH3
Dass der kleinste Chip weniger Timer und UARTs hat, ist ja klar. Aber 
dafür hat der größte hier weniger Komparatoreingänge.

von Christian B. (luckyfu)


Lesenswert?

Oleg schrieb:
> Und ich bin mir (ziemlich) sicher, daß du NICHT in der Lage bist,
> selbst nur die 88 verschiedenen L4-Typen anzulegen...

und ich bi9n mir ziemlich sicher, daß es überhaupt nicht nötig ist die 
88 verschiedenen Typen anzulegen. Man legt nur die an, die man auch 
tatsächlich verwendet.

Nur weil ich einen Controller benutzen will lege ich doch keine Library 
mit allen Varianten der Familie an.

von Bauform B. (bauformb)


Lesenswert?

Hat ja auch niemand jemals wollen mögen.
Die 88 steht für die vielen möglichen Ausweichtypen. Inzwischen bin ich 
sicher, dass Ausweichtypen nicht in die Eagle-Bibliothek gehören.

von Jörn P. (jonnyp)


Lesenswert?

Bimbo. schrieb:
> Wie ich das mache? Selber, 10 Minuten. Neues Symbol anlegen, vrknüpfen,
> fertig!

10 Minuten? Vielleicht für 'n Kondensator. Sprüchklopper.

von Oleg (Gast)


Lesenswert?

Christian B. schrieb:
> und ich bi9n mir ziemlich sicher, daß es überhaupt nicht nötig ist die
> 88 verschiedenen Typen anzulegen. Man legt nur die an, die man auch
> tatsächlich verwendet.

Warum habe ich wohl folgendes geschrieben?

Oleg schrieb:
> Ich mache es in Eagle immer so, daß ich nur die ICs anlege, welche ich
> auch brauche.

Warum liest niemand, ehe er schreibt? seufz...

von Bimbo. (Gast)


Lesenswert?

Jörn P. schrieb:
> 10 Minuten? Vielleicht für 'n Kondensator. Sprüchklopper.

N'kondensator schaffe ich in 30 Sekunden.
Mimimi.... du weißt genau wie das gemeint war!

von Tobi P. (Gast)


Lesenswert?

Bimbo. schrieb:
> N'kondensator schaffe ich in 30 Sekunden.
> Mimimi.... du weißt genau wie das gemeint war!

Ja als übergriffiger - ich bin der geilste - Dummfug.

Wer 10 Minuten für einen Kontroller braucht bei dem man in der Zeit 
nicht mal die Pinbelegung studieren kann hat die Kontrolle über seine 
Wahrnehmung verloren.

von Tobi P. (Gast)


Lesenswert?

Bauform B. schrieb:
> Wie macht man/ihr das?

Meiner einer schaut sich die diversen lib. Generatoen der Anbieter und 
Distributoren an und wenn es da nichts gibt wird das von einem Anbieter 
für ein paar Dollar gemacht.

Irgendeiner muss unabhängig prüfen, daher kommt selber machen nicht in 
Frage.
Gilt aber nur für komplexe Teile.

Die ganzen DIY Typen die ihr Mantra wie pawlowscher Hunde hier herbeten 
sind für mich vintage.

von Bauform B. (bauformb)


Lesenswert?

Jörn P. schrieb:
> Bimbo. schrieb:
>> Wie ich das mache? Selber, 10 Minuten. Neues Symbol anlegen, vrknüpfen,
>> fertig!
>
> 10 Minuten? Vielleicht für 'n Kondensator. Sprüchklopper.

Tobi P. schrieb:
> Wer 10 Minuten für einen Kontroller braucht bei dem man in der Zeit
> nicht mal die Pinbelegung studieren kann hat die Kontrolle über seine
> Wahrnehmung verloren.

Wer die Kontrolle über seine Wahrnehmung verloren hat, kann 2 
Wochenenden mit programmieren verbringen und dann :)
1
kuemmel:/srv/eagle/pwr$ time stm32pins -e -B stm32l496vgt > stm32l496vgt.lbr
2
3
real    0m0.078s
4
user    0m0.048s
5
sys     0m0.004s

von Tobi P. (Gast)


Lesenswert?

Bauform B. schrieb:
> kuemmel:/srv/eagle/pwr$ time stm32pins -e -B stm32l496vgt >
> stm32l496vgt.lbr

Verstehe ich nicht

von Oleg (Gast)


Lesenswert?

Tobi P. schrieb:
> Die ganzen DIY Typen die ihr Mantra wie pawlowscher Hunde hier herbeten
> sind für mich vintage.

Das ist ganz allein DEIN Problem.
Wenn du es nicht kannst oder nicht willst, mußt du es eben für Geld von 
anderen machen lassen (und dann später die Fehler von anderen 
korrigieren).

Gestattest du mir, daß ich weiterhin meine Bauteile selbst anlege? ;-)

Danke!

von Bimbo. (Gast)


Lesenswert?

Tobi P. schrieb:
> Ja als übergriffiger - ich bin der geilste - Dummfug.
>
> Wer 10 Minuten für einen Kontroller braucht bei dem man in der Zeit
> nicht mal die Pinbelegung studieren kann hat die Kontrolle über seine
> Wahrnehmung verloren.

Die Pinbelegung ist bei den meisten STM32 gleich. Symbol kopieren, Pins 
entfernen/hinzufügen + Kontrolle.
Device anlegen und alles verbinden + Kontrolle. Fertig.

20 Minuten reichen aus.

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.