A Study of GPIO Expansion Through Multiplexers and Shift Registers
تُظهر هذه الدراسة أن استخدام المبدلات (multiplexers) من طراز 74HC4051 وسجلات الإزاحة (shift registers) المتتالية من طراز 74HC595 مع المتحكمات الدقيقة مثل Arduino Uno وESP32 يوفر حلاً منخفض التكلفة لتوسيع سعة منافذ الإدخال والإخراج العامة (GPIO) بشكل كبير لتطبيقات إنترنت الأشياء، مع تحديد المقايضات الناتجة في سرعة التنفيذ، واستهلاك الطاقة، والقابلية للتوسع.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في عالم الحواسيب الصغيرة التي تشغل كل شيء، من أجهزة تنظيم الحرارة الذكية إلى المستشعرات الصناعية، هناك عنق زجاجة مستمر: نقص في نقاط الاتصال. هذه الأجهزة، المعروفة باسم المتحكمات الدقيقة (microcontrollers)، هي عقول الإلكترونيات الحديثة، لكنها تأتي بعدد ثابت من المنافذ الفيزيائية، أو "الدبابيس" (pins)، التي تسمح لها بالتواصل مع العالم الخارجي. عندما يرغب مهندس في توصيل درزن من الأضواء، وحفنة من مستشعرات الحرارة، وبعض الأزرار بشريحة واحدة، فإنه غالباً ما ينفد منه الأماكن لغرسها. الحل القياسي هو ببساطة شراء شريحة أغلى ثمناً تحتوي على منافذ أكثر، لكن ذلك يزيد من التكلفة والتعقيد. وهناك نهج أكثر أناقة يتضمن استخدام شرائح مساعدة بسيطة وغير مكلفة تعمل كمديري حركة مرور، مما يسمح للعديد من الأجهزة بمشاركة اتصال واحد. أحد هذين المساعدين هو المبدل التماثلي (analog multiplexer)، الذي يعمل مثل عامل لوحة التحويل الذي يوجه خطوط إدخال مختلفة إلى مستقبل واحد، ومسجل الإزاحة (shift register)، الذي يعمل مثل حزام ناقل، يأخذ البيانات قطعة قطعة ويطلقها جميعاً دفعة واحدة للتحكم في العديد من المخرجات. كان التحدي دائماً هو فهم مدى توفير هذه المساعدات بالضبط، ومدى سرعتها، وما إذا كانت تستهلك الكثير من الطاقة عندما يكبر النظام.
لقد وضعت دراسة حديثة أجراها الباحث المستقل تشاندرامولي هالدار (Chandramouli Haldar) هدفاً لقياس هذه المقايضات بدقة، متجاوزةً الجانب النظري لترى كيف تؤدي هذه المكونات في ظروف العالم الحقيقي. ركز البحث على نوعين محددين من الشرائح المساعدة: 74HC4051، الذي يدير إشارات الإدخال، و74HC595، الذي يدير إشارات الإخراج. اختبر الباحث هذه المكونات باستخدام نوعين شائعين من لوحات المتحكمات الدقيقة، وهما Arduino Uno وESP32، اللذان يستخدمهما الهواة والمحترفون على حد سواء. كان الهدف هو تحديد ما إذا كانت هذه الأجزاء البسيطة ومنخفضة التكلفة يمكنها توسيع قدرات حاسوب صغير بفعالية دون إبطائه أو استهلاك الكثير من الطاقة. لم تخترع الدراسة تقنية جديدة، بل قدمت مقارنة دقيقة وجانبية لكيفية أداء هذه الأدوات الراسخة عند دفعها إلى أقصى حدودها، مما يوفر دليلاً واضحاً لأي شخص يحاول بناء أنظمة معقدة بموارد محدودة.
كشفت التجارب أن هذه الشرائح المساعدة فعالة بشكل ملحوظ في توسيع قدرات المتحكم الدقيق. فعندما قام الباحث بتوصيل ثمانية مستشعرات تماثلية مباشرة بالحاسوب، تطلب الأمر ثمانية دبابيس منفصلة. ولكن باستخدام مبدل واحد من نوع 74HC4051، أمكن قراءة المستشعرات الثمانية نفسها باستخدام أربعة دبابيس فقط، مما قلل المتطلبات العتادية إلى النصف فعلياً. كانت النتائج أكثر إثارة بالنسبة للمخرات الرقمية، مثل التحكم في الأضواء أو المفاتيح؛ حيث يمكن لمسجل إزاحة واحد من نوع 74HC595 التحكم في ثمانية أجهزة باستخدام ثلاثة دبابيس فقط. وعندما قام الباحث بتوصيل أربع من هذه الشرائح في سلسلة، تمكن من التحكم في اثنين وثلاثين جهازاً مع الاستمرار في استخدام تلك الدبابيس الثلاثة نفسها. ومن خلال توصيل ثماني شرائح في سلسلة، استطاع النظام إدارة أربعة وستين مخرجاً دون الحاجة إلى أي نقاط اتصال إضافية على الحاسوب الرئيسي. أثبت هذا أن عدداً صغيراً وثابتاً من الدبابيس يمكنه التحكم في عدد هائل من الأجهزة، بشرط أن يكون النظام مستعداً لإدارة البيانات بشكل متسلسل بدلاً من القيام بذلك دفعة واحدة.
ومع ذلك، فإن هذا التوسع يأتي بتكلفة في السرعة، وقد حددت الدراسة بدقة مقدار البطء الذي يصيب النظام. وجد الباحث أن استخدام أوامر البرمجيات القياسية للتحكم في هذه الشرائح كان أبطأ بكثير من استخدام الأوامر المباشرة منخفضة المستوى التي تتحدث مباشرة إلى الأجهزة الداخلية للحاسوب. ففي لوحة Arduino Uno، استغرق أمر قياسي لتبديل دبوس واحد حوالي 7.28 ميكروثانية، بينما قلل الأمر المباشر من العتاد ذلك الوقت إلى 0.125 ميكروثانية فقط، مما جعل العملية أسرع بنحو ستين مرة. أصبح هذا الفرق حرجاً بشكل أكبر عند تحديث مجموعات كبيرة من الأضواء؛ حيث استغرق تحديث اثنين وثلاثين مخرجاً باستخدام البرمجيات القياسية أكثر من 1.7 مللي ثانية، بينما أكملت الطريقة المباشرة المهمة نفسها في 30 ميكروثانية فقط. أظهرت لوحة ESP32، وهي أسرع بطبيعتها، تحسينات مماثلة، رغم أن الفجوة بين التحكم القياسي والمباشر كانت أصغر مما هي عليه في لوحة Arduino الأبطأ. وخلصت الدراسة إلى أنه بينما يعمل التوسع العتادي بشكل جيد، فإن سرعة البرمجيات التي تتحكم فيه لا تقل أهمية عن الشرائح نفسها.
كان استهلاك الطاقة عاملاً رئيسياً آخر، وكانت النتائج هنا مطمئنة. قام الباحث بقياس الكهرباء المستخدمة من قبل النظام مع وبدون شرائح التوسعة. أدى إضافة مبدل واحد إلى زيادة استهلاك الطاقة بأقل من واحد بالمائة. وحتى عند توصيل ثمانية مسجلات إزاحة للتحكم في أربعة وستين جهازاً، كانت الزيادة الإجمالية في الطاقة أقل من ثمانية بالمائة. يشير هذا إلى أن الشرائح المساعدة فعالة للغاية ولا تستنزف بطارية النظام بشكل كبير. ومع ذلك، أشارت الدراسة إلى أن سحب الطاقة الفعلي سيعتمد بشدة على ما تفعله الأجهزة؛ فإذا كانت جميع الأضوة الـ 64 تعمل بأقصى سطوع، فإن الطاقة المطلوبة للأضواء نفسها ستتجاوز بكثير الحمل الضئيل لشرائح التحكم. أكد البحث أن طريقة التوسعة هذه قابلة للتطبيق في الأجهزة التي تعمل بالبطارية، بشرماً أن يتم إدارة الحمل بشكل صحيح.
نظرت الدراسة أيضاً في المدى الذي يمكن فيه تمديد هذه السلسلة من الشرائح قبل أن تصبح غير موثوقة. اختبر الباحث سلسلة من ثماني شرائح ووجد أنها تعمل بشكل مثالي، لكنه قام أيضاً بحساب ما سيحدث مع سلاسل أطول. فقد حدد أنه بينما ينمو عدد الأجهزة القابلة للتحكم خطياً مع كل شريحة مضافة، فإن الوقت الذي يستغرقه إرسال إشارة إلى نهاية السلسلة ينمو أيضاً. فبالنسبة لسلسلة مكونة من اثنين وثلاثين شريحة، ستستغرق الإشارة وقتاً أطول للمرور عبر الخط بأكمله، مما قد يؤخر سرعة استجابة الأضواء أو المفاتيح. أظهر البحث أنه بالنسبة لمعظم التطبيقات العملية، مثل التحكم في صف من الأضواء أو قراءة مجموعة من المستشعرات، فإن هذه التأخيرات ضئيلة. لكن بالنسبة للأنظمة التي تتطلب تغييرات فورية ومتزامنة لمئات الأجهزة، يصبح الطابع المتسلسل لمسجلات الإزاحة عاملاً مقيداً.
في النهاية، يقدم هذا العمل خارطة طريق واضحة قائمة على البيانات للمهندسين والصناع الذين يحتاجون لتوصيل العديد من الأجهزة بحاسوب صغير. إنه يؤكد أن استخدام المبدلات ومسجلات الإزاحة هو وسيلة فعالة للغاية للتغلب على الحدود الفيزيائية لدبابيس المتحكم الدقيق، مما يوفر زيادة هائلة في السعة مقابل تكلفة ضئيلة جداً في الطاقة ومقايضة يمكن إدارتها في السرعة. وتشدد الدراسة على أن أفضل النتائج تأتي من الجمع بين هذه الأدوات العتادية البسيطة والبرمجيات المحسنة التي تتحدث مباشرة إلى عتاد الحاسوب. ومن خلال فهم هذه الحدود والمزايا المحددة، يمكن للبنائين تصميم أنظمة تكون واسعة النطاق وفعالة في آن واحد، محولين شريحة صغيرة ذات بضعة دبابيس إلى متحكم قوي قادر على إدارة شبكة معقدة من المستشعرات والأجهزة.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.