الواجهة الطرفية القابلة للبرمجة Programmable peripheral interface 8255

اقرأ في هذا المقال


الواجهة الطرفية القابلة للبرمجة (PPI 8255)، هو جهاز إدخال/إخراج قابل للبرمجة للأغراض العامة مصمم لربط وحدة المعالجة المركزية بعالمها الخارجي مثل (ADC وDAC) ولوحة المفاتيح وما إلى ذلك، يمكننا برمجته وفقًا للحالة المحددة، يمكن استخدامه مع أي معالج دقيق تقريبًا.

ما هي الواجهة الطرفية القابلة للبرمجة 8255 PPI؟

الواجهة الطرفية القابلة للبرمجة (8255)، هو جهاز إدخال/إخراج قابل للبرمجة يعمل كواجهة بين الأجهزة الطرفية والمعالج الدقيق لنقل البيانات المتوازي، (8255 PPI) (programmable peripheral interface)، مبرمجة بطريقة تسمح بنقل البيانات في ظروف مختلفة حسب حاجة النظام.

في (8255)، تمّ تخصيص (24) دبوسًا لمنافذ الإدخال/الإخراج، بشكل أساسي، يحتوي على ثلاثة منافذ (8) بت التي تُستخدم لعمليات الإدخال/الإخراج البسيطة أو المقاطعة، المنافذ الثلاثة هي المنفذ (Port A) والمنفذ (Port B) والمنفذ (Port C) ولكل منفذ (8) خطوط.

ولكن (8) بتات من المنفذ (C) مقسمة إلى مجموعتين كل منهما (4) بت، يتم تقديمها كمنفذ (port C lower) سفلي، أي (PC3 – PC0) ومنفذ (port C upper) العلوي، أي (PC7 – PC4)، ويتم ترتيبها في مجموعة مكونة من (12) دبوسًا، تمّ تصنيف كل منها على أنّها المجموعة (Group A) والمجموعة (Group B).

ما هما الوضعان اللذان يمكن برمجة 8255 بهما؟

الوضعان اللذان يمكن برمجة (8255) بهما هما كما يلي:

  • وضع تعيين/إعادة تعيين البت (Bit set/reset mode).
  • وضع الإدخال/الإخراج (I/O mode).

يتم ضبط أو إعادة تعيين أجزاء المنفذ (C) في وضع (BSR)، يتم تصنيف الوضع الآخر لـ (8255) أي وضع (I / O) إلى:

  • الوضع (Mode 0): الإدخال/الإخراج البسيط (Simple input/output).
  • الوضع (Mode 1): الإدخال/الإخراج مع المصافحة (Input output with handshaking).
  • الوضع (Mode 2): مصافحة ثنائية الاتجاه (I/O) (Bidirectional I/O handshaking).

الوضع (1 و2) كلاهما متشابهان ولكن الاختلاف الوحيد هو أنّ الوضع (1) لا يدعم المصافحة ثنائية الاتجاه، هذا يعني أنّه إذا تمت برمجة (8255) على إدخال الوضع (1)، فسيتم توصيله بشكل خاص بجهاز إدخال ويقوم بإجراء مصافحة الإدخال مع المعالج، ولكن إذا تمت برمجتها على الوضع (2)، فبسبب الطبيعة ثنائية الاتجاه، ستؤدي (PPI) عملية الإدخال والإخراج مع المعالج وفقًا للأمر المستلم.

معمارية الواجهة الطرفية القابلة للبرمجة 8255 PPI:

في التمثيل المعماري لـ (8255 PPI)، يجب أن نفهم العملية التي تقوم بها كل وحدة على حدة.

المخزن المؤقت لناقل البيانات Data bus buffer:

المخزن المؤقت لناقل البيانات، يتم استخدامه لتوصيل الناقل الداخلي (8255) بناقل النظام وذلك لإنشاء واجهة مناسبة بين الاثنين، يسمح المخزن المؤقت لناقل البيانات بإجراء عملية القراءة/الكتابة من/إلى وحدة المعالجة المركزية، يسمح المخزن المؤقت بتمرير البيانات من المنافذ أو سجل التحكم إلى وحدة المعالجة المركزية في حالة عملية الكتابة ومن وحدة المعالجة المركزية إلى المنافذ أو سجل الحالة في حالة عملية القراءة.

قراءة/كتابة منطق التحكم Read/Write control logic:

قراءة / كتابة منطق التحكم، تدير هذه الوحدة العمليات الداخلية للنظام، تمتلك هذه الوحدة القدرة على التحكم في نقل البيانات والتحكم أو كلمات الحالة داخليًا وخارجيًا، عندما تكون هناك حاجة لجلب البيانات، فإنّه يقبل العنوان الذي قدمه المعالج من خلال الناقل ويقوم على الفور بإنشاء الأمر لمجموعتي التحكم للعملية المعينة.

التحكم في المجموعة A والمجموعة B:

التحكم في المجموعة (A) والمجموعة (B) (Group A and Group B control)، يتم التعامل مع هاتين المجموعتين بواسطة وحدة المعالجة المركزية والوظائف وفقًا للأمر الذي تم إنشاؤه بواسطة وحدة المعالجة المركزية. ترسل وحدة المعالجة المركزية كلمات التحكم إلى المجموعة (A) والمجموعة (B)، وتقوم بدورها بإرسال الأمر المناسب إلى المنفذ الخاص بها، تتمتع المجموعة (A) بإمكانية الوصول إلى المنفذ (A) والبتات ذات الترتيب الأعلى من المنفذ (C)، بينما تتحكم المجموعة (B) في المنفذ (B) بالبتات ذات الترتيب الأدنى للمنفذ (C).

اختيار الشريحة CS:

(CS): إنّها تعني اختيار الشريحة (chip select)، تشير الإشارة المنخفضة في هذا الدبوس إلى تمكين الاتصال بين (8255) والمعالج، وبشكل أكثر تحديدًا يمكننا القول أنّ عملية نقل البيانات يتم تمكينها من خلال إشارة منخفضة نشطة في هذا الدبوس.

الإشارة المستخدمة لعملية القراءة RD:

(RD): هي الإشارة المستخدمة لعملية القراءة (read operation)، تشير الإشارة المنخفضة في هذا الدبوس إلى أنّ وحدة المعالجة المركزية تقوم بعملية قراءة في المنافذ أو كلمة الحالة، أو يمكننا القول أنّ (8255) يوفر بيانات أو معلومات إلى وحدة المعالجة المركزية من خلال مخزن البيانات المؤقت.

الإشارة المستخدمة لعملية الكتابة WR:

(WR): يظهر عملية الكتابة (write operation)، تسمح الإشارة المنخفضة في هذا الدبوس لوحدة المعالجة المركزية بإجراء عملية الكتابة على المنافذ أو التحكم في سجل (8255) باستخدام المخزن المؤقت لناقل البيانات.

A0 وA1:

(A0 و A1): يتم استخدامهما بشكل أساسي لتحديد المنفذ المطلوب من بين جميع منافذ (8255) ويتم ذلك من خلال تشكيل بالتزامن مع (RD وWR)، إنّه يشكل اتصالًا بـ (LSB) الخاص بناقل العنوان.

إعادة التعيين Reset:

إعادة التعيين (Reset): هي إشارة عالية نشطة تُظهر إعادة ضبط (PPI)، تؤدي الإشارة العالية في هذا الدبوس إلى مسح سجلات التحكم ويتم تعيين المنافذ في وضع الإدخال، تتم تهيئة المنافذ إلى وضع الإدخال لمنع تعطل الدائرة، كما هو الحال في حالة إعادة التعيين، إذا تمت تهيئة المنافذ على وضع الإخراج، فهناك فرص لتدمير (8255) جنبًا إلى جنب مع المعالج.

طرق التشغيل Modes of Operation:

كما ناقشنا بالفعل أنّ (8255) لديه طريقتان للتشغيل، هذه كالتالي:

وضع إعادة تعيين البت (Bit Set-Reset mode): عند استخدام المنفذ (C) للتحكم أو تشغيل الحالة، ثمّ بإرسال تعليمات (OUT)، يمكن ضبط أو إعادة تعيين كل بت فردي من المنفذ (C).

وضع الإدخال/الإخراج (I/O mode): كما نعلم أنّ وضع الإدخال/الإخراج مصنف فرعيًا إلى (3) أوضاع، لذا، دعونا الآن نناقش الأوضاع الثلاثة:

  • الوضع (Mode 0): وضع الإدخال/الإخراج (Input/Output mode).

هذا الوضع هو وضع إخراج الإدخال البسيط لـ (8255)، والذي يسمح ببرمجة كل منفذ كمنفذ إدخال أو إخراج، تتضمن ميزة الإدخال/الإخراج للوضع (0) ما يلي:

لا يدعم قدرة المصافحة أو المقاطعة.

يتم تخزين منافذ الإدخال مؤقتًا أثناء إغلاق المخرجات.

  • الوضع (Mode 1): الإدخال/الإخراج مع المصافحة (Input/Output with handshaking).

الوضع (1) من (8255) يدعم المصافحة مع المنافذ المبرمجة إمّا كوضع إدخال أو إخراج، نحن نعلم أنّه ليس من الضروري أن يتم نقل البيانات طوال الوقت بين جهازين يعملان بنفس السرعة، لذلك، تُستخدم إشارات المصافحة لمزامنة نقل البيانات بين جهازين يعملان بسرعات مختلفة.

  • الوضع (Mode 2): منفذ إدخال/إخراج ثنائي الاتجاه مع المصافحة (Bidirectional I/O port with handshaking).

في هذا الوضع، يمكن استخدام المنافذ للتدفق ثنائي الاتجاه للمعلومات عن طريق إشارات المصافحة، يمكن برمجة دبابيس المجموعة (A) لتعمل كناقل بيانات ثنائي الاتجاه ويتم استخدام المنفذ (C) العلوي (PC7 – PC4)، بواسطة إشارة المصافحة، يتم استخدام بتات المنفذ (C) الأربعة المتبقية لعمليات الإدخال/الإخراج.

نظرًا لأنّ ناقل البيانات يعرض طبيعة ثنائية الاتجاه، فعند طلب الجهاز الطرفي لإدخال البيانات فقط، يقوم المعالج بتحميل البيانات في ناقل البيانات، يمكن برمجة المنفذ (B) في الوضع (0 و1)، وفي الوضع (1)، يتم استخدام البتات السفلية للمنفذ (C) من المجموعة (B) لإشارات المصافحة.


شارك المقالة: