متحكمات PIC هي شرائح صغيرة تتحكم في العديد من الدوائر في منتجات بسيطة ومتقدمة. تشرح هذه المقالة تاريخها، وهندسة هارفارد، والمنافذ وتوزيع الدبابيس، وعائلات 8 و16 و32 بت، وأنواع الذاكرة، والمؤقتات، والمقاطعات، وأنماط الطاقة، وروابط الاتصال. كما يغطي الأدوات، تصميم لوحات الدوائر المطبوعة، اختيار الأجهزة، والأخطاء بالتفصيل.

أساسيات المتحكمات الدقيقة PIC
متحكمات PIC هي شرائح كمبيوتر صغيرة يمكنها التحكم في أنواع عديدة من الدوائر الإلكترونية. بدأت كرقائق مساعدة بسيطة صنعتها شركة جنرال إنسترومنت. لاحقا، تولت Microchip Technology التصميم وحولت PIC إلى عائلة كاملة من المتحكمات الدقيقة. PIC تعني متحكمات Microchip ذات 8-بت و16-بت و32-بت المستخدمة في العديد من المنتجات الإلكترونية.
ظهرت أولى أجهزة PIC في السبعينيات كشرائح ملحقة قابلة للبرمجة. في أوائل التسعينيات، أعيد إطلاقها كمتحكمات دقيقة مستقلة يمكنها تخزين البرامج والتحكم في أنظمة كاملة بنفسها. تركز وحدات التحكم الدقيقة الحديثة PIC على سهولة البرمجة، والأجهزة الطرفية المدمجة المفيدة، والتكلفة المنخفضة، مما يجعلها خيارا للعديد من التصاميم المدمجة
هندسة هارفارد داخل متحكمات PIC

تستخدم متحكمات PIC بنية هارفارد، مما يعني أن تعليمات البرنامج والبيانات تخزن في مناطق ذاكرة منفصلة وتسافر على مسارات داخلية مختلفة. وبسبب ذلك، يمكن للمعالج جلب التعليمات التالية أثناء قراءة أو كتابة البيانات. يساعد هذا الإجراء المتوازي على تشغيل PIC بسلاسة أكبر ويحافظ على سهولة التحكم في توقيته مقارنة بالعديد من تصاميم الحافلة الفردية.
في العديد من عائلات PIC، تكون ذاكرة التعليمات أوسع من ذاكرة البيانات، مثل كلمات التعليمات ذات 14 بت مع بيانات 8-بت. هذا العرض الإضافي يسمح لكل تعليمات بالاحتفاظ بمعلومات مفيدة مثل الأرقام والعناوين مباشرة. وبالتالي، يمكن أن تكون البرامج أقصر، وتعمل أسرع، ولا تزال قائمة على أجهزة تبقى بسيطة من الداخل.
منافذ ومفاتيح التحكم الدقيق PIC

يتم ترتيب دبابيس متحكم PIC حول الحزمة لتجميع الوظائف ذات الصلة، مما يسهل توصيل الأجهزة الخارجية. تغذي دبابيس الطاقة جهد التشغيل، بينما تتولى دبابيس المذبذب إدخال الساعة للتوقيت. توفر عدة منافذ (RA، RB، RC، RD، وRE) إدخال/إخراج رقمي وتدعم أدوارا بديلة مثل المقاطعات، المدخلات التناظرية، وظائف التقاط/المقارنة، وواجهات الاتصال. العديد من الدبابيس متعددة الإرسال، مما يسمح لميزات مثل UART وSPI وI²C بمشاركة نفس الخطوط الفيزيائية حسب التكوين. تدعم القنوات التناظرية المخصصة عمليات ADC، وتدير الدبابيس المحددة وظائف إعادة الضبط، والإشارات المرجعية، ووظائف التحكم الخاصة. تساعد مرونة كل دبوس الجهاز على استيعاب مجموعة واسعة من التطبيقات، من مهام تحكم بسيطة إلى تصاميم مدمجة متقدمة.
عائلات وحدات التحكم الدقيقة PIC من 8-بت إلى 32-بت

