برد STM قطعات الکترونیک

استاندارد نام گذاری در میکروکنترلرهای STM32 و روش تشخیص اطلاعات میکرو

نوشته شده توسط فرهود جعفری

تا پیش از به وجود آمدن میکرو الکترونیک، مدارهای الکترونیک آنالوگ با تکیه بر نیمه رساناهایی همچون دیود، ترانزیستور و مدارات مجتمع (Integrated Circuits) طراحی و ساخته می شدند. کثرت و تنوع این قطعات از یکسو و تعدد کارخانجات سازنده در قاره های مختلف جهان از سوی دیگر قوانین و استاندارهایی را جهت نامگذاری این قطعات به وجود آورد. به طور کلی سه شیوه آمریکایی، اروپایی و ژاپنی وظیفه نامگذاری و شناسایی قطعات نیمه هادی را بر عهده داشتند.

با ظهور الکترونیک دیجیتال و به خصوص ارائه میکروکنترلرها به بازار مصرف، شیوه های نامگذاری به علت محدود شدن کارخانه های سازنده این دست محصولات نیز از گستردگی کشوری و حتی قاره به استاندارد شرکتی تقلیل پیدا کرد، به عنوان مثال شرکت Atmel محصولات دسته میکروکنترلر را با AT یا شرکت NXP پردازنده هایش را با LPC پیشوند و نامگذاری می کند. در این نوشتار سعی شده است تا نامگذاری خانواده میکروکنترلرهای آرم ۳۲ بیتی شرکت ST Electronics را بررسی نماییم. در ادامه آموزش نام گذاری میکروکنترلرهای STM32 با مرجع تخصصی بردهای امبدد به زبان فارسی، دیجی اسپارک همراه باشید.

 


نحوه نام گذاری میکروکنترلرهای STM32


همانطور که بیان شد، هر شرکت سازنده، استاندارد خاص خود را برای نام گذاری میکروکنترلر، در نظر می گیرد. به عنوان مثال، شرکت اتمل عبارت AT را در ابتدای نام هر میکروکنترلر تولیدی خود، قرار می دهد. شرکت NXP عبارت LPC و شرکت ST عبارت STM را در ابتدای نام محصول خود، قرار می دهد. همانطور که اطلاع دارید، هر میکروکنترلر، ویژگی ها و مشخصات فنی مخصوص به خود را دارد. این ویژگی های می تواند شامل موارد زیر شود.

معماری میکروکنترلر از لحاظ بیت(۸، ۱۶ و ۳۲ بیتی)

تعداد پایه های ورودی و خروجی میکروکنترلر (GPIO)

نوع بسته بندی (Packaging)

فرکانس کاری

میزان حافظه فلش

میزان حافظه رم

معمولا شرکت های سازنده، موارد فوق را در نام گذاری میکروکنترلرهای خود، اعمال می نمایند. این اعمال، به صورت یک عبارت کدگذاری شده بوده که ترکیبی از ارقام و حروف را تشکیل می دهد. هر حرف و رقم، بیانگر یک عبارت بوده که ویژگی های میکروکنترلر را توصیف می نماید. به عناون مثال، شرکت ST، یک میکروکنترلر با نام STM32F103RET6 تولید می نماید. این نام که از ترکیب حرف و رقم تشکیل شده، بیانگر ویژگی های آن میکروکنترلر از لحاظ بسته بندی، حافظه، تعداد پایه ها و… است. در قسمت بعدی، به تشریح هر یک از این عبارات، می پردازیم.

 


استاندارد نام گذاری میکروکنترلرهای ST


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

اجزای نام گذاری میکروکنترلرهای STM32 - دیجی اسپارک

