معرفی و سرفصلها
معرفی و اهداف درس
این درس دانش پایدای ریزپردازنده و میکروکنترلر را برای دانشجویان فراهم میآورد، بهگونهای که آنها را قادر به طراحی سیستمهای مبتنی بر ریزپردازنده و میکروکنترلر خواهد ساخت. بخش قابل توجهی از این درس بر ریزپردازنده 88/8086 بنا نهاده شده است. یادگیری این ریزپردازنده، در عین سادگی ساختار نسبت به پردازندههای بسیار پیشرفتهتر امروزی، اطلاعات پایهای مهمی از مفاهیم طراحی ریزپردازنده را به دانشجویان منتقل میکند و آنها را برای یادگیری ساختارهای پیچیدهتر آماده میسازد. در عین حال در این درس مباحث مختصری از ریزپردازنده پیشرفتهتر پنتیوم مانند ثباتها، روشهای آدرسدهی و مفاهیم عملیات حالت حقیقی و حفاظتشده برای نشان دادن مختصری از تفاوتهای آن با ریزپردازنده 8086 (اختیاری) معرفی خواهد شد. بخش دیگری از این درس به معرفی میکروکنترلرهای خانواده AVR اختصاص یافته است تا بدین ترتیب دانشجویان با امکانات تعبیه شده در میکروکنترلرها و مفاهيم مطرح در سیستم های نهتنه شامل اجتماع انواع حافظهها، درگاههای موازی قابل برنامهریزی، انواع وقفههای سختافزاری و نرمافزاری و اولویتدهی آنها، زمانسنج/شمارنده برای استفاده در شمارش وقایع، زمانگیری و تولید سیگنالهای از نوع PWM، مقایسهکننده آنالوگ، مبدل آنالوگ به دیجیتال و بعضی از انواع پروتکلهای ارتباط سریال آشنا شوند. بهمنظور آشنایی با زبان اسمبلی، در این در ضمن آشنایی با مفاهیم اصلی زبان اسمبلی، دستورات اسمبلی ریزپردازنده 8086 و خانواده AVR مطرح گردیده و اسمبلرها و محیط های توسعه مجتمع (IDE) برای آنها معرفی خواهند شد.
نتایج درس
دانشجویانی که این درس را با موفقیت پشت سر بگذارند با مفاهیم بنیادی در طراحی و پیاده سازی سیستم های مبتنی بر ریزپردازنده و میکروکنترلر آشنا شده و بینش و توانایی مناسبی در موارد زير کسب خواهند کرد:
1- توصیف معماری و سازمان یک ریزپردازنده
۲- نوشتن برنامه های اسمبلی یا ساختار مناسب، با توضیحات کافی و قابل فهم
3- فهم روش های اتصال و زمانبندی انواع حافظه های اصلی و ورودی/خروجی ها به ریزپردازنده
4- فهم روشهای دستدهی بین ریزپردازنده با ورودی/خروجی ها
5- استفاده از اجزای میکروکنترلرها (زمان سنج/شمارنده، مبدل آنالوگ به دیجیتال، روش های مختلف ارتباط سریال و ...) در کاربردهای سیستمهای نهفته
6- استفاده از محیطهای توسعه مجتمع (IDE) به عنوان ابزارهای نرمافزاری برای توسعه سیستمهای مبتنی بر ریزپردازنده و میکروکنترلر در کاربردهای مختلف
فهرست مطالب درسی
1- مروری بر تاریخچه رایانهها و ریزپردازندرها، انواع ریزپردازندهها، انواع روش های بستهبندی تراشه های ریز پردازنده (اختیاری)
2- مفاهیم پایه در سیستمهای رایانهای شامل: نمودار بلوکی یک ریزپردازنده و معرفی اجمالی اجزای آن، واکشی و اجرای دستور، خطوط گذرگاه سه گانه (گذرگاه آدرس، داده و کنترل)، واحد پردازشگر مرکزی حافظه و I/O، دستورالعملها، کدهای عملیاتی و عملوند و معرفی انواع چرخههای گذرگاه (bus cycles)
3- ساختار واحد پردازشگر مرکزی ریزپردازنده 8088/8086، ساختار واحد پردازشگر مرکزی88/8086، واکشی و اجرای دستورالعمل، معرفی ثباتها، حافظه قسمتبندی شده، آدرسهای فیزیکی و منطقی.
4- معرفی اجمالی روشهای آدرس دهی و دستورالعمل های 8088/8086
5- آشنایی اجمالی با اجزا و قابلیتهای ریز پردازنده پنتیوم، عملیات حالت حقیقی و حفاظت شده، روشهای آدرسدهی در پنتیوم (اختیاری)
6- آشنایی با برنامهنویسی به زبان اسمبلی: معرفی شبهکدها، آموزش نصب و کار در محیط اسمبلر NASM و نوشتن چند برنامه اسمبلی به زبان ریزپردازنده 8088/8086
7- طراحی واحد پردازشگر مرکزی 8088/8086 شامل: ساختار سیستم های سه گذرگاهه، زمانبندی انواع سیکلهای گذرگاه، معرفی پایههای 8088/8086 در حالت کمینه، طراحی سختافزار پایه مبتنی بر ریزپردازنده 8088/8086 شامل معرفی و تولید سیگنالهای بازنشانی، پالس ساعت و Ready
8- حافظه در سیستم های مبتنی بر ریزپردازنده: تعریف حافظه و مفاهیم پایداری آن، طبقه بندی حافظهها، حافظه با دسترسی ترتیبی و تصادفی، حافظههای ایستا، حافظههای پویا، حافظههای فقط خواندنی حافظه های EPROM و EEPROM، حافظههای خواندنی - نوشتنی، حافظه فلش (اختیاری)، تعیین پارامترهای زمانبندی خواندن/نوشتن در حافظه در حالت کمينه ريزپردازنده 8088/8086، تهیه نقشه حافظه، چگونگی ارتباط SRAM و ROM با ریزپردازنده 8088/8086 و تکنیکهای رمزگشایی کامل و جزئي آدرس برای دسترسی به حافظهها
9- روش های پایه ورودی/خروجی (I/O): زمانبندی ارتباط ریزپردازنده با درگاههای ورودی/خروجی، طراحی درگاه ورودی و خروجی موازی، I/O نگاشته شده در حافظه، I/O برنامهریزی شده و روش سرکشی، I/O وقفهگرا، انواع وقفه، زمانبندی وقفه خارجی، اولویتدهی وقفهها، زمان پاسخگویی به وقفه، بردار وقفه و روان سرویسدهی وقفه، معرفی اجمالی دسترسی مستقیم به حافظه (DMA) (اختیاری)، طراحی کیبورد سطری و ماتریسی، طراحی مدار اتصال نمایشدهندههای ۷ قطعهای، رله و LED به یک سیستم مبتنی بر ریزپردازنده، معرفی اجمالی ارتباط سریال همگام و ناهمگام
10- معرفی اجمالی میکروکنترلرها (مثل میکروکنترلر ATMega16 از خانواده AVR با یک میکروکنترلر از خانواده ARM یا هر میکروکنترلر مناسب دیگر) شامل معرفی معماری و هسته مرکزی میکروکنترلر شامل: معرفي پايهها، انواع منابع بازنشانی، انواع منابع ساعت، واکشی و اجرای دستورالعمل ها، حالتهای آدرسدهی و معرفی اجمالی دستورالعمل ها، فضای حافظه و انواع حافظه داخلی، مجموعه ثباتها، ثبات وضعیت، تغذیه میکروکنترلر، معرفی بیتهای فیوز.
11- آشنایی با واحدهای داخلی میکروکنترلر: آشنایی با حالتهای صرفهجویی در مصرف توان، وقفه های داخلی و خارجی، زمانسنج/شمارنده، زمانسنج نگهبان، مقایسهکننده آنالوگ، مبدل آنالوگ به دیجیتال، معرفی اجمالی واسط ارتباط سریال USART، معرفی اجمالی واسطهای سریال SPI (اختیاری) و TWI (اختیاری)
12- معرفی اجمالی یک محیط IDE برای توسعه برنامه برای میکروکنترلر و نوشتن برنامه به زبان اسمبلی و یک زبان سطح بالا (مثل Atmel Studio و CodeVision) (معرفی توسط استاد یا مطالعه توسط دانشجویان)
13- نکات مهم در طراحی سخت افزار مدارات مبتنی بر ریز پردازنده (اختیاری) شامل مباحث نويز و تأثیر آن بر سیستمهای دیجیتال، رعایت سطوح ولتاژ و جریان در اتصال قطعات از خانواده و تکنولوژی های مختلف، اثر انعکاس، اثر ظرفیت خازنی در ورودی پایههای تراشهها، تأخیر انتشار، دلایل استفاده از بافر و مانند آن (اختیاری)
برنامه زمانبندی کلاس
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
سرفصل مطالب:
منابع درس
میکروکنترلرهای AVR
نویسنده: علی کاهه
ناشر: نص
میکرو کنترلرهای AVR
نویسنده: حسن سید رضی
ناشر: دانشگاهی کیان
مرجع کامل میکروکنترلرهای AVR
نویسندگان: فرزاد مظاهریان، محمدمهدی پرتویفر، یوسف بینالو
ناشر: نص
میکروکنترلرهای AVR
با پروژههای 100% عملی
نویسنده: جابر الوندی
ناشر: نص
میکروکنترلرهای AVR
برنامهنویسی اسمبلی و C
نویسندگان: محمدعلی مزیدی، سپهر نعیمی، سرمد نعیمی
مترجم: آناهیتا نعیمی
ناشر: نص
تکلیفها
تاریخهای مهم
ساعت: 9:45 – 8:00
ساعت: 15:45 – 14:00
ساعت: 9:45 – 8:00
ساعت: 15:45 – 14:00
ساعت: 9:30 صبح
سرفصل امتحان: فصلهای اول تا سوم
ساعت: 10:30 صبح
سرفصل امتحان: فصلهای چهارم تا نهم
ساعت: 9:30 صبح
محل برگزاری: اتوماسیون کلاسهای مجازی و آزمون آنلاین
سرفصل امتحان: فصلهای اول تا سوم
شیوه برگزاری: تستی و پاسخ کوتاه
مشاهده شیوه نامه برگزاری آزمون
ساعت: 8:00 صبح
محل برگزاری: اتوماسیون کلاسهای مجازی
سرفصل امتحان: فصلهای چهارم تا ششم (جلسه 7 تا 22)
شیوه برگزاری: تشریحی
مشاهده شیوه نامه برگزاری آزمون