سیستم‌های نهفته

مدرس: دکتر محسن انصاری، دکتر سپیده صفری گواهی‌نامه: رسمی دوزبانه
ترم: زمستان ۱۴۰۴ پیش‌نیاز: برنامه‌سازی پایتون
زمان ارائه: یکشنبه و سه‌شنبه ۱۶:۳۰ تا ۱۸:۰۰ محل برگزاری: کلاس مجازی

هدف کلی

سیستم نهفته یک سیستم کامپیوتری است که درون سیستم دیگری که معمولاً غیرکامپیوتری است تعبیه (نهفته) شده است و وظایفی از جمله مدیریت و کنترل سیستم بزرگتر را بر عهده دارد. آمارهای موجود از کاربرد کامپیوترها نشان می‌دهد که اکثریت کامپیوترها در دنیا (بیش از 98 درصد) به شکل نهفته هستند. همچنین سیستم‌های نهفته پایه‌ی مفاهیم مهمی در مهندسی کامپیوتر مانند سیستم‌های رایافیزیکی و اینترنت اشیاء هستند. هدف از این درس آشنایی با طراحی و تحلیل سیستم‌های نهفته است. همچنین در این درس دانشجویان با معماری، ساختار سخت‌افزاری، نرم‌افزار، و چگونگی برنامه‌نویسی برای سیستم‌های نهفته آشنا می‌شوند.

سرفصل‌ها

  • مقدمه
    • معرفی سیستم‌های نهفته، مشخصات سامانه‌های نهفته، اهمیت سامانه‌های نهفته، کاربردهای سامانه‌های نهفته، حسگرها و فعال‌سازها، سیستم‌های Reactive
  • میکروکنترلرها به‌عنوان عنصر کلیدی سامانه‌های نهفته
    • معرفی میکروکنترلر، دلایل اهمیت میکروکنترلر در سامانه‌های نهفته، معماری میکروکنترلر، تبدیل آنالوگ به دیجیتال، پورت‌ها، ارتباطات سریال در میکروکنترلرها، یک مثال از سیستم‌های کنترلی خودکار
  • مدیریت منابع و وظایف در میکروکنترلرها
    • پیاده‌سازی نرم‌افزاری یک سیستم نهفته، نقش حلقه‌های نامحدود، Remote Debugger، Emulator، نحوه‌ی برقراری ارتباط با میکروکنترلر از محیط پیرامون، حافظه در میکروکنترلرها
  • مروری بر بسترهای سخت‌افزاری رایج سیستم‌های نهفته
    • مروری بر بردهای سخت‌افزاری Arduino و Raspberry Pi به عنوان بسترهای سخت‌افزاری رایج کاربردهای نهفته، مقایسه و کاربردهای آن‌ها، مروری بر روش‌های توسعه‌ی نرم‌افزار برای این بسترها
  • برنامه‌نویسی مبتنی بر اتوماتا
    • مفهوم برنامه‌ریزی مبتنی بر اتوماتا، کاربرد برنامه‌ریزی مبتنی بر اتوماتا در توصیف سیستم‌های Reactive، ساختار سلسله‌مراتبی در برنامه‌ریزی مبتنی بر اتوماتا، مزایای برنامه‌ریزی مبتنی بر اتوماتا برای طراحی سیستم‌های نهفته، توصیف واکنش به‌صورت Mealy و Moore در برنامه‌ریزی مبتنی بر اتوماتا
  • زبان StateCharts
    • MoC در StateCharts، توصیف سلسله‌مراتبی در StateCharts، Or-Super-State و AND-Super-State، طراحی پیمانه‌ای در StateCharts، مثال از توصیف یک سیستم نهفته با StateCharts (سیستم منشی تلفنی)، Timerها در StateCharts، اهمیت Timerها در توصیف بی‌درنگی، توصیف رخداد، شرط و واکنش در StateCharts، مراحل شبیه‌سازی (اجرا) کد StateCharts
  • بی‌درنگی، انرژی مصرفی و قابلیت اطمینان در سیستم‌های نهفته
    • روش‌های سطح سیستم کاهش انرژی مصرفی در سیستم‌های نهفته، روش‌های افزونگی زمانی بهبود قابلیت اطمینان در سیستم‌های نهفته، اهمیت بی‌درنگی در سیستم‌های نهفته، مروری بر مصالحه میان بی‌درنگی، انرژی مصرفی و قابلیت اطمینان در سیستم‌های نهفته

ارزیابی

  • امتحان پایان‌ترم: ۶۰ درصد
  • پروژه و تمرین: ۴۰ درصد

منابع

  1. Peter Marwedel. Embedded System Design. 1st Edition, Springer, 2006.
  2. احمد کاردان و سید امیر اصغری. کاربرد سیستم‌های نهفته در اندازه‌گیری و کنترل، کیان رایانه‌ی سبز، ۱۳۸۷.
  3. Adrian McEwen and Hakim Cassimally. Designing the Internet of Things. 1st Edition, Wiley, 2013.
  4. Online documents on Raspberry Pi and Arduino.