كاشف التسلسل
كاشف التسلسل نظام يتكون كأغلب الدارات من قسم منطقي ومن قسم للذاكرة ،و مع أننا لا نعلم في هذه المرحلة عدد القلابات المطلوبة لكن جميعها ستتم قيادته بشكل متزامن أي من نفس نبضة الساعة.فإذا كانت القلابات من النوع (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 باستخدام مبدأ ميلي :-
أما جدول الحالة وجدول الشيفرة للمثال السابق فهي كما يلي :-
- أولا : جدول الحالة.
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
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
والآن لنوجد معادلات الدخل ومعادلة الخرج باستخدام مخططات كارنوف :-
Z= Q1 X
1 1
1 X X
0 0 0 0
D1 =Q0 X
Q0(t) = D0 (t)
Q1(t) =D1(t)
أما جدول الحالة الآنية وجدول الحالة اللاحقة فهو كما يلي:-
Z Next state X
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
من المعادلات السابقة نستطيع رسم الدارة التالية :-