|
|
|
@ -57,43 +57,69 @@ |
|
|
|
}, |
|
|
|
}, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// Eine Schicht im Querschnittsdiagramm: Farbband links, Beschriftung rechts. |
|
|
|
// Schichtband: lückenlos gestapelt (Grid mit row-gutter 0 = kein Par-Abstand). |
|
|
|
#let _band(fill, h, label, sub: none) = grid( |
|
|
|
#let _layer(fill, h, round: none) = rect( |
|
|
|
columns: (1fr, 112pt), |
|
|
|
width: 100%, |
|
|
|
column-gutter: 0.8em, |
|
|
|
height: h, |
|
|
|
rect(width: 100%, height: h, fill: fill, stroke: 0.5pt + luma(150), radius: 2pt), |
|
|
|
fill: fill, |
|
|
|
align(horizon + left, { |
|
|
|
stroke: 0.5pt + luma(150), |
|
|
|
set text(size: 8.5pt) |
|
|
|
radius: if round == none { 0pt } else { round }, |
|
|
|
label |
|
|
|
|
|
|
|
if sub != none { |
|
|
|
|
|
|
|
linebreak() |
|
|
|
|
|
|
|
set text(size: 7.5pt, fill: luma(120)) |
|
|
|
|
|
|
|
sub |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}), |
|
|
|
|
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// Querschnitt 2-Layer. |
|
|
|
#let _stack(..layers) = grid(columns: (1fr,), row-gutter: 0pt, ..layers) |
|
|
|
#let stack-2() = block(width: 100%, { |
|
|
|
|
|
|
|
_band(mask.lighten(40%), 8pt, [Lötstopp + Bestückungsdruck (Top)]) |
|
|
|
|
|
|
|
_band(cu, 11pt, [Kupfer Top], sub: [Signale, 35 µm]) |
|
|
|
|
|
|
|
_band(fr4, 20pt, [FR4-Kern], sub: [≈ 1,5 mm]) |
|
|
|
|
|
|
|
_band(cu, 11pt, [Kupfer Bottom], sub: [GND-Fläche, 35 µm]) |
|
|
|
|
|
|
|
_band(mask.lighten(40%), 8pt, [Lötstopp (Bottom)]) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Querschnitt 4-Layer. |
|
|
|
// Legendenzeile: Farbfeld + Text. |
|
|
|
#let stack-4() = block(width: 100%, { |
|
|
|
#let _sw(c, note) = grid( |
|
|
|
_band(mask.lighten(40%), 8pt, [Lötstopp (Top)]) |
|
|
|
columns: (14pt, 1fr), |
|
|
|
_band(cu, 11pt, [Kupfer Top], sub: [Signale]) |
|
|
|
column-gutter: 0.45em, |
|
|
|
_band(prepreg, 7pt, [Prepreg], sub: [≈ 0,2 mm]) |
|
|
|
align(horizon, rect(width: 14pt, height: 9pt, fill: c, stroke: 0.5pt + luma(160), radius: 1.5pt)), |
|
|
|
_band(accent, 11pt, [In1.GND], sub: [Masse-Referenz]) |
|
|
|
align(horizon, text(size: 8.5pt)[#note]), |
|
|
|
_band(fr4, 18pt, [FR4-Kern], sub: [≈ 1,0 mm]) |
|
|
|
) |
|
|
|
_band(accent-soft, 11pt, [In2.PWR], sub: [Versorgung]) |
|
|
|
|
|
|
|
_band(prepreg, 7pt, [Prepreg]) |
|
|
|
// Querschnitt 2-Layer: Stack links, Legende rechts. |
|
|
|
_band(cu, 11pt, [Kupfer Bottom], sub: [Signale]) |
|
|
|
#let stack-2() = grid( |
|
|
|
_band(mask.lighten(40%), 8pt, [Lötstopp (Bottom)]) |
|
|
|
columns: (1.15fr, 1fr), |
|
|
|
}) |
|
|
|
gutter: 1.8em, |
|
|
|
|
|
|
|
_stack( |
|
|
|
|
|
|
|
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)), |
|
|
|
|
|
|
|
_layer(cu, 12pt), |
|
|
|
|
|
|
|
_layer(fr4, 22pt), |
|
|
|
|
|
|
|
_layer(cu, 12pt), |
|
|
|
|
|
|
|
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
grid( |
|
|
|
|
|
|
|
row-gutter: 3pt, |
|
|
|
|
|
|
|
_sw(mask.lighten(40%), [Lötstopp + Bestückungsdruck]), |
|
|
|
|
|
|
|
_sw(cu, [Kupfer 35 µm — Top: Signale, Bottom: GND-Fläche]), |
|
|
|
|
|
|
|
_sw(fr4, [FR4-Kern ≈ 1,5 mm]), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Querschnitt 4-Layer: Stack links, Legende rechts. |
|
|
|
|
|
|
|
#let stack-4() = grid( |
|
|
|
|
|
|
|
columns: (1.15fr, 1fr), |
|
|
|
|
|
|
|
gutter: 1.8em, |
|
|
|
|
|
|
|
_stack( |
|
|
|
|
|
|
|
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)), |
|
|
|
|
|
|
|
_layer(cu, 11pt), |
|
|
|
|
|
|
|
_layer(prepreg, 7pt), |
|
|
|
|
|
|
|
_layer(accent, 11pt), |
|
|
|
|
|
|
|
_layer(fr4, 18pt), |
|
|
|
|
|
|
|
_layer(accent-soft, 11pt), |
|
|
|
|
|
|
|
_layer(prepreg, 7pt), |
|
|
|
|
|
|
|
_layer(cu, 11pt), |
|
|
|
|
|
|
|
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
grid( |
|
|
|
|
|
|
|
row-gutter: 3pt, |
|
|
|
|
|
|
|
_sw(mask.lighten(40%), [Lötstopp]), |
|
|
|
|
|
|
|
_sw(cu, [Kupfer Top/Bottom: Signale]), |
|
|
|
|
|
|
|
_sw(prepreg, [Prepreg ≈ 0,2 mm]), |
|
|
|
|
|
|
|
_sw(accent, [In1.GND — Masse-Referenz]), |
|
|
|
|
|
|
|
_sw(fr4, [FR4-Kern ≈ 1,0 mm]), |
|
|
|
|
|
|
|
_sw(accent-soft, [In2.PWR — Versorgung]), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// Prozesskasten für die Werkzeugkette (Stil wie diagrams.typ::_pipebox). |
|
|
|
// Prozesskasten für die Werkzeugkette (Stil wie diagrams.typ::_pipebox). |
|
|
|
#let _kbox(title, ..lines, highlight: false) = block( |
|
|
|
#let _kbox(title, ..lines, highlight: false) = block( |
|
|
|
@ -191,7 +217,7 @@ |
|
|
|
#slide(title: "ERC — Schaltung prüfen")[ |
|
|
|
#slide(title: "ERC — Schaltung prüfen")[ |
|
|
|
- `Prüfen → Elektrische Regeln prüfen` (ERC): offene Pins, unverbundene \ |
|
|
|
- `Prüfen → Elektrische Regeln prüfen` (ERC): offene Pins, unverbundene \ |
|
|
|
Drähte, fehlende Spannungs-Flags (`PWR_FLAG` an Versorgung & GND) |
|
|
|
Drähte, fehlende Spannungs-Flags (`PWR_FLAG` an Versorgung & GND) |
|
|
|
- Warnungen verstehen und beheben — nicht wegwarrowen |
|
|
|
- Warnungen verstehen und beheben — nicht wegklicken |
|
|
|
- Erst wenn ERC grün ist: Footprints zuweisen und ins Layout |
|
|
|
- Erst wenn ERC grün ist: Footprints zuweisen und ins Layout |
|
|
|
#v(0.5em) |
|
|
|
#v(0.5em) |
|
|
|
#shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen]) |
|
|
|
#shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen]) |
|
|
|
@ -256,8 +282,7 @@ |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Zonen — GND-Fläche")[ |
|
|
|
#slide(title: "Zonen — GND-Fläche")[ |
|
|
|
- Kupferfläche zeichnen (`K`)? Nein: `Werkzeuge → Polygonzüge` bzw. \ |
|
|
|
- Zeichnen-Werkzeug *Kupferfläche* wählen; in den Zone-Eigenschaften: |
|
|
|
Zeichnen-Werkzeug „Fläche“; dann Zone-Eigenschaften: |
|
|
|
|
|
|
|
*Netz GND, Lage B.Cu, thermische Reliefs* für Pads |
|
|
|
*Netz GND, Lage B.Cu, thermische Reliefs* für Pads |
|
|
|
- *Stitch-Vias*: GND-Verbindungen Top ↔ Bottom nahe kritischen Bauteilen \ |
|
|
|
- *Stitch-Vias*: GND-Verbindungen Top ↔ Bottom nahe kritischen Bauteilen \ |
|
|
|
(Entkopplung, Quarze, Spannungsregler) |
|
|
|
(Entkopplung, Quarze, Spannungsregler) |
|
|
|
|