intel-LOGO

intel MAX 10 FPGA-enheter över UART med Nios II-processorn

intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processor-PRODUCT

Produktinformation

Referensdesignen ger en enkel applikation som implementerar grundläggande fjärrkonfigurationsfunktioner i Nios II-baserade system för MAX 10 FPGA-enheter. UART-gränssnittet som ingår i MAX 10 FPGA Development Kit används tillsammans med Altera UART IP-kärna för att tillhandahålla fjärrkonfigurationsfunktioner. MAX10 FPGA-enheter ger möjlighet att lagra upp till två konfigurationsbilder som ytterligare förbättrar funktionen för fjärrsystemuppgradering.

Förkortningar

Förkortning Beskrivning
Avalon-MM Avalon minnesmappad konfiguration Flash-minne
CFM Grafiskt användargränssnitt
ICB Initialiseringskonfigurationsbit
MAP/.map Minneskarta File
Nios II EDS Stöd för Nios II Embedded Design Suite
PFL Parallell Flash Loader IP-kärna
POF/.pof Programmeringsobjekt File
QSPI Quad seriellt perifert gränssnitt
RPD/.rpd Rå programmeringsdata
SBT Verktyg för att bygga programvara
SOF/.sof SRAM-objekt File
VAGN Universal asynkron mottagare/sändare
UFM Användarens flashminne

Produktanvändningsinstruktioner

Nödvändig förutsättning

Tillämpningen av denna referensdesign kräver att du har den angivna kunskapsnivån eller erfarenheten inom följande områden:

Krav:

Följande är hård- och mjukvarukraven för referensdesignen:

Referensdesign Files

File Namn Beskrivning
Factory_image I konfigurationsläge för dubbla konfigurationsbilder, CFM1 och CFM2
kombineras till en enda CFM-lagring.
app_bild_1 Quartus II hårdvarudesign file som ersätter app_image_2
under en fjärrsystemuppgradering.
app_bild_2 Nios II programkod fungerar som styrenhet för
fjärruppgraderingssystemets design.
Remote_system_upgrade.c
fabriksapplikation1.pof Quartus II programmering file som består av fabriksbild och
applikationsbild 1, som ska programmeras till CFM0 och CFM1 & CFM2
respektive i början stage.
fabriksapplikation1.rpd
application_image_1.rpd
application_image_2.rpd
Nios_application.pof

Referensdesignen ger en enkel applikation som implementerar grundläggande fjärrkonfigurationsfunktioner i Nios II-baserade system för MAX 10 FPGA-enheter. UART-gränssnittet som ingår i MAX 10 FPGA Development Kit används tillsammans med Altera UART IP-kärna för att tillhandahålla fjärrkonfigurationsfunktioner.

Relaterad information

Referensdesign Files

Fjärrsystemuppgradering med MAX 10 FPGA Overview

Med fjärrsystemuppgraderingsfunktionen kan förbättringar och buggfixar för FPGA-enheter göras på distans. I en inbäddad systemmiljö måste firmware uppdateras ofta över olika typer av protokoll, såsom UART, Ethernet och I2C. När det inbäddade systemet inkluderar en FPGA kan firmwareuppdateringar inkludera uppdateringar av hårdvaruavbildningen på FPGA.
MAX10 FPGA-enheter ger möjlighet att lagra upp till två konfigurationsbilder som ytterligare förbättrar funktionen för fjärrsystemuppgradering. En av bilderna kommer att vara backupbilden som laddas om ett fel uppstår i den aktuella bilden.

Förkortningar

Tabell 1: Lista över förkortningar

