میکروکنترلر PIC16x84؛ تاریخچه، مشخصات و جایگزین‌ها

PIC16x84
📅 24 خرداد 1405 📄 767 کلمه 🔗 منبع اصلی

چکیده

PIC16x84 خانواده‌ای از میکروکنترلرهای ۸بیتی Microchip است؛ از PIC16C84 تا نسخه‌های FLASH مانند PIC16F84A، این تراشه‌ها مسیر برنامه‌نویسی ساده و کاربردی را برای علاقه‌مندان و طراحان هموار کردند.

نمای کلی

PIC16x84 نامی کلی برای خانواده‌ای از میکروکنترلرهای ۸بیتی Microchip است که مدل‌های PIC16C84، PIC16F84 و PIC16F84A را دربر می‌گیرد. PIC16C84 در سال ۱۹۹۳ معرفی شد و به‌عنوان یکی از نخستین میکروکنترلرهای PIC با الگوریتم برنامه‌نویسی سریال و حافظه EEPROM شناخته می‌شود.

این تراشه‌ها از معماری حافظه مبتنی بر جابه‌جایی بانک‌ها استفاده می‌کنند و ابزارهای اولیه اسمبلر، اشکال‌زدایی و برنامه‌نویسی آن‌ها در ابتدا فقط برای سیستم‌عامل ویندوز مایکروسافت عرضه شده بود.

اهمیت PIC16x84 فقط در قدرت پردازش آن نبود؛ سادگی برنامه‌نویسی و قابلیت پاک‌کردن دوباره، آن را به گزینه‌ای محبوب برای پروژه‌های آموزشی و سرگرمی تبدیل کرد.

توضیح فنی

PIC16x84 عضو خانواده PIC است؛ خانواده‌ای که امروز با نام Microchip Technology شناخته می‌شود و پیش‌تر با نام «Arizona Microchip» فعالیت می‌کرد. نکته برجسته این سری، استفاده PIC16C84 از EEPROM برای حافظه برنامه بود.

امروزه استفاده از EEPROM برای ذخیره برنامه کنار گذاشته شده و حافظه FLASH جای آن را گرفته است. FLASH ارزان‌تر تولید می‌شود، آلودگی کمتری در فرایند ساخت ایجاد می‌کند و از نظر دوام و قابلیت اطمینان عملکرد بهتری دارد. هر دو فناوری EEPROM و FLASH برای کارکرد خود از نوعی ساختار «گیت شناور» استفاده می‌کنند.

این میکروکنترلر یک تایمر ۸بیتی و ۱۳ پایه ورودی/خروجی دارد. محبوبیت PIC16x84 در میان علاقه‌مندان الکترونیک به این دلیل بود که الگوریتم برنامه‌نویسی سریال آن امکان ساخت دستگاه‌های برنامه‌ریز ساده و کم‌هزینه را فراهم می‌کرد. از طرف دیگر، چون PIC16C84 از EEPROM استفاده می‌کرد، پاک‌کردن و بازنویسی آن بدون ابزار ویژه ممکن بود.

PIC16F84 و نسخه به‌روزتر آن، PIC16F84A، به‌جای EEPROM از حافظه FLASH برای ذخیره برنامه استفاده کردند. در عین حال، PIC16C84، PIC16C84A، PIC16F84 و PIC16F84A همگی ۶۴ بایت EEPROM اضافی برای داده‌های کاربر دارند که از نقشه حافظه DATA قابل آدرس‌دهی است.

نسخه‌های F

PIC16F84 و PIC16F84A نسخه‌های بهبودیافته PIC16C84 هستند و تقریباً با آن سازگارند. مهم‌ترین تفاوت‌ها، امنیت بهتر برنامه و جایگزینی FLASH با EEPROM در حافظه برنامه است.

PIC16F84/PIC16F84A دارای ۶۸ بایت RAM هستند، در حالی‌که PIC16C84 فقط ۳۶ بایت RAM دارد. به همین دلیل، در بسیاری از منابع فنی از عبارت PIC16x84 استفاده می‌شود؛ در این عبارت، x مانند یک علامت جایگزین، مدل‌های مختلف این خانواده را نشان می‌دهد.

تاریخچه

PIC16C84 در سال ۱۹۹۳ معرفی شد و به‌خاطر برخورداری از برنامه‌نویسی سریال و حافظه EEPROM توجه زیادی را جلب کرد. البته پیش از آن، تراشه‌هایی مانند Motorola MC68HC805B6، MC68HC805C4 و MC68HC11E2 با قابلیت‌هایی مانند بوت‌لودر سریال و ذخیره برنامه در EEPROM در اواخر دهه ۱۹۸۰ عرضه شده بودند.

ویژگی‌های PIC16C84 آن را برای کاربردهای آموزشی و پروژه‌های شخصی مناسب می‌کرد؛ برای برنامه‌نویسی، پاک‌کردن و بازنویسی تراشه تنها به یک دستگاه برنامه‌ریز ساده و ارزان نیاز بود. وقتی تولید PIC16C84 محدود و در نهایت متوقف شد، PIC16F84 به‌عنوان جایگزینی تقریباً مستقیم محبوبیت بیشتری پیدا کرد. اگرچه الگوریتم برنامه‌نویسی تغییر کرده بود و نرم‌افزار جدیدی لازم شد، اما سخت‌افزار موردنیاز همان سخت‌افزار پیشین بود.

در سال ۱۹۹۸، Microchip نسخه بهبودیافته PIC16F84A را معرفی کرد. این نسخه امکان استفاده از فرکانس‌های کلاک بالاتر تا ۲۰ مگاهرتز، برنامه‌نویسی سریع‌تر و مصرف جریان کمتر را فراهم می‌کرد.

PIC16x84 به خانواده ۱۴بیتی Microchip تعلق دارد؛ یعنی اندازه واژه دستورالعمل در همه دستورها ۱۴ بیت است. همین موضوع باعث می‌شد مدل‌های سری ۸۴ برای نمونه‌سازی و توسعه کد، گزینه مناسبی برای مهاجرت به دستگاه‌های ۱۴بیتی ارزان‌تر و فقط‌یک‌بار‌برنامه‌پذیر باشند.

نسخه‌های هم‌پایه جدیدتر

از زمان معرفی سری 16x84، خط تولید Microchip بارها بازنگری شده و میکروکنترلرهای هم‌پایه‌ای ساخته شده‌اند که توان پردازشی بیشتر، انعطاف بالاتر و قیمت پایین‌تری دارند.

کدهای نوشته‌شده برای PIC16x84 ممکن است برای این نسخه‌های جدید به اصلاحاتی نیاز داشته باشند؛ به‌ویژه باید پایه‌هایی با کاربرد چندگانه به‌درستی پیکربندی شوند.

  • PIC16F84A: ۱ کیلوبایت حافظه برنامه، ۶۸ بایت حافظه داده، ۶۴ بایت EEPROM و ۱ تایمر؛ این مدل بیشتر برای مقایسه با نسل پیشین فهرست می‌شود.
  • PIC16F628A: ۲ کیلوبایت حافظه برنامه، ۲۲۴ بایت حافظه داده، ۱۲۸ بایت EEPROM، ۳ تایمر، PWM سخت‌افزاری و نوسان‌ساز RC داخلی ۴ مگاهرتز/۳۷ کیلوهرتز.
  • PIC16F648A: مشابه PIC16F628A، اما با ۴ کیلوبایت حافظه برنامه.
  • PIC16F88: نسخه مبتنی بر فناوری Nanowatt Technology با ۴ کیلوبایت حافظه برنامه، ۳۶۸ بایت حافظه داده، ۲۵۶ بایت EEPROM، ۳ تایمر، PWM سخت‌افزاری، نوسان‌ساز دقیق داخلی ۸ مگاهرتز/۳۷ کیلوهرتز، مبدل آنالوگ به دیجیتال ۱۰بیتی با ۷ ورودی و پورت سریال هم‌زمان با پشتیبانی از SPI و I²C.
  • PIC16F1827: نسخه مبتنی بر فناوری Nanowatt XLP با ۴ کیلوبایت حافظه برنامه، ۳۶۸ بایت حافظه داده، ۲۵۶ بایت EEPROM، ۵ تایمر، PWM سخت‌افزاری، نوسان‌ساز دقیق روی تراشه ۳۲ مگاهرتز/۳۱ کیلوهرتز، مبدل آنالوگ به دیجیتال ۱۰بیتی با ۱۲ ورودی و ۴ واحد PLL.
  • PIC16F1847: نسخه پیشرفته‌تر Nanowatt XLP با ۸ کیلوبایت حافظه برنامه، ۱۰۲۴ بایت حافظه داده، ۲۵۶ بایت EEPROM، ۵ تایمر، PWM سخت‌افزاری، نوسان‌ساز دقیق روی تراشه ۳۲ مگاهرتز/۳۱ کیلوهرتز، مبدل آنالوگ به دیجیتال ۱۰بیتی با ۱۲ ورودی، ۴ واحد PLL و مبدل دیجیتال به آنالوگ ۵بیتی.

این مدل‌های جدیدتر بر پایه هسته ۸بیتی میان‌رده ارتقایافته طراحی شده‌اند؛ هسته‌ای که ۱۴ دستورالعمل جدید و بهینه‌سازی‌هایی برای زبان برنامه‌نویسی C دارد.

همچنین ببینید

  • میکروکنترلرهای PIC
  • Atmel AVR؛ رقیبی از سال ۱۹۹۶ که Microchip در سال ۲۰۱۶ آن را خرید و امروز خودش نیز این تراشه‌ها را عرضه می‌کند.

پیوندهای بیرونی

  • وب‌سایت رسمی Microchip
  • برگه داده رسمی PIC16F84A در سال ۲۰۰۱: میکروکنترلر ۸بیتی ۱۸پایه با FLASH/EEPROM ارتقایافته
  • آموزش‌های PIC؛ راهنمای ضروری برای میکروکنترلرهای PIC16C84 و PIC16F84، شامل مبانی و اطلاعات کاربردی

جمع‌بندی

PIC16x84 با وجود قدیمی بودن، به‌خاطر برنامه‌نویسی سریال، حافظه قابل پاک‌کردن و سازگاری بالا، نقش مهمی در محبوبیت PIC داشت. امروزه برای پروژه‌های تازه بهتر است از نسخه‌های هم‌پایه و قدرتمندتر مثل PIC16F628A یا PIC16F88 استفاده کرد.