AN13823 IEC 60730 Klassi B Software għal MCUs LPC553x
Gwida għall-Utent
AN13823 IEC 60730 Klassi B Software għal MCUs LPC553x
Rev 0 — 4 ta’ Jannar 2023
Nota ta' applikazzjoni
Informazzjoni tad-dokument
Informazzjoni | Kontenut |
Kliem ewlieni | LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B |
Astratt | L-għan ewlieni ta 'din in-nota ta' applikazzjoni huwa li taċċellera l-iżvilupp tas-softwer tal-klijenti u l-proċessi ta 'ċertifikazzjoni għal prodotti bbażati fuq MCUs LPC553x. |
Introduzzjoni
L-istandard tas-sigurtà IEC 60730 jiddefinixxi t-test u l-metodi dijanjostiċi li jiżguraw it-tħaddim sikur ta 'ħardwer u softwer ta' kontroll inkorporat għal apparat domestiku.
Biex tinkiseb sigurtà funzjonali, huwa meħtieġ li jitneħħa r-riskju kollu ta 'perikli li l-malfunzjoni tas-sistema tista' tikkawża.
L-istandard IEC 60730 jikklassifika t-tagħmir applikabbli fi tliet kategoriji:
- Klassi A: Mhux intenzjonat li wieħed joqgħod fuqha għas-sigurtà tat-tagħmir
- Klassi B: Biex tevita tħaddim mhux sigur tat-tagħmir ikkontrollat
- Klassi C: Biex tevita perikli speċjali
NXP jipprovdi librerija tal-Klassi B tas-sigurtà IEC 60730 biex tgħin lill-manifatturi tal-kontrolli awtomatiċi fis-suq tal-apparat kbir biex jissodisfaw ir-regolament tal-klassi B tal-IEC 60730. Il-librerija tappoġġja l-IDEs IAR, Keil, u MCUXpresso.
Tista' tintegra l-binarju tal-librerija tas-sigurtà NXP fis-softwer tal-applikazzjoni tiegħek. Għal żvilupp aktar faċli tal-applikazzjoni IEC60730B, il-librerija tipprovdi wkoll example proġett. Dan example jitqassam permezz tal- Standard ta' Sigurtà IEC 60730 għal Appliances tad-Dar on nxp.com websit.L-għan ewlieni ta 'din in-nota ta' applikazzjoni huwa li taċċellera l-iżvilupp tas-softwer tal-klijenti u l-proċessi ta 'ċertifikazzjoni għal prodotti bbażati fuq MCUs LPC553x.
NXP IEC 60730 Klassi B librerija fuqview
Il-librerija tas-sigurtà tinkludi awto-testijiet tal-parti li jiddependu mill-qalba u tal-parti periferali kif elenkat hawn taħt:
- Parti dipendenti mill-qalba
– Test tar-reġistri tas-CPU
– Test tal-kontro tal-programm tas-CPU
– Test tal-memorja varjabbli
– Test tal-memorja invarjabbli
– Test tal-munzell - Parti periferali dipendenti
– Test tal-arloġġ
– Test tad-dħul/ħruġ diġitali
– Test ta' input/output analogu
– Test tal-għassa
Tabella 1. Konformità mal-istandards IEC 60730 Klassi B
Librerija NXP IEC 60730 Klassi B | IEC 60730 | ||
komponent | Metodu | Oġġetti | Applikata |
reġistri tas-CPU | Il-proċedura tat-test tar-reġistru tas-CPU tittestja r-reġistri kollha tas-CPU CM33 għall-kundizzjoni mwaħħla. | 1.1 Reġistru | H.2.16.6 |
Programm counter | Il-proċedura tat-test tal-kontro tal-programm tas-CPU tittestja r-reġistru tal-kontro tal-programm tas-CPU għall-kondizzjoni mwaħħla. It-test tar-reġistru tal-counter tal-programm jista 'jitwettaq darba wara r-reset tal-MCU u wkoll waqt ir-runtime. Ġegħel is-CPU (fluss tal-programm) biex jaċċessa l-indirizz korrispondenti li qed jittestja l-mudell biex tivverifika l-funzjonalità tal-counter tal-programm. |
1.3 Counter tal-programmi | H.2.16.6 |
Arloġġ | Il-proċedura tat-test tal-arloġġ tittestja l-oxxillaturi tal-proċessur għall-frekwenza ħażina. Il-prinċipju tat-test tal-arloġġ huwa bbażat fuq it-tqabbil ta 'żewġ sorsi indipendenti tal-arloġġ. Jekk ir-rutina tat-test tiskopri bidla fil-proporzjon tal-frekwenza bejn is-sorsi tal-arloġġ, jiġi rritornat kodiċi ta 'żball tal-falliment. | 3.Arloġġ | NA |
Memorja invarjabbli | It-test tal-memorja invarjabbli huwa li jiċċekkja jekk hemmx bidla fil-kontenut tal-memorja (on-chip Flash) waqt l-eżekuzzjoni tal-applikazzjoni. Diversi metodi ta’ checksum (eżample, CRC16) jistgħu jintużaw għal dan il-għan. | 4.1 Memorja invarjabbli |
H.2.19.3.1 |
Test tal-memorja varjabbli | Jiċċekkja r-RAM fuq iċ-ċippa għal ħsarat DC. L-iskemi ta' Marzu Ċ u ta' Marzu X jintużaw bħala mekkaniżmi ta' kontroll. | 4.2 Memorja varjabbli | H.2.19.6 |
Diġitali test ta' input/output |
Il-funzjonijiet tat-test tad-DIO huma ddisinjati biex jiċċekkjaw il-funzjonalità tad-dħul u l-ħruġ diġitali u l-kundizzjonijiet taċ-ċirkwit qasir bejn il-pin ittestjat u l-volum tal-provvistatage, art, jew pin adjaċenti fakultattiv. | 7.1 I/O diġitali | H.2.18.13 |
Test ta 'Input/Output Analog (I/ 0). | It-test jiċċekkja l-interface tal-input analogu u tliet valuri ta 'referenza: referenza għolja, referenza baxxa, u bandgap voltage. It-test tal-input analogu huwa bbażat fuq konverżjoni ta 'tliet inputs analogi b'vol magħruftage valuri u jiċċekkja jekk il-valuri konvertiti jidħlux fil-limiti speċifikati. Normalment, il-limiti għandhom ikunu bejn wieħed u ieħor 10 % madwar il-valuri ta' referenza mixtieqa. | 7.2 Analog I/O | H.2.18.13 |
Librerija NXP IEC 60730 Klassi B example proġett
Għal żvilupp aktar faċli tal-applikazzjoni IEC60730B, il-librerija tipprovdi exampil-qafas tal-proġett, mibni fuq bord ta' evalwazzjoni dedikat LPC553x Idħol f'NXP.com | Semikondutturi NXP (LPC5536-EVK). Trid tikkonfigura s-settings korretti tal-librerija għall-proġett attwali.3.1 Integrazzjoni tal-librerija tas-sikurezza fl-applikazzjoni tal-utent
Is-sigurtà exampir-rutini tal-proġetti huma maqsuma f'żewġ proċessi ewlenin: test ta 'sikurezza ta' darba minn qabel u test ta 'sikurezza perjodiku ta' runtime.
Il-figura li ġejja turi l-proċessi tat-test tas-sigurtà.Biex tintegra l-librerija tas-sigurtà NXP, wettaq il-passi li ġejjin:
- Niżżel is-sigurtà example proġett minn nxp.com
- Issettjar tal-ħardwer li jqis il-periferali użati għall-awtotest tas-sikurezza
- Ikkonfigura l-librerija tas-sigurtà skont id-disinn attwali tal-ħardwer
- Ixgħel il-funzjonijiet tat-test tas-sigurtà waħda waħda f'safety_config.h
• Għad-debugging, huwa aħjar li titfi l-ewwel it-test tal-flash u l-għassa
• Ħu ħsieb l-interruzzjonijiet, peress li xi wħud mit-testijiet tas-sigurtà ma jistgħux jiġu interrotti - Żviluppa l-kodiċi tal-applikazzjoni bbażata fuq is-sigurtà example qafas tal-proġett
Librerija tas-sigurtà LPC553x example proġett fil-prattika
4.1 Dijagramma blokk tal-ħardwer
Il-moduli li ġejjin huma użati għall-awtotest tas-sikurezza awtomatikament kif muri fil-figura hawn taħt:Tabella 2. Modulu MCU għall-awtotest tas-sigurtà
Oġġett tat-test tal-librerija tas-sigurtà | Modulu MCU |
Test tas-CPU | LPC5536 CM33 Core |
Test tal-arloġġ | Systick CTIMER0 |
Test tal-għassa | Għassa CTIMER0 |
Test tal-memorja varjabbli | SRAM |
Test tal-memorja invarjabbli | Flash |
Test I/O diġitali | GPIO1 |
Test I/O analogu | ADC0 |
4.2 Test tas-CPU
4.2.1 Is-CPU jirreġistra deskrizzjoni tat-test
Il-proċedura tat-test tar-reġistru tas-CPU tittestja r-reġistri kollha tas-CPU CM33 għall-kundizzjoni stuckat (ħlief għar-reġistru tal-counter tal-programm). It-test tal-counter tal-programm huwa implimentat bħala rutina ta' sikurezza awtonoma. Dan is-sett ta’ testijiet jinkludi t-test tar-reġistri li ġejjin:
- Reġistri għal skopijiet ġenerali:
– R0-R12 - Stack pointer reġistri:
– MSP + MSPLIM (sikur / mhux sigur)
– PSP + PSPLIM (sikur/mhux sigur) - Reġistri speċjali:
– APSR
– KONTROLL (sikur/mhux sigur)
– PRIMASK (sikur/mhux sigur)
– FAULTMASK (sikur/mhux sigur)
– BASEPRI (sikur/mhux sigur) - Link reġistru:
– LR - Reġistri FPU:
– FPSCR
– S0 – S31
Hemm sett ta 'testijiet li jsiru darba wara li l-MCU jiġi reset u wkoll waqt ir-runtime. Tista 'terġa' tuża s-settings default tal-librerija tas-sigurtà LPC553x example proġett, madankollu, trid tagħti attenzjoni lill-interruzzjoni peress li xi wħud mit-testijiet tar-reġistru tas-CPU ma jistgħux jiġu interrotti.
- Test ta' sigurtà ta' darba minn qabel
– SafetyCpuAfterResetTest /* L-interruzzjonijiet għandhom ikunu diżattivati għal xi żmien */
– 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 perjodiku tas-sikurezza runtime
– SafetyCpuBackgroundTest /* Test tar-reġistri tas-CPU interruptibbli */
– FS_CM33_CPU_Register
– FS_CM33_CPU_NonStackedRegister
– FS_CM33_CPU_Control /* L-interruzzjonijiet għandhom ikunu diżattivati għal xi żmien */
– FS_CM33_CPU_SPprocess_S /* L-interruzzjonijiet għandhom ikunu diżattivati għal xi żmien */
4.3 Test tal-kontro tal-programm tas-CPU
4.3.1 Deskrizzjoni tat-test tal-kontro tal-programm tas-CPU
Il-proċedura tat-test tar-reġistru tal-kontro tal-programm CPU tittestja r-reġistru tal-kontro tal-programm tas-CPU għall-kundizzjoni mwaħħla. Kuntrarjament għar-reġistri tas-CPU l-oħra, il-counter tal-programm ma jistax jimtela sempliċement b'mudell tat-test. Huwa meħtieġ li s-CPU (fluss tal-programm) jiġi sfurzat biex jaċċessa l-indirizz korrispondenti li qed jittestja l-mudell biex jivverifika l-funzjonalità tal-counter tal-programm.
Innota li t-test tal-counter tal-programm ma jistax jiġi interrott.It-test tar-reġistru tal-counter tal-programm jista 'jitwettaq darba wara li l-MCU jiġi reset u wkoll waqt ir-runtime.
- Test ta' sigurtà ta' darba minn qabel
– SafetyPcTest
– FS_CM33_PC_Test - Test perjodiku tas-sikurezza runtime
– SafetyIsrFunction > SafetyPcTest
– FS_CM33_PC_Test
4.4 Test tal-memorja varjabbli
4.4.1 Deskrizzjoni tat-test tal-memorja varjabbli
It-test tal-memorja varjabbli għal apparati appoġġjati jiċċekkja r-RAM fuq iċ-ċippa għal ħsarat DC.
Iż-żona tal-munzell tal-applikazzjoni tista 'tiġi ttestjata wkoll. L-iskemi ta' Marzu Ċ u ta' Marzu X jintużaw bħala mekkaniżmi ta' kontroll.Il-funzjonijiet tal-immaniġġjar huma differenti għat-test tar-reset ta 'wara u għat-test ta' runtime.
It-test ta 'wara reset isir mill-funzjoni FS_CM33_RAM_AfterReset (). Din il-funzjoni tissejjaħ darba wara r-reset, meta l-ħin ta 'eżekuzzjoni ma jkunx kritiku. Riżerva spazju għall-memorja ħieles għaż-żona tal-backup. Il-parametru tad-daqs tal-blokk ma jistax ikun akbar mid-daqs taż-żona tal-backup. Il-funzjoni l-ewwel tiċċekkja ż-żona tal-backup, imbagħad jibda l-linja. Il-blokki tal-memorja jiġu kkupjati fiż-żona tal-backup u l-postijiet tagħhom jiġu kkontrollati mit-test rispettiv ta 'Marzu. Id-dejta tiġi kkupjata lura fiż-żona tal-memorja oriġinali u l-indirizz attwali bid-daqs tal-blokk jiġi aġġornat. Dan jiġi ripetut sakemm l-aħħar blokk tal-memorja jiġi ttestjat. Jekk tiġi skoperta ħsara DC, il-funzjoni tirritorna mudell ta 'falliment.
It-test runtime isir mill-funzjoni FS_CM33_RAM_Runtime (). Biex tiffranka l-ħin, tittestja biss segment wieħed (definit minn RAM_TEST_BLOCK_SIZE) ta 'SRAM fil-ħin. Filwaqt li t-test ta 'wara l-irrisettjar jiċċekkja l-blokk kollu tal-ispazju RAM relatat mas-sikurezza. Fil-librerija tas-sigurtà LPC553x example proġett, RAM_TEST_BLOCK_SIZE huwa kkonfigurat għal 0x4, dan ifisser li 32 bytes ta 'RAM se jiġu ttestjati f'rutina waħda tat-test tar-Runtime RAM.
- Test ta' sigurtà ta' darba minn qabel
– SafetyRamAfterResetTest /* Ittestja l-ispazju kollu tar-RAM tat-taqsima “.safety_ram” qabel ma tħaddem ir-rutina ewlenija. */
– FS_CM33_RAM_AfterReset - Test perjodiku tas-sikurezza runtime
– SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* esegwit f'Systick ISR, ma jistax jiġi interrott */
– FS_CM33_RAM_Runtime
4.4.2 Konfigurazzjoni tat-test tal-memorja varjabbli
Il-konfigurazzjoni tat-test tal-memorja varjabbli fi :Il-konfigurazzjoni tal-blokka RAM tas-sigurtà tinsab fiha :
iddefinixxi blokk SAFETY_RAM_BLOCK b'allinjament = 8
{sezzjoni .safety_ram };
poġġi f'RAM_region {blokk SAFETY_RAM_BLOCK};
Innota li .safety_ram biss hija koperta mit-test tal-memorja varjabbli. Żid il-varjabbli fis-sezzjoni .safety_ram manwalment, kif muri hawn taħt fil main.c.4.5 Test tal-memorja invarjabbli
4.5.1 Deskrizzjoni tat-test tal-memorja invarjabbli
Il-memorja invarjabbli fuq l-MCU LPC5536 hija l-flash fuq iċ-ċippa. Il-prinċipju tat-test tal-memorja invarjabbli huwa li jiċċekkja jekk hemmx bidla fil-kontenut tal-memorja waqt l-eżekuzzjoni tal-applikazzjoni. Għal dan il-għan jistgħu jintużaw diversi metodi ta' checksum. Iċ-checksum huwa algoritmu li jikkalkula firma tad-dejta mqiegħda fil-memorja ttestjata. Il-firma ta' dan il-blokk tal-memorja mbagħad tiġi kkalkulata perjodikament u mqabbla mal-firma oriġinali.
Il-firma għall-memorja assenjata hija kkalkulata fil-fażi ta' rabta ta' applikazzjoni. Il-firma għandha tiġi ssejvjata fil-memorja invarjabbli, iżda f'żona differenti minn dik li għaliha tiġi kkalkulata ċ-checksum. Fil-ħin tar-runtime u wara r-reset, l-istess algoritmu għandu jiġi implimentat fl-applikazzjoni biex tiġi kkalkulata ċ-checksum. Ir-riżultati huma mqabbla. Jekk ma jkunux ugwali, iseħħ stat ta' żball ta' sikurezza.
Meta implimentata wara r-reset jew meta ma jkun hemm l-ebda restrizzjoni fuq il-ħin ta 'eżekuzzjoni, is-sejħa tal-funzjoni tista' tkun kif ġej.
• Test ta' sigurtà ta' darba minn qabel
– SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* ikkalkula CRC tal-Flash kollu */
Fil-ħin tar-runtime tal-applikazzjoni u b'ħin limitat għall-eżekuzzjoni, is-CRC jiġi kkalkulat f'sekwenza. Dan ifisser li l-parametri tad-dħul għandhom tifsiriet differenti meta mqabbla mas-sejħa wara reset. L-implimentazzjoni example hija kif ġej:
• Test perjodiku tas-sikurezza tal-runtime
– SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* ikkalkula CRC blokk b'blokk */
– SafetyFlashTestHandling /* qabbel CRC meta l-blokki Flash kollha huma kkalkulati. */
4.5.2 Konfigurazzjoni tat-test tal-memorja invarjabbli
Fil-librerija tas-sigurtà LPC553x example proġett, l-allokazzjoni flash hija murija hawn taħt kif speċifikat fil-Linker file . L-oġġett files u jitqiegħdu fil-blokka tal-flash tas-sigurtà li hija kkontrollata bit-test tal-memorja invarjabbli. Tista 'tpoġġi aktar oġġett files fis-SAFETY_FLASH_BLOCK Flash area billi timmodifika l-Linker file kif xieraq.Hemm żewġ checksums li jridu jitqabblu matul ir-runtime tal-MCU biex jiġi vverifikat jekk il-kontenut tal-ispazju tal-flash partikolari ġiex immodifikat:
- Checksum ikkalkulat minn Linker fil-Kompilazzjoni/Link
- Checksum ikkalkulat mill-MCU waqt ir-runtime
Id-definizzjoni tal-post fejn jitqiegħed ir-riżultat taċ-checksum (ikkalkulat minn qabel mill-għodod tal-linker) tinsab fiha :
tiddefinixxi simbolu __FlashCRC_start__ = 0x0300; /* għat-tqegħid ta' checksum */
iddefinixxi simbolu __FlashCRC_end__ = 0x030F; /* għat-tqegħid ta' checksum */
iddefinixxi reġjun CRC_region = mem: [minn __FlashCRC_start__ sa __FlashCRC_end__];
iddefinixxi blokka CHECKSUM b'allinjament = 8 {sezzjoni. checksum}; poġġi f'CRC_region { block CHECKSUM};
Ħu IAR IDE, per eżempjuample, fl-issettjar tal-għażla tal-proġett > Ibni Azzjonijiet > Linja ta 'kmand ta' wara l-bini.Linja tal-kmand:
ielftool –fill 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –verbose “$TARGET_PATH$” “$TARGET_PATH$”
Il-linker jikkalkula ċ-checksum oriġinali tal-indirizzar tal-flash minn _checksumStart sa c_checksumEnd, imbagħad iqiegħed ir-riżultat taċ-checksum f'_checksum, li huwa fi blokk CHECKSUM definit mill-Linker file.
Id-definizzjoni tal-ispazju tal-flash speċifikat li għandu jiġi ċċekkjat tinsab fiha :
tiddefinixxi blokk SAFETY_FLASH_BLOCK b'allinjament = 8, ordni fissa { sezzjoni readonly checksum_start_mark, sezzjoni .text object main.o, sezzjoni .text object safety_cm33_lpc.o, sezzjoni .rodata object safety_cm33_lpc.o, sezzjoni readonly checksum_end_mark };
poġġi f'ROM_region { blokk SAFETY_FLASH_BLOCK};
4.6 Test tal-munzell
4.6.1 Deskrizzjoni tat-test tal-munzell
It-test tal-munzell huwa test addizzjonali, mhux speċifikat direttament fit-tabella tal-Anness H tal-IEC60730.
Din ir-rutina tat-test tintuża biex tittestja l-kundizzjonijiet tal-overflow u underflow tal-munzell tal-applikazzjoni. L-ittestjar tad-difetti mwaħħla fiż-żona tal-memorja okkupata mill-munzell huwa kopert mit-test tal-memorja varjabbli. L-overflow jew underflow tal-munzell jista 'jseħħ jekk il-munzell ikun ikkontrollat ħażin jew billi tiddefinixxi ż-żona tal-munzell "baxxa wisq" għall-applikazzjoni mogħtija.
Il-prinċipju tat-test huwa li timla l-erja taħt u 'l fuq mill-munzell b'mudell magħruf. Dawn iż-żoni għandhom jiġu definiti fil-konfigurazzjoni tal-linker file, flimkien mal-munzell. Il-funzjoni ta 'inizjalizzazzjoni mbagħad timla dawn iż-żoni bil-mudell tiegħek. Il-mudell għandu jkollu valur li ma jidhirx x'imkien ieħor fl-applikazzjoni. L-iskop huwa li jiċċekkja jekk il-mudell eżatt għadux miktub f'dawn l-oqsma. Jekk ma jkunx, huwa sinjal ta 'mġieba mhux korretta tal-munzell. Jekk iseħħ dan, allura l-valur tar-ritorn FAIL mill-funzjoni tat-test għandu jiġi pproċessat bħala żball ta 'sikurezza.It-test jitwettaq wara r-reset u matul ir-runtime tal-applikazzjoni bl-istess mod.
- Test ta' sigurtà ta' darba minn qabel
– SafetyStackTestInit
– FS_CM33_STACK_Init /* ikteb STACK_TEST_PATTERN (0x77777777) għal STACK_TEST_BLOCK */
– SafetyStackTest
– FS_CM33_STACK_Test /* iċċekkja l-kontenut ta 'STACK_TEST_BLOCK, falla jekk il-valur ma jkunx ugwali għal STACK_TEST_PATTERN (0x77777777). - Test perjodiku tas-sikurezza runtime
– SafetyStackTest
– FS_CM33_STACK_Init /* ikteb STACK_TEST_PATTERN (0x77777777) għal STACK_TEST_BLOCK */
– SafetyStackTest
– FS_CM33_STACK_Test /* iċċekkja l-kontenut ta 'STACK_TEST_BLOCK, ifalli jekk il-valur ma jkunx ugwali għal STACK_TEST_PATTERN (0x77777777)
4.6.2 Konfigurazzjoni tat-test tal-munzell
Il-konfigurazzjoni tat-test tal-munzell tinsab fi u l-linker file 4.7 Test tal-arloġġ
4.7.1 Deskrizzjoni tat-test tal-arloġġ
Il-prinċipju tat-test tal-arloġġ huwa bbażat fuq it-tqabbil ta 'żewġ sorsi indipendenti tal-arloġġ.
Fil-librerija tas-sigurtà LPC553x example project, CTIMER0 u Systick fuq MCU LPC5536 jintużaw bħala żewġ arloġġi indipendenti għat-test ta 'l-arloġġ tas-sigurtà, ma jiddependux fuq il-bord tal-ħardwer LPC5536-EVK.
Ir-rutina tat-test tal-arloġġ titwettaq fit-test tas-sikurezza perjodiku tal-runtime biss.
- Test ta' sigurtà ta' darba minn qabel
– L-ebda test tal-arloġġ - Test perjodiku tas-sikurezza runtime
– SafetyClockTestCheck
– SafetyClockTestIsr
4.7.2 Konfigurazzjoni tat-test tal-arloġġ
Peress li żewġ arloġġi indipendenti huma meħtieġa għat-test tal-arloġġ fil-librerija tas-sigurtà LPC553x exampil-proġett:
- It-tajmer SYSTICK jiġi minn PLL0 150 M (miġbur mill-kristall estern ta '16 MHz)
- It-tajmer CTIMER0 huwa miksub mill-FRO_96M intern
Il-konfigurazzjonijiet dettaljati tas-Systick u CTIMER0 huma murija hawn taħt:
- Konfigurazzjoni tas-Systick: SystickISR_Freq = 1000 Hz, billi tissettja 150,000 valur ta' reload taħt 150 MHz arloġġ tal-qalba
- CTIMER konfigurazzjoni: CTIMER_Freq = 96 MHz, miġbura mill-arloġġ 96 MHz FRO_96M
- Il-counter CTIMER mistenni għandu jkun CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
- F'kull ISR ta' interruzzjoni Systick, ħlief il-valur tal-counter CTIMER
- F'runtime while (1) loop, iċċekkja: (96,000 – 20 %) < CTIMER jistennew counter < (96,000 + 20 %)
Il-konfigurazzjoni tat-test tal-arloġġ tinsab f'Safety_config.h.
Skont l-applikazzjoni attwali, tista' tibdel l-istanza CTIMER għat-test tal-arloġġ tas-sigurtà billi tikkonfigura l-makro REF_TIMER_USED. Ukoll, trid tikkonfigura REF_TIMER_CLOCK_FREQUENCY skont il-frekwenza attwali tal-arloġġ. 4.8 Test I/O diġitali
4.8.1 Deskrizzjoni tat-test I/O diġitali
Fil-librerija tas-sigurtà LPC553x example proġett, GPIO P1_4 u P1_17 fuq LPC5536-EVK jintgħażlu għat-test I/O diġitali tas-sigurtà, dawn iż-żewġ pinnijiet huma konnessi ma 'header J10 fuq bord LPC553x EVK.
Ir-rutini tat-test tal-I/O diġitali huma maqsuma f'żewġ proċessi ewlenin: test ta' sikurezza ta' darba minn qabel u test ta' sikurezza perjodiku ta' runtime
- Test ta' sigurtà ta' darba minn qabel
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
– SafetyDigitalInputOutput_ShortAdjTest - Test perjodiku tas-sikurezza runtime
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
4.8.2 Konfigurazzjoni tat-test I/O diġitali
Il-konfigurazzjoni tat-test tal-I/O diġitali tinsab fi safety_test_items.c.L-eżekuzzjoni tat-testijiet I/O diġitali għandha tiġi adattata għall-applikazzjoni finali. Oqgħod attent mal-konnessjonijiet tal-ħardwer u d-disinn. Tista' tibdel il-GPIO għas-sigurtà
test I/O diġitali billi tikkonfigura dio_safety_test_items[] fis-safety_test_items.c. Fil-biċċa l-kbira tal-każijiet, il-pin ittestjat (u xi kultant ukoll awżiljarju) irid jiġi kkonfigurat mill-ġdid waqt it-tħaddim tal-applikazzjoni. Huwa rakkomandat li tuża l-brilli mhux użati għat-test I/O diġitali.
4.9 Test Analog I/O
4.9.1 Deskrizzjoni tat-test I/O Analog
Fil-librerija tas-sigurtà LPC553x example proġett, P0_16/ADC0IN3B, P0_31/ADC0IN8A, u P0_15/ADC0IN3A fuq LPC5536-EVK jintgħażlu għat-test I/O analogu tas-sigurtà, minħabba li l-modulu ADC fuq MCU LPC5536 ma jippermettix li tgħaqqad il-VREFH, VREFL internament mal-ADC input. Huwa meħtieġ li l-utent jikkonnettja dawn is-sinjali (għat-test I/O analogu) b'wajers li jtajru kif muri hawn taħt.
- GND konness ma P0_16/ADC0IN3B (J9-5) għat-test ADC VREFL
- 3.3 V konness ma P0_31/ADC0IN8A (J9-31) għat-test ADC VREFH
- 1.65 V imqabbad ma P0_15/ADC0IN3A (J9-1) għat-test tal-bandgap ADC
Ir-rutini tat-test Analog I/O huma maqsuma f'żewġ proċessi ewlenin:
- Test ta' sigurtà ta' darba minn qabel
– SafetyAnalogTest - Test perjodiku tas-sikurezza runtime
– SafetyAnalogTest
4.9.2 Konfigurazzjoni tat-test Analog I/O
L-eżekuzzjoni tat-testijiet I/O analogi għandha tiġi adattata għall-applikazzjoni finali. Oqgħod attent mal-konnessjonijiet tal-ħardwer u d-disinn. Tista' tibdel il-kanali ADC għat-test ta' I/O analogu tas-sigurtà billi tikkonfigura FS_CFG_AIO_CHANNELS_INIT u
FS_CFG_AIO_CHANNELS_SIDE_INIT fi safety_config.h.
- FS_CFG_AIO_CHANNELS_INIT jindika n-numru tal-kanal ADC.
- FS_CFG_AIO_CHANNELS_SIDE_INIT jindika naħa tal-kanal ADC.
Kif muri fil-figura ta 'hawn fuq:
- L-ewwel element jikkorrispondi għat-test ADC VREFL
- It-tieni element jikkorrispondi għat-test ADC VREFH
- It-tielet element jikkorrispondi għat-test ADC Bandgap
Per example, “3” f’FS_CFG_AIO_CHANNELS_INIT u “1” in
FS_CFG_AIO_CHANNELS_SIDE_INIT jindika li ADC0 kanal 3 naħa B hija magħżula għat-test ADC VREFL.
4.10 Test tal-Għassa
4.10.1 Deskrizzjoni tat-test tal-Għassa
It-test tal-għassies mhuwiex speċifikat direttament fit-tabella IEC60730 - anness H, madankollu, jissodisfa parzjalment ir-rekwiżiti tas-sikurezza skont l-istandards IEC 60730-1, IEC 60335, UL 60730, u UL 1998.
It-test tal-watchdog jipprovdi l-ittestjar tal-funzjonalità tal-watchdog timer. It-test isir darba biss wara r-reset. It-test jikkawża r-reset WDOG u jqabbel il-ħin issettjat minn qabel għar-reset WDOG mal-ħin reali.Fil-librerija tas-sigurtà LPC553x example project, il-watchdog jiġi ttestjat bl-użu tal-passi li ġejjin:
- Wara l-irrisettjar, ppermetti lill-għassiesa u waqqaf l-aġġornament apposta biex tiskatta l-MCU tar-reset tal-watchdog.
- Ippermetti lil CTIMER0 biex tkejjel kemm iddum għall-timeout tal-watchdog u reset.
- Wara r-reset tal-watchdog, ikkonferma li dan ir-reset huwa kkawżat minn watchdog billi tiċċekkja PMC->AOREG1 register.
- Aqra CTIMER0 biex tikseb il-ħin eżatt tat-timeout tal-għassa u reset.
Storja tar-reviżjoni
It-tabella hawn taħt tiġbor fil-qosor ir-reviżjonijiet għal dan id-dokument.
Tabella 3. Storja tar-reviżjoni
Numru tar-reviżjoni | Data | Bidliet sostantivi |
0 | 4-Jan-23 | Rilaxx pubbliku inizjali |
Informazzjoni legali
6.1 Definizzjonijiet
Abbozz — Status ta' abbozz fuq dokument jindika li l-kontenut għadu taħt rieżami internview u soġġett għal approvazzjoni formali, li tista' tirriżulta f'modifiki jew żidiet. NXP Semiconductors ma jagħti l-ebda rappreżentazzjoni jew garanzija dwar l-eżattezza jew il-kompletezza tal-informazzjoni inkluża f'verżjoni abbozz ta' dokument u m'għandu jkollha l-ebda responsabbiltà għall-konsegwenzi tal-użu ta' tali informazzjoni.
6.2 Ċaħdiet
Garanzija u responsabbiltà limitata — L-informazzjoni f'dan id-dokument hija maħsuba li hija preċiża u affidabbli. Madankollu, NXP Semiconductors ma tagħti l-ebda rappreżentanza jew garanzija, espressa jew impliċita, dwar l-eżattezza jew il-kompletezza ta 'din l-informazzjoni u m'għandu jkollha l-ebda responsabbiltà għall-konsegwenzi tal-użu ta' tali informazzjoni. NXP Semiconductors ma jieħu l-ebda responsabbiltà għall-kontenut f'dan id-dokument jekk ipprovdut minn sors ta' informazzjoni barra minn NXP Semiconductors.
Fl-ebda każ NXP Semiconductors m'għandu jkun responsabbli għal kwalunkwe danni indiretti, inċidentali, punittivi, speċjali jew konsegwenzjali (inklużi – mingħajr limitazzjoni profitti mitlufa, iffrankar mitluf, interruzzjoni tan-negozju, spejjeż relatati mat-tneħħija jew is-sostituzzjoni ta' kwalunkwe prodott jew ħlas mill-ġdid) kemm jekk jew mhux tali danni huma bbażati fuq tort (inkluża negliġenza), garanzija, ksur ta 'kuntratt jew kwalunkwe teorija legali oħra.
Minkejja kwalunkwe danni li l-klijent jista 'jġarrab għal kwalunkwe raġuni tkun xi tkun, ir-responsabbiltà aggregata u kumulattiva ta' NXP Semiconductors lejn il-klijent għall-prodotti deskritti hawnhekk għandha tkun limitata skont it-Termini u l-kundizzjonijiet tal-bejgħ kummerċjali ta 'NXP Semiconductors.
Dritt li jsiru bidliet — NXP Semiconductors jirriserva d-dritt li jagħmel bidliet fl-informazzjoni ppubblikata f'dan id-dokument, inklużi mingħajr limitazzjoni speċifikazzjonijiet u deskrizzjonijiet tal-prodott, fi kwalunkwe ħin u mingħajr avviż. Dan id-dokument jieħu post u jissostitwixxi l-informazzjoni kollha pprovduta qabel il-pubblikazzjoni tiegħu.
Adattat għall-użu — Il-prodotti NXP Semiconductors mhumiex iddisinjati, awtorizzati jew iggarantiti biex ikunu adattati għall-użu f'sistemi jew tagħmir ta' sostenn tal-ħajja, kritiċi għall-ħajja jew kritiċi għas-sikurezza, u lanqas f'applikazzjonijiet fejn falliment jew mal-funzjonament ħażin ta' prodott NXP Semiconductors jista' jkun raġonevolment mistenni li jirriżulta f' korriment personali, mewt jew proprjetà severa jew ħsara ambjentali. NXP Semiconductors u l-fornituri tagħha ma jaċċettaw l-ebda responsabbiltà għall-inklużjoni u/jew l-użu ta 'prodotti NXP Semiconductors f'tali tagħmir jew applikazzjonijiet u għalhekk tali inklużjoni u/jew użu huwa għar-riskju tal-klijent stess.
Applikazzjonijiet — Applikazzjonijiet li huma deskritti hawnhekk għal kwalunkwe minn dawn il-prodotti huma għal skopijiet illustrattivi biss. NXP Semiconductors ma jagħmel l-ebda rappreżentazzjoni jew garanzija li tali applikazzjonijiet se jkunu adattati għall-użu speċifikat mingħajr aktar ittestjar jew modifika. Il-klijenti huma responsabbli għad-disinn u t-tħaddim tal-applikazzjonijiet u l-prodotti tagħhom li jużaw il-prodotti NXP Semiconductors, u NXP Semiconductors ma jaċċetta l-ebda responsabbiltà għal kwalunkwe assistenza bl-applikazzjonijiet jew id-disinn tal-prodott tal-klijent. Hija r-responsabbiltà unika tal-klijent li jiddetermina jekk il-prodott NXP Semiconductors huwiex adattat u adattat għall-applikazzjonijiet u l-prodotti ppjanati tal-klijent, kif ukoll għall-applikazzjoni ppjanata u l-użu tal-klijent(i) ta 'parti terza tal-klijent. Il-klijenti għandhom jipprovdu disinn xieraq u salvagwardji operattivi biex jimminimizzaw ir-riskji
assoċjati mal-applikazzjonijiet u l-prodotti tagħhom. NXP Semiconductors ma jaċċetta l-ebda responsabbiltà relatata ma 'kwalunkwe inadempjenza, ħsara, spejjeż jew problema li hija bbażata fuq kwalunkwe dgħjufija jew inadempjenza fl-applikazzjonijiet jew il-prodotti tal-klijent, jew l-applikazzjoni jew l-użu mill-klijent(i) parti terza tal-klijent. Il-Klijent huwa responsabbli biex jagħmel l-ittestjar kollu meħtieġ għall-applikazzjonijiet u l-prodotti tal-klijent li juża l-prodotti NXP Semiconductors sabiex jiġi evitat nuqqas ta 'l-applikazzjonijiet u l-prodotti jew tal-applikazzjoni jew l-użu mill-klijent(i) ta' parti terza tal-klijent. NXP ma jaċċetta ebda responsabbiltà f'dan ir-rigward.
Termini u kondizzjonijiet ta' bejgħ kummerċjali — Il-prodotti NXP Semiconductors jinbiegħu soġġetti għat-termini ġenerali u l-kundizzjonijiet tal-bejgħ kummerċjali, kif ippubblikat fi http://www.nxp.com/profile/terms, sakemm ma jkunx miftiehem mod ieħor fi ftehim individwali validu bil-miktub. F'każ li jiġi konkluż ftehim individwali għandhom japplikaw biss it-termini u l-kundizzjonijiet tal-ftehim rispettiv. NXP Semiconductors b'dan joġġezzjona espressament għall-applikazzjoni tat-termini u l-kundizzjonijiet ġenerali tal-klijent fir-rigward tax-xiri tal-prodotti NXP Semiconductors mill-klijent.
Kontroll tal-esportazzjoni — Dan id-dokument kif ukoll l-oġġett(i) deskritt(i) hawnhekk jistgħu jkunu soġġetti għal regolamenti tal-kontroll tal-esportazzjoni. L-esportazzjoni tista' teħtieġ awtorizzazzjoni minn qabel mill-awtoritajiet kompetenti.
Idoneità għall-użu fi prodotti kwalifikati mhux awtomotivi — Sakemm din il-folja tad-dejta ma tiddikjarax espressament li dan il-prodott speċifiku NXP Semiconductors huwa kwalifikat għall-karozzi, il-prodott mhuwiex adattat għall-użu tal-karozzi. La hija kwalifikata u lanqas ittestjata skont l-ittestjar tal-karozzi jew ir-rekwiżiti tal-applikazzjoni. NXP Semiconductors ma jaċċetta l-ebda responsabbiltà għall-inklużjoni u/jew l-użu ta 'prodotti kwalifikati mhux awtomotivi f'tagħmir jew applikazzjonijiet tal-karozzi.
Fil-każ li l-klijent juża l-prodott għad-disinn u l-użu f’applikazzjonijiet awtomotivi għal speċifikazzjonijiet u standards tal-karozzi, il-klijent (a) għandu juża l-prodott mingħajr il-garanzija ta’ NXP Semiconductors tal-prodott għal tali applikazzjonijiet, użu u speċifikazzjonijiet tal-karozzi, u ( b) kull meta l-klijent juża l-prodott għal applikazzjonijiet awtomotivi lil hinn mill-ispeċifikazzjonijiet ta’ NXP Semiconductors, dan l-użu għandu jkun biss għar-riskju tal-klijent, u (c) il-klijent jindennizza bis-sħiħ lil NXP Semiconductors għal kwalunkwe responsabbiltà, danni jew pretensjonijiet tal-prodott falluti li jirriżultaw mid-disinn tal-klijent u l-użu tal-prodott. il-prodott għall-applikazzjonijiet tal-karozzi lil hinn mill-garanzija standard ta 'NXP Semiconductors u l-ispeċifikazzjonijiet tal-prodott ta' NXP Semiconductors.
Traduzzjonijiet — Verżjoni mhux bl-Ingliż (tradotta) ta’ dokument, inkluża l-informazzjoni legali f’dak id-dokument, hija għal referenza biss. Il-verżjoni bl-Ingliż għandha tipprevali f'każ ta' kwalunkwe diskrepanza bejn il-verżjoni tradotta u dik bl-Ingliż.
Sigurtà — Il-Klijent jifhem li l-prodotti NXP kollha jistgħu jkunu soġġetti għal vulnerabbiltajiet mhux identifikati jew jistgħu jappoġġjaw standards jew speċifikazzjonijiet ta’ sigurtà stabbiliti b’limitazzjonijiet magħrufa. Il-Klijent huwa responsabbli għad-disinn u l-operat tal-applikazzjonijiet u l-prodotti tiegħu matul iċ-ċiklu tal-ħajja tagħhom biex inaqqas l-effett ta 'dawn il-vulnerabbiltajiet fuq l-applikazzjonijiet u l-prodotti tal-klijent. Ir-responsabbiltà tal-klijent testendi wkoll għal teknoloġiji oħra miftuħa u/jew proprjetarji appoġġjati minn prodotti NXP għall-użu fl-applikazzjonijiet tal-klijent. NXP ma jaċċetta l-ebda responsabbiltà għal xi vulnerabbiltà. Il-klijent għandu jiċċekkja regolarment l-aġġornamenti tas-sigurtà minn NXP u jsegwi b'mod xieraq.
Il-Klijent għandu jagħżel prodotti b'karatteristiċi ta' sigurtà li jissodisfaw l-aħjar ir-regoli, ir-regolamenti u l-istandards tal-applikazzjoni maħsuba u jieħu d-deċiżjonijiet finali tad-disinn dwar il-prodotti tiegħu u huwa biss responsabbli għall-konformità mar-rekwiżiti legali, regolatorji u relatati mas-sigurtà kollha li jikkonċernaw il-prodotti tiegħu, irrispettivament. ta’ kwalunkwe informazzjoni jew appoġġ li jista’ jingħata minn NXP.
NXP għandu Tim ta' Rispons għall-Inċidenti tas-Sigurtà tal-Prodott (PSIRT) (li jista' jintlaħaq fuq PSIRT@nxp.com) li jamministra l-investigazzjoni, ir-rappurtar, u r-rilaxx tas-soluzzjoni għall-vulnerabbiltajiet tas-sigurtà tal-prodotti NXP.
6.3 Trademarks
Avviż: Il-marki kollha referenzjati, l-ismijiet tal-prodotti, l-ismijiet tas-servizz, u t-trademarks huma l-proprjetà tas-sidien rispettivi tagħhom.
NXP — wordmark u l-logo huma trademarks ta' 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 — huma trademarks jew trademarks reġistrati ta’ Arm Limited (jew is-sussidjarji tagħha) fl-Istati Uniti u/jew xi mkien ieħor. It-teknoloġija relatata tista' tkun protetta minn kwalunkwe privattiva, drittijiet tal-awtur, disinni u sigrieti kummerċjali jew kollha. Id-drittijiet kollha riżervati.
Jekk jogħġbok kun konxju li avviżi importanti dwar dan id-dokument u l-prodott(i) deskritt(i) hawnhekk, ġew inklużi fit-taqsima 'Informazzjoni legali'.
© 2023 NXP BV
Għal aktar informazzjoni, jekk jogħġbok żur: http://www.nxp.com
Id-drittijiet kollha riżervati.
Data tar-rilaxx: 4 ta' Jannar 2023
Identifikatur tad-dokument: AN13823
Dokumenti / Riżorsi
![]() |
Software NXP AN13823 IEC 60730 Klassi B għal MCUs LPC553x [pdfGwida għall-Utent AN13823 IEC 60730 Klassi B Software għal LPC553x MCUs, AN13823, IEC 60730 Klassi B Software għal LPC553x MCUs, AN13823 IEC 60730 Klassi B Software |