Table of Contents
I sistemi embedded moderni richiedono sempre più le capacità combinate di un microcontroller (MCU) per il controllo deterministico e un campo-programmabile gate array (FPGA) per l'elaborazione di dati paralleli ad alta velocità.
Architetto dell'interfaccia FPGA-MCU
Il primo passo nel processo di progettazione è determinare come comunicano FPGA e MCU, che influenzano fortemente i requisiti I/O, la complessità del layout PCB e la produttività complessiva del sistema.
Selezione di partizioni e interconnessioni del carico di lavoro
Gli ingegneri devono decidere quali compiti appartengono al MCU e che appartengono alla FPGA. Il MCU gestisce tipicamente l'inizializzazione del sistema, la gestione dell'interfaccia utente, le pila di protocollo di rete e le letture dei sensori a bassa banda. La FPGA gestisce flussi di dati ad alta velocità, l'elaborazione del segnale in tempo reale e l'emulazione periferica personalizzata.
Gli standard comuni di interconnessione includono:
- Interfaccia periferica seriale (SPI):[] Adatto per il controllo e la configurazione. Quad-SPI (QSPI) offre una maggiore produttività per il trasferimento dei dati.
- Controllore di memoria statico flessibile (FSMC) / Controller di memoria flessibile (FMC):[ Fornisce un'interfaccia bus parallela, permettendo al MCU di accedere alle periferiche mappate della memoria FPGA o SRAM condiviso con elevata produttività e bassa latenza.
- PCI Express (PCIe):] Richiesto per applicazioni estremamente ad alta banda, come l'acquisizione di dati di radio o ad alta velocità, che richiedono blocchi PCIe induriti sia in FPGA che in MCU/MPU.
- AXI Bus:[] Per sistemi strettamente accoppiati, soprattutto quando si utilizza un System-on-Chip (SoC) FPGA (ad esempio Xilinx Zynq). Questa è l'opzione di prestazioni più alta, che funziona interna al pacchetto.
La scelta dell'interfaccia giusta è un equilibrio tra conta pin, consumo di energia e velocità di dati. Un bus parallelo offre alta velocità, ma consuma molti pin I/O e una potenza dinamica significativa, mentre un bus seriale come SPI è più semplice ma intrinsecamente più lento.
Selezione dispositivi FPGA e MCU
I dispositivi specifici scelti dettano fortemente la complessità del PCB. FPGAs da AMD (Xilinx) o Intel (Altera) sono disponibili in pacchetti che vanno da BGAs fine-pitch (0.5mm palle) a pacchetti ad alta densità con migliaia di palline per parti di fascia alta.
Progettazione di rete di distribuzione di energia (PDN) per sistemi misti-signali
La rete di distribuzione di energia è probabilmente l'aspetto più critico del design FPGA e MCU PCB. Le FPGA hanno requisiti di potenza esigenti, tra cui più rotaie a bassa tensione con tolleranze strette (spesso meno del 3% di ondulazione) e transienti di / dt estremamente elevati durante l'operazione.
Topologie e Sequenziamento della Ferrovia di Tensione
Un sistema tipico può richiedere diverse linee di tensione dedicate: FPGA Core (0.85V-1.0V), FPGA I/O (1.8V, 2.5V, 3.3V), FPGA Transceiver (1.0V, 1.8V), MCU Core (1.2V), e MCU I/O (3.3V). Utilizzando un circuito integrato dedicato di gestione della potenza (PMIC) semplifica i requisiti complessi di sequenziamento del dispositivo.
Decoupling Network Architecture
Se non è stato possibile decoupare il rumore di commutazione simultaneo (SSN) dalla logica interna della FPGA, è necessario mantenere una bassa impedenza nello spettro di frequenza.
- Capacità di assemblaggio:[] I condensatori di nichel o polimeri (47uF a 330uF) forniscono un deposito energetico a bassa frequenza per supportare i transienti a lunga durata.
- Mid-Frequency Decoupling:[ MLCCs (1uF a 10uF) in 0402 o 0603 pacchetti gestire le frequenze di media gamma.
- Decoupling ad alta frequenza:[] I MLCC di valore molto piccolo (0.1uF a 0.01uF) con alta frequenza auto-resonante (SRF) sono posizionati il più vicino possibile ai pin di potenza FPGA e MCU, idealmente direttamente sul retro della BGA via array.
Eseguire una simulazione di impedenza PDN utilizzando strumenti come Cadence Sigrity o Ansys SIwave è consigliato di verificare l'obiettivo di impedenza (tipicamente <10mOhm) is met up to several hundred MHz. An overview of suitable solutions is available through Analog Devices' power management portfolio[.
Selezione componenti di alimentazione
La selezione dei regolatori di tensione è un atto di bilanciamento tra efficienza, rumore e dimensione. Le alimentazioni di commutazione (SMPS) sono necessarie per le guide di base di FPGA e MCU per mantenere l'efficienza e ridurre al minimo la dissipazione del calore. La frequenza di commutazione deve essere scelta per essere bassa per massimizzare l'efficienza o alta per ridurre al minimo le dimensioni dell'induttore.
Strategie di integrità di segnale e di layout ad alta velocità
Mantenere l'integrità del segnale è essenziale per un funzionamento affidabile, soprattutto quando le velocità dell'interfaccia aumentano per gestire video ad alta risoluzione o la rete gigabit.
Progettazione di Stack-Up PCB
Per una tavola FPGA complessa è consigliato un minimo di 6-8 strati, un stack-up ben progettato a 8 strati fornisce un controllo robusto dell'isolamento e dell'impedenza.
- Livello 1: Segnale superiore e terreno (Microstrip)
- Livello 2: Piano terra
- Livello 3: Livello di segnale (Stripline)
- Livello 4: Aereo di potere(i)
- Livello 5: Piano terra
- Livello 6: Livello di segnale (Stripline)
- Livello 7: Piano terra
- Livello 8: Segnale inferiore e terra (Microstrip)
I piani terra dedicati adiacenti ai livelli di segnale garantiscono un breve e basso percorso di ritorno di induttanza. Le tracce di impedenza controllate (50 Ohm single-ended, 90 Ohm differenziale per USB, 100 Ohm per Ethernet e LVDS) devono essere specificate al produttore PCB. La standardizzazione del design di impedenza controllata è governata da IPC-2141A].
Interfacce critiche di routine
DDR Interfacce di memoria:[] L'accoppiamento di lunghezza è fondamentale per le linee di dati, indirizzo e controllo. Tutti i segnali all'interno di un gruppo devono rimanere entro un'impedenza di tempo stretto (ad esempio, +/- 10 picosecondi).
Collegamenti seriali ad alta velocità (SERDES): Queste interfacce richiedono condensatori di accoppiamento AC. Il posizionamento di questi condensatori dovrebbe essere vicino al perno del trasmettitore. Le coppie differenziali devono essere indirizzate con spaziatura costante e lunghezza complessiva, evitando le vie quando possibile. Se sono necessari impedimenti, posizionando le cuciture a terra accanto al segnale tramite vias fornisce un percorso di ritorno ininterrotto.
Segnali di blocco:[] Le fonti di orologio devono essere posizionate fisicamente vicino alla FPGA. La traccia dell'orologio dovrebbe essere indirizzata su uno strato esterno con un piano di terra solido direttamente sotto. Una resistenza di terminazione della serie posizionata alla fonte può prevenire riflessi e ridurre significativamente il jitter.
Selezione dei materiali PCB
La frequenza di funzionamento delle interfacce detta la scelta del materiale PCB. Standard FR-4 è adatta per velocità fino a circa 1 GHz. Per SERDES ad alta velocità che operano a 5 Gbps e sopra, o per interfacce RF, materiali a basso consumo come Rogers 4003C o Isola FR408 sono necessari. Questi materiali hanno un fattore di impedenza inferiore (Df), che riduce l'attenuazione del segnale.
Contromisure EMI ed EMC
Per superare i test delle emissioni FCC o CE, il disegno del bordo deve incorporare le contromisure EMC dall'inizio. I segnali ad alta velocità dovrebbero essere indirizzati su strati interni (stripline) per beneficiare della schermatura intrinseca della potenza e dei piani di terra. I connettori I/O dovrebbero includere il filtraggio, come i choks comuni-mode per coppie differenziali e perle ferrite per le linee di alimentazione.
Gestione termica per moduli di calcolo ad alta densità
La densità di potenza delle moderne FPGA significa che la gestione termica non può essere un ripensamento. Un FPGA 10W su una piccola tavola incorporata può raggiungere temperature di giunzione superiori a 100°C senza un raffreddamento adeguato, portando al degrado delle prestazioni o al fallimento permanente.
Progettazione del percorso termico
Il percorso termico primario per un pacchetto BGA è attraverso le sfere di saldatura e nel PCB stesso. Le vie termiche poste direttamente sotto l'array di pad FPGA conducono calore ai piani di terra interni, che agiscono come diffusori di calore di grandi dimensioni. Una griglia di 0.3mm tramite un minimo di 1 oz placcatura di rame è pratica standard. Per livelli di potenza più elevati, un dissipatore di calore dedicato attaccato alla parte superiore del pacchetto utilizzando un materiale termico sicuro (TIM) è possibile.
Integrazione di Airflow e System
Se il sistema finale include un ventilatore per il raffreddamento attivo, il percorso del flusso d'aria deve essere attentamente considerato. Il MCU e altri componenti sensibili al calore, come regolatori di tensione e oscillatori di precisione, non devono essere posizionati direttamente nel percorso di scarico caldo del dissipatore FPGA.
Considerazioni di sicurezza e affidabilità
In molte applicazioni industriali e automobilistiche, il firmware di configurazione di FPGA bitstream e MCU deve essere protetto da accessi non autorizzati, copia o manomissione.
Avvio sicuro e Crittografia Bitstream
La chiave di decrittazione viene memorizzata in SRAM a batteria o programmata in eFuses programmabili a tempo pieno all'interno della FPGA. Il MCU può orchestrare un processo di boot sicuro in cui autentica il proprio firmware prima, poi autentica e configura il FPGA. I dispositivi di memoria esterni che memorizzano i dati di configurazione devono essere in uno stato noto e convalidato per prevenire gli attacchi rollback.
Watchdog e la supervisione della tensione
Un timer hardware watchdog, sia interno al MCU che come componente esterno dedicato, è essenziale per l'affidabilità del sistema. L'FPGA può guidare un segnale "heartbeat" o "alive" al MCU per indicare che è configurato e funzionante correttamente. Se il FPGA o MCU non riesce a servire il watchdog, il sistema dovrebbe eseguire un arresto controllato e riavviare.
Progettazione per la produzione e la convalida
La progettazione per la produzione (DFM) e la testabilità (DFT) assicura che la tavola complessa possa essere assemblata e validata in modo affidabile nella produzione.
DFM per BGA ad alta densità
Le tracce di routing tra i pad di un BGA di 0.5mm sono impegnative e richiedono larghezze di linea molto sottili e spaziatura (3 mil o più piccolo). Le micro-via sono spesso necessarie per rompere le righe interne del BGA. Il design della maschera di solder e l'uso della tecnologia di placcatura (VIP) di interfacciamento, seguita da planarizzazione, può essere semplificato il processo di perforazione del PC.
Strategie di prova per schede di Dense
La scansione dei limiti JTAG (IEEE 1149.1) è essenziale per testare l'integrità delle giunzioni e le interconnessioni di livello del saldatore. La catena JTAG deve essere inclusa nel progetto fin dall'inizio. Permette di testare automaticamente i collegamenti tra FPGA e MCU, nonché le connessioni ad altri dispositivi JTAG compatibili come i PHY e i componenti di memoria Ethernet.
Concludere il quadro di progettazione
L'implementazione di un sistema integrato che integra un FPGA e un MCU su un unico PCB è un compito di ingegneria complesso ma gratificante. Il successo richiede un approccio a livello di sistemi che affronta i trade-off architettonici, l'integrità di potenza, la qualità del segnale, i limiti termici e i requisiti di produzione dall'inizio del progetto.