Лагатып NXPAN13823 IEC 60730 Праграмнае забеспячэнне класа B для мікрасхем LPC553x
Кіраўніцтва карыстальніка

AN13823 IEC 60730 Праграмнае забеспячэнне класа B для мікрасхем LPC553x

Рэв. 0 - 4 студзеня 2023 г
Заўвага да заяўкі
Інфармацыя аб дакументах

інфармацыя Змест
Ключавыя словы LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B
Анатацыя Асноўная мэта гэтай заўвагі аб прымяненні - паскорыць працэсы распрацоўкі праграмнага забеспячэння кліентаў і сертыфікацыі для прадуктаў на базе LPC553x MCU.

Уводзіны

Стандарт бяспекі IEC 60730 вызначае метады выпрабаванняў і дыягностыкі, якія забяспечваюць бяспечную працу ўбудаванага апаратнага і праграмнага забеспячэння для кіравання бытавымі прыборамі.
Для дасягнення функцыянальнай бяспекі неабходна ліквідаваць усю рызыку небяспекі, якую можа выклікаць няспраўнасць сістэмы.
Стандарт IEC 60730 класіфікуе адпаведнае абсталяванне на тры катэгорыі:

  • Клас A: Не варта разлічваць на бяспеку абсталявання
  • Клас B: для прадухілення небяспечнай працы кантраляванага абсталявання
  • Клас C: Для прадухілення асаблівай небяспекі

NXP прадастаўляе бібліятэку IEC 60730 бяспекі класа B, каб дапамагчы вытворцам аўтаматычных сродкаў кіравання на рынку буйной бытавой тэхнікі адпавядаць правілам IEC 60730 класа B. Бібліятэка падтрымлівае IDE IAR, Keil і MCUXpresso.
Вы можаце інтэграваць двайковы файл бібліятэкі бяспекі NXP у сваё прыкладное праграмнае забеспячэнне. Для палягчэння распрацоўкі прыкладання IEC60730B бібліятэка таксама забяспечвае exampпраект. Гэты былыampле распаўсюджваецца праз ст IEC 60730 Стандарт бяспекі для бытавой тэхнікі  on nxp.com webсайт.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 1Асноўная мэта гэтай заўвагі аб прымяненні - паскорыць працэсы распрацоўкі праграмнага забеспячэння кліентаў і сертыфікацыі для прадуктаў на базе LPC553x MCU.

Бібліятэка NXP IEC 60730 класа B скончанаview

Бібліятэка бяспекі ўключае ў сябе самаправеркі частак, якія залежаць ад ядра і перыферыйных частак, як пералічана ніжэй:

  • Залежная ад ядра частка
    – Праверка рэгістраў працэсара
    – Тэст лічыльніка праграмы ЦП
    – Тэст зменнай памяці
    - Нязменны тэст памяці
    – Тэст стэка
  • Перыферыйна-залежная частка
    - Тэст гадзін
    – Тэст лічбавага ўводу/вываду
    – Тэст аналагавага ўводу/вываду
    – Вартавы тэст

Табліца 1. Адпаведнасць стандартам IEC 60730 класа B

Бібліятэка NXP IEC 60730 класа B IEC 60730
кампанент Метад Прадметы Ужывальная
Рэгістры працэсара Працэдура тэсціравання рэгістра ЦП правярае ўсе рэгістры ЦП CM33 на прадмет затрымання. 1.1 Зарэгістравацца H.2.16.6
Лічыльнік праграмы Працэдура тэсціравання лічыльніка праграм CPU правярае рэгістр лічыльніка праграм CPU на прадмет затрымання. Праверку рэгістра лічыльніка праграмы можна выканаць адзін раз пасля скіду MCU, а таксама падчас выканання.
Прымусіць працэсар (паток праграмы) атрымаць доступ да адпаведнага адрасу, які тэстуе шаблон, каб праверыць функцыянальнасць лічыльніка праграмы.
1.3 Лічыльнік праграм H.2.16.6
Гадзіннік Працэдура праверкі гадзінніка правярае асцылятары працэсара на няправільную частату. Прынцып праверкі тактавага сігналу заснаваны на параўнанні двух незалежных крыніц тактавага сігналу. Калі праграма тэставання выяўляе змяненне суадносін частот паміж крыніцамі тактавага сігналу, вяртаецца код памылкі збою. 3.Гадзіннік NA
Нязменная памяць Нязменны тэст памяці прызначаны для праверкі, ці ёсць змены ў змесціве памяці (ўбудаванай флэш-памяці) падчас выканання прыкладання. Некалькі метадаў кантрольнай сумы (напрample, CRC16) можна выкарыстоўваць для гэтай мэты. 4.1
Нязменная памяць
H.2.19.3.1
Тэст зменнай памяці Правярае аператыўную памяць на чыпе на наяўнасць памылак пастаяннага току. У якасці механізмаў кіравання выкарыстоўваюцца схемы March C і March X. 4.2 Пераменная памяць H.2.19.6
Лічбавы
тэст уводу/вываду
Функцыі тэсціравання DIO прызначаныя для праверкі функцыянальнасці лічбавага ўваходу і вываду і ўмоў кароткага замыкання паміж тэстуемым штыфтам і крыніцай харчаванняtage, зазямленне або дадатковы суседні кантакт. 7.1 Лічбавы ўвод-вывад H.2.18.13
Тэст аналагавага ўваходу/вываду (I/0). Тэст правярае інтэрфейс аналагавага ўваходу і тры апорныя значэнні: апорны высокі, апорны нізкі і аб'ём зазоруtagд. Тэст аналагавага ўваходу заснаваны на пераўтварэнні трох аналагавых уваходаў з вядомай гучнасцюtage і правярае, ці ўпісваюцца пераўтвораныя значэнні ў зададзеныя межы. Звычайна ліміты павінны складаць прыкладна 10 % ад патрэбных эталонных значэнняў. 7.2 Аналагавы ўвод-вывад H.2.18.13

Бібліятэка NXP IEC 60730 класа B, напрыкладampпраект

Для палягчэння распрацоўкі прыкладання IEC60730B бібліятэка забяспечвае example структура праекта, пабудаваная на спецыяльнай ацэначнай плаце LPC553x  Увайдзіце на NXP.com | NXP Semiconductors (LPC5536-EVK). Вы павінны наладзіць правільныя параметры бібліятэкі для фактычнага праекта.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 23.1 Інтэграцыя бібліятэкі бяспекі ў карыстацкае прыкладанне
Бяспека эксampпрацэдуры праекта падзелены на два асноўныя працэсы: аднаразовы тэст бяспекі перад запускам і перыядычны тэст бяспекі падчас выканання.
На наступным малюнку паказаны працэсы тэставання бяспекі.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 3Каб інтэграваць бібліятэку бяспекі NXP, выканайце наступныя дзеянні:

  1. Спампаваць бяспеку эксampпраект з сайта nxp.com
  2. Налада абсталявання з улікам перыферыйных прылад, якія выкарыстоўваюцца для самаправеркі бяспекі
  3. Наладзьце бібліятэку бяспекі ў адпаведнасці з фактычнай канструкцыяй абсталявання
  4. Уключыце функцыі праверкі бяспекі адну за адной у файле safety_config.h
    • Для адладкі лепш спачатку ВЫКЛЮЧЫЦЬ флэш-тэст і вартавы таймер
    • Паклапаціцеся аб перапынках, бо некаторыя тэсты бяспекі не могуць быць перапынены
  5. Распрацоўка кода прыкладання на аснове бяспекі exampрамкі праекта

Бібліятэка бяспекі LPC553x, напрample праект на практыцы

4.1 Блок-схема абсталявання
Наступныя модулі выкарыстоўваюцца для самаправеркі бяспекі па змаўчанні, як паказана на малюнку ніжэй:Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 4Табліца 2. Модуль MCU для самаправеркі бяспекі

Тэст бібліятэкі бяспекі Модуль MCU
Тэст працэсара Ядро LPC5536 CM33
Тэст гадзін Systick
CTIMER0
Вартавы тэст Вартавы сабака
CTIMER0
Тэст зменнай памяці SRAM
Тэст нязменнай памяці Успышка
Тэст лічбавага ўводу-вываду GPIO1
Тэст аналагавага ўводу-вываду ADC0

Тэст працэсара 4.2
4.2.1 Апісанне тэсту рэгістраў ЦП
Працэдура тэсціравання рэгістра ЦП правярае ўсе рэгістры ЦП CM33 на наяўнасць стану stuckat (за выключэннем рэгістра лічыльніка праграмы). Тэст лічыльніка праграмы рэалізаваны як асобная працэдура бяспекі. Гэты набор тэстаў уключае праверку наступных рэгістраў:

  • Рэестры агульнага прызначэння:
    – R0-R12
  • Рэгістры паказальніка стэка:
    – MSP + MSPLIM (абаронены/неабаронены)
    – PSP + PSPLIM (абаронены/неабаронены)
  • Спецыяльныя рэестры:
    – АПСР
    - КАНТРОЛЬ (бяспечны / неабаронены)
    – PRIMASK (бяспечны / неабаронены)
    – FAULTMASK (абаронены/неабаронены)
    – BASEPRI (бяспечны / неабаронены)
  • Рэгістрацыя па спасылцы:
    – Л.Р
  • Рэестры ФПУ:
    – FPSCR
    – S0 – S31

Існуе набор тэстаў, якія выконваюцца адзін раз пасля скіду MCU, а таксама падчас працы. Вы можаце паўторна выкарыстоўваць налады па змаўчанні бібліятэкі бяспекі LPC553x, напрample project, аднак, вы павінны звярнуць увагу на перапыненне, паколькі некаторыя з тэстаў рэгістра ЦП не могуць быць перапынены.

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyCpuAfterResetTest /* Перапыненні павінны быць адключаныя на некаторы час */
    – FS_CM33_CPU_Register
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_SPmain_S
    – FS_CM33_CPU_SPmain_Limit_S
    – FS_CM33_CPU_SPprocess_S
    – FS_CM33_CPU_SPprocess_Limit_S
    – FS_CM33_CPU_Primask_S
    – FS_FAIL_CPU_PRIMASK
    – FS_CM33_CPU_Special8PriorityLevels_S
    – FS_CM33_CPU_Control
    – FS_CM33_CPU_Float1
    – FS_CM33_CPU_Float2
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyCpuBackgroundTest /* Тэст рэгістраў працэсара, які перарываецца */
    – FS_CM33_CPU_Register
    – FS_CM33_CPU_NonStackedRegister
    – FS_CM33_CPU_Control /* Перапыненні павінны быць адключаныя на некаторы час */
    – FS_CM33_CPU_SPprocess_S /* Перапыненні павінны быць адключаныя на некаторы час */

4.3 Тэст лічыльніка праграмы ЦП
4.3.1 Апісанне тэсціравання лічыльніка праграмы ЦП
Працэдура тэсціравання рэгістра лічыльніка праграм CPU правярае рэгістр лічыльніка праграм CPU на прадмет затрымання. У адрозненне ад іншых рэгістраў працэсара, лічыльнік праграм не можа быць проста запоўнены тэставым шаблонам. Неабходна прымусіць працэсар (паток праграмы) атрымаць доступ да адпаведнага адраса, які тэстуе шаблон, каб праверыць функцыянальнасць лічыльніка праграмы.
Звярніце ўвагу, што тэст лічыльніка праграмы не можа быць перапынены.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 5Праверку рэгістра лічыльніка праграмы можна выканаць адзін раз пасля скіду MCU, а таксама падчас выканання.

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyPcTest
    – FS_CM33_PC_Test
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyIsrFunction > SafetyPcTest
    – FS_CM33_PC_Test

4.4 Тэст зменнай памяці
4.4.1 Апісанне тэсту зменнай памяці
Тэст зменнай памяці для падтрымоўваных прылад правярае аператыўную памяць на чыпе на наяўнасць памылак пастаяннага току.
Таксама можна праверыць вобласць стэка прыкладанняў. У якасці механізмаў кіравання выкарыстоўваюцца схемы March C і March X.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 6Функцыі апрацоўкі адрозніваюцца для тэсту пасля скіду і падчас выканання.
Тэст пасля скіду выконваецца функцыяй FS_CM33_RAM_AfterReset (). Гэтая функцыя выклікаецца адзін раз пасля скіду, калі час выканання не крытычны. Зарэзервуйце вольную памяць для вобласці рэзервовага капіявання. Параметр памеру блока не можа быць больш, чым памер вобласці рэзервовага капіявання. Функцыя спачатку правярае вобласць рэзервовага капіравання, затым пачынаецца цыкл. Блокі памяці капіююцца ў вобласць рэзервовага капіравання, а іх месцазнаходжанне правяраецца адпаведным сакавіцкім тэстам. Дадзеныя капіююцца назад у зыходную вобласць памяці, а фактычны адрас з памерам блока абнаўляецца. Гэта паўтараецца, пакуль не будзе правераны апошні блок памяці. Пры выяўленні няспраўнасці пастаяннага току функцыя вяртае шаблон адмовы.
Тэст выканання выконваецца функцыяй FS_CM33_RAM_Runtime (). Каб зэканоміць час, ён своечасова тэстуе толькі адзін сегмент (вызначаны RAM_TEST_BLOCK_SIZE) SRAM. У той час як тэст пасля скіду правярае ўвесь блок аператыўнай памяці, звязанай з бяспекай. У бібліятэцы бяспекі LPC553x напрampу праекце RAM_TEST_BLOCK_SIZE настроены на 0x4, гэта азначае, што 32 байты аператыўнай памяці будуць правераны падчас адной працэдуры тэставання аператыўнай памяці.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 7

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyRamAfterResetTest /* Праверце ўсю аператыўную памяць раздзела «.safety_ram» перад запускам асноўнай працэдуры. */
    – FS_CM33_RAM_AfterReset
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* выконваецца ў Systick ISR, не можа быць перапынена */
    – FS_CM33_RAM_Runtime

4.4.2 Тэст канфігурацыі зменнай памяці
Канфігурацыя тэсту зменнай памяці ў :Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 8Уключана канфігурацыя бяспечнага блока аператыўнай памяці :
вызначыць блок SAFETY_RAM_BLOCK з выраўноўваннем = 8
{раздзел .safety_ram};
месца ў RAM_region {block SAFETY_RAM_BLOCK};
Звярніце ўвагу, што толькі .safety_ram ахоплены тэстам зменнай памяці. Дадайце зменныя ў раздзел .safety_ram уручную, як паказана ніжэй у main.c.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 94.5 Тэст нязменнай памяці
4.5.1 Апісанне тэсту нязменнай памяці
Нязменнай памяццю на LPC5536 MCU з'яўляецца ўбудаваная ўспышка. Прынцып нязменнага тэсту памяці заключаецца ў праверцы, ці ёсць змены ў змесціве памяці падчас выканання прыкладання. Для гэтай мэты можна выкарыстоўваць некалькі метадаў кантрольнай сумы. Кантрольная сума - гэта алгарытм, які вылічвае подпіс даных, змешчаных у тэставаную памяць. Затым подпіс гэтага блока памяці перыядычна вылічваецца і параўноўваецца з зыходнай сігнатурай.
Подпіс для прызначанай памяці разлічваецца на этапе звязвання прыкладання. Подпіс павінен быць захаваны ў нязменнай памяці, але ў іншай вобласці, чым тая, для якой разлічваецца кантрольная сума. Падчас выканання і пасля скіду ў дадатку павінен быць рэалізаваны адзін і той жа алгарытм для разліку кантрольнай сумы. Вынікі параўноўваюцца. Калі яны не роўныя, узнікае стан бяспекі.
Пры рэалізацыі пасля скіду або калі няма абмежаванняў на час выканання, выклік функцыі можа быць наступным.
• Папярэдне запусціце адзін раз тэст на бяспеку
– SafetyFlashAfterResetTest
– FS_FLASH_C_HW16_K /* вылічыць CRC усяго Flash */
Падчас выканання прыкладання і з абмежаваным часам на выкананне CRC вылічваецца паслядоўна. Гэта значыць, што ўваходныя параметры маюць іншае значэнне ў параўнанні з выклікам пасля скіду. Рэалізацыя прampLe выглядае наступным чынам:
• Перыядычны тэст бяспекі падчас выканання
– SafetyFlashRuntimeTest
– FS_FLASH_C_HW16_K /* разлік CRC блок за блокам */
– SafetyFlashTestHandling /* параўнаць CRC, калі разлічаны ўсе блокі Flash. */
4.5.2 Нязменная канфігурацыя тэсціравання памяці
У бібліятэцы бяспекі LPC553x напрample project, размеркаванне флэш-памяці паказана ніжэй, як паказана ў лінкеры file . Аб'ект fileс і змяшчаюцца ў ахоўны флэш-блок, які правяраецца тэстам нязменнай памяці. Вы можаце паставіць больш прадметаў files у вобласць SAFETY_FLASH_BLOCK Flash, змяніўшы лінкер file адпаведна.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 10Ёсць дзве кантрольныя сумы, якія трэба параўнаць падчас выканання MCU, каб праверыць, ці было зменена змесціва дадзенай прасторы флэш-памяці:

  • Кантрольная сума, разлічаная лінкерам пры кампіляцыі/звязванні
  • Кантрольная сума, разлічаная MCU падчас выканання

Вызначэнне месца для размяшчэння выніку кантрольнай сумы (папярэдне разлічанай інструментамі кампаноўшчыка). :
вызначыць сімвал __FlashCRC_start__ = 0x0300; /* для размяшчэння кантрольнай сумы */
вызначыць сімвал __FlashCRC_end__ = 0x030F; /* для размяшчэння кантрольнай сумы */
вызначыць рэгіён CRC_region = mem: [ад __FlashCRC_start__ да __FlashCRC_end__];
вызначыць блок CHECKSUM з выраўноўваннем = 8 {раздзел. кантрольная сума}; месца ў CRC_region { блок CHECKSUM};
Возьмем IAR IDE, напрыкладample, у параметрах праекта > Дзеянні зборкі > Камандны радок пасля зборкі.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 11Камандны радок:
ielftool –fill 0xFF;c_checksumStart-c_checksumEnd+3 –кантрольная сума __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 –падрабязна “$TARGET_PATH$” “$TARGET_PATH$”
Компоновщик вылічвае зыходную кантрольную суму флэш-адрасавання ад _checksumStart да c_checksumEnd, затым змяшчае вынік кантрольнай сумы ў _checksum, які знаходзіцца ў блоку CHECKSUM, вызначаным лінкерам file.
Вызначэнне ўказанай флэш-прасторы для праверкі знаходзіцца ў :
вызначыць блок SAFETY_FLASH_BLOCK з выраўноўваннем = 8, фіксаваны парадак { readonly раздзел checksum_start_mark, section .text object main.o, section .text object safety_cm33_lpc.o, section .rodata object safety_cm33_lpc.o, readonly раздзел checksum_end_mark };
месца ў ROM_region { блок SAFETY_FLASH_BLOCK};
4.6 Тэст стэка
4.6.1 Апісанне стэкавага тэсту
Тэст стэка з'яўляецца дадатковым тэстам, прама не пазначаным у табліцы IEC60730 у дадатку H.
Гэтая працэдура тэставання выкарыстоўваецца для праверкі ўмоў перапаўнення і недапаўнення стэка прыкладанняў. Тэставанне затрыманых памылак у вобласці памяці, занятай стэкам, ахоплівае тэст зменнай памяці. Перапаўненне або недапаўненне стэка можа адбыцца пры няправільным кіраванні стэкам або пры вызначэнні «занадта нізкай» вобласці стэка для дадзенага прыкладання.
Прынцып тэсту заключаецца ў запаўненні вобласці пад і над стосам вядомым малюнкам. Гэтыя вобласці павінны быць вызначаны ў канфігурацыі кампаноўшчыка file, разам са стэк. Затым функцыя ініцыялізацыі запаўняе гэтыя вобласці вашым шаблонам. Шаблон павінен мець значэнне, якое не з'яўляецца нідзе ў дадатку. Мэта складаецца ў тым, каб праверыць, ці дакладны ўзор усё яшчэ напісаны ў гэтых месцах. Калі гэта не так, гэта прыкмета няправільных паводзін стэка. Калі гэта адбываецца, то вяртанае значэнне FAIL з тэставай функцыі павінна быць апрацавана як памылка бяспекі.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 12Тэст выконваецца пасля скіду і падчас працы прыкладання такім жа чынам.

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyStackTestInit
    – FS_CM33_STACK_Init /* запіс STACK_TEST_PATTERN (0x77777777) у STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* праверка змесціва STACK_TEST_BLOCK, не атрымалася, калі значэнне не роўнае STACK_TEST_PATTERN (0x77777777).
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyStackTest
    – FS_CM33_STACK_Init /* запіс STACK_TEST_PATTERN (0x77777777) у STACK_TEST_BLOCK */
    – SafetyStackTest
    – FS_CM33_STACK_Test /* праверка змесціва STACK_TEST_BLOCK, не атрымліваецца, калі значэнне не роўнае STACK_TEST_PATTERN (0x77777777)

4.6.2 Канфігурацыя стэкавага тэсту
Канфігурацыя тэсту стэка знаходзіцца ў і лінкер file Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 134.7 Тэст гадзін
4.7.1 Апісанне праверкі гадзінніка
Прынцып праверкі тактавага сігналу заснаваны на параўнанні двух незалежных крыніц тактавага сігналу.
У бібліятэцы бяспекі LPC553x напрample project, CTIMER0 і Systick на MCU LPC5536 выкарыстоўваюцца ў якасці двух незалежных гадзіннікаў для тэсту бяспечных гадзіннікаў, яны не залежаць ад апаратнай платы LPC5536-EVK.
Тэст гадзіннікаў выконваецца толькі падчас перыядычнага тэсту бяспекі.

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – Няма праверкі гадзінніка
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyClockTestCheck
    – SafetyClockTestIsr

Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 144.7.2 Тэставая канфігурацыя гадзінніка
Паколькі для праверкі тактавага сігналу ў бібліятэцы бяспекі LPC553x патрабуюцца два незалежныя гадзіннікі, напрыкладampпраект:

  • Таймер SYSTICK атрыманы з PLL0 150 M (з вонкавага крышталя 16 МГц)
  • Таймер CTIMER0 атрыманы з унутранага FRO_96M

Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 15

Падрабязныя канфігурацыі Systick і CTIMER0 паказаны ніжэй:

  • Канфігурацыя Systick: SystickISR_Freq = 1000 Гц, усталяваўшы значэнне перазагрузкі 150,000 150 пры тактавай частаце ядра XNUMX МГц
  • Канфігурацыя CTIMER: CTIMER_Freq = 96 МГц, атрымана з частаты 96 МГц FRO_96M
  • Чаканы лічыльнік CTIMER павінен быць CTIMER _Freq/SystickISR_Freq = 96 МГц / 1000 = 96,000 XNUMX
  • У кожным ISR перапынення Systick захавайце значэнне лічыльніка CTIMER
  • Падчас выканання цыкла while (1) праверце: (96,000 20 – 96,000 %) < лічыльнік чаканняў CTIMER < (20 XNUMX + XNUMX %)

Канфігурацыя тэсту гадзінніка знаходзіцца ў Safety_config.h.
У адпаведнасці з рэальным прылажэннем, вы можаце змяніць асобнік CTIMER для тэсту гадзінніка бяспекі, наладзіўшы макрас REF_TIMER_USED. Акрамя таго, вы павінны наладзіць REF_TIMER_CLOCK_FREQUENCY у адпаведнасці з фактычнай тактавай частатой. Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 164.8 Тэст лічбавага ўводу/вываду
4.8.1 Апісанне тэсту лічбавага ўводу/вываду
У бібліятэцы бяспекі LPC553x напрampУ праекце GPIO P1_4 і P1_17 на LPC5536-EVK выбраны для тэсту лічбавага ўводу/вываду бяспекі, гэтыя два кантакты падлучаны да загалоўка J10 на плаце LPC553x EVK.
Працэдуры тэсціравання лічбавага ўводу/вываду падзелены на два асноўныя працэсы: аднаразовы тэст бяспекі перад запускам і перыядычны тэст бяспекі падчас выканання

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest
    – SafetyDigitalInputOutput_ShortAdjTest
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyDigitalOutputTest
    – SafetyDigitalInputOutput_ShortSupplyTest

4.8.2 Тэставая канфігурацыя лічбавага ўводу/вываду
Канфігурацыя тэсту лічбавага ўводу/вываду знаходзіцца ў safe_test_items.c.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 17Выкананне тэстаў лічбавага ўводу-вываду павінна быць адаптавана да канчатковага прыкладання. Будзьце асцярожныя з апаратнымі злучэннямі і дызайнам. Вы можаце змяніць GPIO для бяспекі
Тэст лічбавага ўводу/вываду шляхам канфігурацыі dio_safety_test_items[] у safety_test_items.c. У большасці выпадкаў правераны (а часам і дапаможны) штыфт неабходна пераналадзіць падчас запуску прыкладання. Рэкамендуецца выкарыстоўваць невыкарыстоўваныя штыфты для праверкі лічбавага ўводу/вываду.
4.9 Тэст аналагавага ўводу/вываду
4.9.1 Апісанне тэсту аналагавага ўводу/вываду
У бібліятэцы бяспекі LPC553x напрampпраект, P0_16/ADC0IN3B, P0_31/ADC0IN8A і P0_15/ADC0IN3A на LPC5536-EVK выбраны для тэсту аналагавага ўводу/вываду бяспекі, таму што модуль АЛП на MCU LPC5536 не дазваляе падключаць VREFH, VREFL унутрана да АЛП увод. Карыстальніку неабходна злучыць гэтыя сігналы (для тэсту аналагавага ўводу/вываду) з дапамогай правадоў, як паказана ніжэй.

  • GND, падключаны да P0_16/ADC0IN3B (J9-5) для тэсту ADC VREFL
  • 3.3 В, падлучанае да P0_31/ADC0IN8A (J9-31) для тэсту АЦП VREFH
  • 1.65 В, падлучанае да P0_15/ADC0IN3A (J9-1) для тэсту на зазор АЦП

Працэдуры тэсціравання аналагавага ўводу/вываду падзяляюцца на два асноўныя працэсы:

  • Папярэдне правядзіце адзін раз тэст на бяспеку
    – SafetyAnalogTest
  • Перыядычны тэст бяспекі падчас выканання
    – SafetyAnalogTest

4.9.2 Тэставая канфігурацыя аналагавага ўводу/вываду
Выкананне тэстаў аналагавага ўводу/вываду павінна быць адаптавана да канчатковага прыкладання. Будзьце асцярожныя з апаратнымі злучэннямі і дызайнам. Вы можаце змяніць каналы АЦП для тэсту аналагавага ўводу/вываду бяспекі, наладзіўшы FS_CFG_AIO_CHANNELS_INIT і
FS_CFG_AIO_CHANNELS_SIDE_INIT у safety_config.h.

  • FS_CFG_AIO_CHANNELS_INIT паказвае нумар канала АЦП.
  • FS_CFG_AIO_CHANNELS_SIDE_INIT паказвае бок канала АЦП.

Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 18Як паказана на малюнку вышэй:

  • Першы элемент адпавядае тэсту ADC VREFL
  • Другі элемент адпавядае тэсту VREFH АЦП
  • Трэці элемент адпавядае тэсту зазору паласы АЦП

Напрыкладample, “3” у FS_CFG_AIO_CHANNELS_INIT і “1” у
FS_CFG_AIO_CHANNELS_SIDE_INIT паказвае, што канал B ADC0 абраны для тэсту VREFL АЦП.
4.10 Вартавы тэст
4.10.1 Апісанне тэсту Watchdog
Вартавы тэст непасрэдна не ўказаны ў табліцы IEC60730 - дадатак H, аднак ён часткова адпавядае патрабаванням бяспекі ў адпаведнасці са стандартамі IEC 60730-1, IEC 60335, UL 60730 і UL 1998.
Тэст вартавога таймера забяспечвае праверку функцыянальнасці вартавога таймера. Тэст запускаецца толькі адзін раз пасля скіду. Тэст выклікае скід WDOG і параўноўвае зададзены час для скіду WDOG з рэальным часам.Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x - малюнак 20У бібліятэцы бяспекі LPC553x напрampу праекце вартавы тэст правяраецца з дапамогай наступных крокаў:

  1. Пасля скіду ўключыце вартавы таймер і наўмысна спыніце абнаўленне, каб запусціць скід вартавога таймера MCU.
  2. Уключыце CTIMER0, каб вымераць, колькі часу патрабуецца для тайм-аўту вартаўніка і скіду.
  3. Пасля скіду вартавога таймера пацвердзіце, што гэты скід выкліканы вартавым таймерам, праверыўшы рэестр PMC->AOREG1.
  4. Прачытайце CTIMER0, каб атрымаць дакладны час тайм-аўту і скіду вартавога таймера.

Гісторыя версій

У прыведзенай ніжэй табліцы абагульняюцца змены гэтага дакумента.
Табліца 3. Гісторыя версій

Нумар версіі Дата Істотныя змены
0 4-23 студзеня Першапачатковы публічны выпуск

Прававая інфармацыя

6.1 Азначэнні
Чарнавік — статус чарнавіка ў дакуменце паказвае, што змесціва ўсё яшчэ знаходзіцца на ўнутранай разглядзеview і падлягае афіцыйнаму зацвярджэнню, якое можа прывесці да змяненняў або дапаўненняў. NXP Semiconductors не дае ніякіх заяваў і не дае гарантый адносна дакладнасці або паўнаты інфармацыі, уключанай у чарнавую версію дакумента, і не нясе адказнасці за наступствы выкарыстання такой інфармацыі.
6.2 Адмова ад адказнасці
Абмежаваная гарантыя і адказнасць — інфармацыя ў гэтым дакуменце лічыцца дакладнай і надзейнай. Аднак кампанія NXP Semiconductors не дае ніякіх заяў або гарантый, відавочных або пэўных, адносна дакладнасці або паўнаты такой інфармацыі і не нясе адказнасці за наступствы выкарыстання такой інфармацыі. NXP Semiconductors не нясе адказнасці за змесціва гэтага дакумента, калі яно прадастаўлена крыніцай інфармацыі па-за NXP Semiconductors.
Ні ў якім разе NXP Semiconductors не нясе адказнасці за любыя ўскосныя, выпадковыя, штрафныя, спецыяльныя або ўскосныя страты (уключаючы - без абмежавання страту прыбытку, страту зберажэнняў, перапыненне бізнесу, выдаткі, звязаныя з выдаленнем або заменай любых прадуктаў або выдаткі на пераробку), незалежна ад таго, ці не такая шкода заснавана на дэлікце (уключаючы нядбайнасць), гарантыі, парушэнні дагавора або любой іншай юрыдычнай тэорыі.
Нягледзячы на ​​любыя страты, якія кліент можа панесці па любой прычыне, сукупная і кумулятыўная адказнасць NXP Semiconductors перад кліентам за прадукты, апісаныя тут, абмежавана ў адпаведнасці з Умовамі камерцыйнага продажу NXP Semiconductors.
Права ўносіць змены — NXP Semiconductors пакідае за сабой права ўносіць змены ў інфармацыю, апублікаваную ў гэтым дакуменце, уключаючы, без абмежавання, спецыфікацыі і апісанні прадуктаў, у любы час і без папярэдняга паведамлення. Гэты дакумент адмяняе і замяняе ўсю інфармацыю, прадстаўленую да яго публікацыі.
Прыдатнасць да выкарыстання — Прадукцыя NXP Semiconductors не прызначана, не мае дазволу і не гарантуецца як прыдатная для выкарыстання ў сістэмах або абсталяванні жыццезабеспячэння, крытычна важных для жыцця або бяспекі, а таксама ў прылажэннях, дзе збой або няспраўнасць прадукту NXP Semiconductors можа прывесці да цялесныя пашкоджанні, смерць або сур'ёзны ўрон маёмасці або навакольнаму асяроддзю. Кампанія NXP Semiconductors і яе пастаўшчыкі не нясуць ніякай адказнасці за ўключэнне і/або выкарыстанне прадуктаў NXP Semiconductors у такое абсталяванне або прыкладанні, і таму такое ўключэнне і/або выкарыстанне ажыццяўляецца на ўласную рызыку кліента.
Заяўкі — Праграмы, апісаныя тут для любога з гэтых прадуктаў, прызначаны толькі для ілюстрацыі. NXP Semiconductors не робіць ніякіх заяў і не гарантуе, што такія прыкладанні будуць прыдатныя для названага выкарыстання без далейшага тэсціравання або мадыфікацыі. Кліенты нясуць адказнасць за распрацоўку і працу сваіх прыкладанняў і прадуктаў з выкарыстаннем прадуктаў NXP Semiconductors, і NXP Semiconductors не нясе ніякай адказнасці за дапамогу ў распрацоўцы прыкладанняў або прадукту кліента. Заказчык нясе поўную адказнасць за вызначэнне таго, ці падыходзіць прадукт NXP Semiconductors для прымянення заказчыка і запланаванай прадукцыі, а таксама для запланаванага прымянення і выкарыстання староннімі кліентамі. Кліенты павінны забяспечыць належную канструкцыю і эксплуатацыйныя меры бяспекі, каб мінімізаваць рызыкі
звязаны з іх праграмамі і прадуктамі. NXP Semiconductors не нясе ніякай адказнасці, звязанай з любымі дэфолтамі, пашкоджаннямі, выдаткамі або праблемамі, заснаванымі на якіх-небудзь недахопах або дэфолтах у праграмах або прадуктах заказчыка, або прымяненні або выкарыстанні староннімі кліентамі кліента. Кліент нясе адказнасць за правядзенне ўсіх неабходных тэсціраванняў прыкладанняў і прадуктаў кліента з выкарыстаннем прадуктаў NXP Semiconductors, каб пазбегнуць дэфолту прыкладанняў і прадуктаў або прыкладання або выкарыстання староннімі кліентамі кліента. NXP не нясе ніякай адказнасці ў гэтым плане.
Умовы камерцыйнай продажу — Прадукцыя NXP Semiconductors прадаецца ў адпаведнасці з агульнымі ўмовамі камерцыйнага продажу, апублікаванымі на http://www.nxp.com/profile/terms, калі іншае не ўзгоднена ў сапраўдным пісьмовым індывідуальным пагадненні. У выпадку заключэння індывідуальнага дагавора прымяняюцца толькі ўмовы адпаведнага дагавора. NXP Semiconductors гэтым выразна пярэчыць супраць прымянення агульных палажэнняў і ўмоў кліента ў дачыненні да набыцця кліентам прадуктаў NXP Semiconductors.
Экспартны кантроль — Гэты дакумент, а таксама тавар(ы), апісаны ў ім, могуць быць прадметам правілаў экспартнага кантролю. Для экспарту можа спатрэбіцца папярэдні дазвол ад кампетэнтных органаў.
Прыдатнасць для выкарыстання ў неаўтамабільнай прадукцыі — Калі ў гэтым тэхнічным пашпарце прама не пазначана, што гэты канкрэтны прадукт NXP Semiconductors прызначаны для аўтамабільнай прамысловасці, прадукт непрыдатны для выкарыстання ў аўтамабілі. Ён не кваліфікаваны і не пратэставаны ў адпаведнасці з аўтамабільнымі выпрабаваннямі або патрабаваннямі прымянення. NXP Semiconductors не нясе адказнасці за ўключэнне і/або выкарыстанне неаўтамабільнай прадукцыі ў аўтамабільным абсталяванні або праграмах.
У выпадку, калі кліент выкарыстоўвае прадукт для распрацоўкі і выкарыстання ў аўтамабільных прылажэннях у адпаведнасці з аўтамабільнымі спецыфікацыямі і стандартамі, кліент (a) павінен выкарыстоўваць прадукт без гарантыі NXP Semiconductors на прадукт для такіх аўтамабільных прымянення, выкарыстання і спецыфікацый, і ( b) кожны раз, калі кліент выкарыстоўвае прадукт для аўтамабільных прымянення па-за спецыфікацыямі NXP Semiconductors, такое выкарыстанне ажыццяўляецца выключна на ўласную рызыку кліента, і (c) кліент цалкам кампенсуе NXP Semiconductors любую адказнасць, пашкоджанні або няўдалыя прэтэнзіі да прадукту, якія вынікаюць з распрацоўкі і выкарыстання кліентам прадукт для аўтамабільнага прымянення за межамі стандартнай гарантыі NXP Semiconductors і спецыфікацый прадукту NXP Semiconductors.
Пераклады — Неанглійская (перакладзеная) версія дакумента, уключаючы юрыдычную інфармацыю ў гэтым дакуменце, прызначана толькі для даведкі. Англійская версія мае перавагу ў выпадку любых разыходжанняў паміж перакладзенай і англійскай версіямі.
Бяспека — Кліент разумее, што ўсе прадукты NXP могуць мець неўстаноўленыя ўразлівасці або падтрымліваць устаноўленыя стандарты бяспекі або спецыфікацыі з вядомымі абмежаваннямі. Кліент нясе адказнасць за распрацоўку і працу сваіх прыкладанняў і прадуктаў на працягу ўсяго іх жыццёвага цыкла, каб паменшыць уплыў гэтых уразлівасцяў на прыкладанні і прадукты кліента. Адказнасць кліента таксама распаўсюджваецца на іншыя адкрытыя і/або ўласныя тэхналогіі, якія падтрымліваюцца прадуктамі NXP для выкарыстання ў праграмах заказчыка. NXP не нясе адказнасці за любую ўразлівасць. Кліент павінен рэгулярна правяраць абнаўленні сістэмы бяспекі ад NXP і прымаць адпаведныя меры.
Кліент павінен выбіраць прадукты з функцыямі бяспекі, якія найлепшым чынам адпавядаюць правілам, нормам і стандартам меркаванага прымянення, і прымаць канчатковыя праектныя рашэнні ў дачыненні да сваіх прадуктаў і нясе поўную адказнасць за адпаведнасць усім юрыдычным, нарматыўным патрабаванням і патрабаванням бяспекі, якія тычацца яго прадуктаў, незалежна ад любой інфармацыі або падтрымкі, якія могуць быць прадастаўлены NXP.
У NXP ёсць група рэагавання на інцыдэнты бяспекі прадукту (PSIRT) (дасяжная па адрасе PSIRT@nxp.com), які кіруе расследаваннем, справаздачнасцю і выпускам рашэнняў для ўразлівасцяў бяспекі прадуктаў NXP.
6.3 Таварныя знакі
Заўвага: Усе згаданыя брэнды, назвы прадуктаў, назвы паслуг і гандлёвыя маркі з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
NXP — знак і лагатып з'яўляюцца гандлёвымі маркамі 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 — з'яўляюцца гандлёвымі маркамі або зарэгістраванымі гандлёвымі маркамі Arm Limited (або яе даччыных кампаній) у ЗША і/або ў іншых краінах. Звязаная тэхналогія можа быць абаронена адным ці ўсімі патэнтамі, аўтарскімі правамі, дызайнам і камерцыйнымі сакрэтамі. Усе правы ахоўваюцца.
Майце на ўвазе, што важныя заўвагі, якія тычацца гэтага дакумента і апісанага(-ых) у ім прадукта(-аў), уключаны ў раздзел «Прававая інфармацыя».

© 2023 NXP BV
Для атрымання дадатковай інфармацыі, калі ласка, наведайце: http://www.nxp.com
Усе правы абароненыя.
Дата выхаду: 4 студзеня 2023 года
Ідэнтыфікатар дакумента: AN13823

Дакументы / Рэсурсы

Праграмнае забеспячэнне NXP AN13823 IEC 60730 класа B для мікрасхем LPC553x [pdfКіраўніцтва карыстальніка
AN13823 IEC 60730 Праграмнае забеспячэнне класа B для LPC553x MCU, AN13823, IEC 60730 Праграмнае забеспячэнне класа B для LPC553x MCU, AN13823 IEC 60730 Праграмнае забеспячэнне класа B

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *