دردسر بزرگی که میکروکنترلر های محبوب STM32 برای توسعه دهندگان امبدد ایجاد کردند !
مقدمه
در دنیای امروزه، بدون شک میکروکنترلرهای خانواده ST در میان شناخته شده و محبوبترین میکروکنترلرها قرار گرفتهاند. تا جایی که میکروکنترلر STM32F103C8T6 به همراه برد ارزیابی خود (Blue Pill)، به یکی از پرمصرفترین میکروکنترلرها تبدیل شدهاند.
دلایلی همچون تنوع ، هزینه متناسب، عملکرد، پایداری، سادگی در پیاده سازی، دسترسی آسان و پشتیبانی متداوم باعث شدند تا این میکروکنترلرهای 32 بیتی به سرعت فراگیر شوند. از همین رو سال هاست که محصولات بسیاری از صنایع بر پایه این میکروکنترلرها طراحی می شوند. اما به مرور شاهد اتفاقات تلخی در بازار ایران (و حتی تا حدودی بازارهای خارجی) در رابطه با این میکروکنترلرها بوده ایم.
با افزایش قیمت دلار و همچنین افزایش قیمت جهانی میکروکنترلرهای خانواده ST ، مسیر بسیاری از قطعات فیک با نام و ظاهری کاملا مشابه به بازارها بسیار هموار شد. قطعاتی که برای برخی عرضه کننده و مصرف کنندهها بسیار جذابترند و برای برخی دیگر مثل ما، پاشنه آشیل پروژه !
شروع چالشهای ST
در سالهای اخیر، شاهد تغییراتی در عرضه میکروکنترلرهای ST در ایران بوده ایم. از گرانی میکروکنترلرهای STM32 تا میکروکنترلرهای تقلبی و در کنار آن، محدود شدن عمده واردات میکروکنترلرها از چین و ورود بی انتها و متنوع سریهای Clone (فیک) از میکروکنترهای خانواده ST به نقطهای رسیدیم که دستیابی به سریهای اوریجینال واقعا کار سخت و پرهزینهای شده. به حدی که ممکن است این عمل کل ساختار قیمت تمام شده محصول را دگرگون کند.
سالهای زیادی است که با این دسته از میکروکنترلرها بر خورد داشته ایم. در ابتدا صرفا هدف شرکت های سازنده کپی کردن آنها به هر کیفیتی و قیمتی بود. از همین رو تشخیص میکروکنترلرهای کپی از نمونه های اوریجینال بر اساس ظاهر و عملکرد سخت افزار کار دشواری نبود. هرچند این موضوع هم با گذر زمان تغییر کرد. معمولا در برخورد اول و تستهای اولیه، مشکلی از سمت میکروکنترلر احساس نمی شود.
دیباگ، پرفرال های سخت افزاری و عملکرد همه بخشهای میکروکنترلر کاملا طبیعی به نظر میرسد، خب حقیقتا هدف سازنده هم همین است. اما با گذر زمان، افزایش تیراژ، تلاش برای انجام تستهای پایداری، قرار گیری میکروکنترلر در محیط های نویزی و اقدام به گرفتن استانداردهای مختلفی برای محصولاتی برپایه این میکروکنترلرها، از جمله زمانهایی هستند که بلای خانمانسوزی به نام قطعات الکترونیکی فیک را می توانیم به صورت جدی احساس کنیم.
پدیده خطرناکی که گاهی در زمان توسعه خود را نشان میدهد و گاهی پس از تحویل محصول به مشتری و گذر زمانی مشخص! از همین رو نگرانی نسبت به این موضوع برای من همیشه وجود داشته است.
ممکن است راهکارهای متفاوتی برای مواجهه با این مشکلات وجود داشته باشد اما در این مقاله قصد داریم به صورت دقیقتر دو راهکار را بررسی کنیم و در انتها یک جایگزین مناسب سریهای ST در شرایط فعلی معرفی می کنیم.
راهکار اول – تلاش مستمر برای تهیه نسخه اوریجینال
یقینا راهکار اولیهای که بسیاری از ما در راستای آن تلاش کردهایم، اقدام به تهیه نسخههای اوریجینال است. مطمئنترین و عملا دور از دسترسترین گزینه. به عنوان مثال اگر میکروکنترلر محبوب STMF103C8T6 را در نظر بگیریم، طبق اطلاعات وبسایت Octopart، میانگین قیمت C8T6 در این سایت بین 4.5$ (برای خرید 1 عددی) و 3.3$ برای خریدهای تعداد بالا درج شده است (چالش های خرید و ارسال این قطعات هم به کنار).
و با جستجوی این پارت نامبر در موتور جستجوگر ISEE در مییابیم که میانگین قیمتی این میکروکنترلر در بازار ایران با در نظر گرفتن نرخ دلار در زمان نگارش این گزارش، به طور معمول بین 1$ تا 3$ است.
همچنین سایتهایی که این قطعه را تحت عنوان ارویجینال عرضه میکنند، قیمتی معادل 10$ برای آن در نظر گرفتهاند.
خب در این لحظه دچار یک دو راهی میشویم، قیمت بسیار پایین تر نمونههای بازار نسبت به سایتهای خارجی (حتی برای خریدهای عمده! ) و قیمت حدوداً دو برابری نمونههایی با عنوان اوریجینال نسبت به مشابه خارجی. از همین رو اصولا تصمیم میگیریم که قیمت میکروکنترلر را به عنوان یکی از شاخصهای مهم تشخیص اصل و یا تقلبی بودن هنگام خرید در نظر بگیریم.
اما این یک شرط لازم هست و نه کافی! یعنی با اطمینان بالایی میتوان گفت یک میکروکنترلری که قیمت بسیار پایینی دارد Clone است. اما آیا عکس این قاعده هم صدق میکند و میکروکنترلرهای گران، همه اوریجینال اند ؟ قطعا جواب این موضوع نیازمند داشتن شناخت و اعتماد کافی به شخص فروشنده است.
قیمت بالای نسخه های اوریجینال به گونه ایست که قیمت تمام شده بسیاری از محصولات برپایه این میکروکنترلر را در بازار ریالی ایران می تواند به صورت قابل توجهی دستخوش تغییر کند.
شاید در این لحظه، نسخه اوریجینال چینی گزینهای باشد که بتواند ما را از این بحران رهایی دهد، قیمت پایینتر و کیفیت بهتر. چالش اینجاست که نسخههای اصطلاحا China Original یا به عبارتی نسخههایی که در کارخانههای ST چین تولید میشوند در سیل عظیم نسخههای فیک به سادگی قابل دسترسی و تشخیص نیستند.
از طرفی گاهی پیش میآمد که برخلاف انتظار، پارت دمو و پارتهای بعدی که خریداری میشدند کاملا مطابق نبودند. بسیاری از دلالهای چینی دیدگاه علمی لازم برای تشخیص قطعات فیک از اصل را ندارند (و یا دارند اما منفعت اولویت بالاتری دارد). از همین رو معمولا اصطلاح China Original را حتی برای میکروکنترهای کاملا تقلبی هم به کار میبرند.
راهکار دوم – صلح با واقعیت
اگر به تمامی چالشها و هزینههایی که تا اینجا بررسی کردیم، زمان و هزینه تغییر سخت افزار و نرم افزار را بهمنظور استفاده از یک پلتفرم میکروکنترلری دیگری هم اضافه کنیم، برای بسیاری، استفاده از میکروکنترلرهای Clone نه تنها اجتناب ناپذیره، بلکه ضروری هم هست.
اما همه میکروکنترلرهای Clone در واقع Clone نیستند و در این ماجرا بازیگر خوب هم وجود دارد. برخی از تولید کنندگان پس از مهندسی معکوس یک قطعه، همه مراحل را به صورت شفاف پیش میبرند. محصولاتشان را با اسم و برند شرکت اصلی ارائه نمیکنند و به فکر فریب مشتریان نیستند. بلکه آن را با نام تجاری خود عرضه نموده و در کنار آن مستندات فنی و استانداردهای محیطی خود را نیز ارائه میکنند. تا مصرف کننده بتواند با بررسی ویژگیهای محصول آنها و مقایسه با نمونه اصلی، تصمیمگیری دقیقتری برای خرید یا عدم آن انجام دهد.
امروزه برندهای متعددی در این دسته قرار میگیرند. برندهایی که علاوه بر مهندسی معکوس قطعات و دریافت لایسنسهای لازم برای عرضه آنها، گاهی دست به ابتکار عمل می زنند و اندکی آنرا بهبود می بخشند. در ادامه میخواهیم یکی از برندهایی از این دسته را معرفی کنیم که تنوع بسیار بالایی داشته و بسیاری از پارت نامبرهای ST را پوشش می دهد، سری CKS32.
CKS MCU
میکروکنترلرهای سری CKS32 تطابق بسیار زیاد سخت افزاری و نرم افزاری با سریهای STM32 دارند. پین-اوت، پرفرال های سخت افزاری و رابط دیباگ کاملا یکسان با STM32 باعث شده تا در جایگزینی این میکروکنترلر هیچ چالش مداری ایجاد نشود. از طرفی انطباق نرم افزاری و فریمورکهای یکسان بین این دو سری، سمت نرم افزاری را هم پوشش میدهد.
اما سوال اساسی که در ذهن نقش می بندد این است که تفاوت این خانواده CKS با Clone های دیگر STM چیست؟
بد نیست برای شروع نگاهی به تاریخچه این شرکت داشته باشیم. شرکت CHINA KEY SYSTEM & INTEGRATED CIRCUIT در سال 1962 با هدف تحقیقات در زمینه نیمههادیها و مدارهای مجتمع بنا نهاده شده. در سال 2015 پروژه تولید MCU را شروع کرده و در سال 2018 به تولید انبوه اولین سری از میکروکنترلرها (همان سری CKS) دست یافته است. از این رو میتوان گفت سالهای قابل توجهی است که این شرکت در این حوزه تکنولوژی فعالیت میکند.
منتها تاریخچه این شرکت نمیتواند معیار تصمیم گیری یا وجه تمایز باشد، از همین رو تلاش کردم تا با بررسی داکیومنتهای مختلف، اطلاعات کلیدی مربوط به CKS را استخراج کنم؛
ویژگی های CKS
- این شرکت لایسنسهای ARM رو به طور مجزا دریافت کرده
- 58 اختراع ثبت شده
- 26 حق Copy Right نرم افزاری
- 30 ژورنال در حوزه میکروالکترونیک و میکروکنترلرها
- دریافت استانداردهای خودرویی و صنعتی برای میکروکنترلرها.
- همراه داشتن Datasheet و User Manual های مربوط به CKS32.
عملا بهنظر میرسد این شرکت اساس طراحی پین-اوت، باس ها، دیباگ و پرفرال ها را مشابه ST قرارداده، اما روند طراحی، تست و استاندارد را برای محصولاتش به صورت مستقل انجام میدهد. این یک نکته و یا برتری بسیار مهمی است که CKS در مقایسه با سایر مدلهایی که تحت عناوین Clone ،Refashion،High Copy، بازسازیشده و … عرضه میشوند دارد.
نتیجهگیری
در این مقاله مشکلات و چالشهایی را که با ورود نمونههای کپی و تقلبی در طراحی و توسعه سیستم ها مواجهشدیم را بررسی کردیم. دو راه حل متفاوت مطرح شد. راه اول خرید میکروکنترلرهای اوریجینال بود و راه حل دوم انتخاب یکی از بهترین گزینهها در دسته میکروکنترلرهای مهندسی معکوس شده. در واقع چهارچوب این مقاله مبتنی بر جایگزینی میکروکنترلرهای ST و یافتن راهکارهایی از این قبیل است. تا بتوان بدون تغییر در سخت افزار و نرم افزار این چالش را به بهترین شکل پشت سر گذاشت. در همین راستا میکروکنترلرهای سری CKS معرفی شدند که علاوه بر تنوع بسیار بالا، دارای مستندات فنی، لایسنس و استانداردهای مربوط به خود نیز هستند. در قسمتهای بعدی، به صورت تخصصیتر وارد جزئیات و تست عملکرد میکروکنترلرهای CKS نسبت به STM میشویم.
در نهایت امیدوارم این مقاله برای شما مفید واقع شده باشد.
دمت گرم ادامه بده ادامه
لطف دارید 🌹
تشکر
🌹🌹
میشه با CubeIDE که مال stm32 هست هم باهاش کار کرد؟
یادمه قبلا هم یه پست داشتید که ch32 رو توش گذاشته بودین که چطور به keil وصل کنیم. نظرتون درباره اون چیه؟
مرسی.
سلام دوست عزیز
بله بخش flash و debug کاملا منتطبق هست و شما میتونید با هر IDE که قبلا برای برنامه نویسی STM32 استفاده میکردید، برای این سری میکروکنترلرها هم بدون تغییری استفاده کنید.
خبر خوبیه.
و بنظر قیمتش با قیمت STM های کپی برابره که باعث تمایل بیشتر مشتری برای خریدش میشه.
این هم یکی از دلایلی هست که باعث شده این برند در بازار چین اکثر صنایع قوی چینی رو به خودش جذب کنه.
سلام با تشکر
من برای برنامه نویسی میکروکنترلر های stm32 از نرم افزار arduino استفاده می کنم.
آیا میتونم از کتاب خانه هایی که در arduino ایجاد شده برای برنامه نویسی میکروکنترلر های stm32 استفاده کنم و این نوع از میکروکنترلر ها رو برنامه ریزی کنم؟
سلام دوست عزیز
بله کاملا سازگارند با STM32 ها.
یعنی دنیا مثل اینجا خرتوخره یه شرکت چینی بیاد محصولات st کپی کنه اسمش عوض کنه و بفروشه ؟؟؟
این روزها استفاده از قطعات فیک یک روال عادی و یا حتی لازم برای خیلی از محصولات الکترونیکی هست. اما اینجا بازیگر خوب و بد داریم. بعضی از این قطعات غیر اصل تحت برند و پارت نامبر برند اصلی ارائه می شوند و مصرف کننده تا لحظه تست و بررسی ممکنه متوجه این تفاوت نشه و پیامدهای زیان برای به همراه داشته باشه.
برخی دیگر عملا مهندسی معکوس شده اند. یعنی مبتنی بر همون پین اوت، از اول طراحی شدند و استانداردها لازم رو گرفتند. لایسنس (ARM به عنوان مثال) رو تهیه کرند و پشتیبانی فنی دارند برای محصولی که تولید میکنند.
در نهایت یک دوراهی وجود داره که انتخاب مسیرش به خودش شما بر میگرده.