در عبارت فوق، ترکیبی از حروف و ارقام را از چپ به راست، مشاهده می نمایید. در ابتدا، این عبارت با STM شروع می شود. STM مخفف دو کلمه St Microcontroller می باشد. از آنجاییکه شرکت St سازنده این سری میکروکنترلرها است اولین قسمت تشکیل دهنده نام میکروکنترلرها پیشوند ST می باشد. در ادامه، عدد ۳۲ را مشاهده می نمایید. عدد ۳۲ نشان دهنده معماری ۳۲ بیتی این میکروکنترلر می باشد، چنانچه میکروکنترلری از محصولات این شرکت معماری ۸ بیتی داشته باشد به صورت STM8 نوشته خواهد. قسمت سوم، بیانگر نوع کاربر محصول است. عبارت F بیانگر foundation بوده که نوعی بسیار پرکاربرد است. قسمت چهارم، بیانگر کورتکس میکروکنترلر است. در ایتجا عدد ۱ نشان از CORTEXM3 دارد. سایر مشخصات و عبارت را در جدول زیر، خلاصه می نماییم.

جدول اجزای نام گذاری میکروکنترلرهای STM32 - دیجی اسپارک

در قسمت های بعدی به تشریح قسمت های مهم نام گذاری می پردازیم.

 


مفهوم بخش سوم نام گذاری: نوع کاربرد


بخش سوم یا همان کاربرد نشان دهنده نوع محصول می باشد. نوع محصول با کاربری زیرساختی یا Foundation پرکاربردترین میکروکنترلر آرم ۳۲ بیتی این شرکت می باشد. جدول زیر، کاربردهای مختلف را به همراه کلمه کلیدی آن، نشان می دهد.

نام گذاری میکروکنترلرهای STM32 جدول کاربرد آی سی میکرو - دیجی اسپارک

همانطور که بیان شد، کاربرد F، کاربردی عمومی است که در اکثر پروژه ها از این نوع، استفاده می شود. اما کاربرد L که مصرف انرژی بسیار پایینی دارد،در پروژه های خاص مورد استفاده قرار می گیرد. کاربرد این نوع میرکروکنترلرها در پروژه IOT است که قرار است یک دستگاه، تنها با یک باتری، سال ها فعال باشد.

 


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


این بخش از نام میکروکنترلر، نماینده هسته آن می باشد. منظور از هسته، آن بخش از میکروکنترلر است که شامل معماری آن از لحاظ بیت(۸ یا ۳۲ یا ۶۴) و نوع آن (RISC/CISC) می شود. به طور کلی میکروکنترلرهای ۳۲ بیتی از نظر معماری هسته به انواع مختلفی دسته بندی می شوند. این دسته بندی به صورت زیر است.

Cortex-M0

Cortex-M3

Cortex-M4

Cortex-M7

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

اصول نام گذاری میکروکنترلرهای STM32 جدول نوع هسته - دیجی اسپارک

 


بخش پنجم: توضیحات کلی پردازنده


این بخش از دو رقم تشکیل شده است. این دو رقم بیانگر اطلاعات کلی در رابطه با میکروکنترلر است. به عنون مثال، عدد ۰۳ بیانگر عبارات زیر است.

فرکانس کاری ۷۲ مگاهرتزی

دارای سه پورت USART

دارای دو پورت SPI

دارای دو پورت I2C

دارای یک پورت USB

دارای یک پورت CAN

دارای ۲ ADC

دارای ۷ تایمر

دارای ۷ کانال دسترسی مستقیم حافظه (DMA)

 


بخش ششم: تعداد پایه های میکروکنترلر


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

نام گذاری میکروکنترلرهای STM32 جدول تعداد پایه‌های میکروکنترلر - دیجی اسپارک

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

 


بخش هفتم: حجم حافظه فلش


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

نام گذاری میکروکنترلرهای STM32 جدول حافظه آی سی - دیجی اسپارک

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

 


بخش هشتم: شکل و اندازه پردازنده


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

اتصالات مدار Atmega8 برای کنترل LED با AVR - دیجی اسپارک

یکی دیگر از بسته بندی های میکروکنترلرها، بسته بندی نوع LQFP است. این نوع بسته بندی بسیار پرکاربرد بوده و در اکثر طراحی های انبوه، پرکاربرد است. بسته بندی از نوع LQFP فضای بسیار کمی را اشغال کرده و در طراحی با فضای کم، بسیار پرکاربرد است. در زیر تصویری از این نوع بسته بندی را مشاهده می نمایید.

 

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

 


بخش نهم: دمای کاری پردازنده


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

 


مثال هایی از نام گذاری و خوانش اطلاعات میکروکنترلر


در این قسمت، به ارایه مثال هایی از نحوه خوانش اطلاعات درج شده بر روی میکروکنترلرهای ST، می پردازیم. همانطور که بیان شد، عبارت درج شده بر روی میکروکنترلرهای شرکت ST به ۹ قسمت تقسیم شده که هر یک مربوط به اطلاعاتی در رابطه با خصوصیات و ویژگی های آن است. به عنوان نمونه، در اینجا میکروکنترلر آرم ساخت این شرکت با نام تجاری STM32F030C8T6 را مورد بررسی قرار می دهیم. مطابق مطالب بیان شده در قسمت های پیشین، عبارتت درج شده روی این میکروکنترلر، به شرح زیر است.

STM32: میکروکنترلر آرم ۳۲ بیتی محصول شرکت ST

F: کاربرد به صورت عمومی

۰: هسته Cortex-M0

C: با توجه به جدول تعداد پایه ها: ۴۸ پایه

۸ میزان حافظه ۶۴KB

T نوع Package مدل LQFP

۶ بازه دمای کاری -۴۰ تا +۸۵

به عنوان مثالی دیگر، میکروکنترلر STM32F051R8T6 را مورد بررسی قرار می دهیم.

STM32: میکروکنترلر آرم ۳۲ بیتی محصول شرکت ST

F: کاربرد به صورت عمومی

۰: هسته Cortex-M0

R: با توجه به جدول تعداد پایه ها: ۶۴ پایه

۸: میزان حافظه ۶۴KB

T: نوع Package مدل LQFP

۶: بازه دمای کاری -۴۰ تا +۸۵

به عنوان مثال آخر، میکروکنترلر STM32F103RET6، به صورت زیر خوانده می شود.

STM32 میکروکنترلر آرم ۳۲ بیتی محصول شرکت ST

F: کاربرد به صورت عمومی

۱: هسته Cortex-M3

R: با توجه به جدول تعداد پایه ها: ۶۴ پایه

E: میزان حافظه ۵۱۲KB

T: نوع Package مدل LQFP

۶: بازه دمای کاری -۴۰ تا +۸۵

 


جمع بندی


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

 

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

 

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

فرهود جعفری

When did Noah build the ark? Before the rain, before the RAIN...

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • رشته هایی که با فرمت uint-8 هستند رو چطوری میشه به char تبدیل کرد یه نفر میتونه راهنماییم کنه

    • با سلام
      در واقع uint8_t و char هر دو از انواع داده‌های بایتی هستند و می‌توانند با یکدیگر تبدیل شوند. uint8_t یک نوع داده با عرض ۸ بیت (یک بایت) است و char همچنین یک نوع داده با عرض ۸ بیت است که معمولا برای نمایش کاراکترها در زبان C++ استفاده می‌شود. برای تبدیل uint8_t به char، می‌توانید از عملیات کستینگ (casting) استفاده کنید. به عنوان مثال:
      #include

      int main() {
      uint8_t myUint8 = 65; // مقدار ASCII برای حرف ‘A’
      char myChar = static_cast(myUint8);

      std::cout << "myUint8: " << static_cast(myUint8) << std::endl; std::cout << "myChar: " << myChar << std::endl; return 0; } در این مثال، ما یک متغیر uint8_t به نام myUint8 داریم که مقدار ۶۵ (کد ASCII برای حرف 'A') را دارد. سپس این مقدار به یک متغیر char با نام myChar تبدیل می‌شود و نتیجه در خروجی نمایش داده می‌شود. توجه داشته باشید که این تبدیل فقط در صورتی صحیح است که مقادیر uint8_t شما معتبر و در محدوده قابل تبدیل به کاراکترها باشند. همچنین استفاده از عملیات کستینگ باید با دقت انجام شود تا از از دست رفتن اطلاعات جلوگیری شود. شاد و پیروز باشید.