ریزپردازنده ها

ریزپردازنده‌ها

نمیسال تحصیلی

معرفی و سرفصل‌ها

معرفی و اهداف درس

این درس دانش پایدای ریزپردازنده و میکروکنترلر را برای دانشجویان فراهم می‌آورد، به‌گونه‌ای که آن‌ها را قادر به طراحی سیستم‌های مبتنی بر ریزپردازنده و میکروکنترلر خواهد ساخت. بخش قابل توجهی از این درس بر ریزپردازنده 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- نکات مهم در طراحی سخت افزار مدارات مبتنی بر ریز پردازنده (اختیاری) شامل مباحث نويز و تأثیر آن بر سیستمهای دیجیتال، رعایت سطوح ولتاژ و جریان در اتصال قطعات از خانواده و تکنولوژی های مختلف، اثر انعکاس، اثر ظرفیت خازنی در ورودی پایه‌های تراشه‌ها، تأخیر انتشار، دلایل استفاده از بافر و مانند آن (اختیاری)

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

جلسه اول
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه دوم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه سوم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه چهارم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه پنجم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه ششم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه هفتم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه هشتم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه نهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه دهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه یازدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه دوازدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه سیزدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه چهاردهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه پانزدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه شانزدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه هفدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه هجدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه نوزدهم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:
جلسه بیستم
مدت‌زمان کلاس: یک ساعت و 30 دقیقه
سرفصل مطالب:

منابع درس

میکروکنترلرهای AVR

نویسنده: علی کاهه

ناشر: نص

میکرو کنترلرهای AVR

نویسنده: حسن سید رضی

ناشر: دانشگاهی کیان

مرجع کامل میکروکنترلرهای AVR

نویسندگان: فرزاد مظاهریان، محمدمهدی پرتوی‌فر، یوسف بینالو

ناشر: نص

میکروکنترلرهای AVR

با پروژه‌های 100% عملی

نویسنده: جابر الوندی

ناشر: نص

میکروکنترلرهای AVR

برنامه‌نویسی اسمبلی و C

نویسندگان: محمدعلی مزیدی، سپهر نعیمی، سرمد نعیمی

مترجم: آناهیتا نعیمی

ناشر: نص

تاریخ‌های مهم

کلاس جبرانی 1
تاریخ: پنج‌شنبه (99/01/28)
ساعت: 9:45 – 8:00
کلاس جبرانی 2
تاریخ: پنج‌شنبه (99/01/28)
ساعت: 15:45 – 14:00
کلاس جبرانی 3
تاریخ: پنج‌شنبه (99/02/04)
ساعت: 9:45 – 8:00
کلاس جبرانی 4
تاریخ: پنج‌شنبه (99/02/04)
ساعت: 15:45 – 14:00
امتحان میان‌ترم
تاریخ: جمعه (99/03/23)
ساعت: 9:30 صبح
سرفصل امتحان: فصل‌های اول تا سوم
امتحان پایان‌ترم
تاریخ: یک‌شنبه (99/04/08)
ساعت: 10:30 صبح
سرفصل امتحان: فصل‌های چهارم تا نهم
امتحان میان‌ترم 1
تاریخ: چهارشنبه (99/08/21)
ساعت: 9:30 صبح
محل برگزاری: اتوماسیون کلاسهای مجازی و آزمون آنلاین
سرفصل امتحان: فصل‌های اول تا سوم
شیوه برگزاری: تستی و پاسخ کوتاه
مشاهده شیوه نامه برگزاری آزمون
امتحان میان‌ترم 2
تاریخ: شنبه (99/10/13)
ساعت: 8:00 صبح
محل برگزاری: اتوماسیون کلاسهای مجازی
سرفصل امتحان: فصل‌های چهارم تا ششم (جلسه 7 تا 22)
شیوه برگزاری: تشریحی
مشاهده شیوه نامه برگزاری آزمون
امتحان میان‌ترم
تاریخ:
ساعت:
محل برگزاری:
سرفصل امتحان:
شیوه برگزاری:
مشاهده شیوه نامه برگزاری آزمون

فیلم‌های آموزشی