این جزوه 130 صفحه ای پی دی اف شامل قسمت های اصلی زیر می باشد
مروری کلی بر میکروکنترلرهای خانواده AVR
آموزش نرم افزار BASCOM
پروژه های مبتنی بر خانواده AVR
جزوه آزمایشگاهی میکرکنترلر AVR
این جزوه 130 صفحه ای پی دی اف شامل قسمت های اصلی زیر می باشد
مروری کلی بر میکروکنترلرهای خانواده AVR
آموزش نرم افزار BASCOM
پروژه های مبتنی بر خانواده AVR
I2C یا (IIC (Inter integrated circuits یک نوع گذرگاه رابط است که در بسیاری از مدارهای مجتمع از جمله سنسورها، حافظه ها و rtc ها جهت تبادل داده پیاده سازی شده است. بسیاری این رابط را رابط دو سیمه یا (TWI(Two Wire Interfaceمی نامند.در میکرو کنترلر AVR دو پایه با نامهای SCK و SDA به این گذرگاه اختصاص داده شده است. پایه( SCK(serial clock برای ایجاد پالس جهت همزمانی ارتباط بکار می رود و پایه (SDA(serial data جهت ارسال و دریافت داده بکار می رود. پایه های مذکور از لحاظ الکتریکی کلکتور باز هستند.یعنی برای استفاده از آنها باید با یک مقاومت ۴٫۷ کیلو اهمی به مثبت مدار متصل شوند. اگر چندین دستگاه توسط دو خط مربوط به i2c به یکدیگر متصل شوند هر خط تنها وقتی یک می ماند که هیچکدام از دستگاه های متصل، آن را یک نکرده باشند. هنگامی که خط در حالت بیکاری باشد دو پایه i2c در حالت یک قرار می گیرند. در avr تا ۱۲۰ دستگاه مختلف می توانند از طریق رابط i2c به آن متصل شوند که به هر کدام از این اتصال ها یک گره میگویند. هرکدام از این دستگاه ها می توانند یا فرمانده باشند و یا فرمانبر.دستگاه فرمانده گره ای است گه وظیفه تولید پالس ساعت و آغاز و پایان تبادل داده را بر روی خط به عهده دارد. گره فرمانبر دریافت کننده پالس ساعت است و توسط فرمانده آدرسدهی می شود.هر فرمانبر و فرمانده می توانند در دو حالت دریافت کننده یا ارسال کننده عمل کنند.یعنی چهار حالت پیش می آید که عبارتند از: فرمانده ارسال کننده، فرمانده دریافت کننده، فرمانبر ارسال کننده، فرمانبر دریافت کننده.
i2c یک پروتکل همزمان است و انتقال هر بیت بر روی خط داده بوسیله یک لبه پایین رونده خط ساعت همزمان می شود.بر اساس قوانین i2c تنها در زمانی می توان سطح منطقی خط داده را تغییر داد که سطح منطقی خط ساعت در حالت صفر باشد. البته حالتهای آغاز و پایان از این قانون مستثنی هستند.
I2C یک پروتکل ارتباط محور است یعنی هر فرایند انتقال داده با یک حالت آغاز شروع شده و با یک حالت پایان خاتمه می یابد. توجه داشته باشید که ایجاد حالت آغاز و پایان تنها توسط گره فرمانده انجام می شود. به دلیل اینکه ارسال داده و ایجاد حالت های آغاز و پایان، همه بر روی خط داده انجام می شوند پس باید مابین آنها تفاوت هایی باشد. حالت های آغاز و پایان تنها در زمان بالا بودن خط ساعت ایجاد می شوند.حالت آغاز زمانی ایجاد می شود که در زمان بالا بودن خط ساعت یک لبه پایین رونده در خط داده ایجاد شود و حالت پایان هنگامی ایجاد می شود که در هنگام بالا بودن خط ساعت یک لبه بالا رونده در خط داده ایجاد شود.
قضیه از این قرار است که هنگامی که فرمانده بخواهد داده ای را به فرمانبر مشخصی ارسال کند ابتدا حالت آغاز را بر روی خط ایجاد میکند و پس از آن آدرس فرمانبر را بر روی خط داده قرار می دهد. در صورتیکه فرمانبر آدرس خود را دریافت کند بیت Ack را بر روی خط داده قرار می دهد. بیت ACK بیتی است که جهت تایید صحت دریافت آدرس و یا داده مابین فرمانده و فرمانبر مبادله می شود و مقدار آن صفر است.در مقابل بیت NACK وجود دارد که عدم صحت دریافت داده یا آدرس و یا عدم آمادگی برای تبادل را به اطلاع طرفین می رساند و مقدار آن یک است.مثلا فرمانده برای ارسال آدرس ۸ پالس ساعت ایجاد می کند و برای اطلاع از تایید دریافت آدرس یک پالس اضافی نیز تولید می کند(یعنی ۹ پالس) در این صورت در پالس نهم اگر فرمانبری آدرس خود را دریافت کرده باشد خط را صفر(acknowledge=ACK) می کند و در غیر این صورت خط در حالت یک(not acknowledge=NACK) می ماند. اگر فرمانده بیت ack را بر روی خط داده ببیند داده هشت بیتی را برای ارسال به فرمانبر با ایجاد ۸پالس ساعت بر روی خط قرار می دهد و برای اطمینان از اینکه فرمانبر داده را دریافت کرده و آماده دریافت داده بعدی هست با ایجاد پالس نهم بیت ACK یا NACK را از فرمانبر در یافت می کند.که اگر ACK دریافت شود به ارسال داده بعدی می پردازد و اگر NACK دریافت شود با ایجاد حالت پایان به ارتباط خاتمه می دهد. پس ساختار بسته داده و آدر س در I2C نه بیتی است که هشت بیت برای داده یا آدرس و یک بیت برای تایید یا عدم تایید دریافت(ACK/NACK) می باشد.
بسته آدرس در I2C که برای آدرس دهی فرمانبر ها استفاده می شود هشت بیتی است که بیت A0 از این ۸ بیت کنترل کننده عملیات خواندن یا نوشتن است. با ۷ بیت باقیمانده می توان تا حد اکثر ۱۲۸ فرمانبر مختلف را آدرس دهی کرد. با توجه به اینکه آدرس ۰۰۰۰۰۰۰ به فراخوانی عمومی اختصاص دارد و نیز آدرس هایی به صورت ۱۱۱XXX در AVR قبلا رزرو شده اند و قابل دسترسی نیستند پس در عمل در مجموع می توان ۱۱۹ فرمانبر مختلف را بر روی یک گذرگاه قرار داد.توجه داشته باشید که در I2C ابتدا بیت پرارزشتر ارسال می گردد. شروع ارتباط همیشه بوسیله دستگاه فرمانده و با ایجاد حالت آغاز بر روی خط انجام می شود. اگر بر روی یک خط چندین فرمانده وجود داشته باشد تنها یک فرمانده می تواند خط را در اختیار بگیرد. اگر دو یا چند فرمانده به طور همزمان حالت آغاز را بر روی خط ایجاد کنند طبق فرایندی به نام داوری(Arbitration) به یکی از فرمانده ها اولویت داده می شود و مابقی فرمانده ها تازمانی که خط اشغال باشد منتظر می مانند. تا زمانی که فرمانده غالب حالت پایان را ایجاد نکند خط اشغال محسوب می شود. اگر فرمانده غالب بخواهد بدون آزاد کردن خط فرمانبر جدیدی را آدرس دهی کند می تواند بدون ایجاد حالت پایان حالت آغاز دوباره ای را ایجاد کند. اگر یک فرمانبر نتواند با سرعتی که فرمانروا پالس ساعت را فراهم می کند اطلاعات را پردازش و آماده کند پس از دریافت و ارسال هر بیت از اطلاعات، فرمانبر می تواند خط scl را صفر کند. در این صورت فرمانروا قادر نخواهد بود که خط scl را یک کند(چون دستگاه ها باهم Wire-and شده اند). بنابراین فرمانروا مطلع می شود که فرمانبر به زمان بیشتری برای پردازش اطلاعات نیاز دارد. به این شیوه بسط دادن زمان یا Clock Stretching گفته می شود.
فهرست مطالب:
تاریخچه
منافع طراح
منافع تولید کننده
خلاصه ای بر I2C و مشخصات کلی آن
مقدمه
بحث های مطرح در حالت چند Master بودن
Arbitration
Synchronization
Bus Hardware
سرعت داده ها بر روی باس
مشخصات کلی
رنج فرکانسی
رنج تغذیه
رنج دمایی
پهنای آدرس سخت افزاری
پکیج های ارائه شده
پروتکل انتقال داده در I2C
انتقال بیت
تعیین اعتبار یک بیت
وضعیت های Start و Stop
تشخیص وضعیتهای Start و Stop
تولید پالس ساعت و مسئله Arbitration
استفاده از همزمان سازی پالس ساعت به عنوان Handshake
آدرس دهی به صورت 7 بیتی
ترکیب های مختلف برای آدرس دهی
General Call Address
بایت Start
تحولات در I2C
توسعه خصوصیات باس
Fast-Mode
Hs-Mode
فرمت ارسال داده های سریال در Hs-Mode
و...
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 31
معماری میکروکنترلرهای AVR
میکروکنترلرهای AVR توسط شرکت Atmel طراحی و ساخته شدهاند. اولین قطعات از میکروکنترلرهای AVR در سال 1993 روانه بازار شد و بهزودی جای خود را در قلب طراحان مدارات میکروکنترلری باز کرد. نخستین قطعات که در این خانواده معرفی شدند، میکروکنترلرهای AVR در سری Sxxxx90AT بودند. ولی از آنجاییکه این قطعات نسبت به سایر میکروکنترلرهای AVR که بعداً در سری Mega ارائه شدند امکانات کمتری دارند، بهندرت از آنها استفاده میشود. شرکت Atmel همزمان با ارائه میکروکنترلرهای AVR در سری Mega اقدام به طراحی و تولید میکروکنترلرهای AVR در سری Tiny کرده است. این قطعات در بستهبندیهای کوچکتر نسبت به نمونههای قبلی و با امکانات فوقالعاده (امکاناتی که کمتر از سری Mega و حدوداً برابر با سری Sxxxx90 هستند) در ولتاژها و جریانهای مصرفی کم ارائه شدهاند و زمینه را برای طراحی مداراتی با توان مصرف فوقالعاده کم و کارایی بسیار بالا فراهم کردهاند.
هدف ما در این مقاله ارائه مباحث مربوط به سری Mega است که در این سری بهطور خاص روی قطعه 16ATMega تأکید بیشتری خواهیم داشت. دلیل انتخاب این قطعه وجود بسیاری از قابلیتهای تمامی سری Mega و پایه بودن آن است.
در این بخش معماری داخلی میکروکنترلرهای AVR مورد بررسی قرار میگیرد.
میکروکنترلرهای AVR دارای درگاه داده 8 بیتی و از نوع CMOS و با ساختار Risc هستند و در ساخت آنها معماری نوع Harward بهکار برده شده است. در این نوع معماری از باسهای سهگانه مجزا (آدرس ـ داده ـ کنترل) برای حافظه برنامه استفاده میشود. کاربرد ساختار Risc باعث میشد. که این قطعات دارای خصوصیات منحصربهفردی باشند، از آنجمله میتوان به سرعت بالا، سازگاری با کامپایلرهای زبانهای سطح بالا چون c و امکانات فراوان اشاره کرد. ساختار Risc برای اولینبار در سال 1970 میلادی برای معماری پردازشگرها معرفی شد. پیش از این، معماری Cisc متداولتر بوده است. برای اینکه تفاوتهای بین Cisc و Risc مشخص شود، در ادامه تفاوتهای کلی این دو نوع معماری بررسی میشود.
آنچه که در طراحی پردازشگرها از اهمیت ویژهای برخوردار است سرعت آنهاست. هرکدام از ساختارهای Cisc و Risc خط مشی متفاوتی را برای رسیدن به این هدف ارائه میکنند و طراحان پردازشگر نیز یکی از آنها را به دیگری ترجیح میدهند.
برخی از مزایای ساختار Cisc مانند استفاده از ریزدستورالعملهای سختافزاری، مجموعه دستورالعملهای زیاد و سطح بالا دلیل محکمی برای شرکتهای چون اینتل و موتورولا بود تا در نمونههای خود مانند پردازندههای سری 96x80 و میکروکنترلرهای سری 8051 و 96x80 و سری k68 از این نوع معماری بهره ببرند. استفاده از
پروژه آموزش راه اندازی ال سی دی گرافیکی GLCD
محتویات :
سورس بسکام
فایل بروتئوس (PCB)
فایل توضیحات