اطلاعیه

Collapse
No announcement yet.

نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

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

    1- پروگرامرهای استاندارد ISP مثل : STK200/300 - STK500 - USBASP

    نکته مهم اما فراموش شده توسط کاربران این موضوع است که تمامی پروگرامرهای استاندارد عموما از روش ISP جهت برنامه ریزی استفاده میکنند. به عبارت دیگر شما توسط یک کابل معمولا 5 الی 6 سیمه که شامل MOSI - MISO - SCK - RESET - GND - VCC قادر به برنامه ریزی میکرو هستید.

    اما اغلب افراد تمایل دارند که میکرو نه درون مدار بلکه بر روی زیف سوکت پروگرام کنند. بدون توجه به اینکه این پروگرامرها فاقد ویژگی پشتیبانی از زیف سوکت در طرح اصلی هستند. و از اینجا مشکلات شروع میشود. در تمامی موارد با یک روش بسیار ابتدایی اقدام به خوراندن زیف سوکت به پروگرامر میشود تا بتوان با یک زیف سوکت تمامی میکروهای DIP را پروگرام کرد. در واقع برخی از خطوط زیف سوکت بصورت مستقیم و یا از طریق جامپر و یا دیپ سوئیچ با هم موازی و متصل میکنند.
    روش فوق به علت سادگی آن بقدری مورد استقبال واقع شده که اکثر افراد فراموش میکنند که پروگرامر آنها ISP بوده. اما اشکالات این روش :

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

    - نکته بعدی بدلیل موازی بودن پایه های زیف سوکت جهت درج تمامی میکروها بر روی یک زیف سوکت عملا احتمال تداخلی که در بالا به آن اشاره شد بیشتر شده و این مورد در رابطه با میکروهای محبوبی مثل ATmega16 , ATmega32 بدلیل 40 پایه بودن بیشتر مشاهده میشود.

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

    - در برخی از مدل های پروگرامر سعی شده جهت کاستن از احتمال تداخل سیگنالی ناشی از موازی بودن پین ها، تعدادی جامپر و یا دیپ سوئیچ در مدار قرار داده شود. تا خطوط غیر ضروری متصل نشوند. اما این روش خود باعث ایجاد دردسر جدیدی مشابه مورد قبل میشود. افزایش احتمال خطای ناشی از تنظیم غلط چامپرها و یا دیپ سوئیچ ها و در نتیجه تلف شدن وقت جهت یافتن مشکل. و یا دستکم کند شدن سرعت پروگرام کردن میکروهای مختلف.

    - نکته بسیار مهم که نباید فراموش کنید پروگرامرهای ISP فاقد مولد کلاک جهت میکرو هستند. چون فرض بر این است که شما از پروگرامر درون مدار استفاده میکنید و تغذیه و کلاک لازم را تامین کرده اید. اما بر روی زیف سوکت چطور؟ در برخی طرح ها که اقدام به خوراندن زیف سوکت به پروگرامر ISP کرده اند. هیچ پیش بینی برای این موضوع نشده و بسادگی با تنظیم فیوز بیت CKSEL بر روی گزینه هایی غیر از اسیلاتور داخلی، میکرو از کار خواهد افتاد. البته برخی برای رفع این مشکل از یک سوکت و یا کریستال جداگانه استفاده کرده اند. که این روش علاوه بر اینکه فقط یک حالت و آن هم کریستال خارجی پوشش میدهد و سایر حالات بدون پوشش خواهد ماند. باز هم به علت موازی شدن پین های زیف سوکت که شامل کریستال نیز خواهد بود. مشکلات تداخل و عدم کارکرد درست را خواهد داشت. و احتمال اینکه شما نیز به خیل عظیم کسانی که فکر میکنند میکرو در اثر پروگرام اشتباه سوخته و از کار افتاده اضافه شوید بالا است.

    همانطور که مشاهده کردید وجود زیف سوکت غیر استاندارد بر روی پروگرامر باعث مشکلات زیادی میشود که برای کاربرانی که اولین بار است که قصد تهیه پروگرامر دارند. آشنایی با این مسائل کمک بزرگی در جلوگیری از خطاهای رایج است. بزودی سایر موارد را به این مقاله اضافه میکنم.


    نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

    #2
    پاسخ : نکات بسیار مهم در تهیه پروگرامر که متا

    همانطور که در قسمت قبل توضیح داده شد پروگرامرهای استاندارد بصورت ISP هستند و اینکه در طرح های موجود زیف سوکت در کنار آن قرار گرفته است، بدلیل غیر استاندارد بودن اتصال زیف سوکت عملا مشکلات زیادی را بوجود می آورد. اما چند نکته گول زننده که باید مراقب آن باشید. نکاتی که ممکن است در نگاه اول از مزایای پروگرامر دیده شود ولی در حقیقت اینگونه نیست :

    1- کلید ON/OFF : باید بدانید که پروگرامرهای قدیمی بدلیل استفاده از پورت سریال و یا پرینتر جهت ارتباط با کامپیوتر به یک آدابتور جهت تغذیه مدار نیاز داشتند. از طرفی ولتاژ برنامه ریزی نیز 12 ولت بود که دلیل دیگری بر نیاز به آدابتور بود. حالا میتوانید تصور کنید که اگر شما بعد از پایان کار کابل دستگاه پروگرامر را قطع میکردید. باز پروگرامر روشن بود و ممکن بود به قطعات آن صدمه وارد شود. برای رفع این مشکل در اینگونه پروگرامرها یک کلید روشن خاموش نیز قرار داشت.
    اما در پروگرامرهای جدید بدلیل استفاده از پورت USB و تامین تغذیه از همین طریق، در هنگام جدا کردن پروگرامر ار پورت USB تغذیه نیز قطع میشود. حالا شما بگویید قرار دادن یک کلید ON/OFF در این نوع پروگرامرها چه تعریفی خواهد داشت؟ و در صورتیکه شما کلید را در حالت خاموش قرار دهید بدلیل اتصال سایر خطوط USB به مدار ممکن از خطوط دیتا جریان کشیده شود و مشکلاتی را بوجود بیاورد.

    2- فیوز : در پروگرامرهای قدیمی شاید کاربردی داشت ولی در پروگرامرهای جدید با توجه به جریان و ولتاژ پایین تر جهت پروگرام و حفاظت این پورت توسط کامپیوتر نیازی ندارد و بازهم بدلیل اینکه فیوز فقط خطوط تغذیه آنهم یک مسیر مثل +5 ولت را قطع میکند و خطوط گراند و دیتا همچنان متصل هستند کارایی چندانی ندارد.

    موارد فوق بخشی از قطعات اضافه ای بود که به پروگرامر اضافه میشود و عملا شما در طرح های داخلی مشاهده میکنید در حالیکه در طرح استاندارد اتمل وجود ندارد. و باید به این مطلب توجه کنید که هر چقدر به این موارد بیهوده اضافه شود علاوه بر شلوغ کردن مدار باعث افزایش احتمالات خرابی نیز میشوند.مثلا موقعی که پروگرامر کار نمیکند علاوه بر بررسی مدار میکرو و اتصالات و غیره باید فیوز و کلید را هم بررسی کنید!!!

    حالا سئوال اینجاست که پروگرامرهایی که بروش اصولی زیف سوکت را ساپورت میکنند، چه نوع پروگرامرهایی هستند؟

    ساده ترین روش تشخیص پروگرامرهای تک زیف سوکت استاندارد از نوع بدون کیفیت و غیر استاندارد، که نیازی نیز به باز کردن پروگرامر و حتی نگاه کردن به کف برد پروگرامر، جهت تشخیص اتصالات زیف نداشته باشد، فقط کافی است که نحوه درج میکروها و آی سی ها بر روی زیف سوکت را توجه کنید. در پروگرامرهای غیر استاندارد، هر آی سی بر حسب نوع و یا تعداد پین ها در مکان متفاوتی درج میشوند. اما در نوع استاندارد تمامی میکروها بر روی پین یک زیف سوکت درج میشوند. به همین سادگی!
    برای مثال تصویر زیر یک پروگرامر با زیف سوکت غیر استاندارد را نشان میدهد. اگر به سمت راست تصویر دقت کنید راهنمای درج قطعات نشان میدهد که میکروهای مختلف در پین های مختلف زیف قرار میگیرند :


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

    همانطور که قبلا هم اشاره شده پروگرامرهای استاندارد فاقد زیف سوکت هستند. لذا تمامی پروگرامرهایی که از زیف سوکت پشتیبانی میکنند. از پروتکل های خاص خود استفاده کرده و در نتیجه در نرم افزارهای توسعه همچون بسکام کدویژن و اتمل استدیو قابل استفاده و معرفی مستقیم نیستند.
    (البته در این بین یک استثنا وجود دارد و آن هم پروگرامر سانا است) در این نوع پروگرامرها شما بعد از کمپایل برنامه و تولید فایل هگز باید فقط توسط یک برنامه جداگانه دیگر که توسط شرکت تولید کننده پروگرامر طراحی شده اقدام به پروگرام کنید.
    بسادگی در اینجا یک ضعف بزرگ در این پروگرامرها روشن میشود و آن هم نیاز به برنامه جداگانه برای استفاده از پروگرامر هست در حالیکه شما STK200/300 را در بسکام و یا کدویژن استفاده میکنید. و کار کردن را بسیار راحت تر و دلپذیرتر میکند. بعلاوه اینکه محیط تنظیمات فیوز بیت های بسکام بسیار خوب طراحی شده است. و شما برای استفاده از این نوع پروگرامرها باید از این امکانات و راحتی چشم پوشی کنید.
    نکته دیگر در این زمینه محدود شدن پروگرامر به محیط ویندوز است. که دلیل آن همان برنامه شرکتی است. عملا شما براحتی از پروگرامر STK200/300 خود در ویندوز و لینوکس میتوانید استفاده کنید ولی از پروگرامرهای شرکتی فوق نمیتوانید.

    البته در اندروید که بر روی گوشی و یا تبلت نصب است نمیتوانید از STK200/300 استفاده کنید بدلیل استفاده از پورت پرینتر در این پروگرامر و عدم وجود آن در تبلت و گوشی! و اینجا است که نقش پورت مورد استفاده در پروگرامر مطرح میشود.

    انشاالله در ادامه به نقش پورت و تاثیر آن خواهم پرداخت.

    نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

    دیدگاه


      #3
      پاسخ : نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

      در این قسمت قصد بررسی پورت ها مختلف مورد استفاده در پروگرامرها میپردازم. وظیفه پورت ها ارتباط بین کامپیوتر و وسایل جانبی است. در گذشته دو پورت پرینتر و سریال بر روی کامپیوتر وجود داشت. به همین دلیل وسایل مختلفی جهت استفاده از این پورت ها طراحی شده و استفاده میشدند. که پروگرامرها نیز جزو این دسته از وسایل بودند.
      پورت سریال کاربرد ساده تری نسبت به پورت سریال داشت و معمولا پروگرامرهایی که از پورت موازی یا همان پرینتر استفاده میکنند مدار بسیار ساده تری دارند و در نتیجه قیمت پایین تری نیز ممکن است داشته باشند.
      اما این دو پورت معایبی نیز دارند که شامل موارد زیر بود که باعث کنار گذاشتن آنها در سیستم های جدیدتر گشت :
      1- عدم تامین تغذیه بر روی پورت. تمامی وسایلی که به این دو پورت متصل میشوند نیاز به تامین تغذیه بصورت جداگانه دارند. مثلا اگر پروگرامر شما از پورت موازی استفاده میکند و نیاز به یک آدابتور نیز برای روشن شدن مدار پروگرامر خواهید داشت.
      2- سرعت نسبتا پایین این پورت ها که کاربرد آنرا برای وسایل جدید محدودتر میکرد. قاعدتا پروگرامرهایی که از این پورت استفاده میکنند دارای محدودیت سرعت خواهند بود.
      3- عدم حفاظت لازم جهت جلوگیری از صدمات احتمالی در اثر جریان های غیر مجاز. توجه داشته باشید که در صورتیکه شما از پروگرامر بصورت داخل مداری استفاده میکنید، احتمال اینکه نوسانات جریانی و یا ولتاژی مدار شما به پورت های سریال و پرنیتر صدمه بزند بسیار بالاست.
      4- محدودیت در تعداد پورتهای قابل استفاده و عدم امکان توسعه سریع و ساده. معمولا بر روی کامپیتورهای قدیمی یک یا حداکثر دو پورت سریال و پرنیتر وجود داشت و در صورتیکه وسایل گوناکونی را به این پورت ها متصل میکردید امکان اتصال سایر وسایل قاعدتا وجود نداشت. و برای توسعه این پورت ها نیاز به خرید کارت های توسعه و باز کردن کامپیوتر برای نصب بود.
      5- تشخیص قطع و وصل دستگاه به پورت بسادگی مقدور نبود. اگر توجه داشته باشید به محض وصل یک وسیله به پورت USB کامپیوتر سریعا آنرا شناسایی کرده و اقدام به نصب درایور آن میکند در حالیکه در پورت سریال و پرینتر این امکان وجود ندارد.
      6- در پایان هم ابعاد نسبتا بزرگ این پورت ها را نیز میتوان جزو معایب آن به حساب آورد.

      با توجه به موارد فوق و اینکه این پورت ها در کامپیوترهای جدید ساپورت نمیشوند و حتی در دستگاه های جدید همچون لپ تاپ و تبلت و گوشی های هوشمند به هیچ عنوان وجود ندارند. توصیه به استفاده آن نمیشود. اما گزینه بسیار محبوب و کارآمد چیست؟

      پورت USB بهترین گزینه برای هر وسیله جدیدی است که تصمیم به اتصال آن به کامیپوتر را دارید است. به دلیل :
      1- تامین تغذیه بر روی پورت. تمامی وسایلی که از این پورت استفاده میکنند نیازی به داشتن آدابتور و یا باتری برای روشن شدن ندارند. قاعدتا پروگرامرهای USB نیز نیازی به تامین تغذیه جداگانه نخواهند داشت.
      2- سرعت بالای این پورت آنرا برای ابزارهایی همچون اسکنرها و دوربین های دیجیتال و یا حافظه های قابل حمل مثل هارد اکسترنال که حجم بالای داده باید منتقل شود را مناسب ترین گزینه کرده است. در نتیجه پروگرامرهای USB امکان داشتن سرعت بالا را دارند.
      3- جریان مصرفی در این پورت همیشه کنترل میشود و در صورت عبور جریان غیر مجاز جلوی آن گرفته میشود تا پورت و دستگاه متصل به آن صدمه نبیند. در نتیجه برای پروگرام داخل مداری مشکلات کمتری وجود خواهد داشت.
      4- شما بسادگی میتوانید با خرید یک هاب ارزان قیمت تعداد پورت های خود را افزایش دهید. امری که در پورت های قدیمی بسیار مشکل تر و پر هزینه تر بود.
      5- در پورت USB امکان تشخیص اتصال و یا جدا شدن تجهیزات به پورت وجود دارد. در نتیجه امکان رخ دادن خطا در برنامه ها کاهش یافته و استفاده از وسایل را راحتر میکند.
      6- ابعاد این پورت بسیار کوچکتر از پورت سریال و پرینتر است و در استانداردهای مختلفی ارائه شده بطوریکه حتی در ابزارهای بسیار کوچکی مثل گوشی های موبایل و ... موجود است.

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

      یک نکته بسیار مهم :
      برخی پروگرامرها ذاتا از پورت سریال استفاده میکنند و مثل STK500 ولی اگر به بازار مراجعه کنید متوجه میشوید که پروگرامر STK500 دارای پورت USB است. در واقع در مدار این پروگرامرها از یک مبدل USB به سریال استفاده شده است. اما سئوال اینجاست که آیا این پروگرامرها را میتوان به عنوان پروگرامر USB به حساب آورد و یا دارای اشکلاتی هستند؟
      درجواب باید توجه کنید که مبدل های USB به سریال با نصب بر روی ویندوز بصورت یک پورت COM که شماره ای بین 1 تا 255 به آن اختصاص داده میشود شناسایی میشوند. در نتیجه برخلاف پورت های قدیمی سریال که دارای یک شماره و آدرس مشخص و ثابت بودند این مبدل ها دارای آدرس ثابتی نخواهند بود و ممکن است در صورتیکه به پورت USB دیگری متصل شوند با یک آدرس جدید شناسایی شوند. اگر دقت کنید متوجه میشوید :

      1- آدرس جدید یعنی نیاز به تنظیم شماره پورت دوباره پروگرامر در نرم افزار.
      2- برخی از نرم افزارها فقط تا شماره مشخصی پورت را ساپورت میکنند و اگر مثلا شماره پورت سریال مبدل شما در این محدود نباشد قابل شناسایی نخواهد بود و باید در کنترل پنل ویندوز به اختصاص شماره پایین تر در صورت وجود و عدم استفاده اقدام کنید. و این به معنای دردسر بیشتر برای شما خواهد بود.
      3- احتمال تداخل بین دستگاهای مختلف مثل فکس مودم ها و یا بلوتوث برخی گوشی ها و درایور مربوط به آنها و سایر وسایلی که از پورت سریال استفاده میکنند بالا است. و ممکن است دردسرهای عجیبی را برای شما فراهم کند.

      در نهایت اینکه پروگرامر STK500 بصورت اورجینال دارای امکانات بسیاری همچون امکان برنامه ریز ولتاژ بالا بوده که در طرح های موجود در بازار برخی از امکانات حذف شده و عملا ممکن است در برخی موارد در صورت تنظیمات غلط نرم افزاری مشکلاتی را بوجود می آورد.

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

      در ادامه به بررسی پروگرامرهای کلون شده خواهیم پرداخت.

      نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

      دیدگاه


        #4
        پروگرامرهای کلون

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

        1- سخت افزار : معمولا شرکت کپی کننده، جهت رقابت با محصول اصلی با تغییر در بخش هایی از سخت افزار و یا استفاده از قطعات بی کیفیت، سعی در کاهش هزینه ها و در نتیجه رقابت در عرصه قیمت دارد. و این باعث میشود که پروگرامرهای کلون سرعت و قابلیت های آن نسبت به نمونه اصلی افت داشته باشد.

        2- نرم افزار : این نرم افزارها معمولا توسط شرکت اصلی پدیت و بروز رسانی میشوند تا علاوه بر ساپورت قطعات جدید. اشکالات احتمالی نیز برطرف شوند. اما پروگرامرهای کلون معمولا امکان این پدیت ها را ندارند.

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

        نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

        دیدگاه

        لطفا صبر کنید...
        X