Clicca qui per passare all'incorporazione del visualizzatore e sfogliare questo progetto
La maggior parte dei produttori di semiconduttori ha sviluppato e rilasciato la propria linea di microcontrollori, e Nordic Semiconductor non fa eccezione. Uno dei loro prodotti più noti è l'nRF52, un SoC capace di RF con un trasmettitore integrato. Questo componente è piccolo, offre un alto numero di I/O e ha un numero di parte che viene in un pacchetto BGA a passo fine.
In questo articolo, mostrerò un esempio di layout PCB che utilizza la versione del pacchetto BGA a passo fine dell'nRF52. Alla fine dell'articolo, avrai l'opportunità di scaricare i file sorgente di questo progetto. Senza ulteriori indugi, iniziamo con un esempio di layout PCB che include l'nRF52.
Per gli spettatori che vogliono guardare l'intero processo di progettazione per questo componente, abbiamo creato la seguente playlist che guida gli utenti attraverso il processo di utilizzo dell'nRF52 in un layout PCB. In particolare, copriamo come utilizzare la versione ad alta densità (passo delle palle di 0,35 mm) di questo componente in un design che richiede alcune tecniche di progettazione HDI. Mostreremo anche l'intero viaggio ingegneristico che ci ha portato alla versione finale del nostro modulo nRF52.
Il nRF52 è disponibile in diversi pacchetti con fattori di forma ridotti. Questo chip è diventato popolare come microcontrollore in grado di gestire il Bluetooth, con un numero moderato di pin e interfacce digitali standard, inclusa la capacità di utilizzare USB nel dispositivo. Il componente è destinato a piccoli dispositivi embedded con connettività Bluetooth 5.
In questo progetto, il componente che utilizzeremo è il nRF52840-CKAA-R7, un WLCSP a 93 pin con un footprint BGA. Questo processore è noto per il suo funzionamento a bassa potenza quando non è in trasmissione, quindi è possibile utilizzarlo con una piccola batteria. Aggiungeremo al sistema alcuni circuiti di regolazione della batteria e protezione dalla polarità inversa, in modo che possa funzionare correttamente con alimentazione a batteria.
Il footprint per il nRF52840-CKAA-R7 è mostrato di seguito. La barra di misura tra le sfere indica che il passo è di 0,35 mm. Si tratta di un passo molto fine che richiederà alcune tecniche di progettazione utilizzate nei disegni HDI.
Entreremo nei dettagli del pinout e del fanout di questo componente in una delle sezioni sottostanti. Per ora, ci saranno diversi altri componenti che appariranno nel progetto:
Il dispositivo dovrà inizialmente connettersi a una batteria LiPo tramite un connettore standard a 2 pin, e dovremo includere almeno un'intestazione per accedere agli I/O e programmare la scheda. Il numero di I/O è maggiore di quello che normalmente si adatterebbe su un'unica intestazione, quindi è una questione di giudizio se includere o meno un secondo connettore solo per l'accesso agli I/O. Per ora, procederemo con il connettore della batteria e un'unica intestazione I/O, e possiamo sempre aggiungere un altro connettore in seguito.
Gli schemi di questo dispositivo non sono troppo complessi e tutti i circuiti si adatteranno su una singola pagina. Mostrerò diverse regioni degli schemi individualmente in modo che l'intero design sia chiaro e facile da leggere.
Prima, diamo un'occhiata alla sezione di alimentazione. In questo dispositivo, l'alimentazione a 3V3 è fornita da un LDO a basso rumore e bassa corrente con una corrente nominale di uscita di 150 mA. L'LDO prende l'alimentazione della batteria (VBAT) come ingresso e la converte nell'uscita desiderata a 3V3.
Basandoci sulle connessioni di rete per VBAT e VDD1, vediamo che ci sono due modi per fornire alimentazione alla scheda:
Nel primo caso, si alimenterebbe solo l'MCU e l'RTC; non ci sarebbe alimentazione per i periferici. Nel secondo caso, si starebbe fornendo alimentazione a tutto il sistema, e ora VDD1 sarebbe un'uscita piuttosto che un ingresso.
Noterete che un secondo regolatore fornisce alimentazione a 3V3 per la rete VDD2. Questo regolatore include un pin di abilitazione, così il dispositivo può accendersi inizialmente utilizzando VDD1, e poi i periferici (in questo caso, l'EEPROM) possono essere alimentati utilizzando VDD2. Questo dà al dispositivo la capacità di spegnere i suoi periferici quando non è in uso, attivando e disattivando il pin VDD2_ENABLE. Se avessimo altri periferici che potremmo voler includere in questo progetto che non sono centrali per l'accensione del dispositivo, vorremmo connetterli a VDD2 invece che a VDD1.
Successivamente, diamo un'occhiata alle connessioni nRF52840. Queste sono state prese in prestito dalla scheda di sviluppo Nordic e l'originale set di connessioni sui loro componenti può essere accessibile nei loro file di progetto Altium.
Qui ho isolato diverse interfacce, e il circuito di supporto contiene principalmente cristalli di riferimento e alcuni condensatori. I condensatori variano da un grande caso per il decoupling di massa, fino a un piccolo caso (0201) per il bypass sulla linea VDD1. Ci sono ancora molti pin disponibili in questo componente, e questi potrebbero essere utilizzati per altri periferici. Eventualmente, separerò alcune delle I/O aggiuntive e l'interfaccia SPI su un'intestazione a pin come mostrato più avanti nella serie di video.
Se dai un'occhiata al pin E1, vedrai il collegamento dell'antenna. Inizialmente, partendo dagli schemi originali e dal layout nel design di riferimento, questa rete di adattamento dell'impedenza utilizzava valori di capacità di uscita differenti. La rete di adattamento dell'impedenza mostrata di seguito è stata determinata invertendo l'ingegneria dell'impedenza dell'antenna con un calcolatore online e modificando la rete di adattamento in modo che sia simmetrica. Sostituendo il condensatore di uscita da 0,8 pF nel design di riferimento con il condensatore di uscita da 1,2 pF mostrato di seguito si ottiene sostanzialmente la stessa prestazione.
Questo conclude sostanzialmente la parte di cattura dello schema, e i circuiti rimanenti sono semplici da implementare. Possiamo ora passare al layout del PCB.
Una volta nel layout del PCB, abbiamo alcuni compiti importanti da completare per utilizzare nRF52840 in WLCSP:
Il principale motore della strategia di stack-up e fanout è il passo delle palle sul pacchetto nRF52. I lettori potrebbero notare sopra che il passo delle palle è di 0,35 mm. La dimensione del pad nel mio footprint è di 0,212 mm, che è una dimensione appropriata data gli standard IPC sui footprint BGA. La distanza diagonale tra i pad è di 0,495 mm. Queste misurazioni sono mostrate di seguito.
Se provassimo ad usare un fanout a osso di cane con vie passanti per collegare i pin interni, ci resterebbe solo circa 1-2 mils di spazio tra le vie e i pad adiacenti. Questo è troppo piccolo per la maggior parte delle fabbriche di produzione per incidere correttamente. Richiederebbe anche una dimensione di trapano molto piccola di circa 4 mil con un pad di diametro di 8 a 9 mil. Questi valori sono semplicemente troppo piccoli per lavorare all'interno della fabbricazione standard.
Pertanto, ho utilizzato un fanout via-in-pad con vie cieche e sepolte per raggiungere gli strati interni. Poiché la dimensione del pad è di circa 8,3 mil, possiamo utilizzare vie cieche/sepolte da 4 mil con pad da 8 mil. Per mantenere un rapporto di aspetto di 1:2, avremmo bisogno di spessori di strato esterno di 4 mil per le nostre vie cieche/sepolte. Questo ci darebbe un totale di 6 strati come mostrato nello stackup qui sotto.
Dopo aver completato lo stackup e il fanout, il mio posizionamento iniziale per questa scheda è mostrato di seguito. Ho incluso alcuni poligoni per il routing dell'alimentazione prima di completare le rimanenti connessioni. Il posizionamento iniziale dell'intestazione a 6 pin è stato utilizzato per la programmazione e la lettura delle tensioni. Il punto successivo da considerare è il posizionamento dell'antenna e, infine, possiamo concludere con i breakout I/O nei nostri connettori.
In questo design, utilizzeremo un'antenna stampata per inviare e ricevere segnali wireless. La posizione migliore per posizionare un'antenna stampata per l'nRF52 è lungo il bordo della scheda. Questo manterrà l'antenna lontana dalla sezione digitale. L'antenna si collega al pin E1 sull'nRF52840.
Se si guarda al design di riferimento nRF52, si vedrà che forniscono un esempio di antenna stampata che può essere incorporato in altri progetti. Questa antenna è un'antenna a quarto d'onda, e ciò può essere verificato calcolando la lunghezza dell'antenna e confrontandola con la lunghezza d'onda del segnale a 2,45 GHz in una configurazione microstrip senza terra. La rete di adattamento dell'impedenza mostrata negli schemi sopra dovrebbe fornire un adattamento sufficiente date le differenze nello stackup per questa scheda.
Se decidi di produrre questa scheda, avrai bisogno di programmarla. La documentazione nRF52840 fornisce una guida alla programmazione del dispositivo tramite il protocollo SWDIO utilizzando solo 4 pin:
Quindi, ho sostituito l'intestazione a pin 1x6 con un'intestazione SWD poiché questo è un cavo standard utilizzato per programmare molte schede microcontrollore (ho anche alcuni cavi SWD nel mio laboratorio). Nota che il pin nReset (K6) è opzionale per la programmazione, ma lo includerò nell'assegnazione dei pin dell'intestazione SWD insieme a una connessione VBAT. L'assegnazione dei pin finale sul mio intestazione SWD è mostrata di seguito.
Il programmatore che preferisco utilizzare per questo tipo di dispositivo è il programmatore PRESTO, disponibile su ASIX.net. Questo programmatore supporta un lungo elenco di dispositivi, inclusi nRF52840 e alcuni altri prodotti Nordic. Dovrai creare configurazioni personalizzate dei pin per il cavo sul PRESTO, ma questo è abbastanza semplice da fare con i cavi volanti.
Successivamente, ho deciso di sostituire l'intestazione inizialmente scelta da 1x6 con una da 2x7, così da poter espandere ulteriori I/O. L'intestazione è stata posizionata nell'angolo in alto a sinistra della scheda. Ho aggiunto resistori in serie da 22 Ohm su questi I/O per rallentare i segnali in entrata o in uscita dalla scheda nel caso in cui l'EMI diventi problematica in questi collegamenti. Se si scopre che non sono necessari, posso sempre sostituirli con resistori da 0 Ohm.
Il layout finale del PCB è mostrato nell'immagine qui sotto. Ho aggiunto alcuni loghi, impostato il numero di parte nella parte inferiore destra della scheda e allineato le resistenze sulle linee I/O lungo la metà inferiore dell'intestazione dei pin. Ho anche effettuato una pulizia finale sul serigrafato in modo che tutti i designatori siano chiari e non ci sia sovrapposizione. A questo punto, il design ha superato un ultimo DRC ed è pronto per la produzione.
Sebbene il routing potrebbe essere migliorato in alcuni punti solo per pulire l'accesso I/O, la scheda sarà funzionale e sono contento di come è risultata. Alcune funzionalità aggiuntive che potrebbero essere aggiunte includono un connettore USB e un IC di gestione della ricarica USB in modo che il dispositivo possa essere caricato dal bus standard 5V su una spina USB.
Un altro componente che potrebbe essere aggiunto al progetto è un IC compagno di Nordic che fornisce accesso WiFi ai MCU della serie nRF52. L'anno scorso, nell'agosto 2022, Nordic ha annunciato il rilascio della sua più recente iterazione della serie nRF: l'nRF7002. Questo SoC offre supporto dual-band WiFi 6 con un consumo di energia ultra-basso come compagno per i prodotti nRF52 o nRF53. Prenderò in considerazione questo IC compagno in un prossimo progetto e video.
Per ora, clicca su questo link per scaricare un archivio ZIP con i file sorgente del progetto. Puoi anche usare il link di download nell'embed sopra per accedere ai file sorgente.
I componenti ad alta densità con sezioni RF sono facili da posizionare e tracciare con il completo set di utility CAD in Altium Designer®. Quando hai terminato il tuo progetto e vuoi rilasciare i file al tuo produttore, la piattaforma Altium 365™ rende facile collaborare e condividere i tuoi progetti.
Abbiamo appena iniziato a scoprire cosa è possibile fare con Altium Designer su Altium 365. Inizia oggi la tua prova gratuita di Altium Designer + Altium 365.