Logo NXPAN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU
Panduan Pengguna

AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU

Rev. 0 — 4 Januari 2023
Nota permohonan
Maklumat dokumen

Maklumat kandungan
Kata kunci LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Abstrak Tujuan utama nota permohonan ini adalah untuk mempercepatkan pembangunan perisian pelanggan dan proses pensijilan untuk produk berdasarkan LPC553x MCU.

pengenalan

Piawaian keselamatan IEC 60730 mentakrifkan kaedah ujian dan diagnostik yang memastikan operasi selamat perkakasan kawalan terbenam dan perisian untuk perkakas rumah.
Untuk mencapai keselamatan berfungsi, adalah perlu untuk menghapuskan semua risiko bahaya yang mungkin disebabkan oleh kerosakan sistem.
Piawaian IEC 60730 mengklasifikasikan peralatan yang berkenaan kepada tiga kategori:

  • Kelas A: Tidak bertujuan untuk dipercayai untuk keselamatan peralatan
  • Kelas B: Untuk mengelakkan pengendalian peralatan terkawal yang tidak selamat
  • Kelas C: Untuk mengelakkan bahaya khas

NXP menyediakan perpustakaan Kelas B keselamatan IEC 60730 untuk membantu pengeluar kawalan automatik dalam pasaran perkakas besar memenuhi peraturan kelas B IEC 60730. Perpustakaan menyokong IDE IAR, Keil dan MCUXpresso.
Anda boleh menyepadukan binari perpustakaan keselamatan NXP ke dalam perisian aplikasi anda. Untuk pembangunan aplikasi IEC60730B yang lebih mudah, perpustakaan juga menyediakan bekasampprojek itu. bekas iniample diedarkan melalui IEC 60730 Standard Keselamatan untuk Perkakas Rumah  on nxp.com webtapak.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 1Tujuan utama nota permohonan ini adalah untuk mempercepatkan pembangunan perisian pelanggan dan proses pensijilan untuk produk berdasarkan LPC553x MCU.

Perpustakaan NXP IEC 60730 Kelas B tamatview

Perpustakaan keselamatan termasuk ujian kendiri bahagian bergantung teras dan bahagian bergantung persisian seperti yang disenaraikan di bawah:

  • Bahagian yang bergantung kepada teras
    – Ujian daftar CPU
    – Ujian kaunter program CPU
    – Ujian memori boleh ubah
    – Ujian ingatan tidak berubah
    – Ujian tindanan
  • Bahagian yang bergantung pada periferi
    – Ujian jam
    – Ujian input/output digital
    – Ujian input/output analog
    – Ujian pengawas

Jadual 1. Pematuhan piawaian IEC 60730 Kelas B

Perpustakaan Kelas B NXP IEC 60730 IEC 60730
komponen Kaedah barang Digunakan
Daftar CPU Prosedur ujian daftar CPU menguji semua daftar CPU CM33 untuk keadaan tersekat. 1.1 Daftar H.2.16.6
Kaunter program Prosedur ujian pembilang program CPU menguji daftar pembilang program CPU untuk keadaan tersekat. Ujian daftar kaunter program boleh dilakukan sekali selepas penetapan semula MCU dan juga semasa masa jalan.
Paksa CPU (aliran program) untuk mengakses alamat sepadan yang menguji corak untuk mengesahkan kefungsian kaunter program.
1.3 Kaunter program H.2.16.6
jam Prosedur ujian jam menguji pengayun pemproses untuk kekerapan yang salah. Prinsip ujian jam adalah berdasarkan perbandingan dua sumber jam bebas. Jika rutin ujian mengesan perubahan dalam nisbah kekerapan antara sumber jam, kod ralat kegagalan dikembalikan. 3.Jam NA
Ingatan tidak berubah Ujian memori invariable adalah untuk menyemak sama ada terdapat perubahan dalam kandungan memori (on-chip Flash) semasa pelaksanaan aplikasi. Beberapa kaedah checksum (contohnyaample, CRC16) boleh digunakan untuk tujuan ini. 4.1
Ingatan tidak berubah
H.2.19.3.1
Ujian memori boleh ubah Periksa RAM pada cip untuk kerosakan DC. Skim Mac C dan Mac X digunakan sebagai mekanisme kawalan. 4.2 Memori boleh ubah H.2.19.6
digital
ujian input/output
Fungsi ujian DIO direka untuk memeriksa kefungsian input dan output digital serta keadaan litar pintas antara pin yang diuji dan vol bekalantage, tanah atau pin bersebelahan pilihan. 7.1 I/O Digital H.2.18.13
Ujian Input/ Output Analog (I/ 0). Ujian menyemak antara muka input analog dan tiga nilai rujukan: rujukan tinggi, rujukan rendah dan jurang jalur voltage. Ujian input analog adalah berdasarkan penukaran tiga input analog dengan vol yang diketahuitage dan ia menyemak sama ada nilai yang ditukar sesuai dengan had yang ditentukan. Biasanya, had hendaklah kira-kira 10% di sekitar nilai rujukan yang diingini. 7.2 I/O Analog H.2.18.13

Perpustakaan NXP IEC 60730 Kelas B exampprojek itu

Untuk pembangunan aplikasi IEC60730B yang lebih mudah, perpustakaan menyediakan examprangka kerja projek, dibina di atas papan penilaian khusus LPC553x  Log masuk ke NXP.com | Semikonduktor NXP (LPC5536-EVK). Anda mesti mengkonfigurasi tetapan perpustakaan yang betul untuk projek sebenar.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 23.1 Integrasi perpustakaan keselamatan ke dalam aplikasi pengguna
Keselamatan examprutin projek terbahagi kepada dua proses utama: ujian keselamatan satu masa pra-jalan dan ujian keselamatan berkala masa jalan.
Rajah berikut menunjukkan proses ujian keselamatan.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 3Untuk menyepadukan perpustakaan keselamatan NXP, lakukan langkah berikut:

  1. Muat turun ex keselamatanampprojek dari nxp.com
  2. Tetapan perkakasan mengambil kira peranti yang digunakan untuk ujian kendiri keselamatan
  3. Konfigurasikan perpustakaan keselamatan mengikut reka bentuk perkakasan sebenar
  4. Hidupkan fungsi ujian keselamatan satu demi satu dalam safety_config.h
    • Untuk penyahpepijatan, adalah lebih baik untuk mematikan ujian kilat dan anjing pemerhati terlebih dahulu
    • Jaga gangguan, kerana beberapa ujian keselamatan tidak boleh diganggu
  5. Membangunkan kod aplikasi berdasarkan keselamatan examprangka kerja projek

Perpustakaan keselamatan LPC553x cthampprojek dalam amalan

4.1 Gambar rajah blok perkakasan
Modul berikut digunakan untuk ujian kendiri keselamatan secara lalai seperti yang ditunjukkan dalam rajah di bawah:NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 4Jadual 2. Modul MCU untuk ujian kendiri keselamatan

Item ujian perpustakaan keselamatan modul MCU
ujian CPU Teras LPC5536 CM33
Ujian jam Systick
CTIMER0
Ujian pengawas Anjing pemerhati
CTIMER0
Ujian memori boleh ubah SRAM
Ujian ingatan tidak berubah kilat
Ujian I/O digital GPIO1
Ujian I/O analog ADC0

4.2 Ujian CPU
4.2.1 CPU mendaftarkan penerangan ujian
Prosedur ujian daftar CPU menguji semua daftar CPU CM33 untuk keadaan tersekat (kecuali untuk daftar kaunter program). Ujian kaunter program dilaksanakan sebagai rutin keselamatan yang tersendiri. Set ujian ini termasuk ujian daftar berikut:

  • Daftar tujuan am:
    – R0-R12
  • Daftar penuding tindanan:
    – MSP + MSPLIM (selamat / tidak selamat)
    – PSP + PSPLIM (selamat / tidak selamat)
  • Daftar khas:
    – APSR
    – KAWALAN (selamat / tidak selamat)
    – PRIMASK (selamat / tidak selamat)
    – FAULTMASK (selamat / tidak selamat)
    – BASEPRI (selamat / tidak selamat)
  • Daftar pautan:
    – LR
  • Daftar FPU:
    – FPSCR
    – S0 – S31

Terdapat satu set ujian yang dilakukan sekali selepas MCU ditetapkan semula dan juga semasa masa jalan. Anda boleh menggunakan semula tetapan lalai pustaka keselamatan LPC553x exampProjek ini, bagaimanapun, anda mesti memberi perhatian kepada gangguan kerana beberapa ujian daftar CPU tidak boleh diganggu.

  • Ujian keselamatan pra-lari sekali
    – SafetyCpuAfterResetTest /* Gangguan mesti dilumpuhkan untuk seketika */
    – Daftar FS_CM33_CPU
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_SPmain_S
    – FS_CM33_CPU_SPmain_Limit_S
    – FS_CM33_CPU_SPprocess_S
    – FS_CM33_CPU_SPprocess_Limit_S
    – FS_CM33_CPU_Primask_S
    – FS_FAIL_CPU_PRIMASK
    – FS_CM33_CPU_Special8PriorityLevels_S
    – FS_CM33_CPU_Control
    – FS_CM33_CPU_Float1
    – FS_CM33_CPU_Float2
  • Ujian keselamatan berkala masa jalan
    – SafetyCpuBackgroundTest /* Ujian daftar CPU yang boleh terganggu */
    – Daftar FS_CM33_CPU
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_Control /* Gangguan mesti dilumpuhkan untuk seketika */
    – FS_CM33_CPU_SPprocess_S /* Gangguan mesti dilumpuhkan untuk seketika */

4.3 Ujian kaunter program CPU
4.3.1 Penerangan ujian kaunter program CPU
Prosedur ujian daftar pembilang program CPU menguji daftar pembilang program CPU untuk keadaan tersekat. Bertentangan dengan daftar CPU yang lain, kaunter program tidak boleh hanya diisi dengan corak ujian. Ia adalah perlu untuk memaksa CPU (aliran program) untuk mengakses alamat sepadan yang menguji corak untuk mengesahkan kefungsian kaunter program.
Ambil perhatian bahawa ujian kaunter program tidak boleh diganggu.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 5Ujian daftar kaunter program boleh dilakukan sekali selepas MCU ditetapkan semula dan juga semasa masa jalan.

  • Ujian keselamatan pra-lari sekali
    – SafetyPcTest
    – FS_CM33_PC_Test
  • Ujian keselamatan berkala masa jalan
    – SafetyIsrFunction > SafetyPcTest
    – FS_CM33_PC_Test

4.4 Ujian memori boleh ubah
4.4.1 Penerangan ujian memori boleh ubah
Ujian memori berubah untuk peranti yang disokong menyemak RAM pada cip untuk kerosakan DC.
Kawasan timbunan aplikasi juga boleh diuji. Skim Mac C dan Mac X digunakan sebagai mekanisme kawalan.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 6Fungsi pengendalian adalah berbeza untuk ujian selepas set semula dan untuk ujian masa jalan.
Ujian selepas set semula dilakukan oleh fungsi FS_CM33_RAM_AfterReset (). Fungsi ini dipanggil sekali selepas penetapan semula, apabila masa pelaksanaan tidak kritikal. Simpan ruang memori percuma untuk kawasan sandaran. Parameter saiz blok tidak boleh lebih besar daripada saiz kawasan sandaran. Fungsi mula-mula menyemak kawasan sandaran, kemudian gelung bermula. Blok memori disalin ke kawasan sandaran dan lokasinya disemak oleh ujian Mac masing-masing. Data disalin kembali ke kawasan memori asal dan alamat sebenar dengan saiz blok dikemas kini. Ini diulang sehingga blok terakhir memori diuji. Jika kerosakan DC dikesan, fungsi mengembalikan corak kegagalan.
Ujian runtime dilakukan oleh fungsi FS_CM33_RAM_Runtime (). Untuk menjimatkan masa, ia hanya menguji satu segmen (ditakrifkan oleh RAM_TEST_BLOCK_SIZE) SRAM tepat pada masanya. Semasa ujian selepas set semula memeriksa keseluruhan blok ruang RAM berkaitan keselamatan. Dalam perpustakaan keselamatan LPC553x exampprojek ini, RAM_TEST_BLOCK_SIZE dikonfigurasikan kepada 0x4, ini bermakna 32 bait RAM akan diuji dalam satu rutin ujian RAM masa jalan.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 7

  • Ujian keselamatan pra-lari sekali
    – SafetyRamAfterResetTest /* Uji keseluruhan ruang RAM bahagian “.safety_ram“ sebelum menjalankan rutin utama. */
    – FS_CM33_RAM_AfterReset
  • Ujian keselamatan berkala masa jalan
    – SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* dilaksanakan dalam Systick ISR, tidak boleh diganggu */
    – FS_CM33_RAM_Rtime

4.4.2 Konfigurasi ujian memori boleh ubah
Konfigurasi ujian memori berubah dalam :NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 8Konfigurasi blok RAM keselamatan berada dalam :
tentukan blok SAFETY_RAM_BLOCK dengan penjajaran = 8
{section .safety_ram };
letak dalam RAM_region {block SAFETY_RAM_BLOCK};
Ambil perhatian bahawa hanya .safety_ram dilindungi oleh ujian memori berubah. Tambahkan pembolehubah ke dalam bahagian .safety_ram secara manual, seperti ditunjukkan di bawah dalam main.c.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 94.5 Ujian ingatan tidak berubah
4.5.1 Penerangan ujian ingatan tidak berubah
Memori invariable pada LPC5536 MCU ialah denyar pada cip. Prinsip ujian memori invariable adalah untuk memeriksa sama ada terdapat perubahan dalam kandungan memori semasa pelaksanaan aplikasi. Beberapa kaedah checksum boleh digunakan untuk tujuan ini. Checksum ialah algoritma yang mengira tandatangan data yang diletakkan dalam memori yang diuji. Tandatangan blok memori ini kemudiannya dikira secara berkala dan dibandingkan dengan tandatangan asal.
Tandatangan untuk memori yang diberikan dikira dalam fasa pemautan aplikasi. Tandatangan mesti disimpan ke dalam memori invariable, tetapi di kawasan yang berbeza daripada yang dikira untuk checksum. Dalam masa jalan dan selepas penetapan semula, algoritma yang sama mesti dilaksanakan dalam aplikasi untuk mengira jumlah semak. Hasilnya dibandingkan. Jika mereka tidak sama, keadaan ralat keselamatan berlaku.
Apabila dilaksanakan selepas penetapan semula atau apabila tiada sekatan pada masa pelaksanaan, panggilan fungsi boleh menjadi seperti berikut.
• Ujian keselamatan pra-lari sekali
– SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* kira CRC bagi keseluruhan Flash */
Dalam masa jalan aplikasi dan dengan masa yang terhad untuk pelaksanaan, CRC dikira dalam urutan. Ini bermakna bahawa parameter input mempunyai makna yang berbeza berbanding dengan panggilan selepas set semula. Pelaksanaan example adalah seperti berikut:
• Ujian keselamatan berkala masa jalan
– SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* hitung blok CRC demi blok */
– SafetyFlashTestHandling /* bandingkan CRC apabila semua blok Flash dikira. */
4.5.2 Konfigurasi ujian memori invariable
Dalam perpustakaan keselamatan LPC553x exampprojek, peruntukan kilat ditunjukkan di bawah seperti yang dinyatakan dalam Pemaut file . Objek itu files dan diletakkan di dalam blok denyar keselamatan yang disemak oleh ujian memori invariable. Anda boleh meletakkan lebih banyak objek files ke kawasan SAFETY_FLASH_BLOCK Flash dengan mengubah suai Pemaut file sewajarnya.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 10Terdapat dua jumlah semak untuk dibandingkan semasa masa jalan MCU untuk mengesahkan sama ada kandungan ruang denyar yang diberikan telah diubah suai:

  • Jumlah semak dikira oleh Penghubung di Menyusun/Menghubungkan
  • Jumlah semak dikira oleh MCU pada masa jalan

Takrif lokasi untuk meletakkan hasil semak (dikira oleh alat pemaut) ada :
tentukan simbol __FlashCRC_start__ = 0x0300; /* untuk meletakkan checksum */
tentukan simbol __FlashCRC_end__ = 0x030F; /* untuk meletakkan checksum */
tentukan rantau CRC_region = mem: [dari __FlashCRC_start__ hingga __FlashCRC_end__];
tentukan blok CHECKSUM dengan penjajaran = 8 {bahagian. checksum}; letak dalam CRC_region { blok CHECKSUM};
Ambil IAR IDE, contohnyaample, dalam tetapan pilihan projek > Build Actions > Post-build baris arahan.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 11Baris arahan:
ielftool –isi 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –verbose “$TARGET_PATH$” “$TARGET_PATH$”
Pemaut mengira jumlah semak asal pengalamatan kilat daripada _checksumStart hingga c_checksumEnd, kemudian meletakkan hasil semak ke dalam _checksum, yang berada dalam blok CHECKSUM yang ditakrifkan oleh Pemaut file.
Takrif ruang denyar yang ditentukan untuk diperiksa adalah masuk :
takrifkan blok SAFETY_FLASH_BLOCK dengan penjajaran = 8, tertib tetap { bahagian baca sahaja checksum_start_mark, bahagian .text object main.o, section .text object safety_cm33_lpc.o, section .rodata object safety_cm33_lpc.o, read only section checksum_end_mark };
letakkan dalam ROM_region { blok SAFETY_FLASH_BLOCK};
4.6 Ujian tindanan
4.6.1 Penerangan ujian tindanan
Ujian tindanan ialah ujian tambahan, tidak dinyatakan secara langsung dalam jadual lampiran H IEC60730.
Rutin ujian ini digunakan untuk menguji keadaan limpahan dan aliran bawah tindanan aplikasi. Ujian kesalahan tersekat di kawasan memori yang diduduki oleh timbunan diliputi oleh ujian memori berubah. Limpahan atau aliran bawah tindanan boleh berlaku jika tindanan tidak dikawal dengan betul atau dengan mentakrifkan kawasan tindanan "terlalu rendah" untuk aplikasi yang diberikan.
Prinsip ujian adalah untuk mengisi kawasan di bawah dan di atas timbunan dengan corak yang diketahui. Kawasan ini mesti ditakrifkan dalam konfigurasi pemaut file, bersama-sama dengan timbunan. Fungsi permulaan kemudian mengisi kawasan ini dengan corak anda. Corak mesti mempunyai nilai yang tidak muncul di tempat lain dalam aplikasi. Tujuannya adalah untuk memeriksa sama ada corak yang tepat masih ditulis di kawasan ini. Jika tidak, ia adalah tanda tingkah laku tindanan yang salah. Jika ini berlaku, maka nilai pulangan FAIL daripada fungsi ujian mesti diproses sebagai ralat keselamatan.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 12Ujian dilakukan selepas penetapan semula dan semasa masa jalan aplikasi dengan cara yang sama.

  • Ujian keselamatan pra-lari sekali
    – SafetyStackTestInit
    – FS_CM33_STACK_Init /* tulis STACK_TEST_PATTERN (0x77777777) ke STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* semak kandungan STACK_TEST_BLOCK, gagal jika nilainya tidak sama dengan STACK_TEST_PATTERN (0x77777777).
  • Ujian keselamatan berkala masa jalan
    – SafetyStackTest
    – FS_CM33_STACK_Init /* tulis STACK_TEST_PATTERN (0x77777777) ke STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* semak kandungan STACK_TEST_BLOCK, gagal jika nilainya tidak sama dengan STACK_TEST_PATTERN (0x77777777)

4.6.2 Konfigurasi ujian tindanan
Konfigurasi ujian tindanan berada dalam dan penghubung file NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 134.7 Ujian jam
4.7.1 Penerangan ujian jam
Prinsip ujian jam adalah berdasarkan perbandingan dua sumber jam bebas.
Dalam perpustakaan keselamatan LPC553x exampprojek, CTIMER0 dan Systick pada MCU LPC5536 digunakan sebagai dua jam bebas untuk ujian jam keselamatan, mereka tidak bergantung pada papan perkakasan LPC5536-EVK.
Rutin ujian jam dilaksanakan dalam ujian keselamatan berkala masa jalan sahaja.

  • Ujian keselamatan pra-lari sekali
    – Tiada ujian jam
  • Ujian keselamatan berkala masa jalan
    – SafetyClockTestCheck
    – SafetyClockTestIsr

NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 144.7.2 Konfigurasi ujian jam
Memandangkan dua jam bebas diperlukan untuk ujian jam di perpustakaan keselamatan LPC553x exampprojek:

  • Pemasa SYSTICK diperoleh daripada PLL0 150 M (bersumberkan daripada kristal 16 MHz luaran)
  • Pemasa CTIMER0 diperoleh daripada FRO_96M dalaman

NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 15

Konfigurasi terperinci Systick dan CTIMER0 ditunjukkan di bawah:

  • Konfigurasi Systick: SystickISR_Freq = 1000 Hz, dengan menetapkan nilai tambah nilai 150,000 di bawah jam teras 150 MHz
  • Konfigurasi CTIMER: CTIMER_Freq = 96 MHz, diperoleh daripada jam 96 MHz FRO_96M
  • Kaunter CTIMER yang dijangkakan hendaklah CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000
  • Dalam setiap ISR gangguan Systick, simpan nilai pembilang CTIMER
  • Dalam gelung masa jalan sementara (1), semak: (96,000 – 20 %) < CTIMER jangkakan pembilang < (96,000 + 20 %)

Konfigurasi ujian jam adalah dalam Safety_config.h.
Mengikut aplikasi sebenar, anda boleh menukar contoh CTIMER untuk ujian jam keselamatan dengan mengkonfigurasi makro REF_TIMER_USED. Selain itu, anda mesti mengkonfigurasi REF_TIMER_CLOCK_FREQUENCY mengikut kekerapan jam sebenar. NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 164.8 Ujian I/O Digital
4.8.1 Penerangan ujian I/O Digital
Dalam perpustakaan keselamatan LPC553x exampprojek, GPIO P1_4 dan P1_17 pada LPC5536-EVK dipilih untuk ujian I/O digital keselamatan, kedua-dua pin ini disambungkan ke pengepala J10 pada papan LPC553x EVK.
Rutin ujian I/O digital dibahagikan kepada dua proses utama: ujian keselamatan satu masa pra-jalan dan ujian keselamatan berkala masa jalan

  • Ujian keselamatan pra-lari sekali
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest
    – SafetyDigitalInputOutput_ShortAdjTest
  • Ujian keselamatan berkala masa jalan
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Konfigurasi ujian I/O Digital
Konfigurasi ujian I/O digital adalah dalam safety_test_item.c.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 17Pelaksanaan ujian I/O digital mesti disesuaikan dengan aplikasi akhir. Berhati-hati dengan sambungan perkakasan dan reka bentuk. Anda boleh menukar GPIO untuk keselamatan
ujian I/O digital dengan mengkonfigurasi dio_safety_test_item[] dalam safety_test_item.c. Dalam kebanyakan kes, pin yang diuji (dan kadangkala juga tambahan) mesti dikonfigurasikan semula semasa aplikasi dijalankan. Adalah disyorkan untuk menggunakan pin yang tidak digunakan untuk ujian I/O digital.
4.9 Ujian I/O Analog
4.9.1 Penerangan ujian I/O Analog
Dalam perpustakaan keselamatan LPC553x exampprojek, P0_16/ADC0IN3B, P0_31/ADC0IN8A dan P0_15/ADC0IN3A pada LPC5536-EVK dipilih untuk ujian I/O analog keselamatan, kerana modul ADC pada MCU LPC5536 tidak membenarkan untuk menyambungkan VREFH, VREFL secara dalaman kepada ADC input. Ia adalah perlu bagi pengguna untuk menyambungkan isyarat ini (untuk ujian I/O analog) dengan wayar terbang seperti yang ditunjukkan di bawah.

  • GND disambungkan ke P0_16/ADC0IN3B (J9-5) untuk Ujian ADC VREFL
  • 3.3 V disambungkan kepada P0_31/ADC0IN8A (J9-31) untuk Ujian ADC VREFH
  • 1.65 V disambungkan kepada P0_15/ADC0IN3A (J9-1) untuk Ujian ADC Bandgap

Rutin ujian I/O analog dibahagikan kepada dua proses utama:

  • Ujian keselamatan pra-lari sekali
    – Ujian Analog Keselamatan
  • Ujian keselamatan berkala masa jalan
    – Ujian Analog Keselamatan

4.9.2 Konfigurasi ujian I/O Analog
Pelaksanaan ujian I/O analog mesti disesuaikan dengan aplikasi akhir. Berhati-hati dengan sambungan perkakasan dan reka bentuk. Anda boleh menukar saluran ADC untuk ujian I/O analog keselamatan dengan mengkonfigurasi FS_CFG_AIO_CHANNELS_INIT dan
FS_CFG_AIO_CHANNELS_SIDE_INIT dalam safety_config.h.

  • FS_CFG_AIO_CHANNELS_INIT menunjukkan nombor saluran ADC.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT menunjukkan sisi saluran ADC.

NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 18Seperti yang ditunjukkan dalam rajah di atas:

  • Elemen pertama sepadan dengan ujian ADC VREFL
  • Elemen kedua sepadan dengan ujian ADC VREFH
  • Elemen ketiga sepadan dengan ujian ADC Bandgap

Untuk example, “3” dalam FS_CFG_AIO_CHANNELS_INIT dan “1” dalam
FS_CFG_AIO_CHANNELS_SIDE_INIT menunjukkan bahawa ADC0 saluran 3 sisi B dipilih untuk ujian ADC VREFL.
4.10 Ujian pengawas
4.10.1 Penerangan ujian badan pemantau
Ujian pengawas tidak dinyatakan secara langsung dalam jadual IEC60730 – lampiran H, namun, ia memenuhi sebahagian keperluan keselamatan mengikut piawaian IEC 60730-1, IEC 60335, UL 60730 dan UL 1998.
Ujian pengawas menyediakan ujian kefungsian pemasa pengawas. Ujian dijalankan sekali sahaja selepas penetapan semula. Ujian menyebabkan tetapan semula WDOG dan membandingkan masa pratetap untuk tetapan semula WDOG kepada masa nyata.NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU - Rajah 20Dalam perpustakaan keselamatan LPC553x exampprojek, pengawas diuji menggunakan langkah berikut:

  1. Selepas menetapkan semula, dayakan anjing pemantau dan berhenti memuat semula dengan sengaja untuk mencetuskan MCU penetapan semula anjing pemerhati.
  2. Dayakan CTIMER0 untuk mengukur tempoh masa yang diambil untuk tamat masa dan set semula anjing pemerhati.
  3. Selepas penetapan semula badan pemantau, sahkan bahawa tetapan semula ini disebabkan oleh anjing pemantau dengan menyemak daftar PMC->AOREG1.
  4. Baca CTIMER0 untuk mendapatkan masa yang tepat untuk tamat masa pengawas dan menetapkan semula.

Sejarah semakan

Jadual di bawah meringkaskan semakan pada dokumen ini.
Jadual 3. Sejarah semakan

Nombor semakan tarikh Perubahan substantif
0 4-Jan-23 Siaran awam awal

Maklumat undang-undang

6.1 Definisi
Draf — Status draf pada dokumen menunjukkan bahawa kandungan masih di bawah semula dalamanview dan tertakluk kepada kelulusan rasmi, yang mungkin mengakibatkan pengubahsuaian atau penambahan. Semikonduktor NXP tidak memberikan sebarang representasi atau jaminan tentang ketepatan atau kesempurnaan maklumat yang disertakan dalam versi draf dokumen dan tidak akan bertanggungjawab ke atas akibat penggunaan maklumat tersebut.
6.2 Penafian
Waranti dan liabiliti terhad — Maklumat dalam dokumen ini dipercayai tepat dan boleh dipercayai. Walau bagaimanapun, Semikonduktor NXP tidak memberikan sebarang representasi atau waranti, tersurat atau tersirat, tentang ketepatan atau kesempurnaan maklumat tersebut dan tidak akan mempunyai liabiliti untuk akibat penggunaan maklumat tersebut. Semikonduktor NXP tidak bertanggungjawab ke atas kandungan dalam dokumen ini jika disediakan oleh sumber maklumat di luar Semikonduktor NXP.
NXP Semiconductors tidak akan bertanggungjawab untuk sebarang kerosakan tidak langsung, sampingan, punitif, khas atau berbangkit (termasuk – tanpa had kehilangan keuntungan, kehilangan simpanan, gangguan perniagaan, kos yang berkaitan dengan penyingkiran atau penggantian sebarang produk atau caj kerja semula) sama ada atau bukan ganti rugi sedemikian adalah berdasarkan tort (termasuk kecuaian), waranti, pelanggaran kontrak atau mana-mana teori undang-undang lain.
Walau apa pun apa-apa kerosakan yang mungkin ditanggung oleh pelanggan atas apa jua sebab sekalipun, liabiliti agregat dan kumulatif NXP Semiconductors terhadap pelanggan untuk produk yang diterangkan di sini akan dihadkan mengikut Terma dan syarat jualan komersial NXP Semiconductors.
Hak untuk membuat perubahan — Semikonduktor NXP berhak untuk membuat perubahan pada maklumat yang diterbitkan dalam dokumen ini, termasuk tanpa batasan spesifikasi dan penerangan produk, pada bila-bila masa dan tanpa notis. Dokumen ini menggantikan dan menggantikan semua maklumat yang dibekalkan sebelum penerbitan ini.
Kesesuaian untuk digunakan — Produk Semikonduktor NXP tidak direka bentuk, dibenarkan atau dijamin sesuai untuk digunakan dalam sokongan hayat, sistem atau peralatan yang kritikal atau kritikal keselamatan, mahupun dalam aplikasi di mana kegagalan atau pincang fungsi produk Semikonduktor NXP secara munasabah boleh dijangka mengakibatkan kecederaan diri, kematian atau harta benda yang teruk atau kerosakan alam sekitar. NXP Semiconductors dan pembekalnya tidak menerima liabiliti untuk kemasukan dan/atau penggunaan produk NXP Semiconductor dalam peralatan atau aplikasi tersebut dan oleh itu kemasukan dan/atau penggunaan tersebut adalah atas risiko pelanggan sendiri.
Aplikasi - Aplikasi yang diterangkan di sini untuk mana-mana produk ini adalah untuk tujuan ilustrasi sahaja. Semikonduktor NXP tidak membuat pernyataan atau jaminan bahawa aplikasi tersebut akan sesuai untuk kegunaan tertentu tanpa ujian atau pengubahsuaian lanjut. Pelanggan bertanggungjawab ke atas reka bentuk dan pengendalian aplikasi dan produk mereka menggunakan produk Semikonduktor NXP, dan Semikonduktor NXP tidak bertanggungjawab untuk sebarang bantuan dengan aplikasi atau reka bentuk produk pelanggan. Adalah menjadi tanggungjawab pelanggan sepenuhnya untuk menentukan sama ada produk Semikonduktor NXP sesuai dan sesuai untuk aplikasi pelanggan dan produk yang dirancang, serta untuk aplikasi yang dirancang dan penggunaan pelanggan pihak ketiga pelanggan. Pelanggan harus menyediakan reka bentuk dan perlindungan operasi yang sesuai untuk meminimumkan risiko
berkaitan dengan aplikasi dan produk mereka. NXP Semiconductors tidak menerima sebarang liabiliti yang berkaitan dengan sebarang keingkaran, kerosakan, kos atau masalah yang berdasarkan sebarang kelemahan atau keingkaran dalam aplikasi atau produk pelanggan, atau aplikasi atau penggunaan oleh pelanggan pihak ketiga pelanggan. Pelanggan bertanggungjawab untuk melakukan semua ujian yang diperlukan untuk aplikasi dan produk pelanggan menggunakan produk NXP Semiconductors untuk mengelakkan lalai aplikasi dan produk atau aplikasi atau penggunaan oleh pelanggan pihak ketiga pelanggan. NXP tidak menerima sebarang liabiliti dalam hal ini.
Terma dan syarat jualan komersial — Produk NXP Semiconductors dijual tertakluk kepada terma dan syarat am jualan komersial, seperti yang diterbitkan di http://www.nxp.com/profile/terms, melainkan dipersetujui sebaliknya dalam perjanjian individu bertulis yang sah. Sekiranya perjanjian individu dibuat hanya terma dan syarat perjanjian masing-masing akan terpakai. NXP Semiconductors dengan ini secara nyata membantah untuk menggunakan terma dan syarat am pelanggan berkenaan dengan pembelian produk NXP Semiconductors oleh pelanggan.
Kawalan eksport — Dokumen ini serta item yang diterangkan di sini mungkin tertakluk kepada peraturan kawalan eksport. Eksport mungkin memerlukan kebenaran terlebih dahulu daripada pihak berkuasa yang berwibawa.
Kesesuaian untuk digunakan dalam produk berkelayakan bukan automotif — Melainkan helaian data ini menyatakan dengan jelas bahawa produk Semikonduktor NXP khusus ini berkelayakan automotif, produk tersebut tidak sesuai untuk kegunaan automotif. Ia tidak layak mahupun diuji mengikut ujian automotif atau keperluan aplikasi. NXP Semiconductors tidak menerima liabiliti untuk kemasukan dan/atau penggunaan produk berkelayakan bukan automotif dalam peralatan atau aplikasi automotif.
Sekiranya pelanggan menggunakan produk untuk reka bentuk dan penggunaan dalam aplikasi automotif kepada spesifikasi dan piawaian automotif, pelanggan (a) hendaklah menggunakan produk tersebut tanpa waranti NXP Semiconductors bagi produk untuk aplikasi, penggunaan dan spesifikasi automotif tersebut, dan ( b) bila-bila masa pelanggan menggunakan produk untuk aplikasi automotif melebihi spesifikasi NXP Semiconductor penggunaan sedemikian hendaklah semata-mata atas risiko pelanggan sendiri, dan (c) pelanggan menanggung rugi sepenuhnya NXP Semiconductors untuk sebarang liabiliti, kerosakan atau tuntutan produk yang gagal akibat reka bentuk dan penggunaan pelanggan produk untuk aplikasi automotif melebihi jaminan standard NXP Semiconductor dan spesifikasi produk NXP Semiconductor.
Terjemahan — Versi bukan bahasa Inggeris (terjemahan) dokumen, termasuk maklumat undang-undang dalam dokumen itu, adalah untuk rujukan sahaja. Versi Bahasa Inggeris akan diguna pakai sekiranya terdapat sebarang percanggahan antara versi terjemahan dan bahasa Inggeris.
Keselamatan — Pelanggan memahami bahawa semua produk NXP mungkin tertakluk kepada kelemahan yang tidak dikenal pasti atau mungkin menyokong piawaian atau spesifikasi keselamatan yang ditetapkan dengan pengehadan yang diketahui. Pelanggan bertanggungjawab ke atas reka bentuk dan pengendalian aplikasi dan produknya sepanjang kitaran hayat mereka untuk mengurangkan kesan kelemahan ini pada aplikasi dan produk pelanggan. Tanggungjawab pelanggan juga meliputi teknologi terbuka dan/atau proprietari lain yang disokong oleh produk NXP untuk digunakan dalam aplikasi pelanggan. NXP tidak menerima liabiliti untuk sebarang kelemahan. Pelanggan harus sentiasa menyemak kemas kini keselamatan daripada NXP dan membuat susulan dengan sewajarnya.
Pelanggan hendaklah memilih produk dengan ciri keselamatan yang paling memenuhi peraturan, peraturan dan piawaian aplikasi yang dimaksudkan dan membuat keputusan reka bentuk muktamad berkenaan produknya dan bertanggungjawab sepenuhnya untuk pematuhan semua keperluan berkaitan undang-undang, peraturan dan keselamatan berkenaan produknya, tanpa mengira sebarang maklumat atau sokongan yang mungkin disediakan oleh NXP.
NXP mempunyai Pasukan Tindak Balas Insiden Keselamatan Produk (PSIRT) (boleh dihubungi di PSIRT@nxp.com) yang menguruskan penyiasatan, pelaporan dan pelepasan penyelesaian kepada kelemahan keselamatan produk NXP.
6.3 Tanda Dagangan
Notis: Semua jenama yang dirujuk, nama produk, nama perkhidmatan dan tanda dagangan adalah hak milik pemilik masing-masing.
NXP - wordmark dan logo ialah tanda dagangan 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 — ialah tanda dagangan atau tanda dagangan berdaftar Arm Limited (atau anak syarikatnya) di AS dan/atau di tempat lain. Teknologi berkaitan mungkin dilindungi oleh mana-mana atau semua paten, hak cipta, reka bentuk dan rahsia perdagangan. Hak cipta terpelihara.
Sila ambil perhatian bahawa notis penting mengenai dokumen ini dan produk yang diterangkan di sini, telah disertakan dalam bahagian 'Maklumat undang-undang'.

© 2023 NXP BV
Untuk maklumat lanjut, sila layari: http://www.nxp.com
Semua hak terpelihara.
Tarikh keluaran: 4 Januari 2023
Pengecam dokumen: AN13823

Dokumen / Sumber

NXP AN13823 IEC 60730 Kelas B Perisian untuk LPC553x MCU [pdf] Panduan Pengguna
Perisian AN13823 IEC 60730 Kelas B untuk MCU LPC553x, AN13823, Perisian Kelas B IEC 60730 untuk MCU LPC553x, Perisian AN13823 IEC 60730 Kelas B

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *