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

Embedded Systems

شماره درس: ۴۰۴۶۲ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: معماری کامپیوتر هم‌نیاز: –

اهداف درس

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

ریز مواد

  1. مقدمه (۱ جلسه)
    • معرفی سیستم‌های نهفته، مشخصات سامانه‌های نهفته، اهمیت سامانه‌های نهفته، کاربردهای سامانه‌های نهفته، حسگرها و فعال‌سازها، سیستم‌های Reactive
  2. میکروکنترلرها به‌عنوان عنصر کلیدی سامانه‌های نهفته (۲ جلسه)
    • معرفی میکروکنترلر، دلایل اهمیت میکروکنترلر در سامانه‌های نهفته، معماری میکروکنترلر، تبدیل آنالوگ به دیجیتال، پورت‌ها، ارتباطات سریال در میکروکنترلرها، یک مثال از سیستم‌های کنترلی خودکار
  3. مدیریت منابع و وظایف در میکروکنترلرها (۳ جلسه)
    • پیاده‌سازی نرم‌افزاری یک سیستم نهفته، نقش حلقه‌های نامحدود، Remote Debugger، Emulator، نحوه‌ی برقراری ارتباط با میکروکنترلر از محیط پیرامون، حافظه در میکروکنترلرها
  4. مروری بر بسترهای سخت‌افزاری رایج سیستم‌های نهفته (۶ جلسه)
    • مروری بر بردهای سخت‌افزاری Arduino و Raspberry Pi به عنوان بسترهای سخت‌افزاری رایج کاربردهای نهفته، مقایسه و کاربردهای آن‌ها، مروری بر روش‌های توسعه‌ی نرم‌افزار برای این بسترها
  5. برنامه‌نویسی مبتنی بر اتوماتا (۴ جلسه)
    • مفهوم برنامه‌ریزی مبتنی بر اتوماتا، کاربرد برنامه‌ریزی مبتنی بر اتوماتا در توصیف سیستم‌های Reactive، ساختار سلسله‌مراتبی در برنامه‌ریزی مبتنی بر اتوماتا، مزایای برنامه‌ریزی مبتنی بر اتوماتا برای طراحی سیستم‌های نهفته، توصیف واکنش به‌صورت Mealy و Moore در برنامه‌ریزی مبتنی بر اتوماتا
  6. زبان StateCharts (۳ جلسه)
    • MoC در StateCharts، توصیف سلسله‌مراتبی در StateCharts، Or-Super-State و AND-Super-State، طراحی پیمانه‌ای در StateCharts، مثال از توصیف یک سیستم نهفته با StateCharts (سیستم منشی تلفنی)، Timerها در StateCharts، اهمیت Timerها در توصیف بی‌درنگی، توصیف رخداد، شرط و واکنش در StateCharts، مراحل شبیه‌سازی (اجرا) کد StateCharts
  7. بی‌درنگی، انرژی مصرفی و قابلیت اطمینان در سیستم‌های نهفته (۴ جلسه)
    • روش‌های سطح سیستم کاهش انرژی مصرفی در سیستم‌های نهفته، روش‌های افزونگی زمانی بهبود قابلیت اطمینان در سیستم‌های نهفته، اهمیت بی‌درنگی در سیستم‌های نهفته، مروری بر مصالحه میان بی‌درنگی، انرژی مصرفی و قابلیت اطمینان در سیستم‌های نهفته
  8. معرفی اینترنت اشیا و نقش تعیین‌کننده‌ی سامانه‌های نهفته در شکل‌گیری آن (۷ جلسه)
    • بررسی تعاریف ارائه‌شده برای اینترنت اشیاء، تفاوت اینترنت اشیا با سامانه‌های سایبرفیزیکی و شبکه‌های حسگر بی‌سیم، بررسی تاریخچه و خواستگاه اینترنت اشیا، کاربردها در دنیای نوین، معماری‌های اینترنت اشیا و تبیین جایگاه هر کدام از لایه‌ها با تأکید بر لایه‌ی شبکه، نقش و اهمیت ارتباطات در سامانه‌های اینترنت اشیا، معرفی ارتباطات D2D و چالش‌های پیرامون آن، اهمیت استفاده مناسب از پهنای باند در اینترنت اشیا، معرفی NBIOT، معرفی Flashlinq، معرفی و بررسی جایگاه نسل پنجم ارتباطات (5G) در ارتباطات اینترنت اشیا، بررسی چالش‌های اینترنت اشیا، چالش انرژی و توان مصرفی در گره‌های موجود در زیرساخت، اشاره به مباحث مطرح در امنیت و حریم خصوصی در اینترنت اشیا، روش‌های ارزیابی انرژی مصرفی در کاربردهای اینترنت اشیاء

ارزیابی

  • تمرین‌ها: ۳ نمره
  • پروژه: ۲ نمره
  • آزمون‌‌های میان‌ترم و پایان‌ترم: ۱۳ نمره
  • آزمونک‌ها: ۲ نمره‌ی تشویقی

مراجع

  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.