Der letzte Stand der Dinge war, dass ich mich für KiCad oder CircuitMaker entscheiden wollte. Nach zwei kleinen Projekten mit beiden Tools, habe ich mich für KiCad entschieden. Bevor ich mit dem Schaltplan loslegte, musste ich erstmal ein Paar Bauteilbibliotheken anlegen, u. A. den LPC3131 Prozessor.
Bauteilbibliothek für KiCad
Schaltsymbol
Wenn man ein Schaltplansymbol für ein Bauteil mit relativ vielen Pins anlegen möchte, steht man manchmal vor der Entscheidung, alle Pins in ein Symbol zu packen oder es auf mehrere Blöcke aufzuteilen. Hat beides Vor- und Nachteile.
Auch das Anordnen der Pins ist so ein Thema. Man sollte das möglichst sinnvoll gruppieren. Dann bleibt auch mal ein Pin zwischen zwei Blöcken und man schiebt es mal dahin und dahin, dann grübelt man, und irgendwie ist beides sinnvoll und gleichzeitig Quatsch. Manche werden es mir bestätigen und manche nicht glauben, aber genau wegen so einem Pin, sitzen in größeren Firmen mehrköpfige Teams und schreiben ein Design Guide für genau solche Fälle 😉
Footprint
Bei dem Entwurf von dem BGA Package musste ich überlegen, wie ich die Pads designe. Zuerst wollte ich statt SMD Pads, Durchkontaktierungen platzieren. Das hätte den Vorteil, dass ich direkt von jedem BGA Pin auf einen beliebigen Layer wechseln könnte. Weitere Überlegungen und Recherchen haben mich davon abgebracht, weil es für den späteren Lötprozess einige Risiken mitbringen würde. In der Industrie wird die Lötpaste mit Hilfe einer Lötpastenastenschablone auf die Pads aufgetragen und die Bauteile werden von sehr präzisen SMD Bestückungsutomaten platziert. So verschmiert man die Lötpaste nicht. So eine Lötpastenschablone kam für mich nicht in Frage, weil ich das Bauteil manuell aufsetzen muss. Das ich direkt beim ersten Absetzen des BGAs alle 180 Pads mit den Lötperlen des BGAs treffe, traue ich mir nicht wirklich zu. Ich werde das Bauteil hin und her schieben müssen und dadurch würde ich die Lötpaste verschmieren und somit beim Reflow-Löten vermutlich Kurzschlüsse verursachen.
Da ich keine Lötpaste verwenden werde, muss ich auch auf die Durchkontaktierungen in den Pads verzichten. Es kann zwar gut gehen, aber im schlimmsten Fall würden mir die Durchkontaktierungen durch Kapillareffekt die Lötperlen des BGAs wegsaugen (mit zusätzlicher Lötpaste kann das zwar auch passieren, aber das Risiko wäre etwas geringer).
Als nächstes stand noch im Raum, wie ich die Pads und Lötstoppmaske auslege. Es gibt ein Guidline von NXP, in dem zwei mögliche Varianten beschrieben werden. SMD und NSMD. Dabei steht SMD in diesem Fall nicht für Surface Mounted Device, sondern für Solder Mask Defined und NSMD für Non-Solder Mask Defined.
Die SMD Variante zeigt Lötpads, deren Grüße durch die Lötstoppmaske definiert werden. Das würde zwar quasi eine Fassung bilden, was das manuelle Platzieren des BGAs etwas vereinfachen würde, man müsste aber die Pads größer machen. Dadurch wäre der Raum zwischen den Pads kleiner, was das platzieren der Leiterbahnen einschränken würde. Ich müsste die Leiterbahnen dünner machen und die Regeln für Mindestabstände minimieren, aber das würde dann die von meinem Leiterplattenhersteller vorgegebenen Design Rules verletzen nach Design Rules zu arbeiten, die solche feinen Strukturen zulassen würden, würde die Herstellung der Platinen teurer machen.
Also habe ich mich für die SMD Variante entschieden.
In dem Bild unten, sieht man das Package in KiCAD. Die roten Kreise sind dann die Pads und die violetten Kreise die Freistellung von der Lötstoppmaske.
So viel zu der Bibliothek 🙂