مروری بر functional Safety ، ایمنی در عملکرد مدارات الکترونیکی | ایمنی در عملکرد مدارات الکترونیکی (بخش اول)

ایمنی در عملکرد مدارات الکترونیکی 01
24 بازدید
۱۴۰۵-۰۴-۰۹
16 دقیقه
  • نویسنده: دایدالوس
  • درباره نویسنده: دایدالوس هستم... عاشق خلاقیت و نو آوری.

سلام خدمت تمام سروران گرانقدر و دوستان سیسوگی!

من دایدالوس هستم و پس از مدت‌ها وقفه، دوباره بازگشته‌ام.

تا چند سال پیش، میکروکنترلرهای خانواده AVR، به‌ویژه سری Mega، به‌عنوان میکروکنترلرهایی ۸ بیتی با امکانات مناسب، محبوبیت بسیار زیادی داشتند.

با ورود بردها و ماژول‌های آردوینو، این میکروکنترلرهای اقتصادی بیش از پیش فراگیر شدند و راه خود را به پروژه‌های آموزشی، سرگرمی و صنعتی باز کردند.

اما پیش از محبوب‌شدن این خانواده، فعالان دنیای سیستم‌های امبدد از چه میکروکنترلرهایی استفاده می‌کردند؟

یکی از گزینه‌های پرکاربرد، میکروکنترلرهای سری 16 شرکت Microchip بودند؛ خانواده‌ای که در بسیاری از پروژه‌های الکترونیکی و صنعتی حضور پررنگی داشت. پس از آن، سری 18F میکروچیپ نیز با توان پردازشی بیشتر و پریفرال‌های داخلی متنوع، به انتخابی قدرتمندتر برای طراحان تبدیل شد.

از سوی دیگر، خانواده بزرگ MCS-80 نیز جایگاه ویژه‌ای در تاریخ سیستم‌های امبدد دارد. میکروکنترلر 8051، که می‌توان آن را فرزند موفق این خانواده دانست، هنوز هم در ذهن بسیاری از مهندسان قدیمی زنده است. حتی امروزه نیز میکروکنترلرهای اقتصادی و صنعتی متعددی با معماری 8051 تولید و استفاده می‌شوند؛ از جمله محصولات هولتک، برخی کنترلرهای به‌کاررفته در کارت‌های کامپیوتری، تجهیزات پوشیدنی و دستگاه‌های صوتی.

در شرق آسیا نیز شرکت‌هایی مانند NEC و توشیبا محصولات متنوعی در این حوزه عرضه می‌کردند و سهم قابل‌توجهی از بازار تجهیزات الکترونیکی و صنعتی داشتند.

در اواخر دهه ۱۹۸۰ میلادی، تجهیزات رایج به‌تدریج به سمت الکترونیکی‌شدن حرکت کردند و استفاده از کنترلرها در صنایع مختلف افزایش یافت. استانداردهای صنعتی به‌روز شدند، ضوابط ایمنی جدی‌تر شد و تجهیزات الکترومکانیکی کم‌کم جای خود را به ادوات الکترونیکی دادند.

بسیاری از وسایلی که امروز در اطراف ما قرار دارند، به‌شکل خودکار، هوشمند یا الکترونیکی فعالیت می‌کنند؛ از یخچال و پنکه گرفته تا ماشین لباسشویی، چرخ خیاطی‌های مدرن و دوربین‌های دیجیتال.

امروزه تقریباً در هر وسیله‌ای، ردپایی از یک پردازنده یا میکروکنترلر دیده می‌شود.

اما حالا که صحبت از AVR شد…

یک خاطره:

سال‌ها پیش، در پرونده‌ای مربوط به یک تخلف صنفی، از من برای انجام کارشناسی بی‌طرفانه دعوت شد.

ماجرا مربوط به مالک یک جرثقیل سنگین بتن‌ریزی بود که برای دستگاه خود یک ریموت کنترل مخصوص سفارش داده بود. ریموت و تابلو گیرنده آن نیز در مسیر فرمان هیدرولیک جرثقیل قرار داشتند.

تا اینکه روزی، ریموت به‌صورت ناگهانی روی یکی از فرمان‌ها قفل کرد. جرثقیل در وضعیت خطرناکی قرار گرفت و در نهایت واژگون شد.

خوشبختانه این حادثه تلفات جانی نداشت.

با سازنده سیستم تماس گرفتم و از توضیحاتی که شنیدم، واقعاً شوکه شدم.

او گفت:

من دیدم مدارها و ریموت‌های مخصوص جرثقیل خیلی گران هستند و داخلشان هم کلی مدار اضافی وجود دارد. برای همین با یک AVR، چند رله و یک ماژول فرستنده 433 مگاهرتز، یک ریموت طراحی کردم. مدار هم خیلی خوب کار می‌کند و از قطعات باکیفیت استفاده کرده‌ام.

با شنیدن این توضیحات، بیشتر نگران شدم. سعی کردم با چند سؤال، موضوع را برای او روشن کنم.