Förkortning Beskrivning
Avalon-MM Avalon Memory-Mapped
CFM Konfiguration av flashminne
GUI Grafiskt användargränssnitt
ICB Initialiseringskonfigurationsbit
MAP/.map Minneskarta File
Nios II EDS Stöd för Nios II Embedded Design Suite
PFL Parallell Flash Loader IP-kärna
POF/.pof Programmeringsobjekt File
  • Intel Corporation. Alla rättigheter reserverade. Intel, Intels logotyp, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus och Stratix ord och logotyper är varumärken som tillhör Intel Corporation eller dess dotterbolag i USA och/eller andra länder. Intel garanterar prestanda för sina FPGA- och halvledarprodukter enligt gällande specifikationer i enlighet med Intels standardgaranti, men förbehåller sig rätten att göra ändringar i alla produkter och tjänster när som helst utan föregående meddelande. Intel tar inget ansvar eller ansvar som uppstår till följd av applikationen eller användningen av någon information, produkt eller tjänst som beskrivs här, förutom vad som uttryckligen har godkänts skriftligen av Intel. Intel-kunder rekommenderas att skaffa den senaste versionen av enhetsspecifikationerna innan de förlitar sig på någon publicerad information och innan de beställer produkter eller tjänster.
  • Andra namn och varumärken kan göras anspråk på att vara andras egendom.

Nödvändig förutsättning

Förkortning

QSPI

Beskrivning

Quad seriellt perifert gränssnitt

RPD/.rpd Rå programmeringsdata
SBT Verktyg för att bygga programvara
SOF/.sof SRAM-objekt File
UART Universal asynkron mottagare/sändare
UFM Användarens flashminne

Nödvändig förutsättning

  • Tillämpningen av denna referensdesign kräver att du har den angivna kunskapsnivån eller erfarenheten inom följande områden:
  • Kunskap om Nios II-system och verktygen för att bygga dem. Dessa system och verktyg inkluderar programvaran Quartus® II, Qsys och Nios II EDS.
  • Kunskap om Intel FPGA-konfigurationsmetoder och verktyg, såsom MAX 10 FPGA intern konfiguration, fjärrsystemuppgraderingsfunktion och PFL.

Krav

  • Följande är hård- och mjukvarukraven för referensdesignen:
  • MAX 10 FPGA utvecklingssats
  • Quartus II version 15.0 med Nios II EDS
  • En dator med en fungerande UART-drivrutin och gränssnitt
  • Alla binära/hexadecimala file redaktör

Referensdesign Files

Tabell 2: Design Files Ingår i referensdesignen

File Namn

Factory_image

Beskrivning

• Quartus II hårdvarudesign file ska lagras i CFM0.

• Reservbilden/fabriksbilden som ska användas när felet inträffar i nedladdningen av applikationsbilden.

app_bild_1 • Quartus II hårdvarudesign file ska lagras i CFM1 och CFM2.(1)

• Den ursprungliga applikationsbilden som laddades in i enheten.

  1. I konfigurationsläget för dubbelkonfigurationsbilder kombineras CFM1 och CFM2 till en enda CFM-lagring.
File Namn

app_bild_2

Beskrivning

Quartus II hårdvarudesign file som ersätter app_image_2 under fjärrsystemuppgradering.

Uppgradering av fjärrsystem.c Nios II programvaruapplikationskod fungerar som styrenhet för fjärruppgraderingssystemets design.
Remote Terminal.exe • Körbar file med ett GUI.

• Fungerar som terminal för värden att interagera med MAX 10 FPGA-utvecklingskit.

• Skickar programmeringsdata via UART.

• Källkod för denna terminal ingår.

Tabell 3: Mästare Files Ingår i referensdesignen

Du kan använda dessa master files för referensdesignen utan att sammanställa designen files.

File Namn

 

fabriksapplikation1.pof fabriksapplikation1.rpd

Beskrivning

Quartus II programmering file som består av fabriksbild och applikationsbild 1, som ska programmeras in i CFM0 respektive CFM1 & CFM2 i börjantage.

fabriksapplikation2.pof fabriksapplikation2.rpd • Quartus II programmering file som består av fabriksbild och applikationsbild 2.

• Applikationsbild 2 kommer att extraheras senare för att ersätta applikationsbild 1 under fjärrsystemuppgraderingen, nedan kallad application_ image_2.rpd.

