میکروکنترلرها در ایران
تا قبل فراگیر شدن میکروکنترلرهای ARM و AVR در ایران، حق انتخاب زیادی برای میکروکنترلر وجود نداشت. تا مدتها که یکهتاز میدان میکروکنترلرهای 8051 بودند یا بهتر بگوییم خانواده 8051 که بعدها میکروی PIC هم به آن اضافه شد. با توجه به امکاناتی که میکروکنترلرهای PIC داشتند انتخابها همه معطوف به این میکروی جدید شد.هرچند که واقعا در سطح جهانی جدید محسوب نمیشد ولی در ایران انتخاب جدیدی بود.
تفاوتهای AVR و ARM
به دلیل اختلاف فاحشی که هم در امکانات و هم در سرعت پردازشی این دو خانواده وجود داشت، کاربرها سر این که کدام میکرو را برای کار و پروژه انتخاب کنند مردد نبودند و بحثو جدالی هم وجود نداشت، اما کمی بعد که میکروکنترلرهای AVR وارد بازار ایران شدند، با توجه به امکانات و قابلیتها، سرعت پردازشی توجه زیادی به خود جلب کردند به نحوی که تعداد کاربران استفاده کننده از آنها بشدت زیاد شد و کمکم بحثو جدلی پیش آمد که کدام میکرو بهتر است؟ کدام صنعتی تر است؟ کدام پایدار تر است؟ و از این دست سوالهای رایج اما متاسفانه بهجای برخورد صحیح و جواب اصولی افراد جبههگیری میکردند و با دلیلو برهانهای بیپایه و اساس سعی در برتر نشان دادن یکی از این دو خانواده را داشتند.
بحثهای زیادی در انجمنهای الکترونیک فارسی زبان در این خصوص صورت گرفته و اگر دقت کنید هیچکدام به یک جواب منطقی ختم نشده و فقط افراد سلیقه خود را در جواب دخیل کردهاند. اصولا نحوه برخورد باید خالی از تعصب باشد، چرا که ما فقط استفادهکننده هستیم و چه بسا که در اشتباه بودهایم، بههمین دلیل سعی دارم در این مقاله مقداری به لحاظ منطقی مو شکافی کنیم و به جوابی منطقی برسیم.
کدام میکرو برتر است؟
عمده مسائلی که در خصوص برتری PIC از AVR ذکر میشه به شرح زیر است:
1. نویزپذیری کم
2. صنعتی بودن
با کمی دقت در خصوص مسئله در مییابیم که چقدر این دو دلیل ذکر شده بیپایه و اساس هستند و حالا چرا افراد به این دو دلیل استناد می کنند خود جای بحث دارد.
در خصوص مورد اول باید متوجه باشیم که هر وسیلهای شرایطی برای استفاده دارد که اگر آن شرایط را فراهم نکنیم، قطعا وسیله مورد استفاده دچار مشکل خواهد شد، بهعنوان مثال شما نمیتواند انتظار داشته باشید که با ماشین خود در دریا رانندگی کنید، اگر چنین کاری انجام دادید به قطع ماشین شما غرق خواهد شد. بر این اساس میتوانیم نتیجه بگیریم که ماشین خوب نیست و قایق بهتر است؟ مسلما خیر، نمی توان چنین نتیجهای گرفت پس نویزپذیری دلیلی نیست که بتوان یک میکرو را برتر از میکروی دیگر دانست؛ چرا که اگر طراحی سختافزار به صورت اصولی انجام نشده باشد فرقی نمیکند که شما BMW سوار باشید یا فراری، در هر دو صورت غرق خواهید شد.
دلیل بعدی صنعتی بودن است. صنعتی بودن چه تعریفی دارد که میکروهای PIC شامل آن تعریف می شود؟
در این مواقع افراد فقط تجربه خود از مشاهده دستگاههای صنعتی را بیان میکنند که پردازنده استفاده شده PIC بوده است بدون توجه به این موضوع، دستگاههای صنعتی موجود در ایران قدیمی هستند و در زمان تولید آنها بهترین انتخاب میکروی PIC بوده است؛ چرا که در دستگاههای صنعتی جدید میکروی AVR هم بسیار استفاده شده است(مثل PLC های زیمنس).
مسائل مهمتری وجود دارند که شما را مجبور به انتخاب یک میکرو میکنند، مثل سرعت پردازش، میزان حافظهی برنامه و حافظهی موقت سیستم، تعداد پورتها، تعداد کانالهای آنالوگ، دقت مبدل آنالوگ و مهمتر از همه محیط های توسعه برنامه و روش های پروگرام برنامه . فکر میکنم یکی از دلایل اصلی موفقیت AVR انتخاب کامپایلر اوپن سورس GCC برای توسعه برنامه و روش ساده پروگرام و البته امکانات بسیار زیاد آن بود.
در کل فرقی نمیکند، شما از هر میکروکنترلری که دوست داشته باشید میتوانید در پروژه خود استفاده کنید فقط به این شرط که اول شرایط استفاده را ایجاده کرده باشید، سختافزار را به صورت صحیح طراحی کرده باشید و برنامه را به شکل درستی توسعه داده باشید.
منبع: سیسوگ