از او پرسیدم:

  • اگر باتری ریموت ناگهان تمام شود یا ارتباط رادیویی قطع شود، سیستم چه واکنشی نشان می‌دهد؟
  • اگر یکی از رله‌ها دچار اتصال یا چسبندگی کنتاکت شود، چه اتفاقی می‌افتد؟
  • اگر یک ریموت مشابه در نزدیکی دستگاه شما فعال باشد، احتمال تداخل یا دریافت فرمان ناخواسته وجود ندارد؟
  • آیا محصول شما تأییدیه ایمنی دارد؟
  • آیا برای خطاهای احتمالی، قطع ارتباط، خرابی قطعات یا شرایط اضطراری تدابیر ایمنی در نظر گرفته شده است؟

متأسفانه طراح این سیستم، بسیاری از جوانب مهم را در نظر نگرفته بود. او تازه در همان زمان متوجه شد که قیمت بالای ریموت‌های صنعتی جرثقیل، فقط به دلیل قطعات گران‌تر یا مدارهای پیچیده‌تر نیست؛ بلکه بخش بزرگی از این هزینه به طراحی ایمن، کنترل خطا، افزونگی، استانداردها و الزامات حفاظتی مربوط می‌شود.

پاسخ‌های آن مهندس جوان قانع‌کننده نبود. به او گفتم:

مهندس عزیز، شما برای کیفیت قطعات و عملکرد عادی مدار فکر کرده‌اید؛ اما ایمنی عملکرد سیستم را در نظر نگرفته‌اید.

نتیجه چه بود؟

آن مهندس محصولی ساخته بود که شاید در شرایط عادی عملکرد قابل قبولی داشت، اما اصول ایمنی عملکردی یا Functional Safety در طراحی آن رعایت نشده بود.

در گزارش کارشناسی اعلام کردم که محصول طراحی‌ شده برای چنین کاربری حساسی مناسب نیست و به علت ناآشنایی سازنده با ضوابط، استانداردها و الزامات ایمنی، برخی اصول حیاتی به‌صورت ناخواسته نادیده گرفته شده‌اند.

در نهایت، سازنده ملزم به پرداخت خسارت شد و مالک جرثقیل نیز به دلیل استفاده از تجهیزات غیراستاندارد، جریمه شد.

بسیاری از طراحان جوان برای اثبات کیفیت یک مدار، از عبارت‌هایی مانند این استفاده می‌کنند:

«این مدار صنعتی است!»

«این میکروکنترلر ضدنویز و صنعتی‌تر است!»

«مدار من نویز می‌گیرد و درست کار نمی‌کند!»

«از قطعات ژاپنی و آمریکایی استفاده شده؛ مرگ ندارد!»

«PLC خیلی صنعتی‌تر از میکروکنترلرهاست!»

اما جای عبارت‌های مهم‌تری در بسیاری از این گفتگوها خالی است:

«این میکروکنترلر برای کاربردهای خاص طراحی شده است.»

«این میکروکنترلر برای استفاده در صنعت خودرو مناسب‌سازی و تأیید شده است.»

«این تراشه برای کنترل موتور طراحی شده و الزامات کاربردی مشخصی دارد.»

«این مدار با شرایط محیطی و عملیاتی یک کارخانه صنعتی سازگار است و استانداردهای لازم را دریافت می‌کند.»

«در این طراحی، ملاحظات EMC رعایت شده و اثر تداخلات الکترومغناطیسی تا حد ممکن کاهش یافته است.»

خب حالا این Functional Safety چیست؟

به زبان خیلی ساده، ایمنی عملکردی یا Functional Safety یعنی مطمئن شویم که یک سیستم در زمان بروز خطا یا خرابی، به‌جای ایجاد خطر، وارد یک وضعیت امن شود.

برای مثال، ممکن است یک خطای نرم‌افزاری رخ دهد، یک مقاومت بسوزد، ارتباط یک سنسور قطع شود یا یک رله در حالت وصل گیر کند. در چنین شرایطی، سیستم نباید باعث آتش‌سوزی، آسیب به تجهیزات یا صدمه به انسان شود. بلکه باید به‌گونه‌ای طراحی شده باشد که یا به‌صورت ایمن از کار بیفتد، یا عملکرد خود را محدود کند، یا وارد حالتی شود که خطر به حداقل برسد.

تفاوت اصلی Functional Safety با مفهوم «کیفیت» یا Quality در همین‌جاست:

کیفیت می‌گوید:

«سیستم باید کمتر خراب شود.»

اما ایمنی عملکردی می‌گوید:

«اگر سیستم خراب شد، نباید باعث خسارت یا آسیب جدی‌تر شود.»

مفاهیم کلیدی

پیش از ورود به بحث پیاده‌سازی، لازم است با سه مفهوم مهم که در استانداردهای ایمنی کاربرد دارند آشنا شویم:

  • Hazard یا خطر: به هر وضعیت یا شرایطی گفته می‌شود که پتانسیل ایجاد آسیب دارد. برای مثال، باز ماندن دریچه گاز خودرو می‌تواند یک Hazard باشد.
  • Risk یا ریسک: ریسک از ترکیب احتمال وقوع یک خطر و شدت پیامد آن به‌دست می‌آید. برای مثال، اگر احتمال بازماندن دریچه گاز کم باشد اما پیامد آن بسیار خطرناک باشد، همچنان با یک ریسک جدی روبه‌رو هستیم.
  • SIL یا ASIL: این‌ها سطح یکپارچگی ایمنی سیستم را مشخص می‌کنند. SIL بیشتر در صنایع عمومی، تجهیزات صنعتی، نیروگاه‌ها و سیستم‌های کنترلی استفاده می‌شود. ASIL نیز در صنعت خودرو کاربرد دارد و از سطح A تا D دسته‌بندی می‌شود؛ که ASIL-D سخت‌گیرانه‌ترین سطح آن است. هرچه سطح SIL یا ASIL بالاتر باشد، طراحی سیستم باید مقاوم‌تر، قابل‌اعتمادتر و دارای مکانیزم‌های کنترل خطای بیشتری باشد.
شاید برای شما مفید باشد:
آموزش استفاده از سنسورها برای کنترل جهت و سرعت Brushed Motors و راه‌اندازی Stepper Motor دو قطبی

چرخه عمر ایمنی چیست؟

چرخه عمر ایمنی یا Safety Lifecycle یک چارچوب کاری برای طراحی، پیاده‌سازی و نگهداری سیستم‌های ایمن است. در یک پروژه واقعی، صرفاً طراحی یک مدار خوب یا نوشتن چند خط کد مطمئن کافی نیست. ایمنی باید از همان ابتدای پروژه، یعنی زمان تحلیل نیازها، در نظر گرفته شود و تا پایان عمر محصول ادامه پیدا کند.

به‌طور کلی، چرخه عمر ایمنی شامل مراحل زیر است:

1. تحلیل خطر و ریسک (Hazard & Risk Analysis) در این مرحله، تمام رویدادها و شرایطی که می‌توانند باعث خطر شوند شناسایی می‌شوند. برای مثال: قطع ارتباط سنسور، خرابی رله، خطای نرم‌افزاری، اتصال کوتاه، عملکرد اشتباه اپراتور یا قطع ناگهانی تغذیه.

2. تعیین اهداف ایمنی و سطح موردنیاز SIL یا ASIL پس از شناسایی خطرها، باید مشخص شود که سیستم در برابر هر خطر چه واکنشی باید داشته باشد. همچنین سطح ایمنی موردنیاز، مانند SIL یا ASIL، تعیین می‌شود.

3. طراحی سیستم ایمنی در این مرحله، ساختار سخت‌افزار و نرم‌افزار بر اساس اهداف ایمنی طراحی می‌شود. ممکن است از مدارهای افزونه، سنسورهای دوگانه، کنترل خطا، Watchdog، قطع‌کن اضطراری یا مکانیزم‌های Fail-safe استفاده شود.

4. پیاده‌سازی (Implementation) در این مرحله، مدار ساخته می‌شود، نرم‌افزار نوشته می‌شود و اجزای طراحی‌شده به محصول واقعی تبدیل می‌شوند.

5. تأیید و اعتبارسنجی (Verification & Validation) در این بخش باید ثابت شود که سیستم واقعاً الزامات ایمنی تعریف‌شده را برآورده می‌کند. این کار می‌تواند با تست‌های مختلف، بازبینی طراحی، تست تزریق خطا و شبیه‌سازی شرایط غیرعادی انجام شود.

برای نمونه، ممکن است عمداً ارتباط سنسور قطع شود، یک ورودی اشتباه شبیه‌سازی شود یا خرابی یک قطعه بررسی شود تا مشخص شود سیستم در شرایط خطا، وارد وضعیت ایمن می‌شود یا خیر.

6. نصب، راه‌اندازی، بهره‌برداری و نگهداری ایمنی فقط مربوط به زمان طراحی و تولید نیست. پس از تحویل سیستم نیز باید نصب صحیح، تنظیمات درست، آموزش اپراتور، سرویس دوره‌ای و نگهداری اصولی انجام شود.

7. خارج‌کردن ایمن از سرویس (Decommissioning) در پایان عمر سیستم نیز باید تجهیز به‌صورت ایمن از کار خارج شود تا در زمان جمع‌آوری، تعویض یا اسقاط، خطری برای افراد، تجهیزات یا محیط ایجاد نکند.

چرا در پیاده‌سازی به آن نیاز داریم؟

چون بدون این چرخه، ممکن است مشکلات مهمی تا پایان پروژه باقی بمانند.

برای مثال، اگر در ابتدای طراحی سطح SIL یا ASIL به‌درستی تعیین نشود، کل طراحی ممکن است بر پایه‌ای اشتباه شکل بگیرد و این خطا تا مرحله تولید و بهره‌برداری ادامه پیدا کند؛ همان‌طور که گفته‌اند: «خشت اول چون نهد معمار کج، تا ثریا می‌رود دیوار کج.»

همچنین بدون مستندسازی و طی‌کردن این مراحل، نمی‌توان به نهادهای نظارتی، کارفرما یا سازمان‌های استاندارد ثابت کرد که محصول از نظر ایمنی بررسی شده است.

از طرف دیگر، در مرحله نگهداری نیز ممکن است یک تعمیرکار یا اپراتور ناآگاه، برای رفع سریع یک مشکل، بخشی از مدار ایمن را حذف یا دور بزند. چرخه عمر ایمنی کمک می‌کند چنین تغییراتی کنترل‌شده، مستند و قابل ارزیابی باشند.

