ARM, پروژه, توصیه شده, میکروکنترلر

پروگرامر Sisoog-Link معرفی پروگرامر ARM و AVR

پروگرامر Sisoog-link

پروگرامر Sisoog-Link ؛ ابزار! همیشه یکی از اساسی ترین امکانات لازم برای یادگیری و انجام کارهای مختلف بوده و خواهد بود، متاسفانه یکی از رشته‌های گران در دنیا، رشته الکترونیک است، چرا که ابزار های لازم مربوطه از قیمت های سرسام آوری برخوردار هستند و تهیه تمام ابزار های لازم واقعا نیاز به سرمایه گذاری بسیار زیادی دارد. حتی در ایران که متاسفانه قوانین کپی رایت به درستی رعایت نمی شود و خیلی از ابزارها به صورت تقلبی و یا قفل شکسته در دسترس کاربر است ، همچنان از قیمت های بالایی برخوردار هستند مخصوصا برای دانشجویی که سعی می کند با کار نیمه وقت هزینه های تحصیل و یادگیری را تامین کند، یا دانش آموز علاقه مندی که مجبور است ماه ها صبر کند تا بتواند لوازم مورد نیاز ربات مورد نظر خود را خریداری کند آن هم به شرطی که دلار بالا نرفته باشد، گمرکات کالا را ترخص کرده باشند و …

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

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

چرا پروگرامر

چرا پروگرامر sisoog-link

با توجه به فراگیری میکروکنترلرها و پردازنده‌ها شاید به جرات بتوان گفت یکی از اولین ابزارهای مورد استفاده برای شروع الکترونیک ، پروگرامر می‌باشد! معمولا این ابزار بسته به تعداد آیسی و میکروکنترلری که پشتیبانی می‌کنند قیمت های متفاوتی دارند از چند دلار تا چند هزار دلار !

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

امروزه با فراگیر شدن پردازنده های ARM و کاربرد آن در انواع وسایل صنعتی، آموزشی، پزشکی و … بیشتر افراد علاقه مند در حال کوچ و حرکت به سوی پردازنده ARM  هستند. از طرفی همچنان افرادی هستند که با میکروکنترلر های قدیمی، نظیر AVR کار می‌کنند و عده ای هم شاید به سراغ خانواده STM8 رفته باشند، تقریبا برای هر خانواده از میکروکنترلرها نیاز به یک نوع پروگرارم خواهیم داشت که تهیه آنها هزینه زیادی را به ما تحمیل خواهد کرد.

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

ما چیزی را کپی نمی کنیم

دنیای متن باز open source World

معمولا پروگرامر های حرفه ای ، قیمت خیلی زیادی دارند ، به عنوان نمونه پروگرامر J-Link را فرض کنید ، این پروگرامر پروگرامری است که قادر است تعداد بسیار زیادی از میکروکنترلر های ARM را برنامه ریزی کند و امکانات واقعا جالبی هم به کاربر می‌دهد ، اما آیا واقعا برای یک شخص امکان دارد که چنین پروگرامری را با قیمت 298 یور (با کمترین امکانات موجود) تهیه کند ؟ یعنی قیمتی معادل 4 میلیون تومان ! نوع حرفه ای این پروگرامر هم معادل 1980 یور قیمت دارد که تقریبا معادل 25 میلیون تومان می‌شود ! پر واضح است که تهیه چنین پروگرامری حتی برای شرکت های کوچک هم مقدور نیست!

ممکن است به خود بگویید، که ما نوع حرفه ای این پروگرامر را با مبلغ 90 هزار تومان از بازار تهیه می کنیم ! ، بله درست است ولی واقعا چه چیزی رو تهیه می کنید ؟، یک پروگرامر قفل شکسته که در ورژن های جدید نرم افزار فیلتر شده و فریمور آن هر چند روز یک بار پاک شود! شاید با این کار به صورت ناخواسته مرتکب عملی میشویم خلاف قانون و غیر اخلاقی ! وقعا چرا باید چنین عملی را مرتکب شویم ؟

استفاده از نرم افزار و سخت افزار قفل شکسته و کپی شده ، عملی است غیر اخلاقی ، غیر قانونی ! حتی به لحاظ شرعی و دینی هم مذموم است

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

Sisoog-Link چگونه پروگرامری خواهد بود؟

گفتیم قرار است پروگرامری طراحی کنیم که حرفه ای باشد ، اما حرفه ای بودن را چگونه تفسیر می کنیم!، پروگرامر Sisoog_Link نسبت به دیگر پروگرامر های متن باز یا حتی غیر متن باز نظیر ST-Link یا J-Link چه برتری هایی خواهد داشت؟ اصلا چرا باید از پروگرامر Sisoog-Link استفاده کنیم ؟

بگذارید مقداری مساله را به صورت تخصصی بررسی کنیم، پروگرامر Sisoog-Link به صورت مستقیم در نرم افزار های Keil و IAR و Eclipse و … شناسایی خواهد شد ، نیازی به درایور برای پروگرامر ARM ندارد ، علاوه بر پروگرام قادر است درون نرم افزار های ذکر شده برنامه را دیباگ کند ، یعنی تمام پارامتر های لازم برای کار کردن با میکروکنترلرهای رایج بازار !

پشتیبانی از میکروکنترلر های AVR با پروتکل استاندارد STK500 ، که این امکان را به پروگرامر می‌دهد که به صورت مستقیم در نرم افزار های Codevision و Bascom Avr و AtmelStudio شناسایی شود و بدون نیاز به برنامه دیگر در درون این نرم افزار ها قادر به پروگرام میکروکنترلر های AVR باشید.

اگر بخواهیم به صورت تیتر وار قابلیت های این پروگرامر را مرور کنیم ، قابلیت ها شامل موارد زیر می باشد:

  •  سخت افزار ارزان و در دسترس
  • پشتیبانی از بوت لودر جهت بروز رسانی فریمور
  • پشتیبانی از رابط SWD برای پروگرام میکروکنترلر ARM
  • پشتیبانی از رابط ISP برای پروگرام میکروکنترلر AVR
  • پشتیبانی از پروتکل STK500 جهت ارتباط مستقیم با نرم افزار های Codevision و Bascom Avr و AtmelStudio
  • پشتیبانی از پروتکل CMSIS-DAP برای ارتباط مستقیم با نرم افزار های Kail و IAR
  • پشتیبانی از تمام هسته های Cortex-m نظیر تمام خانواده های ST برخی میکروهای جدید NXP و Atmle و…

سخت افزار ارزان پروگرامر Sisoog-Link

st-link clone پروگرامر

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

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

شناسایی مستقیم در نرم افزار های keil  و IAR

پروگرامر sisoog-link در نرم افزار keil

 

پروگرامر Sisoog-Link به صورت مستقیم در نرم افزار های IAR و Keil قابل استفاده است ، اما چطور ممکن است ؟ ، خوشبختانه همه به صورت تجاری فکر نمی کنند و هنوز شرکت های بزرگی هستند که برخی قابلیت ها و کتابخانه ها رو به صورت متن باز منتشر می کنند ، شرکت ARM  هم از این گونه شرکت ها است ، پروتکل CMSIS-DAP در واقع یک پروتکل متن باز برای پروگرام و دیباگ کردن میکروکنترلرهایی است که بر پایه هسته Cortex-M تولید می شوند. همانطور که میدانید هسته Cortex-m مخصوص استفاده میکروکنترلرها ساخته و طراحی شده است . تقریبا تمام میکروکنترلر های جدید از هسته Cortex-m استفاده می کنند مگر در شرایط خاص یا میکروکنترلر هایی با طراحی قدیمی که از هسته هایی غیر از Cortex-m استفاده می کنند.

می توان نتیجه گرفت که از پروتکل CMSIS-DAP در اغلب میکروکنترلرهای رایج میتوان استفاده کرد ، پس منطقی است که این پروتکل نیز جزء پروتکل های استاندارد به ادیتور و دیباگر ها اضافه شود.

شناسایی مستفیم در نرم افزار های Codevision ،Bascom Avr ، AtmelStudio

رابط stk500 پروگرامر sisoog-link

شرکت atmel نیز با رویکرد متن باز ، شروع به گسترش میکروکنترلر avr کرد ، کامپایلر ، پروگرامر و ابزار های مختلفی نیز برای این منظور ارائه کرده است و فکر می‌کنم همین رویکرد باعث موفقیت و مطرح شدن این میکروکنترلر در جهان شد ، پروگرامر stk500 ، بهتر بگم پروتکل stk500 که برای پروگرام کردن میکروهای avr از سوی شرکت Atmel معرفی شد ، با استفاده از پورت سریال امکان پروگرام کردن میکروکنترلرهای avr را در اختیار کاربر می گذارد. تقریبا تمام  کامپایلر ها و ide های avr از این پروتکل برای پروگرام کردن میکروکنترلر avr استفاده می کنند.

پروگرامر sisoog-link با شبیه سازی یک پورت سریال و پیاده سازی پروتکل stk500 ، امکان برنامه ریزی از درون این نرم افزار ها را به صورت مستقیم فراهم کرده است ، و دیگر لازم نیست از نرم افزار جانبی دیگری برای این کار استفاده کنید.

چطور پروگرامر St-Link را به پروگرامر sisoog-Link تبدیل کنیم ؟

برای پاسخ به این سوال منتظر قسمت بعدی مقاله باشید. در قسمت آینده جزییات بیشتری از پروگرامر sisoog-link و نحوه ساخت این پروگرامر بیان خواهیم کرد. با سیسوگ همراه شوید.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

10 دیدگاه در “پروگرامر Sisoog-Link معرفی پروگرامر ARM و AVR

  1. Avatar for علی علی گفت:

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

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز 🙂
      برای پروگرام کردن حالت موازی – شما نیازی به فعال بودن کلاک ندارید چون دیتا رو سریال نمی گیرید و تنها کافیه برای لچ شدن هر بایت درون حافظه خودتون به شکلی دستی پالس رو روی پایه xtal1 ایجاد کنید. پس اصلا نگران وضعیت فیوز بیت ها نباشید هرچی که باشه کار خواهد کرد.فقط اون ۶ مرحله توضیح داده شده درون دیتاشیت رو برای ورود به حالت پروگرام موازی رعایت کنید.

  2. Avatar for محمد محمد گفت:

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

    1. Avatar for Sisoog OS Sisoog OS گفت:

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

  3. Avatar for محمد محمد گفت:

    سلام
    انقدر سایتتون مقالاتش خوبه که داره گریم میگیره
    دست مریزاد.
    لطفا یه بخشی رو اضافه کنید برای donate. سایت خوبتون نباید به دلیل مشکلات مالی بسته بشه!

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز 🙂
      خیلی خوشحالیم که تونستیم قدمی هرچند کوچک در راستای آموزش الکترونیک برداریم
      و حمایت شما همراهان عزیز ، ما را دلخوش و دلگرم به ادامه مسیر میکند

  4. Avatar for احسان احسان گفت:

    سلام
    خدا خیرتون بده خیلی مطالب خوبی میذارید

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خواهش میکنم دوست عزیزم
      تمام سعی ما اینه که بتونیم کمکی انجام بدیم

  5. Avatar for Amir Amir گفت:

    جالبه …
    منتظریم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      بله به زودی 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *