Benvenuti alla seconda puntata del progetto del modulo di calcolo open-source Pi.MX8! In questa serie di articoli, ci addentriamo nella progettazione e nel testing di un system-on-module basato su un processore i.MX8M plus di NXP.
Nell'aggiornamento precedente, abbiamo discusso le motivazioni dietro a questo progetto così come le caratteristiche che il nostro modulo dovrebbe avere e quali componenti vorremmo utilizzare per implementarle.
Questa volta, ci piacerebbe concentrarci sulla struttura del disegno schematico e su come possiamo iniziare con il layout del PCB.
Iniziamo guardando come è organizzato lo schema. Due approcci sono tipicamente usati per gestire la cattura dello schema; disegni piatti e gerarchici.
Uno schema piatto può essere meglio immaginato come un grande schema su una singola pagina che è semplicemente diviso in diversi fogli. Le connessioni tra i fogli possono essere stabilite utilizzando per esempio connettori fuori pagina.
In un diagramma di circuito gerarchico, il design può essere suddiviso in blocchi funzionali che sono rappresentati come simboli di foglio, che a loro volta possono essere interconnessi o anche annidati. Questo approccio è spesso utilizzato nei grandi progetti poiché permette di suddividere più efficacemente uno schema di grandi dimensioni in blocchi che possono essere progettati e visualizzati indipendentemente l'uno dall'altro. Le connessioni tra questi blocchi funzionali sono stabilite utilizzando porte che saranno rappresentate sul simbolo del foglio. Ad eccezione degli oggetti di alimentazione (VCC, GND ecc.), solo le porte sono utilizzate per collegare insieme gli schemi.
Lo schema del Pi.MX8 utilizza questa topologia gerarchica:
Il design è suddiviso in diversi blocchi funzionali—tutti rappresentati in un unico foglio di livello superiore. Qui, tutte le connessioni tra i fogli separati sono stabilite. Questo design utilizza solo un livello gerarchico.
L'iMX8 SoC è suddiviso in diverse parti che sono collocate su più fogli. Sul foglio di livello superiore, il grande simbolo al centro della pagina rappresenta l'SoC. I due grandi simboli di foglio sul lato sinistro e destro della pagina rappresentano i due connettori board-to-board del modulo Pi.MX8. Tutti gli altri blocchi funzionali sono rappresentati con il proprio simbolo di foglio.
Ogni pagina segue la stessa filosofia di progettazione. Le interfacce che lasciano una pagina dello schema sono codificate a colori per rappresentare il livello di tensione dell'interfaccia. Le reti che fanno parte della rete di distribuzione dell'energia sono disegnate con una larghezza di linea spessa.
Integrare note per impostazioni di configurazione specifiche, convenzioni di denominazione o osservazioni generali può essere utilizzato per accelerare il processo di debug e di avviamento, fungendo anche da promemoria per il processo di routing del PCB.
Pagina dello schema inclusa di note e codifica a colori
Aggiungere note a uno schema di Altium Designer da un foglio di calcolo Excel o da screenshot presi da un datasheet è facile come Ctrl+C, Ctrl+V:
Il diagramma del circuito stesso è attualmente ancora soggetto a modifiche ed è quindi ancora in fase di sviluppo. Approfondiremo lo schema in un ulteriore aggiornamento.
Sebbene lo schema subirà alcune piccole modifiche nelle prossime settimane, possiamo già procedere e pianificare il layout del PCB.
Nella fase di pianificazione del layout, ci piacerebbe definire lo stack dei layer e pianificare una strategia su come instradare il circuito stampato. Come primo passo per definire uno stack di layer e un approccio di routing possiamo posizionare i componenti chiave sulla scheda. Questo ci aiuterà a stimare i requisiti di spazio e la densità di routing che sono entrambi fattori importanti da considerare per definire uno stack di layer e una strategia di routing. I componenti chiave in questo contesto sono parti che hanno un grande impatto sulla posizione dei componenti, come nel caso dei seguenti esempi:
Parti con una posizione predefinita sul PCB, ad esempio connettori, LED indicatori, distanziatori SMD;
Parti con molti collegamenti che devono essere instradati, ad esempio SoC, dispositivi di memoria, MCU;
Parti che occupano molto spazio sulla scheda, ad esempio grandi induttori, interruttori, dissipatori di calore.
Prima di posizionare qualsiasi componente sul modulo Pi.MX8, la prima cosa che vorremmo fare è definire alcune condizioni limite. Nel contesto del modulo queste sono caratteristiche meccaniche e dimensioni dettate dal form factor del modulo che vorremmo utilizzare.
A seconda dell'elenco degli strumenti MCAD utilizzati con cui ci integriamo, queste informazioni possono essere trasferite nell'editor di layout PCB utilizzando il
Dimensioni meccaniche e posizioni dei connettori del PCB
Con il contorno a posto, possiamo aggiungere i fori di montaggio nelle posizioni corrette utilizzando le opzioni di aggancio nell'editor PCB. I connettori da scheda a scheda possono essere posizionati sullo strato inferiore del modulo allo stesso modo:
Posizionamento dei fori di montaggio e dei connettori sul PCB
Sullo strato superiore, un connettore U.FL per un'antenna esterna viene posizionato sotto il foro di montaggio in alto a sinistra. Sotto il connettore viene posizionata un'antenna a chip per il funzionamento WiFi e Bluetooth. La posizione di questa antenna integrata non dovrebbe essere cambiata poiché molte basi già esistenti utilizzano una regione di esclusione in rame sotto la posizione dell'antenna.
L'antenna è un componente della libreria che include non solo l'antenna a chip in sé, ma anche una certa geometria in rame e punti di riferimento dove devono essere posizionati i componenti di adattamento. Queste informazioni possono essere trovate nel datasheet dell'antenna. Incorporando queste informazioni nel componente della libreria ci assicuriamo che la geometria predefinita non venga accidentalmente modificata.
Definizione della posizione dell'antenna
In questa fase di definizione dello spazio disponibile sulla scheda per il routing e il posizionamento dei componenti, può anche essere sensato aggiungere un anello di guardia lungo il bordo del PCB. Un anello di guardia è una traccia di rame che corre lungo il bordo del PCB su tutti i livelli ed è connessa a terra a intervalli regolari utilizzando VIA. Un anello di guardia posizionato lungo il bordo della scheda impedirà alle emissioni irradiate dagli strati interni di raggiungere l'ambiente esterno. Gli anelli di guardia sono utilizzati anche in altre configurazioni su un PCB, ad esempio per l'elettronica analogica di precisione dove le correnti di dispersione che scorrono attraverso contaminazioni superficiali devono essere tenute fuori dalle aree con nodi ad alta impedenza molto sensibili. Se tali caratteristiche sono richieste, queste dovrebbero anche essere considerate durante la fase di pianificazione del layout.
Posizionare un anello di guardia lungo il bordo della scheda in questa fase iniziale del progetto è importante perché, anche se potrebbe non sembrare difficile aggiungere questa caratteristica in seguito, un anello di guardia può occupare una quantità significativa di spazio. Tipicamente, la geometria del rame deve mantenere una distanza minima di 0,2mm – 0,3mm dal bordo lavorato della scheda. Aggiungendo a ciò la larghezza della traccia dell'anello di guardia di 0,6mm per esempio e un altro 0,1mm per la distanza dell'anello di guardia dalle rimanenti tracce di rame, la scheda si riduce improvvisamente di 2mm in ogni direzione. Questo può fare una grande differenza durante il routing, specialmente se i connettori sono posizionati vicino al bordo della scheda o se la densità dei componenti sulla scheda è molto alta.
Scheda PCB con anello di guardia
Un'altra limitazione che dovremmo considerare per il posizionamento dei componenti è il fatto che certi componenti possono essere suscettibili a stress meccanico. A seconda della situazione di montaggio di una PCB all'interno di un involucro, certe aree della scheda possono subire uno stress meccanico significativo. Esempi tipici di tali scenari sono i fori di montaggio o i dissipatori di calore che applicano una pressione di montaggio esterna a una PCB.
Questo è anche qualcosa che dovremmo tenere a mente per il modulo Pi.MX8. Il modulo sarà montato all'interno di un involucro di alluminio utilizzando i quattro fori di montaggio. In questa configurazione, la scheda elettronica e l'involucro sono rigidamente connessi l'uno all'altro. Poiché l'alluminio ha un coefficiente di espansione termica diverso rispetto al FR4, la scheda inizia a deformarsi non appena il sistema si riscalda. L'entità di questo effetto dipende dalle esatte caratteristiche dei materiali coinvolti e dalla differenza di temperatura osservata dall'assemblaggio.
Possiamo simulare l'espansione termica del modulo montato all'interno dell'involucro di alluminio. Calcolando il gradiente del vettore di spostamento, possiamo vedere che la scheda sperimenta un movimento, specialmente vicino ai fori di montaggio:
Stress meccanico causato dall'espansione termica
Se il PCB è utilizzato in un ambiente ad alta vibrazione lo stesso principio si applica per quanto riguarda gli alti stress vicino ai fori di montaggio.
Ma, perché è importante per il modulo Pi.MX8? Ci sono componenti sul modulo che sono sensibili a stress meccanici esterni. Questi componenti sono grandi condensatori ceramici. Questi condensatori possono facilmente rompersi se sono soggetti a stress meccanico. Spesso i condensatori falliscono con un cortocircuito causando un fallimento catastrofico dell'intero sistema. Per questa ragione, grandi condensatori ceramici non dovrebbero essere posizionati vicino ai fori di montaggio o ai bordi della scheda con taglio V. Quest'ultimo subisce anche un alto stress meccanico durante la separazione del pannello. Più grande è il condensatore, più è sensibile a carichi meccanici nella PCB.
Per noi ciò significa mantenere i condensatori ceramici più grandi di 0603 che non utilizzano terminazione morbida ad almeno 3,5mm dai fori di montaggio. Questa cifra varia a seconda della situazione di montaggio della scheda ed è stata derivata dalla simulazione per la scheda Pi.MX8.
Tenendo presente ciò, il posizionamento preliminare per i componenti chiave sulla scheda Pi.MX8 è il seguente:
Posizionamento preliminare dei componenti chiave
L'idea dietro questo posizionamento dei componenti e come influisce sulla scelta del layerstack sarà parte del prossimo aggiornamento. Restate sintonizzati per seguire i progressi del modulo Pi.MX8!