مقدمه :
پیرو استقبال خوب از مقاله انتخاب پروگرامر مناسب AVR در ادامه بصورت ویژه به بررسی چند نمونه از پروگرامرهای موجود در بازار خواهیم پرداخت و آنها را از زوایای مختلف ارزیابی خواهیم کرد. در پایان مقاله نیز یک برنامه جالب برای تست قرار میدهم، برای آنهایی که همچنان در تردید هستند همه چیز را روشن کند.
پروگرامر های مورد بررسی :
برای بررسی بنده سعی کردم پروگرامرهایی را انتخاب کنم که به لحاظ رنج کاری و قیمتی در یک سطح نزدیک به هم باشند تا بررسی مناسبی داشته باشیم. حداکثر قیمت در این رنج 100 هزار تومان انتخاب شده است. و همگی از طریق پورت USB کار میکنند.
- پروگرامر STK500 شرکت نوآوران الکترونیک.
- پروگرامر Multi AVR شرکت ECA.
- پروگرامرهاتل.
- پروگرامر سانا.
فاکتورهای مورد ارزیابی :
قیمت :
قیمت بحث مهمی در هر خرید است و شما همیشه باید با توجه به مبلغی که برای خرید دارید؛ بهترین انتخاب را داشته باشید. اما نکته ای باید توجه کنید؛ این است که در حال حاضر اکثرا خریدها بصورت اینترنتی انجام میشود و هزینه پست نیز بخشی از قیمت تمام شده را تشکیل میدهد. به جدول زیر دقت کنید:
مدل پروگرامر |
قیمت |
هزینه پست |
قیمت تمام شده |
STK500 |
120 |
0 |
120 |
Multi AVR |
70 |
10 |
80 |
Hattel |
85 |
5 |
90 |
SANA |
100 |
0 |
100 |
قیمت ها به تومان درج شده و این قیمت ها بر اساس اطلاعات سایت های رسمی درج شده است. نکته قابل توجه در جدول فوق این است که شرکت نوآوران در محصولات خود پروگرامر ایپرام برای سری های EEPROM (AT24XX , AT93XX) دارد که قیمت آن 110 هزار تومان درج شده، در عمل از پروگرامر سانا با قابلیت های بالاتر قیمت بیشتری خواهد داشت مبلغی برابر با 230 هزار تومان!
توانایی ساپورت و بازیابی میکروها بر روی زیف سوکت و کانکتور ISP :
یکی از مشکلات کاربران AVR از کار افتادن میکرو بر اثر تنظیم فیوزبیت CKSEL و CKDIV8 است. با توجه به پر کاربرد بودن این فیوزبیت ها بسیار مهم است که پروگرامر بتواند تمامی این حالات را ساپورت کند.
بر روی زیف سوکت |
مدل پروگرامر |
Ext Clock |
Ext RC Osc |
Ext Crystal |
STK500 |
ندارد |
ندارد |
دارد |
Multi AVR |
ندارد |
ندارد |
دارد |
Hattel |
دارد |
دارد |
دارد |
SANA |
دارد |
دارد |
دارد |
در تمامی موارد فوق پروگرامرهای نوآوران و ECA یکسان هستند. و کارایی چندانی در این بخش ندارند و تنها پروگرامرهای سانا و هاتل عملکرد خوبی دارند. البته در این میان پروگرامر سانا تنها پروگرامری است که قابلیت تامین کلاک واقعی در مد Ext RC Osc مطابق با دیتاشیت های Atmel را دارد.
بر روی ISP |
مدل پروگرامر |
Ext Clock |
Ext RC Osc |
Ext Crystal |
STK500 |
ندارد |
ندارد |
ندارد |
Multi AVR |
ندارد |
ندارد |
ندارد |
Hattel |
دارد |
دارد |
دارد |
SANA |
دارد |
دارد |
دارد |
توجه داشته باشید که اگر میکرو را بر روی برد پروگرام کنید پروگرامرهای نوآوران و ECA جوابگوی تامین کلاک نخواهند بود. و نکته جالب اینکه حتی پروگرامر TNM هم با اینکه قابلیت های زیادی دارد در این زمینه فاقد امکان تامین کلاک بر روی کانکتور ISP است!
برنامه ریزی سایر قطعات :
سایر قطعات مورد پشتیبانی |
مدل پروگرامر |
ایپرام سری 24 |
ایپرام سری 93 |
میکروکنترولر سری 89S5x |
STK500 |
ندارد |
ندارد |
ندارد |
Multi AVR |
دارد |
ندارد |
ندارد |
Hattel |
ندارد |
ندارد |
دارد |
SANA |
دارد |
دارد |
دارد |
همانطور که از جدول فوق پیداست پروگرامر نوآوران هیچ گزینه ای دیگری را به شما ارائه نمیکند. و پروگرامر ECA نیز فقط یک قطعه دیگر و آن هم ایپرام های سری 24 را ساپورت میکند که البته برای این منظور سخت افزار را اضافه کرده و یک سوکت جداگانه قرار داده است و عملا بر روی زیف این امکان موجود نیست. و پروگرامر هاتل امکان برنامه ریزی میکروهای 89S5X را بر روی زیف سوکت داشته و البته امکان محدود برنامه ریزی برخی میکروهای Xmega نیز در این پروگرامر موجود است. که با توجه به اینکه برای فعال نمودن آن باید هزینه جداگانه پرداخت کرد در این جدول به آن اشاره نشده. و در نهایت پروگرامر سانا تمامی قابلیت های فوق را بر روی زیف سوکت دارد.
تجهیزات جانبی همراه پروگرامر :
سایر تجهیزات |
مدل پروگرامر |
کابل USB |
فاب |
کیف |
STK500 |
دارد |
ندارد |
ندارد |
Multi AVR |
دارد |
ندارد |
ندارد |
Hattel |
دارد |
دارد |
ندارد |
SANA |
دارد |
دارد |
دارد |
امکانات اولیه شامل کابل USB در تمامی پروگرامرها موجود است. و پروگرامرهای ECA و نوآوران همین امکانات مقدماتی را فراهم نمودند. اما پروگرامرهای هاتل و سانا دارای بدنه و قاب مناسب هستند. و البته داشتن قاب برای هر ابزار حرفه ای لازم است. و در این میان پروگرامر سانا حتی دارای کیف مخصوص جهت نگهداری پروگرامر به همراه کابل های همراه آن است.
زیف سوکت استاندارد و هوشمند :
میکروهای ساپورت شده بر روی زیف سوکت |
مدل پروگرامر |
40 پین |
ATmega8515 |
28 پین |
20 پین |
14 پین |
8 پین |
STK500 |
دارد |
ندارد |
دارد |
دارد |
ندارد |
دارد |
Multi AVR |
دارد |
ندارد |
دارد |
دارد |
ندارد |
دارد |
Hattel |
دارد |
دارد |
دارد |
دارد |
دارد |
دارد |
SANA |
دارد |
دارد |
دارد |
دارد |
دارد |
دارد |
پروگرامرهای ECA و نوآوران بدلیل عدم استفاده از روش استاندارد در زیف سوکت عملا نمیتوانند تمامی میکروهای دیپ را بر روی زیف سوکت ساپورت کنند. در میکروهای 40 پین میکروی ATmega8515 که اتمل برای جایگزینی در طرح های مبتنی بر 8051 طراحی کرده این پروگرامرها امکان کار با آنرا ندارند و کلا میکروهای 14 پین همچون ATtiny24 را ساپورت نمیکنند. اما پروگرامر سانا و هاتل تمامی میکروهای دیپ را بر روی زیف سوکت ساپورت میکنند.
ایمنی میکروها بر روی زیف سوکت و شناسایی درست |
مدل پروگرامر |
40 پین |
28 پین |
20 پین |
8 پین |
STK500 |
ندارد |
ندارد |
ندارد |
ندارد |
Multi AVR |
ندارد |
ندارد |
ندارد |
ندارد |
Hattel |
دارد |
دارد |
دارد |
دارد |
SANA |
دارد |
دارد |
دارد |
دارد |
پروگرامرهای ECA و نوآوران الکترونیک به دو دلیل ایمنی لازم جهت محافظت از میکروکنترلرها را در حین پروگرام کردن؛ ندارند.
- در این پروگرامرها در صورتیکه میکرو جابجا درج شود و یا برعکس بر روی زیف قرار گیرد به دلیل اتصال دائم خطوط تغذیه و اتصال کوتاه بسیاری از پایه ها به هم احتمال صدمه دیدن میکرو بالا است و پروگرامر به هیچ عنوان امکان بررسی این موضوع و قطع خطوط تغذیه و سیگنال را ندارد. در نتیجه میکرو به سادگی ممکن است صدمه ببیند.
- حتی اگر شما میکرو را درست در زیف سوکت پروگرامر قرار دهید و بدون آنکه فیوزبیت ها را پروگرام کنید و فقط با پروگرام ساده یک برنامه چند خطی نیز امکان سوختن میکرو و یا حداقل عدم شناسایی میکرو در پروگرامر های ECA و نوآوران وجود دارد. چون در این پروگرامرها به روش بسیار غلطی پین های مختلف زیف سوکت به هم اتصال کوتاه شده اند. در نتیجه برخی خطوط تغدیه به پورت های میکرو وصل هستند و برخی پین های پورت ها هم اتصال کوتاه شده اند. در نتیجه اگر شما در برنامه خود این پین ها را به عنوان خروجی تعریف کرده باشید احتمال اتصال کوتاه و صدمه دیدن میکرو و یا عدم شناسایی میکرو وجود دارد.
در واقع میتوان اینگونه نتیجه گرفت این پروگرامرها بطور کلی فاقد زیف سوکت هستند. برای مثال من دو برنامه برای میکروهای پر کاربرد ATmega8 و ATmega32 نوشتم و فایل هگز آنرا در زیر قرار دادم. کافیست این برنامه ها را درون میکرو برنامه ریزی کنید و مشاهده میکنید که هر دو میکرو بر روی زیف سوکت به شدت داغ میشوند و میکرو ATmega32 بر روی زیف سوکت پروگرامر قابل شناسایی نیست. و ATmega8 هم بعد از مدتی قابل شناسایی نیست! البته نگران نباشید این میکروها را میتوانید از طریق کابل ISP پروگرام کنید. و با این آزمایش ساده میتوان اینگونه نتیجه گرفت تنها پروگرامرهای سانا و هاتل دارای زیف سوکت به معنای اصلی خود هستند.
فایل هگز برنامه تست برای میکرو ATmega32
فایل هگز برنامه تست برای میکرو ATmega8
نتیجه گیری :
یکبار دیگر جدول های بالا را با هم مقایسه کنیم خواهید دید :
پروگرامر نوآوران الکترونیک با قیمت 120 هزار تومان :
- فاقد ساپورت تمامی میکروهای AVR دیپ بر روی زیف سوکت.
- فاقد امکان برنامه ریزی EEPROM های سری 24
- فاقد امکان برنامه ریزی EEPROM های سری 93
- قاقد امکان برنامه ریزی میکروهای سری 89S5X
- فاقد حفاظت میکروها بر روی زیف سوکت
- فاقد قاب
- فاقد کیف
پروگرامر Multi AVR Programmer ECA با قیمت 80 هزار تومان :
- فاقد ساپورت تمامی میکروهای AVR دیپ بر روی زیف سوکت
- فاقد امکان بازیابی میکروها در تمامی حالات فیوزبیت CKSEL
- فاقد امکان برنامه ریزی EEPROM های سری 93
- قاقد امکان برنامه ریزی میکروهای سری 89S5X
- فاقد حفاظت میکروها بر روی زیف سوکت
- فاقد قاب
- فاقد کیف
پروگرامر هاتل با قیمت 100 هزار تومان :
- فاقد امکان برنامه ریزی EEPROM های سری 24
- فاقد امکان برنامه ریزی EEPROM های سری 93
- فاقد امکان کار در لینوکس و اندروید و مک
- فاقد کیف