AN13823 IEC 60730 Class B Software para sa LPC553x MCUs
Giya sa Gumagamit
AN13823 IEC 60730 Class B Software para sa LPC553x MCUs
Pin. 0 — 4 Enero 2023
Nota sa aplikasyon
Impormasyon sa dokumento
Impormasyon | Kontento |
Mga keyword | LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B |
Abstract | Ang panguna nga katuyoan sa kini nga nota sa aplikasyon mao ang pagpadali sa pagpalambo sa software sa kostumer ug mga proseso sa sertipikasyon alang sa mga produkto nga gibase sa mga LPC553x MCU. |
Pasiuna
Ang sumbanan sa kaluwasan sa IEC 60730 naghubit sa mga pamaagi sa pagsulay ug diagnostic nga nagsiguro sa luwas nga operasyon sa naka-embed nga kontrol sa hardware ug software alang sa mga gamit sa panimalay.
Aron makab-ot ang kaluwasan sa pag-andar, kinahanglan nga tangtangon ang tanan nga peligro sa mga peligro nga mahimong hinungdan sa pagkadaot sa sistema.
Ang sumbanan sa IEC 60730 nagklasipikar sa mga magamit nga kagamitan sa tulo nga mga kategorya:
- Klase A: Dili gituyo nga saligan alang sa kaluwasan sa kagamitan
- Klase B: Aron mapugngan ang dili luwas nga operasyon sa kontrolado nga kagamitan
- Klase C: Aron malikayan ang mga espesyal nga peligro
Naghatag ang NXP sa IEC 60730 nga luwas nga Class B library aron matabangan ang mga tiggama sa mga awtomatikong kontrol sa dako nga merkado sa appliance nga makab-ot ang IEC 60730 nga regulasyon sa klase B. Ang librarya nagsuporta sa IAR, Keil, ug MCUXpresso IDEs.
Mahimo nimong i-integrate ang NXP safety library binary sa imong application software. Alang sa dali nga pag-uswag sa aplikasyon sa IEC60730B, ang librarya usab naghatag usa ka exampang proyekto. Kini nga example giapod-apod pinaagi sa IEC 60730 Safety Standard alang sa mga Appliances sa Panimalay on nxp.com website.Ang panguna nga katuyoan sa kini nga nota sa aplikasyon mao ang pagpadali sa pagpalambo sa software sa kostumer ug mga proseso sa sertipikasyon alang sa mga produkto nga gibase sa mga LPC553x MCU.
NXP IEC 60730 Class B library nahuman naview
Ang safety library naglakip sa core-dependent nga bahin ug peripheral-dependent nga part nga self-tests sama sa gilista sa ubos:
- Bahin nga nagsalig sa kinauyokan
- Pagsulay sa pagrehistro sa CPU
- Pagsulay sa kontra sa programa sa CPU
– Variable memory test
- Dili mabag-o nga pagsulay sa memorya
- Pagsulay sa stack - Bahin nga nagsalig sa peripheral
- Pagsulay sa orasan
- Pagsulay sa digital input / output
- Analog input / output pagsulay
- Pagsulay sa tigbantay
Talaan 1. Pagsunod sa IEC 60730 Class B nga mga sumbanan
NXP IEC 60730 Class B Library | IEC 60730 | ||
sangkap | Pamaagi | Mga butang | Gipadapat |
Mga rehistro sa CPU | Ang pamaagi sa pagsulay sa rehistro sa CPU nagsulay sa tanan nga mga rehistro sa CM33 CPU alang sa kahimtang nga natanggong. | 1.1 Pagrehistro | H.2.16.6 |
Kontra sa programa | Ang CPU program counter test procedure nagsulay sa CPU program counter register alang sa natanggong nga kondisyon. Ang pagsulay sa pagrehistro sa counter sa programa mahimong himuon kausa pagkahuman sa pag-reset sa MCU ug usab sa panahon sa pagdagan. Pugsa ang CPU (program flow) sa pag-access sa katugbang nga adres nga nagsulay sa pattern aron mapamatud-an ang program counter functionality. |
1.3 Kontra sa programa | H.2.16.6 |
Relo | Ang pamaagi sa pagsulay sa orasan nagsulay sa mga oscillator sa processor alang sa sayup nga frequency. Ang prinsipyo sa pagsulay sa orasan gibase sa pagtandi sa duha ka independente nga gigikanan sa orasan. Kung ang rutina sa pagsulay nakamatikod sa usa ka pagbag-o sa ratio sa frequency tali sa mga gigikanan sa orasan, usa ka code sa sayup nga kapakyasan ang ibalik. | 3.Orasan | NA |
Dili mausab nga memorya | Ang dili mausab nga pagsulay sa panumduman mao ang pagsusi kung adunay pagbag-o sa sulud sa panumduman (on-chip Flash) sa panahon sa pagpatuman sa aplikasyon. Daghang mga pamaagi sa checksum (alang sa example, CRC16) mahimong magamit alang niini nga katuyoan. | 4.1 Dili mausab nga memorya |
H.2.19.3.1 |
Variable memory test | Gisusi ang on-chip RAM alang sa mga sayup sa DC. Ang Marso C ug Marso X nga mga laraw gigamit isip mga mekanismo sa pagkontrol. | 4.2 Variable nga memorya | H.2.19.6 |
Digital pagsulay sa input / output |
Ang DIO test functions gidisenyo aron masusi ang digital input ug output functionality ug short circuit nga kondisyon tali sa nasulayan nga pin ug sa supply vol.tage, yuta, o opsyonal nga kasikbit nga pin. | 7.1 Digital nga I/O | H.2.18.13 |
Analog Input/ Output (I/ 0) nga pagsulay | Ang pagsulay nagsusi sa analog input interface ug tulo ka reference values: reference high, reference low, ug bandgap voltage. Ang analogue input test gibase sa usa ka conversion sa tulo ka analog inputs uban sa nailhan voltage values ug kini nagsusi kon ang nakabig nga mga bili mohaum sa gitakda nga mga limitasyon. Kasagaran, ang mga limitasyon kinahanglan nga halos 10% sa palibot sa gitinguha nga mga kantidad sa pakisayran. | 7.2 Analog I/O | H.2.18.13 |
NXP IEC 60730 Class B library exampang proyekto
Para sa mas sayon nga pag-uswag sa IEC60730B nga aplikasyon, ang librarya naghatag ug exampAng balangkas sa proyekto, nga gitukod sa usa ka gipahinungod nga LPC553x evaluation board Sign in sa NXP.com | NXP Semiconductor (LPC5536-EVK). Kinahanglan nimo nga i-configure ang husto nga mga setting sa librarya para sa aktuwal nga proyekto.3.1 Paghiusa sa librarya sa kaluwasan sa aplikasyon sa gumagamit
Ang kaluwasan exampAng mga rutina sa proyekto gibahin sa duha ka panguna nga proseso: pre-run one time safety test ug runtime periodical safety test.
Ang mosunod nga numero nagpakita sa mga proseso sa pagsulay sa kaluwasan.Aron i-integrate ang NXP safety library, buhata ang mosunod nga mga lakang:
- I-download ang kaluwasan exampAng proyekto gikan sa nxp.com
- Hardware setting nga gikonsiderar ang mga peripheral nga gigamit alang sa kaluwasan sa kaugalingon nga pagsulay
- I-configure ang safety library sumala sa aktuwal nga disenyo sa hardware
- I-on ang mga gimbuhaton sa pagsulay sa kaluwasan sa usag usa sa safety_config.h
• Alang sa pag-debug, mas maayo nga i-OFF una ang flash test ug watchdog
• Pag-amping sa mga interrupts, tungod kay ang pipila sa mga pagsulay sa kaluwasan dili mabalda - Pagpalambo sa aplikasyon code base sa kaluwasan exampang gambalay sa proyekto
LPC553x luwas nga librarya exampang proyekto sa praktis
4.1 Hardware block diagram
Ang mosunod nga mga module gigamit alang sa kaluwasan sa kaugalingon nga pagsulay sa default sama sa gipakita sa hulagway sa ubos:Talaan 2. MCU module alang sa kaluwasan sa kaugalingon nga pagsulay
Safety library test item | MCU module |
pagsulay sa CPU | LPC5536 CM33 Core |
Pagsulay sa orasan | Systick CTIMER0 |
Pagsulay sa tigbantay | Tigbantay nga iro CTIMER0 |
Variable memory test | SRAM |
Invariable memory test | Flash |
Pagsulay sa digital I/O | GPIO1 |
Analog I/O nga pagsulay | ADC0 |
4.2 Pagsulay sa CPU
4.2.1 Girehistro sa CPU ang paghulagway sa pagsulay
Ang pamaagi sa pagsulay sa rehistro sa CPU nagsulay sa tanan nga mga rehistro sa CM33 nga CPU alang sa kahimtang nga na-stuckat (gawas sa rehistro sa counter sa programa). Ang programa counter test gipatuman isip usa ka standalone nga rutina sa kaluwasan. Kini nga hugpong sa mga pagsulay naglakip sa pagsulay sa mosunod nga mga rehistro:
- Kinatibuk-ang katuyoan nga mga rehistro:
- R0-R12 - Mga rehistro sa stack pointer:
- MSP + MSPLIM (luwas / dili luwas)
- PSP + PSPLIM (luwas / dili luwas) - Espesyal nga mga rehistro:
– APSR
- PAGKONTROL (secure / non-secure)
- PRIMASK (luwas / dili luwas)
- FAULTMASK (luwas / dili luwas)
– BASEPRI (secure / non-secure) - Pagrehistro sa link:
– LR - Mga rehistro sa FPU:
– FPSCR
– S0 – S31
Adunay usa ka hugpong sa mga pagsulay nga gihimo kausa pagkahuman sa pag-reset sa MCU ug usab sa panahon sa pagdagan. Mahimo nimong gamiton pag-usab ang default setting sa LPC553x safety library exampAng proyekto, bisan pa, kinahanglan nimo nga hatagan pagtagad ang pagkabalda tungod kay ang pipila sa mga pagsulay sa rehistro sa CPU dili mabalda.
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyCpuAfterResetTest /* Ang mga interrupts kinahanglang ma-disable sa makadiyot */
– FS_CM33_CPU_Register
– FS_CM33_CPU_NonStackedRegister
– FS_CM33_CPU_SPmain_S
– FS_CM33_CPU_SPmain_Limit_S
– FS_CM33_CPU_SPproseso_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 - Runtime nga periodical safety test
– SafetyCpuBackgroundTest /* Interruptible CPU registers test */
– FS_CM33_CPU_Register
– FS_CM33_CPU_NonStackedRegister
– FS_CM33_CPU_Control /* Ang mga interrupts kinahanglang ma-disable sa makadiyot */
– FS_CM33_CPU_SPprocess_S /* Ang mga interrupts kinahanglang ma-disable sa makadiyot */
4.3 CPU nga programa counter test
4.3.1 CPU nga programa counter test paghulagway
Ang CPU program counter register test procedure nagsulay sa CPU program counter register alang sa stuck-at condition. Sukwahi sa ubang mga rehistro sa CPU, ang counter sa programa dili mahimong pun-on sa usa ka sumbanan sa pagsulay. Kinahanglang pugson ang CPU (program flow) sa pag-access sa katugbang nga adres nga nagsulay sa pattern aron mapamatud-an ang program counter functionality.
Timan-i nga ang programa counter test dili mabalda.Ang pagsulay sa counter register sa programa mahimong ipahigayon kausa human ma-reset ang MCU ug usab sa panahon sa pagdagan.
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyPcTest
– FS_CM33_PC_Test - Runtime nga periodical safety test
– SafetyIsrFunction > SafetyPcTest
– FS_CM33_PC_Test
4.4 Variable memory test
4.4.1 Variable memory test nga paghulagway
Ang variable memory test alang sa gisuportahan nga mga aparato nagsusi sa on-chip RAM alang sa mga sayup sa DC.
Ang aplikasyon stack area mahimo usab nga masulayan. Ang Marso C ug Marso X nga mga laraw gigamit isip mga mekanismo sa pagkontrol.Ang mga gimbuhaton sa pagdumala lahi alang sa pagsulay pagkahuman sa pag-reset ug alang sa pagsulay sa runtime.
Ang after-reset nga pagsulay gihimo sa FS_CM33_RAM_AfterReset () function. Kini nga function gitawag kausa pagkahuman sa pag-reset, kung ang oras sa pagpatuman dili kritikal. Ireserba ang libre nga memory space alang sa backup nga lugar. Ang block size parameter dili mahimong mas dako pa kay sa gidak-on sa backup area. Gisusi una sa function ang backup nga lugar, dayon magsugod ang loop. Ang mga bloke sa memorya gikopya sa backup nga lugar ug ang ilang mga lokasyon gisusi sa tagsa-tagsa nga pagsulay sa Marso. Ang datos gikopya balik sa orihinal nga lugar sa memorya ug ang aktuwal nga adres nga adunay gidak-on sa block gi-update. Kini gisubli hangtud nga ang katapusan nga bloke sa memorya gisulayan. Kung namatikdan ang usa ka sayup sa DC, ang function nagbalik usa ka pattern sa kapakyasan.
Ang runtime nga pagsulay gihimo sa FS_CM33_RAM_Runtime () function. Aron makadaginot sa oras, gisulayan lang niini ang usa ka bahin (gihubit sa RAM_TEST_BLOCK_SIZE) sa SRAM sa oras. Samtang ang pagkahuman sa pag-reset nga pagsulay nagsusi sa tibuuk nga bloke sa espasyo sa RAM nga may kalabotan sa kaluwasan. Sa LPC553x safety library exampAng proyekto, ang RAM_TEST_BLOCK_SIZE gi-configure sa 0x4, kini nagpasabot nga ang 32 bytes sa RAM masulayan sa usa ka runtime RAM test routine.
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyRamAfterResetTest /* Sulayi ang tibuok RAM space sa seksyon nga “.safety_ram“ sa dili pa modagan ang main routine. */
– FS_CM33_RAM_AfterReset - Runtime nga periodical safety test
– SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* gipatuman sa Systick ISR, dili mabalda */
– FS_CM33_RAM_Runtime
4.4.2 Variable memory test configuration
Ang pagsumpo sa variable memory test sa :Ang configuration sa safety RAM block anaa na :
ipasabut ang block SAFETY_RAM_BLOCK nga adunay paglinya = 8
{seksyon .safety_ram };
dapit sa RAM_region {block SAFETY_RAM_BLOCK};
Timan-i nga ang .safety_ram lang ang sakop sa variable memory test. Idugang ang mga variable sa seksyon sa .safety_ram nga mano-mano, ingon sa gipakita sa ubos sa main.c.4.5 Dili mausab nga pagsulay sa memorya
4.5.1 Dili mausab nga paghulagway sa pagsulay sa memorya
Ang dili mausab nga panumduman sa LPC5536 MCU mao ang on-chip flash. Ang prinsipyo sa dili mausab nga pagsulay sa panumduman mao ang pagsusi kung adunay pagbag-o sa sulud sa panumduman sa panahon sa pagpatuman sa aplikasyon. Daghang mga pamaagi sa checksum ang magamit alang niini nga katuyoan. Ang checksum usa ka algorithm nga nagkalkula sa usa ka pirma sa datos nga gibutang sa gisulayan nga memorya. Ang pirma niini nga bloke sa panumduman kanunay nga kalkulado ug itandi sa orihinal nga pirma.
Ang pirma alang sa gi-assign nga memorya gikalkulo sa yugto sa pagsumpay sa usa ka aplikasyon. Ang pirma kinahanglan nga i-save sa dili mabag-o nga panumduman, apan sa lahi nga lugar kaysa sa usa nga gikalkula sa checksum. Sa runtime ug pagkahuman sa pag-reset, ang parehas nga algorithm kinahanglan ipatuman sa aplikasyon aron makalkulo ang checksum. Ang mga resulta gitandi. Kung dili sila managsama, usa ka kahimtang sa sayup sa kaluwasan ang mahitabo.
Kung gipatuman pagkahuman sa pag-reset o kung wala’y pagdili sa oras sa pagpatuman, ang tawag sa function mahimong ingon sa mosunod.
• Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* kalkulado ang CRC sa tibuok Flash */
Sa runtime sa aplikasyon ug adunay limitado nga oras alang sa pagpatuman, ang CRC gikalkula sa usa ka han-ay. Kini nagpasabot nga ang input parameters adunay lain-laing mga kahulogan kon itandi sa pagtawag human sa reset. Ang pagpatuman example mao ang mosunod:
• Runtime periodical safety test
- SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* kuwentaha ang CRC block por block */
- SafetyFlashTestHandling /* itandi ang CRC kung ang tanan nga mga bloke sa Flash gikalkula. */
4.5.2 Invariable memory test configuration
Sa LPC553x safety library exampAng proyekto, ang flash alokasyon gipakita sa ubos ingon nga gipiho sa Linker file . Ang butang files ug gibutang sa safety flash block nga gisusi sa invariable memory test. Mahimo nimong ibutang ang dugang nga butang files ngadto sa SAFETY_FLASH_BLOCK Flash nga dapit pinaagi sa pag-usab sa Linker file sumala niana.Adunay duha ka mga checksum nga itandi sa panahon sa runtime sa MCU aron masusi kung ang mga sulud sa gihatag nga flash space nabag-o:
- Checksum kalkulado sa Linker sa Compiling/Linking
- Checksum kalkulado sa MCU sa runtime
Kahulugan sa lokasyon nga ibutang ang resulta sa checksum (pre-kalkulado sa mga himan sa linker) anaa :
define simbolo __FlashCRC_start__ = 0x0300; /* sa pagbutang ug checksum */
ipasabot ang simbolo __FlashCRC_end__ = 0x030F; /* sa pagbutang ug checksum */
define region CRC_region = mem: [gikan sa __FlashCRC_start__ to __FlashCRC_end__];
define block CHECKSUM uban sa alignment = 8 {seksyon. checksum}; dapit sa CRC_region { block CHECKSUM};
Kuhaa ang IAR IDE, alang sa example, sa setting sa opsyon sa proyekto> Pagtukod Mga Aksyon> Post-build command line.Command line:
ielftool –fill 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –verbose “$TARGET_PATH$” “$TARGET_PATH$”
Gikalkulo sa linker ang orihinal nga checksum sa flash addressing gikan sa _checksumStart ngadto sa c_checksumEnd, unya ibutang ang resulta sa checksum ngadto sa _checksum, nga anaa sa block CHECKSUM nga gihubit sa Linker file.
Ang kahulugan sa gipiho nga flash space nga susihon naa :
define block SAFETY_FLASH_BLOCK with alignment = 8, fixed order { readonly section checksum_start_mark, section .text object main.o, section .text object safety_cm33_lpc.o, section .rodata object safety_cm33_lpc.o, readonly section checksum_end_mark };
dapit sa ROM_region { block SAFETY_FLASH_BLOCK};
4.6 Pagsulay sa stack
4.6.1 Deskripsyon sa pagsulay sa stack
Ang stack test usa ka dugang nga pagsulay, dili direkta nga gipiho sa IEC60730 annex H table.
Kini nga rutina sa pagsulay gigamit aron masulayan ang mga kondisyon sa pag-awas ug pag-agos sa stack sa aplikasyon. Ang pagsulay sa mga stuck-at faults sa memory area nga giokupar sa stack gitabonan sa variable memory test. Ang overflow o underflow sa stack mahimong mahitabo kung ang stack dili husto nga kontrolado o pinaagi sa pagtino sa "ubos kaayo" nga stack area alang sa gihatag nga aplikasyon.
Ang prinsipyo sa pagsulay mao ang pagpuno sa lugar sa ubos ug sa ibabaw sa stack nga adunay nahibal-an nga sumbanan. Kini nga mga dapit kinahanglan nga ipasabut sa linker configuration file, uban sa stack. Ang inisyal nga function dayon pun-on kini nga mga lugar sa imong pattern. Ang sumbanan kinahanglang adunay bili nga dili makita sa ubang dapit sa aplikasyon. Ang katuyoan mao ang pagsusi kung ang eksakto nga sumbanan gisulat pa sa kini nga mga lugar. Kung dili, kini usa ka timaan sa dili husto nga pamatasan sa stack. Kung kini mahitabo, nan ang FAIL return value gikan sa test function kinahanglan nga iproseso isip usa ka safety error.Ang pagsulay gihimo pagkahuman sa pag-reset ug sa panahon sa pagdagan sa aplikasyon sa parehas nga paagi.
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyStackTestInit
– FS_CM33_STACK_Init /* isulat STACK_TEST_PATTERN (0x77777777) sa STACK_TEST_BLOCK */
- Pagsulay sa SafetyStack
– FS_CM33_STACK_Test /* susiha ang sulod sa STACK_TEST_BLOCK, napakyas kung ang bili dili katumbas sa STACK_TEST_PATTERN (0x77777777). - Runtime nga periodical safety test
- Pagsulay sa SafetyStack
– FS_CM33_STACK_Init /* isulat STACK_TEST_PATTERN (0x77777777) sa STACK_TEST_BLOCK */
- Pagsulay sa SafetyStack
– FS_CM33_STACK_Test /* susiha ang sulod sa STACK_TEST_BLOCK, mapakyas kung ang bili dili katumbas sa STACK_TEST_PATTERN (0x77777777)
4.6.2 Stack test configuration
Naa na ang configuration sa stack test ug ang linker file 4.7 Pagsulay sa orasan
4.7.1 Deskripsyon sa pagsulay sa orasan
Ang prinsipyo sa pagsulay sa orasan gibase sa pagtandi sa duha ka independente nga gigikanan sa orasan.
Sa LPC553x safety library exampAng proyekto, CTIMER0 ug Systick sa MCU LPC5536 gigamit ingon nga duha ka independente nga mga orasan alang sa pagsulay sa orasan sa kaluwasan, wala sila nagsalig sa LPC5536-EVK hardware board.
Ang clock test routine kay gipatuman sa runtime periodical safety test lang.
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– Walay pagsulay sa orasan - Runtime nga periodical safety test
– SafetyClockTestCheck
– SafetyClockTestIsr
4.7.2 Pag-configure sa pagsulay sa orasan
Ingon nga gikinahanglan ang duha ka independente nga mga orasan alang sa pagsulay sa orasan sa LPC553x safety library exampang proyekto:
- Ang SYSTICK timer kay gikan sa PLL0 150 M (gikan sa external 16 MHz nga kristal)
- Ang timer sa CTIMER0 kay gikan sa internal nga FRO_96M
Ang detalyado nga mga pag-configure sa Systick ug CTIMER0 gipakita sa ubos:
- Systick config: SystickISR_Freq = 1000 Hz, pinaagi sa pagtakda sa 150,000 reload value ubos sa 150 MHz core clock
- CTIMER config: CTIMER_Freq = 96 MHz, gikan sa 96 MHz FRO_96M nga orasan
- Ang gipaabot nga CTIMER counter kinahanglan nga CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
- Sa matag Systick interrupt ISR, i-save ang CTIMER counter value
- Sa runtime samtang (1) loop, susiha: (96,000 – 20 %) < CTIMER expect counter < (96,000 + 20 %)
Ang configuration sa clock test anaa sa Safety_config.h.
Sumala sa aktuwal nga aplikasyon, mahimo nimong usbon ang pananglitan sa CTIMER alang sa pagsulay sa orasan sa kaluwasan pinaagi sa pag-configure sa REF_TIMER_USED macro. Usab, kinahanglan nimong i-configure ang REF_TIMER_CLOCK_FREQUENCY sumala sa aktuwal nga frequency sa orasan. 4.8 Digital nga I/O nga pagsulay
4.8.1 Deskripsyon sa pagsulay sa digital I/O
Sa LPC553x safety library exampAng proyekto, GPIO P1_4 ug P1_17 sa LPC5536-EVK gipili alang sa kaluwasan digital I/O test, kining duha ka mga lagdok konektado sa J10 header sa LPC553x EVK board.
Ang digital I/O test routines gibahin sa duha ka nag-unang proseso: pre-run one time safety test ug runtime periodical safety test
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
– SafetyDigitalInputOutput_ShortAdjTest - Runtime nga periodical safety test
– SafetyDigitalOutputTest
– SafetyDigitalInputOutput_ShortSupplyTest
4.8.2 Digital I/O test configuration
Ang configuration sa digital I/O nga pagsulay anaa sa safety_test_items.c.Ang pagpatuman sa digital I/O nga mga pagsulay kinahanglang ipahiangay sa kataposang aplikasyon. Pag-amping sa mga koneksyon sa hardware ug disenyo. Mahimo nimong usbon ang GPIO alang sa kaluwasan
digital I/O test pinaagi sa pag-configure sa dio_safety_test_items[] sa safety_test_items.c. Sa kadaghanan nga mga kaso, ang gisulayan (ug usahay usab auxiliary) nga pin kinahanglan nga i-configure pag-usab sa panahon sa pagdagan sa aplikasyon. Girekomenda nga gamiton ang wala magamit nga mga pin alang sa digital I/O nga pagsulay.
4.9 Analog I/O nga pagsulay
4.9.1 Analog I/O test paghulagway
Sa LPC553x safety library exampAng proyekto, P0_16/ADC0IN3B, P0_31/ADC0IN8A, ug P0_15/ADC0IN3A sa LPC5536-EVK gipili para sa safety analog I/O test, tungod kay ang ADC module sa MCU LPC5536 wala magtugot sa pagkonektar sa VREFH, VREFL sa sulod sa ADC input. Gikinahanglan alang sa tiggamit nga makonektar kini nga mga signal (alang sa analog nga I/O nga pagsulay) nga adunay naglupad nga mga alambre sama sa gipakita sa ubos.
- Ang GND konektado sa P0_16/ADC0IN3B (J9-5) para sa ADC VREFL Test
- 3.3 V konektado sa P0_31/ADC0IN8A (J9-31) para sa ADC VREFH Test
- 1.65 V nga konektado sa P0_15/ADC0IN3A (J9-1) para sa ADC Bandgap Test
Ang analog I/O test routines gibahin sa duha ka nag-unang proseso:
- Pre-run usa ka higayon nga pagsulay sa kaluwasan
- SafetyAnalogTest - Runtime nga periodical safety test
- SafetyAnalogTest
4.9.2 Analog I/O test configuration
Ang pagpatuman sa analog I/O nga mga pagsulay kinahanglang ipahiangay sa kataposang aplikasyon. Pag-amping sa mga koneksyon sa hardware ug disenyo. Mahimo nimong usbon ang mga channel sa ADC alang sa pagsulay sa analog nga I/O sa kaluwasan pinaagi sa pag-configure sa FS_CFG_AIO_CHANNELS_INIT ug
FS_CFG_AIO_CHANNELS_SIDE_INIT sa safety_config.h.
- Ang FS_CFG_AIO_CHANNELS_INIT nagpaila sa numero sa channel sa ADC.
- Ang FS_CFG_AIO_CHANNELS_SIDE_INIT nagpaila sa kilid sa channel sa ADC.
Ingon sa gipakita sa ibabaw nga numero:
- Ang una nga elemento katumbas sa pagsulay sa ADC VREFL
- Ikaduha nga elemento katumbas sa ADC VREFH pagsulay
- Ang ikatulo nga elemento katumbas sa pagsulay sa ADC Bandgap
Kay example, “3” sa FS_CFG_AIO_CHANNELS_INIT ug “1” sa
Ang FS_CFG_AIO_CHANNELS_SIDE_INIT nagpakita nga ang ADC0 channel 3 side B gipili para sa ADC VREFL test.
4.10 Pagsulay sa tigbantay
4.10.1 Deskripsyon sa pagsulay sa tigbantay
Ang pagsulay sa tigbantay dili direkta nga gipiho sa IEC60730 - annex H nga lamesa, bisan pa, kini partially nagtuman sa mga kinahanglanon sa kaluwasan sumala sa IEC 60730-1, IEC 60335, UL 60730, ug UL 1998 nga mga sumbanan.
Ang pagsulay sa tigbantay naghatag sa pagsulay sa pag-andar sa watchdog timer. Ang pagsulay gipadagan kausa ra pagkahuman sa pag-reset. Ang pagsulay nagpahinabo sa WDOG reset ug nagtandi sa preset nga oras alang sa WDOG reset sa tinuod nga oras.Sa LPC553x safety library exampsa proyekto, ang tigbantay gisulayan gamit ang mosunod nga mga lakang:
- Pagkahuman sa pag-reset, i-enable ang watchdog ug ihunong ang pag-refresh sa katuyoan aron ma-trigger ang pag-reset sa watchdog sa MCU.
- I-enable ang CTIMER0 aron sukdon kung unsa kadugay ang oras sa pagbantay ug pag-reset.
- Pagkahuman sa pag-reset sa watchdog, kumpirmahi nga kini nga pag-reset tungod sa watchdog pinaagi sa pagsusi sa rehistro sa PMC-> AOREG1.
- Basaha ang CTIMER0 aron makuha ang eksaktong oras sa pag-timeout sa watchdog ug pag-reset.
Kasaysayan sa rebisyon
Ang talaan sa ubos nagsumaryo sa mga rebisyon niini nga dokumento.
Talaan 3. Kasaysayan sa rebisyon
Numero sa rebisyon | Petsa | Substantibo nga mga pagbag-o |
0 | 4-Ene-23 | Inisyal nga pagpagawas sa publiko |
Legal nga impormasyon
6.1 Kahulugan
Draft — Usa ka draft status sa usa ka dokumento nagpakita nga ang sulod anaa pa sa internal review ug ubos sa pormal nga pag-apruba, nga mahimong moresulta sa mga kausaban o pagdugang. Ang NXP Semiconductor wala maghatag ug bisan unsang representasyon o garantiya sa katukma o pagkakompleto sa impormasyon nga gilakip sa draft nga bersyon sa usa ka dokumento ug walay tulubagon sa mga sangpotanan sa paggamit sa maong impormasyon.
6.2 Mga Pagkuha
Limitado nga warranty ug liability — Ang impormasyon sa kini nga dokumento gituohan nga tukma ug kasaligan. Bisan pa, ang NXP Semiconductor wala maghatag bisan unsang mga representasyon o garantiya, gipahayag o gipasabut, bahin sa katukma o pagkakompleto sa ingon nga kasayuran ug wala’y tulubagon sa mga sangputanan sa paggamit sa ingon nga kasayuran. Ang NXP Semiconductors walay responsibilidad sa sulod niini nga dokumento kon gihatag sa tinubdan sa impormasyon gawas sa NXP Semiconductor.
Sa bisan unsang panghitabo nga ang NXP Semiconductors mahimong manubag sa bisan unsang dili direkta, sulagma, pagsilot, espesyal o sangputanan nga mga kadaot (lakip ang - nga wala’y limitasyon nawala nga kita, nawala nga mga tinigom, pagkabalda sa negosyo, mga gasto nga may kalabotan sa pagtangtang o pag-ilis sa bisan unsang mga produkto o bayad sa pagtrabaho) kung o dili ang maong mga danyos gibase sa tort (lakip ang pagpabaya), warranty, paglapas sa kontrata o bisan unsa nga legal nga teorya.
Bisan pa sa bisan unsa nga kadaot nga mahimong maangkon sa kustomer sa bisan unsang hinungdan, ang NXP Semiconductors' aggregate ug cumulative liability ngadto sa kustomer alang sa mga produkto nga gihulagway dinhi kinahanglan nga limitado sumala sa mga Termino ug kondisyon sa komersyal nga pagbaligya sa NXP Semiconductors.
Katungod sa paghimo og mga kausaban — Ang NXP Semiconductors adunay katungod sa paghimo sa mga pagbag-o sa impormasyon nga gipatik niini nga dokumento, lakip ang walay limitasyon nga mga detalye ug mga deskripsyon sa produkto, bisan unsang orasa ug walay pahibalo. Kini nga dokumento mipuli ug mipuli sa tanang impormasyon nga gihatag sa wala pa ang publikasyon niini.
Angayan sa paggamit — Ang mga produkto sa NXP Semiconductors wala gidesinyo, gitugutan o gigarantiyahan nga angayan gamiton sa suporta sa kinabuhi, mga sistema o kagamitan nga kritikal sa kinabuhi o kritikal sa kaluwasan, o sa mga aplikasyon diin ang pagkapakyas o pagkadaot sa usa ka produkto sa NXP Semiconductors makatarunganon nga gilauman nga moresulta sa personal nga kadaot, kamatayon o grabe nga kabtangan o kadaot sa kinaiyahan. Ang NXP Semiconductors ug ang mga suppliers niini walay gidawat nga tulubagon alang sa paglakip ug/o paggamit sa mga produkto sa NXP Semiconductors sa maong mga ekipo o aplikasyon ug busa ang maong paglakip ug/o paggamit anaa sa kaugalingong risgo sa kustomer.
Aplikasyon — Ang mga aplikasyon nga gihulagway dinhi alang sa bisan unsa niini nga mga produkto alang lamang sa mga katuyoan sa paghulagway. Ang NXP Semiconductors walay representasyon o garantiya nga ang maong mga aplikasyon angay alang sa espesipikong paggamit nga walay dugang pagsulay o pagbag-o. Ang mga kostumer ang responsable sa disenyo ug operasyon sa ilang mga aplikasyon ug mga produkto gamit ang mga produkto sa NXP Semiconductors, ug ang NXP Semiconductors dili modawat ug responsibilidad sa bisan unsang tabang sa mga aplikasyon o disenyo sa produkto sa kustomer. Bugtong responsibilidad sa kostumer ang pagdeterminar kung ang produkto sa NXP Semiconductors angayan ug angayan sa mga aplikasyon sa kustomer ug mga produkto nga giplano, ingon man alang sa giplano nga aplikasyon ug paggamit sa (mga) kustomer sa ikatulo nga partido. Ang mga kustomer kinahanglan nga maghatag tukma nga disenyo ug mga panalipod sa operasyon aron maminusan ang mga peligro
nalangkit sa ilang mga aplikasyon ug mga produkto. Ang NXP Semiconductors dili modawat sa bisan unsang tulubagon nga may kalabotan sa bisan unsang default, kadaot, gasto o problema nga gibase sa bisan unsang kahuyang o default sa mga aplikasyon o produkto sa kustomer, o sa aplikasyon o paggamit sa (mga) kustomer sa ikatulo nga partido. Ang kostumer ang responsable sa paghimo sa tanan nga kinahanglan nga pagsulay alang sa mga aplikasyon ug produkto sa kustomer gamit ang mga produkto sa NXP Semiconductors aron malikayan ang default sa mga aplikasyon ug mga produkto o sa aplikasyon o paggamit sa (mga) kostumer sa ikatulo nga partido. Ang NXP dili modawat sa bisan unsang tulubagon niining bahina.
Mga termino ug kondisyon sa komersyal nga pagbaligya — Ang mga produkto sa NXP Semiconductors gibaligya ubos sa kinatibuk-ang termino ug kondisyon sa komersyal nga pagbaligya, ingon nga gipatik sa http://www.nxp.com/profile/terms, gawas kung giuyonan sa usa ka balido nga sinulat nga indibidwal nga kasabutan. Sa kaso nga ang usa ka indibidwal nga kasabutan natapos lamang ang mga termino ug kondisyon sa tagsa-tagsa nga kasabutan ang magamit. Ang NXP Semiconductors sa ingon tin-aw nga nagsupak sa pag-aplay sa kinatibuk-ang termino ug kondisyon sa kustomer bahin sa pagpalit sa mga produkto sa NXP Semiconductors sa kustomer.
Pagkontrol sa eksport — Kini nga dokumento ingon man ang (mga) butang nga gihulagway dinhi mahimong ipailalom sa mga regulasyon sa pagkontrol sa eksport. Ang pag-export mahimong magkinahanglan og una nga pagtugot gikan sa mga may katakus nga awtoridad.
Angayan alang sa paggamit sa mga non-automotive qualified nga mga produkto — Gawas kung kini nga sheet sa datos dayag nga nag-ingon nga kini nga piho nga produkto sa NXP Semiconductors kuwalipikado sa automotive, ang produkto dili angay alang sa paggamit sa awto. Dili kini kuwalipikado o gisulayan pinauyon sa pagsulay sa awto o mga kinahanglanon sa aplikasyon. Ang NXP Semiconductors walay gidawat nga tulubagon alang sa paglakip ug/o paggamit sa mga non-automotive qualified nga mga produkto sa automotive equipment o mga aplikasyon.
Kung gigamit sa kostumer ang produkto alang sa pagdesinyo ug paggamit sa mga aplikasyon sa automotibo sa mga detalye ug sumbanan sa automotive, ang kostumer (a) kinahanglan mogamit sa produkto nga wala’y garantiya sa produkto sa NXP Semiconductor para sa ingon nga mga aplikasyon sa automotibo, paggamit ug mga detalye, ug ( b) sa matag higayon nga gamiton sa kostumer ang produkto alang sa mga aplikasyon sa awto nga lapas sa mga detalye sa NXP Semiconductor ang ingon nga paggamit kinahanglan ra sa kaugalingon nga peligro sa kostumer, ug (c) hingpit nga bayad sa kostumer ang NXP Semiconductors alang sa bisan unsang liability, kadaot o napakyas nga pag-angkon sa produkto nga resulta sa disenyo ug paggamit sa kustomer sa ang produkto para sa mga aplikasyon sa automotive nga lapas pa sa standard warranty sa NXP Semiconductor ug mga detalye sa produkto sa NXP Semiconductor.
Mga paghubad — Ang usa ka dili Ingles (gihubad) nga bersyon sa usa ka dokumento, lakip ang legal nga impormasyon sa maong dokumento, alang lamang sa pakisayran. Ang English nga bersyon ang mopatigbabaw kung adunay bisan unsang kalainan tali sa gihubad ug English nga mga bersyon.
Seguridad — Nasasabtan sa kustomer nga ang tanang produkto sa NXP mahimong mapailalom sa wala mailhi nga mga kahuyangan o mahimong mosuporta sa natukod nga mga sumbanan sa seguridad o mga detalye nga adunay nahibal-an nga mga limitasyon. Ang kostumer ang responsable sa disenyo ug operasyon sa mga aplikasyon ug produkto niini sa ilang mga siklo sa kinabuhi aron makunhuran ang epekto niini nga mga kahuyangan sa mga aplikasyon ug produkto sa kustomer. Ang responsibilidad sa kustomer molapad usab sa uban pang bukas ug/o proprietary nga mga teknolohiya nga gisuportahan sa mga produkto sa NXP aron magamit sa mga aplikasyon sa kustomer. Ang NXP walay gidawat nga tulubagon alang sa bisan unsang pagkahuyang. Kinahanglang regular nga susihon sa kostumer ang mga update sa seguridad gikan sa NXP ug mag-follow up sa tukma.
Kinahanglang pilion sa kustomer ang mga produkto nga adunay mga bahin sa seguridad nga labing kaayo nga nagtagbo sa mga lagda, regulasyon, ug mga sumbanan sa gituyo nga aplikasyon ug maghimo labing katapusan nga mga desisyon sa disenyo bahin sa mga produkto niini ug mao ra ang responsable sa pagsunod sa tanan nga ligal, regulasyon, ug mga kinahanglanon nga may kalabotan sa seguridad bahin sa mga produkto niini, bisan unsa pa. sa bisan unsang impormasyon o suporta nga mahimong ihatag sa NXP.
Ang NXP adunay Product Security Incident Response Team (PSIRT) (maabot sa PSIRT@nxp.com) nga nagdumala sa imbestigasyon, pagreport, ug pagpagawas sa solusyon sa mga kahuyangan sa seguridad sa mga produkto sa NXP.
6.3 Mga Trademark
Pahibalo: Ang tanan nga gi-refer nga mga tatak, mga ngalan sa produkto, mga ngalan sa serbisyo, ug mga marka sa pamatigayon gipanag-iya sa ilang tag-iya.
NXP— wordmark ug logo kay mga marka sa pamatigayon sa NXP BV
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, dako.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 — mga marka sa pamatigayon o rehistradong marka sa Arm Limited (o mga subsidiary niini) sa US ug/o bisan asa. Ang may kalabutan nga teknolohiya mahimong mapanalipdan sa bisan unsa o sa tanan nga mga patente, copyright, disenyo ug sekreto sa pamatigayon. Tanang katungod gigahin.
Palihug hibaloi nga ang importante nga mga pahibalo mahitungod niini nga dokumento ug ang (mga) produkto nga gihulagway dinhi, gilakip sa seksyon nga 'Legal nga impormasyon'.
© 2023 NXP BV
Para sa dugang nga impormasyon, palihog bisitaha: http://www.nxp.com
Tanang katungod gigahin.
Petsa sa pagpagawas: 4 Enero 2023
Identifier sa dokumento: AN13823
Mga Dokumento / Mga Kapanguhaan
![]() |
NXP AN13823 IEC 60730 Class B Software para sa LPC553x MCUs [pdf] Giya sa Gumagamit AN13823 IEC 60730 Class B Software para sa LPC553x MCUs, AN13823, IEC 60730 Class B Software para sa LPC553x MCUs, AN13823 IEC 60730 Class B Software |