تا پیش از به وجود آمدن میکرو الکترونیک، مدارهای الکترونیک آنالوگ با تکیه بر نیمه رساناهایی همچون دیود، ترانزیستور و مدارات مجتمع (Integrated Circuits) طراحی و ساخته می شدند. کثرت و تنوع این قطعات از یکسو و تعدد کارخانجات سازنده در قاره های مختلف جهان از سوی دیگر قوانین و استاندارهایی را جهت نامگذاری این قطعات به وجود آورد. به طور کلی سه شیوه آمریکایی، اروپایی و ژاپنی وظیفه نامگذاری و شناسایی قطعات نیمه هادی را بر عهده داشتند.
با ظهور الکترونیک دیجیتال و به خصوص ارائه میکروکنترلرها به بازار مصرف، شیوه های نامگذاری به علت محدود شدن کارخانه های سازنده این دست محصولات نیز از گستردگی کشوری و حتی قاره به استاندارد شرکتی تقلیل پیدا کرد، به عنوان مثال شرکت Atmel محصولات دسته میکروکنترلر را با AT یا شرکت NXP پردازنده هایش را با LPC پیشوند و نامگذاری می کند. در این نوشتار سعی شده است تا نامگذاری خانواده میکروکنترلرهای آرم ۳۲ بیتی شرکت ST Electronics را بررسی نماییم. در ادامه آموزش نام گذاری میکروکنترلرهای STM32 با مرجع تخصصی بردهای امبدد به زبان فارسی، دیجی اسپارک همراه باشید.
نحوه نام گذاری میکروکنترلرهای STM32
همانطور که بیان شد، هر شرکت سازنده، استاندارد خاص خود را برای نام گذاری میکروکنترلر، در نظر می گیرد. به عنوان مثال، شرکت اتمل عبارت AT را در ابتدای نام هر میکروکنترلر تولیدی خود، قرار می دهد. شرکت NXP عبارت LPC و شرکت ST عبارت STM را در ابتدای نام محصول خود، قرار می دهد. همانطور که اطلاع دارید، هر میکروکنترلر، ویژگی ها و مشخصات فنی مخصوص به خود را دارد. این ویژگی های می تواند شامل موارد زیر شود.
معماری میکروکنترلر از لحاظ بیت(۸، ۱۶ و ۳۲ بیتی)
تعداد پایه های ورودی و خروجی میکروکنترلر (GPIO)
نوع بسته بندی (Packaging)
فرکانس کاری
میزان حافظه فلش
میزان حافظه رم
معمولا شرکت های سازنده، موارد فوق را در نام گذاری میکروکنترلرهای خود، اعمال می نمایند. این اعمال، به صورت یک عبارت کدگذاری شده بوده که ترکیبی از ارقام و حروف را تشکیل می دهد. هر حرف و رقم، بیانگر یک عبارت بوده که ویژگی های میکروکنترلر را توصیف می نماید. به عناون مثال، شرکت ST، یک میکروکنترلر با نام STM32F103RET6 تولید می نماید. این نام که از ترکیب حرف و رقم تشکیل شده، بیانگر ویژگی های آن میکروکنترلر از لحاظ بسته بندی، حافظه، تعداد پایه ها و… است. در قسمت بعدی، به تشریح هر یک از این عبارات، می پردازیم.
استاندارد نام گذاری میکروکنترلرهای ST
همانطور که در قسمت پیش بیان شد، شرکت ST برای نام گذاری میکروکنترلر خود، دارای یک استاندارد مخصوص است. این استاندارد ترکیبی از حروف و ارقام است که بر روی میکروکنترلر، درج می گردد. به عنوان مثال میکروکنترلری با نام STM32F103RET6 را مورد بررسی قرار می دهیم. به طور کلی این نام از این خانواده، از ۹ بخش تشکیل شده است. تصویر زیر، بیان گر این استاندارد و ترتیب نام گذاری است.
در عبارت فوق، ترکیبی از حروف و ارقام را از چپ به راست، مشاهده می نمایید. در ابتدا، این عبارت با STM شروع می شود. STM مخفف دو کلمه St Microcontroller می باشد. از آنجاییکه شرکت St سازنده این سری میکروکنترلرها است اولین قسمت تشکیل دهنده نام میکروکنترلرها پیشوند ST می باشد. در ادامه، عدد ۳۲ را مشاهده می نمایید. عدد ۳۲ نشان دهنده معماری ۳۲ بیتی این میکروکنترلر می باشد، چنانچه میکروکنترلری از محصولات این شرکت معماری ۸ بیتی داشته باشد به صورت STM8 نوشته خواهد. قسمت سوم، بیانگر نوع کاربر محصول است. عبارت F بیانگر foundation بوده که نوعی بسیار پرکاربرد است. قسمت چهارم، بیانگر کورتکس میکروکنترلر است. در ایتجا عدد ۱ نشان از CORTEXM3 دارد. سایر مشخصات و عبارت را در جدول زیر، خلاصه می نماییم.
در قسمت های بعدی به تشریح قسمت های مهم نام گذاری می پردازیم.
مفهوم بخش سوم نام گذاری: نوع کاربرد
بخش سوم یا همان کاربرد نشان دهنده نوع محصول می باشد. نوع محصول با کاربری زیرساختی یا Foundation پرکاربردترین میکروکنترلر آرم ۳۲ بیتی این شرکت می باشد. جدول زیر، کاربردهای مختلف را به همراه کلمه کلیدی آن، نشان می دهد.
همانطور که بیان شد، کاربرد F، کاربردی عمومی است که در اکثر پروژه ها از این نوع، استفاده می شود. اما کاربرد L که مصرف انرژی بسیار پایینی دارد،در پروژه های خاص مورد استفاده قرار می گیرد. کاربرد این نوع میرکروکنترلرها در پروژه IOT است که قرار است یک دستگاه، تنها با یک باتری، سال ها فعال باشد.
بخش چهارم : هسته میکروکنترلر
این بخش از نام میکروکنترلر، نماینده هسته آن می باشد. منظور از هسته، آن بخش از میکروکنترلر است که شامل معماری آن از لحاظ بیت(۸ یا ۳۲ یا ۶۴) و نوع آن (RISC/CISC) می شود. به طور کلی میکروکنترلرهای ۳۲ بیتی از نظر معماری هسته به انواع مختلفی دسته بندی می شوند. این دسته بندی به صورت زیر است.
Cortex-M0
Cortex-M3
Cortex-M4
Cortex-M7
در نام گذاری میکروکنترلر ST، بخش چهارم که مربوط به نام گذاری هسته است، اعداد آن به شکل زیر تعیین می شوند.
بخش پنجم: توضیحات کلی پردازنده
این بخش از دو رقم تشکیل شده است. این دو رقم بیانگر اطلاعات کلی در رابطه با میکروکنترلر است. به عنون مثال، عدد ۰۳ بیانگر عبارات زیر است.
فرکانس کاری ۷۲ مگاهرتزی
دارای سه پورت USART
دارای دو پورت SPI
دارای دو پورت I2C
دارای یک پورت USB
دارای یک پورت CAN
دارای ۲ ADC
دارای ۷ تایمر
دارای ۷ کانال دسترسی مستقیم حافظه (DMA)
بخش ششم: تعداد پایه های میکروکنترلر
در این بخش، تعداد پایه های میکروکنترلر مشخص می شود. این تعداد با حروف انگلیسی مشخص می گردد. جدول زیر ارتباط پایه ها بین حرف انگلیسی درج شده را نشان می دهد.
مطابق جدول فوق، می توان از حرف انگلیسی درج شده بر روی میکروکنترلر توسط شرکت سازنده، به تعداد پایه های آن، برد. این موضوع در طراحی PCB سبب می شود تا انتخاب سریع و دقیقی، صورت بگیرد.
بخش هفتم: حجم حافظه فلش
مطابق جدولی که در ابتدای مطلب مشاهده نمودیم، قسمت هفتم عبارت درج شده روی میکروکنترلر، بیانگر حجم حافظه فلش آن میکروکنترلر است. این عبارت، به صورت یک عدد بر روی میکروکنترلر، ظاهر می شود. جدول زیر رابطه بین عدد و میزان حجم حافظه فلش را نشان می دهد.
حافظه فلش، یکی از مهم ترین حافظه ها درمیکروکنترلر به شمار می رود. برنامه نوشته شده توسط برنامه نویس، درون این حافظه ذخیره می شود. به کمک عبارت درج شده بر روی میکروکنترلر، می توان از میزان حافظه فلش، مطلع شد.
بخش هشتم: شکل و اندازه پردازنده
قسمت هشتم، مربوط به نوع بسته بندی میکروکنترلر است. کلیه میکروکنترلرها، در بسته بندی های مختلف، عرضه می شود. منظور از بسته بندی، نوع شکل و اندازه پردازنده است. به عنوان مثال، پردازنده های مستطیل شکل که پایه های آن در برد بورد ها نیز قرار می گیرد، با نوع DIP شناخته می شوند. در زیر نمونه ای از این میکروکنترلرها، مشاهده می نمایید.
یکی دیگر از بسته بندی های میکروکنترلرها، بسته بندی نوع 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، از محبوب ترین و البته پرکاربردترین میکروکنترلرهای موجود در بازار هستند که اطلاع از مفاهیم درج شده بر روی آن، امری ضروری و مهم است.
چنانچه ابهامی در رابطه با نحوه نام گذاری میکروکنترلرهای آرم دارید و یا احساس می کنید اشکالی در پست و مطالب وجود دارد، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
رشته هایی که با فرمت uint-8 هستند رو چطوری میشه به char تبدیل کرد یه نفر میتونه راهنماییم کنه
با سلام
در واقع uint8_t و char هر دو از انواع دادههای بایتی هستند و میتوانند با یکدیگر تبدیل شوند. uint8_t یک نوع داده با عرض ۸ بیت (یک بایت) است و char همچنین یک نوع داده با عرض ۸ بیت است که معمولا برای نمایش کاراکترها در زبان C++ استفاده میشود. برای تبدیل uint8_t به char، میتوانید از عملیات کستینگ (casting) استفاده کنید. به عنوان مثال:
#include
int main() {(myUint8);
uint8_t myUint8 = 65; // مقدار ASCII برای حرف ‘A’
char myChar = static_cast
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 شما معتبر و در محدوده قابل تبدیل به کاراکترها باشند. همچنین استفاده از عملیات کستینگ باید با دقت انجام شود تا از از دست رفتن اطلاعات جلوگیری شود.
شاد و پیروز باشید.
سلام جناب جعفری. من با مقایسه نام گذاری میکروکنترلرهای st و امکانات آنها متوجه شدم که استاندارد نام گذاری این شرکت کامل نیست و کمک زیادی برای شناخت اون میکرو نمیکنه مثلا در اسم میکرو مشخصا دمای قابل تحمل برای میکرو مشخص شده ولی اینکه آیا پروتکل usb رو ساپورت میکنه یا نه ، دقیقا مشخص نیست. مسئله بعدی اینکه عدد چهارم که هسته میکروکنترلر رو نشون میده، نشان دهنده امکانات این میکرو است و تاثیر زیادی روی قیمت میکرو داره. مثلا میکروهای کورتکسm0 از پروتکل can پشتیبانی نمیکنن. مسئله دیگه ای که توضیحات شما متوجه نمیشم بحث cisc و risc است ، آیا کلا بحث معماری cisc در میکرو ها هم وجود داره؟ اگر وجود داره در مورد آن توضیح بدید
با سلام
از همراهی شما سپاسگزاریم.