intel MAX 10 FPGA-enheter over UART med Nios II-prosessoren
Produktinformasjon
Referansedesignet gir en enkel applikasjon som implementerer grunnleggende fjernkonfigurasjonsfunksjoner i Nios II-baserte systemer for MAX 10 FPGA-enheter. UART-grensesnittet inkludert i MAX 10 FPGA Development Kit brukes sammen med Altera UART IP-kjerne for å gi funksjonaliteten for ekstern konfigurasjon. MAX10 FPGA-enheter gir muligheten til å lagre opptil to konfigurasjonsbilder som ytterligere forbedrer funksjonen for ekstern systemoppgradering.
Forkortelser
Forkortelse | Beskrivelse |
---|---|
Avalon-MM | Avalon minnetilordnet konfigurasjon Flash-minne |
CFM | Grafisk brukergrensesnitt |
ICB | Initialiseringskonfigurasjonsbit |
MAP/.map | Minnekart File |
Nios II EDS | Støtte for Nios II Embedded Design Suite |
PFL | Parallell Flash Loader IP-kjerne |
POF/.pof | Programmererobjekt File |
QSPI | Quad serielt perifert grensesnitt |
RPD/.rpd | Rå programmeringsdata |
SBT | Verktøy for programvarebygging |
SOF/.sof | SRAM-objekt File |
CART | Universal asynkron mottaker/sender |
UFM | Bruker flash-minne |
Produktbruksinstruksjoner
Forutsetning
Anvendelsen av dette referansedesignet krever at du har det angitte kunnskapsnivået eller erfaringen på følgende områder:
Krav:
Følgende er maskinvare- og programvarekravene for referansedesignet:
Referansedesign Files
File Navn | Beskrivelse |
---|---|
Factory_image | I konfigurasjonsmodus for bilder med to konfigurasjoner, CFM1 og CFM2 kombineres til en enkelt CFM-lagring. |
app_bilde_1 | Quartus II maskinvaredesign file som erstatter app_image_2 under en ekstern systemoppgradering. |
app_bilde_2 | Nios II programvareapplikasjonskode fungerer som kontroller for fjernoppgraderingssystemets design. |
Remote_system_upgrade.c | |
fabrikkapplikasjon1.pof | Quartus II programmering file som består av fabrikkbilde og applikasjonsbilde 1, som skal programmeres til CFM0 og CFM1 & CFM2 henholdsvis på de innledende stage. |
fabrikkapplikasjon1.rpd | |
application_image_1.rpd | |
application_image_2.rpd | |
Nios_application.pof |
Referansedesignet gir en enkel applikasjon som implementerer grunnleggende fjernkonfigurasjonsfunksjoner i Nios II-baserte systemer for MAX 10 FPGA-enheter. UART-grensesnittet inkludert i MAX 10 FPGA Development Kit brukes sammen med Altera UART IP-kjerne for å gi funksjonaliteten for ekstern konfigurasjon.
Referansedesign Files
Ekstern systemoppgradering med MAX 10 FPGA Overview
Med funksjonen for ekstern systemoppgradering kan forbedringer og feilrettinger for FPGA-enheter gjøres eksternt. I et innebygd systemmiljø må fastvaren oppdateres ofte over ulike typer protokoller, for eksempel UART, Ethernet og I2C. Når det innebygde systemet inkluderer en FPGA, kan fastvareoppdateringer inkludere oppdateringer av maskinvarebildet på FPGA.
MAX10 FPGA-enheter gir muligheten til å lagre opptil to konfigurasjonsbilder som ytterligere forbedrer funksjonen for ekstern systemoppgradering. Ett av bildene vil være sikkerhetskopibildet som lastes inn hvis det oppstår en feil i det gjeldende bildet.
Forkortelser
Tabell 1: Liste over forkortelser
Forkortelse Beskrivelse | |
Avalon-MM | Avalon minnekartlagt |
CFM | Konfigurasjon av flash-minne |
GUI | Grafisk brukergrensesnitt |
ICB | Initialiseringskonfigurasjonsbit |
MAP/.map | Minnekart File |
Nios II EDS | Støtte for Nios II Embedded Design Suite |
PFL | Parallell Flash Loader IP-kjerne |
POF/.pof | Programmererobjekt File |
- Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus og Stratix-ord og -logoer er varemerker for Intel Corporation eller dets datterselskaper i USA og/eller andre land. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester.
- Andre navn og merker kan gjøres krav på som andres eiendom.
Forutsetning
Forkortelse
QSPI |
Beskrivelse
Quad serielt perifert grensesnitt |
RPD/.rpd | Rå programmeringsdata |
SBT | Verktøy for programvarebygging |
SOF/.sof | SRAM-objekt File |
UART | Universal asynkron mottaker/sender |
UFM | Bruker flash-minne |
Forutsetning
- Anvendelsen av dette referansedesignet krever at du har det angitte kunnskapsnivået eller erfaringen på følgende områder:
- Arbeidskunnskap om Nios II-systemer og verktøyene for å bygge dem. Disse systemene og verktøyene inkluderer Quartus® II-programvaren, Qsys og Nios II EDS.
- Kjennskap til Intel FPGA-konfigurasjonsmetodologier og -verktøy, slik som intern MAX 10 FPGA-konfigurasjon, ekstern systemoppgraderingsfunksjon og PFL.
Krav
- Følgende er maskinvare- og programvarekravene for referansedesignet:
- MAX 10 FPGA utviklingssett
- Quartus II versjon 15.0 med Nios II EDS
- En datamaskin med en fungerende UART-driver og grensesnitt
- Enhver binær/heksadesimal file redaktør
Referansedesign Files
Tabell 2: Design Files Inkludert i referansedesignet
File Navn
Factory_image |
Beskrivelse
• Quartus II maskinvaredesign file skal lagres i CFM0. • Reservebildet/fabrikkbildet som skal brukes når feilen oppstår i nedlastingen av applikasjonsbildet. |
app_bilde_1 | • Quartus II maskinvaredesign file skal lagres i CFM1 og CFM2.(1)
• Det første applikasjonsbildet lastet inn i enheten. |
- I konfigurasjonsmodus for bilder med to konfigurasjoner, kombineres CFM1 og CFM2 til en enkelt CFM-lagring.
File Navn
app_bilde_2 |
Beskrivelse
Quartus II maskinvaredesign file som erstatter app_image_2 under ekstern systemoppgradering. |
Eksternt_system_oppgradering.c | Nios II programvareapplikasjonskode fungerer som kontrolleren for fjernoppgraderingssystemdesignet. |
Remote Terminal.exe | • Kjørbar file med en GUI.
• Fungerer som terminal for verten for å samhandle med MAX 10 FPGA utviklingssett. • Sender programmeringsdata gjennom UART. • Kildekoden for denne terminalen er inkludert. |
Tabell 3: Mester Files Inkludert i referansedesignet
Du kan bruke disse master files for referansedesignet uten å kompilere designet files.
File Navn
factory_application1.pof factory_application1.rpd |
Beskrivelse
Quartus II programmering file som består av fabrikkbilde og applikasjonsbilde 1, som skal programmeres inn i henholdsvis CFM0 og CFM1 og CFM2 ved første s.tage. |
factory_application2.pof factory_application2.rpd | • Quartus II programmering file som består av fabrikkbilde og applikasjonsbilde 2.
• Applikasjonsbilde 2 vil bli trukket ut senere for å erstatte applikasjonsbilde 1 under ekstern systemoppgradering, kalt application_image_2.rpd nedenfor. |
application_image_1.rpd | Quartus II rå programmeringsdata file som kun inneholder applikasjonsbilde 1. |
application_image_2.rpd | Quartus II rå programmeringsdata file som kun inneholder applikasjonsbilde 2. |
Nios_application.pof | • Programmering file som består av Nios II-prosessorprogramvareapplikasjon .hex file bare.
• Skal programmeres til ekstern QSPI-blits. |
pfl.sof | • Quartus II .sof som inneholder PFL.
• Programmert inn i QSPI flash på MAX 10 FPGA Development kit. |
Referanse Design funksjonell beskrivelse
Nios II Gen2-prosessor
- Nios II Gen2-prosessoren i referansedesignet har følgende funksjoner:
- En bussmaster som håndterer alle grensesnittoperasjoner med Altera On-Chip Flash IP-kjernen inkludert lesing, skriving og sletting.
- Gir en algoritme i programvare for å motta programmeringsbitstrømmen fra en vertsdatamaskin og utløse rekonfigurering gjennom IP-kjernen med dobbel konfigurasjon.
- Du må stille inn tilbakestillingsvektoren til prosessoren tilsvarende. Dette er for å sikre at prosessoren starter opp riktig applikasjonskode fra enten UFM eller ekstern QSPI-flash.
- Note: Hvis Nios II-applikasjonskoden er stor, anbefaler Intel at du lagrer applikasjonskoden i den eksterne QSPI-flashen. I denne referansedesignen peker tilbakestillingsvektoren til den eksterne QSPI-blitsen der Nios II-applikasjonskoden er lagret.
Relatert informasjon
- Nios II Gen2 maskinvareutviklingsveiledning
- Gir mer informasjon om utvikling av Nios II Gen2-prosessor.
Altera On-Chip Flash IP Core
- Altera On-Chip Flash IP-kjernen fungerer som et grensesnitt for Nios II-prosessoren for å gjøre en lese-, skrive- eller sletteoperasjon til CFM og UFM. Altera On-Chip Flash IP-kjernen gir deg tilgang til, slette og oppdatere CFM med en ny konfigurasjonsbitstrøm. Altera On-Chip Flash IP-parametereditoren viser et forhåndsbestemt adresseområde for hver minnesektor.
Relatert informasjon
- Altera On-Chip Flash IP Core
- Gir mer informasjon om Altera On-Chip Flash IP Core.
Altera Dual Configuration IP Core
- Du kan bruke Altera Dual Configuration IP-kjernen for å få tilgang til den eksterne systemoppgraderingsblokken i MAX 10 FPGA-enheter. Altera Dual Configuration IP-kjernen lar deg utløse rekonfigurering når det nye bildet er lastet ned.
Relatert informasjon
- Altera Dual Configuration IP Core
- Gir mer informasjon om Altera Dual Configuration IP Core
Altera UART IP Core
- UART IP-kjernen tillater kommunikasjon av serielle tegnstrømmer mellom et innebygd system i MAX 10 FPGA og en ekstern enhet. Som en Avalon-MM-master kommuniserer Nios II-prosessoren med UART IP-kjernen, som er en Avalon-MM-slave. Denne kommunikasjonen gjøres ved å lese og skrive kontroll- og dataregistre.
- Kjernen implementerer RS-232-protokolltiming og gir følgende funksjoner:
- justerbar overføringshastighet, paritet, stopp og databiter
- valgfrie RTS/CTS strømningskontrollsignaler
Relatert informasjon
- UART kjerne
- Gir mer informasjon om UART Core.
Generisk Quad SPI-kontroller IP-kjerne
- Den generiske Quad SPI Controller IP-kjernen fungerer som et grensesnitt mellom MAX 10 FPGA, den eksterne blitsen og den innebygde QSPI-blitsen. Kjernen gir tilgang til QSPI-flashen gjennom lese-, skrive- og sletteoperasjoner.
Når Nios II-applikasjonen utvides med flere instruksjoner, file størrelsen på sekskanten file generert fra Nios II-applikasjonen vil være større. Utover en viss størrelsesgrense vil UFM ikke ha tilstrekkelig plass til å lagre applikasjonens sekskant file. For å løse dette kan du bruke den eksterne QSPI-blitsen som er tilgjengelig på MAX 10 FPGA Development Kit for å lagre applikasjonens hex file.
Nios II EDS-programvaredesign
- Referansedesignet inkluderer Nios II programvareapplikasjonskode som kontrollerer systemdesignet for ekstern oppgradering. Nios II-programvareapplikasjonskoden svarer til vertsterminalen gjennom UART ved å utføre spesifikke instruksjoner.
Oppdatere applikasjonsbilder eksternt
- Etter at du har overført en programmeringsbitstrøm file ved å bruke Remote Terminal, er Nios II-programvaren designet for å gjøre følgende:
- Sett Altera On-Chip Flash IP-kjernekontrollregisteret til å avbeskytte CFM1- og 2-sektoren.
- Utfør sektorsletteoperasjon på CFM1 og CFM2. Programvaren poller statusregisteret til Altera On-Chip Flash IP-kjernen for å sikre at slettingen er fullført.
- Motta 4 byte med bitstrøm om gangen fra stdin. Standard input og output kan brukes til å motta data direkte fra vertsterminalen og skrive ut på den. Typer standard input og output alternativer kan angis gjennom BSP Editor i Nios II Eclipse Build-verktøyet.
- Reverserer bitrekkefølgen for hver byte.
- Note: På grunn av konfigurasjonen av Altera On-Chip Flash IP Core, må hver byte med data reverseres før den skrives inn i CFM.
- Begynn å skrive 4 byte med data om gangen i CFM1 og CFM2. Denne prosessen fortsetter til slutten av programmeringsbitstrømmen.
- Poller statusregisteret til Altera On-Chip Flash IP for å sikre vellykket skriveoperasjon. Ber en melding for å indikere at overføringen er fullført.
- Note: Hvis skriveoperasjonen mislykkes, vil terminalen stoppe bitstrømsendingsprosessen og generere en feilmelding.
- Setter kontrollregisteret til å beskytte CFM1 og CFM2 på nytt for å forhindre uønsket skriveoperasjon.
Relatert informasjon
- pof generering gjennom konverteringsprogrammering Fileer på
- Gir informasjon om å lage rpd files under konverteringsprogrammering files.
Utløser rekonfigurering eksternt
- Etter at du har valgt utløser rekonfigurasjonsoperasjon i verts-fjernterminalen, vil Nios II-programvaren gjøre følgende:
- Motta kommandoen fra standardinndata.
- Start rekonfigurasjonen med følgende to skriveoperasjoner:
- Skriv 0x03 til offsetadressen til 0x01 i IP-kjernen med dobbel konfigurasjon. Denne operasjonen overskriver den fysiske CONFIG_SEL-pinnen og setter bilde 1 som neste oppstartskonfigurasjonsbilde.
- Skriv 0x01 til offsetadressen til 0x00 i IP-kjernen med dobbel konfigurasjon. Denne operasjonen utløser rekonfigurering til applikasjonsbilde i CFM1 og CFM2
Referanse Design Walkthrough
Generer programmering Files
- Du må generere følgende programmering files før du kan bruke den eksterne systemoppgraderingen på MAX 10 FPGA Development Kit:
For QSPI-programmering:
- myk—bruk pfl.sof inkludert i referansedesignet, eller du kan velge å lage en annen .sof som inneholder ditt eget PFL-design
- pof—konfigurasjon file generert fra en .hex og programmert inn i QSPI-flashen.
- Til ekstern systemoppgradering:
- pof—konfigurasjon file generert fra en .sof og programmert inn i den interne flashen.
- rpd – inneholder dataene for intern flash som inkluderer ICB-innstillinger, CFM0, CFM1 og UFM.
- kart – holder adressen for hver minnesektor for ICB-innstillinger, CFM0, CFM1 og UFM.
Genererer files for QSPI-programmering
For å generere .pof file for QSPI-programmering, utfør følgende trinn:
- Bygg Nios II Project og generer HEX file.
- Note: Se AN730: Nios II-prosessoroppstartsmetoder i MAX 10-enheter for informasjon om bygging av Nios II-prosjekt og generering av HEX file.
- På File menyen klikker du på Konverter programmering Files.
- Under Utgangsprogrammering file, velg Programmer Object File (.pof) i programmeringen file type liste.
- I moduslisten velger du 1-bits passiv seriell.
- I listen Konfigurasjonsenhet velger du CFI_512Mb.
- I File navneboks, spesifiser file navn på programmeringen file du vil lage.
- I Input files for å konvertere listen, fjern raden Alternativer og SOF-data. Klikk på Add Hex Data og en Add Hex Data-dialogboks vises. I boksen Add Hex Data velger du Absolutt adressering og setter inn .hex file generert fra Nios II EDS Build Tools.
- Etter at alle innstillingene er angitt, klikker du på Generer for å generere relatert programmering file.
Relatert informasjon
AN730: Nios II-prosessoroppstartsmetoder i MAX 10 FPGA-enheter
Genererer files for ekstern systemoppgradering
For å generere .pof, .map og .rpd files for ekstern systemoppgradering, utfør følgende trinn:
- Gjenopprett Factory_image, application_image_1 og application_image_2, og kompiler alle tre designene.
- Generer to .pof fileer beskrevet i følgende tabell:
- Note: Se .pof-generering gjennom konverteringsprogrammering Files for trinn for å generere .pof files.
- Note: Se .pof-generering gjennom konverteringsprogrammering Files for trinn for å generere .pof files.
- Åpne app2.rpd med en hvilken som helst hex-editor.
- I hex-editoren velger du den binære datablokken basert på start- og sluttforskyvningen ved å referere til .map file. Start- og sluttforskyvningen for 10M50-enheten er henholdsvis 0x12000 og 0xB9FFF. Kopier denne blokken til en ny file og lagre den i en annen .rpd file. Denne nye .rpd file inneholder kun applikasjonsbilde 2.
pof generering gjennom konverteringsprogrammering Files
For å konvertere .sof files til .pof files, følg disse trinnene:
- På File menyen klikker du på Konverter programmering Files.
- Under Utgangsprogrammering file, velg Programmer Object File (.pof) i programmeringen file type liste.
- I moduslisten velger du Intern konfigurasjon.
- I File navneboks, spesifiser file navn på programmeringen file du vil lage.
- For å generere et minnekart File (.map), slå på Lag minnekart File (Auto generer utgang_file.kart). Kartet inneholder adressen til CFM og UFM med ICB-innstillingen som du angir via alternativet Option/Boot Info.
- For å generere en rå programmeringsdata (.rpd), slå på Opprett konfigurasjonsdata RPD (Generer utdata_file_auto.rpd).
Ved hjelp av Memory Map File, kan du enkelt identifisere dataene for hver funksjonsblokk i .rpd file. Du kan også trekke ut flashdataene for tredjeparts programmeringsverktøy eller oppdatere konfigurasjonen eller brukerdataene gjennom Altera On-Chip Flash IP. - .sof kan legges til via Input files for å konvertere listen og du kan legge til opptil to .sof files.
- For ekstern systemoppgradering kan du beholde de originale side 0-dataene i .pof-filen og erstatte side 1-data med nye .sof file. For å utføre dette må du legge til .pof file på side 0, da
legg til .sof-siden, og legg deretter til den nye .sof file til
- For ekstern systemoppgradering kan du beholde de originale side 0-dataene i .pof-filen og erstatte side 1-data med nye .sof file. For å utføre dette må du legge til .pof file på side 0, da
- Etter at alle innstillingene er angitt, klikker du på Generer for å generere relatert programmering file.
Programmering av QSPI
For å programmere Nios II-applikasjonskoden inn i QSPI-flashen, utfør følgende trinn:
- På MAX 10 FPGA Development Kit bytter du MAX10_BYPASSn til 0 for å omgå innebygd VTAP (MAX II)-enhet.
- Koble Intel FPGA-nedlastingskabelen (tidligere USB Blaster) til JTAG overskrift.
- I programmeringsvinduet klikker du på Maskinvareoppsett og velger USB Blaster.
- I moduslisten velger du JTAG.
- Klikk Autogjenkjenn-knappen i venstre rute.
- Velg enheten som skal programmeres, og klikk på Legg til File.
- Velg pfl.sof.
- Klikk Start for å starte programmeringen.
- Etter at programmeringen er vellykket, uten å slå av brettet, klikker du på Auto Detect-knappen i venstre rute igjen. Du vil se en QSPI_512Mb-blits vises i programmeringsvinduet.
- Velg QSPI-enheten, og klikk på Legg til File.
- Velg .pof file generert tidligere fra .hex file.
- Klikk Start for å begynne å programmere QSPI-flashen.
Programmere FPGA med innledende bilde ved hjelp av JTAG
Du må programmere app1.pof inn i FPGA som enhetens første bilde. For å programmere app1.pof inn i FPGA, utfør følgende trinn:
- I programmeringsvinduet klikker du på Maskinvareoppsett og velger USB Blaster.
- I moduslisten velger du JTAG.
- Klikk Autogjenkjenn-knappen i venstre rute.
- Velg enheten som skal programmeres, og klikk på Legg til File.
- Velg app1.pof.
- Klikk Start for å starte programmeringen.
Oppdaterer bilde og utløser rekonfigurasjon ved hjelp av UART
For å eksternt konfigurere MAX10 FPGA-utviklingssettet, utfør følgende trinn:
- Note: Før du starter, sørg for følgende:
- CONFIG_SEL-pinnen på brettet er satt til 0
- styrets UART-port er koblet til datamaskinen
- Åpne Remote Terminal.exe og Remote Terminal-grensesnittet åpnes.
- Klikk på Innstillinger og vinduet med innstillinger for seriell port vises.
- Still inn parameterne for ekstern terminal slik at de samsvarer med UART-innstillingene valgt i Quartus II UART IP-kjerne. Etter at innstillingen er fullført, klikker du OK.
- Trykk på nCONFIG-knappen på utviklingssettet eller tast inn 1 i Send tekstboksen, og trykk deretter på Enter.
- En liste over operasjonsvalg vil vises på terminalen, som vist nedenfor:
- Note: For å velge en operasjon, tast inn nummeret i tekstboksen Send og trykk Enter.
- En liste over operasjonsvalg vil vises på terminalen, som vist nedenfor:
- For å oppdatere applikasjonsbilde 1 med applikasjonsbilde 2, velg operasjon 2. Du vil bli bedt om å sette inn start- og sluttadressen til CFM1 og CFM2.
- Note: Adressen vist på kartet file inkluderer ICB-innstillinger, CFM og UFM, men Altera On-Chip
- Flash IP har kun tilgang til CFM og UFM. Derfor er det en adresseforskyvning mellom adressen vist på kartet file og Altera On-Chip Flash IP-parametervindu.
- Tast inn adressen basert på adressen spesifisert av Altera On-Chip Flash IP-parametervinduet.
- Sletting starter automatisk etter at du har angitt sluttadressen.
- Sletting starter automatisk etter at du har angitt sluttadressen.
- Etter vellykket sletting vil du bli bedt om å angi programmering .rpd file for applikasjonsbilde 2.
- For å laste opp bildet, klikk SendFile -knappen, og velg deretter .rpd-en som inneholder kun applikasjonsbilde 2 og klikk Åpne.
- Note: Bortsett fra applikasjonsbilde 2, kan du bruke et hvilket som helst nytt bilde du ønsker å oppdatere til enheten.
- Oppdateringsprosessen starter direkte, og du kan overvåke fremdriften gjennom terminalen. Driftsmenyen vil spørre Ferdig, og du kan nå velge neste operasjon.
- For å utløse rekonfigurering, velg operasjon 4. Du kan observere LED-oppførselen som indikerer det forskjellige bildet som er lastet inn i enheten.
Bilde | LED-status (aktiv lav) |
Fabrikkbilde | 01010 |
Applikasjonsbilde 1 | 10101 |
Applikasjonsbilde 2 | 01110 |
Dokumentrevisjonshistorikk
Dato | Versjon | Endringer |
februar 2017 | 2017.02.21 | Rebranded som Intel. |
juni 2015 | 2015.06.15 | Første utgivelse. |
Dokumenter / Ressurser
![]() |
intel MAX 10 FPGA-enheter over UART med Nios II-prosessoren [pdfBrukerhåndbok MAX 10 FPGA-enheter over UART med Nios II-prosessor, MAX 10 FPGA-enheter, Over UART med Nios II-prosessor, Over UART, Nios II-prosessor UART, Nios II, prosessor UART |