STM یا مشابه های چینی !

STM یا مشابه های چینی !

STM یا مشابه های چینی !
STM یا مشابه های چینی !

با توجه به افزایش قیمت میکروکنترلرهای شرکت ST , تولید کنندگان میکروکنترلرهای شبیه STM هم این روزها معروفیت مناسبی پیدا کرده اند دو تا از مهمترین اونها شرکت Nanjing Qinheng Microelectronics Co هست که میکروکنترلرهای این شرکت را با پیشوند CH میتوان شناخت و  شرکت GigaDevice میباشد که با پیشوند GD  مشغول تولید هستند. دوست عزیز مقاله زیر را که شامل مقایسه و استفاده دو مدل از این میکروها میباشد را برای سیسوگ ارسال نموده اند که با توجه به عمومیت استفاده حتما میتونه مفید باشه.

 

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

با توجه به اینکه خودم فایل‌­ها و اطلاعات مربوط به این تراشه رو در اینترنت به راحتی پیدا نکردم، برای همین تصمیم به ایجاد یک آموزش مختصر گرفتم. در ابتدا باید بگم با توجه به توضیحات پست “از گرانی میکروکنترلر STM32 تا میکروکنترلرهای تقلبی!” باید گفت این تراشه تقلبی نیست و به نوعی مشابه تراشه STM32f103c8t6 است. بعد از مدتی استفاده و برنامه‌ریزی روی این تراشه با مشکلی مواجه نشده‌­ام پس شاید بشه گفت این تراشه ساخت شرکت WCH نسبت به تراشه‌های فیک که بعضاً درست کار نمی‌کنن بهتر است و با توجه به تحقیقاتی که داشتم هدف کاهش هزینه و برخی بهبودها بوده است.

 

تراشه CH32F103C8T6

برد بلوپیل حاوی تراشه CH32F103C8T6 دقیقاً مانند مدل متداول هست و با یک کریستال 12 مگاهرتزی و با کیفیت خوبی عرضه شده (حداقل موردی که من دارم با کیفیت هست) همونطور که در شکل زیر می‌بینید، از لحاظ ظاهری تفاوتی با مدل اصلی ندارد و تراشه اون هم به صورت زیر است:

تراشه CH32F103C8T6

تراشه CH32F103C8T6

از این موارد که بگذریم، این تراشه برای اینکه بتونیم به کمک نرم افزار Keil برنامه‌ریزی کنیم لازم هست که تراشه به نرم‌افزار شناسانده بشه و این کار از طریق فایلی با نام Keil.WCH32F1xx_DFP.1.0.1.pack صورت می‌گیرد که در انتهای مطلب لینک دانلود این پک به همراه چند سری مثال آماده و برخی اطلاعات دیگر قرار داده شده است. بعد از دانلود این فایل ضمیمه، وارد پوشه PUB شوید و Keil.WCH32F1xx_DFP.1.0.1.pack را اجرا کنید. بعد از اجرا با پنجره زیر مواجه می­‌شوید.

Keil.WCH32F1xx_DFP.1.0.1.pack

Keil.WCH32F1xx_DFP.1.0.1.pack

با زدن Next، نصب به سرعت و راحتی انجام می­گیرد و صفحه زیر به نمایش درمی­‌آید.

Keil.WCH32F1xx_DFP.1.0.1.pack

Keil.WCH32F1xx_DFP.1.0.1.pack

همه چیز آسون بود نه؟

ولی یک مقدار دیگر هم کار هست. بعد از استفاده از نرم افزار CubeMX و تنظیماتی که در آموزش‌­های همین سایت قرار دارد کافیست برای مثال چند پایه را به عنوان ورودی و خروجی تعریف کنید تا برنامه‌­ای برای تست اجرا کنیم.

تنظیمات اولیه را مطابق آموزش “STM32 با توابع LL قسمت چهارم: RCC (کنترل ریست و کلاک)” انجام دهید و مانند شکل زیر 4 پایه را به عنوان خروجی و 2 پایه را به عنوان ورودی تعریف کنید. هدف در این برنامه تست این است که با فشردن یک کلید تعداد چراغ‌­های روشن زیاد و با فشردن کلید دیگر تعداد چراغ‌های روشن کم شود.

تنظیمات پایه های ورودی و خروجی

تنظیمات پایه های ورودی و خروجی

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

بعد از انجام این تنظیمات گزینه generate code را می‌­زنیم و نرم‌افزار Keil را باز می‌کنیم. در صورت مشاهده پیغام گزینه YES را انتخاب کنید. سپس در پنجره‌ای که باز می‌­شود اسم تراشه ساخت شرکت WCH را مطابق شکل زیر وارد کنید.

انتخاب تراشه CH32F103c8

انتخاب تراشه CH32F103c8

همانطور که ملاحظه می­‌کنید تراشه CH32F103C8T6 توسط Keil شناسایی شده است و می‌توانید به راحتی آن را برنامه‌­ریزی کنید.

ممکن است در هربار آپدیت کردن توسط CubeMX نیاز باشد مطابق شکل بالا تراشه را دوباره انتخاب کنید و گاهی نیز ممکن است نوع پروگرامر نیز تغییر کند که مانند شکل زیر می‌توانید با کلیک بر روی option target پنجره­‌ی زیر را باز کرده و پروگرامر خود را انتخاب کنید.

انتخاب پروگرامر

انتخاب پروگرامر

انتخاب پروگرامر

حال به سراغ برنامه­‌ای که برای این بخش نوشته­‌ام می‌­رویم. طبیعی­ست که راه‌های مختلفی برای اجرای این کار وجود دارد اما من ساده­‌ترین روش که مطابق با آموزش‌­های سایت برای STM32 با کتابخانه LL هست را مورد استفاده قرار دادم.

به کمک uint8_t LED[5] می‌توان ترتیب روشن شدن چراغ‌ها را مشخص کرد که اگر به کمک ماشین­ حساب آن را به باینری تبدیل کنید ترتیب آن­‌ها را به خوبی می‌­بینید.

به کمک دستور LL_GPIO_WriteOutputPort(GPIOA,LED[i]) می‌توان مقادیر پایه‌­های یک پورت را به صورت همزمان مقدار‌دهی کرد.

با توجه به اینکه مقادیر پایه­‌ها را به صورت تکی نمی‌توان خواند، در ادامه کل مقدار پورت B را می‌خوانیم و مقدار آن را با پایه‌­ای که وضعیت آن را می‌خواهیم AND می‌کنیم تا سایر پین­‌ها صفر باشد و بتوان عمل مقایسه را صورت داد. در اینجا 2 کلید به پایه‌های PB6 و PB5 متصل هستند پس مقدار این پورت را یکبار با 1<<5 و یکبار با 1<<6 AND می­‌کنیم تا مقدار i کم و زیاد شود و به دنبال آن مقادیر متناظر در LED[5] درون رجیسترهای پورت ثبت شود.

در زیر مدار این پروژه کوچک را نیز ملاحظه می‌کنید.(دکمه‌­ای که به صورت تک هست به پایه ریست وصل شده)

نمای واقعی مدار جهت تست

نمای واقعی مدار جهت تست

 

دانلود فایل‌های ضمیمه

 

لینک دانلود

اسم فایل

  • CH32F103EVT.ZIP
برچسب ها

حمایت از محمدرضا ادیب

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

29 دیدگاه

  • حسین
    ۳۰ تیر ۱۴۰۰

    سلام
    آیا برای میکروی stm8s003f3p6 جایگزین چینی تولید شده ؟
    فقط برای Stm 32 جایگزین تولید شده؟

    • Sisoog Os
      Sisoog Os
      ۳۱ تیر ۱۴۰۰

      سلام شخصا اطلاعات دقیقی در ایت مورد ندارم

  • مسعود
    ۲۰ خرداد ۱۴۰۰

    سلام
    من تعداد زیادی از میکروی CH32F103C8T6 خریدم همه بخش ها (آنالوگ ، تایمر) کار می کنه با پروگرمر ST هم پروگرم میشه فقط تنها مشکل من با امولاتور ایپرام هست زمانی که به آنلاک کردن میرسه هنگ می کنه .
    ممنون میشم راهنمایی کنید
    هر کدام از دوستان هم خواستند امکان فروش هم هست 09124524524 پیام ارسال کنید.

  • Dedaco
    ۳۱ فروردین ۱۴۰۰

    این که نوشتن مشابه جالبه!
    قطعا مشابه نیست.
    در کل چهار شرکت سری stm32 به صورت فیک تولید می کنند.البته ممکنه بیشتر هم باشند.
    در سری gd32 حافظه فلش با یک حافظه فلش خارجی جاسازی شده در پک با ارتباط spiتعویض شده مانند ماژول ها esp
    یعنی در عمل معماری حافظه کلا با هم دیگه متفاوت.
    Dg32 فقط هسته m3 به بالا را دارند.فقط لازم st-link باز کنید تا شمایل زیباست ببینید.

    توی بازار این را هم هست،با نام کپی st32 عرضه میشه.
    البته ممکنه مثل «ای سی کالا» بهتون بندازند و پول اصل بگیرند.
    اتفاقی که دو ماه پیش افتاد.
    در کل هیچی جای stm32 نمی گیره.نه dg32 نه gd32 نه ch32 …

    • Zeus ‌
      zeus
      ۴ خرداد ۱۴۰۰

      خوب به جای مشابه چی استفاده میکردیم که دقیق تر باشه
      از نظر مشابه که شما با یک بلک باکس روبرو هستید که ظاهرا فانکشنالیتی اون میکرو رو داره ولی خوب میدونیم که اون نیست
      متشکر برای اطلاعات تکمیلتون 🙂

      • Dedaco
        ۵ خرداد ۱۴۰۰

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

        • Sisoog Os
          Sisoog Os
          ۵ خرداد ۱۴۰۰

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

        • Zeus ‌
          zeus
          ۵ خرداد ۱۴۰۰

          موافقم با شما

    • محمدرضا ادیب
      محمدرضا
      ۶ خرداد ۱۴۰۰

      سلام.
      در مورد کلمه مشابه باید بگم اصلاحی هست که در اینترنت برای این قطعات (به انگلیسی clone) استفاده میشه و فقط هم نمیشه گفت که از لحاظ ظاهری مشابه هست و با تحقیقات و استفاده ای که من کردم تا اینجا به مشکل حادی نخوردم و تمام رجیسترها و عملکرد یکسان بوده، پس همچین هم نامشابه نیستن. کلون های دیگه این تراشه برخی بهبودها رو هم داشتن مثلا فرکانس کاری تا حدود 100 مگ افزایش داشته.
      البته به دلیل اینکه تراشه اصلی نیست در استفاده با نرم افزار CubeIDE به برخی مشکلات میخوردید که باز هم به شخصه حل کردم مشکل رو و تونستم با CubeIDE این تراشه رو پروگرام کنم. همونطور که خودتون هم گفتید قطعا هیچی جای STM32 رو نمیگیره چون جواب خودش رو پس داده و دیتا کامل ازش موجود هست. اما این تفاوت به قدری هست که در پروژه های معمولی و برای یادگیری وقتی تراشه اصلی در دسترس نیست استفاده نکنیم؟(به نظر من نه) البته من خودم طرفدار این موارد نیستم و اگر STM32 به دستم میرسید استقبال میکردم(برای من به اشتباه این تراشه ارسال شد و به عنوان یک چالش سعی کردم باهاش کار کنم)
      در ضمن فیک با کلون فرق داره و ترجیح من کلون هست!!

      ممنون از اشتراک گذاری نظرتون 🌹🌹

      • Dedaco
        ۶ خرداد ۱۴۰۰

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

        • محمدرضا ادیب
          محمدرضا
          ۷ خرداد ۱۴۰۰

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

          negotiation is where the wisdom arise!

  • alexi
    ۴ فروردین ۱۴۰۰

    Hi
    Thanks for providing direct link, and step by step pictures.

  • هاشم مرادمند
    ۲۹ اسفند ۱۳۹۹

    به مدد وجود ایرانی ها شرکت های چینی با کارهای غیرقانونی و کپی کاری روز به روز پیشرفت می کنند. اگر تفاوت قیمت این میکرو و اصلش 20000 تومن باشه و شما پروژه تون 200 قطعه لازم داشته باشید کل تفاوت قیمت می شه 4 میلیون تومن! که اصلا ارزش نداره تو پروژه ی 200 عددی 4 میلیون بیشتر سود کرد ولی جنس فیک استفاده کرد. به نظر مهندس های ایرانی با قیمت ها و روش کارشون کارفرما رو جهت دهی می کنند.

    • Sisoog Os
      Sisoog Os
      ۳ فروردین ۱۴۰۰

      البته این مسیر را به ایرانی ها مربوط نکنید
      ایرانی ها درصد کمی از بازار مصرف چنین میکروهایی هستند

    • مجید ماسفت
      ۱۰ فروردین ۱۴۰۰

      سلام برادر هاشم
      من حتی اگر توی پروژم یه دونه هم بخوام استفاده کنم و اختلاف قیمت 10 تومنی هم داشته باشه اونی که ارزونتره رو میگیرم :/

      • Sisoog Os
        Sisoog Os
        ۱۰ فروردین ۱۴۰۰

        البته من جای شما باشم حتما تجدید نظر میکنم :-))

        • مجید ماسفت
          ۱۰ فروردین ۱۴۰۰

          البته این چیزی که گفتم شوخی بود ولی منظور اینه وقتی وارد مغازه میشید پولای تو جیبتون بیشتر از شما براتون تصمیم میگرند چه چیزی رو برای خرید انتخاب کنید. 😶😟

          • Sisoog Os
            Sisoog Os
            ۱۰ فروردین ۱۴۰۰

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

            0
  • Mahdi Ahmadi
    mahdi ahmadi
    ۱۴ اسفند ۱۳۹۹

    سلام
    دانلود نمیشه
    سپاس

    • Zeus ‌
      zeus
      ۱۷ اسفند ۱۳۹۹

      لینک دانلود اصلاح شد دوست عزیز

  • محمد
    ۱۳ اسفند ۱۳۹۹

    سلام وقت بخیر.
    خود این میکرو ch103
    شرکت wch رو میشه توی بازاز پیدا کرد؟

    • Sisoog Os
      Sisoog Os
      ۱۴ اسفند ۱۳۹۹

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

  • مسعود
    ۱۳ اسفند ۱۳۹۹

    سلام
    من از تراشه گیگا دیوایس بخش usart,usb cdc استفاده کردم و مشکلی نداشت
    فقط تا اونجایی که من متوجه شدم امکان انتخاب کریستال خارجی وجود نداره و حد اکثر فرکانس کاری میکرو هم به ۱۰۸ مگاهرتز ارتقا پیدا کرده که با تنظیمات کیوب نمیشه بهش رسید و باید یکم قسمت pll تغییر کنه

  • مهدی
    ۱۳ اسفند ۱۳۹۹

    ای بابا فقط همین فکر کردم میخواین یک مقایسه درست و حسابی بکنید!

    • Sisoog Os
      Sisoog Os
      ۱۴ اسفند ۱۳۹۹

      مقاله ارسالی یکی از خوانندگان سیسوگ بود و البته دستشون درد نکنه :-))

    • محمدرضا ادیب
      محمدرضا
      ۱۴ اسفند ۱۳۹۹

      سلام مهدی عزیز
      واقعیت هدف راه اندازی این تراشه بود و به صورت خلاصه مقایسه آن با میکرو STM
      با توجه به اینکه این تراشه روی برد بلوپیل مدت زیادی نیست که به دستم رسیده پس فعلا نمیتونم مقایسه خیلی جامع و کاملی داشته باشم ولی فعلا به مشکلی برنخوردم با این تراشه. اگر به مطلب جدیدی رسیدم و تجربه بیشتری کسب کردم حتماً به اشتراک میزارم.
      اما فعلا هدفم این بود که دوستانی که مثل خود من دو دل هستن(بودن) که این تراشه رو بگیرن یا نه، راهنمایی کوچکی کنم.

  • علی
    ۱۱ اسفند ۱۳۹۹

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

    • Sisoog Os
      Sisoog Os
      ۱۴ اسفند ۱۳۹۹

      سلام
      مطمئنا تا حالا پیش نیومده که هنوز هم ادامه میدند ولی از قوانین و دلایلش بی اطلاع هستیم

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

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

Zeus ‌ Zeus ‌
  • 10 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک