2-1 مقدمه

  فصل گذشته به بررسی انواع حافظه ها و پردازنده ها پرداخت. در این فصل به بررسی انواع میکروکنترلر و امکانات داخلی آنها پرداخته خواهد شد. به دلیل اینکه بسیاری از امکانات میکروکنترلر ها شبیه به یکدیگر می باشد، بنابراین فقط یک بار بررسی شده اند.


2-2 میکروکنترلر 8051

همانطور که در فصل قبلی گفته شد، این خانواده از میکروکنترلر، اولین میکروکنترلر تولید شده بود که در سال 1981 توسط شرکت اینتل ساخته شد و از معماری CISC استفاده می کرد. برای اینکه این میکروکنترلر به تولید انبوه برسد، شرکت اینتل مجوز ساخت آن را به شرکت های بزرگی مانند Atmel، DS و غیره داد. به همین دلیل مدل های مختلفی از آن ساخته شد. مثلا مدلی از آن ساخته شد که دارای حافظه ی ROM داخلی نبود (8031) و یا مدل OTP و مدل EEPROM دار آن هم ساخته شد. به دلیل قدیمی بودن این نوع میکروکنترلر امروزه از این مدل بسیار کم استفاده می شود. این مدل از میکروکنترلر 8 بیتی بوده و امکانات داخلی آن کم است. در این قسمت به بررسی امکانات داخلی این خانواده پرداخته می شود.


2-2-1 اتصالات سخت افزاری و فایل هگز

در شکل زیر ترتیب پایه های یک میکرو کنترلر 8051 را مشاهده می کنید در شکل زیر ترتیب پایه های میکروکنترلر AT89C51 آمده است. پایه های این میکروکنترلر مشابه میکروکنترلر های AT89C52، AT89C55، 8031 و DS89C4x0 می باشد.

پایه های AT89C51

شکل 2-1 ترتیب پایه های AT89C51


2-2-1-1 اتصال نوسان ساز (منبع کلاک)

برای اینکه پردازنده بتواند کار کند، نیاز به یک منبع نوسان کننده دارد. با دریافت هر سیکل نوسان، یک دستور العمل اجرا می شود. البته بعضی از دستورالعمل ها نیاز به چند سیکل نوسان دارند. هرچه فرکانس نوسان کننده بیشتر باشد، در این صورت دستورات سریع تر اجرا می شوند. البته پردازنده ها محدودیت فرکانسی دارند و اگر فرکانس نوسان کننده از حداکثر فرکانس تعییدن شده ی پردازنده بیشتر شود، ممکن است هیچ دستورالعملی اجرا نشود. در میکروکنترلر های 8051 یک نوسان ساز درون تراشه ای وجود دارد که برای نوسان کردن نیاز به یک منبع خارجی دارد. این منبع خارجی اغلب کریستالی است. زیرا فرکانس کریستال با تغییرات دما تغییر نمی کند. البته می توان از نوسان ساز RC نیز برای این کار استفاده نمود. باید کریستال به صورت شکل زیر به میکروکنترلر متصل شود. خازنهای C1 و C2 طبق برگه ی اطلاعاتی میکروکنترلر AT89C51 دارای مقداری بین 12-33 پیکو فاراد می باشند. می توان با یک منبع سیگنال به میکروکنترلر پالس مربعی با فرکانس تنظیم شده اعمال نمود در این صورت باید پایه ی XTAL2 را آزاد گذاشت. حداکثر فرکانس کاری در AT89C51 برابر 20MHz می باشد. پایه های 18 و 19 در این میکروکنترلر، پایه های لازم برای اتصال کریستال می باشند.

اتصال کریستال به میکروکنترلر

شکل 2-2 اتصال کریستال به 8051

 

طریقه ی اتصال کلاک خارجی

شکل 2-3 اتصال اسیلاتور خارجی به میکروکنترلر 8051


2-2-1-2 پایه ی ریست

اگر این پایه در سطح یک منطقی (V5+) قرار بگیرد، در این صورت میکروکنترلر ریست شده و برنامه ی کاربر را از ابتدا شروع به اجرا می کند. برای جلوگیری از این اتفاق این پایه را با یک مقاومت به زمین متصل می کنند تا این پایه در وضعیت صفر منطقی باقی بماند. در میکروکنترلر AT89C51 پایه ی شماره ی 9 در شکل 2-1 که با RST مشخص شده است، پایه ی Reset می باشد. البته در میکروکنترلر هایی مانند AVR با اتصال این پایه به زمین میکروکنترلر ریست می شود.


2-2-1-3 پایه های اتصال ROM خارجی

اگر کاربر مایل باشد تا یک حافظه ی خارجی جهت افزایش حافظه ی موجود به میکروکنترلر متصل کند، در این صورت باید از پایه های 29، 30 و 31 برای این منظور استفاده کند. پایه ی 31 در شکل 2-1 که با EA نمایش داده شده است به معنی دستیابی خارجی است و اگر در سطح صفر منطقی قرار بگیرد، به معنی اتصال ROM خارجی است. پایه ی PSEN برای فعال کردن برنامه ی ذخیره استفاده می شود. و در نهایت پایه ی ALE برای فعال سازی لچ آدرس می باشد. حافظه های ROM خارجی بستگی به ظرفیتشان دارای پایه های متفاوتی هستند. معمولا این حافظه ها دارای 8 پایه برای دریافت داده و 8 پایه برای دریافت آدرس می باشند. این 16 پایه به 16 پایه ی میکروکنترلر متصل می شوند. برای صرفه جویی در مصرف پایه های میکروکنترلر، 8 پایه ی آدرس را با یک آی سی لچ به 8 پایه ی داده متصل کرده و آن را به میکروکنترلر متصل می کنند. پایه ی ALE برای انتخاب آدرس فعال خواهد شد و آی سی لچ آدرس را به 8 پایه ی آدرس ROM اعمال می نماید. بعد از این مرحله داده ها منتقل می شوند. پایه ی PSEN برای انتخاب این است که آیا باید داده ها در آدرسی که لچ انتخاب کرده نوشته شوند یا خوانده شوند.


2-2-1-4 پورت P0

این پورت شامل هشت پایه می باشد و می تواند هم به عنوان I/O استفاده شود و در کنار پایه های این پورت در شکل 1-2 AD0…AD7 نیز نوشته شده است. به این معنی که 8 پایه ی آدرس یا داده می تواند برای ROM خارجی به این پایه ها متصل شود. پایه های 32 تا 39 در AT89C51 پایه های پورت P0 می باشد.


2-2-1-5 پورت P1 و P2

شانزده پایه ی این دو پورت می توانند هم به صورت I/O استفاده شوند و هم می تواند برای آدرس دهی بکار رود. در کنار این پایه ها نوشته شده است A0…A15 که برای آدرس دهی 16 پایه ی آدرس ROM خارجی استفاده می شوند. می توان با استفاده از این پایه ها یک حافظه ی ROM تا حداکثر KB64 را به 8051 متصل نمود. پایه های 1 تا 8 میکروکنترلر AT89C51 به عنوان پورت P1 و پایه های 21 تا 28 به عنوان پورت P2 استفاده می شوند.


2-2-1-6 پورت P3

این پورت در میکروکنترلر AT89C51 شامل پایه های 10 تا 17 می باشد و هم می تواند به عنوان I/O استفاده شود و هم کاربرد های دیگری دارد که با حروف اختصاری در شکل 1-2 مشخص شده اند که در ادامه ی این فصل به بررسی آنها پرداخته می شود.


2-2-1-7 تغذیه ی میکروکنترلر 8051

پایه ی 20 و 40 این میکروکنترلر به عنوان تغذیه استفاده می شوند. به پایه ی 20 تغذیه ی زمین وصل شده (سر منفی) و به پایه ی 40 تغذیه ی V5+ متصل خواهد شد. تمامی پردازنده ها و میکروکنترلر ها باید با یک ولتاژ ثابت تغذیه شوند تا در عملکرد آنها اختلال ایجاد نشود. به همین دلیل تغذیه ی +5V باید کاملا ثابت باشد. در فصل های بعدی به چگونگی تثبیت ولتاژ پرداخته خواهد شد.


2-2-1-8 فایل هگز اینتل

