Evaluere et analogt signal ved hjelp av et FPGA-kort og Zmod-moduler

Å teste nye komponenter eller algoritmer er den daglige virksomheten til elektronikkingeniører. Test- og målesystemer som enkelt kan settes opp og brukes gjør denne oppgaven enkel.

Publisert Sist oppdatert

Denne artikkelen er 2 år eller eldre

Noen ganger vil ingeniører at ting skal skje raskt: En ny sensor for Internet of Things (IoT) må evalueres eller en oppdatert algoritme for behandling av analoge signaler må testes. Og alt det til minst mulig kostnad og anstrengelser, og, hvis mulig, over alt. Hva er det som trengs for et slikt testsystem? En signalkilde som for eksempel kan være en sensor med analoge utdata, en kommunikasjonsenhet som produserer lyd- eller talesignaler eller en funksjonsgenerator. Deretter kommer en analog-til-digital-konverter (ADC) for å kvantisere signalet. ADC-en, som er rask nok til å tilfredsstille Nyquist-kriteriene og det dynamiske området til bølgeformen som undersøkes, sender de digitaliserte dataene til en signalbehandlingsenhet, fortrinnsvis en prosessor eller FPGA. Signalbehandling kan bestå av bruk av digitale filtre for signalet, sammenslåing eller modulering/demodulering av signaler samt komprimering eller dekomprimering. Hvis signalbehandlingsenhetene inkluderer en FPGA som Zynq-7000 AP SoC (fullprogrammerbart system-på-chip) fra Xilinx, kan enten den programmerbare logikken (PL) eller arm-mikrokontrolleren på chip som behandlingssystem (PS) brukes til disse oppgavene, noe som gir ingeniørene den fleksibiliteten de trenger til de ulike testene deres.

Før signalet endelig kan visualiseres og analyseres, bør det konverteres tilbake til det analoge domenet gjennom en digital-til-analog-konverter (DAC). I likhet med ADC-en, bør DAC-en være rask nok og gi nok dynamisk bredde til å oppfylle kravene til signalet som testes. Det kan være fordelaktig å ha mer enn én kanal, ettersom det muliggjør å for eksempel innlemme en digital loop-back for å korrigere fasefeilene som er introdusert av ADC-en, lavnivådriverne til ADC-en og DAC-en og til slutt gevinstfeilene forårsaket av misforholdet mellom ADC- og DAC-ens fullskalaspenninger.

På slutten av signalbehandlingskjeden må signalet vises. Verktøyet de fleste velger er oscilloskopet, men spektrums-, nettverks- eller logikkanalysatorer brukes også ofte til den oppgaven. Her kobles en enhet via USB til en datamaskin som er fleksibel nok til å enkelt kunne programmeres og konfigureres, og som kan erstatte en rekke måleverktøy for laboratorier som kan komme til nytte.

 

Figur 1: Basissystem for testing og måling av analoge signaler.

Sist, men ikke minst bør ikke systemet bare være enkelt å sette opp, men også enkelt å programmere. Så IP-blokker, programvarebiblioteker og API-er (grensesnitt for programmering) som er klar til bruk er også fordelaktig.

Et eksempel på innlemming
Hvordan kan et slikt system se ut i virkeligheten? Hva om for eksempel en ingeniør vil analysere innvirkningen av et lavpasseringsfilter på forstyrrelsen av et nettverkssignal ved å måle frekvensresponsen? Selve signalet må opprettes, noe som enkelt kan oppnås av Analog Discovery 2 fra Digilent.

Figur 2: Analog Discovery 2 er faktisk et 100 MSPS USB- oscilloskop, logikkanalysator, signalgenerator og variabel strømforsyning.

Analog Discovery 2 kan kobles til en datamaskin via USB. Det fungerer som et oscilloskop, en logikkanalysator, et flerfunksjonsinstrument og en variabel strømforsyning i ett enkelt kabinett, og lar brukerne generere, registrere, måle og visualisere alle slags analoge signaler. Den er drevet av den gratis WaveForms-programvaren fra Digilent, som er kompatibel med Windows, Linux og macOS, og kan konfigureres til å fungere som hvilken som helst av flere tradisjonelle test- og måleinstrumenter, inkludert oscilloskop, bølgeformgenerator, strømforsyning, voltmeter, datalogger, logikkanalysator, mønstergenerator, statisk I/O og spektrums-, nettverks-, impedans- og protokollanalysator. Og den er liten nok til å få plass i enhver lomme. Med denne fleksibiliteten kan verktøyet også brukes til å generere forstyrrelser og visualisere frekvensresponsen fra det filtrerte signalet som Bode-diagram, som er nødvendig i eksempelet. I dette bestemte oppsettet anbefales det å bruke ekstern forsyning til Analog Discovery 2 for å unngå feil forårsaket av jordingskretsen.

En SoC til signalbehandlingen
Til signalbehandlingsenheten kan det brukes et Eclypse Z7 FPGA / SoC-kort, som også er fra Digilent. Dette utviklingskortet er basert på Zynq-7000 AP SoC (fullprogrammerbart system-på-chip) fra Xilinx og ble utformet med tanke på rask utforming av prototyper og utvikling av innlemmede målesystemer. Zynq-7000 består av en Xilinx Zynq-7020 SoC for den programmerbare logikken med 106 400 «flip-flop»-er og 53 200 oppslagstabeller (LUT-er), og en Arm Cortex-A9 med dobbeltkjerne som kjører på 667 MHz for behandlingssystemet.

Kortets ytterligere funksjoner inkluderer periferikontroller med høy og lav båndbredde, for eksempel 1G Ethernet, USB 2.0, SPI eller CAN. To høyhastighets Zmod-porter gir kortet enda mer fleksibilitet og gir brukeren muligheten til å tilføre kompatible moduler til Eclypse Z7-kortet. Zmod er en ny ekspansjonsløsning fra Digilent som bruker den digitale grensesnittstandarden SYZYGY med åpen kildekode fra Opal Kelly. Den gir raskere dataoverføring og høyere båndbredde enn Pmod-standarden, men er mer kompakt og kostnadseffektiv enn FMC (FPGA-mesaninkort)-standarden.

 

Figur 3: Eclypse Z7 er utviklingskortet Zynq-7000 AP SoC med SYZYGY-kompatible ekspansjonskontakter.

Eclypse Z7-kortet er en del av Eclypse-plattformen, som setter sammen maskinvare og Digilents åpne programvare-API-er. Det støtter PetaLinux fra Xilinx rett fra esken og forhåndsbygde Linux-bilder kommer med API-en for bulkoverføring av data. På den måten kan innlemmede Linux-utviklere utnytte kraften av en FPGA for å utarbeide prototyper for høyhastighets måle-, instrumenterings- og kontrollsystemer uten behov for spesialisert maskinvareekspertise. bulk data transfer.

 

Figur 4: Slik kan et testsystem for analoge signaler se ut ved bruk av eksisterende verktøy fra Digilent.

Zmod-er leverer høyhastighets grensesnitt
Til den nødvendige datainnsamlingen i eksempelet leverer Digilent Zmod ADC 1410, en SYZYGY-kompatibel 14-biters analog-til-digital konvertermodul. Dens to ensidig jordede kanaler har et inngangseffektområde på ±1 V i høygevinstmodus eller ±25 V i lavgevinstmodus, med en absolutt oppløsning på 0,13 mV og 3,21 mV. Samplingsfrekvensen er 100 MSPS med en SNR på 74,5 dBFS ved 70 MHz. ADC-en som brukes på Zmod ADC 1410 er AD9648 fra Analog Devices.

For å konvertere det behandlede digitale signalet tilbake til et analogt, kan digital-til-analog-konvertermodulen Zmod DAC 1411 brukes. Denne SYZYGY-kompatible 14-biters DAC-modulen med to kanaler, som er bygget rundt AD9717 fra Analog Devices, kan samtidig generere to ± 5 V signaler med 14-biter oppløsning til en samplingsrate på opptil 100 MSPS. De to kanalene er ensidig jordet med en absolutt oppløsning på 167 μV hvis amplituden er ≤1,25 V, og 665 μV hvis amplituden er større enn 1,25 V. Svinghastigheten er 180 V/μs for et inngangseffekttrinn på 2 V.

Gjennom bruken av disse høyhastighetskonverterne, er begge Zmod-ene ikke bare godt egnet for instrumentering og måling, men også for bruk som høyhastighetskontroll og programvaredefinert radio (SDR).

Programvarestøtte for Linux og bart metall

Figur 5: Zmod-er er SYZYGY-kompatible ekspansjonsmodeller; en høyhastighets I/O-ekspansjonsstandard til FPGA-kort som er ment å eliminere gapet mellom Pmod-standarden og FMC.

Zmod ADC 1440 og Zmod DAC 1411 er ledsaget av lavnivåkontrollere som kjører den programmerbare logikken til Zynq-7020. Disse IP (Intellectual Property)-blokkene konfigurerer konverterne og utfører kalibreringsoppgaver basert på koeffisienter som er angitt av brukeren eller IP-blokkene på øverste nivå. For ADC-en demultiplekserer kontrolleren dataene som mottas fra parallellgrensesnittet til AD9468 ADC og videresender dem til brukerlogikken. For DAC-en multiplekserer den de to inngangskanalene fra brukerlogikken til en enkel DDR (double-data-rate)-kanal etter behov fra AD9717 DAC.

Lavnivåkontrollerne er tiltenkt bruk som frittstående IP-blokker i prosjekter som ikke krever interaksjon med behandlingssystemet. Hvis en slik interaksjon er nødvendig, kan kontrollerne brukes sammen med Digilent Zmod ADC1410 (DAC1411) AXI Adapter IP som gir forbindelse med programvaren som kjøres på Arm Cortex-A9-prosessoren med dobbeltkjerne.

 

Figur 6: Programvarestrukturen til Eclypse plattformen.

Følgende tilleggsbiblioteker er tilgjengelige: Zmod Base-biblioteket, som innlemmer felles funksjonalitet for alle Zmod-er og gir tilgang til registre I2C- og DMA-drivere på bart metall (frittstående) og Linux-plattformer, og Zmod-bibliotekene, som innlemmer Zmod-spesifikke funksjoner og definisjoner. Begge bibliotekstypene kjører behandlingssystemet til Zynq-7000.

Med alle disse klargjorte IP-blokkene og programvarebibliotekene, er det enkelt å opprette et test- og målesystem slik som det som er beskrevet for å måle frekvensresponsen og gi ingeniører muligheten til å konsentrere seg om å utvikle deres egen IP, i stedet for å bruke tid på å sette opp testene og programmere lavnivåfunksjonene, noe som sparer både tid og krefter. Et eksempelprosjekt som bare bruker den programmerbare logikken til Zynq er tilgjengelig fra Digilents nettsted, inkludert en trinnvis gjennomgang av program- og maskinvareoppsett og betjening av enheten.

Eclypse-plattformen er tilgjengelig gjennom Distrelec, den autoriserte distributøren i Norge.

Powered by Labrador CMS