يتم تجميع متحكمات PIC الدقيقة في عدة عائلات، لذا من الأسهل مطابقة الشريحة مع السرعة والذاكرة والميزات المطلوبة. الفرق الرئيسي بين هذه العائلات هو عدد البتات التي تتعامل معها في نفس الوقت، وكمية الأجهزة المدمجة التي تضيفها لمهام التحكم المختلفة.
• عائلات 8-بت (PIC10، PIC12، PIC16، PIC18)
تعمل هذه المتحكمات الدقيقة PIC مع بيانات 8-بت. تتناسب هذه البطاقات في حزم صغيرة جدا وغالبا ما يتم اختيارها لمهام تحكم بسيطة ومشاريع منخفضة التكلفة.
• عائلات 16-بت (PIC24 و dsPIC33)
تتعامل هذه الأجهزة مع بيانات 16-بت، وتحتوي على ذاكرة أكبر، وتستخدم سجلات أوسع. يمكنها معالجة العمليات الأكثر تعقيدا وتشمل ميزات التحكم في الإشارة الرقمية لتسهيل الرياضيات والتوقيت.
• عائلة 32-بت (PIC32)
تستخدم هذه المتحكمات الدقيقة PIC نواة MIPS 32 بت، مما يتيح أداء أعلى. تدعم هذه الأجهزة الملحقات وميزات الاتصال المتقدمة للأعمال المدمجة المتطلبة.
الذاكرة داخل متحكمات PIC الدقيقة

ذاكرة البرنامج 5.1 (فلاش)
ذاكرة البرنامج هي المكان الذي يخزن فيه الشيفرة الرئيسية لوحدة PIC. كانت أجهزة PIC القديمة تستخدم ذاكرة EPROM أو ذاكرة قابلة للبرمجة لمرة واحدة، لكن معظم وحدات التحكم الدقيقة الأحدث تستخدم ذاكرة الفلاش. يمكن مسح الفلاش وإعادة كتابته عدة مرات، بحيث يمكن تحديث البرنامج دون الحاجة لاستبدال الشريحة.
ذاكرة البيانات (RAM)
ذاكرة البيانات هي ذاكرة عشوائية، وتحتفظ بالمعلومات فقط أثناء تشغيل وحدة PIC بالطاقة. يخزن المتغيرات والقيم المؤقتة والمكدس أثناء تنفيذ البرنامج. تقوم العديد من وحدات التحكم الدقيقة PIC ذات 8 بت بتقسيم ذاكرة الوصول العشوائي إلى بنوك أو صفحات، بينما توفر أجهزة PIC ذات 16 بت و32 بت غالبا منطقة ذاكرة RAM أكبر وأكثر استمرارا.
ذاكرة بيانات غير متطايرة (EEPROM أو فلاش البيانات)
هذا النوع من الذاكرة يحتفظ بالبيانات حتى عند إيقاف الطاقة. تستخدم متحكمات PIC الدقيقة EEPROM أو فلاش البيانات لتخزين قيم المعايرة ومعلومات التكوين وإعدادات أخرى يجب أن تبقى كما هي بعد إعادة الضبط وإعادة التشغيل.
المؤقتات والمقاطعات والتحكم في الطاقة في متحكمات PIC

تستخدم متحكمات PIC المؤقتات لتتبع الأحداث، وعندما يفيض المؤقت، يتم تعيين علامة مقاطعة لطلب انتباه وحدة المعالجة المركزية. توقف المعالج عن عمله الحالي، وتشغيل روتين خدمة المقاطعة، ثم يستأنف التنفيذ الطبيعي. تسمح ميزات التحكم في الطاقة للجهاز بالدخول في وضع سكون منخفض الطاقة بينما تستمر المؤقتات أو مؤقت المراقبة في العمل في الخلفية. حدث استيقاظ، مثل إعادة تعيين أو مقاطعة المراقبة، يعيد المعالج إلى الوضع النشط. يساعد هذا التفاعل بين المؤقتات والمقاطعات وأنماط الطاقة في تقليل استهلاك الطاقة مع الحفاظ على توقيت دقيق واستجابات النظام الموثوقة.
واجهات الاتصال في متحكمات PIC

تتصل متحكمات PIC بمجموعة واسعة من الأجهزة الخارجية عبر واجهات اتصال متعددة. تمرر حساسات التناظر، مثل مدخلات درجة الحرارة أو الضوء، إشاراتها عبر مبدل التحويل (ADC)، بينما تشارك المستشعرات الرقمية البيانات عبر ناقل I²C. تستقبل المشغلات مثل المحركات ومصابيح LED والمرحلات إشارات التحكم عبر مخرجات GPIO أو PWM. يتم التواصل مع الحاسوب الشخصي عبر USB أو UART، مما يسمح بتبادل البيانات أو تصحيح الأخطاء. تتواصل وحدات التحكم الدقيقة والأجهزة الطرفية الأخرى باستخدام SPI أو UART أو I²C، مما يتيح التشغيل المنسق في الأنظمة المدمجة الأكبر. تدعم هذه الاتصالات تصميم النظام المرن وتسمح للمتحكم الدقيق بالتفاعل مع الحساسات وعناصر التحكم والمعالجات الخارجية بكفاءة.
أدوات تطوير لمتحكم PIC الدقيق
بيئة تطوير MPLAB X
MPLAB X هو برنامج مجاني يستخدم لإنشاء واختبار الشيفرة الدقيقة لوحدات التحكم الدقيقة PIC. يعمل على ويندوز، ماك أو إس، ولينكس. في نافذة واحدة، تتيح لك إنشاء مشاريع، وكتابة الكود، وبناء البرنامج، وتصحيح كيفية تشغيله على PIC.
مترجمات MPLAB XC
تقوم مترجمات MPLAB XC بتحويل كود C أو C++ إلى كود آلة لمتحكمات PIC الدقيقة. تم تصميمها لتتناسب جيدا مع أجهزة PIC، لذا يعمل الكود بشكل صحيح وكفاءة. هناك نسخ مجانية ونسخ مدفوعة مع ميزات إضافية.
تصحيح الأخطاء وأجهزة البرمجة
تستخدم أدوات مثل PICkit وMPLAB ICD وMPLAB REAL ICE لتحميل البرامج في متحكمات PIC وتصحيحها على لوحة الدائرة. تتيح لك برمجة الشريحة، وإيقاف الكود مؤقتا، والمرور عليها سطرا بسطر، ومراقبة كيف تتغير القيم أثناء تشغيل رمز PIC.
تطبيقات متحكم PIC الدقيق
الإلكترونيات الاستهلاكية مع متحكمات PIC
غالبا ما تكون متحكمات PIC مدمجة في المنتجات الإلكترونية اليومية. يمكنهم التحكم في الأجهزة الصغيرة، وأجهزة التحكم عن بعد، وإضاءة LED، وشواحن البطاريات، والألعاب من خلال التعامل مع المنطق البسيط، والتوقيت، والتحكم في التشغيل والإيقاف داخل الجهاز.
التحكم في السيارات والصناعة باستخدام PIC
في السيارات والآلات الصناعية، تساعد متحكمات PIC الدقيقة في إدارة المحركات، ومصادر الطاقة، والحساسات، وأنظمة التكييف. يقرؤون الإشارات، ويتخذون القرارات، ويعدلون المخرجات بحيث يعمل النظام بأمان وموثوقية.
PIC في أجهزة إنترنت الأشياء والأجهزة الطرفية
تستخدم متحكمات PIC الدقيقة في العديد من عقد إنترنت الأشياء والحافة عند الحاجة إلى طاقة منخفضة. يستخدمون حساسات تعمل بالبطارية، وبوابات بسيطة، ومراقبات بيئية تجمع البيانات الأساسية وترسلها إلى أنظمة أخرى.
الأدوات الطبية والقياسية باستخدام PIC
تعتمد بعض الأدوات الطبية والمخبرية أيضا على متحكمات دقيقة PIC. يمكنهم التحكم في أدوات التشخيص المحمولة والمضخات وأجهزة القياس الصغيرة من خلال قراءة بيانات المستشعرات وإدارة روتينات التحكم البسيطة.
اختيار متحكم دقيق PIC
• اختيار عرض البت والسرعة - استخدم PIC10/12/16/18 8-بت للتحكم البسيط ومنخفض التكلفة. اختر PIC24/dsPIC33 16-بت لمزيد من الذاكرة والرياضيات. انتقل إلى PIC32 بطول 32 بت لكود أكبر ومعالجة أثقل.
• فحص الذاكرة والأجهزة الطرفية - تقدير حجم البرنامج المطلوب وذاكرة الوصول العشوائي، ثم أضف بعض الهامش. قم بإدراج قنوات ADC المطلوبة، UARTs، منافذ SPI/I²C، المؤقتات، مخارج PWM، وأي إضافات مثل CAN أو USB أو التشفير، ومطابقها مع PIC يحتوي عليها.
• تأكيد الطاقة والحزمة - راجع التيار النشط والسكونات للتصاميم التي تعمل بالبطارية. اختر حجم الحزمة وعدد الدبابيس الذي يناسب لوحة الدوائر المطبوعة الخاصة بك. تأكد من أن PIC يحقق درجة الحرارة والموثوقية المناسبة.
الأخطاء الشائعة في متحكم PIC الدقيق
| نصيحة | ماذا أفعل ولماذا؟ |
|---|---|
| تهيئة الإعدادات عند البداية | قم بضبط جميع دبابيس الإدخال/الإخراج، وإيقاف الأجهزة الطرفية غير المستخدمة، واضبط الساعة وكوت دوج في بداية main() لتجنب السلوك العشوائي. |
| حافظ على البساطة في المقاطعات | اجعل روتينات المقاطعات قصيرة، وتجنب العمل الثقيل داخلها، وحماية البيانات المشتركة حتى لا تتغير القيم بطرق غير آمنة. |
| إعادة استخدام أمثلة PIC المثبتة | استخدم مكتبات الشرائح الدقيقة، وأمثلة الكود، وملاحظات التطبيقات ل UART وSPI وADC وغيرها من الكتل لمتابعة إعدادات السجلات الصحيحة. |
| السماح بالتحديثات داخل النظام | خطط للأجهزة والشيفرة بحيث يمكن إعادة برمجة رمز التحميل عبر محمل الإقلاع أو رابط تحديث بدلا من تغيير الشريحة. |
| تحقق من الطاقة والتوقيت مبكرا | قس التيار الفعلي والتوقيت على اللوحة، خاصة للتصاميم منخفضة الطاقة أو التوقيت الضيق، بدلا من الاعتماد فقط على التقديرات. |
الخاتمة
تجمع متحكمات PIC بين كتل الأجهزة البسيطة، ومسارات البرامج والبيانات المنفصلة، والمنافذ المرنة، وأنواع الذاكرة، والعديد من المؤقتات والواجهات. مع الأدوات المناسبة وتخطيط لوحات الدوائر المطبوعة، ومن خلال ضبط البت، أوضاع الطاقة، والمقاطعات بشكل صحيح، يمكن أن يبقى التصميم القائم على PIC واضحا وموثوقا وأسهل في الصيانة مع مرور الوقت.
الأسئلة الشائعة [الأسئلة الشائعة]
ما هي بتات التكوين في متحكم دقيق PIC؟
بتات التكوين هي إعدادات غير متطايرة تحدد كيفية بدء وتشغيل رمز التشغيل، مثل مصدر الساعة، مؤقت المراقبة، إعادة ضبط البراون أوت، وحماية الكود.
كيف يمكنني تحديث برنامج PIC الثابت بدون وجود مبرمج أجهزة في كل مرة؟
استخدم محمل إقلاع يستقبل البرنامج الثابت الجديد عبر واجهة UART أو USB أو CAN أو أي واجهة أخرى ويكتبها في ذاكرة الفلاش الخاصة ب PIC.
ماذا يجب أن أتحقق إذا لم يعمل رمز المعالجة بعد البرمجة؟
تحقق من الطاقة والأرضي، وأعد ضبط مستوى MCLR، ومصدر الساعة، ثم تحقق من بتات التكوين وتأكد من وصول الكود.
متى يجب أن أستخدم dsPIC بدلا من PIC16 أو PIC18؟
استخدم dsPIC عندما تحتاج إلى مهام رياضية سريعة ومعالجة إشارات، مثل التحكم في المحرك، تحويل الطاقة الرقمية، أو الترشيح.
كيف يمكنني حماية برنامج PIC من النسخ؟
تمكين حماية الكود وحماية الذاكرة بحيث لا تتمكن الأدوات الخارجية من قراءة أو استنساخ البرنامج والبيانات المخزنة.
كيف أقلل من استهلاك الطاقة في تصميم قائم على PIC؟
خفض سرعة الساعة، وعطل الأجهزة الطرفية غير المستخدمة، واستخدم أوضاع السكون أو الخمول، وقلل من نشاط الدبوس وتيارات التحميل غير الضرورية.