فایل هگز یک فایل پر مصرف برای استاندارد کردن کدهای ماشین قابل اجرا در یک تراشه ی ROM است. وقتی کاربر دستورات لازم را برای میکروکنترلر می نویسد، نیاز به یک برنامه ی کامپیوتری دارد که برنامه ی کاربر را به زبان ماشین تبدیل کند. به این برنامه ی کامپیوتری کامپایلر یا مفسر می گویند. در بسیاری از کامپایلر ها فایل هگز به طور پیش فرض تولید می شود. فرمت بندی فایل هگز به صورت زیر است:

CC AAAA TT DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD SS:

هر سطر فایل هگز با “:” شروع می شود. CC مشخص کننده ی تعداد بایت های موجود در سطر است که می تواند از 0 تا 16 مبنای ده یا از 0 مبنای شانزده تا 10 مبنای شانزده متغیر باشد. AAAA معرف آدرس شروع سطر برای بایت اول است و بایت های بعدی موجود در سطر در آدرس بعدی بایت اول قرار می گیرند. TT نشان دهنده ی انتهای فایل هگز می باشد و اگر 00 باشد به این معنی است که سطر بعدی وجود دارد و اگر 01 باشد نشان دهنده ی آخرین سطر است. D…D نشان دهنده ی حداکثر 16 بایت است و تعداد بایت ها را CC مشخص خواهد کرد. در نهایت بایت SS برای بررسی خطا در سطر می باشد.

در خط زیر نمونه از فایل هگز آمده است:

100F1000000053696E6500005371756172650000D1:

00000001FF:

در فایل هگز بالا در خط اول 16 بایت داده وجود دارد که از آدرس 0F10 شروع شده و تا آدرس 0F20 ادامه می یابد. بایت 00 نشان دهنده ی این است که سطر بعدی وجود دارد. پس از 16 بایت داده، بایت D1 قرار دارد که برای خطا یابی است. در سطر بعد که هیچ بایتی ندارد و آدرس آن 0000 است، نشان دهنده ی پایان فایل هگز می باشد.

 

2-2-2 امکانات داخلی میکروکنترلر 8051

برای بررسی امکانات میکروکنترلر های 8051، میکروکنترلر AT89C51 را مورد بررسی قرار می دهیم. میکروکنترلر های جدید تر و بعضی از مدل های دیگر دارای امکانات جزئی دیگری هستند که زیاد اهمیت ندارند و این امکانات در میکروکنترلر های دیگر بررسی می شوند.

میکروکنترلر AT89C51 دارای سه سخت افزار داخلی می باشد که در ادامه بررسی می شوند.


2-2-2-1 پورت سریال

برای برقراری ارتباط میکروکنترلر با یک وسیله ی سریال مانند پورت سریال کامپیوتر و یا قطعاتی مانند بعضی از سنسور ها، بعضی از ماژولها و بعضی از میکروکنترلر ها نیاز به سخت افزاری داریم که این کار را انجام دهد. سخت افزار پورت سریال داخلی AT89C51 این امکان را برای ما فراهم می کند. البته می توان ارتباط سریال را به صورت نرم افزاری نوشت که این کار سخت است و باید برنامه ی نوشته شده از دقت بالایی برخوردار باشد. ارتباط سریال به صورت دو سیمه است و پایه ی RXD از میکروکنترلر وظیفه ی دریافت داده و پایه ی TXD وظیفه ی ارسال داده را بر عهده دارد. در این پایان نامه از این ارتباط استفاده شده است. در فصل هایی بعدی به طور مفصل تر این ارتباط بررسی می شود.


2-2-2-2 وقفه ی خارجی

  وقتی که میکروکنترلر در حال انجام دستورات کاربر است، نمی تواند دائما تست کند که آیا پایه ی Int از میکروکنترلر ولتاژش تغییر کرده است یا خیر. برای این منظور از وقفه ی خارجی استفاده می شود. به محض تغییر ولتاژ پایه ی Int از میکروکنترلر، CPU یا همان پردازنده ی داخلی میکروکنترلر متوجه ی این تغییر ولتاژ شده و دستورات خاصی را که کاربر آنها را نوشته است، اجرا می کند و مجددا اجرای دستورات به روال عادی خود باز می گردد.

در AT89C51 دو وقفه ی خارجی به نام های Int0 و Int1 وجود دارد که پایه های 12 و 13 این میکروکنترلر می باشد.

 

