Logo NXPAN13823 IEC 60730 Kelas B Software kanggo LPC553x MCUs
Pandhuan pangguna

AN13823 IEC 60730 Kelas B Software kanggo LPC553x MCUs

Wahyu 0 — 4 Januari 2023
Cathetan aplikasi
Informasi dokumen

Informasi Isi
Tembung kunci LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Abstrak Tujuan utama cathetan aplikasi iki yaiku kanggo nyepetake pangembangan piranti lunak pelanggan lan proses sertifikasi kanggo produk adhedhasar LPC553x MCU.

Pambuka

Standar safety IEC 60730 nemtokake cara tes lan diagnostik sing njamin operasi aman saka hardware lan piranti lunak kontrol sing dipasang kanggo peralatan rumah tangga.
Kanggo entuk safety fungsional, perlu kanggo mbusak kabeh risiko bebaya sing bisa nyebabake sistem gagal.
Standar IEC 60730 nggolongake peralatan sing ditrapake dadi telung kategori:

  • Kelas A: Ora dimaksudake kanggo dipercaya kanggo safety peralatan
  • Kelas B: Kanggo nyegah operasi sing ora aman saka peralatan sing dikontrol
  • Kelas C: Kanggo nyegah bebaya khusus

NXP nyedhiyakake perpustakaan kelas B safety IEC 60730 kanggo mbantu produsen kontrol otomatis ing pasar peralatan gedhe kanggo nyukupi peraturan kelas B IEC 60730. Pustaka ndhukung IDE IAR, Keil, lan MCUXpresso.
Sampeyan bisa nggabungake binar perpustakaan safety NXP menyang piranti lunak aplikasi sampeyan. Kanggo pangembangan luwih gampang saka aplikasi IEC60730B, perpustakaan uga menehi Exampproyek iki. Mantan ikiample disebarake liwat IEC 60730 Standar Keamanan kanggo Perkakas Rumah Tangga  on nxp.com websitus.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 1Tujuan utama cathetan aplikasi iki yaiku kanggo nyepetake pangembangan piranti lunak pelanggan lan proses sertifikasi kanggo produk adhedhasar LPC553x MCU.

NXP IEC 60730 Kelas B perpustakaan liwatview

Pustaka safety kalebu bagean gumantung inti lan tes mandiri bagean gumantung perifer kaya sing kapacak ing ngisor iki:

  • Bagean gumantung inti
    - Tes registrasi CPU
    - Tes counter program CPU
    - Tes memori variabel
    - Tes memori invariable
    - Tes tumpukan
  • Bagean gumantung peripheral
    - Tes jam
    - Tes input / output digital
    - Tes input / output analog
    - Tes Watchdog

Tabel 1. Selaras karo standar IEC 60730 Kelas B

Perpustakaan NXP IEC 60730 Kelas B IEC 60730
komponen Metode barang Ditrapake
Register CPU Prosedur test register CPU nguji kabeh ndhaftar CPU CM33 kanggo kondisi macet. 1.1 Ndhaptar H.2.16.6
Program counter Prosedur test counter program CPU nguji register counter program CPU kanggo kondisi macet. Tes registrasi counter program bisa ditindakake sapisan sawise ngreset MCU lan uga sajrone runtime.
Meksa CPU (aliran program) kanggo ngakses alamat sing cocog sing nyoba pola kanggo verifikasi fungsi counter program.
1.3 Program counter H.2.16.6
jam Prosedur tes jam nguji osilator prosesor kanggo frekuensi sing salah. Prinsip tes jam adhedhasar perbandingan rong sumber jam independen. Yen rutin test ndeteksi owah-owahan ing rasio frekuensi antarane sumber jam, kode kesalahan Gagal bali. 3. Jam NA
memori invariable Tes memori invariable kanggo mriksa apa ana owah-owahan ing isi memori (on-chip Flash) sak eksekusi aplikasi. Sawetara metode checksum (contoneample, CRC16) bisa digunakake kanggo maksud iki. 4.1
memori invariable
H.2.19.3.1
Tes memori variabel Priksa RAM on-chip kanggo kesalahan DC. Skema C Maret lan Maret X digunakake minangka mekanisme kontrol. 4.2 Memori variabel H.2.19.6
digital
tes input/output
Fungsi tes DIO dirancang kanggo mriksa fungsionalitas input lan output digital lan kahanan sirkuit cendhak antarane pin sing diuji lan vol pasokan.tage, lemah, utawa pin jejer opsional. 7.1 Digital I/O H.2.18.13
Analog Input/ Output (I/ 0) test Tes mriksa antarmuka input analog lan telung nilai referensi: referensi dhuwur, referensi kurang, lan bandgap vol.tage. Tes input analog adhedhasar konversi telung input analog kanthi vol dikenaltage lan mriksa yen nilai sing diowahi pas karo watesan sing ditemtokake. Biasane, watesan kudu kira-kira 10% watara nilai referensi sing dikarepake. 7.2 Analog I/O H.2.18.13

NXP IEC 60730 Kelas B perpustakaan exampproyek iki

Kanggo pangembangan luwih gampang saka aplikasi IEC60730B, perpustakaan menehi Exampframework project, dibangun ing Papan evaluasi LPC553x darmabakti  Mlebu menyang NXP.com | NXP Semikonduktor (LPC5536-EVK). Sampeyan kudu ngatur setelan perpustakaan sing bener kanggo proyek nyata.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 23.1 Integrasi perpustakaan safety menyang aplikasi pangguna
Keamanan examprutinitas proyek dipérang dadi rong proses utama: tes keamanan siji-wektu lan tes safety periodik wektu.
Gambar ing ngisor iki nuduhake proses tes safety.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 3Kanggo nggabungake perpustakaan safety NXP, tindakake langkah ing ngisor iki:

  1. Download aman exampproyek saka nxp.com
  2. Setelan hardware considering peripheral digunakake kanggo safety self-test
  3. Ngatur perpustakaan safety miturut desain hardware nyata
  4. Nguripake fungsi test safety siji ing safety_config.h
    • Kanggo debugging, iku luwih apik kanggo nguripake flash test lan watchdog OFF pisanan
    • Jaga interrupts, amarga sawetara tes safety ora bisa diselani
  5. Ngembangake kode aplikasi adhedhasar ex safetyampkerangka proyek

perpustakaan safety LPC553x example project ing laku

4.1 Diagram blok hardware
Modul ing ngisor iki digunakake kanggo tes mandiri kanthi standar kaya sing ditampilake ing gambar ing ngisor iki:NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 4Tabel 2. modul MCU kanggo safety poto-test

Item tes perpustakaan safety Modul MCU
tes CPU LPC5536 CM33 inti
Tes jam Systick
CTIMER0
Tes pengawas Pengawas
CTIMER0
Tes memori variabel SRAM
Tes memori invariable lampu kilat
Tes I/O digital GPIO1
Tes I/O analog ADC0

4.2 tes CPU
4.2.1 CPU ndhaptar gambaran test
Prosedur test register CPU nguji kabeh ndhaftar CPU CM33 kanggo kondisi macet (kajaba register counter program). Tes counter program ditindakake minangka rutinitas safety mandiri. Set tes iki kalebu tes registrasi ing ngisor iki:

  • Register tujuan umum:
    - R0-R12
  • Stack pointer register:
    – MSP + MSPLIM (aman / ora aman)
    - PSP + PSPLIM (aman / ora aman)
  • Register khusus:
    - APSR
    - KONTROL (aman / ora aman)
    - PRIMASK (aman / ora aman)
    - FAULTMASK (aman / ora aman)
    - BASEPRI (aman / ora aman)
  • Link daftar:
    – LR
  • Daftar FPU:
    - FPSCR
    – S0 – S31

Ana sakumpulan tes sing ditindakake sapisan sawise MCU direset lan uga sajrone runtime. Sampeyan bisa nggunakake maneh setelan gawan saka LPC553x safety perpustakaan exampproject le, Nanging, sampeyan kudu mbayar manungsa waé menyang interrupted minangka sawetara tes ndhaftar CPU ora bisa diselani.

  • Pre-run siji wektu tes safety
    – SafetyCpuAfterResetTest /* Interrupts kudu dipateni sawetara wektu */
    – FS_CM33_CPU_Register
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_SPutama_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
  • Runtime tes safety periodik
    – SafetyCpuBackgroundTest /* Tes register CPU sing bisa diganggu */
    – FS_CM33_CPU_Register
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_Control /* Interrupts kudu dipateni sawetara wektu */
    – FS_CM33_CPU_SPprocess_S /* Interrupts kudu dipateni sawetara wektu */

4.3 Uji counter program CPU
4.3.1 CPU program counter gambaran test
Prosedur test register counter program CPU nguji register counter program CPU kanggo kondisi macet. Beda karo ndhaptar CPU liyane, counter program ora bisa diisi kanthi pola tes. Sampeyan kudu meksa CPU (aliran program) kanggo ngakses alamat sing cocog sing nyoba pola kanggo verifikasi fungsi counter program.
Elinga yen tes counter program ora bisa diselani.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 5Tes registrasi counter program bisa ditindakake sapisan sawise MCU direset lan uga sajrone runtime.

  • Pre-run siji wektu tes safety
    - SafetyPcTest
    – FS_CM33_PC_Test
  • Runtime tes safety periodik
    – SafetyIsrFunction > SafetyPcTest
    – FS_CM33_PC_Test

4.4 Tes memori variabel
4.4.1 Gambaran test memori variabel
Tes memori variabel kanggo piranti sing didhukung mriksa RAM on-chip kanggo kesalahan DC.
Area tumpukan aplikasi uga bisa diuji. Skema C Maret lan Maret X digunakake minangka mekanisme kontrol.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 6Fungsi penanganan beda-beda kanggo tes sawise-reset lan kanggo tes runtime.
Tes sawise-reset rampung dening fungsi FS_CM33_RAM_AfterReset (). Fungsi iki diarani sapisan sawise ngreset, nalika wektu eksekusi ora kritis. Simpen ruang memori gratis kanggo area serep. Parameter ukuran blok ora bisa luwih gedhe tinimbang ukuran area serep. Fungsi kasebut pisanan mriksa area serep, banjur loop diwiwiti. Pamblokiran memori disalin menyang wilayah serep lan lokasi dicenthang dening test Maret pamilike. Data kasebut disalin maneh menyang area memori asli lan alamat nyata kanthi ukuran blok dianyari. Iki diulang nganti blok memori pungkasan dites. Yen kesalahan DC dideteksi, fungsi kasebut ngasilake pola gagal.
Tes runtime ditindakake kanthi fungsi FS_CM33_RAM_Runtime (). Kanggo ngirit wektu, mung nyoba siji segmen (ditetepake RAM_TEST_BLOCK_SIZE) SRAM ing wektu. Nalika tes sawise-reset mriksa kabeh blok ruang RAM sing gegandhengan karo safety. Ing perpustakaan safety LPC553x example project, RAM_TEST_BLOCK_SIZE diatur kanggo 0x4, iku tegese 32 bait RAM bakal dites ing siji runtime RAM test tumindake.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 7

  • Pre-run siji wektu tes safety
    – SafetyRamAfterResetTest /* Test kabeh papan RAM saka bagean ".safety_ram" sadurunge mbukak tumindake utama. */
    – FS_CM33_RAM_AfterReset
  • Runtime tes safety periodik
    – SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* dieksekusi ing Systick ISR, ora bisa diselani */
    – FS_CM33_RAM_Runtime

4.4.2 Konfigurasi test memori variabel
Konfigurasi tes memori variabel ing :NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 8Konfigurasi blok RAM safety ana ing :
nemtokake blok SAFETY_RAM_BLOCK kanthi alignment = 8
{bagean .safety_ram };
panggonan ing RAM_region {block SAFETY_RAM_BLOCK};
Elinga yen mung .safety_ram dijamin dening test memori variabel. Tambah variabel menyang bagean .safety_ram kanthi manual, minangka kapacak ing ngisor iki ing main.c.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 94.5 Tes memori invariable
4.5.1 gambaran test memori invariable
Memori invariable ing LPC5536 MCU yaiku lampu kilat on-chip. Prinsip tes memori invariable yaiku mriksa apa ana owah-owahan ing isi memori sajrone eksekusi aplikasi. Sawetara cara checksum bisa digunakake kanggo tujuan iki. Checksum minangka algoritma sing ngitung teken saka data sing diselehake ing memori sing diuji. Tandha pamblokiran memori iki banjur diitung sacara periodik lan dibandhingake karo teken asli.
Teken kanggo memori diutus diwilang ing phase ngubungake saka aplikasi. Tandha kudu disimpen ing memori invariable, nanging ing wilayah sing beda tinimbang sing diwilang checksum. Ing runtime lan sawise ngreset, algoritma sing padha kudu dileksanakake ing aplikasi kanggo ngetung checksum. Asil dibandhingake. Yen padha ora padha, ana negara kesalahan safety.
Nalika dileksanakake sawise ngreset utawa nalika ora ana watesan ing wektu eksekusi, telpon fungsi bisa kaya ing ngisor iki.
• Pre-run siji wektu test safety
- SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* ngitung CRC saka kabeh Flash */
Ing runtime aplikasi lan wektu winates kanggo eksekusi, CRC diitung kanthi urutan. Iki tegese paramèter input duwe makna sing beda-beda dibandhingake karo panggilan sawise ngreset. Implementasi exampl minangka nderek:
• Runtime test safety periodik
- SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* ngitung blok CRC demi blok */
– SafetyFlashTestHandling /* mbandhingake CRC nalika kabeh pamblokiran Flash diitung. */
4.5.2 Konfigurasi test memori invariable
Ing perpustakaan safety LPC553x exampproject, alokasi lampu kilat kapacak ing ngisor iki minangka kasebut ing Linker file . obyek kasebut files lan diselehake ing pemblokiran lampu kilat safety kang dicenthang dening test memori invariable. Sampeyan bisa nyelehake obyek liyane files menyang area SAFETY_FLASH_BLOCK Lampu kilat kanthi ngowahi Linker file miturut.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 10Ana rong checksum sing bakal dibandhingake sajrone runtime MCU kanggo verifikasi apa isi ruang lampu kilat sing diwenehake wis diowahi:

  • Checksum diwilang dening Linker ing Compiling / Linking
  • Checksum diwilang dening MCU nalika runtime

Dhéfinisi lokasi kanggo nyelehake asil checksum (wis diwilang dening alat linker) ana ing :
nemtokake simbol __FlashCRC_start__ = 0x0300; /* kanggo nyelehake checksum */
nemtokake simbol __FlashCRC_end__ = 0x030F; /* kanggo nyelehake checksum */
nemtokake wilayah CRC_region = mem: [saka __FlashCRC_start__ kanggo __FlashCRC_end__];
nemtokake blok CHECKSUM kanthi alignment = 8 {bagean. checksum}; panggonan ing CRC_region {blokir CHECKSUM};
Njupuk IAR IDE, kanggo Example, ing setelan pilihan project> Mbangun Tindakan> Post-mbangun baris printah.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 11Baris perintah:
ielftool –isi 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –verbose “$TARGET_PATH$” “$TARGET_PATH$”
Linker ngitung checksum asli saka alamat lampu kilat saka _checksumStart nganti c_checksumEnd, banjur nyelehake asil checksum menyang _checksum, sing ana ing blok CHECKSUM sing ditemtokake dening Linker. file.
Dhéfinisi ruang lampu kilat sing ditemtokake kanggo dipriksa ana :
netepake pemblokiran SAFETY_FLASH_BLOCK karo alignment = 8, tetep supaya {readonly bagean checksum_start_mark, bagean .teks obyek main.o, bagean .teks obyek safety_cm33_lpc.o, bagean .rodata obyek safety_cm33_lpc.o, readonly bagean checksum_end_mark};
panggonan ing ROM_region {block SAFETY_FLASH_BLOCK};
4.6 Test tumpukan
4.6.1 Katrangan test tumpukan
Tes tumpukan minangka tes tambahan, ora langsung ditemtokake ing tabel IEC60730 lampiran H.
Rutin tes iki digunakake kanggo nguji kahanan overflow lan underflow saka tumpukan aplikasi. Pengujian kesalahan sing macet ing area memori sing dikuwasani tumpukan ditutupi karo tes memori variabel. Overflow utawa underflow saka tumpukan bisa kedadeyan yen tumpukan ora dikontrol kanthi bener utawa kanthi nemtokake area tumpukan "banget-kurang" kanggo aplikasi sing diwenehake.
Prinsip tes yaiku ngisi area ing ngisor lan ndhuwur tumpukan kanthi pola sing dikenal. Wilayah kasebut kudu ditetepake ing konfigurasi linker file, bebarengan karo tumpukan. Fungsi inisialisasi banjur ngisi area kasebut kanthi pola sampeyan. Pola kasebut kudu duwe nilai sing ora katon ing papan liya ing aplikasi kasebut. Tujuane kanggo mriksa apa pola sing tepat isih ditulis ing wilayah kasebut. Yen ora, iki minangka tandha prilaku tumpukan sing salah. Yen kedadeyan kasebut, nilai FAIL bali saka fungsi tes kudu diproses minangka kesalahan safety.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 12Tes kasebut ditindakake sawise ngreset lan sajrone wektu aplikasi kanthi cara sing padha.

  • Pre-run siji wektu tes safety
    - SafetyStackTestInit
    – FS_CM33_STACK_Init /* tulis STACK_TEST_PATTERN (0x77777777) dadi STACK_TEST_BLOCK */
    - SafetyStackTest
    - FS_CM33_STACK_Test / * mriksa isi STACK_TEST_BLOCK, gagal yen nilai ora padha karo STACK_TEST_PATTERN (0x77777777).
  • Runtime tes safety periodik
    - SafetyStackTest
    – FS_CM33_STACK_Init /* tulis STACK_TEST_PATTERN (0x77777777) dadi STACK_TEST_BLOCK */
    - SafetyStackTest
    – FS_CM33_STACK_Test /* mriksa isi STACK_TEST_BLOCK, gagal yen nilai ora padha karo STACK_TEST_PATTERN (0x77777777)

4.6.2 Konfigurasi test tumpukan
Konfigurasi tes tumpukan ana ing lan linker file NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 134.7 Tes jam
4.7.1 Katrangan test jam
Prinsip tes jam adhedhasar perbandingan rong sumber jam independen.
Ing perpustakaan safety LPC553x exampproject le, CTIMER0 lan Systick ing MCU LPC5536 digunakake minangka loro jam sawijining kanggo test jam safety, padha ora gumantung ing Papan hardware LPC5536-EVK.
Rutinitas tes jam dieksekusi mung ing tes keamanan berkala runtime.

  • Pre-run siji wektu tes safety
    - Ora ana tes jam
  • Runtime tes safety periodik
    - SafetyClockTestCheck
    - SafetyClockTestIsr

NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 144.7.2 Konfigurasi test jam
Minangka loro jam sawijining dibutuhake kanggo test jam ing LPC553x perpustakaan safety exampproyek iki:

  • Timer SYSTICK dipikolehi saka PLL0 150 M (sumber saka kristal eksternal 16 MHz)
  • Timer CTIMER0 asale saka FRO_96M internal

NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 15

Konfigurasi rinci Systick lan CTIMER0 ditampilake ing ngisor iki:

  • Konfigurasi Systick: SystickISR_Freq = 1000 Hz, kanthi nyetel nilai muat ulang 150,000 ing jam inti 150 MHz
  • Konfigurasi CTIMER: CTIMER_Freq = 96 MHz, sumber saka jam 96 MHz FRO_96M
  • Penghitung CTIMER sing dikarepake kudu CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
  • Ing saben Systick interrupt ISR, simpen nilai counter CTIMER
  • Ing runtime while (1) loop, priksa: (96,000 – 20 %) < CTIMER expect counter < (96,000 + 20 %)

Konfigurasi test jam ing Safety_config.h.
Miturut aplikasi nyata, sampeyan bisa ngganti conto CTIMER kanggo tes jam safety kanthi ngatur makro REF_TIMER_USED. Uga, sampeyan kudu ngatur REF_TIMER_CLOCK_FREQUENCY miturut frekuensi jam nyata. NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 164.8 Tes I/O digital
4.8.1 Digital I/O gambaran test
Ing perpustakaan safety LPC553x example project, GPIO P1_4 lan P1_17 ing LPC5536-EVK dipilih kanggo safety digital I / test O, loro pin iki disambungake menyang J10 header ing Papan LPC553x EVK.
Rutinitas tes I/O digital dipérang dadi rong proses utama: tes keamanan siji-wektu lan tes keamanan berkala wektu mlaku.

  • Pre-run siji wektu tes safety
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest
    – SafetyDigitalInputOutput_ShortAdjTest
  • Runtime tes safety periodik
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Konfigurasi tes I/O digital
Konfigurasi tes I/O digital ana ing safety_test_items.c.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 17Eksekusi tes I/O digital kudu dicocogake karo aplikasi pungkasan. Ati-ati karo sambungan hardware lan desain. Sampeyan bisa ngganti GPIO kanggo safety
digital I / test O dening configuring dio_safety_test_items [] ing safety_test_items.c. Umume kasus, pin sing diuji (lan kadhangkala uga tambahan) kudu dikonfigurasi maneh sajrone aplikasi kasebut. Disaranake nggunakake pin sing ora digunakake kanggo tes I / O digital.
4.9 Tes I/O Analog
4.9.1 Analog I / O gambaran test
Ing perpustakaan safety LPC553x example project, P0_16 / ADC0IN3B, P0_31 / ADC0IN8A, lan P0_15 / ADC0IN3A ing LPC5536-EVK dipilih kanggo safety analog I / test O, amarga modul ADC ing MCU LPC5536 ora ngidini kanggo nyambungake VREFH, VREFL internal kanggo ADC. mlebu. Sampeyan perlu kanggo pangguna kanggo nyambungake sinyal kasebut (kanggo tes I / O analog) nganggo kabel mabur kaya ing ngisor iki.

  • GND disambungake menyang P0_16/ADC0IN3B (J9-5) kanggo ADC VREFL Test
  • 3.3 V disambungake menyang P0_31/ADC0IN8A (J9-31) kanggo ADC VREFH Test
  • 1.65 V disambungake menyang P0_15/ADC0IN3A (J9-1) kanggo ADC Bandgap Test

Rutinitas tes I/O analog dipérang dadi rong proses utama:

  • Pre-run siji wektu tes safety
    - SafetyAnalogTest
  • Runtime tes safety periodik
    - SafetyAnalogTest

4.9.2 Analog I / O konfigurasi test
Eksekusi tes I/O analog kudu dicocogake karo aplikasi pungkasan. Ati-ati karo sambungan hardware lan desain. Sampeyan bisa ngganti saluran ADC kanggo tes I/O analog safety kanthi ngatur FS_CFG_AIO_CHANNELS_INIT lan
FS_CFG_AIO_CHANNELS_SIDE_INIT ing safety_config.h.

  • FS_CFG_AIO_CHANNELS_INIT nuduhake nomer saluran ADC.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT nuduhake sisih saluran ADC.

NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 18Minangka ditampilake ing gambar ndhuwur:

  • Unsur pisanan cocog karo tes ADC VREFL
  • Unsur kapindho cocog karo tes ADC VREFH
  • Unsur katelu cocog karo test ADC Bandgap

Kanggo example, "3" ing FS_CFG_AIO_CHANNELS_INIT lan "1" ing
FS_CFG_AIO_CHANNELS_SIDE_INIT nuduhake yen saluran ADC0 3 sisih B dipilih kanggo test ADC VREFL.
4.10 Tes Watchdog
4.10.1 Gambaran test Watchdog
Tes pengawas ora langsung ditemtokake ing tabel IEC60730 - lampiran H, nanging sebagian memenuhi syarat safety miturut standar IEC 60730-1, IEC 60335, UL 60730, lan UL 1998.
Tes watchdog nyedhiyakake tes fungsi timer watchdog. Tes ditindakake mung sapisan sawise ngreset. Tes kasebut nyebabake reset WDOG lan mbandhingake wektu prasetel kanggo reset WDOG menyang wektu nyata.NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU - Gambar 20Ing perpustakaan safety LPC553x exampproyek, watchdog dites nggunakake langkah-langkah ing ngisor iki:

  1. Sawise ngreset, aktifake watchdog lan mungkasi refreshing kanthi sengaja kanggo micu MCU reset watchdog.
  2. Aktifake CTIMER0 kanggo ngukur suwene wektu entek watchdog lan ngreset.
  3. Sawise ngreset watchdog, konfirmasi sing reset iki disebabake watchdog dening mriksa PMC-> AOREG1 register.
  4. Waca CTIMER0 kanggo njaluk wektu pas wektu entek watchdog lan ngreset.

Riwayat revisi

Tabel ing ngisor iki ngringkes revisi dokumen iki.
Tabel 3. Riwayat revisi

Nomer revisi Tanggal owah-owahan substantif
0 4-Jan-23 Rilis umum pisanan

Informasi hukum

6.1 Definisi
Draft - A konsep status ing document nuduhake yen isi isih ing re internalview lan tundhuk persetujuan resmi, sing bisa nyebabake modifikasi utawa tambahan. NXP Semiconductors ora menehi perwakilan utawa garansi babagan akurasi utawa kelengkapan informasi sing kalebu ing versi draf dokumen lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut.
6.2 Bantahan
Garansi lan tanggung jawab winates - Informasi ing dokumen iki dipercaya akurat lan dipercaya. Nanging, NXP Semiconductors ora menehi perwakilan utawa jaminan, sing ditulis utawa diwenehake, babagan akurasi utawa jangkep informasi kasebut lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut. NXP Semiconductors ora tanggung jawab kanggo isi ing dokumen iki yen diwenehake dening sumber informasi ing njaba NXP Semiconductors.
NXP Semiconductors ora bakal tanggung jawab kanggo karusakan ora langsung, insidental, punitive, khusus utawa konsekuensial (kalebu - tanpa watesan ilang bathi, ilang tabungan, gangguan bisnis, biaya sing ana gandhengane karo penghapusan utawa panggantos produk utawa biaya kerja ulang) ora karusakan kuwi adhedhasar tort (kalebu teledor), babar pisan, nerbitake kontrak utawa teori legal liyane.
Senadyan karusakan apa wae sing bisa ditindakake dening pelanggan kanthi alasan apa wae, tanggung jawab agregat lan kumulatif NXP Semikonduktor marang pelanggan kanggo produk sing diterangake ing kene bakal diwatesi miturut Katentuan lan kahanan adol komersial NXP Semikonduktor.
Hak kanggo nggawe owah-owahan - NXP Semiconductors nduweni hak kanggo ngowahi informasi sing diterbitake ing dokumen iki, kalebu tanpa watesan spesifikasi lan deskripsi produk, kapan wae lan tanpa kabar. Dokumen iki ngganti lan ngganti kabeh informasi sing diwenehake sadurunge diterbitake.
Cocog kanggo nggunakake - Produk NXP Semiconductors ora dirancang, sah utawa dijamin cocok kanggo digunakake ing dhukungan urip, sistem utawa peralatan sing kritis utawa safety-kritis, utawa ing aplikasi sing gagal utawa malfungsi produk NXP Semikonduktor bisa diduga nyebabake bundhas pribadi, pati utawa property abot utawa karusakan lingkungan. NXP Semikonduktor lan panyedhiya ora tanggung jawab kanggo kalebu lan/utawa nggunakake produk NXP Semikonduktor ing peralatan utawa aplikasi kasebut lan mulane kalebu lan/utawa panggunaan kasebut tanggung jawab kanggo pelanggan.
Aplikasi - Aplikasi sing diterangake ing kene kanggo samubarang produk iki mung kanggo ilustrasi. NXP Semiconductors ora menehi perwakilan utawa garansi manawa aplikasi kasebut cocog kanggo panggunaan sing ditemtokake tanpa tes utawa modifikasi luwih lanjut. Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sing nggunakake produk NXP Semiconductors, lan NXP Semiconductors ora tanggung jawab kanggo bantuan karo aplikasi utawa desain produk pelanggan. Tanggung jawab tunggal pelanggan kanggo nemtokake manawa produk NXP Semiconductors cocok lan pas kanggo aplikasi lan produk sing direncanakake, uga kanggo aplikasi sing direncanakake lan panggunaan pelanggan pihak katelu. Pelanggan kudu menehi desain lan perlindungan operasi sing cocog kanggo nyuda resiko
digandhengake karo aplikasi lan produk. NXP Semiconductors ora nampa tanggung jawab sembarang related kanggo gawan sembarang, karusakan, biaya utawa masalah kang adhedhasar sembarang kekirangan utawa gawan ing aplikasi utawa produk customer, utawa aplikasi utawa digunakake dening customer pihak katelu (e). Pelanggan tanggung jawab kanggo nindakake kabeh tes sing dibutuhake kanggo aplikasi lan produk pelanggan nggunakake produk NXP Semiconductors supaya ora dadi standar aplikasi lan produk utawa aplikasi utawa digunakake dening pelanggan pihak katelu. NXP ora nanggung tanggung jawab babagan iki.
Sarat lan kahanan sale komersial - Produk NXP Semiconductors didol miturut syarat-syarat umum lan kahanan adol komersial, kaya sing diterbitake ing http://www.nxp.com/profile/terms, kajaba digunakake sarujuk ing persetujuan individu ditulis bener. Ing kasus persetujuan individu rampung mung syarat lan katemtuan saka persetujuan pamilike bakal ditrapake. NXP Semiconductors kanthi iki kanthi tegas mbantah kanggo ngetrapake syarat lan kahanan umum pelanggan babagan tuku produk NXP Semiconductors dening pelanggan.
Kontrol ekspor - Dokumen iki uga item (e) sing diterangake ing kene bisa uga tundhuk karo peraturan kontrol ekspor. Ekspor bisa uga mbutuhake wewenang sadurunge saka panguwasa sing kompeten.
Cocog kanggo digunakake ing produk qualified non-otomotif - Yen lembar data iki kanthi tegas nyatakake yen produk Semikonduktor NXP spesifik iki nduweni kualifikasi otomotif, produk kasebut ora cocok kanggo panggunaan otomotif. Ora qualified utawa dites sesuai karo tes otomotif utawa syarat aplikasi. NXP Semiconductors ora tanggung jawab kanggo inklusi lan / utawa nggunakake produk qualified non-otomotif ing peralatan otomotif utawa aplikasi.
Yen pelanggan nggunakake produk kanggo desain lan digunakake ing aplikasi otomotif kanggo spesifikasi lan standar otomotif, pelanggan (a) kudu nggunakake produk kasebut tanpa jaminan NXP Semikonduktor kanggo produk kasebut kanggo aplikasi, panggunaan lan spesifikasi otomotif kasebut, lan ( b) nalika pelanggan nggunakake produk kanggo aplikasi otomotif ngluwihi spesifikasi NXP Semikonduktor, panggunaan kasebut mung dadi resiko pelanggan dhewe, lan (c) pelanggan menehi ganti rugi kanthi lengkap NXP Semikonduktor kanggo tanggung jawab, kerusakan utawa klaim produk sing gagal amarga desain lan panggunaan pelanggan. produk kanggo aplikasi otomotif ngluwihi babar pisan standar NXP Semikonduktor lan spesifikasi produk NXP Semikonduktor.
Terjemahan — Versi non-Inggris (diterjemahake) saka dokumen, kalebu informasi hukum ing dokumen kasebut, mung kanggo referensi. Versi Inggris bakal ditrapake yen ana bedo antarane versi terjemahan lan Inggris.
Keamanan — Pelanggan mangertos manawa kabeh produk NXP bisa uga ana kerentanan sing ora dingerteni utawa ndhukung standar keamanan utawa spesifikasi sing wis ditemtokake kanthi watesan sing dingerteni. Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sajrone siklus urip kanggo nyuda efek saka kerentanan kasebut ing aplikasi lan produk pelanggan. Tanggung jawab pelanggan uga ngluwihi teknologi mbukak lan/utawa eksklusif liyane sing didhukung produk NXP kanggo digunakake ing aplikasi pelanggan. NXP ora tanggung jawab kanggo kerentanan apa wae. Pelanggan kudu rutin mriksa nganyari keamanan saka NXP lan tindakake kanthi tepat.
Pelanggan kudu milih produk kanthi fitur keamanan sing paling cocog karo aturan, peraturan, lan standar aplikasi sing dituju lan nggawe keputusan desain sing paling penting babagan produk lan tanggung jawab mung kanggo netepi kabeh syarat legal, peraturan, lan keamanan babagan produke, preduli informasi utawa dhukungan sing bisa diwenehake dening NXP.
NXP duwe Product Security Incident Response Team (PSIRT) (bisa digayuh ing PSIRT@nxp.com) sing ngatur investigasi, laporan, lan rilis solusi kanggo kerentanan keamanan produk NXP.
6.3 Merek dagang
Kabar: Kabeh merek sing dirujuk, jeneng produk, jeneng layanan, lan merek dagang minangka properti sing nduweni.
NXP - wordmark lan logo iku merek dagang saka 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 — minangka merek dagang utawa merek dagang kadhaptar saka Arm Limited (utawa anak perusahaan) ing AS lan/utawa ing papan liya. Teknologi sing gegandhengan bisa dilindhungi dening samubarang utawa kabeh paten, hak cipta, desain lan rahasia dagang. Kabeh hak dilindhungi undhang-undhang.
Wigati dimangerteni manawa kabar penting babagan dokumen iki lan produk sing diterangake ing kene, wis kalebu ing bagean 'Informasi hukum'.

© 2023 NXP BV
Kanggo informasi luwih lengkap, bukak: http://www.nxp.com
Kabeh hak dilindhungi undhang-undhang.
Tanggal rilis: 4 Januari 2023
Pengenal dokumen: AN13823

Dokumen / Sumber Daya

NXP AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCU [pdf] Pandhuan pangguna
AN13823 IEC 60730 Kelas B Piranti Lunak kanggo LPC553x MCUs, AN13823, IEC 60730 Kelas B Software kanggo LPC553x MCUs, AN13823 IEC 60730 Kelas B Software

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *