فهرس |
يتكون النظام كأغلب الدارات من قسم منطقي و من قسم للذاكرة ،و مع أننا لا نعلم في هذه المرحلة عدد القلابات المطلوبة لكن جميعها ستتم قيادته بشكل متزامن أي من نفس نبضة الساعة .فإذا كانت القلابات من النوع (D) يكون عدد الخطوط (n) الحاملة للمستويات المنطقية للحالة التالية مساوياً لعدد القلابات .
أما إذا كانت القلابات من النوع (JK) فإن الدخل المنطقي إلى الذاكرة يجب أن يقدم لكل من (J) & (K) في كل قلاب .و في هذه الحالة يكون عدد الخطوط (n) ضعف عدد القلابات و إذا كان خرج الحالة الراهنة المأخوذ من الذاكرة مصدره المخارج (Q) فقط يكون عدد الخطوط (m) مساوياً لعدد القلابات أيضاً .أما كان مصدره من المخرجين Q &Q` يكون عدد الخطوط ضعف عدد القلابات .
يحتوي النظام المقترح على مدخل وحيد (X) و مخرج وحيد (Z) على أن يكون الدخل (X) تابعاً للقسم المنطقي الذي يحدد الحالة التالية ،و سنفترض أن (X) سيكون مدخلا متزامنا .أي التغيرات في قيمة (X) ستحدث بشكل متزامن مع موجة الساعة .و ستبرز أهمية هذه الفرضية إذا تفحصنا الشكل (3) ،حيث تم رسم موجة الساعة و ترقيم الحافات القادحة على أساس أن القلابات المستخدمة تستجيب للحافة الهابطة للساعة .كما تم إظهار نموذج من موجة الدخل (X) .نلاحظ من الشكل (3) أن (X=0) خلال الفترة الزمنية المنتهية بالحافة (1)ولذلك إذا افترضنا أن النظام المبين في الشكل (2) بحاجة لتذكر قيمة(X) في هذه الفترة فمن الضروري أن تجرى بعض التغييرات في حالة القلابات عند الحافة القادحة (1) .وبما أن للقلابات زمن استمرار محدود (Hold Time) فمن الضروري أن تستمر القيمة (X=0) قليلا بعد الحافة القادحة للساعة كما هو مبين في الشكل (3-ب) ،وإذا تابعنا تغيرات قيمة(X) بالنسبة للساعة نجد أن (X=1) خلال الدور المنتهي عند الحافة الثانية ثم يصبح خلال الدور التالي مساويا للصفر (X=0) ثم مساويا للواحد (X=1) خلال الدورين التاليين ثم مساويا للصفر خلال ثلاثة أدوار .لذلك في حال قراءة قيمة(X) خلال كامل الزمن المبين في الشكل (3) نحصل على النتيجة (X=0101'0001 ) بينما في حال عدم وجود الساعة أي إذا تم التقييم دون أي تزامن فان النتيجة التي نحصل عليها هي (X=010101 ) .
بشكل عام عندما يتم رسم الدخل المتزامن وفقا لتوقيت الساعة يهمل زمن الاستمرار و ترسم موجات الدخل كما مبين في الشكل (3-ج) و في هذه الحالة يظهر و كأن الانتقال في مستوى الساعة و في مستوى الدخل يحدث في نفس اللحظة مما قد يسبب بعض الغموض حول قيمة(X) الموجودة قبل لحظة التغيير مباشرة . أخيرا لنفترض من أجل تبسيط الأمور أن القلابات من النوع ذات الحافة القادحة و ئان الدخل (X) هو المبين في الشكل (3-د) ،و لنتذكر بأن القلابات ذات الحافة القادحة تستجيب فقط لمعطيات الدخل الموجودة مباشرة قبل حافة القدح للساعة ،في هذه الحالة يمكن التأكد بأن النظام المبين في الشكل (1) لن يستطيع تمييز الموجة المبينة في الشكل (3-د) من الموجة المبينة في الشكل (3-ج أو ب) و هذه الصفة هي للمرة الثانية نتيجة لقراءة النظام للدخل على أسس زمنية تضبط بها موجة الساعة . بعد هذه المقدمة حول معنى الدخل التزامني لنطرح على أنفسنا مشكلة بسيطة في مجال تصميم النظام التتابعي المحتوي على مدخل وحيد و على مخرج وحيد كالنظام المبين في الشكل (1) و ليكن تصميم نظام يعطي (Z=1) عندما و فقط عندما (X=1) خلال ثلاثة فترات زمنية متتالية للساعة أو أكثر .و لكي نتأكد من عدم وجود أي غموض في مواصفات المسألة المطروحة يظهر الشكل (4) تتابع محتمل لخانات الدخل و للخرج الناتج ،وسنفترض كما فعلنا ذلك إلى الآن ان المستوى المنطقي للخرج (Z) يتعلق فقط بحالة الآلة أي أن هذا الخرج موصول فقط إلى مخارج القلابات ،كما لا يوجد أي اتصال مباشر ما بين (X) & (Z) لذلك عندما يكون النظام في حالة ثابتة لا تؤثر التغييرات في (X) على الخرج (Z) بأي طريقة كانت .بالطبع قد تؤثر قيمة (X) في أحد أدوار الساعة على الحالة في الدور التالي و عندها يمكن أن تتأثر (Z) بتغيير الحالة .
بالرجوع الآن إلى الشكل (4) نلاحظ بأن قيمة (Z) غير موجودة من أجل الفترة الأولى و ذلك لان هذه القيمة تعتمد على قيمة (X) في الفترات الزمنية الثلاثة السابقة .أما في الفترة الثانية (2) فإن (Z=0) لأن (X=0) في الفترة السابقة و لو أن (X=1) في الفترة الأولى لكان من الصعب تحديد قيمة (Z) لان قيمتها في الفترتين السابقتين غير معروف .و بمتابعة هذا التحليل على جميع المراحل التالية نجد بأن (Z=1) في الدور الثامن (8) لان (X=1) في الفترات (5) & (6) &(7).وكذلك (Z=1) في الدور (12) لان (X=1) في الأدوار (9) &(10) (11). كما أن (Z=1) في الأدوار (13) &(14)لأن (X=1) في أكثر من ثلاث فترات سابقة في كلا الحالتين ،أما في الدور (14) فان (Z=1) بشكل مستقل عن قيمة (X) في تلك الفترة .
لنعد الآن إلى تصميم النظام و لنذكر بأن أول خطوة في عملية التصميم و خاصة إذا كان النظام المصمم معقدا هو استخدام مخطط الانسياب ،أما في الحالة البسيطة كالحالة الراهنة فمن الممكن الابتداء بمخطط الحالة مباشرة .عند رسم مخطط الحالة نبتدئ أولا برسم الحالة ولتكن (A) التي يمكن تعريفها بأنها الحالة التي لن تحتاج أبدا لمعرفة كيف تم الوصول إليها وذلك خلال تطوير مخطط الحالة .وبناء على ذلك نعرف الحالة (A) في مثالنا بأنها الحالة التي يجد النظام نفسه فيها إذا كانت قيمة (X=0) في الدور السابق مباشرة .وفي هذه الحالة يكون الخرج (Z=0) كما هو مبين في الشكل (5) ."لنفترض أننا الآن عرفنا (A) ب،ها الحالة التي نصل إليها عند دور الساعة (K) بعد أن يكون (X=1) في الدور (K-1) ."عندها لن يكون ممكنا معرفة قيمة (Z) في الدور (K) أو متابعة تطوير جدول الحالة لأن قيمة (X) في الدور (K-2) &(K-3) غير معلومة . إن الحالة (A) التي اخترناها لتكون نقطة البداية مناسبة و لكنها ليست نقطة البداية المناسبة الوحيدة فمن الممكن تعريف الحالة (A) بأنها الحالة التي نصل بأنها الحالة التي نصل إليها بعد ثلاثة أو أكثر من الأدوار التي يكون فيها (X=1) ،خلال الدور الذي يكون فيه النظام في الحالة (A) يمكن أن تكون (X=0) أو (X=1) .فإذا كانت (X=0) هل هناك حاجة لكي ينتقل النظام إلى حالة أخرى ؟ الجواب لا ...لأن على النظام في الحالة (A) ببساطة المحافظة على (تخزين)المعلومات التي تقول بعدم وقوع أي دورات سابقة مباشرة أخذت فيها (X) القيمة (1) ،فإذا حدث وكانت (X=0) في الدور الثاني لا يطرأ أي تعديل على النظام لان المعلومات المطلوب تخزينها لم تتغير . لذا نستطيع أن نقول إذا كان النظام في الحالة (A) . و هذه النتيجة ممثلة في الشكل (5) بواسطة السهم المميز للافتة (X=0) و الذي يبدأ و ينتهي عند الحالة (A) ،أما إذا حدث و كانت (X=1) و النظام في الحالة (A) فيجب بالطبع تذكر هذه الحالة .لذا ينتقل النظام من الحالة(A) إلى الحالة (B) ،وفي الحالة (B) يكون الخرج أيضا مساويا للصفر (Z=0) لأن حلة واحدة تكون فيها (X=1) لا تكفي لتصبح (Z=1) .
و يسبب حدوث (X=1) ثانية انتقال النظام من (B) إلى (C) ،وحدوث (X=1) للمرة الثالثة انتقال النظام إلى الحالة (D) و عندها يصبح (Z=1) . و بما أن مواصفات المسألة المطروحة لا تميز بين حالة حدوث ثلاثة واحدات متتالية أو أكثر يسبب الواحد الرابع أو الخامس التالي بقاء النظام في الحالة (D) .أما إحداث (X=0) و النظام في الحالة (B) أو (C) أو (D) فإن كل ما يحتاجه النظام هو تذكر أن السلسلة قد قطعت .و هذا بالتحديد ما هو مخزن في الحالة (A) . يجب أن تحتوي كل حالة في مخطط الحالة عندما يكون هناك متحول دخل وحيد (X) على سهمين خارجين منها ،الأول يمثل (X=0) و الثاني يمثل (X=1) . و يعتبر السهم خارجا حتى و لو عاد إلى نفس الحالة .أما إذا كان هناك متحولان (X1) و (X2) مثلا فلدينا أربعة احتمالات ( X1X2=00,01,10,11 ) ،لذا لا يكتمل مخطط الحالة حتى تظهر أربعة أسهم خارجة من كل حالة .وقد تم في الشكل (6) رسم مخطط حالة يبتدئ بحالة نصل إليها بعد أن يكون (X=1) خلال ثلاثة أو أكثر من الأدوار .
ويبين الشكل (7) بقية مراحل التصميم .ففي الشكل (7-آ)تم تحويل مخطط الحالة الشكل (5) إلى جدول الحالة ،وفي الشكل (7-ب) تم تخصيص الحالات, وفي الشكل (7_ج)تمت إعادة كتابة جدول الحالة مع الأخذ بعين الاعتبار للتخصيص ،وعند هذه النقطة تم اختيار القلاب ( J-K ) لاستخدامه في التصميم ،وفي الشكل (7-د) تم وضع جدول الحقيقة لهذه القلابات بالشكل الذي يعطي المستويات المنطقية اللازمة على المدخلين (J) و (K) للحصول على وضعية القلاب المطلوبة, وفي الشكل (7-ه) تم استخدام مخططات (K) للحصول على علاقات التحريض لكل من مداخل القلابين المستخدمين الأربعة و هي (J0) و(K0) و (J1) و (K1) . وبما أن الحالة التالية تعتمد على الحالة الحالية ( Q1 Q0 ) و على المدخل (X), تم استخدام مخطط (K) بثلاث متحولات .و كمثال عن كيفية ملء هذا المخطط لنأخذ الحالة عندما (ََQ1^n Q0^n=0 0 ) و (X=1) ،بما أننا سنحصل في الحالة التالية على (Q1^n+1 Q0^n+1=0 1 ) لذا نحتاج على المخرج (Q1) انتقالا من الصفر إلى الصفر و هذا يتطلب أن تكون (J1=0) و(K1=X) .بينما على المخرج (Q0) نحتاج إلى انتقال من الصفر إلى الواحد و هذا يتطلب أن تكون (J0=0) و(K0=0) .بينما على المخرج (Z) نحتاج إلى انتقال من الصفر إلى الواحد ، و هذا يتطلب أن تكون (J0=1) و (K0=0) .يعتمد الخرج (Z) على (( Q1 Q0 فقط لذا نستخدم مخطط K بمتحولين فقط كما هو مبين في الشكل (7-و) .
نجد في النهاية العلاقات التالية :
من العلاقات السابقة نحصل على الدارة المبينة في الشكل (8) و التي لا يظهر فيها التقسيم إلى ذاكرة و منطق .
باستخدام ميلي
كاشف التسلسل ….0101
هذا المخطط هو لآلة ميلي (لأن الخرج فيه تركيبي). ولكي نعرف مبدأ العمل سوف نقوم بشرح المثال التالي :- كاشف تسلسل 101 باستخدام مبدأ ميلي :-
*المشكلة : يجب أن يكون الخرج "1" عندما تكون أشارة الدخل101. X=0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0z x Z=0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 *الحالة البدائية :-clock
نحن لم نستقبل أي عنصر إشارة استقبلنا أول عنصر إشارة
استقبلنا عنصري إشارة
أما جدول الحالة وجدول الشيفرة للمثال السابق فهي كما يلي :- - أولا : جدول الحالة. Z Next state Present state X=1 X=0 X=1 X=0 0 0 One None None 0 0 One Two One 1 0 One None Two
- ثانيا : جدول الشيفرة . Code
Q1 Q0 State
0 0 None 0 1 One 1 0 Two
- أشكال الحالة :- Z Next state Present state X=1 X=0 X=1 X=0 0 0 0 1 0 0 00 0 0 0 1 1 0 01 1 0 0 1 0 0 10
Q1 Q0 Q1 Q0
والآن لنوجد معادلات الدخل ومعادلة الخرج باستخدام مخططات كارنوف :-
Z :
1
X X
Z= Q1 X
D0 :
1 1
1 X X
D0 =X
D1 :
0 0 0 0
0 X X 1
D1 =Q0 X
* ملاحظة :-
Q0(t) = D0 (t) Q1(t) =D1(t)
أما جدول الحالة الآنية وجدول الحالة اللاحقة فهو كما يلي:-
Z Next state X Current state Q0 Q1 Q1 Q0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 X X X 0 1 1 X X X 1 1 1
من المعادلات السابقة نستطيع رسم الدارة التالية :-