2-2-2-3  تایمر/کانتر

تایمر: برای اینکه کاربر بتواند زمان های بسیار دقیق را با میکروکنترلر ایجاد کند بدون اینکه بخواهد برنامه را به صورت نرم افزاری بنویسد، می تواند از تایمر استفاده نماید. میکروکنترلر AT89C51 درای دو تایمر است. تایمر ها معمولا به دو دسته ی 8 بیتی و 16 بیتی در میکروکنترلر 8051 تقسیم بندی می شوند. تایمر 8 بیتی می تواند از صفر تا 255 را شمارش کند اما تایمر 16 بیتی می تواند از صفر تا 65535 را شمارش کند. در این مدل از میکروکنترلر دو تایمر 16 بیتی وجود دارد. وقتی شمارش تایمر کامل شود، مجددا از صفر شروع به شمارش می کند و در این حالت یک وقفه فعال شده و CPU متوجه ی این وقفه خواهد شد و دستور کاربر را با رخدادن این وقفه بلافاصله اجرا می کند.


  کانتر: برای اینکه میکروکنترلر بتواند تعداد پالس های دریافتی از پایه های T0 و T1 (پایه های 14 و 15 در AT89C51) را شمارش کند، از کانتر استفاده می شود. کانتر برای شمارش پالس مورد استفاده قرار گرفته و می تواند در فرکانس متر ها و کسینوس j متر ها و غیره استفاده شود.

 

2-3 میکروکنترلر های ARM

این خانواده از میکروکنترلر ها 32 بیتی می باشند و از معماری RISC استفاده می کنند. نخستین ایده استفاده از پزدازنده های ARM در سال 1983 در شرکت ACRON شکل گرفت. طراحان این شرکت به پردازنده ای 16 بیتی جهت محصولات خود نیاز داشتند زیرا سرعت پردازنده های رایج بسیار کندتر از آی سی های موجود بود. به همین دلیل مهندسان این شرکت تصمیم گرفتند که پردازنده ی مورد نیاز خود را طراحی نمایند. خوشبختانه دو سال قبل از آن، تحقیقات لازم در دانشگاه برکلی برای طراحی یک پردازنده ی RISC که کارایی قابل ملاحظه ای نسبت به پردازنده های پیچیده ی CISC باشد، شروع شده بود. شرکت ACRON با استفاده از نتایج تحقیقات انجام شده در دانشگاه برکلی و در سال 1985 نخستین پردازنده ی RISC که به صورت تجاری طراحی شده بود را به بازار ارائه داد. پس از آن با ادغام شرکت Apple با شرکت ACRON در سال 1990 نوع 32 بیتی ARM ساخته شد. پس از آن پیشرفت میکروکنترلر های ARM سیر صعودی به خود گرفت و ARM7، ARM9 و در نهایت ARM11 که جدیدترین مدل خانواده ی ARM می باشد، ساخته شد.


  امروزه در تمامی تلفن های همراه و بعضی از لپ تاب ها و بسیاری از تجهیزات دیگر، این خانواده از میکروکنترلر استفاده می شود. در حال حاضر شرکت ARM مجوز ساخت این میکروکنترلر را به شرکت هایی مانند Atmel، Samsung، Philips (NXP)، ST Microelectronics و شرکت های معروف دیگری داده است، و مدل های بسیار متنوعی از آن وجود دارد. فرکانس کلاک در خانواده میکروکنترلرهای ARM به بیش از 600MHz می رسد در حالی که حداکثر فرکانس کاری در 8051 کمتر از 33MHz بود.

بیشترین امکانات داخلی در میکروکنترلر ها مربوط به میکروکنترلر ARM می شود. برای بررسی امکانات این خانواده از میکروکنترلر، مدل AT91SAM9263 بررسی می گردد. این مدل از میکروکنترلر ARM ساخت شرکت Atmel می باشد و از سری ARM9 است و می تواند تا حداکثر فرکانس 240MHz کارکند و 324 پایه دارد و محفظه ی آن از نوع BGA می باشد. در محفظه ی BGA به دلیل تعداد زیاد پایه های خروجی، پایه ها در زیر قطعه قرار می گیرند. در شکل 2-4 ساختمان داخلی این مدل به صورت بلوک دیاگرام رسم شده است.

به دلیل اینکه این خانواده از میکروکنترلر فقط در بسته های SMD با نام های SQFP و BGA تولید می شود که برای قرار دادن این آی سی ها بر روی برد مدار چاپی نیاز به برد چند لایه می باشد و به دلیل اینکه دستگاه پروگرمر آن گران قیمت است و به دلیل اینکه برنامه نویسی آن مشکل است و منابع آموزشی آن کم است، از این مدل از میکروکنترلر زیاد استفاده نمی شود و فقط مختصصانی می توانند با این میکروکنترلر کار کنند که چند سال با میکروکنترلر های دیگر کارکرده باشند.


2-3-1 پورت های I/O

  به دلیل اینکه میکروکنترلر های ARM 32 بیتی می باشند، هر پورت حداکثر 32 پایه دارد. در AT91SAM9263 تعداد پنج پورت کامل یا 160 پایه وجود دارد. این پایه ها فقط به عنوان ورودی و خروجی (I/O) استفاده می شوند.

امکانات میکروکنترلر ARM

شکل 2-4 ساختمان داخلی میکروکنترلر AT91SAM9263

2-3-2 کارت شبکه (اترنت)

برای اتصال میکروکنترلر ARM به اینترنت بدون استفاده از قطعات خارجی بکار می رود. کارت شبکه در بسیاری از مدل های ARM مانند سری AT91SAM7x نیز وجود دارد. حداکثر سرعت این کارت شبکه Mbps100 می باشد و سرعت بسیار خوبی است.


2-3-3 پورت USB

با استفاده از این پورت USB می توان بدون نیاز به سخت افزار خارجی هر وسیله ی USB را راه اندازی کرد. مثلا می توان حافظه های Flash و یا چاپگر های USB را راه اندازی نمود. البته باید یک راه انداز برای این کار به صورت نرم افزاری نوشته شود.


2-3-4 شتاب دهنده ی دو بعدی

به دلیل اینکه قابلیت نصب سیستم عامل هایی مانند Windows CE یا Linux بر روی میکروکنترلر های ARM وجود دارد، وجود یک سیستم گرافیکی برای نمایش سیستم عامل الزامی می باشد. با شتاب دهنده ی دو بعدی پردازش گرافیک آسان تر خواهد شد.


2-3-5 راه انداز LCD

با استفاده از این سخت افزار داخلی می توان یک LCD را راه اندازی کرد. دقت این راه انداز به اندازه ای است که می توان نمایشگر هایی تا حداکثر وضوح 2048*2048پیکسل را به آن متصل نمود. این راه انداز می تواند 16 میلیون رنگ را بر روی نمایشگر نشان دهد.


2-3-6 رابط حسگر تصویر

این رابط برای اتصال مستقیم یک دوربین به AT91SAM9263 می باشد و می تواند با سرعت بسیار بالا داده ها را از دوربین دریافت کرده و آن را پردازش کند.


2-3-7 رابط باس خارجی

برای اینکه بتوان یک سیستم عامل بر روی پردازنده ی AT91SAM9263 نصب نمود، باید حافظه ی SRAM حداقل 32MB به این میکروکنترلر متصل نمود. با رابط باس خارجی می توان دو SRAM به میکروکنترلر متصل نمود. البته با این رابط امکان اتصال یک حافظه ی NAND Flash یا Compact Flash و یا حافظه های استاتیکی وجود دارد.

 

2-3-8 کنترل کننده ی صدا AC97

این کنترل کننده برای پردازش صدا می باشد و به آی سی های صوتی که از AC97 پشتیبانی می کنند، متصل می شود.


2-3-9 رابط کارت حافظه (MCI)

برای اینکه بتوان یک کارت MMC از نوع SD را به میکروکنترلر ARM متصل نمود تا این میکروکنترلر بتواند با سرعت بالا اطلاعات را از این کارت حافظه بخواند نیاز به یک سخت افزار می باشد. رابط MCI این امکان را برای ما فرا هم می آورد.

 

2-3-10 پورت سریال

میکروکنترلر AT91SAM9263 دارای چهار پورت سریال است که یکی از این پورت ها برای عیب یابی میکروکنترلر بکار می رود و به آن DBGU می گویند.

 

2-3-11 پورت CAN

رابط CAN مانند رابط USB است با این تفاوت که رابط CAN در صنعت استفاده می شود و حداکثر طول انتقال داده در آن بیشتر است.

 

2-3-12 تایمر/کانتر

میکروکنترلر مدل AT91SAM9263 دارای سه تایمر 32 بیتی می باشد.

 

2-3-13 رابط سریال خارجی (SPI)

این رابط نخستین بار توسط شرکت فیلیپس ابداع شد و دستگاه جانبی به وسیله ی چهار سیم با میکروکنترلر ارتباط برقرار می کرد به طوری که غالبا دستگاه جانبی معمولا به عنوان برده می باشد و میکروکنترلر به عنوان ارباب می باشد. این سیم ها وظایف زیر را بر عهده دارند:

MOSI:. پایه ی MOSI خروجی دستگاه ارباب و ورودی دستگاه برده می باشد.

MISO: این پایه به عنوان ورودی دستگاه اربای و خروجی دستگاه برده می باشد.

SCK: برای اینکه اطلاعات از دستگاه ارباب به دستگاه برده و یا بالعکس انتقال پیدا کند، این دستگاه ها باید یک پالس (کلاک) دریافت کنند. با دریافت هر لبه ی بالا رونده یا پایین رونده یک صفر یا یک منتقل می شود.

SS: این پایه برای انتخاب یک دستگاه برده از بین چندین دستگاه برده می باشد. اگر فقط یک دستگاه برده وجود داشته باشد، باید این پایه در سطح صفر منطقی قرار بگیرد.

رابط SPI بسیار کاربردی است و بسیاری از آی سی های الکترونیکی مانند آی سی های ضبط صدا سری ISD4xxx و یا حتی بعضی از دوربین های تلفن همراه با استفاده از این رابط کار می کنند.


در گذشته برای برنامه ریزی AT89C51 نیاز بود تا برنامه ریزی به صورت موازی انجام شود که در این صورت اکثر پایه های میکروکنترلر استفاده می شد. اما بعضی از میکروکنترلر ها مانند AT89S51 از خانواده ی 8051 یا میکروکنترلر های خانواده ی AVR که بعدا به شرح آنها پرداخته خواهد شد، از رابط SPI برای برنامه ریزی شدن استفاده می کنند. در این صورت برای برنامه ریزی شدن این میکروکنترلر ها فقط نیاز به 6 پایه ی میکروکنترلر می باشد. به طوری که سه پایه همان پایه های MISO، MOSI و SCK هستند و دو پایه، پایه های تغذیه هستند و یک پایه نیز برای ریست میکروکنترلر می باشد. وقتی میکروکنترلر برنامه ریزی می شود که در حالت Reset قرار داشته باشد.


2-3-14 بقیه ی امکانات میکروکنترلر AT91SAM9263

TWI: یک رابط دو سیمه برای انتقال اطلاعات می باشد.

PWMC: چهار پایه برای تولید PWM در این مدل می باشد. در مدولاسیون پهنای پالس، فرکانس ثابت است اما عرض پالس تغییر می کند. این روش مناسب برای کنترل سرعت موتور و یا ساخت اینورتر می باشد.

SSC: دو کنترل کننده ی همزمان سریال در این مدل وجود دارد که برای ارتباط سریال به صورت همزمان استفاده می شوند.

RTT: ساعت زمان واقعی برای ایجاد یک ساعت یا ثانیه شمار می باشد که کاربرد های فراوانی دارد. این مدل دارای دو RTT می باشد.

این مدل دارای 128KB حافظه ی ROM داخلی و 96KB حافظه ی SRAM داخلی می باشد و برای اینکه بتوان امکانات بیشتری را در داخل این تراشه جای داد، حجم این حافظه ها کم است و برای ارتقای حجم این حافظه ها باید از طریق رابط EBI یک حافظه به صورت خارجی به میکروکنترلر متصل نمود. در مدل های جدید تر از ARM حافظه ی داخلی وجود ندارد.

WDT: این تایمر باید به صورت نرم افزاری دائما ریست شود. اگر این تایمر نتواند ریست شود، به این معنی است که در عملکرد CPU اختلال ایجاد شده است و برای رفع این عملکرد CPU مجددا راه اندازی می شود.

این مدل امکانات دیگری نیز دارد و چون این امکانات با امکانات میکروکنترلر AVR مشترک است، در فصل بعدی بررسی می شوند.


2-4 میکروکنترلر 6811 و Z80

میکروکنترلر های خانواده ی 6811 ساخت شرکت موتورولا و Z80 ساخت شرکت زایلوگ به دلیل اینکه در ایران وجود ندارند، به بررسی آنها پرداخته نمی شود و فقط ترتیب پایه های دو مدل 68HC11 و Z80 CTC در ادامه بررسی می شوند.

شکل 2-5 ترتیب پایه های Z80 CTC

شکل 2-6 ترتیب پایه های 68HC11


با توجه به مطالب گفته شده در قسمت های قبلی می توان به بعضی از حروف نوشته شده در کنار نام هر پایه پی برد. امکانات این خانواده از میکروکنترلر ها شبیه میکروکنترلر 8051 و AVR می باشد


2-5 میکروکنترلر های خانواده PIC

میکروکنترلر های خانواده ی PIC از معماری RISC استفاده می کنند و خود به دو نوع 8 بیتی و 32 بیتی تقسیم می شوند با توجه به اینکه 70 درصد کاربرد میکروکنترلر های 32 بیتی مربوط به میکروکنترلر ARM می باشد، فقط مدل 8 بیتی میکروکنترلر های PIC بررسی می شود. برای بررسی میکروکنترلر های 8 بیتی PIC دو مدل PIC16F84 و PIC18F452 انتخاب شده است. با بررسی این دو مدل، بقیه ی مدل های 8 بیتی امکاناتی شبیه به این دو مدل دارند. به دلیل اینکه نویز پذیری میکروکنترلر های خانواده ی PIC از تمام میکروکنترلر های دیگر کمتر می باشد، در صنعت بیشتر از این میکروکنترلر استفاده می شود. به دلیل منابع آموزشی نسبتا کم برای این خانواده از میکروکنترلر، بیشتر میکروکنترلر های خانواده AVR که در ادامه بررسی می شوند، مورد استفاده قرار می گیرند.

2-5-1 انواع میکروکنترلر های PIC

میکروکنترلر های 8 بیتی PIC خود به دو دسته ی زیر تقسیم می شوند:

1) سری C: در این سری از این خانواده فقط یک بار قابلیت برنامه ریزی شدن میکروکنترلر وجود دارد. نویز پذیری این گروه بسیار کم می باشد.
2) سری F: در این سری می توان چند صد بار میکروکنترلر را برنامه ریزی نمود. نویز پذیری این سری از سری C بیشتر می باشد.


میکروکنترلر های PIC به پنج نوع زیر تقسیم بندی می شوند:

1) سری 12: در این سری تعداد پایه های میکروکنترلر بین 8 پایه تا 16 پایه می باشد مانند PIC12F675 یا PIC12C509A
2) سری 16: در این سری تعداد پایه های میکروکنترلر بین 18 پایه تا 28 پایه می باشد مانند PIC16F84
3) سری 18: در این سری تعداد پایه ها بین 28 پین و 40 پین می باشد. مانند PIC18F452.
4) سری 24: در این سری تعداد پایه ها بیش از 40 پین می باشد. این سری از PIC 16 بیتی می باشد.
5) سری dsPIC: این سری که قدرتمندترین سری خانواده ی میکروکنترلر های PIC می باشد، 32 بیتی بوده و تعداد پایه ها زیاد می باشند.


2-5-2 بررسی میکروکنترلر PIC16F84

  این مدل از میکروکنترلر PIC به دلیل حجم کوچک، مصرف جریان کم و قیمت ارزان و برنامه نویسی آسان بسیار مورد استفاده قرار می گیرد و کاربردهایی مانند کنترل ربات مسیر یاب، کنترل سرعت موتور و کاربرد های بسیار دیگری در صنعت دارد. در شکل 2-5 ترتیب پایه های میکروکنترلر PIC16F84A را مشاهده می کنید.

پایه های PIC18F84A

شکل 2-7 ترتیب پایه های PIC16F84A

 

به دلیل اینکه بسیاری از امکانات داخلی میکروکنترلر ها در قسمت های قبل بررسی شد، فقط به معرفی آنها پرداخته خواهد شد.

– حداکثر فرکانس کاری 20MHz
– 1 کیلو بایت حافظه ی Flash
– 68B حافظه ی SRAM
– 64B حافظه ی EEPROM
– 35 دستورالعمل
– چهار منبع وقفه ی خارجی
– یک تایمر 8 بیتی
– 13 پایه ی I/O
– قابلیت 1000 بار پاک شدن و برنامه ریزی شدن Flash
– قابلیت 1000000 بار پاک شدن و برنامه ریزی شدن EEPROM
– جریان کشی و جریان دهی هر پایه ی I/O حداکثر 25mA
این مدل در تغذیه ی 5V+ با فرکانس 4MHz مصرف جریانی کمتر از 2mA دارد.

 

2-5-3 بررسی میکروکنترلر PIC18F452

    این مدل از میکروکنترلر PIC یکی از قوی ترین مدل های این خانواده می باشد و به دلیل تعداد زیاد پایه های I/O و حافظه ی Flash بالا بسیار مورد استفاده قرار می گیرد. در شکل 2-6 ترتیب پایه های میکروکنترلر PIC18F452 را مشاهده می کنید.

پایه های PIC18F452

شکل 2-8 ترتیب پایه های PIC18F452

ویژگی های این مدل به صورت زیر می باشد:

– حداکثر فرکانس 40MHz
– جریان کشی و جریان دهی هر پورت I/O تا 25mA
– سه وقفه ی خارجی
– دو تایمر 8 بیتی و دو تایمر 16 بیتی
– دو پایه ی PWM
– یک پورت سریال همزمان
– پورت سریال قابل پشتیبانی با RS232 و RS485
– یک پورت موازی به صورت Slave
– مبدل آنالوگ به دیجیتال 8 بیتی (8 کانال مجزا)
– تشخیص دهنده ی ولتاژ کم قابل برنامه ریزی (LPVD)
– ریست کننده ی میکروکنترلر با افت ولتاژ قابل برنامه ریزی (BOR)
– 32KB حافظه ی Flash
– 1536B حافظه ی RAM داخلی
– 256B حافظه ی EEPROM داخلی
– قابلیت پاک شدن و برنامه ریزی شدن Flash تا 100000 بار و EEPROM تا 1000000 بار.
– دوام اطلاعات موجود در حافظه های داخلی بیش از 40 سال
– محدوده ی ولتاژ کاری از 2V تا 5.5V
– مصرف جریان 1.6mA در ولتاژ 5V و فرکانس 4MHz


2-6 میکروکنترلر های خانواده AVR

این خانواده از میکروکنترلر ها در سال 1996 توسط شرکت Atmel ساخته شدند. این میکروکنترلر ها که 8 بیتی و 32 بیتی می باشند، از معماری RISC استفاده می کنند. هدف از ساخت میکروکنترلر های AVR، عمومی کردن مصرف میکروکنترلر بود. به همین دلیل منابع آموزشی آن بسیار زیاد می باشد و در دانشگاه ها بیشتر این خانواده آموزش داده می شود. به دلیل اینکه این خانواده، نویز پذیری بالایی دارد، از آن در صنعت کمتر استفاده می شود. در فصل بعد به بررسی دقیق تر این میکروکنترلر پرداخته می شود.


2-7 نتیجه گیری

با توجه به اینکه بعضی از میکروکنترلر ها دارای منابع آموزشی زیادی هستند، بعضی امکانات داخلی بالایی دارند و بعضی دیگر نویز پذیری کمی دارند، کاربر بنا به نیاز خود باید میکروکنترلری را انتخاب کند که در بین این خانواده ها دارای کوچکترین اندازه و کمترین مصرف توان و پایین ترین قیمت باشد. با توجه به اینکه میکروکنترلر های AVR منابع آموزشی زیادی دارند، بهتر است کاربر ابتدا با این میکروکنترلر کار کرده و سپس با میکروکنترلر های دیگر کارکند . به دلیل اینکه میکروکنترلر های AVR زبان برنامه نویسی C که در فصل بعدی بررسی می شود را پشتیبانی می کنند، با یادگیری این زبان می توان در مدت کمی با میکروکنترلر های دیگر نیز کار نمود.

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*
*
نشانی وبسایت

خطا