مدخلات/مخرجات للأغراض العامة
المدخلات /المخرجات للأغراض العامة ( GPIO ) هي دبوس إشارة رقمية غير مخصص على لوحة دائرة متكاملة أو دائرة إلكترونية (مثل MCUs / MPUs ) يمكن استخدامه كمدخل أو مخرج، أو كليهما، ويمكن التحكم فيه بواسطة البرامج.
لا توجد وظيفة محددة مسبقًا لمنافذ الإدخال/الإخراج للأغراض العامة (GPIOs) وهي غير مستخدمة افتراضيًا. [ 1 ] [ 2 ] في حالة استخدامها، يتم تحديد وظيفة وسلوك منفذ الإدخال/الإخراج للأغراض العامة وتنفيذهما من قبل مصمم الدوائر على مستوى التجميع الأعلى: مصمم لوحة الدوائر في حالة منافذ الإدخال/الإخراج للأغراض العامة في الدوائر المتكاملة، أو مُكامل النظام في حالة منافذ الإدخال/الإخراج للأغراض العامة على مستوى اللوحة.
منافذ الإدخال/الإخراج للدوائر المتكاملة
تُنفَّذ منافذ الإدخال/الإخراج للأغراض العامة (GPIO) في الدوائر المتكاملة (IC) بطرق متنوعة. فبعض الدوائر المتكاملة توفر هذه المنافذ كوظيفة أساسية، بينما تُضمِّنها دوائر أخرى كملحق لوظيفة أساسية أخرى. ومن أمثلة النوع الأول معالج Intel 8255 ، الذي يربط 24 منفذ GPIO بناقل اتصال متوازي ، بالإضافة إلى العديد من دوائر توسيع منافذ GPIO التي تربطها بناقلات اتصال تسلسلية مثل I²C و SMBus . أما مثال النوع الثاني فهو معالج Realtek ALC260، الذي يوفر ثمانية منافذ GPIO إلى جانب وظيفته الأساسية كمعالجة الصوت .
تتضمن الدوائر المتكاملة لوحدات التحكم الدقيقة عادةً منافذ إدخال/إخراج للأغراض العامة (GPIO). وبحسب التطبيق، قد تشكل منافذ الإدخال/الإخراج للأغراض العامة في وحدة التحكم الدقيقة واجهتها الأساسية مع الدوائر الخارجية، أو قد تكون مجرد نوع واحد من أنواع الإدخال/الإخراج المستخدمة من بين عدة أنواع، مثل إدخال/إخراج الإشارات التناظرية ، والعداد/المؤقت، والاتصال التسلسلي.
في بعض الدوائر المتكاملة، وخاصة المتحكمات الدقيقة، قد يكون لدبوس الإدخال/الإخراج للأغراض العامة (GPIO) وظائف أخرى غير وظيفة الإدخال/الإخراج للأغراض العامة. في كثير من الأحيان، يكون من الضروري في مثل هذه الحالات تهيئة الدبوس ليعمل كدبوس إدخال/إخراج للأغراض العامة (بالإضافة إلى وظائفه الأخرى) إلى جانب تهيئة سلوكه. تتضمن بعض أجهزة المتحكمات الدقيقة (مثل عائلة Microchip dsPIC33) دوائر توجيه إشارات داخلية تسمح بربط دبابيس الإدخال/الإخراج للأغراض العامة بدبابيس الجهاز برمجيًا. تعمل مصفوفات البوابات المنطقية القابلة للبرمجة الميدانية (FPGA) على توسيع هذه الإمكانية من خلال السماح بالتحكم برمجيًا في ربط دبابيس الإدخال/الإخراج للأغراض العامة، وإنشاء مثيلاتها، وبنيتها.
تسمح بعض وحدات التحكم الدقيقة ووحدات FPGA للجهاز بتفريغ مهمة معالجة GPIO إلى جهاز منفصل، وهو وحدة التحكم في الإدخال/الإخراج القابلة للبرمجة .
- واجهة ناقل متوازية لـ 24 منفذ إدخال/إخراج للأغراض العامة ( Intel 8255 )
محول واجهة متعدد الاستخدامات، يجمع بين 20 منفذ إدخال/إخراج للأغراض العامة مع واجهات أخرى للأغراض العامة ( MOS Technology 6522 ).
وحدة تحكم دقيقة PIC مزودة بـ 29 منفذ إدخال/إخراج للأغراض العامة قابلة لإعادة التعيين ( Microchip Technology PIC24FJ256)
منافذ الإدخال/الإخراج العامة على مستوى اللوحة
تُتيح العديد من لوحات الدوائر إمكانية الوصول إلى منافذ الإدخال/الإخراج العامة (GPIO) على مستوى اللوحة للدوائر الخارجية من خلال موصلات كهربائية مدمجة. وعادةً ما يكون الوصول إلى كل منفذ من هذه المنافذ متاحًا عبر دبوس موصل مخصص.
على غرار منافذ الإدخال/الإخراج للأغراض العامة (GPIO) القائمة على الدوائر المتكاملة، تتضمن بعض اللوحات منافذ GPIO كمورد إضافي ملائم يُعزز وظيفتها الأساسية، بينما في لوحات أخرى تُشكل منافذ GPIO الوظيفة الأساسية والمركزية. بعض اللوحات، التي تُصنف عادةً كلوحات إدخال/إخراج متعددة الوظائف، تجمع بين النوعين؛ إذ توفر هذه اللوحات منافذ GPIO إلى جانب أنواع أخرى من منافذ الإدخال/الإخراج للأغراض العامة. كما توجد منافذ GPIO في لوحات التحكم المدمجة والحواسيب أحادية اللوحة مثل أردوينو وبيغل بون وراسبيري باي . [ 3 ]
بينما تُعدّ بعض منافذ الإدخال/الإخراج العامة (GPIO) على مستوى اللوحة مجرد وصلات بسيطة بأطراف الدوائر المتكاملة، فإن العديد منها يتمتع بقدرات تفتقر إليها منافذ الإدخال/الإخراج العامة القائمة على الدوائر المتكاملة عادةً. على سبيل المثال، يمكن استخدام مداخل مُشغّل شميت ، ومحركات خرج عالية التيار، وعوازل ضوئية ، أو مزيج من هذه العناصر، لتخزين إشارات الإدخال/الإخراج العامة ومعالجتها وحماية دوائر اللوحة. كما تُطبّق أحيانًا وظائف ذات مستوى أعلى، مثل منع ارتداد الإدخال ، وكشف حافة إشارة الإدخال، وإخراج تعديل عرض النبضة (PWM).
جهاز توجيه شبكة بثلاثة منافذ GPIO (Banana Pi R1)
واجهة GPIO لأجهزة الكمبيوتر من سلسلة Hewlett-Packard 80 (HP 82940A)
واجهة إيثرنت لـ 48 منفذ إدخال/إخراج للأغراض العامة (Sensoray 2410)
منافذ GPIO مرمزة بالألوان (أعلى) على لوحة Asus Tinker Board
الاستخدام
تُستخدم منافذ الإدخال/الإخراج العامة (GPIOs) في مجموعة متنوعة من التطبيقات، ولا يحدها سوى المواصفات الكهربائية والتوقيتية لواجهة GPIO وقدرة البرامج على التفاعل مع منافذ GPIOs بطريقة مناسبة وفي الوقت المناسب.
تستخدم منافذ الإدخال/الإخراج للأغراض العامة (GPIO) عادةً مستويات منطقية قياسية، ولا يمكنها توفير تيار عالٍ لأحمال الإخراج. عند استخدام مُخزن مؤقت مناسب للإخراج عالي التيار (أو مرحل ميكانيكي أو إلكتروني)، يمكن استخدام منفذ GPIO للتحكم في أجهزة عالية الطاقة مثل المصابيح، والمحركات الكهربائية، والسخانات، والمحركات (مثل المراوح). وبالمثل، يُستخدم غالبًا مُخزن مؤقت للإدخال، أو مرحل، أو عازل ضوئي لتحويل إشارة غير متوافقة (مثل الجهد العالي) إلى المستويات المنطقية المطلوبة لمنفذ GPIO.
تُستخدم منافذ الإدخال/الإخراج للدوائر المتكاملة (GPIO) عادةً للتحكم في الدوائر الأخرى (بما في ذلك الدوائر المتكاملة الأخرى) أو مراقبتها على اللوحة. ومن أمثلة ذلك تمكين وتعطيل تشغيل الدوائر الأخرى (أو تزويدها بالطاقة)، وقراءة حالات المفاتيح والمحولات الموجودة على اللوحة، وتشغيل مؤشرات حالة الصمام الثنائي الباعث للضوء (LED). في الحالة الأخيرة، يمكن لمنفذ GPIO، في كثير من الأحيان، توفير تيار خرج كافٍ لتشغيل الصمام الثنائي الباعث للضوء مباشرةً دون الحاجة إلى مُخزن وسيط.
تُستخدم منافذ الإدخال/الإخراج للأغراض العامة (GPIO) المتعددة أحيانًا معًا كواجهة اتصال ثنائية . على سبيل المثال، يمكن استخدام منفذي GPIO لتنفيذ ناقل اتصال تسلسلي مثل I²C ، ويمكن استخدام أربعة منافذ GPIO لتنفيذ ناقل واجهة الأجهزة الطرفية التسلسلية (SPI). تُستخدم هذه المنافذ عادةً لتسهيل الاتصال التسلسلي مع الدوائر المتكاملة والأجهزة الأخرى التي تحتوي على واجهات تسلسلية متوافقة، مثل أجهزة الاستشعار (مثل مستشعرات درجة الحرارة، ومستشعرات الضغط، ومقاييس التسارع ) ووحدات التحكم في المحركات . في أقصى الحالات، يمكن استخدام هذه الطريقة لتنفيذ ناقل متوازي كامل، مما يسمح بالاتصال مع الدوائر المتكاملة أو لوحات الدوائر الموجهة للناقل.
على الرغم من أن منافذ الإدخال/الإخراج للأغراض العامة (GPIO) رقمية في جوهرها، إلا أنها تُستخدم غالبًا للتحكم في العمليات التناظرية. على سبيل المثال، يمكن استخدام منفذ GPIO للتحكم في سرعة المحرك، أو شدة الإضاءة، أو درجة الحرارة. عادةً ما يتم ذلك عبر تعديل عرض النبضة (PWM)، حيث تحدد دورة تشغيل إشارة خرج منفذ GPIO القيمة الفعالة لإشارة التحكم في العملية. فعلى سبيل المثال، عند التحكم في شدة الإضاءة، يمكن خفضها عن طريق تقليل دورة تشغيل منفذ GPIO. تتطلب بعض العمليات التناظرية جهد تحكم تناظري. في مثل هذه الحالات، قد يكون من الممكن توصيل منفذ GPIO، الذي يعمل كخرج PWM، بمرشح RC لإنشاء محول رقمي-تناظري بسيط ومنخفض التكلفة .
تطبيق
تتنوع واجهات GPIO بشكل كبير. في بعض الحالات، تكون بسيطة - مجموعة من الدبابيس التي يمكن تحويلها كمجموعة إلى مدخلات أو مخرجات. وفي حالات أخرى، يمكن ضبط كل دبوس لاستقبال أو توليد جهود منطقية مختلفة، مع إمكانية ضبط قوة الإشارة ومقاومة السحب لأعلى/لأسفل . عادةً ما تكون جهود الإدخال والإخراج محدودة، ولكن ليس دائمًا، بجهد تغذية الجهاز المزود بواجهات GPIO، وقد تتلف عند استخدام جهود أعلى.
يمكن لمطور البرامج الوصول إلى حالة منفذ GPIO عبر عدة واجهات، مثل وحدة إدخال/إخراج مُخزّنة في الذاكرة ، أو عبر تعليمات منفذ إدخال/إخراج مُخصصة. تتميز بعض منافذ GPIO بمدخلات تتحمل جهد 5 فولت: حتى عند انخفاض جهد التغذية (مثل 2 فولت)، يمكن للجهاز استقبال 5 فولت دون تلف.
منفذ GPIO هو مجموعة من دبابيس GPIO (غالبًا 8 دبابيس، ولكن قد يكون العدد أقل) مرتبة في مجموعة ويتم التحكم فيها كمجموعة.
قد تشمل قدرات GPIO ما يلي: [ 2 ]
- يمكن تهيئة منافذ GPIO لتكون مدخلات أو مخرجات
- يمكن تفعيل/تعطيل منافذ GPIO
- تكون قيم الإدخال قابلة للقراءة (عادةً ما تكون عالية أو منخفضة )
- قيم الإخراج قابلة للكتابة/القراءة
- يمكن استخدام قيم الإدخال في كثير من الأحيان كمقاطعات (عادةً لأحداث التنبيه).
انظر أيضاً
مراجع
- ↑ وايت، جون، محرر. (2016). راسبيري باي - الدليل الكامل ( الطبعة السابعة). بورنموث ، إنجلترا ، المملكة المتحدة : دار إيماجين للنشر . ص 36. ISBN 978-1785463709.
- 1 2 "الإدخال/الإخراج للأغراض العامة" . دليل مطوري Oracle Java ME Embedded ( الطبعة الثامنة). شركة أوراكل . 2014.
- ↑ "GPIO – وثائق Raspberry Pi" . مؤسسة Raspberry Pi . تم الاطلاع عليه في 3 نوفمبر 2016 .
روابط خارجية
- حافلات الكمبيوتر
- الدوائر المتكاملة
