بخشی از مقاله
ميكروكنترلر
مقدمه :
ميكروكنترلر چيست ؟
ميكروكنترلر در واقع يك كامپيوتر تك تراشه اي ارزاتقيمت مي¬باشد. كامپيوتر تك تراشه اي بدين معني است كه كل سيستم كامپيوتر در داخل تراشه مدارمجتمع جاي داده شده است.ميكروكنترلري كه برروي تراشه سيليكوني ساخته ميشود داراي خصوصياتي مشابه خصوصيات كامپيوترهاي شخصي استاندارد است.
نخستين ويژگي ميكرولنترلر داراي يك CPU (واحد پردازشگر مركزي) حافظه RAM3 و حافظه ROM4 خطوط I/O (خطوط ورودي و خروجي)، درگاههاي سريال و موازي و زمان سنج است و برخي اوقات نيز شامل ادوات جانبي نظير مبدل A/D (مبدل آنالوگ به ديجيتال) و مبدل D/A (مبدل ديجيتال به آنالوگ) مي باشد.
چرا از ميكروكنترلر استفاده مي شود ؟
همان گونه كه قبلاً توضيح داده شد ميكروكنترلرها، كامپيوترهايي ارزانقيمت هستند. قابليت ذخيره سازي و اجراي برنامه هاي منحصر به فرد،موجب شده است تا ميكروكنترلرها بسيار انعطاف پذيرشوند. بعنوان مثال شخص مي تواند ميكروكنترلر را به گونه اي برنامه ريزي كند بر اساس شرايط از پيش تعيين شده (وضعيت خطوط خروجي ورودي و خروجي) تصميم گيري نمايد (عمليات مورد نظر را انجام دهد). قابليت انجام عمليات رياضي و منطقي موجب شده است تا ميكروكنترلر بتواند عملكرد مدارهاي منطقي پيچيده و مدارهاي الكترونيكي را تقليد كند.
برنامه هاي ديگر مي توانند موجب شوند كه ميكروكنترلر مشابه يك مدار در شبكه عصبي و يا به صورت يك كنترلر كننده با منطق فازي عمل كند. ميكروكنترلرها وظيفه هوش مصنوعي را در دستگاههاي مربوط به «حسابهاي هوشمند» در فروشگاهها بر عهده دارند.
آينده الكترونيك مختص ميكروكنترلرها مي باشد
اگر به مجله هاي الكترونيكي كه در اين كشورها و يا ساير كشورها چاپ مي شوند توجه كنيد، مقاله هايي را مشاهده خواهيد كرد كه در طراحي مدارهاي آنها، بطور مستقيم و يا بصورت تركيبي، از ميكروكنترلرها استفاده شده است. ميكروكنترلرها به دليل انعطاف پذيري زيادي كه دارند، با صرف هزينه اندك مي توانند قدرت زياد، كنترل و انتخابهاي مختلفي را ارائه كنند. به همين دليل است كه مهندسين الكترونيك و افرادي كه علاقه مند به كارهاي الكترونيكي هستند، برنامه ريزي ميكروكنترلرها را فرا مي¬گيرند تا از مزاياي ميكروكنترلرها در مدارات خود بهره ببرند و سطح كيفي مدار خود را در حد بالايي حفظ كنند.
اگر از دستگاههاي الكترونيكي خانگي را بررسي كنيد، خواهيد ديد كه از ميكروكنترلرها تقريباً در تمامي آنها استفاده شده است. اين نيز دليل ديگري براي آشنايي با ميكروكنترلر هاست.
كامپيوترهاي طراح
امروزه انواع بسيار زيادي از ميكروكنترلرها در بازار وجود دارند. ما در اينجا توجه خود را معطوف به ميكروكنترلهايي مي كنيم كه تراشه هاي PIC (يا تراشه هاي PICMicro) ناميده مي شوند، اين تراشه ساخت شركت Microchip Technology مي باشد.
تراشه PIC
مجموعه ميكروكنترلرهاي ساخت شركت Microchip Technology به نام PIC ناميده مي شوند. شركت مذكور كلمه PIC را به عنوان علامت تجاري برگزيده و از آن براي مشخص كردن ميكروكنترلرهاي خود خود استفاده مي كند. كلمه PIC سر نام كلمات Programmable Interface Controller مي باشد.
بهتر از هر مدار stamp
كمپاني Paralaxx مجموعه اي از مدارهاي مبتني بر ميكروكنترلر را كه استفاده از آنها ساده مي باشد، تهيه كرده و با نام Basic Stamp به فروش مي رساند. در مدارهاي Basic Stamp ساخت شركت Parallax (به نامهاي bs1,Bs2) از ميكروكنترلرهاي plc ساخت Microchip Technology استفاده شده است. عاملي كه باعث شده است تا مدارهاي Stamp بسيار متدوال شوند ايت است كه آنها را مي توان به سادگي با استفاده از زبان بيسيك برنامه ريزي كرد.
فراگيري و كار با زبان بيسيك بسيار ساده ميباشد. اين عامل مهمترين مزيت استفاده از سيستم هاي STAMP مي باشد، در صورتي كه ساير سيستم ها، منحني آموزشي طولاني تري دارند زيرا كاربرد را وادار مي كنند تازبان اسمبلي را فراگيرد (زبان اسمبلي فقط مختص يك ميكروكنترلر خاص بوده و در مورد ساير ميكروكنترلرها، كاربرد ندارد ).
Basic Stamp هم اكنون يكي از متداولترين سيستم هاي ميكروكنترلي است كه كه مورد استفاده قرار مي گيرد. اين نكته را دوباره تكرار مي كنم كه عامل مورد قبول واقع شدن و متداول شدن سيستم هاي Stamp، سادگي فراگيري و سهولت كار با زبان بيسيك مي باشد. فراگيري وكار با سيستم زبان بيسيك PIC ها بسيار ساده مي باشد و همچنين ميكروكنترلهاي PIC داراي مزاياي فراواني هستند كه موجب مي شود از انواع سيستم ها Stamp بهتر باشد.
زبان بيسيك PICBasic كه ما از آن براي برنامه هاي تراشه هاي PIC استفاده مي كنيم، مشابه زباني است كه در مجموعه سيستم هاي Basic Stamp به كار برده مي شود. برنامه ريزي تراشه هاي PIC به سادگي برنامه ريزي سيستم هاي Stamp مي باشد. حال شما مي توانيد از همان زبان ساده اي كه سيستم هاي Basic Stamp ارائه مي كنند استفاده كنيد و لذت ببريد، در ضمن از دو مزيت عمده ديگر نيز بهره خواهيد برد اين دو مزيت عبارتند از :
مزيت اول : سرعت بيشتر
تراشه هاي PIC برنامه ريزي شده توسط ما، برنامه خود را خيلي سريعتر اجرا مي كنند. اگر برنامه بيسيك مشابهي را در Basic Stamp و تراشه pic ذخيره كنيم، برنامه تراشه pic (بسته به دستورالعمل هاي استفاده شده) حدود 20 تا 100 برابر سريعتر از Basic Stamp اجرا مي شود. دليل اين امر در زير آمده است :
سيستم هاي Basic Stamp مدل BS1, BS2 از حافظه EEPROM سريال كه به تراشه هاي PIC وصل شده اند براي ذخيره كردن برنا مهاي خود استفاده مي كنند. فرمانهاي زبان بيسيك موجود در برنامه،به صورت نشانه ها و علامت هاي بيسيك ذخيره مي شوند. علائم و نشانه هاي بيسيك ذخيره مي شوند. علائم و نشانه هاي بيسيك نظير خلاصه نويسي فرمانهاي بيسيك مي باشد.
هنگام اجراي برنامه Basic Stamp هر دستورالعمل را مي خواند سپس اين علامت را تفسير مي كند (علاعم و نشانه ها را به زبان ماشين معادل تبديل ميكند تا براي pic قابل فهم باشد )و دستور العمل را اجرا كرده و دستئر العمل بعدي را مي خواند و دوباره اين رويه را تكرار مي كند.هر دستور العمل براي اجراشدن بايد مرحلهء ((انتقال سريال)), ((خواندن)) ((تفسير واجرا)) را طي كند. روند خواندن واسطهء سريال , وقت زيادي را از c p u ميكروكنترل تلف ميكند.
در مقايسه با اين عمليات,وقتي يك تراشهء P I C با استفاده از كام پايلر بيسيك برنامه ريزي مي شود, برنامهء بيسيك در ابتدا به برنامهء زبان ماشين P I C (فايل در مبناي 16) تبديل ميشود.سپس اين برنامه كه به زبان ماشين ميباشد به داخل تراشهء P I C انتقال مي يابد. از انجايي كه زبان ماشين , زبان اصلي P I C مي باشد لذا نياز نيست تا كدهاي زبان ماشين به صورت علائم و نشانه ها ذخيره شده و براي اجرا شدن تفسير شوند چرا كه برنامه به زبان اصلي P I C نوشته شده است.
هنگامي كه تراشهء P I C برنامه اي را اجرا مي كند , فرمانهاي برنامه را كه به زبان ماشين مي باشند به طور مستقيم از حافظه اي كه روي تراشهء آن قرار دارد خوانده و آن دستور العمل را اجرا مي كند. در طي اين عمليات واسطهء سريالي با حافظهء EEPROM خارجي كه زمان زيادي را تلف ميكند , وجود ندارد. دستور العملهايي كه به زبان ماشين هستند مشابه روش واسطه سريال به صورت بيت به بيت خوانده نشده بلكه به طوري موازي خوانده مي شوند. اين دستورالعمل ها به صورت مستقيم و بدون نياز به مبدل علائم بيسيك به زبان ماشين خوانده مي شوند. اين امر موجب مي شود تا PIC هاي برنامه ريزي شده بتوانند كدهاي خود را 20 تا 100 برابر سريعتر از كد بيسيك همان برنامه در سيستم Basic Stamp، اجرا كنند.
مزيت دوم : قيمتي به مراتب پايين تر
عامل دوم قيمت مي باشد. استفاده مستقيم از تراشه هاي PIC در مقايسه با سيستم هاي Basic Stamp موجب 75 درصد صرفه جويي در قيمت مي شود. قيمت خرده فروشي BS1 كه داراي 256 بايت حافظة قابل برنامه ريزي است، 95/34 دلار مي باشد. قيمت خرده فروشي BS2 كه داراي 2 كيلوبايت حافظة قابل برنامه ريزي است، 95/49 دلار مي باشد.ميكروكنترلر PIC به شماره 84E16 كه در اين كتاب معرفي شده است، داراي مشخصاتي است كه با سيستم BS2 قابل مقايسه مي باشد. اين تراشه داراي 1 كيلو بايت حافظة قابل برنامه ريزي است. قيمت خرده فروشي تراشة 84F16 PIC مبلغ 95/6 دلار است. علاوه بر ان قيمت كريستال زمان سنجي و چند خازن ومقاومت و يك تثبيت كنندة ولتاژ 7805 را نيز بايد اضافه كرد تا مدار، معادل سيستم Stamp شود. مجموعة اين قطعات، قيمت كل را تا ميزان 10 دلار افزايش
ميدهد كه در اين حالت نيز يك چهارم (75 درصد) قيمت سيستم BS2 ميباشد.
PIC16F84 يك ميكروكنترلر ارزانقيمت است و نيزداراي حافظه قابل باز نويسي (Flash) مي باشد. به عنوان مثال شما مداري (يا محصولي) را براي توليد طراحي مي كنيد كه نيازي به برنامه ريزي مجدد پس از برنامه ريزي اوليه ندارد. در اين صورت شمامي توانيد از ميكروكنترلرهاي PLC كه فقط يك مرتبه قابل برنامه ريزي هستند و اصطلاحاً OTP ناميده مي شوند.
ساير مزايا
سطحي كه ميكروكنترلر PIC 16F84 روي مدار اشغال مي كند كمتر از سطحي است كه BS2 اشغال مي كند زيرا سيستم هاي Stamp از حافظه EFPROM با سريال بيروني استفاده مي كنند. در برخورد اول اين طور به نظر مي آيد كه BS2 كوچكتر است زيرا در يك محفظه 28 پايه DIP قرار داده شده است، ولي شما مي توانيد انواعي از 16F84 را كه براي نصب سطحي تهيه شدهاند،خريداري كنيد.در نتيجه اين كار سطح مدار كاهش مي يابد.
نگاهي كلي بر برنامه ريزي ميكروكنترلرهاي PIC يك فرايند 3 مرحله اي ساده مي باشد.
مي توانيد در بازار انواع مختلفي از دستگاههاي برنامه ريزي كننده و كامپايلرها را براي ميكروكنترلرهاي PIC پيدا كنيد. ماقصد مقايسه كالاهاي موجود در بازار را نداريم و به جاي آن توجه خود را روي كامپايلر بيسيك خاص و برد برنامه ريزي كننده همراه آن معطوف مي كنيم.