در واقع، ایمنی عملکردی یک ویژگی اضافه در انتهای پروژه نیست؛ بلکه باید از اولین مرحله طراحی تا پایان عمر محصول، بخشی از فرایند توسعه باشد.

✅به زبان ساده

چرخه عمر ایمنی، یک نقشه راه مهندسی است که تضمین می‌کند ایمنی، اتفاقی و سلیقه‌ای نباشد، بلکه از روی محاسبه باشد و از ابتدا تا انتها کنترل شود.

چگونه Functional Safety را پیاده‌سازی کنیم؟ (چرخه عمر ایمنی  یا Safety Life Cycle)

پیاده‌سازی فقط یک مدار یا کد نیست، بلکه یک فرآیند سیستماتیک است. مراحل اصلی آن عبارتند از:

1. تحلیل ریسک و تعیین اهداف ایمنی (HARA)

اولین پرسش در طراحی ایمن این است:

اگر این قطعه یا سیستم خراب شود، بدترین اتفاقی که ممکن است رخ دهد چیست؟

برای مثال، در یک خودروی برقی اگر سیستم مدیریت باتری یا BMS دچار خطا شود و ولتاژ سلول‌ها را به‌درستی اندازه‌گیری نکند، ممکن است باتری بیش‌ازحد شارژ شود و در نهایت به آتش‌سوزی منجر شود.

خروجی این مرحله، تعیین یک هدف ایمنی یا Safety Goal است. برای نمونه:

«شارژ باتری نباید از حد مجاز تجاوز کند؛ حتی اگر یکی از سنسورهای ولتاژ دچار خطا شود.»

2. طراحی معماری ایمن و مقاوم در برابر خطا

پس از مشخص‌شدن خطرها و اهداف ایمنی، نوبت به طراحی معماری سخت‌افزار و نرم‌افزار می‌رسد. در این مرحله چند اصل مهم وجود دارد:

  • افزونگی یا Redundancy (برای اندازه‌گیری یا کنترل یک پارامتر مهم، از دو مسیر مستقل استفاده می‌شود. )

برای مثال، ممکن است در یک سیستم ترمز ABS از دو سنسور مجزا برای بررسی سرعت چرخ استفاده شود.

  • تنوع یا Diversity (در این روش، دو سیستم وظیفه‌ای مشابه را انجام می‌دهند، اما بر پایه فناوری‌های متفاوت ساخته شده‌اند. )

برای نمونه، می‌توان از یک سنسور هال و یک سنسور مقاومتی برای اندازه‌گیری موقعیت یا سرعت استفاده کرد. هدف این است که یک خطای مشترک، هر دو مسیر را هم‌زمان از کار نیندازد.

  • حالت Fail-Safe (سیستم باید به‌گونه‌ای طراحی شود که در زمان بروز خطا، وارد وضعیتی شود که کمترین خطر را ایجاد کند. )

مثال معروف آن، سیستم سیگنال‌دهی راه‌آهن است. اگر ارتباط سیگنال قطع شود یا خرابی رخ دهد، چراغ باید قرمز شود، نه سبز. قرمز بودن ممکن است باعث توقف قطار و تأخیر شود، اما سبز شدن اشتباه می‌تواند به حادثه منجر شود.

مدارهای تشخیص خطا

سیستم باید بتواند برخی خطاها را تشخیص دهد. برای مثال:

  • استفاده از Watchdog Timer برای تشخیص قفل‌کردن نرم‌افزار
  • تشخیص قطعی سیم یا Open Circuit
  • تشخیص اتصال کوتاه
  • بررسی وضعیت تغذیه
  • کنترل صحت ارتباط بین ماژول‌ها

3. توسعه نرم‌افزار ایمن

هشدار مهم: نرم‌افزار در بسیاری از سیستم‌ها می‌تواند خطرناک‌ترین بخش طراحی باشد. در سیستم‌های دارای سطح ایمنی بالا، نمی‌توان نرم‌افزار را مانند یک پروژه عادی توسعه داد. برنامه باید در برابر خطاهای ورودی، خرابی حافظه، رفتار غیرمنتظره سخت‌افزار و خطاهای منطقی مقاوم باشد.

استفاده از زبان‌ها و قواعد محدودشده

در بسیاری از کاربردهای خودرویی، از زیرمجموعه‌ای کنترل‌شده از زبان C استفاده می‌شود؛ مانند MISRA C.

هدف این محدودیت‌ها، جلوگیری از استفاده از ساختارهای خطرناک است؛ مانند:

  • اشاره‌گرهای کنترل‌نشده
  • بازگشت‌های بی‌نهایت
  • استفاده نامطمئن از حافظه
  • توابع غیرقابل پیش‌بینی
  • تبدیل‌های خطرناک نوع داده

برنامه‌نویسی تدافعی یا Defensive Programming

در این روش، نرم‌افزار همیشه احتمال خطا را در نظر می‌گیرد.

شاید برای شما مفید باشد:
با پارت جو تو آسمون الکترونیک، قطعه بچین!

برای مثال:

  • بررسی بازه مجاز ورودی سنسورها؛ مثلاً سنسور دما نباید مقدار غیرواقعی مانند منفی ۵۰۰ درجه گزارش کند.
  • بررسی CRC داده‌های مهم در حافظه، برای اطمینان از خراب‌نشدن اطلاعات.
  • کنترل صحت داده‌های دریافتی از ماژول‌های دیگر.
  • بررسی وضعیت تغذیه، سنسورها و ارتباطات در بازه‌های زمانی مشخص.

