قابلیت های میکروکنترلر stm8 – امکانات و پروتکل ها

در 2 بخش قبلی میکروکنترولرهای خانواده STM8 و تنوع محصولات را به اختصار بررسی نمودیم و در این فصل ضمن شناسایی مختصر معماری ، امکانات میکروکنترلر STM8 محور بررسی خواهد گردید.

بخش های قبلی را از طریق لینک خای زیر میتوانید مشاهده کنید:

آموزش میکروکنترلر Stm8 – مقدمه

معرفی سری های میکروکنترلر stm8

امکانات میکروکنترلر STM8

ذکر این نکته ضروریست که پیش نیاز درک و ارتقاء سطح توانمندی در این بخش وجود دانش کافی در زمینه میکروکنترولر و آشنایی با زبان C , C++  یا اسمبلی می باشد.

معماری میکروکنترولر STM8

STM8 microcontroller architecture

این خانواده از روش معماری هاروارد تبعیت می نماید که در این روش یک مسیر (BUS) به منظور تبادل داده و آدرس دهی مورد استفاده قرارمی گیرد که این امر امکان طراحی در فضای فیزیکی کمتر را مقدور می سازد و از سوی دیگر با افزایش سطح سیگنال کلاک موجب سرعت در پردازش و محاسبات خواهد گردید.

یکی از امکانات میکروکنترلر STM8  قابلیت خاموش و یا تعلیق برخی امکانات جانبی آنالوگ غیر فعال میکروکنترلر در برنامه به منظور تخصیص سیگنال کلاک به پردازنده که موجب تقلیل میزان مصرف در کاربردهای خاص و تقلیل امکان بروز خطا در طول زمان می باشد که این امر به وسیله نوع طراحی خاص این میکروکنترولر می باشد که این قابلیت صرفا در میکروکنترولر های ARM مقدور بوده است و مجدداً ذکر این نکته ضروریست که کمپانی STmicroeletronic این خانواده کارآمد را بر اساس توانمندی میکروکنترولرهای 32 بیتی طراحی نموده و برخی از قابلیت های آن خانواده را در طراحی لحاظ نموده.

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

1- Nested Interrupt Controller : در این خانواده کاملاً مشابه با میکروکنترولر های ARM بررسی وقفه ها بر اساس اولویت تخصیص یافته بصورت تو در تو و یا طبقاتی انجام می گیرد ، مفهوم ساده این عبارت این است که اگر وقفه دارای اولویت کم واقع گردد و در زمان اجرای تابع وقفه مربوطه ، وقفه ای با اولویت بالا واقع گردد ، عملیات قبلی به حالت تعلیق درآمده و تابع وقفه با اولویت بالاتر اجرا و پس از خاتمه آن تابع مربوط به وقفه با اولویت کمتر اجرا می گردد.

2-  SWIM Debug module : تنها راه برنامه ریزی و اشکال زدایی در این میکرو کنترولر پروتکل SWIM می باشد که در بخش های بعد به تشریح بررسی خواهد گردید.

3- Beeper : در بسیاری از میکروکنترولرهای 8 بیتی ، به منظور نصب بازر جهت ایجاد علائم صوتی ، پایه خاصی لحاظ نگردیده و صرفا برخی اصوات ثابت و یا انجام تنظیمات خاص دربرخی از پایه ها به منظور کنترل نیاز است ، اما در این خانواده به منظور سهولت دسترسی پایه انحصاری اما همه منظوره Beeper را میتوان به ساده ترین شکل ممکن به عنوان اتصال به بازر و با قابلیت تولید و انتشار اصوات متنوع مورد استفاده قرار داد.

4- واحد ارتباطی (Data multiple access)DMA  : یکی از قابلیت های بسیار کاربردی و نوین در میکروکنترولرهای 8 بیتی که تنها در خانواده STM8 ارائه گردیده ، یک واحد سخت افزاری با ساختار یک مسیر موازی تبادل داده که باعث کاهش حجم تبادل داده از طریق مسیر اصلی تبادل داده و کنترل پردازنده مرکزی شده و عملاً سطح اجرای پردازش را افزایش داده و باعث تقلیل حجم ترافیک داده در مسیر کنترل واحد های عملیاتی می گردد ، بطور مثال اگر قرار باشد که اطلاعات از طریق واحد USART در حافظه فلش ذخیر سازی گردد مسیر داده اصلی توسط این اطلاعات اشغال نمی گردد ، DMA یکی از قابلیت های نوین است که در میکروکنترولرهای خانواده STM8 , STM32 ارائه می گردد این مسیر امکان پردازش و تبادل داده همزمان را مقدور می نماید که با مدیریت صحیح عملیات امکان پردازش موازی (Multi-Threading) قابلیت سیستم عامل موازی (RTOS : Real Time Operational System) مقدور می گردد.

5- پروتکل ارتباطی LIN (Local Interconnection Network) : یکی از پروتکل های نوین صنعتی که در صنعت خودرو سازی بصورت گسترده ای مورد بهره برداری قرار می گیرد و به تدریج درحال جایگزین شده به جای پروتکل CAN می باشد در این پروتکل امکان تاثیر نویز های الکتریکی و محیطی به حداقل رسیده و امکان تبادل داده بین 256 واحد مستقل پردازشی و مدیریت متمرکز و یکپارچه مقدور است.

Local Interconnection Network

پروتکل استاندارد SWIM

این پروتکل روش استاندارد ارتباط با میکروکنترولرهای خانواده STM8 به منظور برنامه ریزی و اشکال زدایی می باشد که اصول کار مبتنی بر ارتباط از طریق یک سیم است .

اصول پایه این روش ارتباطی مبتنی بر یک روش نامتقارن و با میزان جریان بالا ( 8mA )  بصورت Open-drain و دوطرفه است که علاوه  بر برنامه ریزی حافظه میکروکنترولر امکان بررسی و اشکال زدایی برنامه نیز مقدور گردد.
بالا بودن میزان جریان در این روش ارتباطی موجب تقلیل اثرات نویز در مراحل اشکال زدایی و برنامه ریزی می گردد و همچنین رجیسترهای مربوط به انجام Reset در این روش لحاظ گردیده که در انتهای هر عملیات الزامی به منظور انجام این مرحله بصورت دستی نباشد و کلاک مربوط به همزمانی از کلاک اصلی میکرو کنترولر نمونه برداری می شود، در حالات عادی میتوان از پایه مربوط به SWIM به عنوان یک پایه همه منظوره استاندارد استفاده نمود .

ساختار کلی این روش ارتباطی به شکل زیر است:

Single Wire Interface Module

دیگر پروتکل هایی که در میکروکنترلر های 8 بیتی وجود دارد نیز در این میکروکنترلر مورد استفاده قرار میگیرد و وجود دارد .

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

پس با ما همراه باشید 🙂

شما ممکن است این را هم بپسندید

6 پاسخ‌ها

  1. مسعود گفت:

    سلام
    من تازه با این سایت آشنا شدم.با توجه به کمبود مطلب در مورد STM8 مطالبتون بسیار مفیده.کتابتون رو هم سفارش دادم.
    ممنون

  2. علی فلاح گفت:

    سلام
    واقعا خیلی عالیه!
    من دارم همه مطالب مربوطه رو میخوانم. دیگه به همه نظر نمیدم 🙂
    ممنون

  3. رامین گفت:

    خیلی عالی بود .
    خواهشا ادامه بدین

پاسخ دهید

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