Witamy w drugiej części projektu modułu obliczeniowego Pi.MX8 na otwartym kodzie źródłowym! W tej serii artykułów zagłębiamy się w projektowanie i testowanie modułu system-on-module opartego na procesorze i.MX8M plus od NXP.
W poprzedniej aktualizacji omówiliśmy motywację stojącą za tym projektem, jak również jakie funkcje powinien posiadać nasz moduł i jakie komponenty chcielibyśmy użyć do ich implementacji.
Tym razem chcielibyśmy skupić się na strukturze schematu projektowego i jak możemy rozpocząć pracę nad układem PCB.
Zacznijmy od przyjrzenia się organizacji schematu. Dwa podejścia są zazwyczaj stosowane przy obsłudze przechwytywania schematu; płaskie i hierarchiczne projekty.
Płaski schemat można najlepiej wyobrazić sobie jako duży jednostronicowy schemat, który jest po prostu podzielony na kilka arkuszy. Połączenia między arkuszami mogą być ustanowione za pomocą zewnętrznych konektorów, na przykład.
W hierarchicznym schemacie obwodu projekt można podzielić na bloki funkcjonalne, które są reprezentowane jako symbole arkuszy, które z kolei mogą być ze sobą połączone lub nawet zagnieżdżone. Podejście to jest często stosowane w dużych projektach, ponieważ pozwala na bardziej efektywne rozłożenie dużego schematu na bloki, które mogą być projektowane i przeglądane niezależnie od siebie. Połączenia między tymi blokami funkcjonalnymi są ustanawiane za pomocą portów, które będą reprezentowane na symbolu arkusza. Z wyjątkiem obiektów zasilających (VCC, GND itp.) tylko porty są używane do łączenia arkuszy schematów.
Schemat Pi.MX8 wykorzystuje tę hierarchiczną topologię:
Projekt jest podzielony na kilka bloków funkcjonalnych – wszystkie reprezentowane na jednym arkuszu najwyższego poziomu. Tutaj ustanowione są wszystkie połączenia między oddzielnymi arkuszami. Ten projekt wykorzystuje tylko jeden poziom hierarchiczny.
SoC iMX8 jest podzielony na kilka części, które są umieszczone na wielu arkuszach. Na arkuszu najwyższego poziomu duży symbol w centrum strony reprezentuje SoC. Dwa duże symbole arkuszy po lewej i prawej stronie strony reprezentują dwa złącza płyta-płyta modułu Pi.MX8. Wszystkie inne bloki funkcjonalne są reprezentowane własnym symbolem arkusza.
Każda strona podąża za tą samą filozofią projektowania. Interfejsy opuszczające stronę schematu są kodowane kolorami, aby reprezentować poziom napięcia interfejsu. Sieci, które są częścią sieci dystrybucji mocy, są rysowane z grubą linią.
Integrowanie notatek dotyczących konkretnych ustawień konfiguracji, konwencji nazewnictwa lub ogólnych uwag może przyspieszyć proces debugowania i uruchamiania, jednocześnie działając jako przypomnienie dla procesu trasowania PCB.
Strona schematu zawierająca notatki i kodowanie kolorami
Dodawanie notatek do schematu w Altium Designer z arkusza Excel lub ze zrzutów ekranu z karty katalogowej jest tak proste, jak Ctrl+C, Ctrl+V:
Sam schemat obwodu jest obecnie nadal przedmiotem zmian i dlatego jest jeszcze w fazie rozwoju. Zagłębimy się głębiej w schemat w kolejnej aktualizacji.
Chociaż schemat doświadczy kilku drobnych zmian w ciągu najbliższych tygodni, możemy już teraz przejść do planowania układu PCB.
W fazie planowania układu chcielibyśmy zdefiniować układ warstw i zaplanować strategię prowadzenia ścieżek na płytce. Jako pierwszy krok do zdefiniowania układu warstw i podejścia do trasowania możemy umieścić kluczowe komponenty na płytce. Pomoże nam to oszacować wymagania dotyczące przestrzeni i gęstość trasowania, które są oba ważnymi czynnikami do rozważenia przy definiowaniu układu warstw i strategii trasowania. Kluczowe komponenty w tym kontekście to części, które mają duży wpływ na rozmieszczenie komponentów, co ma miejsce w następujących przykładach:
Części z z góry określoną pozycją na PCB, np. złącza, diody LED wskazujące, dystanse SMD;
Części z wieloma sieciami, które muszą być trasowane, np. SoC, urządzenia pamięci, MCU;
Części zajmujące dużo miejsca na płytce, np. duże dławiki, przełączniki, radiatory.
Przed umieszczeniem jakichkolwiek komponentów na module Pi.MX8, pierwszą rzeczą, którą chcielibyśmy zrobić, jest zdefiniowanie kilku warunków brzegowych. W kontekście modułu są to cechy mechaniczne i wymiary podyktowane formą modułu, której chcielibyśmy użyć.
W zależności od listy używanych narzędzi MCAD, z którymi integrujemy się, informacje te mogą być przekazane do edytora układu PCB za pomocą MCAD CoDesigner. W naszym przypadku zaimportujemy plik DXF utworzony za pomocą programu Spaceclaim Engineer. Zarys DXF jest importowany i umieszczany w nowej warstwie mechanicznej o nazwie „Odniesienie”:
Wymiary mechaniczne i lokalizacje złączy na PCB
Po umieszczeniu zarysu możemy dodać otwory montażowe we właściwych miejscach, korzystając z opcji przyciągania w edytorze PCB. Złącza płyta-płyta można umieścić na dolnej warstwie modułu w ten sam sposób:
Pozycjonowanie otworów montażowych i złączy na PCB
Na górnej warstwie, poniżej lewego górnego otworu montażowego, umieszczony jest złącze U.FL dla zewnętrznej anteny. Poniżej złącza znajduje się antena chipowa do obsługi WiFi i Bluetooth. Pozycja tej anteny na płycie nie powinna być zmieniana, ponieważ wiele już istniejących płyt bazowych wykorzystuje obszar wykluczenia miedzi pod anteną.
Antena jest komponentem bibliotecznym, który zawiera nie tylko samą antenę chipową, ale także geometrię miedzianą i punkty odniesienia, w których należy umieścić elementy dopasowujące. Informacje te można znaleźć w dokumentacji anteny. Przez osadzenie tych informacji w komponencie bibliotecznym upewniamy się, że zdefiniowana geometria nie zostanie przypadkowo zmieniona.
Określanie lokalizacji anteny
Na tym etapie definiowania przestrzeni płytki dostępnej do routingu i rozmieszczania komponentów może być również sensowne dodanie pierścienia ochronnego wzdłuż krawędzi PCB. Pierścień ochronny to ścieżka miedziana biegnąca wzdłuż krawędzi PCB na wszystkich warstwach, która jest podłączona do masy w regularnych odstępach za pomocą przelotek. Pierścień ochronny umieszczony wzdłuż krawędzi płytki zapobiega emisji promieniowania z warstw wewnętrznych do środowiska. Pierścienie ochronne stosuje się również w innych konfiguracjach na PCB, na przykład w precyzyjnej elektronice analogowej, gdzie prądy upływowe przepływające przez zanieczyszczenia powierzchniowe muszą być odizolowane od obszarów z wysoce czułymi węzłami o wysokiej impedancji. Jeśli takie cechy są wymagane, należy je uwzględnić podczas fazy planowania układu.
Umieszczenie pierścienia ochronnego wzdłuż krawędzi płytki na tym wczesnym etapie projektowania jest ważne, ponieważ chociaż dodanie tej funkcji później może nie wydawać się trudne, pierścień ochronny może zajmować znaczną ilość miejsca. Zazwyczaj geometria miedzi musi mieć minimalną odległość 0,2 mm – 0,3 mm od krawędzi obrobionej płytki. Dodając do tego szerokość ścieżki pierścienia ochronnego wynoszącą na przykład 0,6 mm i kolejne 0,1 mm na odległość pierścienia ochronnego od pozostałych śladów miedzianych, płytka nagle staje się mniejsza o 2 mm w każdym kierunku. Zwłaszcza jeśli złącza są umieszczone blisko krawędzi płytki lub jeśli gęstość komponentów na płytce jest bardzo wysoka, może to mieć duże znaczenie podczas routingu.
PCB z pierścieniem ochronnym
Kolejnym ograniczeniem, które powinniśmy wziąć pod uwagę przy rozmieszczaniu komponentów, jest fakt, że niektóre komponenty mogą być podatne na naprężenia mechaniczne. W zależności od sposobu montażu PCB wewnątrz obudowy, niektóre obszary płytki mogą doświadczać znacznych naprężeń mechanicznych. Typowymi przykładami takich sytuacji są otwory montażowe lub radiatory, które wywierają zewnętrzny nacisk na płytkę.
To również powinniśmy mieć na uwadze w przypadku modułu Pi.MX8. Moduł będzie zamontowany wewnątrz aluminiowej obudowy za pomocą czterech otworów montażowych. W tej konfiguracji płytka i obudowa są sztywno ze sobą połączone. Ponieważ aluminium ma inny współczynnik rozszerzalności cieplnej niż FR4, płytka zaczyna się wyginać, gdy system się nagrzewa. Wielkość tego efektu zależy od dokładnych właściwości materiałowych i różnicy temperatur widocznej w zespole.
Możemy symulować rozszerzalność cieplną modułu zamontowanego wewnątrz aluminiowej obudowy. Obliczając gradient wektora przemieszczenia, możemy zobaczyć, że płytka będzie doświadczać ruchu, szczególnie w pobliżu otworów montażowych:
Naprężenie mechaniczne spowodowane rozszerzalnością cieplną
Jeśli PCB jest używane w środowisku o dużych wibracjach, ta sama zasada dotyczy wysokich naprężeń w pobliżu otworów montażowych.
Dlaczego jest to ważne dla modułu Pi.MX8? Na module znajdują się komponenty wrażliwe na zewnętrzne naprężenia mechaniczne. Są to duże kondensatory ceramiczne, które mogą łatwo pękać pod wpływem naprężeń mechanicznych. Często kondensatory te ulegają awarii zwarciowej, powodując katastrofalną awarię całego systemu. Z tego powodu duże kondensatory ceramiczne nie powinny być umieszczane blisko otworów montażowych ani krawędzi płytki V-cut. Ta ostatnia również doświadcza dużych naprężeń mechanicznych podczas separacji panelu. Im większy kondensator, tym bardziej jest on podatny na obciążenia mechaniczne na PCB.
Dla nas oznacza to utrzymanie kondensatorów ceramicznych większych niż 0603, które nie używają miękkiego zakończenia, co najmniej 3,5 mm od otworów montażowych. Ta wartość różni się w zależności od sposobu montażu płytki i została wyznaczona na podstawie symulacji dla płytki Pi.MX8.
Mając to na uwadze, wstępne rozmieszczenie kluczowych komponentów na płytce Pi.MX8 wygląda następująco:
Wstępne rozmieszczenie kluczowych komponentów
Idea stojąca za tym rozmieszczeniem komponentów i jej wpływ na wybór stosu warstw będzie omówiona w następnej aktualizacji. Śledź postępy modułu Pi.MX8!