خانه / مطالب علمی / آموزش کار با میکروکنترلرهای سری STM32 بخش چهارم

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

ایجاد پروژه در CubeMX بر مبنای بردهای کاتالیست + ضمیمه‌ی شماره‌ی (3) – افزونه‌ی بردهای کاتالیست برای نرم‌افزار CubeMX

بطور کلی برای ایجاد پروژه در نرم‌افزار STM32CubeMX دو راه وجود دارد:

  • ایجاد پروژه بر مبنای MCU: در این حالت پروژه با انتخاب نوع میکروکنترلر آغاز می‌شود.
  • ایجاد پروژه بر مبنای Board: در این حالت پروژه با انتخاب نوع برد آغاز می‌شود، این حالت برای مواقعی مناسب است که شما از یک برد آموزشی – توسعه مانند برد دیسکاوری یا کاتالیست در پروژه‌ی خود استفاده ‌کنید.

دیاگرام زیر مسیر ایجاد پروژه را در هر دو حالت مبتنی بر MCU و Board نشان می‌دهد.

* چنانچه در نرم‌افزار Cube بخواهید پروژه‌ای بر مبنای هر کدام از انواع بردهای کاتالیست ایجاد کنید، ابتدا باید افزونه‌ی مربوط به آن را نصب کنید. جهت آگاهی از نحوه‌‌ی نصب و استفاده از افزونه و سایر اطلاعات تکمیلی مربوط به آن ضمیمه‌ی شماره‌ی 3 را مطالعه کنید.

ضمیمه‌ی شماره‌ی (3) – افزونه‌ی بردهای کاتالیست برای نرم‌افزار CubeMX

با نصب این افزونه، نرم‌افزار STM32CubeMX نصب شده در سیستم شما به بردهای کاتالیست دیجیترونیک مجهز خواهد شد.
* توجه: این افزونه هرگز فایل‌های ساختاری نرم‌افزار STM32CubeMX را دستکاری نمی‌کند.

راهنمای نصب و حذف افزونه

نصب افزونه

– چنانچه نرم‌افزار STM32CubeMX در کامپیوتر شما نصب باشد مطابق مراحل زیر عمل کنید:

برای نصب این افزونه کافی است پس از اجرای فایل Patch.exe در صفحات اول و دوم نصب ، روی پوش‌باتون Next کلیک کنید تا برنامه بصورت خودکار نصب شود. اگر به هر دلیلی افزونه نتوانست بصورت خودکار نصب شود با صفحه‌ی زیر مواجه خواهید شد:

در این صفحه پوشه‌ای را که فایل اجرایی نرم‌افزار STM32CubeMX داخل آن است را انتخاب یا مسیر آن را وارد کنید. چنانچه مسیر انتخاب شده درست باشد پوش‌باتون Install به حالت فعال در خواهد آمد و شما می‌توانید با کلیک روی آن اقدام به نصب افزونه کنید.

* راهنمایی:

برای یافتن محل فایل اجرایی نرم‌افزار STM32CubeMX کافی است روی Shortcut آن در Desktop راست کلیک کرده و سپس از منوی راست کلیک ، گزینه‌ی Properties را انتخاب کنید. از پنجره‌ی باز شده ، در تب Shortcut روی پوش‌باتون Open File Location کلیک کنید.

با این کار پنجره‌ای باز خواهد شد که همان محل فایل اجرایی نرم‌افزار STM32CubeMX می‌باشد ، آدرس این محل را در هنگام نصب افزونه استفاده کنید (مطابق شکل زیر):

مسیر وارد شده در این شکل صرفا بعنوان مثال آورده شده است.

حذف افزونه

برای حذف افزونه کافی است از روش معمول حذف برنامه‌های نصب شده از قسمت Control Panel ویندوز استفاده کنید.

چرا از این افزونه استفاده می‌کنیم؟

با نصب این افزونه و انتخاب یکی از بردهای کاتالیست از لیست بردهای آموزشی – توسعه‌ی نرم‌افزار STM32CubeMX شما می‌توانید از نقش پیش‌فرض پین‌های میکروکنترلر روی برد کاتالیست و همچنین پیکره‌بندی‌های پیش‌فرض واحدهای جانبی روی آن با خبر شوید. این آگاهی باعث می‌شود که شما موثرترین استفاده را از برد کاتالیست داشته باشید.

با استفاده از این روش (روش ایجاد پروژه در نرم‌افزار STM32CubeMX بر مبنای برد) می‌توانید …

  • برای مثال بدانید کدام پین‌ها از میکرو به کانکتور LCDی روی برد متصل‌اند ، تا در هنگام کار روی پروژه‌ای که از LCD هم استفاده می‌کنید برای تعریف مثلا پینی به یک منظور دبگری در پروژه بعنوان خروجی ، از پین‌های LCD استفاده نکنید.
  • با استفاده از پیکره‌بندی‌های پیش‌فرض واحدهای جانبی ، به دور از دغدغه‌های تنظیمات مربوط به آنها – و البته در صورتی که نوع پیکره‌بندی مهم نباشد – یک راه ‌اندازی سریع را تجربه کنید.
  • از پیکره‌بندی‌های پیش‌فرض بعنوان یک مثال نمونه‌ برای نحوه‌ی راه اندازی واحدهای جانبی استفاده کنید.
  • شمار پین‌های رزرو نشده توسط برد کاتالیست (پین‌های کاملا آزاد) را بدست آورید تا از آنها برای اهداف اختصاصی خود در پروژه استفاده کنید ، البته این در صورتی است که شما در کنار اهداف اختصاصی پروژه‌ی خود از تمام امکانات روی برد کاتالیست هم استفاده کرده باشید وگرنه اکثر پین‌های رزرو شده روی برد کاتالیست در صورت عدم پیکره‌بندی واحد جانبی متصل به آنها قابلیت استفاده‌ی اختصاصی را دارند.
  • و …

 

نحوه‌ی استفاده از افزونه

در صورتی که افزونه را با موفقیت نصب کرده باشید ، نرم‌افزار STM32CubeMX را اجرا کنید و سپس به منظور ایجاد پروژه‌ی جدید بر مبنای بردهای کاتالیست ، مطابق شکل‌های زیر عمل کنید:

از صفحه‌ی باز شده تب Board Selector را انتخاب کنید و سپس در قسمت Vendor ، Digitronic را انتخاب کنید. در صورتی که می‌خواهید پیکره‌بندی‌های پیش‌فرض واحدهای جانبی برد اعمال شود تیک چک‌باکس مشخص شده در شکل زیر را بزنید و در نهایت نوع برد کاتالیست خود را از لیست فیلتر شده انتخاب کنید و سپس روی آن دابل کلیک کنید تا پروژه‌ی Cube بر مبنای برد کاتالیست شما ایجاد شود.

مشاهده خواهید کرد که …

– در قسمت Chip View تمامی پین‌های استفاده شده در برد کاتالیست به رنگ‌های زرد و سبز نمایش داده شده‌اند و همچنین نقش هر پین میکرو در برد کاتالیست بصورت برچسب روی آن نوشته شده است. همچنین تمامی پین‌های میکرو که با رنگ خاکستری در شکل زیر مشخص‌اند ، روی برد کاتالیست به پین هدرهای کناری هدایت شده‌اند تا شما بتوانید به راحتی از آنها بعنوان پین‌های کاملا آزاد جهت اهداف اختصاصی خود استفاده کنید.

* این شکل مثالا F200 را به تصویر کشیده است.

– در قسمت IP View برخی واحدهای جانبی تعریف شده‌اند ، برای مثال – مطابق شکل زیر – تمام تنظیمات لازم برای اتصال LCD به برد کاتالیست تعریف شده است و یا منبع کلاک سیستم متناسب با کریستال خارجی موجود روی برد کاتالیست تعریف شده است.

– تنظیمات مربوط به قسمت پیکره‌بندی کلاک متناسب با برد کاتالیست تعیین شده است.

– پیکره‌بندی‌های پیش‌فرض روی واحدهای جانبی اعمال شده است.

صفحه‌ی انتخاب برد

برای دسترسی به این صفحه در نرم‌افزار STM32CubeMX به مسیر File -> New Project -> Board Selector [Tab] بروید.

[1] فیلتر کردن برد بر مبنای فروشنده‌ی برد ، نوع برد (آموزشی ، توسعه ، …) و سری میکروکنترلر بکار رفته در برد

