پروگرامر از آن دسته ابزارهای لازم و ضروری برای علاقمندان به میکروکنترلر ها است. اما اغلب دوستان در هنگام تهیه اولین پروگرامر دچار خطاهایی میشوند که ناشی از نداشتن تجربه کافی در این حوزه است. من سعی میکنم برخی از این موراد را با کمک شما دوستان در اینجا بررسی کنم. تا کمک خوبی برای انتخاب بهتر باشد :
1- پروگرامرهای استاندارد ISP مثل : STK200/300 - STK500 - USBASP
نکته مهم اما فراموش شده توسط کاربران این موضوع است که تمامی پروگرامرهای استاندارد عموما از روش ISP جهت برنامه ریزی استفاده میکنند. به عبارت دیگر شما توسط یک کابل معمولا 5 الی 6 سیمه که شامل MOSI - MISO - SCK - RESET - GND - VCC قادر به برنامه ریزی میکرو هستید.
اما اغلب افراد تمایل دارند که میکرو نه درون مدار بلکه بر روی زیف سوکت پروگرام کنند. بدون توجه به اینکه این پروگرامرها فاقد ویژگی پشتیبانی از زیف سوکت در طرح اصلی هستند. و از اینجا مشکلات شروع میشود. در تمامی موارد با یک روش بسیار ابتدایی اقدام به خوراندن زیف سوکت به پروگرامر میشود تا بتوان با یک زیف سوکت تمامی میکروهای DIP را پروگرام کرد. در واقع برخی از خطوط زیف سوکت بصورت مستقیم و یا از طریق جامپر و یا دیپ سوئیچ با هم موازی و متصل میکنند.
روش فوق به علت سادگی آن بقدری مورد استقبال واقع شده که اکثر افراد فراموش میکنند که پروگرامر آنها ISP بوده. اما اشکالات این روش :
- باید بدانید که خطوط تغذیه بر روی پروگرامرهای زیف سوکت دار استاندارد بصورت موقت و فقط در حین پروگرام کردن به میکرو متصل میشوند. اما در پروگرامرهای غیر استاندارد از لحظه درج میکرو و قبل از شروع پروگرام و حتی بعد از پایان عملیات پروگرام به میکرو تغذیه وصل است. در نتیجه میکرو فعال بوده و امکان تداخل سیگنالهای آن با پروگرامر وجود دارد. که غالب افراد از این موضوع شکایت میکنند که چرا میکرو پس از پروگرام شدن قابل شناسایی نیست و یا پروگرامر حتی از کار افتاده و باید کامپیوتر را ریست کرده و یا کابل USB را قطع و وصل کنند.
- نکته بعدی بدلیل موازی بودن پایه های زیف سوکت جهت درج تمامی میکروها بر روی یک زیف سوکت عملا احتمال تداخلی که در بالا به آن اشاره شد بیشتر شده و این مورد در رابطه با میکروهای محبوبی مثل ATmega16 , ATmega32 بدلیل 40 پایه بودن بیشتر مشاهده میشود.
- موازی کردن پایه های زیف سوکت جهت استفاده از یک زیف سوکت باعث خواهد شد که تمامی میکروها از یک محل بر روی زیف درج نشده و محل درج آنها با توجه به تعداد پایه های میکرو متفاوت باشد. این موضوع خود میتواند باعث افزایش خطای شما در حین استفاده از پروگرامر شده و بعضا ساعت ها وقت شما تلف شده تا متوجه این اشتباه ساده شوید. و یا دستکم کند شدن سرعت پروگرام کردن میکروهای مختلف.
- در برخی از مدل های پروگرامر سعی شده جهت کاستن از احتمال تداخل سیگنالی ناشی از موازی بودن پین ها، تعدادی جامپر و یا دیپ سوئیچ در مدار قرار داده شود. تا خطوط غیر ضروری متصل نشوند. اما این روش خود باعث ایجاد دردسر جدیدی مشابه مورد قبل میشود. افزایش احتمال خطای ناشی از تنظیم غلط چامپرها و یا دیپ سوئیچ ها و در نتیجه تلف شدن وقت جهت یافتن مشکل. و یا دستکم کند شدن سرعت پروگرام کردن میکروهای مختلف.
- نکته بسیار مهم که نباید فراموش کنید پروگرامرهای ISP فاقد مولد کلاک جهت میکرو هستند. چون فرض بر این است که شما از پروگرامر درون مدار استفاده میکنید و تغذیه و کلاک لازم را تامین کرده اید. اما بر روی زیف سوکت چطور؟ در برخی طرح ها که اقدام به خوراندن زیف سوکت به پروگرامر ISP کرده اند. هیچ پیش بینی برای این موضوع نشده و بسادگی با تنظیم فیوز بیت CKSEL بر روی گزینه هایی غیر از اسیلاتور داخلی، میکرو از کار خواهد افتاد. البته برخی برای رفع این مشکل از یک سوکت و یا کریستال جداگانه استفاده کرده اند. که این روش علاوه بر اینکه فقط یک حالت و آن هم کریستال خارجی پوشش میدهد و سایر حالات بدون پوشش خواهد ماند. باز هم به علت موازی شدن پین های زیف سوکت که شامل کریستال نیز خواهد بود. مشکلات تداخل و عدم کارکرد درست را خواهد داشت. و احتمال اینکه شما نیز به خیل عظیم کسانی که فکر میکنند میکرو در اثر پروگرام اشتباه سوخته و از کار افتاده اضافه شوید بالا است.
همانطور که مشاهده کردید وجود زیف سوکت غیر استاندارد بر روی پروگرامر باعث مشکلات زیادی میشود که برای کاربرانی که اولین بار است که قصد تهیه پروگرامر دارند. آشنایی با این مسائل کمک بزرگی در جلوگیری از خطاهای رایج است. بزودی سایر موارد را به این مقاله اضافه میکنم.
1- پروگرامرهای استاندارد ISP مثل : STK200/300 - STK500 - USBASP
نکته مهم اما فراموش شده توسط کاربران این موضوع است که تمامی پروگرامرهای استاندارد عموما از روش ISP جهت برنامه ریزی استفاده میکنند. به عبارت دیگر شما توسط یک کابل معمولا 5 الی 6 سیمه که شامل MOSI - MISO - SCK - RESET - GND - VCC قادر به برنامه ریزی میکرو هستید.
اما اغلب افراد تمایل دارند که میکرو نه درون مدار بلکه بر روی زیف سوکت پروگرام کنند. بدون توجه به اینکه این پروگرامرها فاقد ویژگی پشتیبانی از زیف سوکت در طرح اصلی هستند. و از اینجا مشکلات شروع میشود. در تمامی موارد با یک روش بسیار ابتدایی اقدام به خوراندن زیف سوکت به پروگرامر میشود تا بتوان با یک زیف سوکت تمامی میکروهای DIP را پروگرام کرد. در واقع برخی از خطوط زیف سوکت بصورت مستقیم و یا از طریق جامپر و یا دیپ سوئیچ با هم موازی و متصل میکنند.
روش فوق به علت سادگی آن بقدری مورد استقبال واقع شده که اکثر افراد فراموش میکنند که پروگرامر آنها ISP بوده. اما اشکالات این روش :
- باید بدانید که خطوط تغذیه بر روی پروگرامرهای زیف سوکت دار استاندارد بصورت موقت و فقط در حین پروگرام کردن به میکرو متصل میشوند. اما در پروگرامرهای غیر استاندارد از لحظه درج میکرو و قبل از شروع پروگرام و حتی بعد از پایان عملیات پروگرام به میکرو تغذیه وصل است. در نتیجه میکرو فعال بوده و امکان تداخل سیگنالهای آن با پروگرامر وجود دارد. که غالب افراد از این موضوع شکایت میکنند که چرا میکرو پس از پروگرام شدن قابل شناسایی نیست و یا پروگرامر حتی از کار افتاده و باید کامپیوتر را ریست کرده و یا کابل USB را قطع و وصل کنند.
- نکته بعدی بدلیل موازی بودن پایه های زیف سوکت جهت درج تمامی میکروها بر روی یک زیف سوکت عملا احتمال تداخلی که در بالا به آن اشاره شد بیشتر شده و این مورد در رابطه با میکروهای محبوبی مثل ATmega16 , ATmega32 بدلیل 40 پایه بودن بیشتر مشاهده میشود.
- موازی کردن پایه های زیف سوکت جهت استفاده از یک زیف سوکت باعث خواهد شد که تمامی میکروها از یک محل بر روی زیف درج نشده و محل درج آنها با توجه به تعداد پایه های میکرو متفاوت باشد. این موضوع خود میتواند باعث افزایش خطای شما در حین استفاده از پروگرامر شده و بعضا ساعت ها وقت شما تلف شده تا متوجه این اشتباه ساده شوید. و یا دستکم کند شدن سرعت پروگرام کردن میکروهای مختلف.
- در برخی از مدل های پروگرامر سعی شده جهت کاستن از احتمال تداخل سیگنالی ناشی از موازی بودن پین ها، تعدادی جامپر و یا دیپ سوئیچ در مدار قرار داده شود. تا خطوط غیر ضروری متصل نشوند. اما این روش خود باعث ایجاد دردسر جدیدی مشابه مورد قبل میشود. افزایش احتمال خطای ناشی از تنظیم غلط چامپرها و یا دیپ سوئیچ ها و در نتیجه تلف شدن وقت جهت یافتن مشکل. و یا دستکم کند شدن سرعت پروگرام کردن میکروهای مختلف.
- نکته بسیار مهم که نباید فراموش کنید پروگرامرهای ISP فاقد مولد کلاک جهت میکرو هستند. چون فرض بر این است که شما از پروگرامر درون مدار استفاده میکنید و تغذیه و کلاک لازم را تامین کرده اید. اما بر روی زیف سوکت چطور؟ در برخی طرح ها که اقدام به خوراندن زیف سوکت به پروگرامر ISP کرده اند. هیچ پیش بینی برای این موضوع نشده و بسادگی با تنظیم فیوز بیت CKSEL بر روی گزینه هایی غیر از اسیلاتور داخلی، میکرو از کار خواهد افتاد. البته برخی برای رفع این مشکل از یک سوکت و یا کریستال جداگانه استفاده کرده اند. که این روش علاوه بر اینکه فقط یک حالت و آن هم کریستال خارجی پوشش میدهد و سایر حالات بدون پوشش خواهد ماند. باز هم به علت موازی شدن پین های زیف سوکت که شامل کریستال نیز خواهد بود. مشکلات تداخل و عدم کارکرد درست را خواهد داشت. و احتمال اینکه شما نیز به خیل عظیم کسانی که فکر میکنند میکرو در اثر پروگرام اشتباه سوخته و از کار افتاده اضافه شوید بالا است.
همانطور که مشاهده کردید وجود زیف سوکت غیر استاندارد بر روی پروگرامر باعث مشکلات زیادی میشود که برای کاربرانی که اولین بار است که قصد تهیه پروگرامر دارند. آشنایی با این مسائل کمک بزرگی در جلوگیری از خطاهای رایج است. بزودی سایر موارد را به این مقاله اضافه میکنم.
دیدگاه