Home / میکروکنترلر / آموزش میکروکنترلر ARM / آموزش میکروکنترلرهای STM32 – بخش اول

آموزش میکروکنترلرهای STM32 – بخش اول

مقدمه و ابزارهای پیشنهادی برای شروع یادگیری

+ ضمیمه ی شماره (1) – استاندارد نام گذاری میکروکنترلرهای سری STM32

1- مقدمه

معماری آرم

معماری آرم نوعی از معماری و ساختار پردازنده‌های رایانه‌ای است که به ‌وسیلهٔ شرکت انگلیسی آرم هولدینگز طراحی شده ‌است و بیش‌تر برای تلفن‌های هوشمند ، تبلت‌ها و دستگاه‌های قابل‌ حمل کاربرد دارد. معماری آرم دستورالعمل‌های ۳۲ بیتی را پردازش می‌کند و از دههٔ ۱۹۸۰ میلادی تا به امروز در حال توسعه و گسترش است. شرکت آرم هولدینگز خود تولیدکننده پردازنده‌ها نیست و گواهی‌نامهٔ به‌کارگیری از معماری آرم را به تولید کنندگان نیمه‌هادی می‌فروشد. کمپانی‌ها نیز به راحتی تراشه‌ های خود را براساس معماری آرم تولید می‌کنند.

ARM مخفف Advanced RISC Machine است و از آنجایی که این معماری براساس طراحی RISC بنا شده ، هسته اصلی CPU تنها نیاز به حدود ۳۵ هزار ترانزیستور دارد و این باعث می ‌شود که توان بسیار کمی ‌مصرف کند ، کم ‌تر داغ کند و نیازی به خنک‌کننده یا فن نداشته باشد بر خلاف معماری x86 به‌کار رفته در پردازنده‌های شرکت‌های اینتل و ای‌ام‌دی که براساس CISC طراحی شده‌اند و نیازمند میلیون‌ها ترانزیستور هستند و همین مسئله باعث افزایش توان مصرفی و داغ شدن آنان می‌شود.

RISC که مخفف Reduced Instruction Set Computing یا مجموعه دستورهای ساده شده است در واقع نوعی از طراحی CPU است که پایه و اساس آن ، ساده‌ سازی دستورها است که منجر به بازده بالا و سرعت بخشیدن به اجرای دستورها می‌شود. پردازنده‌ ای که براساس این طراحی ساخته می‌شود را RISC می‌نامند. مهمترین و معروفترین معماری که براساس RISC طراحی شده ، ARM است. درست نقطه مقابل RISC ، طراحی دیگری با نام CISC وجود دارد که مخفف Complex Instruction Set Computing یا مجموعه دستورهای پیچیده است و معماری x86 اینتل براساس آن طراحی شده و پردازنده کامپیوترهای رومیزی و لپ‌تاپ‌ها و بسیاری از ابزارهای دیگر از آن بهره می ‌برند.

برخی از نسخه های معماری آرم عبارتند از:

ARMv1 شامل ARM1 32بیتی ، ARMv3 شامل ARM6 , ARM7 32بیتی ، ARMv7E-M شامل ARM Cortex-M4 , ARM Cortex-M7 32بیتی.

یکی از شرکتهای دریافت کننده ی مجوز استفاده از معماری ARM شرکت ST می باشد ، این شرکت خانواده ای از  میکروکنترارهای خود موسوم به STM32 را بر اساس معماری ARM بنا نهاده است که از هسته ی پردازشی 32 بیتی بهره می برند.

میکروکنترارهای STM32 معمولا مبتنی بر سری CORTEX-M از معماری ARM بنا نهاده شده اند ، برای مثال سری  F4بر مبنای سری Cortex®-M4 از معماری ARM بنا شده است.

شکل (1): نمایش نموداری سری های مختلف میکروکنترلرهای 8 و 32 بیتی شرکت ST – محور عمودی بر اساس نوع کاربرد و محور افقی بر اساس نوع 8 یا 32 بیتی طبقه بندی شده است.

Automotive:معمولا برای کاربرد در صنعت اتومبیل بعنوان امکانات پیشرفته از جمله کنترل موتور یا امکانات امنیتی خودرو

Ultra-low-power:برای کاربرد های با توان مصرفی خیلی کم

Mainstream: خط تولید پیش فرض برای کاربرد های عمومی با قابلیت متوسط

High performance :سری های با کارایی و قابلیت های بالا معمولا برای کاربردهای خاص

سری L از این خانواده برای توان های مصرفی خیلی کم و سری F برای کاربردهای عمومی و در برخی موارد (سری های با عدد بیشتر) برای کاربردهای خاص طراحی شده اند.

آموزش حاضر مختصری است ، بخش بندی شده با تلاش بر اینکه بتواند یک سری کامل از آموزش میکروکنترلرهای سری STM32 را ارائه دهد. بدیهی است بازخورد های خوانندگان در هر بخش ، کمک شایانی برای بهبود بخش های آینده خواهد بود.

شروع کار …

برای شروع یادگیری ابتدا شما باید ابزارهایی را تهیه کنید تا بتوانید حداکثر استفاده از این سری آموزشی را داشته باشید ، در ادامه با این ابزارها آشنا خواهید شد.

2- ابزار های پیشنهادی برای شروع یادگیری

در این بخش سعی شده تا بروزترین ، متداول ترین و در دسترس ترین ابزارهای مورد نیاز برای شروع یک یادگیری موفق برای شما فراهم آورده شود.

1-2- ابزارهای نرم افزاری

نرم افزار “STM32CubeMX”

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

کتابخانه “HAL”

کتابخانه ی نرم افزاری جدید ، قدرتمند و کامل شرکت ST با پوشش سراسری تمام میکروکنترلرهای 32 بیتی این شرکت می باشد. این کتابخانه یک لایه نرم افزاری است که با در اختیار دادن توابع متعدد و متنوع برای راحتی برنامه نویسان ارائه شده است. با این کتابخانه شما تجربه ی یک برنامه نویسی با توابع بروز را خواهد داشت.

نرم افزار “Keil UV5”

از محبوب ترین محیط های توسعه ی مجتمع یا همان محیط برنامه نویسی زبان C برای میکروکنترلرهای مبتنی بر ARM می باشد که شما در آن می توانید اقدام به برنامه نویسی کنید. پشتیبانی و سازگاری این IDE (Integrated Development Environment) از اکثر پروگرمرهای محبوب و رایج مانند J-Link در مراحل پروگرم کردن و عیب یابی سخت افزاری ، شما را شگفت زده خواهد کرد.

2-2- ابزارهای سخت افزاری

برد آموزشی Catalyst F400

این برد در واقع شما را از تمام دردسرهای مربوط به مونتاژ ، سیم بندی و اتصالات سخت افزاری میکروکنترلر رها ساخته و با در برداشتن اکثر پروتکل ها و توابع سخت افزاری استاندارد و پر کاربرد ، امکان آموزش کار با این امکانات محبوب را نیز فراهم کرده است. میکروکنترلر بکار رفته در این برد “STM32F407ZGT6” می باشد که معیار ما در ادامه ی آموزش ها خواهد بود.

پروگرمر – دیباگر “J-Link”

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

* همچنین شما می توانید بدون تهیه ی این پروگرمر ، میکرو خود را از روش بوت لودر ISP که امکان این امر روی برد کاتالیست فراهم شده است پروگرم کنید ، البته ناگفته نماند که در این صورت از امکان دیباگ سخت افزاری که در J-Link وجود دارد محروم خواهید شد.

ضمیمه ی شماره (1) – استاندارد نام گذاری میکروکنترلرهای سری STM32

مثال: STM32F407ZGT6
* در بخش بعدی خواهید خواند …
بخش دوم – آشنایی اجمالی با محیط نرم افزار STM32CubeMX

تهیه توسط تیم دیجیترونیک

نویسنده:مهندس رامین جعفرپور

منبع: ECA.ir

Check Also

میکروپایتون و راه اندازی آن روی ESP8266 قسمت دوم

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *