میکروکنترلر STM8 یک میکروکنترلر ۸بیتی از خانواده میکروکنترلرهای STM است. مشهورترین میکروکنترلر خانواده STM، میکروکنترلر ۳۲بیتی ARM بهنام STM32 است. باوجود اینکه میکروکنترلرهای STM8 دارای ویژگیهای سختافزاری مناسبی هستند، دربین خانواده STM کمتر موردتوجه قرار میگیرند. درمقایسهبا طراحی ۳۲بیتی ARM، شباهتهای زیادی بین STM32 و STM8 وجود دارد و تنها تفاوتهای جزئی در عملکرد این دو مشاهده میشود.
در این مقاله و مقالات آینده قصد داریم میکروکنترلر STM8 را بررسی کنیم و بهصورت گامبهگام نحوه کار و برنامهنویسی این میکروکنترلر را آموزش دهیم. پس با ما همراه باشید.
میکروکنترلر STM8
در بیشتر زمینهها، میکروکنترلر STM8 هماهنگی و شباهت زیادی با PICها و AVRها دارد. برخلاف PICها و AVRها که بیشتر در شکل سختافزاری DIP دیده میشوند، STM8 عمدتاً در قالب سختافزاری SMD دیده میشود. تنها تعداد انگشتشماری از این تراشه در بستهبندی DIP وجود دارد. ممکناست یکیاز دلایلی که اکثر افراد در صنایع کوچک از این تراشه استفاده نمیکنند نیز همین موضوع باشد؛ چون افراد علاقهدارند در ابتدا بردهای خود را روی بردبورد (breadboard) آزمایشکرده و سپس بردنهایی را تولیدکنند. برای حل این موضوع شرکت STM چندین برد را برای شروعبهکار فراهم کردهاست.
باتجربه کار روی خانوادههای AVRs, PICs, 8051s, STM32s, MSP430s, TivaC میتوان گفت که با صرفزمان برای یادگیری STM8 وقتتان را بههدر نمیدهید.برای میکروکنترلر STM8 ابزارهای مختلفی وجود دارد که ممکناست در نگاهاول سخت بهنظر آیند. یکیاز عوامل اصلی در یادگیری STM8 قیمت است. خوشبختانه این تراشه بسیار ارزان است.
MikroC یکیاز کامپایلرهایی است که میتوان برای میکروکنترلرهای AVR، 8051 و ARM استفادهکرد. اما این کامپایلر، خانواده STM8 را پشتیبانی نمیکند. حتی در بردهای آردوینو نیز موردی که بتواند میکروکنترلر STM8 را پشتیبانیکند پیدا نشد. گرچه همیشه ابزارهای جدید در نگاه اول سختو مشکل بهنظر میآیند و کارکردن در محیط جدید نیازبه کمی زمان دارد. حتما میدانید که هرچقدر هم در زمینهای متخصص باشید، کارکردن در محیطی جدید، چالشهای خاص خود را به همراه دارد. اولین گام پیدا کردن کامپایلرهای رایگان (Open Source) برای اینکار است.
پساز جستجوهای بسیار کامپایلر Cای که بتواند STM8 را پشتیبانیکند پیدا کردیم.
کامپایلرهای ST Visual Develop و Cosmic COSC جز کامپایلرهای رایگان در این زمینه هستند.
استفادهاز کامپایلر Cosmic قبلاً بهصورت تجاری و پولی ممکنبود اما اکنون این کامپایلر بهصورت کاملاً رایگان ارائه میشود و میتوان با خیال آسوده از آن استفادهکرد.
خانواده STM8
امروزه بیشاز صدها میکروکنترلر STM8 وجوددارد. خانواده STM8 را میتوان به ۳دسته طبقهبندی کرد:
- گروه اول: میکروکنترلرهای STM8S که بهطورکلی میکروکنترلرهای قوی و قابلاطمینانی هستند و میتوانند تقریباً در تمام زمینهها مورداستفاده قرارگیرند. این گروه ارزانو هوشمند نیز هستند.
- گروه دوم: خانواده STM8A که بهطور عمده برای صنایع خودرو استفاده میشوند. این گروه با رابطهای سختافزاری اضافی مانند CAN و LIN ارائهشدهاست که برطبق اصول صنایع خودروسازی امروز است. STM8Aها نیز بسیار متنوع هستند و بهگونهای طراحی شدهاند که در محیطهای نویزپذیر میتوانند کارایی مناسبی داشتهباشند. بهعنوانمثال، STM8Aها میتوانند درجه حرارت بالا (تا بیشاز ۱۰۰درجه سانتیگراد) را تحمل کنند.
- گروه سوم: شامل میکروکنترلرهای STM8L است که برای دستگاههای کممصرف یا با باتری پشتیبان طراحی شدهاند. عملاً آنها درحالت آمادهبهکار (sleep) هیچ توانی مصرف نمیکنند. بنابراین اگر به صرفهجویی در مصرف انرژی یا کاهش انرژی در پروژههای خود نیاز دارید، این گروه انتخاب مناسبی است. همچنین نسخههای کممصرفی برای صنایع خودرو با برچسب STM8AL نیز وجوددارد. جدا از همه اینها، نوعی میکروکنترلر STM8 وجود دارد که بهطور خاص برای برنامههای کاربردی تاچ خازنی طراحیشدهاست که STM8Ts نامیده میشود.
ویژگیها و مزایای میکروکنترلرهای STM8 بسیار متنوع است و نمیتوان با چند کلمه آنها را بیانکرد.
برای مثال: تغذیه STM8s را میتوان با منبع DC سه یا پنج ولت تأمینکرد که میکروکنترلر قادر است این تنظیم را تشخیصدهد. نسخههای کممصرف میتوانند در ولتاژهای بسیار پایینتر از این مقادیر بدونمشکل کارکنند. سایت رسمی STM8 به کاربران اجازه میدهد تا ولتاژ عملیاتی موردنظر خود را انتخابکنند. تمهیداتی قراردادهشده که این میکروکنترلر را دربرابر نویزهای الکترومغناطیسیِ محیطی مقاوم میکند. این میکروکنترلر دارای سیستمی است که قادر است قطعشدن کلاک خارجی را تشخیصداده و بدون توقف در کار خود به کلاک داخلی تغییروضعیت بدهد.
در مقاله دوم به بررسی بردهای ارائهشده توسط شرکت STM میپردازیم و یک برد را برای شروعِ آموزش انتخاب خواهیمکرد.
با ما همراه باشید.
منبع: سیسوگ