[2] اگر این چک‌باکس تیک داشته باشد ، پروژه در حالتی شروع خواهد شد که تمامی تنظیمات پیش‌فرض امکانات جانبی برد اعمال شده است در غیر این صورت امکانات جانبی بدون تنظیمات پیش‌فرض خواهند بود

[3] در این قسمت می‌توانید لیست بردها را بر مبنای امکاناتی که لازم دارید روی برد باشند فیلتر کنید

[4] لیست بردهایی را نشان می دهد که از دو فیلتر بیان شده در بخش‌های [1] و [3] گذشته‌اند ، با دابل‌کلیک روی برد انتخاب شده در این لیست پروژه‌ی متناظر آن شروع خواهد شد

[5] این پوش‌باتون قسمت شکل برد و توضیحات آن را آشکار و مخفی می‌کند

[6] شکل فیزیکی برد انتخاب شده از لیست

[7] توضیحات برد انتخاب شده از لیست

[8] راهنمای استفاده از برد در قالب فایل pdf

[9] انتقال به صفحه‌ی اینترنتی خرید برد

 

نکات مهم

[1] در صورتی که پروژه‌ی شما در Cube بر مبنای برد کاتالیست (یا هر برد دیگری) می‌باشد ، هرگز نباید تیک چک‌باکس مشخص شده در شکل زیر را بردارید ، چرا که این کار به معنی این است که شما به Cube اجازه می‌دهید در صورت صلاح دیدش بصورت خودکار جای پین‌های نقش‌دار را عوض کند یا به اصطلاح remap کند ، حال آنکه امکان جابه‌جایی پین‌های نقش‌دار میکرو روی برد کاتالیست وجود ندارد.

سوالات متداول

[1]

[?] آیا می‌توان از پین‌هایی از میکرو که روی برد کاتالیست به توابع سخت افزاری مشخص متصل‌اند با هدف آزاد استفاده کرد؟

[!] بله ، مشروط به اینکه تابع سخت افزاری متصل به آنها استفاده نشود یا اگر استفاده شود اختلالی در عملکرد آن بوجود نیاید ، در این صورت با مراجعه به شماتیک برد کاتالیست و در نظر گرفتن ویژگی‌های مدارات جانبی مربوطه از آنها استفاده کنید.

[2]

[?] افزونه‌ی حاضر مربوط به کدام نوع از بردهای کاتالیست می‌باشد؟

[!] این افزونه از تمامی بردهای کاتالیست پشتیبانی می‌کند.

[3]

[?] در صورتی که ما از پروژه‌ی Cube بر مبنای بردهای کاتالیست استفاده کنیم ، اگر یک واحد جانبی برد کاتالیست که بصورت پیش‌فرض پیکره‌بندی شده است را لازم نداشته باشیم ، باز هم در هنگام تولید پروژه‌ی کد فایل‌های کد مربوط به آنها تولید شده و حجم کد تولیدی افزایش خواهد یافت که این مسئله در مقابل ایجاد پروژه بر مبنای Device یک عیب نسبی به شمار می‌رود ، آیا راه حلی برای جلوگیری از این مشکل وجود دارد.

[!] بله ، احتمال وقوع این نارسایی در نرم‌افزار Cube پیش‌بینی شده و راه حل آن این است که قبل از تولید پروژه‌ی کد به مسیر Project -> Settings رفته و در پنجره‌ی باز شده در تب Advanced Settings هر واحدی را که لازم ندارید ، چک‌باکس متناظر آن را تیک بزنید تا فایل کد مربوط به آن در پروژه‌ی کد تولید شده ایجاد نشود.

دانلود ضمیمه‌ی شماره‌ی (3) – افزونه‌ی بردهای کاتالیست برای نرم‌افزار CubeMX

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

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

رامین جعفرپور، فارغ التحصیل کارشناسی ارشد برق الکترونیک هستم. حدود 10 ساله مجذوب الکترونیک شدم و الانم به صورت حرفه ای دنبالش میکنم. در حال حاظر مدیر اجرایی کارگروه دیجیترونیک هستم و تو این گروه بیشتر روی سیستم های امبد و IoT تمرکز داریم.