NXP-logoAN13823 IEC 60730 Klas B sagteware vir LPC553x MCU's
Gebruikersgids

AN13823 IEC 60730 Klas B sagteware vir LPC553x MCU's

Ds 0 — 4 Januarie 2023
Aansoek nota
Dokument inligting

Inligting Inhoud
Sleutelwoorde LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Abstrak Die hoofdoel van hierdie aansoeknota is om klantsagteware-ontwikkeling en -sertifiseringsprosesse te versnel vir produkte gebaseer op LPC553x MCU's.

Inleiding

Die IEC 60730-veiligheidstandaard definieer die toets- en diagnostiese metodes wat die veilige werking van ingeboude beheerhardeware en -sagteware vir huishoudelike toestelle verseker.
Om funksionele veiligheid te bereik, is dit nodig om alle risiko's van gevare wat wanfunksionering van die stelsel kan veroorsaak, te verwyder.
Die IEC 60730-standaard klassifiseer die toepaslike toerusting in drie kategorieë:

  • Klas A: Nie bedoel om op te vertrou vir die veiligheid van die toerusting nie
  • Klas B: Om onveilige werking van die beheerde toerusting te voorkom
  • Klas C: Om spesiale gevare te voorkom

NXP verskaf IEC 60730-veiligheidsklas B-biblioteek om vervaardigers van outomatiese kontroles in die mark vir groot toestelle te help om aan die IEC 60730 klas B-regulasie te voldoen. Die biblioteek ondersteun die IAR, Keil en MCUXpresso IDE's.
U kan NXP-veiligheidsbiblioteek-binêr in u toepassingsagteware integreer. Vir makliker ontwikkeling van die IEC60730B-toepassing, verskaf die biblioteek ook 'n exampdie projek. Hierdie example word versprei deur die IEC 60730 Veiligheidstandaard vir huishoudelike toestelle  on nxp.com webwebwerf.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 1Die hoofdoel van hierdie aansoeknota is om klantsagteware-ontwikkeling en -sertifiseringsprosesse te versnel vir produkte gebaseer op LPC553x MCU's.

NXP IEC 60730 Klas B-biblioteek verbyview

Die veiligheidsbiblioteek sluit kernafhanklike deel- en perifere-afhanklike deel-selftoetse in soos hieronder gelys:

  • Kernafhanklike deel
    - SVE-registers toets
    - SVE program teller toets
    - Veranderlike geheue toets
    - Onveranderlike geheue toets
    - Stapeltoets
  • Perifere afhanklike deel
    - Kloktoets
    – Digitale toevoer/uitsettoets
    - Analoog toevoer/afvoer toets
    – Waghondtoets

Tabel 1. Voldoening aan IEC 60730 Klas B-standaarde

NXP IEC 60730 Klas B-biblioteek IEC 60730
komponent Metode Items Toegepas
SVE-registers Die SVE-registertoetsprosedure toets al die CM33 SVE-registers vir die vasgevang-toestand. 1.1 Registreer H.2.16.6
Program teller Die SVE-programtellertoetsprosedure toets die SVE-programtellerregister vir die vasgevang-toestand. Die programtellerregistertoets kan een keer na die MCU-terugstelling uitgevoer word en ook tydens looptyd.
Dwing die SVE (programvloei) om toegang te verkry tot die ooreenstemmende adres wat die patroon toets om die programtellerfunksionaliteit te verifieer.
1.3 Programteller H.2.16.6
Horlosie Die kloktoetsprosedure toets die ossillators van die verwerker vir die verkeerde frekwensie. Die kloktoetsbeginsel is gebaseer op die vergelyking van twee onafhanklike klokbronne. As die toetsroetine 'n verandering in die frekwensieverhouding tussen die klokbronne opspoor, word 'n foutfoutkode teruggestuur. 3.Klok NA
Onveranderlike geheue Die onveranderlike geheuetoets is om te kontroleer of daar 'n verandering in die geheue-inhoud (on-chip Flash) is tydens die toepassingsuitvoering. Verskeie kontrolesommetodes (bvample, CRC16) kan vir hierdie doel gebruik word. 4.1
Onveranderlike geheue
H.2.19.3.1
Veranderlike geheue toets Gaan die on-chip RAM na vir DC-foute. Die Maart C- en Maart X-skemas word as beheermeganismes gebruik. 4.2 Veranderlike geheue H.2.19.6
Digitaal
inset/uitset toets
Die DIO-toetsfunksies is ontwerp om die digitale inset- en uitsetfunksionaliteit en kortsluitingstoestande tussen die getoetste pen en die toevoervolume na te gaantage, grond, of opsionele aangrensende pen. 7.1 XNUMX Digitale I/O H.2.18.13
Analoog Invoer/ Uitset (I/ 0) toets Die toets kontroleer die analoog insetkoppelvlak en drie verwysingswaardes: verwysing hoog, verwysing laag, en bandgap voltage. Die analoog insette toets is gebaseer op 'n omskakeling van drie analoog insette met bekende voltage waardes en dit kontroleer of die omgeskakelde waardes by die gespesifiseerde limiete pas. Normaalweg moet die limiete ongeveer 10 % rondom die verlangde verwysingswaardes wees. 7.2 Analoog I/O H.2.18.13

NXP IEC 60730 Klas B-biblioteek exampdie projek

Vir makliker ontwikkeling van die IEC60730B-toepassing, verskaf die biblioteek 'n example projekraamwerk, gebou op 'n toegewyde LPC553x-evalueringsbord  Meld aan by NXP.com | NXP Halfgeleiers (LPC5536-EVK). U moet die korrekte biblioteekinstellings vir die werklike projek konfigureer.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 23.1 Integrasie van die veiligheidsbiblioteek in die gebruikerstoepassing
Die veiligheid exampLe projekroetines word in twee hoofprosesse verdeel: eenmalige veiligheidstoets vooraf en periodieke veiligheidstoets.
Die volgende figuur toon die veiligheidstoetsprosesse.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 3Voer die volgende stappe uit om NXP-veiligheidsbiblioteek te integreer:

  1. Laai die veiligheidsbvampdie projek van nxp.com
  2. Hardeware-instelling met inagneming van die randapparatuur wat vir die veiligheidsselftoets gebruik word
  3. Stel die veiligheidsbiblioteek op volgens die werklike hardeware-ontwerp
  4. Skakel die veiligheidstoetsfunksies een vir een aan in safety_config.h
    • Vir ontfouting is dit beter om eers die flitstoets en waghond AF te skakel
    • Sorg vir die onderbrekings, aangesien sommige van die veiligheidstoetse nie onderbreek kan word nie
  5. Ontwikkel die toepassingskode gebaseer op die veiligheidsbvampdie projekraamwerk

LPC553x veiligheidsbiblioteek exampdie projek in die praktyk

4.1 Hardeware blokdiagram
Die volgende modules word by verstek vir veiligheidsselftoets gebruik, soos in die figuur hieronder getoon:NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 4Tabel 2. MCU module vir veiligheid selftoets

Veiligheidsbiblioteek-toetsitem MCU module
SVE toets LPC5536 CM33 kern
Klok toets Systick
CTIMER0
Waghond toets Waghond
CTIMER0
Veranderlike geheue toets SRAM
Onveranderlike geheue toets Flits
Digitale I/O-toets Gpio1
Analoog I/O-toets ADC0

4.2 SVE toets
4.2.1 SVE registreer toetsbeskrywing
Die SVE-registertoetsprosedure toets al die CM33 SVE-registers vir die stuckat-toestand (behalwe vir die programtellerregister). Die programtellertoets word as 'n selfstandige veiligheidsroetine geïmplementeer. Hierdie stel toetse sluit die toets van die volgende registers in:

  • Algemene-doel registers:
    – R0-R12
  • Stapelwyserregisters:
    – MSP + MSPLIM (veilig / nie-veilig)
    – PSP + PSPLIM (veilig / nie-veilig)
  • Spesiale registers:
    – APSR
    - BEHEER (veilig / nie-veilig)
    – PRIMASK (veilig / nie-veilig)
    - FAULTMASK (veilig / nie-veilig)
    - BASEPRI (veilig / nie-veilig)
  • Skakelregister:
    – LR
  • FPU-registers:
    – FPSCR
    – S0 – S31

Daar is 'n stel toetse wat een keer uitgevoer word nadat die MCU teruggestel is en ook tydens looptyd. Jy kan die verstekinstellings van LPC553x veiligheidsbiblioteek bvampLe projek moet u egter aandag gee aan die onderbreking aangesien sommige van die SVE-registertoetse nie onderbreek kan word nie.

  • Doen eenmalige veiligheidstoets vooraf
    – SafetyCpuAfterResetTest /* Onderbrekings moet vir 'n rukkie gedeaktiveer wees */
    – 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_Special8Priority Levels_S
    – FS_CM33_CPU_Control
    – FS_CM33_CPU_Float1
    – FS_CM33_CPU_Float2
  • Looptyd periodieke veiligheidstoets
    – SafetyCpuBackgroundTest /* Onderbreekbare SVE-registertoets */
    – FS_CM33_CPU_Register
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_Control /* Onderbrekings moet vir 'n rukkie gedeaktiveer wees */
    – FS_CM33_CPU_SPprocess_S /* Onderbrekings moet vir 'n rukkie gedeaktiveer wees */

4.3 SVE program teller toets
4.3.1 SVE program teller toets beskrywing
Die SVE-programtellerregistertoetsprosedure toets die SVE-programtellerregister vir die vasgevang-toestand. In teenstelling met die ander SVE-registers, kan die programteller nie bloot met 'n toetspatroon gevul word nie. Dit is nodig om die SVE (programvloei) te dwing om toegang te verkry tot die ooreenstemmende adres wat die patroon toets om die programtellerfunksionaliteit te verifieer.
Let daarop dat die programtellertoets nie onderbreek kan word nie.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 5Die programtellerregistertoets kan een keer uitgevoer word nadat die MCU teruggestel is en ook tydens looptyd.

  • Doen eenmalige veiligheidstoets vooraf
    – SafetyPcTest
    – FS_CM33_PC_Toets
  • Looptyd periodieke veiligheidstoets
    – SafetyIsrFunction > SafetyPcTest
    – FS_CM33_PC_Toets

4.4 Veranderlike geheue toets
4.4.1 Veranderlike geheue toets beskrywing
Die veranderlike geheue toets vir ondersteunde toestelle kontroleer die on-chip RAM vir DC foute.
Die toepassingsstapelarea kan ook getoets word. Die Maart C- en Maart X-skemas word as beheermeganismes gebruik.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 6Die hanteringsfunksies verskil vir die na-terugstellingtoets en vir die looptydtoets.
Die na-terugstelling toets word gedoen deur die FS_CM33_RAM_AfterReset () funksie. Hierdie funksie word een keer na die terugstelling genoem, wanneer die uitvoeringstyd nie krities is nie. Bespreek gratis geheuespasie vir die rugsteunarea. Die blokgrootte-parameter kan nie groter as die grootte van die rugsteunarea wees nie. Die funksie kontroleer eers die rugsteunarea, dan begin die lus. Geheueblokkies word na die rugsteunarea gekopieer en hul liggings word deur die onderskeie Maart-toets nagegaan. Die data word teruggekopieer na die oorspronklike geheue area en die werklike adres met die blokgrootte word opgedateer. Dit word herhaal totdat die laaste blok geheue getoets word. As 'n GS-fout opgespoor word, gee die funksie 'n foutpatroon terug.
Die looptydtoets word gedoen deur die FS_CM33_RAM_Runtime () funksie. Om tyd te bespaar, toets dit net een segment (gedefinieer deur RAM_TEST_BLOCK_SIZE) van SRAM betyds. Terwyl die na-terugstelling toets die hele blok veiligheidsverwante RAM-spasie nagaan. In LPC553x veiligheidsbiblioteek example projek, RAM_TEST_BLOCK_SIZE is opgestel na 0x4, dit beteken dat 32 grepe RAM in een runtime RAM-toetsroetine getoets sal word.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 7

  • Doen eenmalige veiligheidstoets vooraf
    – SafetyRamAfterResetTest /* Toets die hele RAM-spasie van die afdeling “.safety_ram“ voordat die hoofroetine uitgevoer word. */
    – FS_CM33_RAM_AfterReset
  • Looptyd periodieke veiligheidstoets
    – SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* uitgevoer in Systick ISR, kan nie onderbreek word nie */
    – FS_CM33_RAM_Runtime

4.4.2 Veranderlike geheue toetskonfigurasie
Die konfigurasie van die veranderlike geheue toets in :NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 8Die konfigurasie van die veiligheids-RAM-blok is in :
definieer blok SAFETY_RAM_BLOCK met belyning = 8
{section .safety_ram };
plaas in RAM_streek {blok SAFETY_RAM_BLOCK};
Let daarop dat slegs die .safety_ram deur die veranderlike geheue toets gedek word. Voeg die veranderlikes handmatig by die .safety_ram-afdeling, soos hieronder in main.c.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 94.5 Onveranderlike geheuetoets
4.5.1 Onveranderlike geheuetoetsbeskrywing
Die onveranderlike geheue op die LPC5536 MCU is die flits op die skyfie. Die beginsel van die onveranderlike geheuetoets is om te kyk of daar 'n verandering in die geheue-inhoud is tydens die toepassingsuitvoering. Verskeie kontrolesommetodes kan vir hierdie doel gebruik word. Die kontrolesom is 'n algoritme wat 'n handtekening van die data wat in die getoets geheue geplaas is, bereken. Die handtekening van hierdie geheueblok word dan periodiek bereken en vergelyk met die oorspronklike handtekening.
Die handtekening vir die toegekende geheue word in die koppelfase van 'n toepassing bereken. Die handtekening moet in die onveranderlike geheue gestoor word, maar in 'n ander area as die een waarvoor die kontrolesom bereken word. In looptyd en na die terugstelling moet dieselfde algoritme in die toepassing geïmplementeer word om die kontrolesom te bereken. Die resultate word vergelyk. As hulle nie gelyk is nie, vind 'n veiligheidsfouttoestand plaas.
Wanneer geïmplementeer na die herstel of wanneer daar geen beperking op die uitvoering tyd is nie, kan die funksie oproep soos volg wees.
• Doen eenmalige veiligheidstoets vooraf
- SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* bereken CRC van die hele Flash */
In die toepassing se looptyd en met beperkte tyd vir uitvoering, word die CRC in 'n volgorde bereken. Dit beteken dat die invoerparameters verskillende betekenisse het in vergelyking met die oproep na herstel. Die implementering example is soos volg:
• Looptyd periodieke veiligheidstoets
- SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* bereken CRC blok vir blok */
– SafetyFlashTestHandling /* vergelyk CRC wanneer alle Flash-blokke bereken word. */
4.5.2 Onveranderlike geheue toetskonfigurasie
In LPC553x veiligheidsbiblioteek exampIn die projek word die flitstoekenning hieronder getoon soos gespesifiseer in die skakelaar file . Die voorwerp files en word in die veiligheidsflitsblok geplaas wat deur die onveranderlike geheuetoets nagegaan word. Jy kan meer voorwerpe plaas files in SAFETY_FLASH_BLOCK Flash area deur die skakelaar te wysig file dienooreenkomstig.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 10Daar is twee kontrolesomme wat tydens die MCU-looptyd vergelyk moet word om te verifieer of die inhoud van die gegewe flitsspasie gewysig is:

  • Kontrolesom bereken deur Linker by Samestelling/Koppeling
  • Kontrolesom bereken deur MCU tydens looptyd

Definisie van die ligging om die kontrolesomresultaat te plaas (vooraf bereken deur die koppelinstrumente) is in :
definieer simbool __FlashCRC_start__ = 0x0300; /* vir die plasing van 'n kontrolesom */
definieer simbool __FlashCRC_end__ = 0x030F; /* vir die plasing van 'n kontrolesom */
definieer streek CRC_region = mem: [van __FlashCRC_start__ na __FlashCRC_end__];
definieer blok CHECKSUM met belyning = 8 {seksie. kontrolesom}; plaas in CRC_region { blok CHECKSUM};
Neem IAR IDE, byvoorbeeldample, in die projekopsie-instelling > Bou-aksies > Na-bou-opdragreël.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 11Bevelreël:
ielftool –vul 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –verbose “$TARGET_PATH$” “$TARGET_PATH$”
Die koppelaar bereken die oorspronklike kontrolesom van die flitsadressering van _checksumStart tot c_checksumEnd, en plaas dan die kontrolesomresultaat in _checksum, wat in blok CHECKSUM is wat deur die Linker gedefinieer is file.
Definisie van die gespesifiseerde flitsspasie wat nagegaan moet word, is in :
definieer blok SAFETY_FLASH_BLOCK met belyning = 8, vaste volgorde { leesalleen afdeling checksum_start_mark, afdeling .text object main.o, seksie .text object safety_cm33_lpc.o, afdeling .rodata object safety_cm33_lpc.o, leesalleen afdeling checksum_end_mark };
plaas in ROM_region {blok SAFETY_FLASH_BLOCK};
4.6 Stapeltoets
4.6.1 Stapeltoetsbeskrywing
Die stapeltoets is 'n bykomende toets, wat nie direk in die IEC60730-bylae H-tabel gespesifiseer word nie.
Hierdie toetsroetine word gebruik om die oorloop- en ondervloeitoestande van die toedieningstapel te toets. Die toetsing van die vassitfoute in die geheuearea wat deur die stapel beset word, word deur die veranderlike geheuetoets gedek. Die oorloop of ondervloei van die stapel kan voorkom as die stapel verkeerd beheer word of deur die "te laag" stapelarea vir die gegewe toepassing te definieer.
Die beginsel van die toets is om die area onder en bokant die stapel met 'n bekende patroon te vul. Hierdie gebiede moet in die skakelkonfigurasie gedefinieer word file, saam met die stapel. Die inisialiseringsfunksie vul dan hierdie areas met jou patroon. Die patroon moet 'n waarde hê wat nie elders in die toepassing verskyn nie. Die doel is om te kyk of die presiese patroon nog in hierdie areas geskryf is. As dit nie is nie, is dit 'n teken van verkeerde stapelgedrag. As dit gebeur, moet die FAIL-terugstuurwaarde van die toetsfunksie as 'n veiligheidsfout verwerk word.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 12Die toets word op dieselfde manier uitgevoer na die herstel en tydens die toepassing se looptyd.

  • Doen eenmalige veiligheidstoets vooraf
    – SafetyStackTestInit
    – FS_CM33_STACK_Init /* skryf STACK_TEST_PATTERN (0x77777777) na STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* kontroleer die inhoud van STACK_TEST_BLOCK, misluk as die waarde nie gelyk is aan STACK_TEST_PATTERN (0x77777777).
  • Looptyd periodieke veiligheidstoets
    – SafetyStackTest
    – FS_CM33_STACK_Init /* skryf STACK_TEST_PATTERN (0x77777777) na STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* kontroleer die inhoud van STACK_TEST_BLOCK, misluk as die waarde nie gelyk is aan STACK_TEST_PATTERN (0x77777777)

4.6.2 Stapeltoetskonfigurasie
Die konfigurasie van die stapeltoets is in en die skakelaar file NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 134.7 Kloktoets
4.7.1 Horlosietoetsbeskrywing
Die kloktoetsbeginsel is gebaseer op die vergelyking van twee onafhanklike klokbronne.
In LPC553x veiligheidsbiblioteek example projek, CTIMER0 en Systick op MCU LPC5536 word as twee onafhanklike horlosies vir die veiligheidskloktoets gebruik, hulle is nie afhanklik van die LPC5536-EVK hardewarebord nie.
Die kloktoetsroetine word slegs in die looptyd periodieke veiligheidstoets uitgevoer.

  • Doen eenmalige veiligheidstoets vooraf
    – Geen kloktoets nie
  • Looptyd periodieke veiligheidstoets
    – SafetyClockTestCheck
    – SafetyClockTestIsr

NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 144.7.2 Kloktoetskonfigurasie
Aangesien twee onafhanklike horlosies benodig word vir die kloktoets in LPC553x-veiligheidsbiblioteek, bvampdie projek:

  • SYSTICK timer word verkry vanaf PLL0 150 M (verkry vanaf die eksterne 16 MHz kristal)
  • CTIMER0 timer is verkry vanaf die interne FRO_96M

NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 15

Die gedetailleerde konfigurasies van die Systick en CTIMER0 word hieronder getoon:

  • Systick-konfigurasie: SystickISR_Freq = 1000 Hz, deur 150,000 150 herlaaiwaarde onder XNUMX MHz kernklok in te stel
  • CTIMER-opstelling: CTIMER_Freq = 96 MHz, verkry vanaf 96 MHz FRO_96M-klok
  • Verwagte CTIMER-teller moet CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000 wees
  • Stoor die CTIMER-tellerwaarde in elke Systick-onderbreking ISR
  • In runtime while (1) lus, kontroleer: (96,000 20 – 96,000 %) < CTIMER verwag teller < (20 XNUMX + XNUMX %)

Die opstelling van die kloktoets is in Safety_config.h.
Volgens die werklike toepassing kan u die CTIMER-instansie vir die veiligheidskloktoets verander deur die REF_TIMER_USED-makro op te stel. Jy moet ook REF_TIMER_CLOCK_FREQUENCY instel volgens die werklike klokfrekwensie. NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 164.8 Digitale I/O-toets
4.8.1 Digitale I/O-toetsbeskrywing
In LPC553x veiligheidsbiblioteek example projek, GPIO P1_4 en P1_17 op LPC5536-EVK is gekies vir die veiligheid digitale I/O toets, hierdie twee penne is gekoppel aan J10 kop op LPC553x EVK bord.
Die digitale I/O-toetsroetines word in twee hoofprosesse verdeel: eenmalige veiligheidstoets vooraf en periodieke veiligheidstoets.

  • Doen eenmalige veiligheidstoets vooraf
    - SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest
    – SafetyDigitalInputOutput_ShortAdjTest
  • Looptyd periodieke veiligheidstoets
    - SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Digitale I/O-toetskonfigurasie
Die konfigurasie van die digitale I/O-toets is in safety_test_items.c.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 17Die uitvoering van die digitale I/O-toetse moet by die finale toepassing aangepas word. Wees versigtig met die hardeware verbindings en ontwerp. Jy kan die GPIO vir die veiligheid verander
digitale I/O-toets deur dio_safety_test_items[] in safety_test_items.c op te stel. In die meeste gevalle moet die getoetste (en soms ook hulp) pen herkonfigureer word tydens die toepassingsloop. Dit word aanbeveel om die ongebruikte penne vir die digitale I/O-toets te gebruik.
4.9 Analoog I/O-toets
4.9.1 Analoog I/O-toetsbeskrywing
In LPC553x veiligheidsbiblioteek example projek, P0_16/ADC0IN3B, P0_31/ADC0IN8A, en P0_15/ADC0IN3A op LPC5536-EVK word gekies vir die veiligheidsanaloog I/O-toets, omdat die ADC-module op MCU LPC5536 nie toelaat om die VREFH, VREFL intern aan die ADC te koppel nie. insette. Dit is nodig dat die gebruiker hierdie seine (vir die analoog I/O-toets) met vlieënde drade verbind, soos hieronder getoon.

  • GND gekoppel aan P0_16/ADC0IN3B (J9-5) vir ADC VREFL-toets
  • 3.3 V gekoppel aan P0_31/ADC0IN8A (J9-31) vir ADC VREFH-toets
  • 1.65 V gekoppel aan P0_15/ADC0IN3A (J9-1) vir ADC Bandgap-toets

Die analoog I/O-toetsroetines word in twee hoofprosesse verdeel:

  • Doen eenmalige veiligheidstoets vooraf
    – Veiligheidsanaloge toets
  • Looptyd periodieke veiligheidstoets
    – Veiligheidsanaloge toets

4.9.2 Analoog I/O-toetskonfigurasie
Die uitvoering van die analoog I/O-toetse moet by die finale toepassing aangepas word. Wees versigtig met die hardeware verbindings en ontwerp. Jy kan die ADC-kanale vir die veiligheidsanaloog I/O-toets verander deur FS_CFG_AIO_CHANNELS_INIT en op te stel
FS_CFG_AIO_CHANNELS_SIDE_INIT in safety_config.h.

  • FS_CFG_AIO_CHANNELS_INIT dui ADC-kanaalnommer aan.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT dui ADC-kanaalkant aan.

NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 18Soos getoon in die bostaande figuur:

  • Eerste element stem ooreen met ADC VREFL toets
  • Tweede element stem ooreen met ADC VREFH-toets
  • Derde element stem ooreen met ADC Bandgap-toets

Byvoorbeeldample, "3" in FS_CFG_AIO_CHANNELS_INIT en "1" in
FS_CFG_AIO_CHANNELS_SIDE_INIT dui aan dat ADC0 kanaal 3 kant B gekies is vir ADC VREFL toets.
4.10 Waghondtoets
4.10.1 Waghondtoetsbeskrywing
Die waghondtoets word nie direk in die IEC60730 – aanhangsel H-tabel gespesifiseer nie, maar dit voldoen egter gedeeltelik aan die veiligheidsvereistes volgens IEC 60730-1, IEC 60335, UL 60730 en UL 1998 standaarde.
Die waghondtoets bied die toetsing van die waghond-timerfunksie. Die toets word slegs een keer uitgevoer na die herstel. Die toets veroorsaak die WDOG-terugstelling en vergelyk die voorafbepaalde tyd vir die WDOG-terugstelling met die regte tyd.NXP AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's - Figuur 20In LPC553x veiligheidsbiblioteek exampIn die projek word die waghond deur die volgende stappe getoets:

  1. Aktiveer waghond na terugstelling en stop doelbewus verfris om waghondterugstelling MCU te aktiveer.
  2. Aktiveer CTIMER0 om te meet hoe lank dit neem vir die waghond-uitteltyd en terugstelling.
  3. Na waghond-terugstelling, bevestig dat hierdie terugstelling deur waghond veroorsaak word deur PMC->AOREG1-register na te gaan.
  4. Lees CTIMER0 om die presiese tyd van waghond-timeout te kry en terug te stel.

Hersieningsgeskiedenis

Die tabel hieronder som die hersienings aan hierdie dokument op.
Tabel 3. Hersieningsgeskiedenis

Hersieningsnommer Datum Wesenlike veranderinge
0 4-Jan-23 Aanvanklike publieke vrystelling

Regsinligting

6.1 Definisies
Konsep - 'n Konsepstatus op 'n dokument dui aan dat die inhoud steeds onder interne hersiening isview en onderhewig aan formele goedkeuring, wat kan lei tot wysigings of byvoegings. NXP Semiconductors gee geen voorstellings of waarborge oor die akkuraatheid of volledigheid van inligting wat in 'n konsepweergawe van 'n dokument ingesluit is nie en sal geen aanspreeklikheid hê vir die gevolge van die gebruik van sulke inligting nie.
6.2 Vrywaring
Beperkte waarborg en aanspreeklikheid — Daar word geglo dat inligting in hierdie dokument akkuraat en betroubaar is. NXP Semiconductors gee egter geen voorstellings of waarborge, uitdruklik of geïmpliseer, oor die akkuraatheid of volledigheid van sodanige inligting nie en sal geen aanspreeklikheid hê vir die gevolge van die gebruik van sodanige inligting nie. NXP Semiconductors neem geen verantwoordelikheid vir die inhoud in hierdie dokument as dit deur 'n inligtingsbron buite NXP Semiconductors verskaf word nie.
In geen geval sal NXP Semiconductors aanspreeklik wees vir enige indirekte, toevallige, bestraffende, spesiale of gevolglike skade (insluitend – sonder beperking verlore winste, verlore besparings, besigheidsonderbreking, koste wat verband hou met die verwydering of vervanging van enige produkte of herbewerkingskoste) hetsy of nie sulke skadevergoeding is gebaseer op tort (insluitend nalatigheid), waarborg, kontrakbreuk of enige ander regsteorie nie.
Nieteenstaande enige skade wat die kliënt om enige rede hoegenaamd mag aangaan, sal NXP Semiconductors se totale en kumulatiewe aanspreeklikheid teenoor die klant vir die produkte wat hierin beskryf word, beperk word in ooreenstemming met die bepalings en voorwaardes van kommersiële verkoop van NXP Semiconductors.
Reg om veranderinge aan te bring — NXP Semiconductors behou die reg voor om enige tyd en sonder kennisgewing veranderinge aan inligting wat in hierdie dokument gepubliseer is, insluitend sonder beperking spesifikasies en produkbeskrywings, te maak. Hierdie dokument vervang en vervang alle inligting wat verskaf is voor die publikasie hiervan.
Geskik vir gebruik — NXP Semiconductors-produkte is nie ontwerp, gemagtig of gewaarborg om geskik te wees vir gebruik in lewensondersteunende, lewenskritiese of veiligheidskritieke stelsels of toerusting nie, en ook nie in toepassings waar daar redelikerwys verwag kan word dat mislukking of wanfunksionering van 'n NXP Semiconductors-produk tot gevolg het persoonlike besering, dood of ernstige skade aan eiendom of omgewing. NXP Semiconductors en sy verskaffers aanvaar geen aanspreeklikheid vir die insluiting en/of gebruik van NXP Semiconductors-produkte in sulke toerusting of toepassings nie en daarom is sodanige insluiting en/of gebruik op die kliënt se eie risiko.
Aansoeke - Toepassings wat hierin beskryf word vir enige van hierdie produkte is slegs vir illustrasie doeleindes. NXP Semiconductors maak geen voorstelling of waarborg dat sulke toepassings geskik sal wees vir die gespesifiseerde gebruik sonder verdere toetsing of wysiging nie. Kliënte is verantwoordelik vir die ontwerp en werking van hul toepassings en produkte deur NXP Semiconductors-produkte te gebruik, en NXP Semiconductors aanvaar geen aanspreeklikheid vir enige bystand met toepassings of kliëntprodukontwerp nie. Dit is die kliënt se uitsluitlike verantwoordelikheid om te bepaal of die NXP Semiconductors-produk geskik en geskik is vir die kliënt se toepassings en produkte wat beplan word, sowel as vir die beplande toepassing en gebruik van kliënt se derdeparty-kliënt(e). Kliënte moet toepaslike ontwerp- en bedryfsbeskermingsmaatreëls verskaf om die risiko's te verminder
geassosieer met hul toepassings en produkte. NXP Semiconductors aanvaar geen aanspreeklikheid wat verband hou met enige wanbetaling, skade, koste of probleem wat gebaseer is op enige swakheid of wanbetaling in die kliënt se toepassings of produkte, of die toepassing of gebruik deur die kliënt se derdeparty-kliënt(e nie). Kliënt is verantwoordelik om alle nodige toetse vir die kliënt se toepassings en produkte te doen deur NXP Semiconductors-produkte te gebruik om 'n wanbetaling van die toepassings en die produkte of van die toepassing of gebruik deur kliënt se derdeparty-kliënt(e) te vermy. NXP aanvaar geen aanspreeklikheid in hierdie opsig nie.
Bepalings en voorwaardes van kommersiële verkoop — NXP Semiconductors-produkte word verkoop onderhewig aan die algemene bepalings en voorwaardes van kommersiële verkoop, soos gepubliseer by http://www.nxp.com/profile/terms, tensy anders ooreengekom in 'n geldige skriftelike individuele ooreenkoms. In die geval dat 'n individuele ooreenkoms gesluit word, is slegs die bepalings en voorwaardes van die onderskeie ooreenkoms van toepassing. NXP Semiconductors maak hiermee uitdruklik beswaar teen die toepassing van die kliënt se algemene bepalings en voorwaardes met betrekking tot die aankoop van NXP Semiconductors-produkte deur klant.
Uitvoerbeheer — Hierdie dokument sowel as die item(s) wat hierin beskryf word, kan onderhewig wees aan uitvoerbeheerregulasies. Uitvoer kan 'n voorafmagtiging van bevoegde owerhede vereis.
Geskiktheid vir gebruik in nie-motor gekwalifiseerde produkte — Tensy hierdie datablad uitdruklik sê dat hierdie spesifieke NXP Semiconductors-produk motorgekwalifiseerd is, is die produk nie geskik vir motorgebruik nie. Dit is nie gekwalifiseer of getoets in ooreenstemming met motortoets- of toepassingsvereistes nie. NXP Semiconductors aanvaar geen aanspreeklikheid vir die insluiting en/of gebruik van nie-motorgekwalifiseerde produkte in motortoerusting of toepassings nie.
In die geval dat klant die produk gebruik vir ontwerp-in en gebruik in motortoepassings volgens motorspesifikasies en -standaarde, sal klant (a) die produk sonder NXP Semiconductors se waarborg van die produk vir sodanige motortoepassings, gebruik en spesifikasies gebruik, en ( b) wanneer klante die produk vir motortoepassings buite NXP Semiconductors se spesifikasies gebruik, sal sodanige gebruik uitsluitlik op die kliënt se eie risiko wees, en (c) kliënt vrywaar NXP Semiconductors ten volle vir enige aanspreeklikheid, skade of mislukte produkeise wat voortspruit uit klantontwerp en gebruik van die produk vir motortoepassings buite NXP Semiconductors se standaardwaarborg en NXP Semiconductors se produkspesifikasies.
Vertalings — 'n Nie-Engelse (vertaalde) weergawe van 'n dokument, insluitend die regsinligting in daardie dokument, is slegs vir verwysing. Die Engelse weergawe sal geld in die geval van enige teenstrydigheid tussen die vertaalde en Engelse weergawes.
Sekuriteit — Kliënt verstaan ​​dat alle NXP-produkte onderhewig kan wees aan ongeïdentifiseerde kwesbaarhede of gevestigde sekuriteitstandaarde of spesifikasies met bekende beperkings kan ondersteun. Kliënt is verantwoordelik vir die ontwerp en werking van sy toepassings en produkte regdeur hul lewensiklus om die effek van hierdie kwesbaarhede op klante se toepassings en produkte te verminder. Kliënt se verantwoordelikheid strek ook uit na ander oop en/of eie tegnologieë wat deur NXP-produkte ondersteun word vir gebruik in klante se toepassings. NXP aanvaar geen aanspreeklikheid vir enige kwesbaarheid nie. Kliënt moet gereeld sekuriteitsopdaterings van NXP nagaan en toepaslik opvolg.
Kliënt sal produkte kies met sekuriteitskenmerke wat die beste aan reëls, regulasies en standaarde van die beoogde toepassing voldoen en die uiteindelike ontwerpbesluite neem oor sy produkte en is alleen verantwoordelik vir voldoening aan alle wetlike, regulatoriese en sekuriteitsverwante vereistes rakende sy produkte, ongeag van enige inligting of ondersteuning wat deur NXP verskaf kan word.
NXP het 'n produksekuriteitsvoorvalreaksiespan (PSIRT) (bereikbaar by PSIRT@nxp.com) wat die ondersoek, verslagdoening en oplossingvrystelling vir sekuriteitskwesbaarhede van NXP-produkte bestuur.
6.3 Handelsmerke
Kennisgewing: Alle verwysde handelsmerke, produkname, diensname en handelsmerke is die eiendom van hul onderskeie eienaars.
NXP — woordmerk en logo is handelsmerke van 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 — is handelsmerke of geregistreerde handelsmerke van Arm Limited (of sy filiale) in die VSA en/of elders. Die verwante tegnologie kan beskerm word deur enige of alle patente, kopiereg, ontwerpe en handelsgeheime. Alle regte voorbehou.
Neem asseblief kennis dat belangrike kennisgewings rakende hierdie dokument en die produk(te) wat hierin beskryf word, ingesluit is in die afdeling 'Regsinligting'.

© 2023 NXP BV
Vir meer inligting, besoek asseblief: http://www.nxp.com
Alle regte voorbehou.
Datum van vrystelling: 4 Januarie 2023
Dokumentidentifiseerder: AN13823

Dokumente / Hulpbronne

NXP AN13823 IEC 60730 Klas B sagteware vir LPC553x MCU's [pdf] Gebruikersgids
AN13823 IEC 60730 Klas B Sagteware vir LPC553x MCU's, AN13823, IEC 60730 Klas B Sagteware vir LPC553x MCU's, AN13823 IEC 60730 Klas B Sagteware

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *