Logo NXPSoftware AN13823 IEC 60730 Classe B per MCU LPC553x
Guida d'usu

Software AN13823 IEC 60730 Classe B per MCU LPC553x

Rev. 0 - 4 Ghjennaghju 2023
Nota di l'applicazione
L'infurmazione di u documentu

infurmazione Cuntinutu
Parole chjave LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Astrattu U scopu principale di sta nota di l'applicazione hè di accelerà u sviluppu di u software di i clienti è i prucessi di certificazione per i prudutti basati in MCU LPC553x.

Introduzione

U standard di sicurezza IEC 60730 definisce i metudi di prova è diagnostichi chì assicuranu u funziunamentu sicuru di hardware è software di cuntrollu integratu per l'apparecchi domestici.
Per ottene a sicurezza funziunale, hè necessariu di sguassà tutti i rischi di periculi chì u malfunzionamentu di u sistema pò causà.
U standard IEC 60730 classifica l'equipaggiu applicabile in trè categorie:

  • Classe A: Ùn hè micca pensatu per esse affidatu per a sicurità di l'equipaggiu
  • Classe B: Per impedisce u funziunamentu micca sicuru di l'equipaggiu cuntrullatu
  • Classe C: Per prevene i periculi speciali

NXP furnisce a libreria di sicurezza IEC 60730 Classe B per aiutà i pruduttori di cuntrolli automatichi in u mercatu di grandi apparecchi à risponde à a regulazione IEC 60730 Classe B. A biblioteca supporta l'IDE IAR, Keil è MCUXpresso.
Pudete integrà u binariu di a biblioteca di sicurezza NXP in u vostru software di applicazione. Per u sviluppu più faciule di l'applicazione IEC60730B, a biblioteca furnisce ancu un exampu prughjettu. Questu example hè distribuitu attraversu u IEC 60730 Standard di sicurezza per l'apparecchi domestici  on nxp.com websitu.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 1U scopu principale di sta nota di l'applicazione hè di accelerà u sviluppu di u software di i clienti è i prucessi di certificazione per i prudutti basati in MCU LPC553x.

Libreria NXP IEC 60730 Classe B sopraview

A libreria di sicurezza include parte dipendente da u core è parte dipendente da periferica autotesti cum'è elencatu quì sottu:

  • Parte dipendente da u core
    - Test di i registri di CPU
    - Test di u cuntatore di u prugramma CPU
    - Test di memoria variabile
    - Test di memoria invariabile
    - Test di stack
  • Parte periferica dipendente
    - Test di u clock
    - Test di input/output digitale
    - Test di input / output analogicu
    - Test di u cane di guardia

Table 1. Conformità cù i normi IEC 60730 Class B

Biblioteca NXP IEC 60730 Classe B IEC 60730
cumpunente Metudu Articuli Applicata
i registri CPU A prucedura di teste di u registru di CPU prova tutti i registri di CPU CM33 per a cundizione di bloccu. 1.1 Registru H.2.16.6
Contatore di prugramma A prucedura di teste di u prugramma CPU teste u registru di u contatore di u prugramma CPU per a cundizione di bloccu. A prova di u registru di u contatore di u prugramma pò esse realizatu una volta dopu à u reset MCU è ancu durante u runtime.
Forza u CPU (flussu di prugramma) per accede à l'indirizzu currispundente chì prova u mudellu per verificà a funziunalità di u prugramma.
1.3 Contatore di prugramma H.2.16.6
Clock A prucedura di prova di u clock teste l'oscillatori di u processatore per a frequenza sbagliata. U principiu di prova di u clock hè basatu annantu à a comparazione di duie fonti di clock indipendenti. Se a rutina di prova detecta un cambiamentu in u rapportu di frequenza trà e fonti di clock, un codice d'errore di fallimentu hè tornatu. 3. Clock NA
Memoria invariabile A prova di memoria invariabile hè di verificà s'ellu ci hè un cambiamentu in u cuntenutu di memoria (on-chip Flash) durante l'esekzione di l'applicazione. Diversi metudi di checksum (per esample, CRC16) pò esse usatu per questu scopu. 4.1
Memoria invariabile
H.2.19.3.1
Test di memoria variabile Verifica a RAM in u chip per difetti DC. I schemi March C è March X sò usati cum'è miccanismi di cuntrollu. 4.2 Memoria variabile H.2.19.6
Digitale
test di input/output
E funzioni di prova DIO sò pensate per verificà a funziunalità di input è output digitale è e cundizioni di cortu circuitu trà u pin testatu è u vol di fornitura.tage, terra, o pin adiacente optional. 7.1 I/O digitale H.2.18.13
Test d'entrée/sortie analogique (I/0). A prova verifica l'interfaccia di input analogica è trè valori di riferimentu: riferimentu altu, riferimentu bassu è bandgap voltage. A prova di input analogicu hè basatu annantu à una cunversione di trè inputs analogichi cun voltage valori è verifica se i valori cunvertiti sò in i limiti specificati. Normalmente, i limiti duveranu esse circa 10% intornu à i valori di riferimentu desiderati. 7.2 I/O analogicu H.2.18.13

Libreria NXP IEC 60730 Classe B exampu prughjettu

Per u sviluppu più faciule di l'applicazione IEC60730B, a biblioteca furnisce un example framework di prughjettu, custruitu nantu à una scheda di valutazione LPC553x dedicata  Accedi à NXP.com | NXP Semiconductors (LPC5536-EVK). Duvete cunfigurà i paràmetri di a libreria curretta per u prughjettu propiu.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 23.1 Integrazione di a biblioteca di sicurezza in l'applicazione di l'utilizatori
A sicurità exampI rutini di u prugettu sò divisi in dui prucessi principali: test di sicurezza pre-run time è test di sicurezza periodicu di runtime.
A figura seguente mostra i prucessi di prova di sicurezza.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 3Per integrà a libreria di sicurezza NXP, fate i seguenti passi:

  1. Scaricate a sicurità exampu prughjettu da nxp.com
  2. Configurazione di hardware in cunsiderà i periferici utilizati per l'autotest di sicurezza
  3. Configurate a libreria di sicurità secondu u disignu hardware propiu
  4. Accende e funzioni di prova di sicurezza una per una in safety_config.h
    • Per debugging, hè megliu turnà a prova di u lampu è u watchdog OFF prima
    • Pigliate a cura di l'interruzioni, cum'è alcune di e teste di sicurezza ùn ponu esse interrupte
  5. Sviluppà u codice di l'applicazione basatu nantu à a sicurità exampu quadru di prughjettu

Biblioteca di sicurezza LPC553x exampu prughjettu in pratica

4.1 Schema di blocchi di hardware
I moduli seguenti sò usati per l'autotest di sicurezza per difettu cum'è mostra in a figura sottu:Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 4Table 2. Modulu MCU per l'autotest di sicurità

Elementu di prova di a biblioteca di sicurità Modulu MCU
Test di CPU LPC5536 CM33 Core
Test di u clock Systick
CTIMER0
Test di u cane da guardia Cane da guardia
CTIMER0
Test di memoria variabile SRAM
Test di memoria invariabile Flash
Test I/O digitale GPIO1
Test I/O analogico ADC0

4.2 Test di CPU
4.2.1 CPU registra a descrizzione di prova
A prucedura di teste di u registru di CPU prova tutti i registri di CPU CM33 per a cundizione di stuckat (eccettu per u registru di u contatore di u prugramma). A prova di u cuntatore di u prugramma hè implementata cum'è una rutina di sicurezza autonoma. Stu gruppu di teste include a prova di i seguenti registri:

  • Registri generali:
    – R0-R12
  • Stack pointer registers:
    - MSP + MSPLIM (sicurezza / micca sicura)
    - PSP + PSPLIM (sicurezza / micca sicura)
  • Registri speciali:
    - APSR
    - CONTROL (sicuru / micca sicuru)
    - PRIMASK (sicuru / micca sicuru)
    - FAULTMASK (sicurezza / micca sicura)
    - BASEPRI (sicuru / micca sicuru)
  • Registrazione di u ligame:
    – LR
  • Registri FPU:
    - FPSCR
    – S0 – S31

Ci hè un inseme di teste chì sò realizati una volta dopu chì u MCU hè resettatu è ancu durante u runtime. Pudete riutilizà i paràmetri predeterminati di a libreria di sicurezza LPC553x example prughjettu, però, vi tocca à attentu à l 'interruzzione cum'è certi di testi registru CPU ùn pò esse interrotta.

  • Pre-run test di sicurezza una volta
    - SafetyCpuAfterResetTest /* L'interruzzione deve esse disattivata per un pezzu */
    – FS_CM33_CPU_Register
    - FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_SPmain_S
    – FS_CM33_CPU_SPmain_Limit_S
    – FS_CM33_CPU_SPprocess_S
    – FS_CM33_CPU_SPprocess_Limit_S
    – FS_CM33_CPU_Primask_S
    – FS_FAIL_CPU_PRIMASK
    - FS_CM33_CPU_Special8PriorityLevels_S
    - FS_CM33_CPU_Control
    – FS_CM33_CPU_Float1
    – FS_CM33_CPU_Float2
  • Test di sicurezza periodicu di runtime
    - SafetyCpuBackgroundTest /* Test di i registri di CPU interruptibili */
    – FS_CM33_CPU_Register
    - FS_CM33_CPU_NonStackedRegister
    - FS_CM33_CPU_Control /* L'interruzzione deve esse disattivata per un pezzu */
    – FS_CM33_CPU_SPprocess_S /* L'interruzzione deve esse disattivata per un pezzu */

4.3 Prughjettu di u prugramma CPU
4.3.1 Descrizzione di u test di u prugramma CPU
A prucedura di teste di u registru di u prugramma CPU teste u registru di u contatore di u prugramma CPU per a cundizione di bloccu. A cuntrariu di l'altri registri di CPU, u contatore di u prugramma ùn pò micca esse cumpletu cù un mudellu di prova. Hè necessariu di furzà u CPU (flussu di prugramma) per accede à l'indirizzu currispundente chì prova u mudellu per verificà a funziunalità di u prugramma.
Nota chì a prova di u cuntatore di u prugramma ùn pò micca esse interrotta.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 5A prova di u registru di u contatore di u prugramma pò esse realizatu una volta dopu chì u MCU hè resettatu è ancu durante u runtime.

  • Pre-run test di sicurezza una volta
    - SafetyPcTest
    – FS_CM33_PC_Test
  • Test di sicurezza periodicu di runtime
    - SafetyIsrFunction> SafetyPcTest
    – FS_CM33_PC_Test

4.4 Test di memoria variabile
4.4.1 Descrizzione di prova di memoria variabile
A prova di memoria variabile per i dispositi supportati verifica a RAM in chip per difetti DC.
L'area di stack di l'applicazione pò ancu esse pruvata. I schemi March C è March X sò usati cum'è miccanismi di cuntrollu.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 6E funzioni di gestione sò diverse per a prova dopu à reset è per a prova di runtime.
A prova dopu à reset hè fatta da a funzione FS_CM33_RAM_AfterReset (). Questa funzione hè chjamata una volta dopu à u resettore, quandu u tempu d'esekzione ùn hè micca criticu. Riserva spaziu di memoria liberu per l'area di salvezza. U paràmetru di dimensione di u bloccu ùn pò esse più grande di a dimensione di l'area di salvezza. A funzione verifica prima l'area di salvezza, dopu principia u ciclu. I blocchi di memoria sò copiati in l'area di salvezza è i so posti sò verificati da a prova rispettiva di marzu. I dati sò copiati in l'area di memoria originale è l'indirizzu attuale cù a dimensione di u bloccu hè aghjurnatu. Questu hè ripetutu finu à chì l'ultimu bloccu di memoria hè pruvatu. Se un difettu DC hè rilevatu, a funzione torna un mudellu di fallimentu.
A prova di runtime hè fatta da a funzione FS_CM33_RAM_Runtime (). Per risparmià tempu, prova solu un segmentu (definitu da RAM_TEST_BLOCK_SIZE) di SRAM à tempu. Mentre a prova dopu à reset verifica tuttu u bloccu di u spaziu RAM di salvezza. In a libreria di sicurezza LPC553x exampu prughjettu, RAM_TEST_BLOCK_SIZE hè cunfiguratu à 0x4, significa chì 32 bytes di RAM seranu pruvati in una rutina di teste di RAM di runtime.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 7

  • Pre-run test di sicurezza una volta
    - SafetyRamAfterResetTest /* Pruvate tuttu u spaziu RAM di a rùbbrica ".safety_ram" prima di eseguisce a rutina principale. */
    - FS_CM33_RAM_AfterReset
  • Test di sicurezza periodicu di runtime
    - SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* eseguita in Systick ISR, ùn pò micca esse interrotta */
    - FS_CM33_RAM_Runtime

4.4.2 Cunfigurazione di prova di memoria variabile
A cunfigurazione di a prova di memoria variabile in :Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 8A cunfigurazione di u bloccu RAM di sicurezza hè in :
definisce u bloccu SAFETY_RAM_BLOCK cù allineamentu = 8
{sezzione .safety_ram};
postu in RAM_region {block SAFETY_RAM_BLOCK};
Nota chì solu u .safety_ram hè cupartu da a prova di memoria variabile. Aghjunghjite e variàbili in a sezione .safety_ram manually, cum'è mostra sottu in main.c.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 94.5 Test di memoria invariabile
4.5.1 Descrizzione di prova di memoria invariabile
A memoria invariabile nantu à u LPC5536 MCU hè u flash on-chip. U principiu di a prova di memoria invariabile hè di verificà s'ellu ci hè un cambiamentu in u cuntenutu di memoria durante l'esekzione di l'applicazione. Diversi metudi di checksum ponu esse aduprati per questu scopu. U checksum hè un algoritmu chì calcula una firma di i dati posti in a memoria pruvata. A firma di stu bloccu di memoria hè poi calculata periodicamente è paragunata cù a firma originale.
A firma per a memoria assignata hè calculata in a fase di ligame di una applicazione. A firma deve esse salvata in a memoria invariabile, ma in una zona diversa da quella per quale hè calculatu u checksum. In runtime è dopu à u resettore, u listessu algoritmu deve esse implementatu in l'applicazione per calculà u checksum. I risultati sò paragunati. S'ellu ùn sò micca uguali, un statu di errore di salvezza si trova.
Quandu hè implementatu dopu à u resettore o quandu ùn ci hè nisuna restrizione à u tempu di esecuzione, a chjama di a funzione pò esse cum'è seguita.
• Pre-run test di salvezza una volta
- SafetyFlashAfterResetTest
- FS_FLASH_C_HW16_K /* calculate CRC di tuttu u Flash */
In u runtime di l'applicazione è cù tempu limitatu per l'esekzione, u CRC hè calculatu in una sequenza. Significa chì i paràmetri di input anu significati diffirenti in paragunà cù a chjama dopu à reset. L'implementazione example hè cusì:
• Test di sicurezza periodica Runtime
- SafetyFlashRuntimeTest
- FS_FLASH_C_HW16_K /* calculate CRC blocu per bloccu */
- SafetyFlashTestHandling /* paragunate CRC quandu tutti i blocchi Flash sò calculati. */
4.5.2 Cunfigurazione di prova di memoria invariabile
In a libreria di sicurezza LPC553x example project, l'attribuzione flash hè mostrata quì sottu cum'è specificata in u Linker file . L'ughjettu files è sò posti in u bloccu flash di sicurità chì hè verificatu da a prova di memoria invariabile. Pudete mette più ughjettu files in SAFETY_FLASH_BLOCK area Flash mudificà u Linker file di conseguenza.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 10Ci hè dui checksums per esse paragunati durante u runtime MCU per verificà se u cuntenutu di u spaziu flash datu hè statu mudificatu:

  • Checksum calculatu da Linker à Compiling / Linking
  • Checksum calculatu da MCU in runtime

A definizione di u locu per mette u risultatu di checksum (pre-calculatu da i strumenti di linker) hè in :
definisce u simbulu __FlashCRC_start__ = 0x0300; /* per mette un checksum */
definisce u simbulu __FlashCRC_end__ = 0x030F; /* per mette un checksum */
definisce a regione CRC_region = mem: [da __FlashCRC_start__ à __FlashCRC_end__];
definisce u bloccu CHECKSUM cù allineamentu = 8 {section. checksum}; postu in CRC_region { block CHECKSUM};
Pigliate IAR IDE, per esempiuample, in u paràmetru di l'opzione di u prughjettu> Custruisce Azioni> Linea di cummanda post-build.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 11Linea di cumanda:
ielftool -fill 0xFF;c_checksumStart-c_checksumEnd+3 -checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 -verbose "$TARGET_PATH$" "$TARGET_PATH$"
U linker calcula u checksum originale di l'indirizzu flash da _checksumStart à c_checksumEnd, poi mette u risultatu di checksum in _checksum, chì hè in u blocu CHECKSUM definitu da u Linker. file.
A definizione di u spaziu flash specificatu per esse verificatu hè in :
definisce u bloccu SAFETY_FLASH_BLOCK cù allineamentu = 8, ordine fissu {readonly section checksum_start_mark, section .text object main.o, section .text object safety_cm33_lpc.o, section .rodata object safety_cm33_lpc.o, readonly section checksum_end_mark };
postu in ROM_region { block SAFETY_FLASH_BLOCK};
4.6 Test di stack
4.6.1 Stack test description
A prova di stack hè una prova supplementaria, micca specificata direttamente in a tabella IEC60730 annex H.
Questa rutina di prova hè aduprata per pruvà e cundizioni di overflow è underflow di a pila di applicazioni. A prova di i difetti appiccicati in l'area di memoria occupata da a pila hè coperta da a prova di memoria variabile. U overflow o underflow di a pila pò accade se a pila hè cuntrullata in modu incorrectu o definendu l'area di stack "troppu bassa" per l'applicazione data.
U principiu di a prova hè di riempia l'area sottu è sopra à a pila cun un mudellu cunnisciutu. Questi spazii devenu esse definiti in a cunfigurazione di ligame file, inseme cù a pila. A funzione d'inizializazione allora riempie questi spazii cù u vostru mudellu. U mudellu deve avè un valore chì ùn appare micca in altrò in l'applicazione. U scopu hè di verificà se u mudellu esatta hè sempre scrittu in questi spazii. S'ellu ùn hè micca, hè un signu di cumpurtamentu di stack incorrect. Se questu accade, u valore di ritornu FAIL da a funzione di prova deve esse processatu cum'è un errore di sicurità.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 12A prova hè fatta dopu à u resettore è durante u runtime di l'applicazione in u listessu modu.

  • Pre-run test di sicurezza una volta
    - SafetyStackTestInit
    - FS_CM33_STACK_Init /* scrive STACK_TEST_PATTERN (0x77777777) à STACK_TEST_BLOCK */
    - SafetyStackTest
    - FS_CM33_STACK_Test /* verificate u cuntenutu di STACK_TEST_BLOCK, falliu se u valore ùn hè micca uguale à STACK_TEST_PATTERN (0x77777777).
  • Test di sicurezza periodicu di runtime
    - SafetyStackTest
    - FS_CM33_STACK_Init /* scrive STACK_TEST_PATTERN (0x77777777) à STACK_TEST_BLOCK */
    - SafetyStackTest
    - FS_CM33_STACK_Test /* verificate u cuntenutu di STACK_TEST_BLOCK, falla se u valore ùn hè micca uguale à STACK_TEST_PATTERN (0x77777777)

4.6.2 Stack test configuration
A cunfigurazione di a prova di stack hè in è u linker file Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 134.7 Test di u clock
4.7.1 Descrizzione di a prova di l'orologio
U principiu di prova di u clock hè basatu annantu à a comparazione di duie fonti di clock indipendenti.
In a libreria di sicurezza LPC553x exampu prughjettu, CTIMER0 è Systick nantu à MCU LPC5536 sò usati cum'è dui orologi indipendenti per a prova di clock di sicurezza, ùn dipendenu micca da a scheda di hardware LPC5536-EVK.
A rutina di prova di u clock hè eseguita solu in a prova di sicurezza periodica di runtime.

  • Pre-run test di sicurezza una volta
    - Nisuna prova di u clock
  • Test di sicurezza periodicu di runtime
    - SafetyClockTestCheck
    - SafetyClockTestIsr

Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 144.7.2 Cunfigurazione di a prova di l'orologio
Cum'è dui orologi indipendenti sò richiesti per a prova di clock in a biblioteca di sicurezza LPC553x exampu prughjettu:

  • U timer SYSTICK hè acquistatu da PLL0 150 M (provendu da u cristallu esternu 16 MHz)
  • U timer CTIMER0 vene da u FRO_96M internu

Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 15

I cunfigurazioni dettagliate di u Systick è CTIMER0 sò mostrati quì sottu:

  • Configurazione di Systick: SystickISR_Freq = 1000 Hz, mettendu 150,000 150 valore di ricaricamentu sottu XNUMX MHz core clock
  • CTIMER config: CTIMER_Freq = 96 MHz, proveniente da 96 MHz FRO_96M clock
  • U contatore CTIMER previstu deve esse CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
  • In ogni Systick interrupt ISR, salvate u valore di u contatore CTIMER
  • In runtime while (1) loop, verificate: (96,000 - 20 %) < CTIMER aspetta contatore < (96,000 + 20 %)

A cunfigurazione di a prova di u clock hè in Safety_config.h.
Sicondu l'applicazione attuale, pudete cambià l'istanza CTIMER per a prova di l'orologio di sicurezza cunfigurà a macro REF_TIMER_USED. Inoltre, duvete cunfigurà REF_TIMER_CLOCK_FREQUENCY secondu a frequenza di u clock attuale. Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 164.8 Test I/O digitale
4.8.1 Descrizzione di test I/O digitale
In a libreria di sicurezza LPC553x exampu prughjettu, GPIO P1_4 è P1_17 nantu à LPC5536-EVK sò scelti per a prova I / O digitale di sicurezza, sti dui pin sò cunnessi à l'intestazione J10 nantu à a scheda LPC553x EVK.
E routine di test I/O digitale sò divise in dui prucessi principali: test di sicurezza pre-run una volta è test di sicurezza periodicu di runtime.

  • Pre-run test di sicurezza una volta
    - SafetyDigitalOutputTest
    - SafetyDigitalInputOutput_ShortSupplyTest
    - SafetyDigitalInputOutput_ShortAdjTest
  • Test di sicurezza periodicu di runtime
    - SafetyDigitalOutputTest
    - SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Cunfigurazione di test I/O digitale
A cunfigurazione di u test I/O digitale hè in safety_test_items.c.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 17L'esecuzione di i testi di I/O digitale deve esse adattatu à l'applicazione finale. Attenti cù e cunnessione hardware è u disignu. Pudete cambià u GPIO per a sicurità
test I/O digitale cunfigurà dio_safety_test_items[] in safety_test_items.c. In a maiò parte di i casi, u pin testatu (è qualchì volta ancu ausiliari) deve esse reconfiguratu durante l'esecuzione di l'applicazione. Hè cunsigliatu di utilizà i pin inutilizati per a prova di I / O digitale.
4.9 Test I/O analogicu
4.9.1 Descrizzione di test I/O analogicu
In a libreria di sicurezza LPC553x exampu prughjettu, P0_16/ADC0IN3B, P0_31/ADC0IN8A, è P0_15/ADC0IN3A nantu à LPC5536-EVK sò scelti per a prova I/O analogica di sicurezza, perchè u modulu ADC in MCU LPC5536 ùn permette micca di cunnette u VREFH, VREFL internamente à l'ADC. input. Hè necessariu per l'utilizatore per cunnette sti signali (per a prova I/O analogica) cù fili volanti cum'è mostratu quì sottu.

  • GND cunnessu à P0_16/ADC0IN3B (J9-5) per a prova ADC VREFL
  • 3.3 V cunnessu à P0_31/ADC0IN8A (J9-31) per a prova ADC VREFH
  • 1.65 V cunnessu à P0_15/ADC0IN3A (J9-1) per a prova di bandgap ADC

I rutini di test I/O analogici sò divisi in dui prucessi principali:

  • Pre-run test di sicurezza una volta
    - Test Analogicu di Sicurezza
  • Test di sicurezza periodicu di runtime
    - Test Analogicu di Sicurezza

4.9.2 Cunfigurazione di test I/O analogicu
L'esecuzione di e teste I/O analogiche deve esse adattata à l'applicazione finale. Attenti cù e cunnessione hardware è u disignu. Pudete cambià i canali ADC per a prova I/O analogica di sicurezza cunfigurà FS_CFG_AIO_CHANNELS_INIT è
FS_CFG_AIO_CHANNELS_SIDE_INIT in safety_config.h.

  • FS_CFG_AIO_CHANNELS_INIT indica u numeru di canali ADC.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT indica u latu di u canali ADC.

Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 18Cum'è mostra in a figura sopra:

  • U primu elementu currisponde à a prova ADC VREFL
  • U secondu elementu currisponde à a prova ADC VREFH
  • U terzu elementu currisponde à a prova ADC Bandgap

Per esample, "3" in FS_CFG_AIO_CHANNELS_INIT è "1" in
FS_CFG_AIO_CHANNELS_SIDE_INIT indica chì ADC0 canale 3 latu B hè sceltu per a prova ADC VREFL.
4.10 Test di u cane di guardia
4.10.1 Descrizzione di a prova di Watchdog
A prova di u cane di guardia ùn hè micca specificatu direttamente in a tabella IEC60730 - allegatu H, però, cumpleta parzialmente i requisiti di sicurezza in cunfurmità cù i standard IEC 60730-1, IEC 60335, UL 60730 è UL 1998.
A prova di watchdog furnisce a prova di a funziunalità di u watchdog timer. A prova hè eseguita solu una volta dopu à u reset. A prova provoca u reset WDOG è paraguna u tempu predeterminatu per u reset WDOG à u tempu reale.Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x - Figura 20In a libreria di sicurezza LPC553x exampu prughjettu, u watchdog hè pruvatu cù i seguenti passi:

  1. Dopu u reset, attivate u watchdog è cessate di rinfriscà apposta per attivà u watchdog reset MCU.
  2. Abilita CTIMER0 per misurà quantu tempu ci vole à u timeout di u watchdog è resetta.
  3. Dopu à u reset di watchdog, cunfirmà chì sta resezzione hè causata da watchdog cuntrollandu PMC->AOREG1 register.
  4. Leghjite CTIMER0 per uttene l'ora esatta di u timeout watchdog è resettate.

Storia di rivisione

U tavulu sottu riassume e revisioni di stu documentu.
Table 3. Storia di rivisione

Numero di rivisione Data Cambiamenti sustantivi
0 4-ghjennaghju-23 Liberazione publica iniziale

L'infurmazione legale

6.1 Definizioni
Draft - Un statutu di draft nantu à un documentu indica chì u cuntenutu hè sempre sottu re internuview è sottumessu à appruvazioni formale, chì pò esse risultatu in mudificazioni o aghjunte. NXP Semiconductors ùn dà alcuna rapprisintazioni o garanzie in quantu à l'accuratezza o a completezza di l'infurmazioni incluse in una versione bozza di un documentu è ùn hà micca responsabilità per e cunsequenze di l'usu di tali informazioni.
6.2 Disclaims
Garanzia limitata è responsabilità - L'infurmazione in stu documentu hè ritenuta precisa è affidabile. Tuttavia, NXP Semiconductors ùn dà alcuna rapprisintazioni o garanzie, espresse o implicite, in quantu à l'accuratezza o a completezza di tali informazioni è ùn anu micca responsabilità per e cunsequenze di l'usu di tali informazioni. NXP Semiconductors ùn assume micca rispunsabilità per u cuntenutu di stu documentu se furnitu da una fonte d'infurmazioni fora di NXP Semiconductors.
In nessun casu, NXP Semiconductors serà rispunsevule per danni indiretti, incidentali, punitivi, speciali o cunsequenziali (cumpresu - senza limitazione prufitti persi, risparmii persi, interruzioni di l'affari, costi ligati à a rimozione o a sostituzione di qualsiasi prudutti o carichi di rilavorazione) micca tali danni sò basati nantu à tort (cumpresa negligenza), garanzia, violazione di cuntrattu o qualsiasi altra teoria legale.
Malgradu qualsiasi dannu chì u cliente puderia incorre per qualsiasi ragione, a responsabilità cumulativa è cumulativa di NXP Semiconductors versu u cliente per i prudutti descritti quì serà limitata in cunfurmità cù i Termini è e cundizioni di vendita cummerciale di NXP Semiconductors.
U dirittu di fà cambiamenti - NXP Semiconductors si riserva u dirittu di fà cambiamenti à l'infurmazioni publicate in stu documentu, cumprese senza limitazione specificazioni è descrizzioni di i prudutti, in ogni mumentu è senza avvisu. Stu documentu rimpiazza è rimpiazza tutte l'infurmazioni furnite prima di a publicazione di questu.
Idoneità à l'usu - I prudutti di NXP Semiconductors ùn sò micca cuncepiti, autorizati o garantiti per esse adattati per l'utilizazione in u supportu di vita, in sistemi o equipaghji critichi per a vita o per a sicurezza, nè in applicazioni induve fallimentu o malfunzionamentu di un pruduttu NXP Semiconductors pò esse ragionevolmente attesa di risultà. ferite persunale, morte o danni gravi à a pruprietà o à l'ambiente. NXP Semiconductors è i so fornitori ùn accettanu alcuna responsabilità per l'inclusione è / o l'usu di i prudutti NXP Semiconductors in tali equipaghji o applicazioni è per quessa, tali inclusioni è / o usu sò à u risicu di u cliente.
Applicazioni - L'applicazioni chì sò descritte quì per qualsiasi di sti prudutti sò solu per scopi illustrativi. NXP Semiconductors ùn face alcuna rappresentanza o garanzia chì tali applicazioni seranu adattate per l'usu specificatu senza più teste o mudificazione. I clienti sò rispunsevuli di u disignu è u funziunamentu di e so applicazioni è prudutti chì utilizanu i prudutti NXP Semiconductors, è NXP Semiconductors ùn accetta micca responsabilità per qualsiasi assistenza cù applicazioni o cuncepimentu di i prudutti di i clienti. Hè a sola rispunsabilità di u cliente per determinà se u pruduttu NXP Semiconductors hè adattatu è adattatu per l'applicazioni di u cliente è i prudutti previsti, è ancu per l'applicazione pianificata è l'usu di i clienti di terzu di u cliente. I clienti duveranu furnisce un disignu adattatu è salvaguardi operativi per minimizzà i risichi
assuciatu cù e so applicazioni è prudutti. NXP Semiconductors ùn accetta alcuna responsabilità in relazione à qualsiasi difettu, dannu, costi o prublema chì hè basatu annantu à qualsiasi debule o predefinitu in l'applicazioni o i prudutti di u cliente, o l'applicazione o l'usu da u cliente (s) terzu di u cliente. U Cliente hè rispunsevuli di fà tutte e teste necessarie per l'applicazioni è i prudutti di u cliente chì utilizanu i prudutti NXP Semiconductors per evità un difettu di l'applicazioni è i prudutti o di l'applicazione o l'utilizazione da i clienti di terze parti di u cliente. NXP ùn accetta alcuna responsabilità in questu rispettu.
Termini è cundizioni di vendita cummerciale - I prudutti di NXP Semiconductors sò venduti sottumessi à i termini è e cundizioni generali di vendita cummerciale, cum'è publicatu à http://www.nxp.com/profile/terms, à moins qu'il n'en soit autrement accordé dans un accord individuel écrit valide. In casu chì un accordu individuale hè cunclusu solu i termini è e cundizioni di l'accordu rispettivu sò applicati. NXP Semiconductors si oppone espressamente à applicà i termini è e cundizioni generali di u cliente in quantu à l'acquistu di i prudutti NXP Semiconductors da u cliente.
U cuntrollu di l'esportazione - Stu ducumentu è ancu l'articulu (s) descritti quì ponu esse sottumessi à e regule di cuntrollu di l'esportazione. L'esportazione pò esse bisognu di una autorizazione previa da l'autorità competenti.
Idoneità per l'usu in i prudutti qualificati micca di l'automobile - A menu chì sta scheda di dati dichjara espressamente chì stu pruduttu specificu NXP Semiconductors hè qualificatu per l'automobile, u pruduttu ùn hè micca adattatu per l'usu di l'automobile. Ùn hè nè qualificatu nè testatu in cunfurmità cù e teste di l'automobile o i requisiti di l'applicazione. NXP Semiconductors ùn accetta alcuna responsabilità per l'inclusione è / o l'usu di prudutti qualificati micca di l'automobile in l'apparecchi o applicazioni di l'automobile.
In l'eventu chì u cliente usa u pruduttu per u disignu è l'usu in l'applicazioni automobilistiche à e specificazioni è i standard di l'automobile, u cliente (a) utilizerà u pruduttu senza a garanzia di u pruduttu di NXP Semiconductors per tali applicazioni, usu è specificazioni automobilistiche, è ( b) ogni volta chì u cliente usa u pruduttu per l'applicazioni automobilistiche al di là di e specificazioni di NXP Semiconductors, tale usu serà solu à u risicu di u cliente, è (c) u cliente indennizza cumplettamente NXP Semiconductors per ogni responsabilità, danni o rivendicazioni di produttu falluti risultanti da u disignu è l'usu di u cliente. u pruduttu per l'applicazioni automobilistiche oltre a garanzia standard di NXP Semiconductors è e specificazioni di produttu di NXP Semiconductors.
Traduzioni - Una versione non-inglese (traduttu) di un documentu, cumprese l'infurmazioni legali in quellu documentu, hè solu per riferimentu. A versione inglese prevalerà in casu di qualsiasi discrepanza trà e versioni tradutte è inglesi.
Sicurezza - U Cliente capisce chì tutti i prudutti NXP ponu esse sughjetti à vulnerabilità micca identificate o ponu sustene standard di sicurezza stabiliti o specificazioni cù limitazioni cunnisciute. U Cliente hè rispunsevule per u disignu è u funziunamentu di e so applicazioni è prudutti in tuttu u so ciclu di vita per riduce l'effettu di queste vulnerabilità nantu à l'applicazioni è i prudutti di u cliente. A rispunsabilità di u Cliente si estende ancu à altre tecnulugia aperte è / o proprietarie supportate da i prudutti NXP per l'usu in l'applicazioni di u cliente. NXP ùn accetta alcuna responsabilità per alcuna vulnerabilità. U Cliente deve cuntrollà regularmente l'aghjurnamenti di sicurezza da NXP è seguite in modu adattatu.
U Cliente selezziunà i prudutti cù caratteristiche di sicurezza chì rispondenu megliu à e regule, regulamenti è normi di l'applicazione prevista è piglià e decisioni finali di cuncepimentu riguardanti i so prudutti è hè solu rispunsevuli di u rispettu di tutti i requisiti legali, regulatori è di sicurità riguardanti i so prudutti, indipendentamente. di qualsiasi informazione o supportu chì pò esse furnitu da NXP.
NXP hà una Squadra di Risposta à Incidenti di Sicurezza di u Produttu (PSIRT) (accessibile à PSIRT@nxp.com) chì gestisce l'inchiesta, i rapporti è a liberazione di suluzione per e vulnerabilità di sicurezza di i prudutti NXP.
6.3 Marchi
Avvisu: Tutti i marchi riferiti, i nomi di i prudutti, i nomi di serviziu, è i marchi sò a pruprietà di i so rispettivi pruprietarii.
NXP - a parolla è u logo sò marchi di NXP BV
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile - sò marchi o marchi registrati di Arm Limited (o di e so filiali) in i Stati Uniti è / o in altrò. A tecnulugia cunnessa pò esse prutetta da qualsiasi o tutti i brevetti, copyright, disinni è secreti cummerciale. Tutti i diritti riservati.
Per piacè esse cuscenti chì avvisi impurtanti riguardanti stu documentu è u pruduttu (s) descritti quì, sò stati inclusi in a sezione "Informazioni legali".

© 2023 NXP BV
Per più infurmazione, visitate: http://www.nxp.com
Tutti i diritti riservati.
Data di liberazione: 4 ghjennaghju 2023
Identificatore di u documentu: AN13823

Documenti / Risorse

Software NXP AN13823 IEC 60730 Classe B per MCU LPC553x [pdfGuida di l'utente
Software AN13823 IEC 60730 Classe B per MCU LPC553x, AN13823, IEC 60730 Software Classe B per MCU LPC553x, AN13823 Software IEC 60730 Classe B

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *