در ابتدای سخن به دلیل گستردگی محتوای ارائه شده و حجم بالای اطلاعات دریافتی (به صورت کاملا لاتین) تا حد ممکن در اولین پست از این تراشه تا جایی که امکانش بود تمام مطالب به نحوی کاملا فشرده و سبک برای دوستان جمع آوری شد که این پست به تنهایی برای توضیح مختصری از امکانات، فناوری ها، قابلیت ها و آینده های شغلی که این تکنولوژی با خودش به همراه آورده کافی نیست فلذا سعی ما بر این هست که مطالب را در دسته بندی های مختلف به صورت کامل تر به سمع و نظر شما عزیزان برسونیم و انتظار ما از شما درج نظرات، پیشنهادات و راهکارهای سازنده شما دوستان و همراهان عزیز خواهد بود.
آغاز یک جدال
شرکت ST بیش از یک دهه است که رهبری میکروکنترلرهای 32 بیتی Cortex-M را برعهده داشته اما از سویی دیگر شرکت NXP رهبری پردازنده های i.MX SOC را عهده دار بوده. این درحالیه که شرکت ST با تولید اولین میکروکنترلر STM32MP1 سعی داره این بازار پرسود را هم به نفع خودش تمام کنه. اولین میکروکنترلرهای Cortex-M3 جهان در سال 2007 منتشر شدند و در ادامه این اتفاق تراشه هایی برپایه هسته های Cortex-A7 تولید شدند. NXP رقیب آمریکایی شرکت ST هردو داستان یکسانی در این قبیل فروش ها داشته اند یکی در فروش میکروکنترلرهایی با هسته Cortex دیگری در فروش i.MX-MPU سابقه چندین و چند ساله ای را برای خودشون به یدک میکشیدن.
تولد STM32MP1
تکنولوژی ساخت این میکروکنترلر-میکروپروسسور یا MPU-MCU-GPU در ابعاد 40 نانو متری است که باعث افزایش کارایی، کاهش تلفات توان و کاهش ابعاد تراشه را به همراه داره. این تراشه دارای دو پردازنده پردازشی و یک پردازنده قدرتمند گرافیکی است. پردازنده اولی از هسته Cortex-A7 با کلاک 650MHz و پردازنده دومی از هسته Cortex-M4 با کلاک 204MHz و یک پردازنده گرافیکی (GPU) با سرعت 533MHz بهره می بره.
این شرکت سه مدل از این سری تولید و روانه بازارکرده که به ترتیب STM32MP151، STM32MP153، STM32MP157 می باشند.
مقایسه ای کوتاه
توسعه دهندگان و طراحان سخت افزار ایرانی طی سال های اخیر متوجه این موضوع شدن که دو شرکت ST و NXP در تولید میکروکنترلرهای 32 و 8 بیتی برخلاف سایر رقبا امکانات خوبی را در اختیار طراحان قرار میدن اما آیا چاشنی قیمت را هم به محصولاتشون اضافه کردن؟
سخت افزاری
با یک مقایسه ای کوتاه بین یکی از محصولات میان رده تولیدی شرکت NXP و اولین محصول شرکت ST با استناد به منابع میتونیم به این سوال کمی بهتر پاسخ بدیم. در ابتدا یکی از محصولات شرکت NXP در این زمینه سری i.MX8 DualX با 2 هسته Cortex-A35 معرفی شده در سال 2017 با معماری Armv8-A و میکروکنترلر آن با هسته Cortex-M4F و پردازنده گرافیکی با هسته GC7000UltraLite می باشد. در مقابل، رقیب این شرکت با STM32MP157 یک هسته پردازشی Cortex-A7 و معماری Armv7-A و میکروکنترلر آن با هسته پردازشی Cortex-M4 و پردازنده گرافیکی از نوع GC-Nano با فرکانس پردازشی 533MHz از مشخصات مهم این تراشه هاست.
مقایسه معماری ها
جدول مقایسه هسته ها
برای درک بهتر یک جدول مقایسه ای بین این دو هسته پردازشی قرار دادیم.
Cortex-A35 | Cortex-A7 | Feature |
Armv8-A | Armv7-A LPAE Virtualization |
Instruction set architecture and extensions |
In order | In order | Pipeline |
Partial | Superscalar | |
Optional | Optional | Neon and Floating Point Unit |
N/A | Optional | Floating Point Unit only |
Optional | No | Cryptography Unit |
40bit | 40bit | Physical Addressing (PA) |
No | No | Dual Core Lock-Step (DCLS) |
8k-64k | 8k-64k | L1 I-Cache / D-Cache |
128KB-1MB | Up to 1MB | L2 Cache |
NA | NA | L3 Cache |
Yes | No | ECC / Parity |
Yes | Yes | LPAE |
ACE or CHI | ACE | Bus Interfaces |
Optional | No | ACP |
Peripheral Port | ||
Yes | Functional Safety Support | |
TrustZone | TrustZone | Security |
External GICv3 |
Optional Integrated GIC v2 | Interrupt Controller |
Armv8-A | Yes | Generic Timer |
اقتصادی
شرکت ST
در لحظه نگارش این مقاله پرچم دار شرکت ST میکروکنترلر-پروسسور STM32MP157 هستش، این تراشه در 2 مدل توزیع شده یکی STM32MP157C و دیگری STM32MP157A قیمت کلی این دو تراشه در تصویر زیر کاملا مشخص شده.
توضیحات کامل : STM32MP157
علاوه بر خرید این قطعه این شرکت برای هرکدام از تراشه های خود یک برد دیسکاوری نیز طراحی و روانه بازار کرده که پرچمداران این شرکت دو برد Discovery و دو برد Evaloution هستند. قیمتی که برای هرکدام از این بردها در نظر گرفته شده در تصویر زیر قابل مشاهده است.
قیمت بردهای دیسکاوری نسبت به بردهای ارزیابی (evaluation) قیمت کمتری دارند خب به تبع اون این بردها بعضی از منابع این تراشه به عهده طراح گذاشته شده.انقلاب دیگر شرکت ST با میکروکنترلرهای STM32MP1
شرکت NXP
در مقابل، این شرکت برای سری i.MX DualX نیز بردهای توسعه خودش را طراحی، تولید و روانه بازار کرده. برد مورد استفاده با سری i.MX8 DualX این شرکت MCIMX8QX نام داره و قیمت آن 999 دلار است.
و از طرفی این شرکت تمایلی به فروش تراشه این برد توسعه نداره و خبری از فروش این تراشه در سایت NXP منتشر نشده.انقلاب دیگر شرکت ST با میکروکنترلرهای STM32MP1
توضیحات کامل : MCIMX8QXP-CPU: i.MX 8QuadXPlus Multisensory Enablement Kit (MEK)
نتیجه گیری
با دیدی که ما نسبت به این دو محصول پیدا کردیم در ابتدا با قیاس سخت افزاری هسته های این دو تراشه از نظر کارآیی و قدرت شرکت NXP به دلیل استفاده از هسته Cortex-A35 از نظر پردازشی به نسبت شرکت ST در جایگاه بالاتری قرار داره اما از نظر کارآیی میکروکنترلر دو شرکت تفاوتی دیده نمیشه که هردوی آن ها از Cortex-M4 بهره مند شدند.انقلاب دیگر شرکت ST با میکروکنترلرهای STM32MP1
با قیاس سخت افزاری این دو محصول مهم ترین قسمتی که میتونه آینده موفق یک محصول را برای موندن در بازار رقم بزنه قیمت آن هستش. این مسئله را شخصی نمیکنیم و جای دوری هم نمیریم تا همین اواخر شرکت پیشرو در طراحی و تولیدات محصولات سخت افزاری در ایران میکروکنترلرهای AVR و چند شرکت دیگه بودند اما با افزایش ناگهانی دلار قیمت این محصولات به شدت افزایش پیدا کرد. تفاوت مهم وقتی خودش را نشان داد که یک شرکت با همان قابلیت ها یا کمی بیشتر و با قیمتی کمتر بازار را در دستش خودش گرفت و سرعت فراگیری استفاده از تراشه های شرکت ST به قدری بالا بود که در همان اوایل چندین کتاب به بازار ورود کرد.
با توضیح این واقعیت میشه به این نتیجه رسید که جدا از عواملی مثل منابع، نرم افزارها، دیتاشیت ها، جابجایی و مهاجرت بین میکروکنترلری به میکروکنترلر دیگه همون شرکت و … ، کارایی و قیمت مناسب میتونه برگ برنده ای باشه برای عرضه کنندگان این نوع تراشه ها.
ما با مقایسه این دو بردی که توسط این دو شرکت به فروش میرسه شرکت NXP برد توسعه ای که در اختیار طراح قرار میده معادل 999 دلار هست که با دلار 11500 چیزی در حدود 12 میلیون تومان میشه البته جدای از هزینه وارد کردن برد و عوامل دیگر.
قیمت برد توسعه میکروکنترلر stm32mp1 شرکت ST در دو نسخه ارائه شده یکی که نسخه ارزیابی آن تمام قابلیت های تراشه را به اشتراک میزاره و قیمتی در حدود 375 دلار معادل 4 میلیون تومان و میانگین قیمت برد توسعه همان تراشه چیزی در حدود 82 دلار قیمتی برابر یک میلیون تومان داره.
جدای از اعداد و ارقام، شرکت NXP امکان خرید جدای تراشه بردهای توسعه اش را به طراحان نمیده اما در مقابل، شرکت ST علاوه بر فروش برد توسعه، تراشه این برد را هم برای شخصی سازی هرچه بیشتر توسط توسعه دهندگان فراهم کرده. با مقایسه سخت افزاری شرکت NXP کارایی بیشتری را به ارمغان آورده اما از نظر قیمت و شخصی سازی شرکت ST پیشگام تر هستش.
در مطالب بعدی سعی ما با تمرکز بر روی امکانات، نرم افزارهایی که برای راه اندازی این بردها لازم هست یا چه نوع سیستم عاملی هایی را علاوه بر قابلیت میکروکنترلری که همان بردها قرار داره در اختیارمون قرار میده در قالب آموزش ها و توضیحات بیشتر از قابلیت های این تراشه ها در اختیار هموطنان و طراحان عزیز قرار خواهیم داد.