Programu ya AN13823 IEC 60730 ya Hatari B kwa ajili ya LPC553x MCUs
Mwongozo wa Mtumiaji
Programu ya AN13823 IEC 60730 ya Hatari B kwa ajili ya LPC553x MCUs
Uch. 0 - 4 Januari 2023
Ujumbe wa maombi
Taarifa za hati
Habari | Maudhui |
Maneno muhimu | LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B |
Muhtasari | Kusudi kuu la dokezo hili la programu ni kuharakisha uundaji wa programu ya mteja na michakato ya uthibitishaji kwa bidhaa kulingana na LPC553x MCUs. |
Utangulizi
Kiwango cha usalama cha IEC 60730 kinafafanua mbinu za majaribio na uchunguzi zinazohakikisha utendakazi salama wa maunzi ya udhibiti yaliyopachikwa na programu ya vifaa vya nyumbani.
Ili kufikia usalama wa kazi, ni muhimu kuondoa hatari zote za hatari ambazo malfunction ya mfumo inaweza kusababisha.
Kiwango cha IEC 60730 kinaainisha vifaa vinavyotumika katika vikundi vitatu:
- Daraja A: Haikusudiwa kutegemewa kwa usalama wa kifaa
- Darasa B: Ili kuzuia uendeshaji usio salama wa vifaa vinavyodhibitiwa
- Darasa C: Ili kuzuia hatari maalum
NXP hutoa maktaba ya IEC 60730 ya Daraja B ya usalama ili kusaidia watengenezaji wa vidhibiti otomatiki katika soko kubwa la vifaa kukidhi kanuni za darasa la B za IEC 60730. Maktaba inasaidia vitambulisho vya IAR, Keil, na MCUXpresso.
Unaweza kujumuisha binary ya maktaba ya usalama ya NXP kwenye programu yako ya utumaji programu. Kwa maendeleo rahisi ya programu ya IEC60730B, maktaba pia hutoa exampmradi le. Ex huyuample inasambazwa kupitia Kiwango cha Usalama cha IEC 60730 kwa Vifaa vya Kaya on nxp.com webtovuti.Kusudi kuu la dokezo hili la programu ni kuharakisha uundaji wa programu ya mteja na michakato ya uthibitishaji kwa bidhaa kulingana na LPC553x MCUs.
Maktaba ya NXP IEC 60730 ya Daraja B imekamilikaview
Maktaba ya usalama inajumuisha majaribio ya kibinafsi ya sehemu tegemezi na sehemu ya pembeni kama ilivyoorodheshwa hapa chini:
- Sehemu inayotegemea msingi
- Mtihani wa rejista za CPU
- Mtihani wa kukabiliana na programu ya CPU
- Mtihani wa kumbukumbu unaobadilika
- Mtihani wa kumbukumbu usiobadilika
- Mtihani wa stack - Sehemu inayotegemea pembeni
- Mtihani wa saa
- Mtihani wa pembejeo / matokeo ya dijiti
- Mtihani wa pembejeo / matokeo ya Analogi
- Mtihani wa mbwa
Jedwali 1. Kuzingatia viwango vya IEC 60730 Hatari B
Maktaba ya Hatari B ya NXP IEC 60730 | IEC 60730 | ||
sehemu | Mbinu | Vipengee | Imetumika |
Rejesta za CPU | Utaratibu wa majaribio ya rejista ya CPU hujaribu rejista zote za CM33 CPU kwa hali iliyokwama. | 1.1 Daftari | H.2.16.6 |
Kaunta ya programu | Utaratibu wa majaribio ya kaunta ya programu ya CPU hujaribu rejista ya kaunta ya programu ya CPU kwa hali iliyokwama. Jaribio la rejista ya kaunta ya programu linaweza kufanywa mara moja baada ya kuweka upya MCU na pia wakati wa utekelezaji. Lazimisha CPU (mtiririko wa programu) kufikia anwani inayolingana ambayo inajaribu mchoro ili kuthibitisha utendakazi wa kaunta ya programu. |
1.3 Kaunta ya programu | H.2.16.6 |
Saa | Utaratibu wa mtihani wa saa hujaribu oscillators ya processor kwa mzunguko usio sahihi. Kanuni ya mtihani wa saa inategemea kulinganisha kwa vyanzo viwili vya kujitegemea vya saa. Ikiwa utaratibu wa majaribio utagundua mabadiliko katika uwiano wa marudio kati ya vyanzo vya saa, msimbo wa hitilafu wa kushindwa hurejeshwa. | 3.Saa | NA |
Kumbukumbu isiyobadilika | Jaribio lisilobadilika la kumbukumbu ni kuangalia kama kuna mabadiliko katika maudhui ya kumbukumbu (on-chip Flash) wakati wa utekelezaji wa programu. Njia kadhaa za ukaguzi (kwa mfanoample, CRC16) inaweza kutumika kwa madhumuni haya. | 4.1 Kumbukumbu isiyobadilika |
H.2.19.3.1 |
Mtihani wa kumbukumbu unaobadilika | Hukagua RAM kwenye chip kwa hitilafu za DC. Miradi ya Machi C na Machi X inatumika kama njia za udhibiti. | 4.2 Kumbukumbu inayobadilika | H.2.19.6 |
Dijitali mtihani wa pembejeo/ pato |
Vitendaji vya jaribio la DIO vimeundwa ili kuangalia utendakazi wa pembejeo na utoaji wa dijiti na hali ya mzunguko mfupi kati ya pini iliyojaribiwa na sauti ya usambazaji.tage, ardhi, au hiari pini iliyo karibu. | 7.1 Dijitali I/O | H.2.18.13 |
Mtihani wa Ingizo/ Pato la Analogi (I/ 0). | Jaribio hukagua kiolesura cha ingizo la analogi na thamani tatu za marejeleo: marejeleo ya juu, marejeleo ya chini, na ujazo wa bandgap.tage. Jaribio la ingizo la analogi linatokana na ubadilishaji wa pembejeo tatu za analogi zenye ujazo unaojulikanatage maadili na huangalia ikiwa maadili yaliyobadilishwa yanafaa katika mipaka iliyoainishwa. Kwa kawaida, mipaka inapaswa kuwa takriban 10% karibu na maadili ya rejeleo unayotaka. | 7.2 Analogi I/O | H.2.18.13 |
Maktaba ya NXP IEC 60730 ya Daraja B exampmradi le
Kwa maendeleo rahisi ya programu ya IEC60730B, maktaba hutoa toleo la zamaniample mfumo wa mradi, uliojengwa juu ya bodi maalum ya tathmini ya LPC553x Ingia kwa NXP.com | Semiconductors ya NXP (LPC5536-EVK). Lazima usanidi mipangilio sahihi ya maktaba kwa mradi halisi.3.1 Ujumuishaji wa maktaba ya usalama kwenye programu ya mtumiaji
Usalama wa zamaniample routines za mradi zimegawanywa katika michakato miwili kuu: kabla ya kufanya mtihani wa usalama wa wakati mmoja na mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia.
Kielelezo kifuatacho kinaonyesha michakato ya mtihani wa usalama.Ili kuunganisha maktaba ya usalama ya NXP, fanya hatua zifuatazo:
- Pakua usalama wa zamaniampmradi kutoka nxp.com
- Mpangilio wa maunzi kwa kuzingatia vifaa vya pembeni vinavyotumika kujipima usalama
- Sanidi maktaba ya usalama kulingana na muundo halisi wa maunzi
- Washa kipengele cha majaribio ya usalama moja baada ya nyingine katika safety_config.h
• Kwa utatuzi, ni bora KUZIMA kipimo cha flash na shirika la ulinzi kwanza
• Chunga ukatizaji, kwani baadhi ya majaribio ya usalama hayawezi kukatizwa - Tengeneza msimbo wa programu kulingana na zamani wa usalamaampmfumo wa mradi
LPC553x maktaba ya usalama example mradi kwa vitendo
4.1 Mchoro wa kuzuia vifaa
Moduli zifuatazo zinatumika kujipima usalama kwa chaguo-msingi kama inavyoonyeshwa kwenye kielelezo hapa chini:Jedwali 2. Moduli ya MCU ya kujipima usalama
Kipengee cha jaribio la maktaba ya usalama | Sehemu ya MCU |
Mtihani wa CPU | Msingi wa LPC5536 CM33 |
Mtihani wa saa | Systick CTIMER0 |
Mtihani wa walinzi | Mlinzi CTIMER0 |
Mtihani wa kumbukumbu unaobadilika | SRAM |
Mtihani wa kumbukumbu usiobadilika | Mwako |
Jaribio la I/O la kidijitali | GPIO1 |
Mtihani wa Analogi wa I/O | ADC0 |
4.2 Mtihani wa CPU
4.2.1 CPU husajili maelezo ya mtihani
Utaratibu wa majaribio ya rejista ya CPU hujaribu rejista zote za CM33 CPU kwa hali ya kukwama (isipokuwa rejista ya kaunta ya programu). Jaribio la kukabiliana na programu linatekelezwa kama utaratibu wa usalama uliojitegemea. Seti hii ya majaribio inajumuisha majaribio ya rejista zifuatazo:
- Rejesta za madhumuni ya jumla:
- R0-R12 - Rejesta za viashiria kwa rafu:
- MSP + MSPLIM (salama / isiyo salama)
- PSP + PSPLIM (salama / isiyo salama) - Rejesta maalum:
- APSR
- UDHIBITI (salama / sio salama)
- PRIMASK (salama / isiyo salama)
- FAULTMMASK (salama / isiyo salama)
- BASEPRI (salama / isiyo salama) - Usajili wa kiungo:
-LR - Rejesta za FPU:
- FPSCR
- S0 - S31
Kuna seti ya majaribio ambayo hufanywa mara moja baada ya kuweka upya MCU na pia wakati wa utekelezaji. Unaweza kutumia tena mipangilio chaguomsingi ya maktaba ya usalama ya LPC553x example project, hata hivyo, lazima uzingatie ukatizaji kwani baadhi ya majaribio ya rejista ya CPU hayawezi kukatizwa.
- Jaribio la usalama la wakati mmoja
– SafetyCpuAfterResetTest /* Vikatizo lazima vizimwe kwa muda */
– 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 - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
- Mtihani wa UsalamaCpuBackground /* Mtihani wa rejista za CPU zinazoweza kuharibika */
– FS_CM33_CPU_Register
– FS_CM33_CPU_NonStackedRegister
– FS_CM33_CPU_Control /* Vikatizo lazima vizimwe kwa muda */
– FS_CM33_CPU_SPprocess_S /* Vikatizo lazima vizimwe kwa muda */
4.3 Mtihani wa kaunta wa programu ya CPU
4.3.1 Maelezo ya jaribio la kaunta la programu ya CPU
Utaratibu wa majaribio ya rejista ya kaunta ya programu ya CPU hujaribu rejista ya kaunta ya programu ya CPU kwa hali iliyokwama. Kinyume na rejista zingine za CPU, kihesabu cha programu hakiwezi kujazwa tu na mchoro wa majaribio. Ni muhimu kulazimisha CPU (mtiririko wa programu) kufikia anwani inayolingana ambayo inajaribu mchoro ili kuthibitisha utendakazi wa kaunta ya programu.
Kumbuka kuwa jaribio la kaunta la programu haliwezi kukatizwa.Jaribio la rejista ya kaunta ya programu linaweza kufanywa mara moja baada ya kuweka upya MCU na pia wakati wa utekelezaji.
- Jaribio la usalama la wakati mmoja
– SafetyPcTest
– FS_CM33_PC_Test - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
– SafetyIsrFunction > SafetyPcTest
– FS_CM33_PC_Test
4.4 Jaribio la kumbukumbu linalobadilika
4.4.1 Maelezo ya mtihani wa kumbukumbu unaobadilika
Jaribio la kumbukumbu badilifu la vifaa vinavyotumika hukagua RAM kwenye chip kwa hitilafu za DC.
Eneo la mrundikano wa programu pia linaweza kujaribiwa. Miradi ya Machi C na Machi X inatumika kama njia za udhibiti.Vipengele vya kushughulikia ni tofauti kwa jaribio la baada ya kuweka upya na kwa jaribio la wakati wa utekelezaji.
Jaribio la baada ya kuweka upya hufanywa na kitendakazi cha FS_CM33_RAM_AfterReset (). Kazi hii inaitwa mara moja baada ya kuweka upya, wakati wakati wa utekelezaji sio muhimu. Hifadhi nafasi ya kumbukumbu ya bure kwa eneo la chelezo. Kigezo cha saizi ya kizuizi hakiwezi kuwa kubwa kuliko saizi ya eneo la chelezo. Kazi ya kwanza huangalia eneo la chelezo, kisha kitanzi huanza. Vitalu vya kumbukumbu vinanakiliwa kwenye eneo la chelezo na maeneo yao yanakaguliwa na jaribio husika la Machi. Data inanakiliwa kwenye eneo la kumbukumbu asili na anwani halisi iliyo na saizi ya kizuizi inasasishwa. Hii inarudiwa hadi kizuizi cha mwisho cha kumbukumbu kijaribiwe. Ikiwa hitilafu ya DC imegunduliwa, chaguo la kukokotoa hurejesha muundo wa kushindwa.
Jaribio la wakati wa utekelezaji linafanywa na chaguo la kukokotoa la FS_CM33_RAM_Runtime (). Ili kuokoa muda, hujaribu sehemu moja pekee (iliyofafanuliwa na RAM_TEST_BLOCK_SIZE) ya SRAM kwa wakati. Wakati jaribio la baada ya kuweka upya hukagua kizuizi kizima cha nafasi ya RAM inayohusiana na usalama. Katika maktaba ya usalama ya LPC553x example project, RAM_TEST_BLOCK_SIZE imesanidiwa kuwa 0x4, inamaanisha kuwa baiti 32 za RAM zitajaribiwa katika ratiba ya majaribio ya RAM ya wakati mmoja.
- Jaribio la usalama la wakati mmoja
– SafetyRamAfterResetTest /* Jaribu nafasi nzima ya RAM ya sehemu ya “.safety_ram“ kabla ya kutekeleza utaratibu mkuu. */
- FS_CM33_RAM_AfterReset - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
– SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* inayotekelezwa katika Systick ISR, haiwezi kukatizwa */
– FS_CM33_RAM_Runtime
4.4.2 Usanidi wa mtihani wa kumbukumbu unaobadilika
Usanidi wa jaribio la kumbukumbu tofauti katika :Usanidi wa kizuizi cha RAM cha usalama umeingia :
fafanua kizuizi SAFETY_RAM_BLOCK kwa mpangilio = 8
{sehemu .safety_ram };
weka katika eneo la RAM {block SAFETY_RAM_BLOCK};
Kumbuka kuwa .safety_ram pekee ndiyo inafunikwa na jaribio la kumbukumbu tofauti. Ongeza vigeu kwenye sehemu ya .safety_ram wewe mwenyewe, kama inavyoonyeshwa hapa chini katika main.c.4.5 Mtihani wa kumbukumbu usiobadilika
4.5.1 Maelezo ya jaribio la kumbukumbu lisilobadilika
Kumbukumbu isiyobadilika kwenye LPC5536 MCU ni mmweko wa on-chip. Kanuni ya jaribio la kumbukumbu lisilobadilika ni kuangalia ikiwa kuna mabadiliko katika yaliyomo kwenye kumbukumbu wakati wa utekelezaji wa programu. Njia kadhaa za hundi zinaweza kutumika kwa kusudi hili. Cheki ni algoriti inayokokotoa saini ya data iliyowekwa kwenye kumbukumbu iliyojaribiwa. Saini ya kizuizi hiki cha kumbukumbu basi huhesabiwa mara kwa mara na kulinganishwa na sahihi asilia.
Sahihi ya kumbukumbu iliyokabidhiwa huhesabiwa katika awamu ya kuunganisha ya programu. Sahihi lazima ihifadhiwe kwenye kumbukumbu isiyobadilika, lakini katika eneo tofauti na lile ambalo hundi imekokotolewa. Katika muda wa utekelezaji na baada ya kuweka upya, algorithm sawa lazima itekelezwe katika programu ili kuhesabu checksum. Matokeo yanalinganishwa. Ikiwa si sawa, hali ya hitilafu ya usalama hutokea.
Inapotekelezwa baada ya kuweka upya au wakati hakuna kizuizi kwa muda wa utekelezaji, simu ya chaguo la kukokotoa inaweza kuwa kama ifuatavyo.
• Jaribio la usalama la wakati mmoja kabla ya kukimbia
- SafetyFlashAfterResetTest
- FS_FLASH_C_HW16_K /* kukokotoa CRC ya Flash nzima */
Katika muda wa maombi na kwa muda mfupi wa utekelezaji, CRC inakokotolewa kwa mfuatano. Inamaanisha kuwa vigezo vya ingizo vina maana tofauti kwa kulinganisha na simu baada ya kuweka upya. Utekelezaji kwa mfanoample ni kama ifuatavyo:
• Jaribio la usalama la mara kwa mara la wakati wa kukimbia
- SafetyFlashRuntimeTest
- FS_FLASH_C_HW16_K /* hesabu kizuizi cha CRC kwa kizuizi */
– SafetyFlashTestHandling /* linganisha CRC wakati vizuizi vyote vya Flash vinakokotolewa. */
4.5.2 Usanidi wa mtihani wa kumbukumbu usiobadilika
Katika maktaba ya usalama ya LPC553x exampkatika mradi huo, mgao wa flash umeonyeshwa hapa chini kama ilivyobainishwa kwenye Kiungo file . Kitu files na zimewekwa kwenye kizuizi cha usalama ambacho hukaguliwa na jaribio la kumbukumbu lisilobadilika. Unaweza kuweka kitu zaidi files kwenye SAFETY_FLASH_BLOCK eneo la Mweko kwa kurekebisha Kiunganishi file ipasavyo.Kuna hesabu mbili za hundi za kulinganishwa wakati wa utekelezaji wa MCU ili kuthibitisha kama maudhui ya nafasi iliyotolewa ya flash imerekebishwa:
- Cheki imekokotolewa na Kiungo katika Kukusanya/Kuunganisha
- Cheki imekokotolewa na MCU wakati wa utekelezaji
Ufafanuzi wa eneo la kuweka matokeo ya hundi (yaliyokokotolewa awali na zana za kiunganishi) umo :
fafanua ishara __FlashCRC_start__ = 0x0300; /* kwa kuweka cheki */
fafanua ishara __FlashCRC_end__ = 0x030F; /* kwa kuweka cheki */
fafanua eneo CRC_region = mem: [kutoka __FlashCRC_start__ hadi __FlashCRC_end__];
fafanua kizuizi cha CHECKSUM na upatanishi = 8 {sehemu. checksum}; mahali katika CRC_region {zuia CHECKSUM};
Chukua IAR IDE, kwa mfanoampna, katika mpangilio wa chaguo la mradi> Jenga Vitendo> Mstari wa amri ya baada ya kujenga.Mstari wa amri:
ielftool -jaza 0xFF;c_checksumStart-c_checksumEnd+3 -checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 -verbose "$TARGET_PATH$" "$TARGET_PATH$"
Kiunganishi hukokotoa hundi asili ya anwani ya mwako kutoka _checksumStart hadi c_checksumEnd, kisha huweka matokeo ya hundi kwenye _checksum, ambayo iko kwenye block CHECKSUM iliyofafanuliwa na Kiungo. file.
Ufafanuzi wa nafasi iliyobainishwa ya mweko ya kuangaliwa umo :
fafanua kizuizi SAFETY_FLASH_BLOCK kwa mpangilio = 8, mpangilio thabiti { sehemu ya kusoma pekee checksum_start_mark, sehemu ya .text object main.o, sehemu ya .text object safety_cm33_lpc.o, sehemu ya .rodata object safety_cm33_lpc.o, sehemu ya kusoma pekee checksum_end_mark };
weka katika ROM_region { block SAFETY_FLASH_BLOCK};
4.6 Mtihani wa rafu
4.6.1 Maelezo ya mtihani wa rafu
Jaribio la rafu ni jaribio la ziada, ambalo halijabainishwa moja kwa moja kwenye jedwali la kiambatisho cha IEC60730.
Ratiba hii ya majaribio hutumika kujaribu hali ya kufurika na kutoweka kwa rafu ya programu. Upimaji wa hitilafu zilizokwama katika eneo la kumbukumbu linalochukuliwa na stack hufunikwa na jaribio la kumbukumbu la kutofautiana. Kuzidisha au kujaa chini kwa rafu kunaweza kutokea ikiwa rafu haitadhibitiwa vibaya au kwa kufafanua eneo la rafu "chini sana" kwa programu fulani.
Kanuni ya mtihani ni kujaza eneo chini na juu ya stack na muundo unaojulikana. Maeneo haya lazima yafafanuliwe katika usanidi wa kiunganishi file, pamoja na stack. Chaguo za uanzishaji kisha hujaza maeneo haya na muundo wako. Mchoro lazima uwe na thamani ambayo haionekani mahali pengine kwenye programu. Kusudi ni kuangalia ikiwa muundo halisi bado umeandikwa katika maeneo haya. Ikiwa sivyo, ni ishara ya tabia isiyo sahihi ya mrundikano. Hili likitokea, basi thamani ya kurudi FAIL kutoka kwa chaguo za kukokotoa za jaribio lazima ichakatwa kama hitilafu ya usalama.Jaribio linafanywa baada ya kuweka upya na wakati wa utekelezaji wa programu kwa njia ile ile.
- Jaribio la usalama la wakati mmoja
– SafetyStackTestInit
– FS_CM33_STACK_Init /* andika STACK_TEST_PATTERN (0x77777777) hadi STACK_TEST_BLOCK */
– SafetyStackTest
– FS_CM33_STACK_Test /* angalia maudhui ya STACK_TEST_BLOCK, imeshindwa ikiwa thamani si sawa na STACK_TEST_PATTERN (0x77777777). - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
– SafetyStackTest
– FS_CM33_STACK_Init /* andika STACK_TEST_PATTERN (0x77777777) hadi STACK_TEST_BLOCK */
– SafetyStackTest
– FS_CM33_STACK_Test /* angalia maudhui ya STACK_TEST_BLOCK, itashindikana ikiwa thamani si sawa na STACK_TEST_PATTERN (0x77777777)
4.6.2 Usanidi wa jaribio la rafu
Mipangilio ya jaribio la rafu iko ndani na kiunganishi file 4.7 Mtihani wa saa
4.7.1 Maelezo ya mtihani wa saa
Kanuni ya mtihani wa saa inategemea kulinganisha kwa vyanzo viwili vya kujitegemea vya saa.
Katika maktaba ya usalama ya LPC553x example mradi, CTIMER0 na Systick kwenye MCU LPC5536 hutumiwa kama saa mbili huru kwa mtihani wa saa ya usalama, hazitegemei bodi ya vifaa ya LPC5536-EVK.
Ratiba ya majaribio ya saa inatekelezwa katika jaribio la usalama la mara kwa mara la wakati wa utekelezaji pekee.
- Jaribio la usalama la wakati mmoja
- Hakuna mtihani wa saa - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
- SafetyClockTestCheck
– SafetyClockTestIsr
4.7.2 Usanidi wa mtihani wa saa
Kwa vile saa mbili huru zinahitajika kwa ajili ya jaribio la saa katika maktaba ya usalama ya LPC553x exampmradi huu:
- Kipima muda cha SYSTICK kinatokana na PLL0 150 M (kilichotolewa kutoka kioo cha nje cha MHz 16)
- Kipima muda cha CTIMER0 kinatokana na FRO_96M ya ndani
Usanidi wa kina wa Systick na CTIMER0 umeonyeshwa hapa chini:
- Usanidi wa Systick: SystickISR_Freq = 1000 Hz, kwa kuweka thamani ya upakiaji upya 150,000 chini ya saa ya msingi ya 150 MHz
- Mipangilio ya CTIMER: CTIMER_Freq = 96 MHz, imetolewa kutoka saa 96 MHz FRO_96M
- Kaunta ya CTIMER inayotarajiwa inapaswa kuwa CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
- Katika kila Systick katiza ISR, hifadhi thamani ya kaunta ya CTIMER
- Katika muda wa utekelezaji huku (1) kitanzi, angalia: (96,000 - 20 %) < CTIMER tarajia kihesabu < (96,000 + 20 %)
Mipangilio ya jaribio la saa iko katika Safety_config.h.
Kulingana na programu halisi, unaweza kubadilisha mfano wa CTIMER kwa jaribio la saa ya usalama kwa kusanidi jumla ya REF_TIMER_USED. Pia, lazima usanidi REF_TIMER_CLOCK_FREQUENCY kulingana na mzunguko halisi wa saa. 4.8 Jaribio la I/O la Dijitali
4.8.1 Maelezo ya jaribio la Digital I/O
Katika maktaba ya usalama ya LPC553x example project, GPIO P1_4 na P1_17 kwenye LPC5536-EVK zimechaguliwa kwa ajili ya mtihani wa usalama wa I/O wa dijiti, pini hizi mbili zimeunganishwa kwenye kichwa cha J10 kwenye ubao wa LPC553x EVK.
Ratiba za majaribio ya kidijitali ya I/O zimegawanywa katika michakato miwili kuu: jaribio la usalama la wakati mmoja na jaribio la usalama la mara kwa mara la wakati wa utekelezaji.
- Jaribio la usalama la wakati mmoja
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
– SafetyDigitalInputOutput_ShortAdjTest - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
4.8.2 Usanidi wa jaribio la Digital I/O
Mipangilio ya jaribio la dijitali la I/O liko katika safety_test_items.c.Utekelezaji wa majaribio ya kidijitali ya I/O lazima yarekebishwe kwa programu ya mwisho. Kuwa mwangalifu na viunganisho vya maunzi na muundo. Unaweza kubadilisha GPIO kwa usalama
jaribio la kidijitali la I/O kwa kusanidi vipengee_vya_test_dio_safety[] katika safety_test_items.c. Katika hali nyingi, pini iliyojaribiwa (na wakati mwingine pia kisaidizi) lazima ipangiwe upya wakati wa utekelezaji wa programu. Inapendekezwa kutumia pini ambazo hazijatumika kwa jaribio la dijitali la I/O.
4.9 Mtihani wa I/O wa Analogi
4.9.1 Maelezo ya jaribio la Analogi ya I/O
Katika maktaba ya usalama ya LPC553x example project, P0_16/ADC0IN3B, P0_31/ADC0IN8A, na P0_15/ADC0IN3A kwenye LPC5536-EVK zimechaguliwa kwa ajili ya jaribio la usalama la analogi ya I/O, kwa sababu moduli ya ADC kwenye MCU LPC5536 hairuhusu kuunganisha VREFH, VREDC ndani ya A. pembejeo. Ni muhimu kwa mtumiaji kuunganisha mawimbi haya (kwa jaribio la analogi ya I/O) na waya zinazoruka kama inavyoonyeshwa hapa chini.
- GND imeunganishwa kwa P0_16/ADC0IN3B (J9-5) kwa Jaribio la ADC VREFL
- 3.3 V imeunganishwa kwenye P0_31/ADC0IN8A (J9-31) kwa Jaribio la ADC VREFH
- 1.65 V imeunganishwa kwenye P0_15/ADC0IN3A (J9-1) kwa ajili ya Jaribio la ADC Bandgap
Taratibu za majaribio za analogi za I/O zimegawanywa katika michakato miwili kuu:
- Jaribio la usalama la wakati mmoja
-SafetyAnalogTest - Mtihani wa usalama wa mara kwa mara wa wakati wa kukimbia
-SafetyAnalogTest
4.9.2 Usanidi wa majaribio ya Analogi ya I/O
Utekelezaji wa vipimo vya I/O vya analogi lazima urekebishwe kwa programu ya mwisho. Kuwa mwangalifu na viunganisho vya maunzi na muundo. Unaweza kubadilisha chaneli za ADC kwa jaribio la I/O la analogi ya usalama kwa kusanidi FS_CFG_AIO_CHANNELS_INIT na
FS_CFG_AIO_CHANNELS_SIDE_INIT katika safety_config.h.
- FS_CFG_AIO_CHANNELS_INIT inaonyesha nambari ya kituo cha ADC.
- FS_CFG_AIO_CHANNELS_SIDE_INIT inaonyesha upande wa kituo cha ADC.
Kama inavyoonyeshwa kwenye takwimu hapo juu:
- Kipengele cha kwanza kinalingana na jaribio la ADC VREFL
- Kipengele cha pili kinalingana na jaribio la ADC VREFH
- Kipengele cha tatu kinalingana na jaribio la ADC Bandgap
Kwa mfanoample, "3" katika FS_CFG_AIO_CHANNELS_INIT na "1" ndani
FS_CFG_AIO_CHANNELS_SIDE_INIT inaonyesha kuwa ADC0 chaneli ya 3 upande B imechaguliwa kwa jaribio la ADC VREFL.
4.10 Mtihani wa Mlinzi
4.10.1 Maelezo ya mtihani wa Mlinzi
Jaribio la walinzi halijabainishwa moja kwa moja katika jedwali la IEC60730 - kiambatisho H, hata hivyo, linatimiza kwa kiasi mahitaji ya usalama kulingana na viwango vya IEC 60730-1, IEC 60335, UL 60730, na UL 1998.
Jaribio la walinzi hutoa majaribio ya utendakazi wa kipima saa cha walinzi. Jaribio linaendeshwa mara moja tu baada ya kuweka upya. Jaribio husababisha WDOG kuweka upya na kulinganisha muda uliowekwa awali wa kuweka upya WDOG na wakati halisi.Katika maktaba ya usalama ya LPC553x example project, walinzi hujaribiwa kwa kutumia hatua zifuatazo:
- Baada ya kuweka upya, washa shirika la kuangalia na uache kuonyesha upya kwa makusudi ili kuanzisha uwekaji upya wa MCU.
- Washa CTIMER0 ili kupima inachukua muda gani kwa muda wa kuisha na kuweka upya.
- Baada ya kuweka upya shirika la ufuatiliaji, thibitisha kuwa uwekaji upya huu unasababishwa na mlinzi kwa kuangalia rejista ya PMC->AOREG1.
- Soma CTIMER0 ili kupata muda kamili wa muda ulioisha na uweke upya.
Historia ya marekebisho
Jedwali hapa chini linatoa muhtasari wa masahihisho ya hati hii.
Jedwali 3. Historia ya marekebisho
Nambari ya marekebisho | Tarehe | Mabadiliko makubwa |
0 | 4-Jan-23 | Toleo la kwanza kwa umma |
Taarifa za kisheria
6.1 Ufafanuzi
Rasimu - Hali ya rasimu kwenye hati inaonyesha kuwa maudhui bado yako chini ya urekebishaji wa ndaniview na kulingana na idhini rasmi, ambayo inaweza kusababisha marekebisho au nyongeza. NXP Semiconductors haitoi uwakilishi au dhamana yoyote kuhusu usahihi au ukamilifu wa taarifa iliyojumuishwa katika toleo la rasimu ya hati na haitakuwa na dhima kwa matokeo ya matumizi ya habari kama hiyo.
6.2 Kanusho
Dhima na dhima ndogo - Taarifa katika hati hii inaaminika kuwa sahihi na ya kuaminika. Hata hivyo, NXP Semiconductors haitoi uwakilishi au dhamana yoyote, iliyoelezwa au kudokezwa, kuhusu usahihi au ukamilifu wa taarifa kama hizo na haitakuwa na dhima kwa matokeo ya matumizi ya habari hiyo. NXP Semiconductors haiwajibikii maudhui katika hati hii ikiwa yametolewa na chanzo cha habari nje ya NXP Semiconductors.
Kwa hali yoyote, Semiconductors za NXP hazitawajibika kwa uharibifu wowote usio wa moja kwa moja, wa bahati mbaya, wa adhabu, maalum au wa matokeo (pamoja na - bila kikomo faida iliyopotea, akiba iliyopotea, usumbufu wa biashara, gharama zinazohusiana na uondoaji au uingizwaji wa bidhaa zozote au malipo ya kurekebisha) iwe au sio uharibifu kama huo unaotokana na tort (ikiwa ni pamoja na uzembe), dhamana, uvunjaji wa mkataba au nadharia nyingine yoyote ya kisheria.
Bila kujali uharibifu wowote ambao mteja anaweza kupata kwa sababu yoyote ile, jumla ya Waendeshaji Semiconductors wa NXP na dhima limbikizi kwa mteja kwa bidhaa zilizofafanuliwa hapa zitapunguzwa kwa mujibu wa Sheria na Masharti ya uuzaji wa kibiashara wa Semiconductors za NXP.
Haki ya kufanya mabadiliko - Semiconductors ya NXP inahifadhi haki ya kufanya mabadiliko kwa taarifa iliyochapishwa katika hati hii, ikiwa ni pamoja na bila vikwazo vya vipimo na maelezo ya bidhaa, wakati wowote na bila taarifa. Hati hii inachukua nafasi na kuchukua nafasi ya maelezo yote yaliyotolewa kabla ya kuchapishwa kwake.
Kufaa kwa matumizi - Bidhaa za NXP za Semiconductors hazijaundwa, kuidhinishwa au kuthibitishwa kuwa zinafaa kwa matumizi katika usaidizi wa maisha, mifumo au vifaa muhimu vya maisha au usalama, wala katika matumizi ambapo kushindwa au kutofanya kazi kwa bidhaa ya NXP Semiconductors inaweza kutarajiwa kusababisha matokeo. kuumia binafsi, kifo au uharibifu mkubwa wa mali au mazingira. NXP Semiconductors na wasambazaji wake hawakubali dhima yoyote ya kujumuishwa na/au matumizi ya bidhaa za NXP Semiconductors katika vifaa au programu kama hizo na kwa hivyo kujumuishwa na/au matumizi ni kwa hatari ya mteja mwenyewe.
Maombi - Maombi ambayo yamefafanuliwa humu kwa bidhaa yoyote kati ya hizi ni kwa madhumuni ya kielelezo pekee. NXP Semiconductors haitoi uwakilishi au dhamana kwamba programu kama hizo zitafaa kwa matumizi maalum bila majaribio zaidi au marekebisho. Wateja wanawajibika kwa muundo na uendeshaji wa programu na bidhaa zao kwa kutumia bidhaa za NXP Semiconductors, na NXP Semiconductors haikubali dhima yoyote kwa usaidizi wowote wa programu au muundo wa bidhaa za mteja. Ni jukumu la mteja pekee kubainisha ikiwa bidhaa ya NXP Semiconductors inafaa na inafaa kwa programu na bidhaa zilizopangwa za mteja, na pia kwa programu iliyopangwa na matumizi ya mteja(wateja wengine). Wateja wanapaswa kutoa muundo unaofaa na ulinzi wa uendeshaji ili kupunguza hatari
zinazohusiana na maombi na bidhaa zao. NXP Semiconductors haikubali dhima yoyote inayohusiana na chaguo-msingi, uharibifu, gharama au tatizo lolote ambalo linatokana na udhaifu wowote au chaguo-msingi katika programu au bidhaa za mteja, au maombi au matumizi ya mteja/wateja wengine. Mteja ana wajibu wa kufanya majaribio yote yanayohitajika kwa ajili ya maombi na bidhaa za mteja kwa kutumia bidhaa za NXP Semiconductors ili kuepuka chaguo-msingi la programu na bidhaa au programu au matumizi ya mteja/watu wengine. NXP haikubali dhima yoyote katika suala hili.
Sheria na masharti ya uuzaji wa kibiashara - Bidhaa za Semiconductors za NXP zinauzwa kulingana na sheria na masharti ya jumla ya uuzaji wa kibiashara, kama ilivyochapishwa http://www.nxp.com/profile/terms, isipokuwa kama imekubaliwa vinginevyo katika makubaliano halali ya maandishi ya mtu binafsi. Ikiwa makubaliano ya mtu binafsi yamehitimishwa tu sheria na masharti ya makubaliano husika yatatumika. NXP Semiconductors inapinga waziwazi kutumia sheria na masharti ya jumla ya mteja kuhusu ununuzi wa bidhaa za NXP Semiconductors na mteja.
Udhibiti wa kuuza nje - Hati hii pamoja na bidhaa zilizoelezwa humu zinaweza kuwa chini ya kanuni za udhibiti wa usafirishaji nje. Usafirishaji unaweza kuhitaji idhini ya awali kutoka kwa mamlaka husika.
Kufaa kwa matumizi katika bidhaa zisizo na sifa za magari - Isipokuwa laha hii ya data itasema waziwazi kuwa bidhaa hii mahususi ya NXP Semiconductors ina sifa za uendeshaji wa magari, bidhaa hiyo haifai kwa matumizi ya magari. Haijahitimu wala kujaribiwa kwa mujibu wa majaribio ya magari au mahitaji ya maombi. NXP Semiconductors haikubali dhima ya kujumuishwa na/au matumizi ya bidhaa zisizo za kigari zilizohitimu katika vifaa vya magari au programu.
Iwapo mteja atatumia bidhaa kwa ajili ya kubuni na kutumia katika programu za magari kwa vipimo na viwango vya magari, mteja (a) atatumia bidhaa bila dhamana ya NXP ya Semiconductors ya bidhaa kwa ajili ya maombi hayo ya magari, matumizi na vipimo, na ( b) wakati wowote mteja anapotumia bidhaa kwa ajili ya maombi ya magari zaidi ya vipimo vya NXP Semiconductors matumizi kama hayo yatakuwa kwa hatari ya mteja mwenyewe, na (c) mteja anafidia kikamilifu Semiconductors za NXP kwa dhima yoyote, uharibifu au madai ya bidhaa yaliyofeli kutokana na muundo na matumizi ya mteja. bidhaa kwa ajili ya maombi ya magari zaidi ya udhamini wa kiwango cha NXP Semiconductors na vipimo vya bidhaa vya NXP Semiconductors.
Tafsiri - Toleo lisilo la Kiingereza (lililotafsiriwa) la hati, pamoja na maelezo ya kisheria katika waraka huo, ni kwa ajili ya marejeleo pekee. Toleo la Kiingereza litatumika iwapo kutatokea hitilafu yoyote kati ya matoleo yaliyotafsiriwa na ya Kiingereza.
Usalama - Mteja anaelewa kuwa bidhaa zote za NXP zinaweza kuwa chini ya udhaifu usiojulikana au zinaweza kusaidia viwango vilivyowekwa vya usalama au vipimo vilivyo na vikwazo vinavyojulikana. Mteja anawajibika kwa muundo na uendeshaji wa programu na bidhaa zake katika maisha yake yote ili kupunguza athari za udhaifu huu kwenye programu na bidhaa za mteja. Wajibu wa Mteja pia unaenea hadi kwa teknolojia zingine huria na/au za umiliki zinazoungwa mkono na bidhaa za NXP kwa matumizi katika programu za mteja. NXP haikubali dhima yoyote ya athari yoyote. Mteja anapaswa kuangalia mara kwa mara masasisho ya usalama kutoka NXP na kufuatilia ipasavyo.
Mteja atachagua bidhaa zilizo na vipengele vya usalama ambavyo vinakidhi vyema sheria, kanuni na viwango vya matumizi yaliyokusudiwa na kufanya maamuzi ya mwisho ya muundo kuhusu bidhaa zake na anawajibika kikamilifu kwa kufuata mahitaji yote ya kisheria, udhibiti na usalama yanayohusiana na bidhaa zake, bila kujali. habari au usaidizi wowote ambao unaweza kutolewa na NXP.
NXP ina Timu ya Majibu ya Tukio la Usalama wa Bidhaa (PSIRT) (inaweza kufikiwa kwa saa PSIRT@nxp.com) ambayo inadhibiti uchunguzi, kuripoti na kutolewa kwa suluhisho kwa udhaifu wa usalama wa bidhaa za NXP.
6.3 Alama za biashara
Notisi: Chapa zote zinazorejelewa, majina ya bidhaa, majina ya huduma na chapa za biashara ni mali ya wamiliki husika.
NXP - neno na nembo ni alama za biashara za NXP BV
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Imewezeshwa, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — ni alama za biashara au alama za biashara zilizosajiliwa za Arm Limited (au kampuni zake tanzu) nchini Marekani na/au kwingineko. Teknolojia inayohusiana inaweza kulindwa na hataza zozote au zote, hakimiliki, miundo na siri za biashara. Haki zote zimehifadhiwa.
Tafadhali fahamu kwamba arifa muhimu kuhusu hati hii na bidhaa/bidhaa zilizofafanuliwa hapa, zimejumuishwa katika sehemu ya 'Maelezo ya Kisheria'.
© 2023 NXP BV
Kwa habari zaidi, tafadhali tembelea: http://www.nxp.com
Haki zote zimehifadhiwa.
Tarehe ya kutolewa: 4 Januari 2023
Kitambulisho cha hati: AN13823
Nyaraka / Rasilimali
![]() |
Programu ya NXP AN13823 IEC 60730 ya Hatari B kwa ajili ya LPC553x MCUs [pdf] Mwongozo wa Mtumiaji Programu ya AN13823 IEC 60730 ya Hatari B kwa ajili ya LPC553x MCUs, AN13823, IEC 60730 Programu ya Hatari B kwa ajili ya Programu za LPC553x MCU, AN13823 IEC 60730 Programu ya Hatari B |