Microsemi -LOGO

Microsemi DG0618 Detekce a oprava chyb na zařízeních SmartFusion2 využívajících paměť DDR

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-paměť DDR-PRODUKT-IMAGE

Sídlo společnosti Microsemi
Jedna Enterprise, Aliso Viejo,
CA 92656 USA
V rámci USA: +1 800-713-4113
Mimo USA: +1 949-380-6100
Fax: +1 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Všechna práva vyhrazena. Microsemi a logo Microsemi jsou ochranné známky společnosti Microsemi Corporation. Všechny ostatní ochranné známky a servisní známky jsou majetkem příslušných vlastníků

Microsemi neposkytuje žádnou záruku, prohlášení ani záruku týkající se informací zde obsažených nebo vhodnosti svých produktů a služeb pro jakýkoli konkrétní účel, ani nepřebírá žádnou odpovědnost vyplývající z aplikace nebo použití jakéhokoli produktu nebo okruhu. Zde prodávané produkty a jakékoli další produkty prodávané společností Microsemi byly podrobeny omezenému testování a neměly by být používány ve spojení s kritickým vybavením nebo aplikacemi. Jakékoli výkonnostní specifikace jsou považovány za spolehlivé, ale nejsou ověřeny, a Kupující musí provést a dokončit veškeré výkonnostní a další testování produktů, a to samostatně a společně s jakýmikoli koncovými produkty nebo v nich instalované. Kupující se nebude spoléhat na žádná data a výkonové specifikace nebo parametry poskytnuté společností Microsemi. Je odpovědností kupujícího nezávisle určit vhodnost jakýchkoli produktů a testovat a ověřit je. Informace poskytované společností Microsemi níže jsou poskytovány „tak, jak jsou, kde jsou“ a se všemi chybami a veškerá rizika spojená s těmito informacemi nese výhradně Kupující. Microsemi neuděluje, explicitně ani implicitně, žádné straně žádná patentová práva, licence nebo jakákoli jiná práva duševního vlastnictví, ať už se jedná o takové informace samotné nebo cokoli popsaného v těchto informacích. Informace uvedené v tomto dokumentu jsou majetkem společnosti Microsemi a společnost Microsemi si vyhrazuje právo kdykoli bez upozornění provést jakékoli změny informací v tomto dokumentu nebo jakýchkoli produktů a služeb.

O Microsemi
Microsemi Corporation (Nasdaq: MSCC) nabízí komplexní portfolio polovodičových a systémových řešení pro letectví a obranu, komunikace, datová centra a průmyslové trhy. Produkty zahrnují vysoce výkonné a radiací zesílené analogové integrované obvody se smíšeným signálem, FPGA, SoC a ASIC; produkty pro řízení spotřeby; časovací a synchronizační zařízení a přesná časová řešení, stanovující světový standard pro čas; Zařízení pro zpracování hlasu; RF řešení; diskrétní součásti; podniková úložiště a komunikační řešení, bezpečnostní technologie a škálovatelný anti-tamper produkty; Ethernetová řešení; Integrované obvody Power-over-Ethernet a střední rozpětí; stejně jako možnosti a služby vlastního návrhu. Microsemi má centrálu v Aliso Viejo v Kalifornii a má přibližně 4,800 XNUMX zaměstnanců po celém světě. Více se dozvíte na www.microsemi.com.

Historie revizí

Historie revizí popisuje změny, které byly v dokumentu implementovány. Změny jsou uvedeny podle revizí, počínaje nejnovější publikací.

  • Revize 4.0
    Aktualizován dokument pro vydání softwaru Libero v11.8.
  • Revize 3.0
    Aktualizován dokument pro vydání softwaru Libero v11.7.
  • Revize 2.0
    Aktualizován dokument pro vydání softwaru Libero v11.6.
  • Revize 1.0
    První vydání pro vydání softwaru Libero SoC v11.5.

Detekce a oprava chyb na zařízeních SmartFusion2 využívajících paměť DDR

Zavedení
V prostředí citlivém na jednu událost (SEU) je paměť s náhodným přístupem (RAM) náchylná k přechodným chybám způsobeným těžkými ionty.
Tento dokument popisuje možnosti EDAC SoC FPGA, které se používají v aplikacích s pamětí připojenou přes subsystém mikrokontroléru (MSS) DDR (MDDR).
Ovladače EDAC implementované v zařízeních SmartFusion2 podporují korekci jedné chyby a detekci dvojité chyby (SECDED). Všechny paměti – vylepšená statická paměť s náhodným přístupem (eSRAM), DDR, nízkoenergetická DDR (LPDDR) – v zařízeních SmartFusion2 MSS jsou chráněny systémem SECDED. Synchronní dynamická paměť s náhodným přístupem (SDRAM) DDR může být DDR2, DDR3 nebo LPDDR1 v závislosti na konfiguraci MDDR a možnostech hardwaru ECC.
Subsystém SmartFusion2 MDDR podporuje hustotu paměti až 4 GB. V této ukázce si můžete vybrat libovolné paměťové místo o velikosti 1 GB v adresním prostoru DDR (0xA0000000 až 0xDFFFFFFF).
Když je povoleno SECDED:

  • Operace zápisu vypočítá a přidá 8 bitů kódu SECDED (ke každých 64 bitů dat)
  • Operace čtení čte a kontroluje data oproti uloženému kódu SECDED, aby podporovala 1bitovou opravu chyb a 2bitovou detekci chyb

Následující obrázek popisuje blokové schéma SmartFusion2 EDAC na DDR SDRAM.

Obrázek 1 • Blokový diagram nejvyšší úrovně

Funkce EDAC DDR podporuje následující:

  1.  Mechanismus SECDED
  2. Poskytuje přerušení procesoru ARM Cortex-M3 a FPGA při detekci 1bitové chyby nebo 2bitové chyby
  3. Ukládá počet 1bitových a 2bitových chyb v registrech čítače chyb
  4. Ukládá adresu posledního 1bitového nebo 2bitového místa v paměti ovlivněného chybou
  5. Ukládá 1bitová nebo 2bitová chybová data do registrů SECDED
  6. poskytuje signály chybové sběrnice do struktury FPGA

Další informace o EDAC naleznete v UG0443: SmartFusion2 a IGLOO2 FPGA Security and Reliability User Guide a UG0446: SmartFusion2 and IGLOO2 FPGA High-Speed ​​DDR Interfaces User Guide.

Požadavky na design
V následující tabulce jsou uvedeny požadavky na design.

Tabulka 1 • Požadavky na design

  • Popis požadavků na design
  • Hardwarové požadavky
  • Deska SmartFusion2 Advanced Development Kit Rev B nebo novější
  • Programátor FlashPro5 nebo novější
  • USB kabel USB A na mini-B
  • Napájecí adaptér 12 V
  • Dceřiná deska DDR3
  • Operační systém Jakýkoli 64bitový nebo 32bitový systém Windows XP SP2
  • Jakýkoli 64bitový nebo 32bitový systém Windows 7
  • Softwarové požadavky
  • Libero® System-on-Chip (SoC) v11.8
  • SoftConsole v4.0
  • Programovací software FlashPro v11.8
  • Ovladače hostitelského počítače Ovladače USB na UART
  • Framework pro spuštění ukázkového klienta Microsoft .NET Framework 4

Demo design
Demo design files jsou k dispozici ke stažení z následující cesty v Microsemi webmísto: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demo design files zahrnují:

  • Konfigurace DDR File
  • DDR_EDAC
  • Programování files
  • Spustitelný GUI
  • Readme file

Následující obrázek popisuje strukturu nejvyšší úrovně návrhu files. Další podrobnosti naleznete v souboru readme.txt file.

Obrázek 2 • Struktura ukázkového návrhu nejvyšší úrovně

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-2

Implementace demo designu
Subsystém MDDR má vyhrazený řadič EDAC. EDAC detekuje 1bitovou nebo 2bitovou chybu při čtení dat z paměti. Pokud EDAC detekuje 1bitovou chybu, řadič EDAC opraví chybový bit. Pokud je EDAC povoleno pro všechny 1bitové a 2bitové chyby, odpovídající čítače chyb v systémových registrech jsou inkrementovány a jsou generována odpovídající přerušení a signály chybové sběrnice do struktury FPGA.
To se děje v reálném čase. Pro demonstraci této funkce SECDED je chyba zavedena ručně a pozorována detekce a oprava.
Tento demo návrh zahrnuje implementaci následujících kroků:

  1. Povolit EDAC
  2. Zápis dat do DDR
  3. Čtení dat z DDR
  4. Zakázat EDAC
  5. Poškozený 1 nebo 2 bity
  6. Zápis dat do DDR
  7. Povolit EDAC
  8. Přečtěte si data
  9. V případě 1bitové chyby ovladač EDAC chybu opraví, aktualizuje odpovídající stavové registry a poskytne data zapsaná v kroku 2 při operaci čtení provedené v kroku 8.
  10. V případě 2bitové chyby se vygeneruje odpovídající přerušení a aplikace musí opravit data nebo provést příslušnou akci v obsluze přerušení. Tyto dvě metody jsou demonstrovány v této ukázce.

V tomto demu jsou implementovány dva testy: test smyčky a ruční test a jsou použitelné pro 1bitové i 2bitové chyby.

Test smyčky
Test smyčky se provede, když zařízení SmartFusion2 přijmou příkaz smyčky z grafického uživatelského rozhraní. Zpočátku jsou všechny čítače chyb a registry související s EDAC uvedeny do stavu RESET.
Pro každou iteraci se provádějí následující kroky.

  1. Povolte ovladač EDAC
  2. Zapište data do konkrétního umístění paměti DDR
  3. Deaktivujte ovladač EDAC
  4. Zapište 1bitová nebo 2bitová data způsobená chybou do stejného umístění paměti DDR
  5. Povolte ovladač EDAC
  6. Načtěte data ze stejného umístění paměti DDR
  7. Odešlete 1bitovou nebo 2bitovou detekci chyb a 1bitová data opravy chyb v případě 1bitové chyby do GUI

Manuální test
Tato metoda umožňuje ruční testování 1bitové detekce a opravy chyb a 2bitové detekce chyb pro adresu paměti DDR (0xA0000000 až 0xDFFFFFFF) s inicializací. 1bitová/2bitová chyba je zavedena ručně na vybranou adresu paměti DDR. Daná data se zapisují na zvolené místo v paměti DDR se zapnutým EDAC. Poškozená 1bitová nebo 2bitová chybová data jsou poté zapsána do stejného paměťového místa s deaktivovaným EDAC. Informace o zjištěné 1bitové nebo 2bitové chybě se zaprotokolují, když jsou data načtena ze stejného paměťového místa se zapnutým EDAC. Vysoce výkonný řadič DMA
(HPDMA) se používá ke čtení dat z paměti DDR. Obslužný program přerušení zjišťování dvoubitových chyb je implementován tak, aby při zjištění 2bitové chyby provedl příslušnou akci.
Následující obrázek popisuje ukázkové operace EDAC.

Obrázek 3 • Návrhový tok

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-3

Poznámka: V případě 2bitové chyby, když procesor Cortex-M3 čte data, spuštění kódu přejde do hardwarové obsluhy chyb, protože přijaté přerušení je na odpověď procesoru pozdě. V době, kdy zareaguje na přerušení, může již předat data a omylem spustit příkaz. V důsledku toho HRESP přestane zpracovávat nesprávná data. 2bitová detekce chyb využívá HPDMA ke čtení dat z umístění adresy DDR, což dává procesoru pokyn, že při čtení dat došlo k 2bitové chybě, a systém by měl podniknout příslušné kroky k obnově (obslužný program přerušení ECC).

Nastavení demo designu
Tato část popisuje nastavení desky SmartFusion2 Advanced Development Kit, možnosti grafického uživatelského rozhraní a způsob provedení demo návrhu.
Následující kroky popisují, jak nastavit demo:

  1. Připojte jeden konec USB mini-B kabelu ke konektoru J33 na desce SmartFusion2 Advanced Development Kit. Připojte druhý konec kabelu USB k hostitelskému počítači. Světelná dioda (LED) DS27 se musí rozsvítit, což znamená, že bylo navázáno spojení UART. Ujistěte se, že jsou automaticky detekovány ovladače můstku USB na UART (lze ověřit ve Správci zařízení), jak je znázorněno na následujícím obrázku.
    Obrázek 4 • Ovladače USB to UART Bridge
    Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-4
    Pokud nejsou nainstalovány ovladače USB to UART bridge, stáhněte a nainstalujte ovladače z: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Připojte propojky na desce SmartFusion2 Advanced Development Kit, jak ukazuje Tabulka 4, strana 11. Při zapojování propojek musí být vypínač napájení SW7 vypnutý.

Obrázek 5 • Nastavení desky sady SmartFusion2 Advanced Development Kit

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-5

 Grafické uživatelské rozhraní
Tato část popisuje ukázkové GUI DDR – EDAC.

Obrázek 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-6

GUI podporuje následující funkce:

  1. Výběr COM portu a přenosové rychlosti
  2. Výběr karty 1bitové opravy chyb nebo 2bitové detekce chyb
  3. Pole adresy pro zápis nebo čtení dat na nebo ze zadané adresy DDR
  4. Datové pole pro zápis nebo čtení dat na nebo ze zadané adresy DDR
  5. Sekce Serial Console pro tisk informací o stavu přijatých z aplikace
  6. Enable EDAC/Disable EDAC: Povolí nebo zakáže EDAC
  7. Zápis: Umožňuje zápis dat na zadanou adresu
  8.  Číst: Umožňuje čtení dat ze zadané adresy
  9. Test smyčky ON/OFF: Umožňuje testování mechanismu EDAC metodou smyčky
  10.  Inicializovat: Umožňuje inicializovat předdefinované paměťové místo (v této ukázce A0000000-A000CFFF)

Spuštění ukázkového návrhu
Následující kroky popisují, jak spustit návrh: Následující kroky popisují, jak spustit návrh:

  1. Zapněte vypínač napájení SW7.
  2. Naprogramujte zařízení SmarFusion2 pomocí programování file uvedeno v návrhu files.(\ProgramováníFile\EDAC_DDR3.stp) pomocí návrhového softwaru FlashPro, jak je znázorněno na následujícím obrázku.
    Obrázek 7 • Okno programování FlashPro
    Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-7
  3. Po úspěšném naprogramování stiskněte spínač SW6 pro reset desky.
  4. Spusťte spustitelný soubor EDAC_DDR Demo GUI file k dispozici v designu files (\GUI Executable\ EDAC_DDR.exe). Zobrazí se okno GUI, jak ukazuje Obrázek 8, strana 9.
  5. Klikněte na Připojit, vybere se COM port a naváže se připojení. Možnost Připojit se změní na Odpojit.
  6. Vyberte kartu 1-bit Error Correction nebo 2-bit Error Detection.
  7. Lze provádět manuální a smyčkové testy.
  8. Kliknutím na Inicializovat inicializujete paměť DDR, abyste mohli provést testy Manual a Loop, na sériové konzoli se zobrazí zpráva o dokončení inicializace, jak ukazuje Obrázek 8, strana 9.

Obrázek 8 • Okno Inicializace dokončena

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-8

Provádění testu smyčky
Klepněte na tlačítko Loop Test ON. Běží v režimu smyčky, kde se provádí průběžná oprava a detekce chyb. Všechny akce provedené v zařízení SmartFusion2 jsou protokolovány v části Sériová konzola v GUI.

Tabulka 2 • Adresy paměti DDR3 použité v testu smyčky

  • Paměť DDR3
  • 1bitová oprava chyb 0xA0008000
  • 2bitová detekce chyb 0xA000C000

Provádění manuálního testu
V této metodě jsou chyby zaváděny ručně pomocí GUI. K provedení 1bitové opravy chyb nebo 2bitové detekce chyb použijte následující kroky.

Tabulka 3 • Adresy paměti DDR3 použité v ručním testu

Zadejte pole Adresa a Data (použijte 32bitové hexadecimální hodnoty).

  • Paměť DDR3
  • 1bitová oprava chyb 0xA0000000-0xA0004000
  • 2bitová detekce chyb 0xA0004000-0xA0008000
  1. Klikněte na Povolit EDAC.
  2. Klikněte na Zapsat.
  3. Klikněte na Zakázat EDAC.
  4. Změňte jeden bit (v případě 1bitové opravy chyby) nebo dva bity (v případě 2bitové detekce chyby) v poli Data (zavedení chyby).
  5. Klikněte na Zapsat.
  6. Klikněte na Povolit EDAC.
  7. Klikněte na Číst.
  8. Sledujte zobrazení počtu chyb a datové pole v GUI. Počet chyb se zvýší o 1.

Okno korekce 1bitové smyčky chyb je znázorněno na následujícím obrázku.

Obrázek 9 • Okno detekce 1bitové smyčky chyb

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-9

Okno 2bitové manuální detekce chyb je znázorněno na následujícím obrázku.

Obrázek 10 • 2bitové okno Manuální detekce chyb

Microsemi -DG0618-Detekce-a-Oprava-chyb-na-SmartFusion2-Zařízení-používající-DDR paměť-10

Závěr
Tato ukázka ukazuje možnosti SmartFusion2 SECDED pro subsystém MDDR.

Příloha: Nastavení propojky

Následující tabulka ukazuje všechny požadované propojky, které je třeba nastavit na SmartFusion2 Advanced Development Kit.

Tabulka 4 • Nastavení propojky SmartFusion2 Advanced Development Kit

Jumper : Pin (Od) : Pin (To) : Komentáře

  • J116, J353, J354, J54 1 2 Toto jsou výchozí nastavení propojek Advanced
  • J123 2 3 Deska vývojové sady. Ujistěte se, že jsou tyto propojky odpovídajícím způsobem nastaveny.
  • J124, J121, J32 1 2 JTAG programování přes FTDI

DG0618 Demo Guide Revize 4.0

Dokumenty / zdroje

Microsemi DG0618 Detekce a oprava chyb na zařízeních SmartFusion2 využívajících paměť DDR [pdfUživatelská příručka
DG0618 Detekce a oprava chyb na zařízeních SmartFusion2 využívajících paměť DDR, DG0618, Detekce a oprava chyb na zařízeních SmartFusion2 využívajících paměť DDR, zařízení SmartFusion2 využívající paměť DDR, paměť DDR

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *