Table of Contents
Moderne ingebedde systemen vereisen steeds meer de gecombineerde mogelijkheden van een microcontroller (MCU) voor deterministische controle en een veldprogrammeerbare poortarray (FPGA) voor snelle, parallelle gegevensverwerking. De implementatie van beide apparaten op één printplaat (PCB) biedt aanzienlijke voordelen in prestaties, grootte en kosten, maar het vereist zorgvuldige en doelbewuste ontwerpkeuzes. Van het beheren van complexe stroomsequenties tot het handhaven van signaalintegriteit over hoge snelheidsinterconnecten, de uitdagingen zijn aanzienlijk. Deze gids schetst de belangrijkste technische gebieden die ingenieurs moeten aanpakken om een robuust en betrouwbaar ontwerp voor heterogene FPGA-MCU computerplatforms te garanderen.
Architecteren van de FPGA-MCU Interface
De eerste stap in het ontwerpproces is het bepalen hoe de FPGA en MKU zullen communiceren. Deze beslissing beïnvloedt sterk I/O eisen, PCB layout complexiteit, en de totale systeemdoorvoer.
Partitionering en interconnectie tussen werklade-selectie
Ingenieurs moeten beslissen welke taken tot de MCU behoren en welke tot de FPGA behoren. De MCU behandelt meestal systeeminitialisatie, gebruikersinterfacebeheer, netwerkprotocol stacks en sensormetingen met een lage bandbreedte. De FPGA behandelt hoge snelheidsdatastromen, real-time signaalverwerking en aangepaste perifere emulatie. De onderlinge verbinding moet overeenkomen met de bandbreedte en latentievereisten van de doeltoepassing.
Gemeenschappelijke interconnectnormen omvatten:
- Serial Perifeer Interface (SPI): Geschikt voor controle en configuratie. Quad-SPI (QSPI) biedt een hogere doorvoercapaciteit voor dataoverdracht.
- Flexibele Statische Geheugencontroller (FSMC) / Flexibele Geheugencontroller (FMC): Biedt een parallelle businterface, waardoor de MCU toegang heeft tot FPGA geheugen-gemikte randapparatuur of gedeeld SRAM met hoge doorvoercapaciteit en lage latentie.
- PCI Express (PCIe): Vereist voor extreem hoge bandbreedte toepassingen, zoals software-gedefinieerde radio of hoge snelheid gegevens acquisitie. Dit vereist geharde PCIe blokken in zowel de FPGA en MPU.
- AXI Bus: Voor strak gekoppelde systemen, vooral bij gebruik van een System-on-Chip (SoC) FPGA (bijv. Xilinx Zynq). Dit is de hoogste prestatieoptie, die intern naar het pakket draait.
Het kiezen van de juiste interface is een balans tussen pin telling, stroomverbruik en data rate. Een parallelle bus biedt hoge snelheid, maar verbruikt veel I/O pinnen en significante dynamische kracht, terwijl een seriële bus als SPI eenvoudiger is maar inherent langzamer.
FPGA- en MKU-apparaatselectie
De specifieke apparaten die gekozen worden zullen de complexiteit van de PCB sterk bepalen. FPGA's van AMD (Xilinx) of Intel (Altera) zijn verkrijgbaar in pakketten variërend van fijne-pitch BGA's (0,5mm ballen) tot hoge dichtheid pakketten met duizenden ballen voor high-end onderdelen. Evenzo, MCU's van leveranciers zoals STMicroelectronics, NXP, of Microchip bieden verschillende niveaus van geïntegreerde randapparatuur en hoge snelheid interfaces. Engineers moeten controleren I/O spanning compatibiliteit, logische familieniveaus, en pakket geschiktheid voor het beoogde productieproces vroeg in de selectiefase.
Ontwerp van het netwerk voor stroomlevering (PDN) voor gemengde signalsystemen
Het stroomtoevoernetwerk is wellicht het meest kritische aspect van FPGA en MPU PCB-ontwerp. FPGA's hebben veeleisende voedingsbehoeften, waaronder meerdere lagespanningsrails met strakke toleranties (vaak minder dan 3% rimpel) en extreem hoge di/dt transiënten tijdens het gebruik.
Spanningsspoortopologieën en -sequenties
Een typisch systeem kan verschillende speciale spanningsrails vereisen: FPGA Core (0,85V-1.0V), FPGA I/O (1.8V, 2.5V, 3.3V), FPGA Transceiver (1.0V, 1.8V), MKU Core (1.2V), en MKU I/O (3.3V). Met behulp van een speciaal Power Management Integrated Circuit (PMIC) vereenvoudigt de complexe sequencingvereisten. Veel FPGA's vereisen dat de kernspanning vóór de I/O spanning oploopt om vergrendeling of overmatige stroomtrekking te voorkomen. Dedicated PMICs from Analog Devices of Texas Instruments bieden meerdere rails met ingebouwde sequencing die voldoen aan de strenge leveranciersspecificaties.
Ontkoppeling netwerkarchitectuur
Gelijktijdig schakelen van lawaai (SSN) vanuit de interne logica van de FPGA kan massale spanningswisselingen veroorzaken als deze niet goed worden losgekoppeld. Een multi-tiered ontkoppelingsstrategie is vereist om een lage impedantie over het frequentiespectrum te behouden.
- Bulkcapaciteit: Tantaal- of polymeercondensatoren (47uF tot 330uF) zorgen voor lagefrequentieenergieopslag ter ondersteuning van transiënten met een lange levensduur.
- Mid-Frequentieontkoppeling: MLCC's (1uF tot 10uF) in 0402 of 0603 verpakkingen hanteren de mid-range frequenties. X7R of X5R diëlektrische zijn standaard.
- High-Frequentie Ontkoppeling: Zeer kleine MLCC's (0.1uF tot 0,01uF) met hoge zelfresonante frequentie (SRF) worden zo dicht mogelijk bij de FPGA en MCU-vermogensspelden geplaatst, idealiter direct aan de achterkant van de BGA via array.
Het uitvoeren van een PDN impedantie simulatie met behulp van tools zoals Cadence Sigrity of Ansys SIwave wordt aanbevolen om de impedantie target te controleren (meestal <10mOhm) is met up to several hundred MHz. An overview of suitable solutions is available through Het vermogensbeheerportfolio van analoge apparaten.
Selectie van de voedingscomponent
De selectie van spanningsregelaars is een evenwicht tussen efficiëntie, ruis en grootte. Switch-mode voedingen (SMPS) zijn noodzakelijk voor de kernrails van zowel de FPGA als MCU om de efficiëntie te behouden en warmtedissipatie te minimaliseren. De schakelfrequentie moet worden gekozen om laag te zijn voor het maximaliseren van de efficiëntie of hoog voor het minimaliseren van de inductorgrootte. De output rimpel van de SMPS moet strikt vallen binnen de tolerantie van de FPGA kernspanning. Low-dropout regulators (LDO's) worden aanbevolen voor geluidsgevoelige analoge benodigdheden, zoals PLL's en transceivers, waar hun lagere efficiëntie een aanvaardbare afweging is voor schoon vermogen. Texas Instruments biedt een uitgebreide selectiegids voor power management oplossingen voor FPGA's.
Hoge snelheidsindeling en Signaal-integriteitsstrategieën
Het behoud van signaalintegriteit is essentieel voor een betrouwbare werking, vooral als de interfacesnelheden toenemen om hoge resolutie video- of gigabitnetwerken te verwerken. De PCB-stapel- en routingregels moeten vroeg in de ontwerpcyclus worden vastgesteld.
PCB Stack-Up Design
Voor een complexe FPGA-plaat wordt minimaal 6 tot 8 lagen aanbevolen. Een goed ontworpen 8-laags stapel-up biedt robuuste isolatie en impedantie controle.
- Laag 1: Bovenste signaal en grond (microstrip)
- Laag 2: aardvlak
- Laag 3: Signaallaag (striplijn)
- Laag 4: Schakelplane(s)
- Laag 5: Grondvlak
- Laag 6: Signaallaag (striplijn)
- Laag 7: Grondvlak
- Laag 8: Onderste sein en grond (microstrip)
De specifieke grondvlakken naast signaallagen zorgen voor een kort, laag-inductantie retourpad. Gecontroleerde impedantiesporen (50 Ohm enkel-end, 90 Ohm-differentiaal voor USB, 100 Ohm voor ethernet en LVDS) moeten worden gespecificeerd aan de PCB- fabricator. Standaardisatie van gecontroleerde impedantie ontwerp wordt beheerst door IPC-2141A.
Kritieke interfaces activeren
DDR Geheugeninterfaces: Lengtematching is cruciaal voor data, adres en regellijnen. Alle signalen binnen een groep moeten binnen een strakke timingsschik blijven (bijv. +/- 10 picoseconden). Tracebreedten en afstandsafstand moeten worden berekend om de doelimpedantie te bereiken. Afsluitingsweerstanden die zich in de buurt van de geheugencontroller of geheugenmodule bevinden, zijn vaak noodzakelijk om reflecties te onderdrukken.
Hoge snelheid serielinks (SERDS): Deze interfaces vereisen AC koppelcondensatoren. De plaatsing van deze condensatoren moet dicht bij de zenderpen zijn. De differentiële paren moeten met constante afstand en lengte worden gerouteerd, waarbij vias zoveel mogelijk vermeden moet worden. Indien nodig, zorgt het plaatsen van grondstiksels via de signaal vias voor een ononderbroken terugkeerpad en minimaliseert de impedantie-afbreking.
Kloksignalen: Klokbronnen moeten fysiek dicht bij de FPGA worden geplaatst. Het klokkenspoor moet op een buitenste laag met een vlak recht onder de grond worden geleid. Een serie-ontbindingsweerstand die aan de bron wordt geplaatst, kan reflecties voorkomen en de jitter aanzienlijk verminderen. Aanbieding aan aanbevelingen van leveranciers zoals die in de AMD Xilinx UG482 PCB Design Guide] is een beste praktijk.
printmateriaalselectie
De werkfrequentie van de interfaces bepaalt de keuze van PCB-materiaal. Standaard FR-4 is geschikt voor snelheden tot ongeveer 1 GHz. Voor hoge snelheid SERDES die werkt op 5 Gbps en hoger, of voor RF-interfaces, zijn low-loss materialen zoals Rogers 4003C of Isola FR408 vereist. Deze materialen hebben een lagere Dissipatie Factor (Df), die signaaldemping vermindert. Ze bieden ook een strakkere tolerantie op de D-elektrische Constant (Dk), wat leidt tot meer consistente impedantie controle over de productie batch.
EMI en EMC tegenmaatregelen
Om de FCC- of CE-emissietest te doorstaan, moet het ontwerp van het bord EMC-tegenmaatregelen vanaf het begin omvatten. Hoge snelheidssignalen moeten worden gerouteerd op interne lagen (striplijn) om te profiteren van de inherente afscherming van de vermogens- en grondvlakken. I/O-connectoren moeten filtering omvatten, zoals gemeenschappelijke mode-sticks voor differentiële paren en ferrietkralen voor elektriciteitsleidingen. Een solide chassisgrond die door middel van montagegaten met het PCB-grondvlak is verbonden, is zeer effectief bij het verminderen van uitgestraalde emissies. Spread-spectrumklokkenfuncties binnen de FPGA kunnen ook helpen bij het verlagen van piekemissieniveaus.
Thermisch beheer voor hoog-Density Berekenmodules
De vermogensdichtheid van moderne FPGA's betekent dat thermisch beheer geen nadachtje kan zijn. Een 10W FPGA op een klein ingesloten bord kan een knooppunttemperatuur bereiken van meer dan 100°C zonder adequate koeling, wat leidt tot prestatiedegradatie of permanente storing.
Thermische padontwerp
De primaire thermische weg voor een BGA-pakket is door de soldeerballen en in de PCB zelf. Thermische vias direct onder de FPGA pad array geleid warmte naar de interne grond vlakken, die fungeren als grote oppervlakte warmtespreiders. Een rooster van 0,3 mm vias met een minimum van 1 oz koper plateren is standaard praktijk. Voor hogere vermogensniveaus, een speciale koelbak bevestigd aan de bovenkant van het pakket met behulp van een thermische interface materiaal (TIM) is nodig. De warmtebak kan worden bevestigd met clips of kleefband thermische tape.
Luchtstroom en systeemintegratie
Als het eindsysteem een ventilator voor actieve koeling bevat, moet het luchtstroompad zorgvuldig worden overwogen. De MCU en andere warmtegevoelige componenten, zoals spanningsregelaars en precisieoscillatoren, mogen niet direct in de hete uitlaatbaan van de warmtespoelbak van de FPGA worden geplaatst. Computational Fluid Dynamics (CFD) simulatie met behulp van instrumenten zoals Flotherm of Ansys Icepak wordt aanbevolen om het thermische gedrag van het gehele bevolkte bord en behuizing nauwkeurig te modelleren.
Betrouwbaarheids- en beveiligingsoverwegingen van het systeem
In veel industriële en automotive toepassingen, de FPGA configuratie bitstream en MCU firmware moeten worden beschermd tegen onbevoegde toegang, kopiëren of knoeien.
Beveiligde boot- en bitstreamversleuteling
Moderne FPGA's ondersteunen bitstream-encryptie met behulp van AES-256. De decryptiesleutel wordt opgeslagen in batterij-backed SRAM of geprogrammeerd in eenmalig programmeerbare eFuses binnen de FPGA. De MKU kan een veilig bootproces orkestreren waar het eerst zijn eigen firmware authenticeert, dan authenticeert en configureert de FPGA. Externe geheugenapparaten die de configuratiegegevens opslaan moeten in een bekende, gevalideerde staat zijn om terugrolaanvallen te voorkomen.
Watchdog en spanningsbewaking
Een hardware watchdog timer, ofwel intern aan de MCU of als een speciale externe component, is essentieel voor de betrouwbaarheid van het systeem. De FPGA kan een "hartslag" of "levend" signaal naar de MCU sturen om aan te geven dat het is geconfigureerd en correct werkt. Als de FPGA of MKU niet in staat is om de watchdog te bedienen, moet het systeem een gecontroleerde uitschakeling en herstart uitvoeren. Spanningsregelaars op alle kritieke stroomrails zorgen ervoor dat het systeem in een veilige reset staat wordt gehouden als een rail uit tolerantie valt, waardoor onvoorspelbare logica gedrag wordt voorkomen.
Ontwerp voor fabricage en validatie
Ontwerpen voor de productie (DFM) en testbaarheid (DFT) zorgt ervoor dat het complexe bord betrouwbaar kan worden gemonteerd en gevalideerd in productie.
DFM voor hoge-dichtheids-BBA
FPGA's komen vaak in fijne BGA-pakketten (0,8mm of 0,5mm balhoogte). Het uitrollen van sporen tussen de pads van een 0,5mm BGA is uitdagend en vereist zeer fijne lijnbreedten en afstand (3 miljoen of kleiner). Micro-via's zijn vaak nodig om de binnenste rijen van de BGA te doorbreken. Soldeermaskerontwerp en het gebruik van via-in-pad (VIP) technologie, gevolgd door planarisering, kan de ventilator-out vereenvoudigen. De PCB- fabricator moet vroeg worden geraadpleegd om de mogelijkheden van hun productieproces voor micro-via boren en plateren te bevestigen.
Testen van strategieën voor Dense Boards
Het fysiek inproberen van BGA-signalen tijdens productietests is onpraktisch. Daarom is JTAG-grensscan (IEEE 1149.1) essentieel voor het testen van de integriteit van soldeergewrichten en board-level interconnects. De JTAG-keten moet vanaf het begin in het ontwerp worden opgenomen. Het maakt het mogelijk om geautomatiseerde testen van verbindingen tussen de FPGA en MCU, evenals verbindingen met andere JTAG-compatibele apparaten zoals ethernet PHY's en geheugencomponenten. Daarnaast, inclusief testpunten voor belangrijke stroomrails en een seriële debugconsole (UART) van de MCU is zeer waardevol voor de initiële prototyping en velddiagnostiek.
Afsluitend ontwerpkader
Het implementeren van een geïntegreerd systeem dat een FPGA en een MCU op een enkele PCB integreert is een complexe maar lonende engineering taak. Succes vereist een systeem-niveau aanpak die betrekking heeft op architectonische trade-offs, energie-integriteit, signaalkwaliteit, thermische grenzen, en productievereisten vanaf het begin van het project. Door zorgvuldig plannen van de interconnect strategie, het strikt ontwerpen van het energieleveringsnetwerk, volgens gevestigde high-speed lay-out regels, en het opnemen van robuuste thermische en beveiligingsfuncties, kunnen ingenieurs krachtige, betrouwbare en productie-ready heterogene computerplatforms creëren. De nauwe samenwerking tussen hardware ingenieurs, lay-out specialisten en firmware ontwikkelaars gedurende het hele ontwerpproces is de meest betrouwbare voorspeler van een succesvolle productlancering.