تصميم البوابات باستخدام دائرة SR Flip Flop

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


تُعرف الدوائر أي المضاعفات و”demultiplexers” و”Encoders” و”Decoders” و”Parity Generators” و”Checkers” باسم الدوائر المنطقية التوافقية، وفي هذه الأنواع من الدوائر يرتبط الناتج فقط على بالحالة الحالية للمدخلات ولا يعتمد على الحالة السابقة للمدخلات أو المخرجات، وباستثناء تأخير بسيط في الانتشار يتغير ناتج الدائرة المنطقية التوافقية فور حدوث تغيير في المدخلات.

ما هي دائرة SR Flip Flop

دائرة “SR Flip Flop”: هي دائرة “flip-flop” الذي يستند إلى العاكس أعلاه مخصص فقط لفهم العمل ولكن ليس له أي استخدامات عملية، حيث لا يوجد شرط لتطبيق أي مدخلات وهذا هو المكان الذي تظهر فيه “NOR” و”NAND Gates” ويمكن تنفيذ “flip-flop” القائم على العاكس باستخدام بوابة “NOR” كما يحتوي flip-flop على مدخلين هما R و S ومخرجين Q وQ′ وإنّ المخرجات مكملة لبعضها البعض.

كما أنّه بالنسبة لبوابة “NOR” فإنّ المنطق ‘1’ هو مدخل مهيمن وإذا كان أي من مدخلاته هو المنطق ‘1’ أي عالي، فإنّ الناتج هو المنطق ‘0’ أي منخفض، وبغض النظر عن من المدخلات الأخرى.

أساسيات دائرة SR Flip Flop

هناك فئة أخرى من الدوائر، حيث لا يعتمد الناتج على المدخلات الحالية فحسب بل يعتمد أيضاً على المدخلات أو المخرجات السابقة، وتُعرف هذه الأنواع من الدوائر باسم الدوائر المنطقية المتسلسلة، كما يجب أن يكون هناك نوع من “الذاكرة” حتى نتمكن من تخزين البيانات لاستخدامها لاحقاً وتُعرف الأجهزة أو الدوائر التي يمكنها تخزين البيانات والعمل كوحدة “ذاكرة” باسم “Latches” أو “Flip-Flops”.

و”Flip-Flop” هي وحدة ذاكرة أساسية يمكنها تخزين “1 بت” من المعلومات الرقمية وإنّها دائرة إلكترونية ثنائية الاستقرار أي لها حالتان ثابتتان هما عالية أو منخفضة، ونظراً لأنّ “flip-flop” هو عنصر ثنائي الاستقرار يبقى ناتجه في أي من الحالات المستقرة حتى يتم تطبيق حدث خارجي ويُعرف باسم المشغل.

ونظراً لأنّه يحتفظ بالناتج لفترة طويلة بعد تطبيق الإدخال وما لم يتم إجراء شيء لتغييره، يمكن اعتبار “Flip-Flop” بمثابة جهاز ذاكرة والذي يمكنه تخزين بت ثنائي واحد، ويمكن تصميم “flip-flop” البسيط باستخدام اثنين من العاكسات المتسلسلة مع تغذية مرتدة من ناتج العاكس الثاني إلى إدخال العاكس الأول.

مبدأ عمل دائرة SR Flip Flop

أولاً: R = 0 وS = 0

في الحالة الأولى تكون مدخلات كل من بوابات “NOR” منطقية “0”، ونظراً لأنّ أياً منهما لا يسيطر على المدخلات فليس لهما تأثير على المخرجات، لذلك يحتفظ الناتج بحالاته السابقة أي لا يوجد تغيير في الناتج ويُطلق على هذا الشرط اسم حالة الانتظار أو شرط عدم التغيير.

ثانياً: R = 0 وS = 1

في هذه الحالة يكون الإدخال ‘S’ هو 1 ممّا يعني أنّ ناتج “NOR Gate B” سيصبح 0، ونتيجة لذلك يصبح كل من مدخلات “NOR Gate A” هي “0” وبالتالي ناتج “NOR Gate A” وبالتالي قيمة “Q” هي “1” أي عالية، ونظراً لأنّ “1” عند الإدخال “S” يجعل الناتج للتبديل إلى إحدى حالاته المستقرة ويضبطه على “1” يُعرف إدخال “S” باسم إدخال “SET”.

ثالثاً: R = 1 وS = 0

في هذه الحالة يكون الإدخال “R” هو 1 ممّا يعني أنّ ناتج “NOR Gate A” سيصبح 0 أي Q هو 0 أي منخفض، ونتيجة لذلك تصبح كل من مدخلات “NOR Gate B” هي “0” وبالتالي يكون ناتج “NOR Gate B” هو 1 أي مرتفع، ونظراً لأنّ “1” عند الإدخال “R” يجعل الناتج ينتقل إلى إحدى حالاته المستقرة ويعيد تعيينه إلى “0” يُعرف إدخال “R” باسم إدخال إعادة الضبط.

رابعاً: R = 1 وS = 1

يُحظر شرط الإدخال هذا لأنّه يفرض على مخرجات كل من بوابات “NOR” أن تصبح 0 وهو ما يعد انتهاكاً للمخرجات التكميلية، وحتى إذا تم تطبيق شرط الإدخال هذا إذا أصبحت المدخلات التالية R = 0 وS = 0 أي شرط الانتظار، فإنّه يتسبب في “حالة سباق” بين “NOR Gates” ممّا يؤدي إلى حالة غير مستقرة أو غير متوقعة عند الناتج، وكما إنّ شرط الإدخال R = 1 وS = 1 ببساطة لا يستخدم.

آلية عمل SR Flip-Flop باستخدام NAND Gates

يمكن تصميم “RS Flip-Flop” عن طريق الاقتران المتقاطع لبوابتين “NAND” ولكن يتم عكس حالات “Hold” و”Forbidden”، وإنّها أداة “SR flip” نشطة منخفضة المدخلات وبالتالي يتم تسميها بدارة “SR flip – flop باستخدام بوابات NAND”.

كما أنّ بوابة “NAND” هي أنّ المدخلات المسيطرة هي 0 أي إذا كان أي من مدخلاتها هو المنطق “0” يكون الناتج هو المنطق “1” وبغض النظر عن المدخلات الأخرى، والناتج هو 0 فقط إذا كانت جميع المدخلات 1 ومع وضع هذا في الاعتبار:

أولاً: R = 1 وS = 1

عندما يكون كل من المدخلات S وR عالية يبقى الناتج في الحالة السابقة أي أنّه يحتفظ بالبيانات السابقة.

ثانياً: R = 1 وS = 0

عندما يكون إدخال R مرتفعاً ومدخلات S منخفضاً سيكون flip flop في حالة SET، ونظراً لأنّ R مرتفع فإنّ ناتج بوابة “NAND B” أي يصبح Q منخفضاً، ويؤدي هذا إلى أن تصبح مدخلات بوابة “NAND A” منخفضة وبالتالي يصبح ناتج بوابة “NAND A” أي Q مرتفعاً.

ثالثاً: R = 0 وS = 1

عندما يكون إدخال R منخفضاً ومدخل S مرتفعاً سيكون “flip flop” في حالة إعادة الضبط، ونظراً لأنّ S مرتفع فإنّ ناتج بوابة “NAND A” أي يصبح Q منخفضاً، ويؤدي هذا إلى أن تصبح مدخلات بوابة “NAND B” منخفضة وبالتالي يصبح ناتج بوابة “NAND A” أي Q مرتفعاً.

ثالثاً: R = 0 وS = 0

عندما يكون كل من المدخلات R وS منخفضة سيكون “flip flop” في حالة غير محددة لأنّ المدخلات المنخفضة لـ S وR تنتهك قاعدة flip – flop بأنّ المخرجات يجب أن تكمل بعضها البعض، لذا “flip flop”” في حالة غير محددة أو حالة ممنوعة.

ومشكلة “SR flip – flops” هي أنّها حساسة للمستوى لإشارة التحكم ممّا يجعلها جهازاً شفافاً ومن أجل تجنب ذلك يتم تقديم الوجه المتخبط ببوابة أو SR، كما تجعل إشارة الساعة حافة الجهاز حساسة وبالتالي لا توجد شفافية.

وهناك نوعان من النتوءات بتقنية SR المسجلة ويمكن الاعتماد على “NAND” واستناداً إلى “NOR”، كما يتم تشكيل هذه الدائرة عن طريق إضافة بوابتين “NAND” إلى “NAND”، وعلى أساس “SR flip – flop” والمدخلات نشطة عالية، حيث تقوم بوابة “NAND” الإضافية بعكس المدخلات ويتم إعطاء نبضة الساعة كمدخلات لكل من بوابات “NAND” الإضافية، ومن ثم فإن انتقال نبض الساعة هو عامل رئيسي في عمل هذا الجهاز.

تطبيقات دائرة SR Flip Flop

“SR Flip Flop” عبارة عن دوائر بسيطة للغاية ولكنّها لا تستخدم على نطاق واسع في الدوائر العملية بسبب حالتها غير القانونية، حيث يكون كل من S وR مرتفعاً أي S = R = 1، لكن يتم استخدامها في تبديل الدوائر لأنّها توفر وظيفة تبديل بسيطة بين الضبط وإعادة التعيين، وأحد هذه التطبيقات هو دارة “Switch de-bounce” وتُستخدم “SR Flip Flop” للتخلص من الارتداد الميكانيكي للمفاتيح في الدوائر الرقمية.

الإتداد الميكانيكي

غالباً ما تستغرق المفاتيح الميكانيكية عند الضغط عليها أو تحريرها بعض الوقت وتهتز عدة مرات قبل أن تستقر، كما يسمى هذا السلوك غير المثالي للمفتاح باسم “Switch Bounce” أو “Mechanical Bounce”.

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


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