application_image_1.rpd Quartus II rå programmeringsdata file som endast innehåller applikationsbild 1.
application_image_2.rpd Quartus II rå programmeringsdata file som endast innehåller applikationsbild 2.
Nios_application.pof • Programmering file som består av Nios II-processorprogramvaran .hex file endast.

• Ska programmeras till extern QSPI-blixt.

pfl.sof • Quartus II .sof innehållande PFL.

• Programmerad i QSPI-blixt på MAX 10 FPGA Development Kit.

Referens Design Funktionsbeskrivningintel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-1

Nios II Gen2-processor

  • Nios II Gen2-processorn i referensdesignen har följande funktioner:
  • En bussmaster som hanterar alla gränssnittsoperationer med Altera On-Chip Flash IP-kärna inklusive läsning, skrivning och radering.
  • Tillhandahåller en algoritm i programvaran för att ta emot programmeringsbitströmmen från en värddator och utlösa omkonfigurering genom Dual Configuration IP-kärnan.
  • Du måste ställa in processorns återställningsvektor i enlighet med detta. Detta för att säkerställa att processorn startar upp rätt applikationskod från antingen UFM eller extern QSPI-flash.
  • Notera: Om Nios II-applikationskoden är stor rekommenderar Intel att du lagrar applikationskoden i den externa QSPI-blixten. I denna referensdesign pekar återställningsvektorn på den externa QSPI-blixten där Nios II-applikationskoden lagras.

Relaterad information

  • Nios II Gen2 Hårdvaruutveckling handledning
  • Ger mer information om att utveckla Nios II Gen2-processor.

Altera On-Chip Flash IP Core

  • Altera On-Chip Flash IP-kärnan fungerar som ett gränssnitt för Nios II-processorn för att göra en läs-, skriv- eller raderingsoperation till CFM och UFM. Altera On-Chip Flash IP-kärnan ger dig tillgång till, radera och uppdatera CFM med en ny konfigurationsbitström. Altera On-Chip Flash IP-parameterredigerare visar ett förutbestämt adressområde för varje minnessektor.

Relaterad information

  • Altera On-Chip Flash IP Core
  • Ger mer information om Altera On-Chip Flash IP Core.

Altera Dual Configuration IP Core

  • Du kan använda Altera Dual Configuration IP-kärnan för att komma åt fjärrsystemuppgraderingsblocket i MAX 10 FPGA-enheter. Altera Dual Configuration IP-kärna låter dig utlösa omkonfigurering när den nya bilden har laddats ner.

Relaterad information

  • Altera Dual Configuration IP Core
  • Ger mer information om Altera Dual Configuration IP Core

Altera UART IP Core

  • UART IP-kärnan tillåter kommunikation av seriella teckenströmmar mellan ett inbäddat system i MAX 10 FPGA och en extern enhet. Som en Avalon-MM-master kommunicerar Nios II-processorn med UART IP-kärnan, som är en Avalon-MM-slav. Denna kommunikation sker genom att läsa och skriva kontroll- och dataregister.
  • Kärnan implementerar RS-232-protokollets timing och tillhandahåller följande funktioner:
  • justerbar överföringshastighet, paritet, stopp och databitar
  • valfria RTS/CTS flödeskontrollsignaler

Relaterad information

  • UART kärna
  • Ger mer information om UART Core.

Generisk Quad SPI Controller IP Core

  • Den generiska Quad SPI Controller IP-kärnan fungerar som ett gränssnitt mellan MAX 10 FPGA, den externa blixten och den inbyggda QSPI-blixten. Kärnan ger tillgång till QSPI-blixten genom läs-, skriv- och raderingsoperationer.
    När Nios II-applikationen expanderar med fler instruktioner, file storleken på sexkanten file genereras från Nios II-applikationen blir större. Utöver en viss storleksgräns kommer UFM inte att ha tillräckligt med utrymme för att lagra applikationens hex file. För att lösa detta kan du använda den externa QSPI-blixten som finns på MAX 10 FPGA Development Kit för att lagra applikationens hex file.

Nios II EDS Software Application Design

  • Referensdesignen inkluderar programkod från Nios II som styr fjärruppgraderingssystemets design. Nios II-programkoden svarar till värdterminalen genom UART genom att exekvera specifika instruktioner.

Uppdatera applikationsbilder på distans

  • Efter att du har sänt en programmeringsbitström file med hjälp av fjärrterminalen är Nios II-programvaran utformad för att göra följande:
  1. Ställ in Altera On-Chip Flash IP-kärnkontrollregistret för att avskydda CFM1- och 2-sektorn.
  2. Utför sektorraderingsoperation på CFM1 och CFM2. Programvaran kontrollerar statusregistret för Altera On-Chip Flash IP-kärnan för att säkerställa att raderingen har slutförts.
  3. Ta emot 4 byte bitström åt gången från stdin. Standardinmatning och -utgång kan användas för att ta emot data direkt från värdterminalen och skriva ut på den. Typer av standardinmatnings- och utmatningsalternativ kan ställas in via BSP Editor i Nios II Eclipse Build-verktyget.
  4. Vänder om bitordningen för varje byte.
    • Notera: På grund av konfigurationen av Altera On-Chip Flash IP Core måste varje byte med data vändas innan den skrivs in i CFM.
  5. Börja skriva 4 byte data åt gången i CFM1 och CFM2. Denna process fortsätter till slutet av programmeringsbitströmmen.
  6. Frågar statusregistret för Altera On-Chip Flash IP för att säkerställa framgångsrik skrivoperation. Får ett meddelande för att indikera att överföringen är klar.
    • Notera: Om skrivoperationen misslyckas kommer terminalen att stoppa bitströmssändningsprocessen och generera ett felmeddelande.
  7. Ställer in kontrollregistret för att återskydda CFM1 och CFM2 för att förhindra oönskad skrivoperation.

Relaterad information

  • pof Generering genom Konverteringsprogrammering Fileär på
  • Ger information om att skapa rpd files under konverteringsprogrammering files.

Utlöser omkonfiguration på distans

  • När du har valt utlösa omkonfigureringsoperation i värdfjärrterminalen kommer Nios II-programvaran att göra följande:
  1. Ta emot kommandot från standardinmatning.
  2. Starta omkonfigurationen med följande två skrivoperationer:
  • Skriv 0x03 till offsetadressen 0x01 i Dual Configuration IP-kärnan. Denna operation skriver över det fysiska CONFIG_SEL-stiftet och ställer in bild 1 som nästa startkonfigurationsbild.
  • Skriv 0x01 till offsetadressen 0x00 i Dual Configuration IP-kärnan. Denna operation utlöser omkonfigurering till applikationsbild i CFM1 och CFM2

Referensdesign genomgångintel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-2

Generera programmering Files

  • Du måste generera följande programmering files innan du kan använda fjärrsystemuppgraderingen på MAX 10 FPGA Development Kit:

För QSPI-programmering:

  • mjuk—användning pfl.sof som ingår i referensdesignen eller så kan du välja att skapa en annan .sof som innehåller din egen PFL-design
  • pof—konfiguration file genereras från en .hex och programmeras in i QSPI-blixten.
  • För fjärrsystemuppgradering:
  • pof—konfiguration file genereras från en .sof och programmeras in i den interna blixten.
  • rpd—innehåller data för intern blixt som inkluderar ICB-inställningar, CFM0, CFM1 och UFM.
  • karta—håller adressen för varje minnessektor för ICB-inställningar, CFM0, CFM1 och UFM.

Alstrande files för QSPI-programmering

För att generera .pof file för QSPI-programmering, utför följande steg:

  1. Bygg Nios II Project och generera HEX file.
    • Notera: Se AN730: Nios II-processoruppstartsmetoder i MAX 10-enheter för information om att bygga Nios II-projekt och generera HEX file.
  2. På File menyn klickar du på Konvertera programmering Files.
  3. Under Utgångsprogrammering file, välj Programmeringsobjekt File (.pof) i programmeringen file typlista.
  4. Välj 1-bitars passiv serie i listan Läge.
  5. I listan Konfigurationsenheter väljer du CFI_512Mb.
  6. I den File namnrutan, ange file namn på programmeringen file du vill skapa.
  7. I Ingången files för att konvertera listan, ta bort raden Alternativ och SOF-data. Klicka på Lägg till hexadecimal data så visas dialogrutan Lägg till hexadecimal data. I rutan Lägg till hexadecimala data väljer du Absolut adressering och infogar .hex file genererad från Nios II EDS Build Tools.
  8. När alla inställningar har gjorts klickar du på Generera för att generera relaterad programmering file.

Relaterad information

AN730: Nios II-processoruppstartsmetoder i MAX 10 FPGA-enheter
Alstrande files för fjärrsystemuppgradering

För att generera .pof, .map och .rpd fileFör fjärrsystemuppgradering, utför följande steg:

  1. Återställ Factory_image, application_image_1 och application_image_2 och kompilera alla tre designerna.
  2. Generera två .pof filebeskrivs i följande tabell:
    • Notera: Se .pof-generering genom konverteringsprogrammering Files för steg för att generera .pof files.intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-3
  3. Öppna app2.rpd med valfri hex-redigerare.
  4. I hex-editorn väljer du det binära datablocket baserat på start- och slutförskjutningen genom att referera till .map file. Start- och slutförskjutningen för 10M50-enheten är 0x12000 respektive 0xB9FFF. Kopiera detta block till ett nytt file och spara den i en annan .rpd file. Denna nya .rpd file innehåller endast applikationsbild 2.intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-4

pof Generering genom Konverteringsprogrammering Files

För att konvertera .sof files till .pof files, följ dessa steg:

  1. På File menyn klickar du på Konvertera programmering Files.
  2. Under Utgångsprogrammering file, välj Programmeringsobjekt File (.pof) i programmeringen file typlista.
  3. Välj Intern konfiguration i listan Läge.
  4. I den File namnrutan, ange file namn på programmeringen file du vill skapa.
  5. För att skapa en minneskarta File (.map), aktivera Skapa minneskarta File (Auto generera output_file.karta). Kartan innehåller adressen till CFM och UFM med den ICB-inställning som du ställer in via alternativet Option/Boot Info.
  6.  För att generera en rå programmeringsdata (.rpd), aktivera Skapa konfigurationsdata RPD (Generera utdata_file_auto.rpd).
    Med hjälp av Memory Map File, kan du enkelt identifiera data för varje funktionsblock i .rpd file. Du kan också extrahera flashdata för programmeringsverktyg från tredje part eller uppdatera konfigurationen eller användardata via Altera On-Chip Flash IP.
  7. .sof kan läggas till via Input files för att konvertera lista och du kan lägga till upp till två .sof files.
    • För fjärrsystemuppgraderingsändamål kan du behålla den ursprungliga sid 0-datan i .pof och ersätta sid 1-data med nya .sof file. För att utföra detta måste du lägga till .pof file på sidan 0 alltså
      lägg till .sof-sidan och lägg sedan till den nya .sof file till
  8. När alla inställningar har gjorts klickar du på Generera för att generera relaterad programmering file.

Programmering av QSPI

För att programmera Nios II-applikationskoden i QSPI-flashen, utför följande steg:

  1. På MAX 10 FPGA Development Kit, växla MAX10_BYPASSn till 0 för att kringgå inbyggd VTAP (MAX II)-enhet.
  2. Anslut Intel FPGA-nedladdningskabeln (tidigare USB Blaster) till JTAG rubrik.
  3. I programmeringsfönstret klickar du på Hardware Setup och väljer USB Blaster.
  4. I lägeslistan väljer du JTAG.
  5. Klicka på knappen Autoavkänning i den vänstra rutan.
  6. Välj den enhet som ska programmeras och klicka på Lägg till File.
  7. Välj pfl.sof.
  8. Klicka på Start för att börja programmera.
  9. När programmeringen har lyckats, utan att stänga av kortet, klicka på knappen Autoavkänning i den vänstra rutan igen. Du kommer att se en QSPI_512Mb-blixt visas i programmeringsfönstret.
  10. Välj QSPI-enheten och klicka på Lägg till File.
  11. Välj .pof file genererade tidigare från .hex file.
  12. Klicka på Start för att börja programmera QSPI-blixten.

Programmera FPGA med initial bild med JTAG

Du måste programmera app1.pof i FPGA som enhetens initiala bild. Utför följande steg för att programmera app1.pof i FPGA:

  1. I programmeringsfönstret klickar du på Hardware Setup och väljer USB Blaster.
  2. I lägeslistan väljer du JTAG.
  3. Klicka på knappen Autoavkänning i den vänstra rutan.
  4. Välj den enhet som ska programmeras och klicka på Lägg till File.
  5. Välj app1.pof.
  6. Klicka på Start för att börja programmera.

Uppdatera bild och utlösa omkonfiguration med UART

För att fjärrkonfigurera ditt MAX10 FPGA-utvecklingspaket, utför följande steg:

  1. Notera: Innan du börjar, kontrollera följande:
    • CONFIG_SEL-stiftet på kortet är satt till 0
    • ditt korts UART-port är ansluten till din dator
    • Öppna Remote Terminal.exe och gränssnittet för Remote Terminal öppnas.
  2. Klicka på Inställningar och fönstret Inställningar för seriell port visas.
  3. Ställ in parametrarna för fjärrterminalen så att de matchar UART-inställningarna som valts i Quartus II UART IP-kärnan. När inställningen är klar, klicka på OK.intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-5
  4. Tryck på nCONFIG-knappen på utvecklingssatsen eller knappa in 1 i textrutan Skicka och tryck sedan på Enter.
    • En lista över operationsalternativ kommer att visas på terminalen, som visas nedan:intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-6
    • Notera: För att välja en operation, knappa in numret i textrutan Skicka och tryck sedan på Enter.
  5. För att uppdatera applikationsbild 1 med applikationsbild 2, välj operation 2. Du kommer att uppmanas att infoga start- och slutadressen för CFM1 och CFM2.
    • Notera: Adressen som visas på kartan file inkluderar ICB-inställningar, CFM och UFM men Altera On-Chip
    • Flash IP kan endast komma åt CFM och UFM. Därför finns det en adressförskjutning mellan adressen som visas på kartan file och Altera On-Chip Flash IP-parameterfönster.
  6. Knappa in adressen baserat på adressen som anges i Altera On-Chip Flash IP-parameterfönstret.intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-7
    • Radering startar automatiskt när du har angett slutadressen.intel-MAX-10-FPGA-enheter-över-UART-med-Nios-II-processorn-FIG-8
  7. Efter att raderingen lyckats, kommer du att uppmanas att ange programmering .rpd file för applikationsbild 2.
    • För att ladda upp bild, klicka på SkickaFile och välj sedan den .rpd som innehåller endast programbild 2 och klicka på Öppna.
    • Notera: Förutom applikationsbild 2 kan du använda vilken ny bild som helst som du vill uppdatera till enheten.
    • Uppdateringsprocessen startar direkt och du kan övervaka framstegen genom terminalen. Driftmenyn kommer att fråga Klar och du kan nu välja nästa operation.
  8. För att utlösa omkonfigurering, välj operation 4. Du kan observera LED-beteendet som indikerar olika bilder som laddats in i enheten.
Bild LED-status (aktiv låg)
Fabriksbild 01010
Applikationsbild 1 10101
Applikationsbild 2 01110

Revisionshistorik för dokument

Datum Version Ändringar
februari 2017 2017.02.21 Ändrad till Intel.
juni 2015 2015.06.15 Initial release.

Dokument/resurser

intel MAX 10 FPGA-enheter över UART med Nios II-processorn [pdf] Användarhandbok
MAX 10 FPGA-enheter över UART med Nios II-processorn, MAX 10 FPGA-enheter, över UART med Nios II-processorn, Över UART, Nios II-processor UART, Nios II, processor UART

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *