سفارش تبلیغ
تبلیغات در پارسی بلاگ

مدرسه مجازی

نظر

 

پروژه طراحی میکروکنترلر AVR جهت اسکن چکیده : قبل از ساخت میکروکنترلرها ، برای ساخت هر وسیله یا ابزاری برای اندازه گیری های مختلف مثل دما ، ولتاژ ، جریان ، فرکانس و ... از سخت افزار در سطح وسیعی استفاده می شد . ولی با ساخت و اختراع میکروکنترلرها انجام این نوع اندازه گیری ها آسانتر شد . هدف از انجام این پروژه به دست آوردن سخت افزاری است که گوشه ای از قابلیت های یک میکروکنترلر از جمله دقت و سرعت را نشان می دهد . در این پروژه سعی شده با استفاده از میکروکنترلر AVR  و صفحه کلید 4×4 تمام کلیدها اسکن می شود. این پروژه شامل دو قسمت : 1) نرم افزار ، 2) سخت افزار می باشد . وجود میکروکنترلر باعث شده است مقدار زیادی از سخت افزار را که قبلا مورد استفاده قرار می گرفت حذف نماید . در ادامه به توضیح این دو بخش و نحوه عملکرد AVR پرداخته شده است . تاریخچه و مقدمه : ریزپردازنده وسیله ای است که می توان با دادن فرمان آن را به عملیات مختلف واداشت . یعنی یک کنترل کننده قابل برنامه ریزی است . همه ریزپردازنده ها سه عمل اساسی یکسانی را انجام می دهند : انتقال اطلاعات ، حساب و منطق ، تصمیم گیری ، اینها سه کار یکسان هستند که به وسیله هر ریزپردازنده ، کامپیوتر کوچک یا کامپیوتر مرکزی انجام می شود . اولین ریزپردازنده تک تراشه ای ، ریزپردازنده Intel 4004 بود که توانست دو عدد 4 بیتی دودویی را جمع کند و عملیات متعدد دیگری را انجام دهد . 4004 با معیارهای امروزی یک وسیله کاملا ابتدایی بود که می توانست 4096 مکان مختلف را آدرس دهد. برای حل این مسئله بود که ریزپردازنده 8 بیتی ( 8008 ) به وسیله شرکت Intel معرفی شد . Intel 8008: Intel 8008 توانست اعداد 8 بیتی را ( که بایت نامیده می شوند ) به کار گیرد ، که این خود پیشرفت بزرگی نسبت به 4004 بود . تقریبا در همان زمان گشایشی در ساختن مدارهای منطقی NMOS ( نیمه هادی اکسید فلز از نوع N )پیش آمد . منطق NMOS بسیار سریع تر از PMOS است . به علاوه از یک منبع تغذیه مثبت استفاده می کند که آن را برای اتصال به مدارهای منطقی TTL سازگارتر می کند . خصوصیات مذکور از این جهت دارای اهمیت است که بسیاری از مدارهای جنبی ریزپردازنده از نوع TTL هستند . NMOS سرعت ریزپردازنده را با ضریبی در حدود 25 بار افزایش می دهد که رقم چشمگیری است . این تکنولوژی جدید در ساختمان ریزپردازنده معروف امروزی یعنی Intel 8080 به کار برده شد .   Intel 8080: Intel 8080 در 1973 و معرفی آن دنیا را به دوره ریزپردازنده وارد کرد . 8080 نوع بسیار غنی شده ای از 8080 بود که می توانست 500000 عمل را در ثانیه انجام دهد و 64 کیلو بایت از حافظه را آدرس می دهد و 500000 دستورالعمل را در ثانیه اجرا کند . امتیاز اصلی Z80 نسبت به 8080 این است که می تواند از دستورالعمل هایی که برای 8080  می شوند نیز استفاده کند . نرم افزاری که برای 8080 استفاده می شود بدون پیچیدگی بر روی Z80 قابل اجرا است . یک مشخصه سخت افزاری مهم Z80 در مقایسه با 8080 آرایش کامل تر ثبات هاست . Z80 همچنین مکانیزمی را به کار می گیرد که حافظه RAM دینامیکی را به طور خورکار تازه می کند . این دو مشخصه اضافی موجب برتری Z80 نسبت به Intel 8080 شده است. سایر ریزپردازنده های اولیه : تا سال 1973 ، Intel  تولید کننده اصلی ریزپردازنده ها بود . بعد از آن تولید کنندگان دیگر متوجه شدند که این وسیله جدید دارای آینده است و شروع به تولید انواع اصلاح شده دیگری از ریزپردازنده Intel 8080 کردند . ریزپردازنده های امروزی : به نظر می رسد که آینده توجه ریزپردازنده در دست سه شرکت Intel  ، Motorola و Zilog است . این شرکت ها هر یک با دو سال یک بار انواع پیشرفته تری از ریزپردازنده ها را تولید می کنند . امروزه ریزپردازنده ها از نظر اندازه بین 4 تا 32 بیت دارند . انواع میکروپروسسورها :

  1. Genela ( که خود شامل cpu می باشد که بر اساس برنامه وظیفه آنها تغییر می کند و µ.c که از تکنولوژی RISC سود می برد .
2.پروسسورهای صوتی : سری VP ساخت شرکت QUICK  و سری ISD 3.پروسسورهای مخابراتی ( شرکت MITEL فقط پروسسورهای مخابراتی می زند . )
  1. پروسسورهای خاص ( برای کاربردهای خاص استفاده می شود ) .
در معماری CPU از تکنولوژی CISC و RISC استفاده شده که تکنولوژی CISC (  Complex INSTROCTION set Computer )دستورات پیچیده را در داخل خود اجرا می کند و تکنولوژی RISC( Reduce INSTROCTION set Computer ) SET کامپیوتری است که دستورات ساده ای دارد که از این نوع تکنولوژی در میکرو کنترلرها نیز استفاده شده و خواص آن تعداد کم دستورالعمل ها می باشد . تعریف µ.c : تراشه هایی هستند که واسطهای صفحه کلید ، دیسک و در بسیاری از دیگر دستگاهها استفاده می شود . این نوع تراشه ها به علت حجم بسیار کوچک که دارند به نام single µ.c chip معروفند . تفاوت میان ریزپردازنده با ریز کنترل کننده ( µ.c ) : ریز کنترل کننده ها علاوه بر cpu شامل حافظه ، خطوط I/O تایمر ، کانتر و در برخی از آنها حتی A/D نیز دارند . حال به مروری بر میکروهای AVR و انواع آنها می پردازیم .   مقدمه :
  • الکترونیک در زندگی امروز
امروزه پیشرفت در الکترونیک ای امکان را به ما داده است تا بتوانیم انواع وسایل الکترونیکی مانند ، ماشین حساب های جیبی ، ساعت رقمی ، کامپیوتر برای کاربرد در صنعت در تحقیقات پزشکی و یا طریقه تولید کالا به طور اتوماتیک در کارخانجات و بسیاری از موارد دیگر را مستقیم یا غیر مستقیم مورد استفاده قرار دهیم . اینها همه به خاطر آن است که فن آوری توانسته مدارهای الکترونیکی را که شامل اجزاء کوچک الکترونیکی هستند ، بر روی یک قطعه کوچک سیلیکن که شاید سطح آن به 5 میلی متر مربع بیشتر نیست ، جای دهد . فن آوری میکروالکترونیک که به مدارهای یکپارچه معروف به آی سی یا تراشه مربوط می گردد ، در بهبود زندگی بشر تاثیر به سزایی داشته و آن را بطور کلی دگرگون نموده است . تراشه ها همچنین برای مصارفی چون کنترل رباتها در کارخانجات ، یا کنترل چراغهای راهنمایی و یا وسایل خانگی مانند ماشین لباس شویی و غیره مورد استفاده قرار می گیرند . از طرفی تراشه ها را می توان مغز دستگاه هایی چون میکرو کامپیوترها و رباتها به حساب آورد . 2-1 سیستم های الکترونیکی پس از یک نظر اجمالی در داخل یک سیستم الکترونیکی مانند یک دستگاه رادیو ، تلویزیون و یا کامپیوتر ممکن است انسان از پیچیدگی آن و از یادگیری الکترونیک دلسرد شود ، اما در واقع آن طور که به نظر می رسند ، دشوار نیستند و این به دو دلیل است . اول اینکه اگرچه سیستم های الکترونیکی اجزاو قطعات زیادی را در خود جای می دهند ، اما باید دانست که انواع کلی این اجزا اغلب محدود و انگشت شمار هستند . از مهم ترین گروه های این اجزا می توان مقاومت ها ، خازن ها ، القا گرها ، دیودها ، ترانزیستورها ، کلیدها و مبدل ها را نام برد . این اجزا زمانی که به صورت یکپارچه در یک تراشه قرار می گیرند ، هر یک همان وظیفه خود را به عنوان یک قطعه مجزا انجام می دهند و فقط اندازه  فیزیکی آن کوچکتر شده است . دوم اینکه انواع سیستم های الکترونیکی از تعداد محدودی مدارهای اصولی و یا بلوک هایی که وظیفه هر کدام به کاراندازی قسمتی از سیستم مثلا تقویت یا شمارش است ، تشکیل یافته اند که به منظور عملکرد کل سیستم ، آن را به یکدیگر متصل می نمایند . 3-1 مدارهای خطی و مدارهای رقمی بسیاری از سیستم های الکترونیکی طوری طراحی شده اند تا با دریافت یک ورودی الکتریکی و با پردازش آن ، یک خروجی الکتریکی تولید کرده تا بتوانند کار معینی را انجام دهند ( که این کار بدون سیستم مورد نظر ، به تنهایی از عهده ورودی الکتریکی مذکور ساخته نخواهد بود . ) مدارهای الکترونیکی که در سیستم ها کاربرد دارند به دو دسته مهم تقسیم می شوند : مدارهای خطی ( یا قیاسی ) و مدارهای رقمی یا دیجیتال . مدارهای خطی ار نوع مدارهای تقویت کننده هستند که با سیگنال هایی سرو کار دارند که این سیگنال ها معرف کمیت هایی مانند تغییرات صوتی ، صدای انسان یا موسیقی و غیره هستند . در بسیاری از مدارهای خطی از ترانزیستور به عنوان تقویت کننده صوتی استفاده می کنند . مدارهای دیجیتال از نوع مدارهای کلیدزنی هستند ، که مقدار ورودی یا خروجی آنها در هر زمان فقط می تواند دارای یکی از دو حالت صفر یا یک باشد و اگر قرار است این دو حالت به هم تبدیل شوند این تبدیل حالت بسیار سریع اتفاق می افتد ، در حالی که مدارهای خطی دارای حالت مداوم بوده و این حالات به تدریج در واحد زمان قابل تغییر هستند . مدارهای رقمی دارای فقط دو حالت هستند و ورودی و خروجی آنها به اصطلاح (high) به معنی بالا ، یعنی نزدیک به میزان ولتاژ منبع مدار و یا (low) به معنی پایین ، یعنی نزدیک صفر ولت هستند . در این مدارها عمل کلیدزنی به وسیله ترانزیستور انجام می گیرد . دستگاه شمارش گر در واقع یک مدار رقمی است که در آن سیگنال تولید شده توسط سلول نوری ، یا در حالت صفر و یا در حالت یک قرار می گیرد و این امر بستگی به قطع شدن یا نشدن نور دارد . بنابراین مدارهای رقمی علائم الکتریکی را به صورت پالس یا ضربه با خود حمل می کنند . سیستمی که در آن یک لامپ توسط دیمر کنترل و کم و زیاد می شود ، یک سیستم حالت مداوم و سیستمی که همان لامپ را خاموش و روشن می کند یک سیستم دو حالته است ، چون که توسط آن لامپ مذکور یا کاملا روشن یا کاملا خاموش می شود . فصل اول: مختصری از نحوه کار با  AVR   1-1- خصوصیات Atmega16L و Atmega16 ? ازمعماری AVR RISC استفاده می کند . - کارایی بالا و توان مصرفی کم - دارای 131 دستورالعمل با کارایی بالا که اکثرا تنها در یک کلاک سیکل اجرا می شوند . - 8×32رجیستر کاربردی - سرعتی تا 16 MIPS در فرکانس 16 MHZ ? حافظه ، برنامه و داده غیر فرار -16K بایت حافظه FLASH داخلی قابل برنامه ریزی پایداری حافظه FLASH : قابلیت 10000 بار نوشتن و پاک کردن ( WRITE / ERASE ) -1024 بایت حافظه داخلی SRAM -512  بایت حافظه EEPROM داخلی قابل برنامه ریزی پایداری حافظه EEPROM : قابلیت 100000 بار نوشتن و پاک کردن  ( WRITE / ERASE ) - قفل برنامه FLASH و حفاظت داده EEPROM   ? قابلیت ارتباط JTAG ( IEEE Std . ) - برنامه ریزی برنامه FLASH  ، EEPROM ، FUSE BITS ، LOCK BITS از طریق ارتباط JTAG ? خصوصیات جانبی - دو تایمر- کانتر (TIMER / COUNTER ) 8 بیتی با PRESCALER مجزا و مد COMPARE - یک تایمر- کانتر (TIMER / COUNTER ) 16 بیتی با PRESCALER مجزا و دارای مدهای COMPARE و CAPTURE - 4 کانال PWM - 8 کانال مبدل آنالوگ به دیجیتال 10 بیتی 8 کانال SINGLE-ENDED دارای 7  کانال تفاضلی در بسته بندی TQFP دارای دو کانال تفاضلی با کنترل گین 1x ، 10x و 200x - یک مقایسه کننده آنالوگ داخلی . - WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی . - قابلیت ارتباط با پروتکل سریال دو سیمه (TWO-WIRE  ) - قابلیت ارتباط سریال SPI ( SERIAL PERIPHERAL INTERFACE ) به صورت MASTER یا SLAVE -USART  سریال قابل برنامه ریزی   ? خصوصیات ویژه میکروکنترلر - POWER-ON RESET CIRCUIT  و BROWN-OUT قابل برنامه ریزی . - دارای اسیلاتور RC داخلی کالیبره شده - دارای 6 حالت SLEEP ( POWER-DOWN ، IDLE ، POWER-SAVE ، STANDBY ، EXTENDED STANDBY و  ADC NOISE REDUCTION ) - منابع وقفه (INTERRUPT  ) داخلی و خارجی . - عملکرد کاملا ثابت . - توان مصرفی پایین و سرعت بالا توسط تکنولوژی CMOS ? توان مصرفی در 1MHZ ، 3V ، 250C برای ATMEGA16L - حالت فعال 1.1 mA ( ACTIVE MODE ) - در حالت بی کاری 0.35 mA ( IDLE MODE ) - در حالت POWER-DOWN : > 1µA ? ولتاژهای عملیاتی (کاری ) -2.7 V تا5.5 V برای ( Atmega16 L ) -4.5 V تا 5.5 V برای ( Atmega16  ) ? فرکانس های کاری -0MHZ تا  8MHZ  برای( Atmega16 L ) -0MHZ  تا 16MHZ برای ( Atmega16  )   خطوط I/O و انواع بسته بندی