کنترل مسیر اجرای برنامه

در برخی سیستم‌ها باید بررسی شود که برنامه همیشه مسیر درست خود را طی می‌کند و وارد بخش‌های غیرمجاز یا غیرمنتظره نمی‌شود. این کار با روش‌هایی مانند Control Flow Monitoring انجام می‌شود.

استفاده از پریفرال‌های تخصصی سخت‌افزاری

در بسیاری از میکروکنترلرهای ایمن، واحدهای سخت‌افزاری ویژه‌ای برای کنترل خطا وجود دارد؛ مانند:

  • محدودکننده جریان در درایور موتور
  • واحد تشخیص خطای حافظه
  • واحد کنترل ولتاژ
  • تله‌های محاسباتی
  • کنترل‌کننده‌های مستقل برای نظارت بر عملکرد CPU

اجرای دوگانه یا Dual-Core Lockstep

در این روش، دو هسته پردازنده به‌طور هم‌زمان یک کد مشابه را اجرا می‌کنند و خروجی آن‌ها با یکدیگر مقایسه می‌شود.

اگر یکی از هسته‌ها خروجی متفاوتی تولید کند، سیستم متوجه بروز خطا می‌شود و می‌تواند وارد حالت امن شود یا ریست شود.

یکی از دلایل استفاده از دو هسته در برخی میکروکنترلرهای صنعتی و خودرویی، همین موضوع است.

4. مکانیزم‌های رایج سخت‌افزاری برای پیاده‌سازی ایمنی Watchdog 

Watchdog یک تایمر مستقل است که باید در بازه‌های زمانی مشخص توسط نرم‌افزار فعال یا تغذیه شود. اگر نرم‌افزار قفل کند، وارد حلقه بی‌نهایت شود یا نتواند در زمان مقرر Watchdog را ریست کند، Watchdog فرض می‌کند که سیستم دچار خطا شده و می‌تواند پردازنده یا کل سیستم را ریست کند.

مقایسه‌گر آنالوگ خارجی

برای مثال، می‌توان ولتاژ خروجی یک مدار را با یک ولتاژ مرجع مقایسه کرد. اگر ولتاژ از محدوده مجاز خارج شود، مدار سخت‌افزاری بدون وابستگی به نرم‌افزار واکنش نشان می‌دهد و خروجی را قطع می‌کند.

خروجی Force-Off یا مدار قطع اضطراری

در این روش، برای فعال‌ماندن یک خروجی مهم، مانند رله یا کنتاکتور، باید چند شرط به‌صورت هم‌زمان برقرار باشد. برای مثال، ممکن است فعال‌بودن یک رله نیازمند دریافت دو سیگنال مستقل از میکروکنترلر باشد. با قطع‌شدن هر یک از این سیگنال‌ها، خروجی غیرفعال می‌شود.

این روش کمک می‌کند خرابی یک مسیر به‌تنهایی باعث فعال‌ماندن خروجی خطرناک نشود.

5. تست و تایید (Verification & Validation)

در این مرحله فقط عملکرد عادی سیستم بررسی نمی‌شود.

هدف اصلی این است که مشخص شود سیستم در زمان خرابی، چگونه رفتار می‌کند و آیا می‌تواند وارد وضعیت ایمن شود یا خیر.

تزریق خطا یا Fault Injection

در این روش، عمداً برخی خطاها در سیستم ایجاد می‌شوند.

برای مثال:

  • قطع‌کردن یک سنسور
  • شبیه‌سازی اتصال کوتاه
  • تغییر یک بیت در حافظه
  • قطع ارتباط بین ماژول‌ها
  • ایجاد خطای تغذیه
  • ارسال داده نادرست به سیستم

سپس بررسی می‌شود که آیا سیستم در بازه زمانی مجاز، خطا را تشخیص می‌دهد و به وضعیت امن می‌رود یا خیر. برای مثال، ممکن است مشخص شود که سیستم باید حداکثر ظرف ۱۰۰ میلی‌ثانیه پس از تشخیص خطا، خروجی موتور را قطع کند.

مثال: پله‌برقی در مترو

فرض کنید سنسور سرعت یک پله‌برقی خراب شود.

بدون ایمنی عملکردی

اگر سنسور سرعت خراب شود و سیستم متوجه این خرابی نشود، پله‌برقی ممکن است با سرعت غیرمجاز حرکت کند و باعث زمین‌خوردن یا آسیب‌دیدن افراد شود.

با پیاده‌سازی ساده ایمنی عملکردی

  • از دو سنسور سرعت مستقل استفاده می‌شود.
  • سرعت هر دو سنسور با یکدیگر و با مقدار مجاز مقایسه می‌شود.
  • یک مدار سخت‌افزاری مستقل، وضعیت سرعت را بررسی می‌کند.
  • اگر سرعت بیش از حد مجاز باشد یا بین دو سنسور اختلاف غیرعادی وجود داشته باشد، مدار به‌صورت مستقیم کنتاکتور اصلی موتور را قطع می‌کند.

نتیجه این است که پله‌برقی متوقف می‌شود؛ توقف ممکن است باعث اختلال در سرویس شود، اما ادامه حرکت با سرعت خطرناک، احتمال آسیب‌دیدن افراد را افزایش می‌دهد.

مثال دیگری از تنوع یا Diversity

در پروازهای تجاری، معمولاً خلبان و کمک‌خلبان وعده‌های غذایی متفاوتی دریافت می‌کنند. دلیل این کار ساده است: اگر یکی از وعده‌های غذایی آلوده یا مسموم باشد، احتمال اینکه هر دو نفر هم‌زمان دچار مشکل شوند کاهش پیدا می‌کند.

همین مفهوم در طراحی سیستم‌های ایمن نیز استفاده می‌شود. دو مسیر افزونه نباید کاملاً مشابه باشند، زیرا ممکن است یک خطای مشترک هر دو مسیر را هم‌زمان از کار بیندازد.

پیاده‌سازی برای یک مهندس الکترونیک جوان 

اگر قصد دارید یک سیستم نسبتاً ساده با سطح ایمنی متوسط، مانند SIL 1 یا ASIL-B، طراحی کنید، حداقل باید به موارد زیر توجه داشته باشید:

  • استفاده از میکروکنترلر دارای ECC RAM یا ECC Flash برای تشخیص خطاهای حافظه
  • استفاده از Watchdog مستقل و ترجیحاً خارجی
  • داشتن دو کانال اندازه‌گیری مستقل یا یک روش قابل‌اعتماد برای تشخیص خطا
  • بررسی ولتاژ، دما، تغذیه و وضعیت ارتباطات
  • طراحی خروجی‌ها به‌صورت Fail-Safe
  • مستندسازی کامل خطرهای احتمالی و راهکارهای مقابله با آن‌ها
  • انجام تست‌های تزریق خطا و بررسی واکنش سیستم

تفاوت Functional Safety و Cybersecurity

ایمنی عملکردی با امنیت سایبری یکسان نیست.

Functional Safety با خطاهای تصادفی، خرابی قطعات، خطای نرم‌افزار و شرایط غیرعادی سروکار دارد. اما Cybersecurity به مقابله با حملات عمدی، نفوذ، دستکاری داده‌ها، خرابکاری نرم‌افزاری و دسترسی غیرمجاز مربوط می‌شود.

با این حال، در محصولات امروزی این دو موضوع به‌شدت به هم مرتبط هستند و باید هم‌زمان در نظر گرفته شوند.

بررسی استانداردهای عمومی ایمنی عملکردی

استانداردهای ایمنی عملکردی در صنایع مختلف، بسته به نوع کاربرد، سطح خطر و محیط عملیاتی متفاوت هستند.

جدول زیر دسته‌بندی کلی برخی از استانداردهای رایج جهانی را نشان می‌دهد:

صنعت استانداردهای اصلی کاربرد و توضیح مختصر
عمومی IEC 61508 استاندارد پایه ایمنی عملکردی برای تجهیزات الکتریکی، الکترونیکی و قابل‌برنامه‌ریزی
پزشکی IEC 60601، IEC 62304، ISO 14971 ایمنی تجهیزات الکترومدیسن، توسعه نرم‌افزار پزشکی و مدیریت ریسک
هوایی DO-178C، DO-254، ARP4754A استانداردهای نرم‌افزار، سخت‌افزار و توسعه سیستم در هواپیماهای تجاری و نظامی
هسته‌ای IEC 61513، IEEE 7-4.3.2، IEC 60880 سیستم‌های کنترل، ابزار دقیق و نرم‌افزارهای ایمنی نیروگاه هسته‌ای
خودرو ISO 26262 استاندارد ایمنی عملکردی خودرو با سطوح ASIL A تا ASIL D
ریلی EN 50126، EN 50128، EN 50129 سیستم‌های قطار، مترو، سیگنال‌دهی، کنترل درب و ترمز
صنایع فرایندی IEC 61511 سیستم‌های ابزار دقیق ایمن در نفت، گاز، پتروشیمی و صنایع فرایندی
ماشین‌آلات صنعتی ISO 13849، IEC 62061 ایمنی ماشین‌آلات، ربات‌های صنعتی، پرس‌ها و نوار نقاله‌ها
لوازم خانگی IEC 60730 بردهای کنترل لوازم خانگی مانند یخچال، ماشین لباسشویی و کولر

IEC 61508؛ استاندارد پایه و مادر

استاندارد IEC 61508 با عنوان کامل:

Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems

توسط کمیسیون بین‌المللی الکتروتکنیک یا IEC منتشر شده است.

هدف این استاندارد، ارائه یک چارچوب جامع و مستقل از فناوری برای طراحی، توسعه، تأیید و نگهداری سیستم‌های ایمنی مبتنی بر برق، الکترونیک و نرم‌افزار است.

شاید برای شما مفید باشد:
آموزش میکروکنترلر STM32 : راه‌اندازی RTC در CORTEXM4

هدف نهایی IEC 61508، کاهش ریسک به یک سطح قابل‌قبول است؛ بدون اینکه به یک صنعت یا فناوری خاص محدود باشد.

ساختار استاندارد IEC 61508

این استاندارد از هفت بخش اصلی تشکیل شده است:

بخش عنوان محتوای اصلی
Part 1 General Requirements چرخه عمر ایمنی، سطح‌های SIL و مدیریت ایمنی
Part 2 Requirements for E/E/PE Systems الزامات سخت‌افزاری، تشخیص خطا و تحمل خطا
Part 3 Software Requirements چرخه توسعه نرم‌افزار ایمن، کدنویسی و تست
Part 4 Definitions and Abbreviations واژه‌نامه و مفاهیم پایه
Part 5 Examples of Methods for Determining SIL روش‌های تعیین سطح SIL مانند نمودار ریسک و LOPA
Part 6 Guidelines on Part 2 and Part 3 راهنمای پیاده‌سازی بخش‌های سخت‌افزار و نرم‌افزار
Part 7 Overview of Techniques and Measures مجموعه روش‌ها و تکنیک‌های ایمنی مانند Watchdog، Voting و MISRA

برای درک عملی این استاندارد، معمولاً بخش‌های 1، 2 و 3 اهمیت بیشتری دارند؛ زیرا مفاهیم پایه، الزامات سخت‌افزار و روش‌های توسعه نرم‌افزار ایمن را پوشش می‌دهند.

مفهوم SIL یا سطح یکپارچگی ایمنی

SIL مخفف Safety Integrity Level است و نشان می‌دهد یک سیستم ایمنی تا چه اندازه باید قابل‌اعتماد و مقاوم باشد.

سطوح SIL از 1 تا 4 تعریف می‌شوند:

  • SIL 1: کمترین سطح سخت‌گیری
  • SIL 4: بالاترین سطح سخت‌گیری

هرچه سطح SIL بالاتر باشد، احتمال خرابی خطرناک سیستم باید کمتر باشد.

دو شاخص اصلی برای تعیین SIL وجود دارد:

PFH

PFH مخفف Probability of Failure per Hour است و برای سیستم‌هایی استفاده می‌شود که به‌صورت مداوم یا پرتکرار فعال هستند.

این شاخص، احتمال خرابی خطرناک در هر ساعت را نشان می‌دهد.

PFDavg

PFDavg مخفف Probability of Failure on Demand است و برای سیستم‌هایی کاربرد دارد که فقط هنگام وقوع یک شرایط خاص فعال می‌شوند.

برای مثال، یک سیستم خاموش‌کننده اضطراری ممکن است فقط هنگام بروز حادثه وارد عمل شود.

SIL PFH برای عملکرد پیوسته PFDavg برای عملکرد کم‌تقاضا مثال تقریبی
SIL 1 ≥10⁻⁶ تا <10⁻⁵ ≥10⁻² تا <10⁻¹ سنسور دما در یک کوره ساده صنعتی
SIL 2 ≥10⁻⁷ تا <10⁻⁶ ≥10⁻³ تا <10⁻² سیستم ترمز اضطراری یک جرثقیل
SIL 3 ≥10⁻⁸ تا <10⁻⁷ ≥10⁻⁴ تا <10⁻³ سیستم تشخیص نشت گاز در پالایشگاه
SIL 4 ≥10⁻⁹ تا <10⁻⁸ ≥10⁻⁵ تا <10⁻⁴ کاربردهای بسیار حساس مانند نیروگاه هسته‌ای

در عمل، رسیدن به SIL 4 با تجهیزات الکترونیکی معمولی بسیار دشوار و پرهزینه است. به همین دلیل، در چنین کاربردهایی معمولاً از ترکیب راهکارهای الکترونیکی، مکانیکی و افزونه استفاده می‌شود.

چرخه عمر ایمنی در IEC 61508

IEC 61508 یک چرخه عمر ایمنی جامع تعریف می‌کند که از تحلیل اولیه خطرها تا بهره‌برداری، نگهداری و خارج‌کردن تجهیز از سرویس را در بر می‌گیرد.

مراحل کلیدی آن عبارت‌اند از:

  • تحلیل خطر و ریسک
  • تعیین اهداف ایمنی
  • تعیین سطح SIL موردنیاز
  • طراحی معماری ایمن
  • توسعه سخت‌افزار و نرم‌افزار
  • انجام تست، Verification و Validation
  • نصب و راه‌اندازی
  • بهره‌برداری و نگهداری
  • خارج‌کردن ایمن سیستم از سرویس

الزامات مهم سخت‌افزاری

تحمل خطا یا Hardware Fault Tolerance

سیستم باید بتواند در برابر برخی خطاهای سخت‌افزاری مقاومت کند.

برای مثال، در یک سیستم SIL 3 ممکن است نیاز باشد که سیستم با خرابی یک قطعه، همچنان بتواند وارد وضعیت ایمن شود.

نمونه‌هایی از این روش عبارت‌اند از:

  • دو میکروکنترلر مستقل
  • دو سنسور مجزا
  • دو مسیر تغذیه
  • خروجی‌های افزونه

پوشش تشخیص خطا یا Diagnostic Coverage

Diagnostic Coverage نشان می‌دهد که سیستم چه درصدی از خطاهای احتمالی را می‌تواند تشخیص دهد.

هرچه سطح SIL بالاتر باشد، نیاز به پوشش تشخیص خطای بالاتری وجود دارد.

جلوگیری از خرابی با علت مشترک

گاهی ممکن است دو مسیر افزونه به‌دلیل یک عامل مشترک هم‌زمان از کار بیفتند.

برای مثال، افزایش بیش‌ازحد دما، نوسان شدید تغذیه یا نفوذ رطوبت ممکن است هر دو سنسور یا هر دو پردازنده را تحت‌تأثیر قرار دهد.

به این موضوع Common Cause Failure یا CCF گفته می‌شود.

در طراحی ایمن باید تلاش شود که مسیرهای افزونه تا حد ممکن از نظر فیزیکی، الکتریکی و فناوری مستقل باشند.

الزامات مهم نرم‌افزاری

در بخش نرم‌افزار، چند اصل اساسی مطرح می‌شود:

  • استفاده از زیرمجموعه‌های کنترل‌شده زبان‌های برنامه‌نویسی مانند C یا Ada
  • جلوگیری از استفاده از ساختارهای خطرناک مانند Recursion، اشاره‌گرهای کنترل‌نشده و کتابخانه‌های ناایمن
  • بررسی بازه ورودی‌ها
  • استفاده از CRC برای اطلاعات مهم
  • استفاده از Watchdog
  • کنترل مسیر اجرای برنامه
  • اجرای دوگانه یا Lockstep
  • تست پوشش کد
  • مستندسازی و قابلیت ردیابی نیازها تا کد و تست

در سیستم‌های با سطح ایمنی بالاتر، هر خط کد باید قابل‌ردیابی به یک نیاز مشخص باشد.

ارتباط IEC 61508 با دیگر صنایع

بسیاری از استانداردهای تخصصی صنایع مختلف، از مفاهیم IEC 61508 الهام گرفته‌اند.

برای مثال:

  • در خودرو، ISO 26262 از مفهوم ASIL استفاده می‌کند.
  • در صنایع ریلی، استانداردهای EN 50126، EN 50128 و EN 50129 به‌کار می‌روند.
  • در نفت، گاز و پتروشیمی، IEC 61511 کاربرد دارد.
  • در ماشین‌آلات صنعتی، ISO 13849 و IEC 62061 مورد استفاده قرار می‌گیرند.

✅نکته مهم

IEC 61508 یک استاندارد صرفاً مربوط به کیفیت نیست. این استاندارد بر رفتار سیستم در زمان خرابی تمرکز دارد. ممکن است یک سیستم از نظر کیفیت، خرابی‌های کمی داشته باشد؛ اما اگر در زمان خرابی باعث آسیب جدی به انسان، تجهیزات یا محیط زیست شود، نمی‌توان آن را یک سیستم ایمن دانست.

به زبان ساده:

ممکن است سیستم شما خراب شود، اما طراحی باید به‌گونه‌ای باشد که خرابی آن، خطر غیرقابل‌قبول ایجاد نکند.

جمع بندی

IEC 61508 یکی از مهم‌ترین استانداردهای ایمنی عملکردی برای کاربردهای صنعتی است.

این استاندارد بر دو مفهوم اساسی تکیه دارد:

  1. چرخه عمر ایمنی
  2. سطوح یکپارچگی ایمنی یا SIL

چرخه عمر ایمنی، تمام مراحل طراحی، توسعه، تست، بهره‌برداری و نگهداری یک سیستم را پوشش می‌دهد.

SIL نیز مشخص می‌کند که سیستم تا چه سطحی باید در برابر خرابی‌های خطرناک مقاوم باشد. امروزه بسیاری از سازندگان تراشه، میکروکنترلرهایی با قابلیت‌ها و مستندات مرتبط با SIL 2 و SIL 3 عرضه می‌کنند. این محصولات معمولاً دارای ویژگی‌هایی مانند ECC، Watchdog مستقل، واحدهای تشخیص خطا، Lockstep، کنترل حافظه و مکانیزم‌های نظارت داخلی هستند.

 استفاده از چنین میکروکنترلرهایی می‌تواند هزینه توسعه را کاهش دهد و پیاده‌سازی سیستم‌های ایمن را ساده‌تر کند؛ اما باید توجه داشت که داشتن یک MCU دارای قابلیت‌های ایمنی، به‌تنهایی به معنی ایمن‌بودن کل محصول نیست. طراح باید مستندات ایمنی تراشه، Safety Manual، محدودیت‌های کاربرد، روش‌های تست و الزامات پیاده‌سازی را به‌دقت بررسی کند. همچنین استفاده از ابزارهای نرم‌افزاری، کتابخانه‌های تأییدشده، تست‌های تزریق خطا و مستندسازی دقیق، نقش مهمی در رسیدن به یک طراحی قابل‌اعتماد دارند. 

در بخش‌های بعدی این مقاله، اصول عملی پیاده‌سازی ایمنی عملکردی، محصولات و راهکارهای سازندگان مختلف تراشه، اسناد پیشنهادی و برخی استانداردها و ضوابط ملی و بین‌المللی را بررسی خواهیم کرد.

ادامه دارد!

اطلاعات
24
0
1
اشتراک و حمایت
profile نویسنده: دایدالوس متخصص الکترونیک

دایدالوس هستم... عاشق خلاقیت و نو آوری.


ویراستار: حسین زنجانی زاده
مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله