NXP logoAN13823 IEC 60730 Class B softver za LPC553x MCU-ove
Uputstvo za upotrebu

AN13823 IEC 60730 Class B softver za LPC553x MCU-ove

Rev. 0 — 4. januara 2023
Napomena o prijavi
Informacije o dokumentu

Informacije Sadržaj
Ključne riječi LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Abstract Glavna svrha ove napomene o aplikaciji je da ubrza razvoj softvera i procese sertifikacije za proizvode zasnovane na LPC553x MCU-ovima.

Uvod

Sigurnosni standard IEC 60730 definira metode ispitivanja i dijagnostike koje osiguravaju siguran rad ugrađenog upravljačkog hardvera i softvera za kućne aparate.
Da bi se postigla funkcionalna sigurnost, potrebno je ukloniti sve rizike opasnosti koje kvar sistema može uzrokovati.
Standard IEC 60730 klasifikuje primenljivu opremu u tri kategorije:

  • Klasa A: Nije predviđeno da se na nju oslanja za sigurnost opreme
  • Klasa B: Za sprečavanje nebezbednog rada kontrolisane opreme
  • Klasa C: Za sprečavanje posebnih opasnosti

NXP pruža IEC 60730 biblioteku klase B sigurnosti kako bi pomogao proizvođačima automatskih kontrola na tržištu velikih uređaja da ispune IEC 60730 klasu B regulativu. Biblioteka podržava IAR, Keil i MCUXpresso IDE.
Možete integrirati binarnu NXP sigurnosnu biblioteku u svoj aplikativni softver. Za lakši razvoj IEC60730B aplikacije, biblioteka takođe nudi example project. Ovaj example se distribuira preko IEC 60730 Sigurnosni standard za kućne aparate  on nxp.com website.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 1Glavna svrha ove napomene o aplikaciji je da ubrza razvoj softvera i procese sertifikacije za proizvode zasnovane na LPC553x MCU-ovima.

NXP IEC 60730 Class B biblioteka je završenaview

Sigurnosna biblioteka uključuje samotestiranje dijelova zavisnih od jezgre i perifernih dijelova kao što je navedeno u nastavku:

  • Dio ovisan o jezgru
    – Test CPU registara
    – Test brojača CPU programa
    – Test varijabilne memorije
    – Nepromenljivi test memorije
    – Test steka
  • Periferno ovisan dio
    – Test sata
    – Test digitalnog ulaza/izlaza
    – Test analognog ulaza/izlaza
    – Watchdog test

Tabela 1. Usklađenost sa standardima IEC 60730 klase B

NXP IEC 60730 Class B biblioteka IEC 60730
komponenta Metoda Predmeti Primijenjeno
CPU registri Procedura testiranja CPU registra testira sve CM33 CPU registre za stanje zaglavljenog stanja. 1.1 Registracija H.2.16.6
Brojač programa Procedura testiranja brojača CPU programa testira registar brojača CPU programa za stanje zaglavljenog stanja. Test registra programskog brojača može se izvršiti jednom nakon resetovanja MCU-a, kao i tokom vremena rada.
Prisilite CPU (programski tok) da pristupi odgovarajućoj adresi koja testira obrazac kako bi se provjerila funkcionalnost programskog brojača.
1.3 Brojač programa H.2.16.6
Sat Postupak testiranja takta testira oscilatore procesora na pogrešnu frekvenciju. Princip testiranja takta zasniva se na poređenju dva nezavisna izvora takta. Ako testna rutina otkrije promjenu u omjeru frekvencija između izvora takta, vraća se kod greške greške. 3.Sat NA
Nepromenljivo pamćenje Nepromenljivi test memorije je da proveri da li je došlo do promene u memorijskom sadržaju (na čipu Flash) tokom izvršavanja aplikacije. Nekoliko metoda kontrolne sume (nprample, CRC16) može se koristiti za ovu svrhu. 4.1
Nepromenljivo pamćenje
H.2.19.3.1
Test varijabilne memorije Provjerava RAM na čipu za DC greške. Šeme March C i March X se koriste kao kontrolni mehanizmi. 4.2 Varijabilna memorija H.2.19.6
Digital
test ulaza/izlaza
DIO test funkcije su dizajnirane da provjere funkcionalnost digitalnog ulaza i izlaza i stanja kratkog spoja između testiranog pina i napojnog volumenatage, uzemljenje ili opciono susjedni pin. 7.1 Digitalni I/O H.2.18.13
Test analognog ulaza/izlaza (I/0). Test provjerava analogni ulazni interfejs i tri referentne vrijednosti: referentna visoka, referentna niska i bandgap voltage. Test analognog ulaza zasniva se na konverziji tri analogna ulaza sa poznatom zapreminomtage vrijednosti i provjerava da li se konvertovane vrijednosti uklapaju u specificirane granice. Normalno, granice bi trebale biti otprilike 10 % oko željenih referentnih vrijednosti. 7.2 Analogni I/O H.2.18.13

NXP IEC 60730 biblioteka klase B example project

Za lakši razvoj IEC60730B aplikacije, biblioteka nudi exampokvir projekta, izgrađen na namenskoj LPC553x tabli za evaluaciju  Prijavite se na NXP.com | NXP Semiconductors (LPC5536-EVK). Morate konfigurirati ispravne postavke biblioteke za stvarni projekt.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 23.1 Integracija sigurnosne biblioteke u korisničku aplikaciju
Sigurnost exampProjektne rutine su podijeljene u dva glavna procesa: jednokratni sigurnosni test prije pokretanja i periodični sigurnosni test tokom izvođenja.
Sljedeća slika prikazuje procese ispitivanja sigurnosti.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 3Za integraciju NXP sigurnosne biblioteke, izvršite sljedeće korake:

  1. Preuzmite sigurnosni example projekat sa nxp.com
  2. Postavka hardvera s obzirom na periferne uređaje koji se koriste za sigurnosno samotestiranje
  3. Konfigurirajte sigurnosnu biblioteku prema stvarnom dizajnu hardvera
  4. Uključite funkcije sigurnosnog testiranja jednu po jednu u safe_config.h
    • Za otklanjanje grešaka, bolje je prvo ISKLJUČITI flash test i watchdog
    • Vodite računa o prekidima, jer se neki od sigurnosnih testova ne mogu prekinuti
  5. Razvijte kod aplikacije na osnovu sigurnosnog nprample projektni okvir

LPC553x sigurnosna biblioteka example projekat u praksi

4.1 Blok dijagram hardvera
Sljedeći moduli se po defaultu koriste za sigurnosno samotestiranje kao što je prikazano na donjoj slici:NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 4Tabela 2. MCU modul za sigurnosno samotestiranje

Stavka za testiranje biblioteke sigurnosti MCU modul
CPU test LPC5536 CM33 Core
Test sata Systick
CTIMER0
Watchdog test Watchdog
CTIMER0
Test varijabilne memorije SRAM
Test nepromjenjive memorije Flash
Digitalni I/O test GPIO1
Analogni I/O test ADC0

4.2 CPU test
4.2.1 Opis testa CPU registara
Procedura testiranja CPU registra testira sve CM33 CPU registre na stanje zaglavljivanja (osim registra programskog brojača). Test brojača programa implementiran je kao samostalna sigurnosna rutina. Ovaj skup testova uključuje test sljedećih registara:

  • Registri opšte namene:
    – R0-R12
  • Registri pokazivača steka:
    – MSP + MSPLIM (sigurno / nebezbedno)
    – PSP + PSPLIM (sigurno / nebezbedno)
  • Posebni registri:
    – APSR
    – KONTROLA (sigurna / nebezbedna)
    – PRIMASK (sigurno / nebezbedno)
    – MASKA GREŠKE (sigurna / nebezbedna)
    – BASEPRI (sigurno / nebezbedno)
  • Link registracija:
    – LR
  • FPU registri:
    – FPSCR
    – S0 – S31

Postoji skup testova koji se izvode jednom nakon što se MCU resetuje, kao i tokom vremena rada. Možete ponovo koristiti zadane postavke sigurnosne biblioteke LPC553x nprampU projektu, međutim, morate obratiti pažnju na prekid jer se neki testovi CPU registra ne mogu prekinuti.

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyCpuAfterResetTest /* Prekidi moraju biti onemogućeni na neko vrijeme */
    – FS_CM33_CPU_Registar
    – 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
  • Periodični sigurnosni test za vrijeme rada
    – SafetyCpuBackgroundTest /* Test prekinutih CPU registara */
    – FS_CM33_CPU_Registar
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_Control /* Prekidi moraju biti onemogućeni na neko vrijeme */
    – FS_CM33_CPU_SPprocess_S /* Prekidi moraju biti onemogućeni na neko vrijeme */

4.3 Test brojača CPU programa
4.3.1 Opis testa brojača programa CPU
Procedura testiranja registra CPU programskog brojača testira registar brojača CPU programa za stanje zaglavljivanja. Suprotno drugim registrima CPU-a, programski brojač se ne može jednostavno ispuniti testnim uzorkom. Potrebno je prisiliti CPU (programski tok) da pristupi odgovarajućoj adresi koja testira obrazac kako bi se provjerila funkcionalnost programskog brojača.
Imajte na umu da se test brojača programa ne može prekinuti.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 5Test registra programskog brojača može se izvršiti jednom nakon što se MCU resetuje, kao i tokom vremena rada.

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyPcTest
    – FS_CM33_PC_Test
  • Periodični sigurnosni test za vrijeme rada
    – SafetyIsrFunction > SafetyPcTest
    – FS_CM33_PC_Test

4.4 Test varijabilne memorije
4.4.1 Opis testa varijabilne memorije
Test varijabilne memorije za podržane uređaje provjerava RAM na čipu na DC greške.
Područje steka aplikacija također se može testirati. Šeme March C i March X se koriste kao kontrolni mehanizmi.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 6Funkcije rukovanja su različite za test nakon resetiranja i za test vremena rada.
Test nakon resetiranja vrši se funkcijom FS_CM33_RAM_AfterReset (). Ova funkcija se poziva jednom nakon resetiranja, kada vrijeme izvršenja nije kritično. Rezervirajte slobodan memorijski prostor za područje sigurnosne kopije. Parametar veličine bloka ne može biti veći od veličine područja sigurnosne kopije. Funkcija prvo provjerava područje sigurnosne kopije, a zatim počinje petlja. Blokovi memorije se kopiraju u područje sigurnosne kopije i njihove lokacije se provjeravaju odgovarajućim martovskim testom. Podaci se kopiraju natrag u izvornu memorijsku oblast i stvarna adresa s veličinom bloka se ažurira. Ovo se ponavlja sve dok se ne testira posljednji blok memorije. Ako se detektuje DC kvar, funkcija vraća obrazac kvara.
Runtime test se vrši pomoću funkcije FS_CM33_RAM_Runtime (). Da uštedi vrijeme, testira samo jedan segment (definiran sa RAM_TEST_BLOCK_SIZE) SRAM-a na vrijeme. Dok test nakon resetiranja provjerava cijeli blok sigurnosnog RAM prostora. U LPC553x sigurnosnoj biblioteci exampU projektu, RAM_TEST_BLOCK_SIZE je konfigurisan na 0x4, to znači da će 32 bajta RAM-a biti testirano u jednoj runtime RAM test rutini.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 7

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyRamAfterResetTest /* Testirajte ceo RAM prostor sekcije „.safety_ram“ pre pokretanja glavne rutine. */
    – FS_CM33_RAM_AfterReset
  • Periodični sigurnosni test za vrijeme rada
    – SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* se izvršava u Systick ISR, ne može se prekinuti */
    – FS_CM33_RAM_Runtime

4.4.2 Konfiguracija testa varijabilne memorije
Konfiguracija testa varijabilne memorije u :NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 8Konfiguracija sigurnosnog RAM bloka je u :
definiraj blok SAFETY_RAM_BLOCK sa poravnanjem = 8
{section .safety_ram };
mjesto u RAM_regiji {blok SAFETY_RAM_BLOCK};
Imajte na umu da je samo .safety_ram pokriven testom varijabilne memorije. Dodajte varijable u .safety_ram odjeljak ručno, kao što je prikazano ispod u main.c.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 94.5 Test nepromjenjive memorije
4.5.1 Opis nepromjenjivog testa memorije
Nepromenljiva memorija na LPC5536 MCU je blic na čipu. Princip nepromjenjivog memorijskog testa je provjeriti da li je došlo do promjene u sadržaju memorije tokom izvršavanja aplikacije. U tu svrhu se može koristiti nekoliko metoda kontrolne sume. Kontrolna suma je algoritam koji izračunava potpis podataka koji se nalaze u testiranoj memoriji. Potpis ovog memorijskog bloka se zatim periodično izračunava i upoređuje s originalnim potpisom.
Potpis za dodijeljenu memoriju se izračunava u fazi povezivanja aplikacije. Potpis se mora pohraniti u nepromjenjivu memoriju, ali u drugom području od onog za koji se izračunava kontrolna suma. U vremenu izvođenja i nakon resetiranja, isti algoritam mora biti implementiran u aplikaciji za izračunavanje kontrolne sume. Rezultati se upoređuju. Ako nisu jednaki, javlja se stanje sigurnosne greške.
Kada se implementira nakon resetiranja ili kada nema ograničenja u vremenu izvršenja, poziv funkcije može biti sljedeći.
• Izvršite jednokratni sigurnosni test unaprijed
– SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* izračunaj CRC za cijeli Flash */
U vremenu izvođenja aplikacije i sa ograničenim vremenom za izvršenje, CRC se izračunava u nizu. To znači da ulazni parametri imaju različita značenja u poređenju sa pozivom nakon resetovanja. Implementacija prample je kako slijedi:
• Periodični test sigurnosti tokom rada
– SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* izračunaj CRC blok po blok */
– SafetyFlashTestHandling /* uporedi CRC kada se izračunaju svi Flash blokovi. */
4.5.2 Promjenjiva konfiguracija testa memorije
U LPC553x sigurnosnoj biblioteci exampU projektu, alokacija flasha je prikazana ispod kako je navedeno u Linkeru file . Objekt files i se stavljaju u sigurnosni fleš blok koji se provjerava nepromjenjivim testom memorije. Možete staviti više objekata files u SAFETY_FLASH_BLOCK Flash područje modificiranjem Linkera file shodno tome.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 10Postoje dvije kontrolne sume koje treba uporediti tokom MCU runtimea kako bi se provjerilo da li je sadržaj datog flash prostora izmijenjen:

  • Kontrolni zbroj izračunat od strane Linkera na kompajliranju/povezivanju
  • Kontrolni zbroj izračunat od strane MCU-a u vrijeme izvođenja

Definicija lokacije za postavljanje rezultata kontrolne sume (prethodno izračunate od strane alata za povezivanje) je u :
definisati simbol __FlashCRC_start__ = 0x0300; /* za postavljanje kontrolne sume */
definirajte simbol __FlashCRC_end__ = 0x030F; /* za postavljanje kontrolne sume */
definiši region CRC_region = mem: [od __FlashCRC_start__ do __FlashCRC_end__];
definiraj blok CHECKSUM sa poravnanjem = 8 {section. kontrolna suma}; mjesto u CRC_region { block CHECKSUM};
Uzmite IAR IDE, na primjerample, u postavci opcije projekta > Akcije izgradnje > komandna linija nakon izgradnje.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 11Komandna linija:
ielftool –fill 0xFF;c_checksumStart-c_checksumEnd+3 –kontrolna suma __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 – opširno “$TARGET_PATH$” “$TARGET_PATH$”
Linker izračunava originalnu kontrolnu sumu flash adresiranja od _checksumStart do c_checksumEnd, zatim postavlja rezultat kontrolne sume u _checksum, koji se nalazi u bloku CHECKSUM definisan od strane Linkera file.
Definicija navedenog flash prostora koji treba provjeriti je u :
definiše blok SAFETY_FLASH_BLOCK sa poravnanjem = 8, fiksni redosled { samo za čitanje sekcija checksum_start_mark, sekcija .text objekat main.o, sekcija .text objekat safe_cm33_lpc.o, sekcija .rodata objekat safe_cm33_lpc.o, odeljak samo za čitanje checksum_end_mark };
mjesto u ROM_region { blok SAFETY_FLASH_BLOCK};
4.6 Test steka
4.6.1 Opis testa steka
Test steka je dodatni test, koji nije direktno specificiran u tabeli IEC60730 dodatka H.
Ova testna rutina se koristi za testiranje uvjeta prelijevanja i nižeg protoka steka aplikacija. Testiranje zaglavljenih grešaka u memorijskoj oblasti koju zauzima stek je pokriveno testom varijabilne memorije. Do prelijevanja ili nižeg toka steka može doći ako se stek nepravilno kontrolira ili definiranjem “preniskog” područja steka za datu aplikaciju.
Princip testa je da se područje ispod i iznad hrpe popuni poznatim uzorkom. Ove oblasti moraju biti definirane u konfiguraciji povezivača file, zajedno sa stekom. Funkcija inicijalizacije tada ispunjava ova područja vašim uzorkom. Obrazac mora imati vrijednost koja se ne pojavljuje nigdje drugdje u aplikaciji. Svrha je provjeriti da li je tačan obrazac još uvijek napisan u ovim područjima. Ako nije, to je znak neispravnog ponašanja steka. Ako se to dogodi, tada se povratna vrijednost FAIL iz test funkcije mora obraditi kao sigurnosna greška.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 12Test se izvodi nakon resetovanja i tokom rada aplikacije na isti način.

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyStackTestInit
    – FS_CM33_STACK_Init /* upisati STACK_TEST_PATTERN (0x77777777) u STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* provjerava sadržaj STACK_TEST_BLOCK, nije uspjela ako vrijednost nije jednaka STACK_TEST_PATTERN (0x77777777).
  • Periodični sigurnosni test za vrijeme rada
    – SafetyStackTest
    – FS_CM33_STACK_Init /* upisati STACK_TEST_PATTERN (0x77777777) u STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* provjerite sadržaj STACK_TEST_BLOCK, ne uspijeva ako vrijednost nije jednaka STACK_TEST_PATTERN (0x77777777)

4.6.2 Konfiguracija testa steka
Konfiguracija testa steka je u i linker file NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 134.7 Test sata
4.7.1 Opis testa sata
Princip testiranja takta zasniva se na poređenju dva nezavisna izvora takta.
U LPC553x sigurnosnoj biblioteci exampU ovom projektu, CTIMER0 i Systick na MCU LPC5536 se koriste kao dva nezavisna sata za test sigurnosnog sata, ne zavise od hardverske ploče LPC5536-EVK.
Rutina testiranja sata se izvršava samo u periodičnom sigurnosnom testu u toku rada.

  • Prethodno izvršite jednokratni sigurnosni test
    – Nema testa sata
  • Periodični sigurnosni test za vrijeme rada
    – SafetyClockTestCheck
    – SafetyClockTestIsr

NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 144.7.2 Konfiguracija testa sata
Kako su dva nezavisna sata potrebna za testiranje takta u LPC553x sigurnosnoj biblioteci example projekat:

  • SYSTICK tajmer dolazi iz PLL0 150 M (izveden iz vanjskog 16 MHz kristala)
  • CTIMER0 tajmer dolazi iz internog FRO_96M

NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 15

Detaljne konfiguracije Systicka i CTIMER0 prikazane su u nastavku:

  • Systick konfiguracija: SystickISR_Freq = 1000 Hz, postavljanjem vrijednosti ponovnog učitavanja od 150,000 ispod 150 MHz jezgra
  • CTIMER konfiguracija: CTIMER_Freq = 96 MHz, izvor iz 96 MHz FRO_96M takta
  • Očekivani brojač CTIMER bi trebao biti CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
  • U svakom ISR prekida Systick, sačuvajte vrijednost brojača CTIMER
  • U runtime while (1) petlji, provjerite: (96,000 – 20 %) < CTIMER očekujte brojač < (96,000 + 20 %)

Konfiguracija testa sata je u Safety_config.h.
U skladu sa stvarnom aplikacijom, možete promijeniti instancu CTIMER za test sigurnosnog sata tako što ćete konfigurirati REF_TIMER_USED makro. Također, morate konfigurirati REF_TIMER_CLOCK_FREQUENCY prema stvarnoj frekvenciji sata. NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 164.8 Digitalni I/O test
4.8.1 Opis digitalnog I/O testa
U LPC553x sigurnosnoj biblioteci exampU projektu, GPIO P1_4 i P1_17 na LPC5536-EVK su odabrani za sigurnosni digitalni I/O test, ova dva pina su povezana na J10 zaglavlje na LPC553x EVK ploči.
Rutine digitalnog I/O testiranja podijeljene su u dva glavna procesa: jednokratni sigurnosni test prije pokretanja i periodični sigurnosni test za vrijeme rada

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest
    – SafetyDigitalInputOutput_ShortAdjTest
  • Periodični sigurnosni test za vrijeme rada
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Konfiguracija digitalnog I/O testa
Konfiguracija digitalnog I/O testa je u safe_test_items.c.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 17Izvođenje digitalnih I/O testova mora biti prilagođeno konačnoj aplikaciji. Budite pažljivi sa hardverskim vezama i dizajnom. Možete promijeniti GPIO radi sigurnosti
digitalni I/O test konfiguracijom dio_safety_test_items[] u safe_test_items.c. U većini slučajeva, testirani (a ponekad i pomoćni) pin mora biti ponovo konfigurisan tokom pokretanja aplikacije. Preporučuje se korištenje neiskorištenih pinova za digitalni I/O test.
4.9 Analogni I/O test
4.9.1 Opis analognog I/O testa
U LPC553x sigurnosnoj biblioteci exampprojekt, P0_16/ADC0IN3B, P0_31/ADC0IN8A i P0_15/ADC0IN3A na LPC5536-EVK su odabrani za sigurnosni analogni I/O test, jer ADC modul na MCU LPC5536 ne dozvoljava povezivanje VREFH, VREFL interno na A unos. Potrebno je da korisnik poveže ove signale (za analogni I/O test) letećim žicama kao što je prikazano ispod.

  • GND spojen na P0_16/ADC0IN3B (J9-5) za ADC VREFL test
  • 3.3 V spojeno na P0_31/ADC0IN8A (J9-31) za ADC VREFH test
  • 1.65 V spojeno na P0_15/ADC0IN3A (J9-1) za ADC test razmaka

Analogne I/O testne rutine podijeljene su u dva glavna procesa:

  • Prethodno izvršite jednokratni sigurnosni test
    – SafetyAnalogTest
  • Periodični sigurnosni test za vrijeme rada
    – SafetyAnalogTest

4.9.2 Konfiguracija analognog I/O testa
Izvođenje analognih I/O testova mora biti prilagođeno konačnoj aplikaciji. Budite pažljivi sa hardverskim vezama i dizajnom. Možete promijeniti ADC kanale za sigurnosni analogni I/O test konfiguracijom FS_CFG_AIO_CHANNELS_INIT i
FS_CFG_AIO_CHANNELS_SIDE_INIT u safe_config.h.

  • FS_CFG_AIO_CHANNELS_INIT označava broj ADC kanala.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT označava stranu ADC kanala.

NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 18Kao što je prikazano na gornjoj slici:

  • Prvi element odgovara ADC VREFL testu
  • Drugi element odgovara ADC VREFH testu
  • Treći element odgovara ADC Bandgap testu

Za nprample, “3” u FS_CFG_AIO_CHANNELS_INIT i “1” u
FS_CFG_AIO_CHANNELS_SIDE_INIT označava da je ADC0 kanal 3 strana B odabran za ADC VREFL test.
4.10 Watchdog test
4.10.1 Opis testa Watchdog
Watchdog test nije direktno specificiran u tabeli IEC60730 – Aneks H, ali djelimično ispunjava sigurnosne zahtjeve prema standardima IEC 60730-1, IEC 60335, UL 60730 i UL 1998.
Watchdog test pruža testiranje funkcionalnosti watchdog tajmera. Test se izvodi samo jednom nakon resetiranja. Test izaziva resetovanje WDOG-a i upoređuje unapred podešeno vreme za resetovanje WDOG-a sa realnim vremenom.NXP AN13823 IEC 60730 Class B softver za LPC553x MCU - Slika 20U LPC553x sigurnosnoj biblioteci exampu projektu, watchdog se testira pomoću sljedećih koraka:

  1. Nakon resetiranja, omogućite watchdog i namjerno zaustavite osvježavanje kako biste pokrenuli watchdog reset MCU.
  2. Omogućite CTIMER0 da izmjerite koliko je vremena potrebno za vremensko ograničenje čuvara i resetiranje.
  3. Nakon resetovanja watchdog-a, potvrdite da je ovo resetiranje uzrokovano watchdog-om tako što ćete provjeriti PMC->AOREG1 registar.
  4. Pročitajte CTIMER0 da dobijete tačno vrijeme vremenskog ograničenja i resetiranja.

Istorija revizija

Tabela ispod rezimira revizije ovog dokumenta.
Tabela 3. Istorija revizija

Broj revizije Datum Suštinske promjene
0 4-jan-23 Prvo javno objavljivanje

Pravne informacije

6.1 Definicije
Nacrt — Status nacrta na dokumentu ukazuje na to da je sadržaj još uvijek pod internom revizijomview i podliježu formalnom odobrenju, što može rezultirati izmjenama ili dopunama. NXP Semiconductors ne daje nikakve izjave ili garancije u pogledu tačnosti ili potpunosti informacija uključenih u nacrt verzije dokumenta i neće imati nikakvu odgovornost za posledice korišćenja takvih informacija.
6.2 Izjave o odricanju odgovornosti
Ograničena garancija i odgovornost — Veruje se da su informacije u ovom dokumentu tačne i pouzdane. Međutim, NXP Semiconductors ne daje nikakve izjave ili garancije, izražene ili implicirane, u pogledu tačnosti ili potpunosti takvih informacija i neće snositi odgovornost za posledice korišćenja takvih informacija. NXP Semiconductors ne preuzima nikakvu odgovornost za sadržaj u ovom dokumentu ako je dostavljen od izvora informacija izvan NXP Semiconductors.
NXP Semiconductors ni u kom slučaju neće biti odgovoran za bilo kakvu indirektnu, slučajnu, kaznenu, specijalnu ili posljedičnu štetu (uključujući – bez ograničenja izgubljenu dobit, izgubljenu uštedu, prekid poslovanja, troškove vezane za uklanjanje ili zamjenu bilo kojeg proizvoda ili troškove prerade) bilo da ili takve štete nisu zasnovane na deliktu (uključujući nemar), garanciji, kršenju ugovora ili bilo kojoj drugoj pravnoj teoriji.
Bez obzira na bilo kakvu štetu koju bi kupac mogao pretrpjeti iz bilo kojeg razloga, ukupna i kumulativna odgovornost NXP Semiconductors prema kupcu za proizvode opisane ovdje biće ograničena u skladu sa Odredbama i uslovima komercijalne prodaje NXP Semiconductors.
Pravo na promjene — NXP Semiconductors zadržava pravo izmjene informacija objavljenih u ovom dokumentu, uključujući bez ograničenja specifikacije i opise proizvoda, u bilo koje vrijeme i bez prethodne najave. Ovaj dokument zamjenjuje i zamjenjuje sve informacije dostavljene prije objavljivanja ovog dokumenta.
Pogodnost za upotrebu — NXP Semiconductors proizvodi nisu dizajnirani, odobreni ili pod garancijom da budu prikladni za održavanje života, životno kritične ili sigurnosno kritične sisteme ili opremu, niti u aplikacijama u kojima se može razumno očekivati ​​da će kvar ili kvar proizvoda NXP Semiconductors lične povrede, smrt ili teška imovinska ili ekološka šteta. NXP Semiconductors i njeni dobavljači ne prihvataju nikakvu odgovornost za uključivanje i/ili upotrebu NXP Semiconductors proizvoda u takvu opremu ili aplikacije i stoga je takvo uključivanje i/ili upotreba na sopstveni rizik kupca.
Prijave — Aplikacije koje su ovdje opisane za bilo koji od ovih proizvoda služe samo u ilustrativne svrhe. NXP Semiconductors ne daje nikakve izjave ili garancije da će takve aplikacije biti prikladne za navedenu upotrebu bez daljeg testiranja ili modifikacije. Kupci su odgovorni za dizajn i rad svojih aplikacija i proizvoda koji koriste NXP Semiconductors proizvode, a NXP Semiconductors ne prihvata nikakvu odgovornost za bilo kakvu pomoć u aplikacijama ili dizajnu proizvoda za kupce. Isključiva je odgovornost kupca da utvrdi da li je proizvod NXP Semiconductors prikladan i prikladan za kupčeve aplikacije i planirane proizvode, kao i za planiranu primjenu i korištenje kupca treće strane. Kupci treba da obezbede odgovarajući dizajn i operativne mere zaštite kako bi se rizici sveli na minimum
povezane s njihovim aplikacijama i proizvodima. NXP Semiconductors ne prihvata nikakvu odgovornost u vezi sa bilo kakvim zadatkom, štetom, troškovima ili problemom koji je zasnovan na bilo kojoj slabosti ili nedostatku u aplikacijama ili proizvodima korisnika, ili aplikaciji ili upotrebi od strane klijenta treće strane. Kupac je odgovoran za obavljanje svih potrebnih testiranja za klijentove aplikacije i proizvode koji koriste NXP Semiconductors proizvode kako bi se izbjeglo neispunjenje aplikacija i proizvoda ili aplikacije ili korištenja od strane kupca treće strane. NXP ne prihvata nikakvu odgovornost u tom pogledu.
Uslovi komercijalne prodaje — NXP Semiconductors proizvodi se prodaju u skladu sa opštim uslovima komercijalne prodaje, objavljenim na http://www.nxp.com/profile/terms, osim ako je drugačije dogovoreno u važećem pismenom pojedinačnom ugovoru. U slučaju da se zaključi pojedinačni ugovor, primjenjuju se samo uslovi i odredbe odgovarajućeg ugovora. NXP Semiconductors se ovim izričito protivi primjeni opštih uslova korisnika u vezi sa kupovinom proizvoda NXP Semiconductors od strane kupca.
Kontrola izvoza — Ovaj dokument kao i ovde opisani artikli mogu biti predmet propisa o kontroli izvoza. Za izvoz može biti potrebno prethodno odobrenje nadležnih organa.
Pogodnost za upotrebu u proizvodima koji nisu kvalifikovani za automobile — Osim ako u ovom tehničkom listu izričito nije navedeno da je ovaj specifični NXP Semiconductors proizvod kvalifikovan za automobile, proizvod nije prikladan za upotrebu u automobilima. Nije ni kvalificiran niti testiran u skladu sa zahtjevima za automobilsko testiranje ili primjenu. NXP Semiconductors ne prihvata nikakvu odgovornost za uključivanje i/ili upotrebu proizvoda koji nisu kvalifikovani za automobile u automobilskoj opremi ili aplikacijama.
U slučaju da kupac koristi proizvod za dizajn i upotrebu u automobilskim aplikacijama prema automobilskim specifikacijama i standardima, kupac (a) će koristiti proizvod bez garancije NXP Semiconductors za proizvod za takve automobilske aplikacije, upotrebu i specifikacije, i ( b) kad god kupac koristi proizvod za automobilske aplikacije izvan specifikacija NXP Semiconductors, takva upotreba će biti isključivo na vlastiti rizik kupca, i (c) kupac u potpunosti obeštećuje NXP Semiconductors za bilo kakvu odgovornost, štetu ili neuspjele zahtjeve za proizvodom koji su rezultat dizajna i korištenja proizvod za automobilske aplikacije izvan standardne garancije NXP Semiconductors i specifikacija proizvoda NXP Semiconductors.
Prevodi — Neengleska (prevedena) verzija dokumenta, uključujući pravne informacije u tom dokumentu, služi samo kao referenca. Engleska verzija ima prednost u slučaju bilo kakvog neslaganja između prevedene i engleske verzije.
Sigurnost — Kupac razume da svi NXP proizvodi mogu biti podložni neidentifikovanim ranjivostima ili da podržavaju utvrđene bezbednosne standarde ili specifikacije sa poznatim ograničenjima. Kupac je odgovoran za dizajn i rad svojih aplikacija i proizvoda tokom njihovog životnog ciklusa kako bi se smanjio efekat ovih ranjivosti na aplikacije i proizvode korisnika. Odgovornost korisnika se takođe proteže na druge otvorene i/ili vlasničke tehnologije koje podržavaju NXP proizvodi za upotrebu u aplikacijama korisnika. NXP ne prihvata nikakvu odgovornost za bilo kakvu ranjivost. Klijent bi trebao redovno provjeravati sigurnosna ažuriranja od NXP-a i na odgovarajući način pratiti.
Kupac će odabrati proizvode sa sigurnosnim karakteristikama koji najbolje zadovoljavaju pravila, propise i standarde predviđene primjene i donijeti konačne odluke o dizajnu u vezi sa svojim proizvodima i isključivo je odgovoran za usklađenost sa svim zakonskim, regulatornim i sigurnosnim zahtjevima u vezi sa svojim proizvodima, bez obzira na bilo koje informacije ili podršku koju može pružiti NXP.
NXP ima Tim za odgovor na sigurnosne incidente (PSIRT) (dostupan na PSIRT@nxp.com) koji upravlja istraživanjem, izvještavanjem i izdavanjem rješenja za sigurnosne propuste NXP proizvoda.
6.3 Zaštitni žigovi
Napomena: Svi navedeni brendovi, nazivi proizvoda, nazivi usluga i zaštitni znakovi vlasništvo su njihovih vlasnika.
NXP — slovni znak i logo su zaštitni znaci kompanije NXP BV
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed omogućen, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — su zaštitni znaci ili registrovani zaštitni znaci kompanije Arm Limited (ili njenih podružnica) u SAD-u i/ili drugdje. Povezana tehnologija može biti zaštićena bilo kojim ili svim patentima, autorskim pravima, dizajnom i poslovnim tajnama. Sva prava pridržana.
Imajte na umu da su važna obavještenja u vezi sa ovim dokumentom i ovdje opisanim proizvodom uključena u odjeljak 'Pravne informacije'.

© 2023 NXP BV
Za više informacija posjetite: http://www.nxp.com
Sva prava pridržana.
Datum izdavanja: 4. januar 2023
Identifikator dokumenta: AN13823

Dokumenti / Resursi

NXP AN13823 IEC 60730 Class B softver za LPC553x MCU-ove [pdf] Korisnički priručnik
AN13823 IEC 60730 Class B softver za LPC553x MCU, AN13823, IEC 60730 Class B softver za LPC553x MCU, AN13823 IEC 60730 Class B softver

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *