ARM, PCB, STM, توصیه شده, دسته‌بندی نشده

دانلود پروگرامر ST LINK به همراه سورس – شماتیک و PCB

دانلود پروگرامر رایگان ST LINK

در این پست قصد داریم شماتیک و PCB یک پروگرامر ST LINK  به همراه فایل BIN آن راجهت ساخت و مصرف  خدمت شما ارائه نماییم.

مقدمه ساخت    STLINK Programmer :

در حال حاضر میکروکنترلر های آرم از محبوبیت زیادی بر خوردار هستند. شرکت های زیادی مثل :

texas instruments , analog devices , NXP® Semiconductors, STMicroelectronics و غیره امروزه تحت لیسانس شرکت ARM اقدام به تولید میکروکنترلر آرم می‎نمایند.

هدف‌ ما در این مقاله ساخت یک پروگرمر برای میکروکنترلر های شرکت STMicroelectronics است و می‌خواهیم  سخت افزار آن به همراه فایل شماتیک و PCB و نحوه ساخت آن را برای پروگرام کردن میکروهای این شرکت معرفی نماییم.

نرم افزار مخصوص پروگرامر ST LINK:

میکرو کنترلر STM32

برای برنامه ریزی روی میکرو کنترلر ها از روش های مختلفی استفاده می‌شود. معمولا همه آنها از سیستم jtag پشتیبانی می‌کنند، همچنین شرکت های سازنده راه‌هایی را برای پروگرام کردن بدون سخت افزار پروگرامر پیش بینی می‌کنند. شرکت STM هم برای این منظور نرم افزاری به نام Flash loader ارائه کرده است، که به کمک آن میتوانید توسط پورت سریال میکرو را پروگرام کنید. (البته یکم درد سر هم داره). راه دیگه استفاده از پروگرامر های مخصوص برای میکروکنترلر ها است.

شرکت STM برای میکروهای شرکت خود یک پروگرامر به نام ST LINK ارائه کرده که نسبت به دیگر پروگرامر ها قیمت مناسبی دارد و با آن تمام خانواده های  این شرکت را می‌توان دیباگ و پروگرام نمود.

 

نرم افزار و رابط پروگرام

پروگرامر STM32

 

برای استفاده از پروگرامر ST LINK باید درایور آن را از اینجا دانلود کرده و نصب کنید. سخت افزار ارائه شده توسط رابط کاربری SWD با میکرو ارتباط گرفته و برنامه را روی آن میریزد.

 

ملزومات ساخت پروگرامر رایگان STLINK:

شماتیک پروگرامر ST LINK

ساخت این پروگرامر براحتی امکان پذیر است. قطعات آن را سفارش دهید.

برنامه میکروی آن را توسط یک پروگرامر دیگر روی چیپ PCB پروگرامر ریخته و از کار کرد آن لذت ببرید.

برای این منظور پایه های مربوطه DIO , CLK از کنار برد بیرون آمده است.

 

نحوه ساخت پروگرمر آرم ARM

 

فایل شماتیک و PCB این پست  با استفاده از نرم افزار PROTEL DXP-ALTIUM توسط آقای مهدی رحیمی طراحی شده است که می‌توانید بصورت رایگان آن را از لینک زیر دانلود نمایید.

نکته مهم : با توجه به این که پایه ریست پروگرامر در این مدار سیم کشی نشده است امکان پروگرام کردن میکرو در حالت under reset با استفاده از این مدار وجود ندارد. این حالت در زمانی که پایه های swd یا swclk را به عنوان GPIO برنامه ریزی کرده باشید برای پرورگرام میکرو ضروری است.

لازم به ذکر است فریمور هیچ مشکلی ندارد تنها مساله همان پایه ریست است.

 

Stlink-v2.zip

دانلود فایل Bin برنامه پروگرامر

STLinkV2.J16.S4-Sisoog.zip

 

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

St-Link Stlink-v2 Programmer

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

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

نوشته های مشابه

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

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

52 دیدگاه در “دانلود پروگرامر ST LINK به همراه سورس – شماتیک و PCB

  1. حسین زارع حسین زارع گفت:

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

    1. Sisoog Os Sisoog Os گفت:

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

  2. kamran گفت:

    با درود فراوان
    من یک عدد برد اموزشی دارم که مخصوص میکروکنترلر avr می باشد و روی ان نوشت شده stk200/300 من قبلا به راحتی کار می کردم چون مادربرد .را تعویض کردم در مادربرد جدید فقط پورت usb دارد. امروز من یک سر کابل DB9 و سر دیگر ان را usb زدم. ( روی برد اموزشی ای سی max232 دارد) با تعجب دیدم پورت usb شناسایی نمی شود. و کامپیوتر خطا می دهد.
    ایا سیم بندی انرا اشتباه کردم. به نظر شما چون استاندارد را تغییر دادم باید درایو stk500 نصب نماییم. و در محیط اتمل استودیو 7 چگونه ان را معرفی کنم.
    چه درایوی باید نصب شود تا با ویندوز10 64 بیتی سازگار هم سخت افزار اموزشی شناسایی شود.و هم یو اس بی کابل است.
    با سپاس فراوان

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

      😐 دوست عزیز امیدوارم که پورت usb کامپیوتر شما صدمه ندیده باشه!
      چرا فکر کردید که با این کار قادر خواهید بود برد رو پروگرام کنید ؟
      بذارید توضیح بدم که پروگرامر stk200/300 در واقع از پورت lpt برای برنامه ریزی استفاده میکنه (در حالت بیت بنگ)! پس شما برای این که بتونید مجددا بردتون رو پروگرام کنید نیاز به پورت lpt دارید یا یه پروگرامر دیگه که از usb پشتیبانی کنه مثل stk500 یا usbasp !!!
      stk500 چیزی بیشتر از پورت سریال هست – در واقع دستورهای پروگرامر رو به شکل سریال میگیره ولی روش یه میکروکنترلر داره که فرایند پروگرام کردن رو هندل میکنه !!!!

      1. kamran گفت:

        با سلام
        پس این کابل های که تو بازار هستند یک سر کابل DB9, سر دیگر USB هستش چگونه کار می کنه.

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

          سلام
          داخل اون کابل ها معمولا توی سر rs232 یه آیسی میدل usb به سریال کار شده و غیر ممکنه که مستقیم وصل کرده باشند.

          1. kamran گفت:

            بله -گفتم رو خود برد ای سی Rs232 هستش. و خود سر کابل یو اس بی هم به پورت یو اس بی کامپیوتر وصل میشود.
            فقط نمیدانم چرا شناسایی نمیشود.
            ایا برای شناسایی نرم افزار خاصی می خواهد.

          2. زئوس Zeus زئوس Zeus گفت:

            سلام – من فکر میکنم اون آیسی که شما روی برد دیدید آیسی تغییر سطح ولتاژ هست مثل max232 یا امثال اون
            در صورتی که برای تبدیل پروتکل usb به 323 نیاز به آیسیهایی مثل pl2303 یا cp2103 است

  3. kamran گفت:

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

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

      سلام دوست عزیز
      خوب usb در واقع یه پروتکل نسبتا پیچیده داره که برای استفاده از اون حتما باید از رابط هایی usb استفاده کنید و مثل پورت های lpt یا com نیست که بشه مستقیم کنترلش کرد.
      برای همین در ساده ترین حالت ممکن باید یک میکروکنترلر که از usb پشتیبانی کنه نیاز دارید.
      ما قبلا توی سیسوگ فریمور st-link رو تغییر دادیم که هم میتونه avr و هم arm رو برنامه ریزی کنه
      پروگرامر Sis-Link ساخت پروگرامر ARM و AVR: دگردیسی

  4. محمد حسین رحیمی گفت:

    با سلام.
    شما اینجای پست گفتید که “نکته مهم : با توجه به این که پایه ریست پروگرامر در این مدار سیم کشی نشده است امکان پروگرام کردن میکرو در حالت under reset با استفاده از این مدار وجود ندارد. این حالت در زمانی که پایه های swd یا swclk را به عنوان GPIO برنامه ریزی کرده باشید برای پروگرام میکرو ضروری است. لازم به ذکر است فریمور هیچ مشکلی ندارد تنها مساله همان پایه ریست است.”
    ینی من پایه ریست میکروی روی پروگرامر رو به میکرویی که میخوام پروگرام کنم وصل کنم؟
    اگه نه پس چیکار کنم؟
    ممنون میشم سریع جواب بدید

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

      سلام دوست عزیز از پایه pb0 به عنوان ریست میکرویی که میخواید پروگرام کنید استفاده کنید.

  5. علی گفت:

    ممنون از پاسختون
    کدوم پایه میشه؟

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

      سلام
      فکر میکنم PB10 و PB11 باشه ! توی شماتکش که توی اینترنت هست نگاه کنید به خوبی مشخصه

  6. ali گفت:

    سلام
    مرسی بابت مطالبتون
    نمیشه شماتیک رو دستکاری کرد(+کد) و swim رو به پروگرمر اضافه کرد؟

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

      چرا میشه – نیازی نیست که کد دستت کاری بشه و تنها لازمه که پایه مربوط به swim رو به به یه پین هدر برسونید. 🙂

  7. حسین زارع حسین زارع گفت:

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

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

      سلام دوست عزیز
      شماتیک کامل رو میتونید در لینک زیر ببینید
      Design your own ST-LINK/V2

  8. محسن گفت:

    سلام وقت بخیر مهندس
    سپاسگزارم از تمام مطالب خوب و مفید شما
    مورد بسیار عجیبی در بین دوستان برنامه نویس برای میکروکنترلرهای
    stm32
    وجود داره که تقریبا وقتی با این مشکل مواجه میشن از خیر حل کردنش میگذرن
    ولی چون جنابعالی عزم بسیاری در حل این مطالب دارید خواستم با شما درمیون بگذارم انشالاه که مرتفع بشه
    مشکل در نوع پروگرام کردن پروگرامرهای StLink/V2
    از نوع کوچک یا همون شبه فلش مموریهاست
    این پروگرامرها سری F1 رو در برنامه کیل ورژن 5 به خوبی پروگرام میکنن
    اما زمانی که یک میکرو سری F4 بنده خودم F407VG زدم رو بهش وصل میکنیم در همون کیل 5 اصلا میکرو رو نمیشناسه
    و میکرو فقط با مبدل سریال به Usb پروگرام میشه
    با stlink utility هم جواب نمیده،، یعنی پروگرامر رو میشناسه ولی میکرو رو نه
    در ضمن با نرم افزار خود stlink موجود در مسیر نصب کیل این پروگرامر به ورژن آخر آپگرید شده
    ورژن v2j34s7
    راه حلی مد نظر حضرت عالی هست
    سپاس

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

      امم مطلب جالبیه
      خوب چندین احتمال منطقی وجود داره برای این مساله ای که اشاره کردید :/
      مساله اول اینه که این مدل از پروگرامر های ارزون قیمت توی خروجی از آیسی بافر استفاده نمیکنند و ممکنه به دلیل طول سیم یا امپدانس موجود روی این پایه های میکرو سیگنال درست منتقل نشه
      مساله دوم اینه که خط swd پول آپ نشده باشه و همین مساله میتونه باعث بشه که میکروکنترلر پروگرام نشه ؛
      برای تست میتونید از پروگرامر j-link استفاده کنید تا از کارکرد صحیح رابط swdمطمٔن بشید.

  9. Ahmad Sabeti ثابتی گفت:

    سلام

    خسته نباشید
    تبریک می گم بابت سایت خوبتون
    لینک اول
    https://sisoog.com/download/26374/
    کار نمی کنه دانلود تو 70 % قطع میشه

    با تشکر

    ثابتی

    1. Sisoog Os Sisoog Os گفت:

      دوست عزیز من چندین بار با چند مرورگر تست کردم مشکلی نیست اگر مشکلتون ادامه دار هست ممنون میشم با ای دی ادمین سیسوگ در تلگرام تماس بگیرید

    2. زئوس Zeus زئوس Zeus گفت:

      از دانلود منیجر IDM برای دانلود استفاده نکنید !
      با خود مرورگر دانلود رو انجام بدهید.

  10. محمد گفت:

    سلام من این پروگرمرو ساختم جواب نگرفتم. حتی usbuf02w6 رو هم جدا کردم مستقیم وصل کردم جواب نگرفتم. مشکل اصلی اینه که میگه نمیشه under reset پروگرم کرد. توی تنظیمات stlink utilty هم میزنم که under reset پروگرم بشه قبول نمیکنه ارور میده. و البته یه مشکل اساسی هم اینه که گاهی قطع و وصل میشه خود به خود! من روی برد blue pill (stm32f103c8t کد رو پروگرم کردم و کار کرد تبدیل شد به stlink اما این نشد!
    یه سوال دیگ هم دارم اینه که فرق پروگرمری که شما گذاشتین و کلا stlink ها با پروگرمرهای برد دیسکاوری چیه؟ من برای پروگرم با stlink همیشه مجبورم boot0 رو از 0 بذارم روی 1 یه reset بزنم تا بره تو حالت boot بعد کدو رو میکرو بریزم. اما بردای دیسکاوری بدون جابجایی boot0 کد رو پروگرم میکنه. چطوری میتونم همچین خاصیتی رو به stlink اضافه کنم؟ تو دیتاشیت دیدم که پایه های uart1 میکرو و stlink برد دیسکاوری به هم وصلن. اگه منم اینکارو انجام بدم این خاصیت به پروگرمر اضافه میشه؟ یا اصلا قضیه مربوط میشه به فریمور؟ یا هر چیز دیگه ای؟
    ممنون میشم جواب بدین. تشکر

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

      اوپس در مورد مشکل اول – بله درست می فرمایید ؛ مشکل اینه که متاسفانه به دلایلی که نمیدونم (شاید عدم دقت کافی طراح) چیه پایه ریست روی کانکتورهای پروگرام حذف شده و سیم کشی نشده ؛ برای همینه که نمیتونید آندر ریست پروگرام کنید 😐

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

  11. امین ولیان امین گفت:

    سلام مجدد
    و تشکر از سایت خوبتون
    من این برد این مدار رو ساختم و مونتاژ کردم و سورس رو ریختم رو میکرو. اما وقتی کابل usb رو وصل میکنم فقط led قرمز چشمک میزنه و هیچ اتفاق دیگه ای نمیوفته. یعنی سیستم هیچی نمیشناسه! میشه راهنماییم کنید؟
    با تشکر

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

      اوهوم
      احتمالا پایه های Data پورت USB به درستی متصل نشده است یا پول آپ روی USB انجام نشده است ؛ در غیر این صورت حتی اگر میکروکنترلر روی برد پروگرام هم نشده باشد باید روی پورت USB پیامی دریافت کنید که دستگاه جدیدی وصل شده است

  12. saberi گفت:

    سلام
    فایل سورس برنامه کجاست؟
    نمیتونم دانلودش کنم!!!

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

      سلام دوست عزیز این پست مروبط به پروگرامر ST-Link هست و سورس کدش تجاریه و در اختیار شرکت ST 😐

  13. صابری گفت:

    سلام
    فایل سورس برنامه کجاست؟
    نمیتونم دانلودش کنم!!!

    1. Sisoog Os Sisoog Os گفت:

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

  14. امین گفت:

    سلام و خسته نباشید
    بلاخره این مدار کار میکنه یا نه؟
    ساخته و تست شده؟

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

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

      1. امین گفت:

        ممنون بابت سایت خوبتون

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

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

      2. امین گفت:

        راستی با این پروگرامر دیباگ هم میشه انجام داد؟

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

          بله هم امکان پروگرام کردن هست و هم دیباگ کردن – برای هیچ کدوم مشکلی نخواهید داشت.
          توصیه میکنم پروگرامر sisoog-link رو هم ببینید

          1. امین گفت:

            ممنونم ازتون

          2. زئوس Zeus زئوس Zeus گفت:

            خواهش میکنم دوست من

  15. Hamid Najafi حمید گفت:

    سلام
    چرا از میکرو f103c8t6 استفاده شده در صورتی همه STLINK V2 ها از f103cbt6 استفاده میکنند ؟!

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

      خوب با هر دو میکرو میشه ؛ اما بهتره همون میکرویی که خودتون گفتید باشد ؛ من نمونه های چینی رو که باز کردم هر دو نمونه رو توشون دیدم که به خوبی هم کار می کنند.

  16. omid گفت:

    با سلام
    ممنون از سایت خوبتون…واقعا عالیه
    لینک ها مشکل دارن میشه اصلاح بفرمایید .باتشکر

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

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

  17. رضا گفت:

    سلام. تشکر بابت مطالب شما.
    این پروگرمر وقتی که به درگاه usb متصل میشه ولی پروگرم رو انجام ندادیم پایه ای که به led متصله، کدام led رو روشن میکنه؟ یعنی در این حالت صفره یا یک؟

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

      سلام و درود ؛ نمی تونم بگم برای این کامنت خوشحال نیستم 🙂
      در حالت پیش فرض LED سبز باید روشن باشه

  18. فرزاد گفت:

    با سلام
    لینکها مشکل دارند.

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

      با سلام دوست عزیز
      لینک ها چک شدند ، مشکلی مشاهده نشد و به خوبی دانلود شدند.

  19. نوید گفت:

    سلام وقت بخیر.
    ممنونم از شما و مهندس رحیمی
    میخاستم بدونم مهندس رحیمی چطور تونستن این مدارو طراحی کنن؟؟
    راهنماشون چی بوده؟؟

  20. HOSI گفت:

    سلام
    من درست کردم ولی کار نکرد . اصلا درایورش نصب نمیشه چرا ؟؟؟

  21. مصطفی گفت:

    سلام
    ممون از سیات خوب شما، یه آی سی stm8s003f3 از بازار خریدم و به اون تغذیه وصل کردم(+5ولت) و سیم های پروگرامر st link v2 را هم به اون وصل کردم اما پروگرامر اونو نمیشناسه. پروگرامر من PROGRAMMER ST-LINK V2 ST است که از بازار خریدم در ضمن من این کار را با سه آی سی امتحان کردم که بازم حواب نگرفتم ممنون میشم راهنمایی کنید.

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

      بله صحبح است ، میکرویی که شما قصد برنامه ریزی اونو داری در واقع STM8 است که با خانواده STM32 که یک میکروکنترلر ARM بیس است متفاوت پروگرام می شود .
      در این نسخه از PCB فقط رایط SWD که مخصوص پروگرام کردن میکروهای آرم بیس است در دسترس قرار گرفته است.
      در واقع شما برای برنامه ریزی میکرو های STM8 باید از درگاه SWIM استفاده کنید نه SWD