میکروکنترلر
میکروکنترلرها، ابزاری اساسی و حیاتی در دنیای الکترونیک هستند که برای کنترل و پردازش اطلاعات در دستگاهها و سیستمهای مختلف به کار میروند. این دستگاههای کوچک دارای واحد پردازش مرکزی، حافظه، و واحدهای ورودی/خروجی هستند و توانایی اجرای برنامههای نرمافزاری را دارند. میکروکنترلرها در کاربردهای گوناگونی از جمله دستگاههای مصرفی خانگی، خودروها، و صنعت استفاده میشوند. در عصر اینترنت اشیاء، نقش مهمی در اتصال دستگاهها به شبکهها و جمعآوری اطلاعات به منظور بهرهبرداری بهینه از آنها ایفا میکنند. همچنین، توسعه آینده میکروکنترلرها با پیشرفت تکنولوژی هوش مصنوعی و یادگیری عمیق نیز پیشبینی میشود تا عملکرد و کارایی این دستگاهها بهبود یابد و نقش بزرگتری در تکنولوژیهای آینده ایفا کنند.
تاریخچه تکامل میکروکنترلر ها
تاریخچه میکروکنترلر یک مسیر پیچیده از تکنولوژی الکترونیکی است که از دهههای گذشته به شکل چشمگیری تکامل یافته است. در ادامه، به تاریخچه میکروکنترلر خواهیم پرداخت:
- دهه ۱۹۶۰:
- در این دهه، اولین نسل میکروکنترلرها به وجود آمد. این دستگاهها از ترانزیستورها و مقاومتهای پیوسته ساخته شده بودند و عمدتاً برای کاربردهای صنعتی مورد استفاده قرار میگرفتند.
- دهه ۱۹۷۰:
- در این دهه، میکروکنترلرها از نظر تکنولوژیکی پیشرفت کردند و از مدارهای مجتمع (ICs) استفاده بیشتری کردند. این تغییر باعث کاهش اندازه و افزایش کارایی میکروکنترلرها شد.
- دهه ۱۹۸۰:
- در این دهه، میکروکنترلرها به عنوان ابزارهای برنامهپذیر به شهرت رسیدند واین امکان را به برنامهنویسان داد که برنامههای نرمافزاری خود را روی میکروکنترلرها اجرا کنند و کاربردهای متنوعی را توسعه دهند.
- دهه ۱۹۹۰:
- در این دهه، میکروکنترلرها به طور چشمگیری در صنایع مختلف مورد استفاده قرار گرفتند. کاربردهای صنعتی، اتومبیلسازی، لوازم خانگی و ابزارهای پزشکی از جمله حوزههایی بودند که میکروکنترلرها در آنها کاربرد پیدا کردند.
- دهه ۲۰۰۰ و پس از آن:
- تا امروز، تکنولوژی میکروکنترلرها به شدت پیشرفت کرده است. اندازه کوچکتر، مصرف انرژی کمتر، قابلیتهای بیشتر، و اتصال به شبکهها از ویژگیهای اصلی این دستگاهها هستند.
- میکروکنترلرها در حال حاضر به عنوان یکی از اساسیترین عناصر در اینترنت اشیاء (IoT) شناخته میشوند و در انواع مختلفی از دستگاهها و سیستمهای الکترونیکی به کار میروند.
تاریخچه میکروکنترلر نشان از تکامل و پیشرفت این تکنولوژی در دهههاست و نقش مهمی در پیشرفت صنعت الکترونیک و اتصالات بیسیم دارد.
تاریخچه شرکت های تولید کننده میکروکنترلر
تاریخچه شرکتهایی که شروع به تولید میکروکنترلر کردند، یک پیچیدگی تاریخی جالبی دارد که به تکامل صنعت الکترونیک و ابزارهای میکروکنترلری کمک شایانی کرده است. در زیر به تاریخچه چندین شرکت معروف که در تولید میکروکنترلر نقش داشتهاند، اشاره خواهیم کرد:
- Intel Corporation (1960s):
- شرکت اینتل، یکی از شرکتهای اولیه در توسعه میکروکنترلر بود. آنها در 1971 به تولید اولین میکروکنترلرهای ۴ بیتی با نام 4004 پرداختند که در برنامههای صنعتی و تجاری مورد استفاده قرار گرفت و پایه و اساس میکروکنترلر را بنا نهاد میکروکنترلر 8051 از نمونه های معروف این شرکت می باشد.
- موتورولا
موتورولا یکی دیگر از پیشگامان در تولید میکروکنترلر بود. این شرکت در سال 1984 با عرضه میکروکنترلر 68HC11 که یک میکرو 8 بیتی بود پا به عرصه تولید میکروکنترلر نهاد ، اما بعدا با تقسیم این شرکت به دو شرکت ، تولید میکرو کنترلر به شرکت Freescale Semiconductor که در سال 2014 به مالکیت NXP در آمد واگذار گردید و تا کنون هم با نام گذاری NXP HCxx تولید می گردد. - Microchip Technology (1980s):
- این شرکت آمریکایی در دهه ۱۹۸۰ به وجود و به صورت تخصصی به تولید میکروکنترلرها پرداخت. میکروکنترلرهای PIC ، محصولات پرفروش این شرکت بودند و به عنوان یکی از پیشتازهای این صنعت شناخته میشوند این شرکت با خرید شرکت اتمل به بزرگترین تولید کننده میکروهای 8 بیتی تبدیل گردید.
- اتمل یک شرکت معروف دیگر در تولید میکروکنترلرها بود. آنها میکروکنترلرهای AVR را توسعه دادند که به خصوص در پروژههای هواپیما، خودرو و صنعتی مورد استفاده قرار گرفت این شرکت در سال 2016 در اختیار شرکت میکروچیپ قرار گرفت .
- STMicroelectronics (1980s):
- این شرکت فرانسوی-ایتالیایی در سال 1984 تأسیس شد و به سرعت در تولید میکروکنترلرهای ARM محبوب شد. میکروکنترلرهای STM32 از مدل های معروف این شرکت به شمار میروند.
- Texas Instruments (1980s):
- تگزاس اینسترومنتس پیشینه آن به سال 1930 برمی گردد (TI) در دهه ۱۹۸۰ میکروکنترلرهایی با پردازندههای DSP را عرضه کرد که در کاربردهای صوتی و تصویری مورد استفاده قرار میگرفت این شرکت اولین میکروکنترلر را به صورت مدار مجتمع امروزی ارائه نمود و امروزه نیز جز سه شرکت بزرگ تولید کننده نیم هادی ها می باشد.
- NXP Semiconductors (1990s):
- این شرکت که یکی از زیر مجموعه های جداشده از فیلیپس می باشد به عنوان یکی از پیشگامان در تولید میکروکنترلرهای ARM معروف است. میکروکنترلرهای سری LPC از جمله محصولات معروف این شرکت هستند.
- Renesas(2003)
رنساس یک شرکت ژاپنی است که از ادغام بخش های الکترونیکی شرکت های میتسوبیشی ، هیتاچی و NEC آغاز به کار نمود ، این شرکت بزرگترین تامین کننده نیمه هادی ها در صنعت خودروسازی می باشد که در ساخت میکروکنترولر های با معماری ARM بسیار عملکرد خوبی داشته است.
Infineon(1999)
این شرکت در سال 1999 در آلمان تاسیس گردید و در زمینه تولید نیمه هادی ها در صنایع مختلف فعالیت دارد و نوآوری هایی از جمله میکروکنترلر های سه هسته ای را در این صنعت داشته است ، ورود این شرکت به تولید تراشه های پیشرفته خودرویی مربوط به قسمت های دستیار راننده ، ارتباطات خودرو و همچنین خودروهای برقی از نقاط قوت این شرکت می باشد.
Silicon Labs(1996)
این شرکت از جمله تولید کننده های میکروکنترولر می باشد که بیشتر تمرکز خود را در زمینه اینترنت اشیاء و وایرلس و هم چنین کاهش مصرف توان گذاشته است و جزء پیشرو ها در این صنعت می باشد.
تاریخچه تولید میکروکنترلر توسط این شرکتها نمونههایی از پیشرفت صنعت الکترونیک و نقش مهمی که این ابزارها در تکنولوژیهای مدرن داشتهاند را نشان میدهد. همچنین، این شرکتها از پیشرفتهای فناوری برای بهبود عملکرد و کارایی میکروکنترلرها بهرهبردند و باعث ترویج و گسترش استفاده از آنها در انواع کاربردها شدند.
کاربرد میکروکنترلر ها در صنابع مختلف
مصرف میکروکنترلرها در حال حاضر بسیار گسترده شده و در انواع صنایع و کاربردهای مختلف به کار میروند. در زیر به برخی از کاربردهای مهم میکروکنترلرها اشاره میکنیم:
- صنعتی و اتوماسیون:
میکروکنترلرها در صنعت و اتوماسیون نقش حیاتی و بسیار مهمی ایفا میکنند. این دستگاههای کوچک الکترونیکی با ویژگیهای کارآمدی که دارند، امکان کنترل و اتوماسیون فرآیندهای مختلف را فراهم میکنند. در زیر به برخی از کاربردهای مهم میکروکنترلرها در صنعت و اتوماسیون اشاره میکنیم:
کنترل ماشینآلات صنعتی، اتوماسیون خطوط تولید، کنترل سیستمهای پنوماتیک و هیدرولیک، کنترل سیستمهای انرژی و برق، اتوماسیون کشاورزی، اتوماسیون ساختمانی،
- خودروسازی:
کنترل موتورها: میکروکنترلرها به عنوان مغز موتورها در خودروها عمل میکنند. آنها سرعت و عملکرد موتورهای داخلی سوختی و برقی را کنترل میکنند.
سیستمهای ایمنی: میکروکنترلرها برای کنترل سیستمهای ایمنی مانند ترمزهای ضد قفل (ABS)، کنترل استحکام (ESC)، و سیستمهای کنترل کشش (TCS) به کار میروند. این سیستمها به بهبود ایمنی در رانندگی و جلوگیری از حوادث کمک میکنند.
کنترل ترمز الکترونیکی: سیستمهای ترمز الکترونیکی (EBD) و ترمزهای پارکینگ الکترونیکی (EPB) توسط میکروکنترلرها کنترل میشوند و عملکرد ترمز را بهبود میبخشند.
سیستمهای ناوبری و ارتباطی: میکروکنترلرها در سیستمهای ناوبری GPS، سیستمهای انتقال داده بیسیم، و سیستمهای صوتی و تصویری خودروها به کار میروند.
کنترل تشخیصی و دیاگنوز خودرو: میکروکنترلرها برای کنترل و دیاگنوز مشکلات و خطاهای در خودروها استفاده میشوند. این کنترلها به تشخیص مشکلات و ارائه اطلاعات به تکنسینها برای تعمیر و نگهداری کمک میکنند.
سیستمهای تهویه مطبوع و راحتی،
کنترل انواع سنسورها: میکروکنترلرها برای کنترل و خواندن اطلاعات از انواع سنسورها مانند سنسورهای دوران، سنسورهای فشار، و سنسورهای دما ، باران ، مجاورت ،نور و… به کار میروند.
اتصال به اینترنت اشیاء (IoT)
با توجه به پیشرفت تکنولوژی و نیاز به خودروهای مجهز به هوش مصنوعی و متصل به اینترنت، میکروکنترلرها در صنعت خودروسازی همچنان نقش بسیار مهمی را ایفا میکنند و توسعه آینده خودروهای هوشمند را شکل میدهند.
- لوازم خانگی :
میکروکنترلرها در لوازم خانگی نقش مهمی ایفا میکنند و به بهبود عملکرد، کارایی، و امکانات این دستگاهها کمک میکنند. از میان لوازم خانگی مختلفی که از میکروکنترلرها بهره میبرند، میتوان به موارد زیر اشاره کرد:
یخچال و فریزرها: میکروکنترلرها در یخچالها و فریزرها برای کنترل دقیق دما، نمایشگرها، و کنترل واحد یخسازی به کار میروند. این کنترلها به بهبود عملکرد و صرفهجویی در مصرف انرژی کمک میکنند.
ماشینلباسشویی: میکروکنترلرها در ماشینلباسشویی برای کنترل برنامههای شستشو، تنظیمات دما، و زمان شستشو به کار میروند. این امکانات به کاربران انعطاف بیشتری در استفاده از ماشینلباسشویی میدهند.
تلویزیونها و تجهیزات صوتی و تصویری: میکروکنترلرها در تلویزیونها، اسپیکرها، و سیستمهای صوتی و تصویری به کنترل منوها، وضوح تصویر، و تنظیمات صدا کمک میکنند.
دستگاههای پخت و پز: میکروکنترلرها در دستگاههای پخت و پز مانند اجاق گاز، اجاق برقی، و ماکروویو به کنترل دما و زمان پخت غذا کمک میکنند.
کنترلرهای ترموستاتیک: در سیستمهای گرمایشی و تهویه مطبوع خانگی، میکروکنترلرها به کنترل دما و تنظیمات ترموستاتیک کمک میکنند.
- پزشکی:
میکروکنترلرها در علوم پزشکی نقش بسیار مهمی ایفا میکنند و در انواع تجهیزات پزشکی و ابزارهای پزشکی مورد استفاده قرار میگیرند. این دستگاههای کوچک الکترونیکی با ویژگیهای خاصی که دارند، به بهبود تشخیص، درمان، و مراقبت از بیماران کمک میکنند. در زیر به برخی از کاربردهای مهم میکروکنترلرها در علوم پزشکی اشاره میکنیم:
دستگاههای تشخیصی پزشکی: میکروکنترلرها در دستگاههای تشخیصی مانند دستگاههای اولتراسونوگرافی، رادیوگرافی، تصویربرداری MRI، و دستگاههای تست آزمایشگاهی به کنترل و پردازش دادههای تصویری و سیگنالهای پزشکی مورد استفاده قرار میگیرند.
سیستمهای مانیتورینگ بیماران: میکروکنترلرها در سیستمهای مانیتورینگ بیماران مانند مانیتورهای فشار خون، مانیتورهای ضربان قلب، و دستگاههای اکسیمتری در کنترل و نمایش دقیق دادههای حیاتی بیماران به کار میروند.
دستگاههای پمپ انفیوزیون: میکروکنترلرها در دستگاههای پمپ انفیوزیون برای تزریق دقیق داروها و مواد معدنی به بیماران به کار میروند.
دستگاههای تنفسی: در دستگاههای تنفس مصنوعی و دستگاههای کمک تنفسی، میکروکنترلرها در کنترل الگوهای تنفس و تزریق هوا به بیماران به کار می روند.
سیستمهای کنترل درمانی: میکروکنترلرها در دستگاههای کنترل درمانی مانند دستگاههای دیالیز، دستگاههای تکنولوژیک برای کمک به افراد معلول، و دستگاههای ارتودنسی به کنترل و تنظیم درمانهای پزشکی کمک میکنند.
سیستمهای جراحی: میکروکنترلرها در دستگاههای جراحی مانند روباتهای جراحی، لیزرهای پزشکی، و دستگاههای جراحی از راه دور به کنترل دقیق عملیات جراحی و استفاده از ابزارهای جراحی پزشکی کمک میکنند.
دستگاههای تحریک الکتریکی: میکروکنترلرها در دستگاههای تحریک الکتریکی مانند دستگاههای ، دستگاههای تحریک عضلات، و دستگاههای تحریک اعصاب به کنترل تحریکات الکتریکی درمانی کمک میکنند.
- انرژی و محیط زیست:
میکروکنترلرها در حوزه محیط زیست و انرژی نقش بسیار مهمی ایفا میکنند و در زمینههای مختلف این حوزه به بهبود مدیریت منابع و کاهش مصرف انرژی به کار میروند. در زیر به برخی از کاربردهای مهم میکروکنترلرها در محیط زیست و انرژی اشاره میکنیم:
کنترل توربین های بادی و تولید انرژی خورشیدی: در سیستمهای تولید انرژی خورشیدی، میکروکنترلرها برای کنترل و مانیتورینگ پنلهای خورشیدی، باتریها، و تجهیزات تبدیل انرژی به کار میروند.
مدیریت سیستمهای انرژی هوشمند: در ساختمانهای هوشمند و شبکههای توزیع انرژی هوشمند، میکروکنترلرها در کنترل سیستمهای نورپردازی، تهویه مطبوع، و سیستمهای الکترونیکی مانند سیستمهای اتوماسیون خانگی به کار میروند.
مدیریت آب و منابع طبیعی: میکروکنترلرها در سیستمهای مدیریت آب مانند سیستمهای آبیاری هوشمند و سیستمهای مدیریت منابع آب به کار میروند تا مصرف آب را بهینهسازی و حفاظت از منابع آبی طبیعی را تسهیل کنند.
مدیریت پسماندها ،کنترل زیست محیطی
مدیریت ترافیک: در سیستمهای مدیریت ترافیک شهری، میکروکنترلرها به کنترل چراغهای راهنمایی و ترافیک، سیستمهای تشخیص تصادف، و سیستمهای اطلاعرسانی به کار گرفته می شوند.
با توجه به اهمیت حفاظت از محیط زیست و بهینهسازی مصرف انرژی، میکروکنترلرها در این حوزهها به عنوان ابزارهای اساسی برای مدیریت منابع و کاهش تاثیرات مخرب بر محیط زیست بسیار ارزشمند هستند.
- اینترنت اشیاء (IoT):
میکروکنترلرها در دنیای IoT بسیار حیاتی هستند و در دستگاههای هوش مصنوعی، خانه هوشمند، و انواع سنسورها و دستگاههای متصل به اینترنت به کار میروند.
- تجهیزات تلفن همراه:
- میکروکنترلرها در تلفنهای همراه، تبلتها، و دستگاههای مشابه به عنوان قسمت اصلی از پردازشگر و کنترلگر عمل میکنند و در هر قسمت از آن ها می توان حضور آن ها را مشاهده کرد.
8. علوم فضایی:
میکروکنترلرها در صنعت فضایی نقش بسیار حیاتی دارند و در تجهیزات و سیستمهای مختلف مورد استفاده قرار میگیرند. این تکنولوژیهای کوچک و قدرتمند در کنترل و مانیتورینگ انواع وظایف مرتبط با ماموریتهای فضایی مانند ماهوارهها، روباتها، سفرهای فضایی، و ایستگاه فضایی به کار گرفته می شوند. در زیر به برخی از کاربردهای مهم میکروکنترلرها در صنعت فضایی اشاره میکنیم:
کنترل ماهوارهها: میکروکنترلرها در ماهوارهها به کنترل و مدیریت تمامی عملیات ماهواره از جمله جهتیابی، ارسال و دریافت دادهها، تنظیمات انرژی، و مدیریت باتریها به کار میروند.
کنترل پهپادها : در ماموریتهای هوایی، پهپادها به عنوان دستگاههای ارتباطی و بررسی استفاده میشوند. میکروکنترلرها به کنترل و هدایت پهپادها در محیط فضایی کمک میکنند و هم خود پهپاد و هم تجهیزاتی که روی آن وصل می شود کاملا وابسته به میکرو ها هستند.
سفرهای فضایی: در ماموریتهای سفر به فضا، میکروکنترلرها در کنترل واحدهای فضایی، تنظیمات سیستمهای اتوماتیک، و تامین ایمنی فضانوردان در فضا استفاده می شوند.
مدیریت ایستگاه فضایی ، تحقیقات علمی در فضا:
کنترل روباتهای فضایی: در ماموریتها استفاده از روباتهای فضایی، میکروکنترلرها کار کنترل و مدیریت حرکت و وظایف روباتها در محیط فضایی را انجام می دهند و کل ماموریت به دوش آن هاست.
در ماموریتهای فضایی، دقت و اعتماد به تکنولوژی بسیار حائز اهمیت است و میکروکنترلرها به عنوان دستگاههای کنترلی کوچک و قوی، امکان انجام وظایف پیچیده در محیطهای فضایی را فراهم میکنند. از این رو، آنها یکی از تکنولوژیهای برجسته در صنعت فضایی به شمار میروند و بدون آن ها فعالیت های فضایی غیر ممکن می شود ،در این صنعت میکرو ها از امتحان اعتماد سربلند بیرون آمده اند و خود بار مسئولیت را یک تنه بر عهده گرفته اند..
میزان تولید میکروکنترلر ها
میکروکنترلرها به عنوان یکی از نوعهای تراشههای الکترونیکی، از لحاظ تعداد و تنوع تولید، بیشترین حجم تولید را در صنعت الکترونیک دارند. این تراشهها به دلیل کاربردهای گستردهای که در صنایع مختلف دارند ، توسط شرکتهای مختلف در سراسر جهان تولید میشوند.
میکروکنترلرها به دلیل ابزار کم حجم، کارایی بالا، و امکانات گسترده که ارائه میدهند، به عنوان مغز انواع دستگاههای الکترونیکی و هوش مصنوعی مورد استفاده قرار میگیرند. این تراشهها به طور معمول دارای واحد پردازش مرکزی (CPU)، حافظههای داخلی و خارجی، و واحدهای ورودی/خروجی برای ارتباط با دستگاههای مختلف هستند.
با توجه به رشد روزافزون تکنولوژی و نیاز به دستگاههای هوش مصنوعی و اتصال به اینترنت اشیاء (IoT)، تقاضا برای میکروکنترلرها به شدت افزایش یافته است. این تراشهها به عنوان ابزاری برای کنترل و مدیریت دستگاهها و سیستمهای الکترونیکی در حال حاضر نه تنها در صنعتهای بزرگ بلکه در پروژهها و اختراعات کوچکتر نیز به کار میروند. به همین دلیل تولید میکروکنترلرها به یکی از بزرگترین بخشهای صنعت الکترونیک تبدیل شده است.
انواع میکروکنترلر از لحاظ واحد پردازشی
میکروکنترلرها به انواع مختلفی تقسیم میشوند که هر یک از آنها ویژگیها و کاربردهای خاص خود را دارند. در زیر به برخی از انواع مهم میکروکنترلرها اشاره میکنیم:
میکروکنترلرهای 8 بیتی: این نوع میکروکنترلرها دارای واحد پردازشی 8 بیتی هستند و معمولاً برای کاربردهای ساده و کم حجم مورد استفاده قرار میگیرند. معروفترین میکروکنترلرهای 8 بیتی AVR و PIC میباشند.
میکروکنترلرهای 16 بیتی: این نوع میکروکنترلرها دارای واحد پردازشی 16 بیتی هستند و برای کاربردهای متوسطه و پیچیدهتر مورد استفاده قرار میگیرند. میکروکنترلرهای سری PIC16 و PIC18 از معروفترین نمونههای میکروکنترلرهای 16 بیتی هستند.
میکروکنترلرهای 32 بیتی: این نوع میکروکنترلرها دارای واحد پردازشی 32 بیتی هستند و برای کاربردهای پیچیدهتر و نیاز به عملکرد بالاتر مورد استفاده قرار میگیرند. میکروکنترلرهای سری ARM Cortex-M و PIC32 از این دسته به شمار میروند.
میکروکنترلرهای 64 بیتی و بیشتر: برای کاربردهای بسیار پیچیده و نیاز به پردازش دادههای حجیم و پیچیده، میکروکنترلرهای با عرض باند پردازشی بالاتر از 32 بیت مورد استفاده قرار میگیرند. این نوع میکروکنترلرها معمولاً در سیستمهای هوش مصنوعی (AI) و پردازش دادههای حسابداری (DSP) به کار میروند.
میکروکنترلرهای FPGA (Field-Programmable Gate Array): FPGAها از نوع خاصی از میکروکنترلرها هستند که قابلیت برنامهریزی مجدد دارند و به تنظیم منطق مجتمع (IC) برای انجام وظایف خاص مورد استفاده قرار میگیرند. آنها برای کاربردهایی که نیاز به پردازش سریع و سفارشی دارند، مناسب هستند.
میکروکنترلرهای تعاملی (ARM-based Microcontrollers): میکروکنترلرهای مبتنی بر ARM Cortex-M و Cortex-A به دلیل عملکرد بالا و قابلیتهای گسترده، در انواع کاربردها از جمله IoT، رباتیک، و دستگاههای هوش مصنوعی (AI) مورد استفاده قرار میگیرند.
میکروکنترلرهای DSP، اختصاراً به معنای “پردازش سیگنال دیجیتال” (Digital Signal Processor) هستند. این نوع از میکروکنترلرها به طور ویژه برای پردازش سیگنالهای دیجیتالی مانند صدا، تصویر، و دادههای سیگنالی مورد استفاده قرار میگیرند.
میکروکنترلرهای اتومبیلی (Automotive Microcontrollers) : مخصوصاً برای کاربردهای در صنعت خودروسازی طراحی شدهاند و ویژگیها و امکانات خاصی دارند که آنها را برای استفاده در خودروها مناسب میسازد. این میکروکنترلرها در کنترل و مدیریت انواع عملکردهای خودروها مورد استفاده قرار میگیرند.
میکروکنترلرهای پزشکی (Medical Microcontrollers) ویژگیها و کاربردهای خاصی دارند که آنها را برای استفاده در تجهیزات پزشکی مناسب میسازد. این میکروکنترلرها در دستگاهها و تجهیزات مرتبط با حوزه پزشکی و مراقبتهای بهداشتی به کار میروند.
هر کدام از این انواع میکروکنترلرها ویژگیها و مزایا و معایب خود را دارند و بر اساس نیاز و کاربرد خاص، انتخاب میشوند.
معماری میکروکنترلرها
میکروکنترلرها از معماریهای مختلفی برخوردارند که هر کدام ویژگیها و عملکردهای خاصی دارند. در زیر به برخی از معماریهای مهم میکروکنترلرها اشاره میکنیم:
- معماری Von Neumann (فون نیومن ) : این معماری به طور معمول در میکروکنترلرهای عمومی و کلی استفاده میشود. در این معماری، واحد پردازشی CPU و حافظه داده و برنامه در یک فضای مشترک قرار دارند و برنامهها و دادهها از یک حافظه مشترک خوانده میشوند. این معماری مناسب برای برنامههای کلی و چند منظوره است.
- معماری Harvard(هاروارد ) : در این معماری، دو حافظه جداگانه برای داده و برنامه وجود دارد و واحد پردازشی CPU به صورت موازی از هر دو حافظه میخواند. این معماری عمدتاً در میکروکنترلرهای پرسرعت و با انجام عملیاتهای پردازشی سریع مورد استفاده قرار میگیرد.
- معماری ریسک: RISC (Reduced Instruction Set Computer) میکروکنترلرهای با معماری RISC دارای مجموعه محدودی از دستورات ساده هستند که به صورت سریع اجرا میشوند. این معماری به عنوان معماری بهینه برای برنامههایی با عملیاتهای سریع و ساده شناخته میشود.
- معماری سیسک: CISC (Complex Instruction Set Computer) معماری CISC دارای مجموعه گستردهتری از دستورات با پیچیدگی بالا است. این معماری امکان اجرای دستورات پیچیده تر را فراهم میکند و برای برنامههایی با نیاز به عملیاتهای چندگانه مناسب است.
- معماری ARM (Advanced RISC Machine): معماری ARM یک معماری RISC پیشرفته است که به طور گسترده در میکروکنترلرها و پردازندههای قدرتمند به کار میرود. این معماری از مصرف انرژی کم و عملکرد بالا برخوردار است و در بسیاری از دستگاهها از جمله تلفنهای همراه و دستگاههای IoT استفاده میشود.
هر کدام از این معماریها ویژگیها و مزایا و معایب خود را دارند و بسته به نیاز و کاربرد مورد نظر، انتخاب میشوند و تنها چیزی که شما باید بدونید اینه که AVR و PIC از معماری هاروارد استفاده می کنن و ARM ها هم که از اسمش معلومه از ARM استفاده می کنن و CISC هم در CPU لپ تاپ و کامپیوتر استفاده می شه هر کدوم برتری هایی نسبت به دیگری داره ولی به طور کلی هیچ کدام برتر از دیگری نیست و هرکدام جایگاه و کاربردخاص خودش رو داره.
واحد های تشکیل دهنده میکروکنترلر ها
میکروکنترلرها دارای واحدهای درونی مختلفی هستند که وظایف مختلف در سیستم را انجام میدهند. در زیر به واحدهای درونی میکروکنترلرها به صورت کامل اشاره میکنیم:
- CPU :این واحد مهمترین بخش میکرو است که وظیفه ارتباط با تمام بخش های میکرو و هماهنگی بین آن ها را دارد و داده های ارسالی و دریافتی از آن ها را پردازش می کند و همچنین کد های برنامه را نیز از حافظه میکرو خوانده و اجرا می کند، شاید شنیده باشید که گفته می شود یک میکرو 8 بیتی ایست یا 32 بیتی و یا عدد های دیگر ، منظور از این اعداد همین CPU می باشد این اعداد به این معنی می باشند که پردازنده در آن واحد می تواند روی چند بیت پردازش انجام دهند مثلا یک پردازنده 8 بیتی در آن واحد می تواند 8 بیت را پردازش کند و یک پردازنده 16 بیتی می تواند 16 بیت را پردازش کند که درحال حاضر میکرو های 8 بیت 16 بیت و 32 بیت در صنعت موجود می باشند و همین طور فرکانس کاری میکرو هم معین کننده سرعت پردازنده می باشد یعنی وقتی گفته می شود که یک میکرو با فرکانس 16 مگاهرتز کار می کند یعنی پردازنده آن هم حداکثر تا 16 مگاهرتز می تواند کار کند یعنی 16 میلیون عملیات را در ثانیه انجام دهد..
- واحد حافظه : حافظه همانطور که از نامش پیداست مسئول نگهداری داده ها می باشد ، اما ما داده های گوناگون داریم که برای هرکدام نیاز به یک حافظه خاص می باشد ؛مثلا برای نگهداری برنامه عملکردی میکرو (همون برنامه ای که می نویسیم و پروگرام می کنیم) نیاز به یک حافظه دائمی میباشد که معمولا امروزه از حافظه Flash (با فلش مموری فرق داره ها) استفاده می شودکه معمولا فضای بیشتری از دیگر حافظه ها دارد و مثل هارد کامپیوتر میمونه که همه برنامه ها حتی ویندوز هم روی اونه و در طول اجرای برنامه غیر قابل تغییر می باشد و فقط با برنامه ریزی مجدد می توان محتوای آن را تغییر داد ،برای نگهداری متغیر ها یا همون قسمت هایی از برنامه که در طول اجرای برنامه مقدار اون ها نیاز به تغییر داره از حافظه RAM استفاده میشه که بسیار پر سرعت تر هست و فضای کمتری نسبت به فلش داره و با قطع برق هم داده هاش از بین میره دقیقا مثل RAM کامپیوتر ، و برای نگهداری متغیر هایی که نیاز داریم با قطع برق مقادیر اون ها حفظ بشه از حافظه های EEPROM ها استفاده می شه که از اون دوتای دیگه مقادیرش خیلی کمتر هست و در طول برنامه امکان تغییر محتوای آن وجود دارد.
- واحد کلاک یا تولید فرکانس کاری: در بسیاری از میکرو ها این واحد به صورت داخلی وجود داره و امکان اتصال کلاک خارجی هم در اکثر آن ها فراهم شده است و این فرکانس تولید شده هماهنگ کننده تمامی قسمت های میکروکنترلر می باشد و مبنای میزان پردازش آن ها در واحد زمان می باشد در میکروکنترلر ها این مقدار معمولا زیر 100 مگاهرتز میباشد و در بیشترین حالت به 1 گیگاهرتز هم نمی رسد ولی برای میکروپروسسور ها این مقادیر بیشتر از 1 گیگاهرتز و تا چند گیگاهرتز می باشد.
- واحد تایمر (Timer) : تایمر ها که در تمامی میکروکنترلر ها وجود دارد و از واجبات است ، زمان را برای شما در مواقع لازم می شمارد و یا یک واقعه تکرار شونده از داخل یا خارج میکروکنترلر را شمارش کرده و شما می توانید از این شمارش و زمان سنجی استفاده لازم رابکنید.
- واحد GPIO ((General-Purpose Input/Output یا ورودی و خروجی عمومی: این واحد پر استفاده ترین واحد می باشد و ساده ترین که ورودی ها و خروجی ها را به صورت منطقی خوانده یا تولید کرده و در اختیار شما قرار میدهد و تقریبا بیشترین ارتباط میکرو با دنیای خارج از طریق این واحد می باشد.
- واحد ADC یا مبدل آنالوگ به دیجینال : این واحد نیز بسیار پرکاربرد می باشد و به دلیل اینکه میکروکنترلر دیجیتال می باشد توانایی دریافت و فهم و پردازش سیگنال های آنالوگ را ندارد به همین دلیل واحد ADC به آن اضافه شده است این واحد سیگنال های آنالوگ را دریافت کرده و آن را تبدیل به سیگنال دیجیتال کرده که قابل فهم برای میکروکنترلر باشد و بتواند آن را پردازش کند.
- واحد DAC یا مبدل دیجیتال به آنالوگ : این واحد دقیقا برعکس ADC می باشد و به نسبت آن بسیار کم کاربرد تر است به گونه ای که برخی میکروکنترلر ها به صورت داخلی آن را ندارند و باید به صورت خارجی به آن ها متصل نمود و کار آن هم به این صورت است که چون میکروکنترلر توانایی دیجیتال می باشد و توانایی تولید سیگنال های آنالوگ ر ا ندارد سیگنال را به صورت دیجنتال به این واحد ارسال می کند و سپس این واحد آن را به یک سیگنال آنالوگ تبدیل کرده و در خروجی قرار می دهد.
- واحد (Universal Synchronous Asynchronous Receiver/Transmitter) USART یوزارت : این واحد مهمترین و پرکاربرد ترین واحد انتقال داده در میکروکنترلر ها می باشد که به صورت سریال می باشد و ارتباط آن به صورت Full-duplex یا دوطرفه به منظور ارسال و دریافت هم زمان می باشد و برای ارتباط یک طرفه نیاز به حداقل دو سیم و برای ارتباط دو طرفه نیاز به حداقل سه سیم دارد .
- واحد SPI ((Serial Peripheral Interface این واحد هم یک واحد ارتباطی سریال دو طرفه و همزمان می باشد که معمولا برای ارتباط بین میکرو و آی سی های دیگر استفاده می شود و دارای سرعت بالایی است ولی در فواصل زیاد نمی توان از آن استفاده نمود ، در حد روی یک برد یا نهایت فاصله چند متری و حداقل نیاز به 2 سیم برای ارتباط یک طرفه و 3 سیم برای دوطرفه البته با فرض یکی بودن گراند ها و یکی از این سیم ها سیم کلاک می باشد که بین دو آی سی هم زمانی را برقرار می کند و این پروتکل به صورتی است که می توان از میکروکنترلر به چند آی سی روی یک باس ارتباط برقرار کرد و ارسال دریافت داشت و فقط به ازای هر آی سی که اضافه می شود یک سیم دیگر به سیم ها اضافه می شود که بین میکروکنترلر و هر آی سی باید یک سیم باشد که به وسیله این سیم مشخص شود که کدام آی سی می تواند روی باس داده ارسال نماید.
- واحد I2C (Inter-Integrated Circuit) این واحد هم تقریبا شبیه SPI هست و برای ارتباط آی سی ها و سرعت آن نیز بالاست ولی با یک فرق های اساسی و جالب ،این پروتکل از دو سیم استفاده می کند با فرض یکی بودن گراندها و دو طرفه هم نیست یعنی در هر لحظه فقط می تواند دریافت یا ارسال اتفاق بیفتد و فاصله ارتباطی هم کوتاه و در حد روی بورد است اما با همان دو سیم که یکی کلاک و دیگری داده است شما می توانید با چندین آی سی به صورت باس ارتباط داشته باشید و این کار هم به این صورت اتفاق می افتد که داده ها کد گذاری می شوند و هر آی سی کد مخصوص به خود را دارد و هر آی سی داده مربوط به خود را از روی باس بر میدارد.
- واحد PWM (Pulse Width Modulation) یا مدولاسیون پهنای باند : این واحد پالس های مربعی با فرکانس های دلخواه و طول عرض پالس یا Duty Cycle دلخواه تولید می کند که کار برد های خاص خود را در راه اندازی موتورها ، LED ها ، تولید صوت و … دارد .
این واحد هایی که نام برده شد پرکاربرد ترین واحد های میکروکنترلرها می باشند و بسیاری از واحد های دیگر هم وجود دارد که در کاربرد های خاص استفاده می شودند که به صورت اختصاصی در رابطه با آن ها صحبت می شود.
پکیج ها
در گذشته میکروکنترلر ها فقط دارای پکیج های THD یا پایه دار بودند ولی امروزه برای میکرو ها پکیج های بسیار متنوعی ارائه شده است که استفاده از آن ها با بسیار راحت کرده است مانند پکیج های پایه دار ، بدون پایه ، پایه ها در زیر آی سی ، انواع پکیج های پایه دار SMD که با توجه به قیمت و سایز و شرایط مونتاژی می توان انتخاب کرد، در رابطه با پکیج های مختلف و ویژگی های آن ها در مبحث پکیج ها بیشتر صحبت می کنیم.
شماره گذاری
هر مدل از میکروکنترلر ها نام گذاری مختص به خود را دارد که در بخش مربوط به آن توضیح داده می شود اما شاید از خودتون پرسیده باشید که چرا این همه شماره های مختلف برای یک میکروکنترلر داریم ؛باید بدونید که هر میکروکنترلر از مجموعه ای از واحد های داخلی تشکیل شده که ترکیب های مختلف این واحد ها باعث بوجود آمدن شماره های مختلف شده که هرکدام کارآیی خاص خود را دارد
مثلا یکی واحد ADC قدرتمندتر و با دقت بیشتری داره دیگری تعداد واحد ADC بیشتری داره یکی دیگه واحد ADC با تعداد کانال های بیشتری داره و حالا هرکدام از این ویژگی ها در کنار ویژگی های دیگر تعداد حالات بیشتری رو می سازه مثلا تعداد واحد ADC بیشتر همراه با تعداد واحد USART بیشتر ، خوب بدیهی هست که این تعداد واحد داخلی مختلف که هرکدام از این واحد ها خود دارای تنوع بالایی هستند ترکیبشان با هم چه تعداد شماره مختلف میسازه، در کنار این ها ویژگی های دیگه ای هم مثل مقدار ولتاژ تغذیه ، پکیج میکرو ، نوع پروگرام شدن ووووو …وجود داره که باز تنوع رو بالاتر می بره .
باز شاید بپرسید که دلیل این همه تنوع چیه ؟ پاسخ های زیادی برای این پرسش وجود داره یکی از مهمترین دلیل ها قیمت هست دلیلی نداره که شما وقتی به یک تعداد واحد خاص نیاز دارید هزینه ای برای واحد های اضافی بپردازید و یا زمانی که به عنوان مثال اگر یک میکروکنترلر 15 تا واحد داره و شما فقط به 5 تا از اون واحد ها نیاز دارید بهتره بجای هزینه برای واحد های بدون استفاده، یک میکرو بخرید که فقط اون 5 واحد رو داره و به طور تخصصی روی اون پنج واحد کار کرده که هم میتونه امکانات بیشتر و دقت بیشتری به شما بده و هم هزینه پایینتری داره؛ مثلا وقتی شما میدونید که فقط به آچار بکس شماره 8 نیاز دارید بهتره که آچار بکس شماره 8 بخری تا اینکه آچار فرانسه بخری چون هم هزینه کمتری کردی هم کارت خیلی سرعت بیشتری پیدا کرده و علاوه بر اینکه وزن کمتری داره به پیچ هم آسیبی نمی رسونی ؛ البته شما کمتر پیش میاد یک میکرو پیدا کنی که صد در صد با نیاز شما مطابقت داشته باشه !! پس چاره کار چیه ؟؟ چاره کار اینه که شماره هایی رو پیدا کنی که با توجه به نیاز و حوزه کاری شما بهترین انتخاب موجود توی بازار باشه ( آره شما هیچ وقت نمیتونی هر شماره ای رو که خواستی پیدا کنی ، تو بازار ایران که این تعداد خیلی محدوده و حتی در بازار های کشور سازنده میکرو هم این امکان فراهم نیست!! چرا آخه مگه مریضن میکرو ساخته ولی تو بازار نداده!! نه این طوری ها هم نیست اون بابا تولید کنندست در صورتی تولید میکنه که فروش داشته باشه و بتونه با یه تیراژی به فرو ش برسونه که برا ش بصرفه باشه ، ممکنه یه روزی بنا به درخواست بازار و یا یک شرکت خاص یه چیزی تولید کرده باشه ولی الان دیگه تقاضایی واسش نیست یا اینکه تقاضا روی مدل های دیگه انقدر بالاست که خط تولید ش اجازه نمیده مدل های کم تقاضاتر رو تولید کنه و گاهی اوقات برخی محصولات دوره ای تولید میشوند مثلا هر سال یا دو سال یک بار و بعد از چند ماه دیگه موجودی توی بازار نیست.در ایران هم که دلایل بسیار زیاد دیگری روی این قضیه تاثیر گذاره مثل قیمت ارز ، چون وارد کننده که نمیتونه بره 10 تا دونه برای شما وارد کنه و باید بره یک پک بخره بیاره ، طرف اگر صد میلیاردم بزاره یک درصد از میکرو های دنیارو هم نمیتونه بخره بیاره ، علاوه بر این فروشی هم نداره و معمولا چند تا شماره ای که فرو ش بیشتری داره رو موجود می کنه.