AN13823 IEC 60730 کلاس B سافټویر د LPC553x MCUs لپاره
د کارن لارښود
AN13823 IEC 60730 کلاس B سافټویر د LPC553x MCUs لپاره
Rev. 0 - 4 جنوري 2023
د غوښتنلیک یادښت
د اسنادو معلومات
معلومات | منځپانګه |
کلیدي کلمې | LPC553x, AN13823, IEC 60730, LPC5536-EVK, IEC60730B |
خلاصون | د دې غوښتنلیک یادښت اصلي هدف د LPC553x MCUs پراساس محصولاتو لپاره د پیرودونکي سافټویر پراختیا او تصدیق پروسې ګړندي کول دي. |
پیژندنه
د IEC 60730 خوندیتوب معیار د ازموینې او تشخیص میتودونه ټاکي چې د کورني وسایلو لپاره د کنټرول هارډویر او سافټویر د ځای پرځای شوي خوندي عملیات تضمینوي.
د فعال خوندیتوب ترلاسه کولو لپاره ، دا اړینه ده چې د خطر ټول خطرونه لرې کړئ چې د سیسټم خرابوالي لامل کیدی شي.
د IEC 60730 معیار د تطبیق وړ تجهیزات په دریو کټګوریو ویشي:
- A ټولګي: د دې لپاره چې د تجهیزاتو خوندیتوب لپاره تکیه نه وي
- B ټولګي: د کنټرول شوي تجهیزاتو غیر خوندي عملیاتو مخه نیولو لپاره
- C ټولګي: د ځانګړو خطرونو د مخنیوي لپاره
NXP د IEC 60730 خوندیتوب ټولګي B کتابتون چمتو کوي ترڅو د لوی تجهیزاتو بازار کې د اتوماتیک کنټرول جوړونکو سره مرسته وکړي چې د IEC 60730 ټولګي B مقررات پوره کړي. کتابتون د IAR، Keil، او MCUXpresso IDEs ملاتړ کوي.
تاسو کولی شئ د خپل غوښتنلیک سافټویر کې د NXP خوندیتوب کتابتون بائنری مدغم کړئ. د IEC60730B غوښتنلیک اسانه پراختیا لپاره، کتابتون هم یو پخوانی چمتو کويampد پروژې. دا پخوانیampله لارې ویشل کیږي IEC 60730 د کورني وسایلو لپاره د خوندیتوب معیار on nxp.com webسایټد دې غوښتنلیک یادښت اصلي هدف د LPC553x MCUs پراساس محصولاتو لپاره د پیرودونکي سافټویر پراختیا او تصدیق پروسې ګړندي کول دي.
د NXP IEC 60730 ټولګي B کتابتون پای ته ورسیدview
د خوندیتوب کتابتون کې د اصلي پورې تړلې برخې او پردی پورې تړلې برخې ځان ازموینې شاملې دي لکه څنګه چې لاندې لیست شوي:
- اصلي پورې تړلې برخه
- د CPU راجستر ازموینه
- د CPU پروګرام ضد ازموینه
- د حافظې متغیر ازموینه
- د نه بدلیدونکي حافظې ازموینه
- د سټیک ازموینه - پردی پورې تړلې برخه
- د ساعت ازموینه
- ډیجیټل ان پټ/آؤټ پټ ازموینه
- انلاګ ان پټ/آؤټ پټ ازموینه
- د څارنې ازموینه
جدول 1. د IEC 60730 ټولګي B معیارونو سره مطابقت
د NXP IEC 60730 ټولګي B کتابتون | IEC 60730 | ||
جز | طریقه | توکي | تطبیق شوی |
CPU راجستر کوي | د CPU راجستر ازموینې پروسیجر ټول CM33 CPU راجسترونه د بند حالت لپاره معاینه کوي. | 1.1 راجستر | H.2.16.6 |
برنامه مقاله | د CPU پروګرام کاونټر ټیسټ پروسیجر د بند حالت لپاره د CPU پروګرام کاونټر راجستر ازموینه کوي. د برنامه کاونټر راجسټر ازموینه د MCU بیا تنظیم کولو وروسته او د چلولو وخت کې هم ترسره کیدی شي. CPU (د برنامه جریان) مجبور کړئ چې ورته پتې ته لاسرسی ومومي کوم چې د برنامه ضد فعالیت تصدیق کولو لپاره نمونه ازموي. |
1.3 د پروګرام کاونټر | H.2.16.6 |
ساعت | د ساعت ټیسټ پروسیجر د غلط فریکونسۍ لپاره د پروسیسر oscillators ازموینه کوي. د ساعت ازموینې اصول د دوه خپلواک ساعت سرچینو پرتله کولو پراساس دي. که چیرې د ازموینې معمول د ساعت سرچینو ترمینځ د فریکونسۍ تناسب کې بدلون ومومي ، د ناکامۍ خطا کوډ بیرته راستانه کیږي. | 3.کلک | NA |
نه بدلیدونکی حافظه | د نه بدلیدونکي حافظې ازموینه دا ده چې وګوري چې ایا د غوښتنلیک اجرا کولو پرمهال د حافظې مینځپانګې (آن چپ فلش) کې بدلون شتون لري. د چکسم ډیری میتودونه (د مثال لپارهample، CRC16) د دې هدف لپاره کارول کیدی شي. | 4.1 نه بدلیدونکی حافظه |
H.2.19.3.1 |
د حافظې متغیر ازموینه | د DC غلطیو لپاره آن چپ رام چیک کوي. د مارچ C او مارچ X سکیمونه د کنټرول میکانیزمونو په توګه کارول کیږي. | 4.2 متغیر حافظه | H.2.19.6 |
ډیجیټل داخل/آؤټ پټ ازموینه |
د DIO ازموینې دندې د ډیجیټل ان پټ او محصول فعالیت او د ازمول شوي پن او اکمالاتو حجم ترمینځ د لنډ سرکټ شرایط چیک کولو لپاره ډیزاین شوي.tage، ځمکی، یا اختیاری نژدی پن. | 7.1 ډیجیټل I/O | H.2.18.13 |
انلاګ ان پټ/آؤټ پټ (I/0) ازموینه | ازموینه د انلاګ ان پټ انٹرفیس او درې حوالې ارزښتونه ګوري: د حوالې لوړه ، د حوالې ټیټ ، او د بنډګاپ حجمtage. د انلاګ ان پټ ټیسټ د پیژندل شوي حجم سره د دریو انلاګ ان پټونو د تبادلې پراساس دیtage ارزښتونه او دا ګوري چې ایا بدل شوي ارزښتونه په ټاکل شوي حدونو کې مناسب دي. په نورمال ډول، حدود باید د مطلوب حوالې ارزښتونو شاوخوا شاوخوا 10٪ وي. | 7.2 انلاګ I/O | H.2.18.13 |
NXP IEC 60730 ټولګي B کتابتون پخوانیampد پروژې
د IEC60730B غوښتنلیک د اسانه پراختیا لپاره، کتابتون یو پخوانی چمتو کويampد پروژې چوکاټ، د وقف شوي LPC553x ارزونې بورډ باندې جوړ شوی په NXP.com کې ننوتل د NXP سیمیکمډکټرونه (LPC5536-EVK). تاسو باید د حقیقي پروژې لپاره د کتابتون سم تنظیمات تنظیم کړئ.3.1 د کارونکي غوښتنلیک کې د خوندیتوب کتابتون ادغام
د خوندیتوب پخوانیampد پروژې معمولونه په دوه اصلي پروسو ویشل شوي دي: مخکې له مخکې د یو ځل خوندیتوب ازموینه او د وخت په اوږدو کې د خوندیتوب ازموینه.
لاندې ارقام د خوندیتوب ازموینې پروسې ښیې.د NXP خوندیتوب کتابتون یوځای کولو لپاره، لاندې مرحلې ترسره کړئ:
- د خوندیتوب پخوانی ډاونلوډ کړئampد nxp.com څخه پروژه
- د هارډویر ترتیب د خوندیتوب ځان ازموینې لپاره کارول شوي پرفیریلز په پام کې نیولو سره
- د اصلي هارډویر ډیزاین سره سم د خوندیتوب کتابتون تنظیم کړئ
- په safe_config.h کې د خوندیتوب ازموینې فعالیتونه یو له بل سره فعال کړئ
• د ډیبګ کولو لپاره، دا غوره ده چې لومړی فلش ټیسټ او واچ ډاگ بند کړئ
• مداخلو ته پاملرنه وکړئ، ځکه چې د خوندیتوب ځینې ازموینې مداخله نشي کولی - د خوندیتوب سابقې پراساس د غوښتنلیک کوډ رامینځته کړئampد پروژې چوکاټ
د LPC553x خوندیتوب کتابتونampپه عمل کې پروژه
4.1 د هارډویر بلاک ډیاګرام
لاندې ماډلونه د ډیفالټ لخوا د خوندیتوب ځان ازموینې لپاره کارول کیږي لکه څنګه چې په لاندې شکل کې ښودل شوي:جدول 2. د خوندیتوب ځان ازموینې لپاره MCU ماډل
د خوندیتوب کتابتون ازموینې توکي | د MCU ماډل |
د CPU ازموینه | LPC5536 CM33 کور |
ساعت ازموینه | سیسټیک CTIMER0 |
د څارنې ازموینه | څارګر CTIMER0 |
د حافظې متغیر ازموینه | SRAM |
د نه بدلیدونکي حافظې ازموینه | فلش |
ډیجیټل I/O ازموینه | GPIO1 |
انلاګ I/O ازموینه | ADC0 |
4.2 د CPU ازموینه
4.2.1 CPU د ازموینې توضیحات ثبتوي
د CPU راجستر ازموینې پروسیجر د سټکیټ حالت لپاره د CM33 CPU ټول راجسترونه ازموي (پرته له دې چې د برنامې کاونټر راجسټر). د برنامه کاونټر ازموینه د یو خپلواک خوندیتوب معمول په توګه پلي کیږي. د ازموینو په دې سیټ کې د لاندې راجسترونو ازموینه شامله ده:
- د عمومي هدف ثبتونه:
– R0-R12 - د سټیک پوائنټر راجسترونه:
- MSP + MSPLIM (خوندي / غیر خوندي)
- PSP + PSPLIM (خوندي / غیر خوندي) - ځانګړي راجسترونه:
– APSR
- کنټرول (خوندي / غیر خوندي)
- PRIMASK (خوندي / غیر خوندي)
- فالټماسک (خوندي / غیر خوندي)
- BASEPRI (خوندي / غیر خوندي) - د راجستر لینک:
– LR - د FPU ثبتونه:
- FPSCR
– S0 – S31
د ازموینو یوه سیټ شتون لري چې د MCU بیا تنظیم کیدو وروسته یو ځل ترسره کیږي او د چلولو په وخت کې هم. تاسو کولی شئ د LPC553x د خوندیتوب کتابتون پخوانی ډیفالټ ترتیبات بیا وکاروئampپه هرصورت ، تاسو باید مداخلې ته پاملرنه وکړئ ځکه چې د CPU راجستر ځینې ازموینې مداخله نشي کولی.
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- SafetyCpuAfterResetTest /* مداخلې باید د یو څه وخت لپاره غیر فعال وي */
– FS_CM33_CPU_رجسټر
- FS_CM33_CPU_NonStacked راجستر
– FS_CM33_CPU_SPmain_S
– FS_CM33_CPU_SPmain_Limit_S
– FS_CM33_CPU_SPprocess_S
- FS_CM33_CPU_SP پروسې_Limit_S
– FS_CM33_CPU_Primask_S
– FS_FAIL_CPU_PRIMASK
– FS_CM33_CPU_Special8Priority Levels_S
- FS_CM33_CPU_کنټرول
– FS_CM33_CPU_Float1
– FS_CM33_CPU_Float2 - د دوراني خوندیتوب ازموینه
- SafetyCpuBackgroundTest /* د مداخلې وړ CPU راجستر ازموینه */
– FS_CM33_CPU_رجسټر
- FS_CM33_CPU_NonStacked راجستر
- FS_CM33_CPU_Control /* مداخلې باید د یو څه وخت لپاره غیر فعال وي */
- FS_CM33_CPU_SPprocess_S /* مداخلې باید د یو څه وخت لپاره غیر فعال وي */
4.3 د CPU پروګرام ضد ازموینه
4.3.1 د CPU پروګرام ضد ازموینې توضیحات
د CPU برنامې کاونټر راجسټر ازموینې پروسیجر د CPU برنامې کاونټر راجسټر د بند حالت لپاره ازموي. د نورو CPU راجسترونو برعکس، د پروګرام کاونټر نشي کولی په ساده ډول د ازموینې نمونې سره ډک شي. دا اړینه ده چې CPU (د برنامه جریان) مجبور کړي چې اړونده پتې ته لاسرسی ومومي کوم چې د برنامه ضد فعالیت تصدیق کولو لپاره نمونه ازموي.
په یاد ولرئ چې د برنامه ضد ازموینې مداخله نشي کولی.د برنامه کاونټر راجسټر ازموینه د MCU بیا تنظیم کیدو وروسته او د چلولو په وخت کې هم ترسره کیدی شي.
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
– SafetyPcTest
– FS_CM33_PC_Test - د دوراني خوندیتوب ازموینه
- SafetyIsrFunction> SafetyPcTest
– FS_CM33_PC_Test
4.4 د حافظې متغیر ازموینه
4.4.1 د متغیر حافظې ازموینې توضیحات
د ملاتړ شوي وسیلو لپاره د متغیر حافظې ازموینه د DC غلطیو لپاره آن چپ رام چیک کوي.
د غوښتنلیک سټیک ساحه هم ازمول کیدی شي. د مارچ C او مارچ X سکیمونه د کنټرول میکانیزمونو په توګه کارول کیږي.د سمبالولو دندې د بیا تنظیم کولو وروسته ازموینې او د چلولو ازموینې لپاره مختلف دي.
د بیا تنظیم کولو وروسته ازموینه د FS_CM33_RAM_AfterReset () فنکشن لخوا ترسره کیږي. دا فنکشن د بیا تنظیم کولو وروسته یو ځل ویل کیږي، کله چې د اجرا کولو وخت مهم نه وي. د بیک اپ ساحې لپاره وړیا حافظه ځای خوندي کړئ. د بلاک اندازه پیرامیټر نشي کولی د بیک اپ ساحې اندازې څخه لوی وي. فنکشن لومړی د بیک اپ ساحه ګوري، بیا لوپ پیل کیږي. د حافظې بلاکونه د بیک اپ ساحې ته کاپي شوي او د دوی موقعیتونه د اړوند مارچ ازموینې لخوا چک کیږي. ډاټا بیرته اصلي حافظې ساحې ته کاپي شوي او د بلاک اندازې سره اصلي پته تازه کیږي. دا تکرار کیږي تر هغه چې د حافظې وروستی بلاک ازمول شوی وي. که چیرې د DC غلطی وموندل شي، فنکشن د ناکامۍ بڼه بیرته راولي.
د چلولو ټیسټ د FS_CM33_RAM_Runtime () فنکشن لخوا ترسره کیږي. د وخت خوندي کولو لپاره، دا یوازې په وخت کې د SRAM یوه برخه (د RAM_TEST_BLOCK_SIZE لخوا تعریف شوی) ازموینه کوي. پداسې حال کې چې د بیا تنظیم کولو وروسته ازموینه د خوندیتوب پورې اړوند RAM ځای ټول بلاک چیک کوي. په LPC553x خوندي کتابتون کې exampد پروژې لپاره، RAM_TEST_BLOCK_SIZE 0x4 ته ترتیب شوی، دا پدې مانا ده چې د RAM 32 بایټس به د یو چلولو وخت RAM ازموینې معمول کې ازموینه وشي.
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- SafetyRamAfterResetTest /* د اصلي معمول چلولو دمخه د ".safety_ram" برخې ټول RAM ځای ازموینه وکړئ. */
- FS_CM33_RAM_AfterReset - د دوراني خوندیتوب ازموینه
- SafetyIsrFunction(&g_sSafetyCommon, &g_sSafetyRamTest, &g_sSafetyRamStackTest) /* په سیسټیک ISR کې اجرا شوی، نشي کولی خنډ شي */
– FS_CM33_RAM_Runtime
4.4.2 متغیر حافظې ازموینې ترتیب
د متغیر حافظې ازموینې ترتیب په کې :د خوندیتوب رام بلاک ترتیب په کې دی :
SAFETY_RAM_BLOCK بلاک تعریف کړئ = 8 سره سمون
{برخه .سافت_رام } ;
په RAM_سیمه کې ځای {بلاک SAFETY_RAM_BLOCK};
په یاد ولرئ چې یوازې .safety_ram د متغیر حافظې ازموینې لخوا پوښل شوي. متغیرونه په لاسي ډول د .safety_ram برخې کې اضافه کړئ، لکه څنګه چې لاندې په main.c کې ښودل شوي.4.5 د نه بدلیدونکي حافظې ازموینه
4.5.1 د نه بدلیدونکي حافظې ازموینې توضیحات
په LPC5536 MCU کې نه بدلیدونکی حافظه آن چپ فلش دی. د نه بدلیدونکي حافظې ازموینې اصل دا دی چې وګوري چې ایا د غوښتنلیک اجرا کولو پرمهال د حافظې مینځپانګې کې بدلون شتون لري. د دې هدف لپاره د چکسم ډیری میتودونه کارول کیدی شي. چیکسم یو الګوریتم دی چې د ازمول شوي حافظې کې ځای په ځای شوي ډیټا لاسلیک محاسبه کوي. د دې حافظې بلاک لاسلیک بیا په دوره توګه محاسبه کیږي او د اصلي لاسلیک سره پرتله کیږي.
د ټاکل شوي حافظې لپاره لاسلیک د غوښتنلیک لینک کولو مرحله کې محاسبه کیږي. لاسلیک باید په نه بدلیدونکي حافظه کې خوندي شي ، مګر په مختلف ساحه کې د هغه څخه چې چیکسم حساب شوی. د چلولو په وخت کې او د بیا تنظیم کولو وروسته، ورته الګوریتم باید په غوښتنلیک کې پلي شي ترڅو د چکسم محاسبه کړي. پایلې پرتله کیږي. که دوی مساوي نه وي، د خوندیتوب خطا حالت واقع کیږي.
کله چې د بیا تنظیم کولو وروسته پلي کیږي یا کله چې د اجرا کولو وخت کې هیڅ محدودیت شتون نلري ، د فنکشن کال په لاندې ډول کیدی شي.
• مخکې له مخکې د یو ځل خوندیتوب ازموینه
- د سیفټي فلش وروسته له ری سیٹ ازموینې
- FS_FLASH_C_HW16_K /* د ټول فلش CRC محاسبه کړئ */
د غوښتنلیک په جریان کې او د اجرا کولو لپاره محدود وخت سره، CRC په ترتیب سره محاسبه کیږي. دا پدې مانا ده چې د ننوتلو پیرامیټونه د بیا تنظیم کولو وروسته د زنګ وهلو په پرتله مختلف معنی لري. د تطبیق مثالampپه لاندې ډول دی:
• د وخت په اوږدو کې د خوندیتوب ازموینه
- SafetyFlashRuntimeTest
- FS_FLASH_C_HW16_K /* د بلاک لخوا د CRC بلاک محاسبه کړئ */
- SafetyFlashTestHandling /* د CRC پرتله کول کله چې ټول فلش بلاکونه محاسبه کیږي. */
4.5.2 د نه بدلیدونکي حافظې ازموینې ترتیب
په LPC553x خوندي کتابتون کې exampد پروژې لپاره، د فلش تخصیص لاندې ښودل شوی لکه څنګه چې په لینکر کې مشخص شوی file . څيز files او د خوندیتوب فلش بلاک کې ځای پرځای شوي کوم چې د نه بدلیدونکي حافظې ازموینې لخوا چک کیږي. تاسو کولی شئ نور توکي واچوئ fileد لینکر په بدلولو سره د SAFETY_FLASH_BLOCK فلش ساحې ته ننوځي file له مخې.د MCU د چلولو په جریان کې د پرتله کولو لپاره دوه چکسمونه شتون لري ترڅو دا تصدیق کړي چې ایا د ورکړل شوي فلش ځای مینځپانګه بدله شوې ده:
- چکسم د لینکر لخوا په تالیف / لینک کولو کې محاسبه کیږي
- چکسم د MCU لخوا د چلولو په وخت کې حساب شوی
د چکسم پایلې ځای په ځای کولو لپاره د موقعیت تعریف (د لینکر وسیلو لخوا دمخه محاسبه شوی) په کې دی :
سمبول تعریف کړئ __FlashCRC_start__ = 0x0300; /* د چکسم ځای پرځای کولو لپاره */
سمبول تعریف کړئ __FlashCRC_end__ = 0x030F; /* د چکسم ځای پرځای کولو لپاره */
سیمه تعریف کړئ CRC_region = mem: [له __FlashCRC_start__ څخه تر __FlashCRC_end__];
د الینمینټ = 8 برخه سره د بلاک چیکسم تعریف کړئ. checksum}; په CRC_region کې ځای { بلاک CHECKSUM}
IAR IDE واخلئ، د مثال لپارهampد پروژې اختیار ترتیب کې > د کړنو جوړول > وروسته جوړ کمانډ لاین.د قوماندې کرښه:
ielftool –fill 0xFF;c_checksumStart-c_checksumEnd+3 –checksum __checksum:2,crc16,0x0;c_checksumStart-c_checksumEnd+3 – فعل “$TARGET_PATH$” “$TARGET_PATH$”
لینکر د _checksumStart څخه c_checksumEnd ته د فلش پته اصلي چیکسم محاسبه کوي، بیا د چیکسم پایله په _checksum کې ځای په ځای کوي، کوم چې د لینکر لخوا تعریف شوی CHECKSUM بلاک کې دی. file.
د ټاکل شوي فلش ځای تعریف باید چیک شي :
بلاک تعریف کړئ SAFETY_FLASH_BLOCK د ترتیب سره = 8، ثابت ترتیب { یوازې د لوستلو برخه checksum_start_mark، برخه .text object main.o، برخه .text object safe_cm33_lpc.o، برخه .rodata څیز safe_cm33_lpc.o، یوازې د لوستلو برخه checksum_end_mark}
په ROM_region کې ځای { بلاک SAFETY_FLASH_BLOCK}؛
4.6 د سټیک ازموینه
4.6.1 د سټیک ازموینې توضیحات
د سټیک ټیسټ یو اضافي ازموینه ده، په مستقیم ډول د IEC60730 ضمیمه H جدول کې مشخص شوي ندي.
دا د ازموینې معمول د غوښتنلیک سټیک د جریان او زیرمو شرایطو ازموینې لپاره کارول کیږي. د حافظې په ساحه کې د سټک شوي غلطیو ازموینه د سټک لخوا نیول شوي د متغیر حافظې ازموینې لخوا پوښل کیږي. د سټیک ډیر جریان یا زیرمه کیدی شي که چیرې سټیک په غلط ډول کنټرول شوی وي یا د ورکړل شوي غوښتنلیک لپاره د "ډیر ټیټ" سټیک ساحې تعریف کولو سره.
د ازموینې اصل دا دی چې د سټیک لاندې او پورته ساحه د پیژندل شوي نمونې سره ډک کړئ. دا ساحې باید د لینکر ترتیب کې تعریف شي file، د سټک سره یوځای. د پیل کولو فعالیت بیا دا ساحې ستاسو د نمونې سره ډکوي. نمونه باید داسې ارزښت ولري چې په غوښتنلیک کې بل ځای نه ښکاري. موخه دا ده چې وګورو چې آیا دقیق نمونه لاهم په دې سیمو کې لیکل شوې ده. که دا نه وي، دا د غلط سټیک چلند نښه ده. که دا پیښ شي، نو د ازموینې فنکشن څخه د FAIL بیرته ستنیدو ارزښت باید د خوندیتوب خطا په توګه پروسس شي.ازموینه د بیا تنظیم کولو وروسته او د غوښتنلیک چلولو په جریان کې په ورته ډول ترسره کیږي.
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- 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 4.7 ساعت ازموینه
4.7.1 د ساعت ازموینې توضیحات
د ساعت ازموینې اصول د دوه خپلواک ساعت سرچینو پرتله کولو پراساس دي.
په LPC553x خوندي کتابتون کې example پروژه، CTIMER0 او Systick په MCU LPC5536 کې د خوندیتوب ساعت ازموینې لپاره د دوه خپلواک ساعتونو په توګه کارول کیږي، دوی د LPC5536-EVK هارډویر بورډ پورې اړه نلري.
د ساعت ازموینې معمول یوازې د دورې دورې خوندیتوب ازموینې کې اجرا کیږي.
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- د ساعت ازموینه نشته - د دوراني خوندیتوب ازموینه
- SafetyClockTestCheck
– SafetyClockTestIsr
4.7.2 د ساعت ازموینې ترتیب
لکه څنګه چې د LPC553x خوندیتوب کتابتون کې د ساعت ازموینې لپاره دوه خپلواک ساعتونه اړین ديampد پروژې:
- SYSTICK ټایمر د PLL0 150 M څخه سرچینه اخیستل کیږي (د بهرني 16 MHz کرسټال څخه سرچینه اخیستل کیږي)
- د CTIMER0 ټایمر د داخلي FRO_96M څخه سرچینه اخلي
د سیسټیک او CTIMER0 تفصيلي تشکیلات لاندې ښودل شوي:
- د سیسټیک ترتیب: SystickISR_Freq = 1000 Hz، د 150,000 MHz اصلي ساعت لاندې د 150 ریلوډ ارزښت ترتیب کولو سره
- د CTIMER ترتیب: CTIMER_Freq = 96 MHz، د 96 MHz FRO_96M ساعت څخه سرچینه اخیستل شوې
- متوقع CTIMER کاونټر باید CTIMER _Freq/SystickISR_Freq = 96 MHz / 1000 = 96,000 وي
- په هر سیسټیک مداخله ISR کې، د CTIMER کاونټر ارزښت خوندي کړئ
- د چلولو په وخت کې (1) لوپ، وګورئ: (96,000 – 20 %) < CTIMER د اټکل ضد < (96,000 + 20 %)
د ساعت ازموینې ترتیب په Safety_config.h کې دی.
د حقیقي غوښتنلیک سره سم، تاسو کولی شئ د REF_TIMER_USED میکرو په ترتیب کولو سره د خوندیتوب ساعت ازموینې لپاره د CTIMER مثال بدل کړئ. همدارنګه، تاسو باید REF_TIMER_CLOCK_FREQUENCY د اصلي ساعت فریکونسۍ سره سم تنظیم کړئ. 4.8 ډیجیټل I/O ازموینه
4.8.1 ډیجیټل I/O ازموینې توضیحات
په LPC553x خوندي کتابتون کې example پروژه، په LPC1-EVK کې GPIO P4_1 او P17_5536 د خوندیتوب ډیجیټل I/O ازموینې لپاره غوره شوي، دا دوه پنونه په LPC10x EVK بورډ کې د J553 سرلیک سره وصل دي.
د ډیجیټل I/O ازموینې معمولونه په دوه اصلي پروسو ویشل شوي: مخکې له مخکې د یو وخت خوندیتوب ازموینه او د چلولو دوراني خوندیتوب ازموینه
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- SafetyDigitalOutputTest
- SafetyDigitalInputOutput_ShortSupplyTest
– SafetyDigitalInputOutput_ShortAdjTest - د دوراني خوندیتوب ازموینه
- SafetyDigitalOutputTest
- SafetyDigitalInputOutput_ShortSupplyTest
4.8.2 ډیجیټل I/O ازموینې ترتیب
د ډیجیټل I/O ازموینې ترتیب په safe_test_items.c کې دی.د ډیجیټل I/O ازموینې اجرا کول باید وروستي غوښتنلیک سره تطبیق شي. د هارډویر پیوستون او ډیزاین سره محتاط اوسئ. تاسو کولی شئ د خوندیتوب لپاره GPIO بدل کړئ
ډیجیټل I/O ازموینه په خونديتوب_ټیسټ_آټمونو کې د dio_safety_test_items [] په ترتیب کولو سره. په ډیری قضیو کې ، ازمول شوي (او ځینې وختونه هم مرستندویه) پن باید د غوښتنلیک چلولو پرمهال له سره تنظیم شي. دا سپارښتنه کیږي چې د ډیجیټل I/O ازموینې لپاره نه کارول شوي پنونه وکاروئ.
4.9 انلاګ I/O ازموینه
4.9.1 د انلاګ I/O ازموینې توضیحات
په LPC553x خوندي کتابتون کې example پروژه، P0_16/ADC0IN3B, P0_31/ADC0IN8A، او P0_15/ADC0IN3A په LPC5536-EVK کې د خوندیتوب انلاګ I/O ازموینې لپاره غوره شوي، ځکه چې په MCU LPC5536 کې د ADC ماډل اجازه نه ورکوي چې د VREFH سره وصل شي، VREFL په داخلي توګه. داخلول دا د کارونکي لپاره اړینه ده چې دا سیګنالونه (د انلاګ I/O ازموینې لپاره) د الوتنې تارونو سره وصل کړي لکه څنګه چې لاندې ښودل شوي.
- GND د ADC VREFL ازموینې لپاره P0_16/ADC0IN3B (J9-5) سره وصل شوی
- 3.3 V د ADC VREFH ازموینې لپاره P0_31/ADC0IN8A (J9-31) سره وصل شوی
- 1.65 V د ADC بندګاپ ازموینې لپاره P0_15/ADC0IN3A (J9-1) سره وصل شوی
د انلاګ I/O ازموینې معمولونه په دوه اصلي پروسو ویشل شوي دي:
- مخکې له مخکې د یو ځل خوندیتوب ازموینه
- د خوندیتوب انلاګ ازموینه - د دوراني خوندیتوب ازموینه
- د خوندیتوب انلاګ ازموینه
4.9.2 د انلاګ I/O ازموینې ترتیب
د انلاګ I/O ازموینې اجرا کول باید وروستي غوښتنلیک سره تطابق شي. د هارډویر پیوستون او ډیزاین سره محتاط اوسئ. تاسو کولی شئ د FS_CFG_AIO_CHANNELS_INIT په ترتیب کولو سره د خوندیتوب انلاګ I/O ازموینې لپاره ADC چینلونه بدل کړئ او
FS_CFG_AIO_CHANNELS_SIDE_INIT په safe_config.h کې.
- FS_CFG_AIO_CHANNELS_INIT د ADC چینل شمیره په ګوته کوي.
- FS_CFG_AIO_CHANNELS_SIDE_INIT د ADC چینل اړخ ته اشاره کوي.
لکه څنګه چې پورته انځور کې ښودل شوي:
- لومړی عنصر د ADC VREFL ازموینې سره مطابقت لري
- دوهم عنصر د ADC VREFH ازموینې سره مطابقت لري
- دریم عنصر د ADC Bandgap ازموینې سره مطابقت لري
د مثال لپارهample، "3" په FS_CFG_AIO_CHANNELS_INIT او "1" په
FS_CFG_AIO_CHANNELS_SIDE_INIT په ګوته کوي چې د ADC0 چینل 3 اړخ B د ADC VREFL ازموینې لپاره غوره شوی.
4.10 د څارنې ازموینه
4.10.1 د څارنې ازموینې توضیحات
د څارنې ازموینه په مستقیم ډول په IEC60730 - ضمیمه H جدول کې نه ده مشخص شوې، په هرصورت، دا په جزوي توګه د IEC 60730-1، IEC 60335، UL 60730، او UL 1998 معیارونو سره سم د خوندیتوب اړتیاوې پوره کوي.
د واچ ډاگ ټیسټ د واچ ډاگ ټایمر فعالیت ازموینه چمتو کوي. ازموینه یوازې یو ځل د بیا تنظیم کولو وروسته ترسره کیږي. ازموینه د WDOG ریسیټ لامل کیږي او د WDOG ریسیټ لپاره دمخه ټاکل شوي وخت ریښتیني وخت سره پرتله کوي.په LPC553x خوندي کتابتون کې exampد پروژې په ترڅ کې، څارګر د لاندې ګامونو په کارولو سره ازمول کیږي:
- د ری سیٹ کولو وروسته، واچ ډاگ فعال کړئ او په هدف سره ریفریش کول ودروئ ترڅو د څارنې ریسیټ MCU پیل کړي.
- CTIMER0 فعال کړئ ترڅو اندازه کړئ چې د څارنې وخت پای ته رسیدو او بیا تنظیم کولو لپاره څومره وخت نیسي.
- د واچ ډاگ له سره تنظیم کولو وروسته ، تایید کړئ چې دا بیا تنظیم د PMC-> AOREG1 راجسټر چیک کولو سره د څارګر لخوا رامینځته شوی.
- CTIMER0 ولولئ ترڅو د څارنې وخت پای ته رسیدو دقیق وخت ترلاسه کړئ او بیا تنظیم کړئ.
د بیاکتنې تاریخ
لاندې جدول د دې سند بیاکتنې لنډیز کوي.
جدول 3. د بیاکتنې تاریخ
د بیاکتنې شمیره | نیټه | د پام وړ بدلونونه |
0 | ۲۰۰۶-جنوري-۲۷ | لومړنۍ عامه خپرونه |
قانوني معلومات
6.1 تعریفونه
مسوده - په یوه سند کې د مسودې حالت ښیي چې مینځپانګه لاهم د داخلي بیاکتنې لاندې دهview او د رسمي تصویب تابع وي، کوم چې کیدای شي د تعدیلاتو یا اضافو پایله ولري. د NXP سیمی کنډکټرونه د اسنادو په مسوده کې شامل شوي معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري.
6.2 اعلانونه
محدود تضمین او مسؤلیت - په دې سند کې معلومات دقیق او د باور وړ دي. په هرصورت، د NXP سیمیکمډکټرونه د داسې معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي، څرګند شوي یا ضمیمه شوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري. د NXP سیمیکنډکټرونه په دې سند کې د مینځپانګې مسؤلیت په غاړه نه اخلي که چیرې د NXP سیمیکمډکټر څخه بهر د معلوماتو سرچینې لخوا چمتو شوي وي.
په هیڅ صورت کې د NXP سیمیک کنډکټرونه د هر ډول غیر مستقیم، حادثې، مجازاتو، ځانګړي یا پایله لرونکي زیانونو لپاره مسؤل نه دي (پشمول - پرته له محدودیت څخه ضایع شوې ګټې، ضایع شوي سپما، د سوداګرۍ خنډ، د هر محصول یا د بیا کار کولو لګښتونو لرې کولو یا بدلولو پورې اړوند لګښتونه) که یا دا ډول زیانونه د شکنجې (د غفلت په ګډون)، تضمین، د تړون سرغړونې یا کومې بلې قانوني نظریې پر بنسټ ندي.
د هر ډول زیانونو سره سره چې پیرودونکي ممکن د هر دلیل له امله پیښ شي، د NXP سیمیکمډکټرونو مجموعي او مجموعي مسؤلیت د پیرودونکي په وړاندې د هغه محصولاتو لپاره چې دلته تشریح شوي باید د NXP سیمیکمډکټرونو د سوداګریز پلور د شرایطو او شرایطو سره سم محدود وي.
د بدلون راوستلو حق - د NXP سیمیکمډکټر حق لري چې په دې سند کې خپاره شوي معلوماتو کې بدلونونه راولي، په شمول د محدودیت مشخصاتو او د محصول توضیحاتو پرته، هر وخت او پرته له خبرتیا. دا سند ټول هغه معلومات بدلوي او ځای په ځای کوي چې دلته د خپریدو دمخه چمتو شوي.
د استعمال لپاره مناسب - د NXP سیمیکمډکټر محصولات ډیزاین شوي ، مجاز یا تضمین ندي چې د ژوند ملاتړ ، ژوند - مهم یا خوندیتوب - مهم سیسټمونو یا تجهیزاتو کې د کارولو لپاره مناسب وي ، او نه هم په غوښتنلیکونو کې چیرې چې د NXP سیمیکمډکټر محصول ناکامي یا نیمګړتیا په معقول ډول تمه کیدی شي پایله ولري. شخصي ژوبل، مړینه یا شدید ملکیت یا د چاپیریال زیان. د NXP سیمیکنډکټرونه او د هغې عرضه کونکي په داسې تجهیزاتو یا غوښتنلیکونو کې د NXP سیمیکمډکټر محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني او له همدې امله دا ډول شاملول او/یا کارول د پیرودونکي په خپل خطر کې دي.
غوښتنلیکونه - هغه غوښتنلیکونه چې دلته د دې محصولاتو لپاره تشریح شوي یوازې د مثالي موخو لپاره دي. د NXP سیمیکمډکټرونه هیڅ استازیتوب یا تضمین نه کوي چې دا ډول غوښتنلیکونه به د نورو ازموینې یا ترمیم پرته د ټاکل شوي کارونې لپاره مناسب وي. پیرودونکي د NXP Semiconductors محصولاتو په کارولو سره د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤلیت لري، او د NXP سیمیکمډکټر د غوښتنلیکونو یا پیرودونکي محصول ډیزاین سره د مرستې لپاره هیڅ مسؤلیت نه مني. دا د پیرودونکي یوازینۍ مسؤلیت دی چې معلومه کړي چې ایا د NXP سیمیکمډکټر محصول د پیرودونکي غوښتنلیکونو او محصولاتو لپاره چې پلان شوي ، او همدارنګه د پلان شوي غوښتنلیک او د پیرودونکي د دریمې ډلې پیرودونکي کارولو لپاره مناسب او مناسب دی. پیرودونکي باید د خطرونو کمولو لپاره مناسب ډیزاین او عملیاتي محافظت چمتو کړي
د دوی غوښتنلیکونو او محصولاتو سره تړاو لري. د NXP سیمیکنډکټرونه د کوم ډیفالټ ، زیان ، لګښت یا ستونزې پورې اړوند هیڅ مسؤلیت نه مني چې د پیرودونکي غوښتنلیکونو یا محصولاتو کې د کوم ضعف یا ډیفالټ پراساس وي ، یا د پیرودونکي دریم اړخ پیرودونکي لخوا غوښتنلیک یا کارول. پیرودونکي د NXP سیمیکمډکټر محصولاتو په کارولو سره د پیرودونکي غوښتنلیکونو او محصولاتو لپاره د ټولو اړینو ازموینو ترسره کولو مسؤلیت لري ترڅو د غوښتنلیکونو او محصولاتو یا غوښتنلیک یا د پیرودونکي د دریمې ډلې پیرودونکي لخوا کارولو څخه مخنیوی وشي. NXP پدې برخه کې هیڅ مسؤلیت نه مني.
د تجارتي خرڅلاو شرایط او شرایط - د NXP سیمیکمډکټر محصولات د سوداګریز پلور عمومي شرایطو او شرایطو سره سم پلورل کیږي، لکه څنګه چې په کې خپاره شوي http://www.nxp.com/profile/terms، پرته لدې چې په بل ډول په یوه معتبر لیکلي انفرادي تړون کې موافقه شوې وي. په هغه صورت کې چې یو انفرادي تړون پای ته رسیږي یوازې د اړوند تړون شرایط او شرایط پلي کیږي. د NXP سیمیکنډکټرونه دلته په ښکاره ډول د پیرودونکي لخوا د NXP سیمیکمډکټر محصولاتو پیرودلو په اړه د پیرودونکي عمومي شرایطو او شرایطو پلي کولو اعتراض کوي.
د صادراتو کنټرول - دا سند او همدارنګه دلته تشریح شوي توکي ممکن د صادراتو کنټرول مقرراتو تابع وي. صادرات ممکن د وړ چارواکو څخه مخکینۍ اجازې ته اړتیا ولري.
په غیر اتومات وړ وړ محصولاتو کې د کارولو لپاره مناسب - پرته لدې چې دا ډیټا شیټ په څرګند ډول وايي چې دا ځانګړي NXP سیمیکمډکټر محصول د موټرو وړ دی ، محصول د موټرو کارولو لپاره مناسب ندی. دا د موټرو ازموینې یا غوښتنلیک اړتیاو سره سم نه وړ دی او نه ازمول شوی. د NXP سیمیکمډکټرونه د موټرو تجهیزاتو یا غوښتنلیکونو کې د غیر اتومات وړ وړ محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني.
په هغه صورت کې چې پیرودونکی محصول د اتوماتیک غوښتنلیکونو کې د ډیزاین کولو او کارولو لپاره د موټرو مشخصاتو او معیارونو لپاره کاروي ، پیرودونکي (a) باید محصول د دې ډول اتومات غوښتنلیکونو ، کارولو او مشخصاتو لپاره د محصول د NXP سیمیکمډکټر تضمین پرته وکاروي ، او ( b) هرکله چې پیرودونکي د NXP سیمیکمډکټرونو مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول کاروي دا ډول کارول باید یوازې د پیرودونکي په خپل خطر کې وي ، او (c) پیرودونکي د پیرودونکي ډیزاین او کارولو په پایله کې د هر ډول مسؤلیت ، زیانونو یا ناکام محصول ادعاګانو لپاره د NXP سیمیکنډکټرونو بشپړ تاوان ورکوي. د NXP سیمی کنډکټرونو معیاري تضمین او د NXP سیمیکمډکټر محصول مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول.
ژباړې - د یوه سند غیر انګلیسي (ژباړل شوې) نسخه، په دې سند کې د قانوني معلوماتو په ګډون، یوازې د حوالې لپاره ده. د ژباړل شوي او انګلیسي نسخو ترمنځ د کوم توپیر په صورت کې انګلیسي نسخه باید غالب وي.
امنیت - پیرودونکي پوهیږي چې د 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 فعال, 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 MCUs لپاره [pdf] د کارونکي لارښود AN13823 IEC 60730 کلاس B سافټویر د LPC553x MCUs لپاره، AN13823، IEC 60730 کلاس B سافټویر د LPC553x MCUs لپاره، AN13823 IEC 60730 کلاس B سافټویر |