
_START_ARTICLE_
عدادات متزامنة
_START_PARAGRAPH_
العدادات المتواقتة synchronous counters_NEWLINE_ـ العدادات (countees)_NEWLINE_يتكون العداد من صف من القلابات التي تنتقل من وضعية إلى أخرى استجابة لما يسمى بالحادثة (Event)._NEWLINE_و هذه الحادثة يمكن أن تكون عبارة عن دور واحد للساعة أو أكثر ويستخدم العداد لإحصاء عدد هذه الحوادث._NEWLINE_يسمى عدد الوضعيات التي يمر بها العداد قبل أن يعود إلى الوضعية الأولى بـ(MoDulo) العداد باختصار (MOD) ويحتوي العداد المكون من (n) قلاب على MoDulo مساو إلى  كحد أعظمي ولكن بالطبع ليس ضروريا أن يمر العداد خلال جميع الوضعيات الممكنة وفي هذه الحالة يكون MoDulo العداد أقل من .
_START_SECTION_
العداد الحلقي (The ring counter)
_START_PARAGRAPH_
يظهر الشكل (1) عدادا حلقيا (Mod – 4) وهذا العداد كما يمكن ملاحظته عبارة عن مسجل إزاحة مكون من 4 قلابات من نوع (D) موصولة بطريقة تسمح بالإزاحة إلى اليمين._NEWLINE_يتم في البداية رفع مستوى مدخل البدء (INITIATE) إلى واحد منطقي لبرهة قصيرة وذلك لنقل القلاب (FFO) إلى الوضعية (SET) وبقية القلابات إلى الوضعية (RESET)._NEWLINE_بعدها يتم تطبيق نبضات الساعة ويبدأ العداد بإحصائها._NEWLINE_تسبب كل حافة قادحة انتقال الوضعية SET من قلاب إلى آخر._NEWLINE_و بعد أربعة دورات متلاحقة يعود العداد إلى الوضعية الأوليّة._NEWLINE_إن قراءة العداد المسجل في العداد الحلقي أمر بسيط جدا فكل ما نحتاجه هو تحديد أي قلاب موجود في الوضعية SET._NEWLINE_لهذا الغرض نوصل مخرج كل قلاب (Q) بوحدة إظهار تقوم بإظهار الرقم المسجل عليها عندما يكون مستوى (Q) عاليا كما هو مبين في الشكل (1)_NEWLINE_و عندما يبدأ العداد بالعد سنرى أن الأرقام ستظهر وفقا للتسلسل التالي :_NEWLINE_0_1_2_3_0_NEWLINE_ ويظهر الشكل (2) أشكال موجات الخرج والساعة للعداد الحلقي._NEWLINE_تبدأ الموجات عند لحظة اختيار يكون فيها (QO=1) و(Q2=Q3=Q4=0)._NEWLINE_بعدها ينتقل المستوى المنطقي العالي من مخرج إلى آخر مما يعطي مجموعة من النبضات المتسلسلة التي يمكن استخدامها في ترتيب تسلسل تنفيذ مجموعة من العمليات.
_START_SECTION_
العداد ذو النهاية الموصولة أو عداد جونسون
_START_PARAGRAPH_
بالرغم من بساطة العداد الحلقي فإنه لا يستخدم القلابات بشكل اقتصادي فالعداد الحلقي المحتوي على (n) قلاب له (MOD – n) بينما لـ(n) قلاب توجد() وضعية._NEWLINE_يقوم العداد ذو النهاية الموصولة والمسمى أيضا بعداد جونسون الشكل (3) بالاستفادة بشكل أفضل من القلابات وكما هو واضح من الشكل يشبه هذا العداد الحلقي مع فارق واحد وهو أن الوصلة ما بين نهاية العداد وبدايته أخذت من ('Q3) بدلاً من (Q3)._NEWLINE_بافتراض أن جميع القلابات قد مسحت أي (Q0 = Q1= Q2 = Q3 = 0) عندما تأتي الجبهة القادحة التالية ينتقل الصفر إلى القلابات (FF3، FF2، FF1)._NEWLINE_أما القلاب (FFO) فسينتقل إلى الوضعية (SET)._NEWLINE_لأن المخرج (Q3)هو الموصول بمدخل القلاب (FFO)._NEWLINE_إذا ينتقل العداد من الوضعية (0000 = Q0 Q1 Q2 Q3)_NEWLINE_إلى الوضعية (1000 = Q0 Q1 Q2 Q3) ويظهر الشكل (4) تسلسل الوضعيات التي يمر بها العداد والتي نلاحظ بأن عددها يساوي إلى ثمانية وهو ضعف عدد القلابات الموجودة في العداد._NEWLINE_إذا يتميز العداد ذو النهاية الموصولة بأن له (MODULO-2n)بينما العداد الحلقي كما رأينا له (MODULO- n)._NEWLINE_لقراءة العد الذي وصل اليه عداد جونسون هنالك حاجة إلى عدد من المخارج المنفصلة يساوي عدد الوضعيات._NEWLINE_بحيث يكون مخرج واحد فقط من هذه المخارج في المستوى 1 بينما البقية يكونون في المستوى (صفر)._NEWLINE_لتحقيق ذلك نستخدم دارة فاك شيفرة (Decoder)._NEWLINE_و يتضمن الجدول المبين في الشكل (4) العلاقات المنطقية اللازمة لتصميم الدارة المـطلوبة.
_START_SECTION_
أمثلة أخرى عن العدادات المتواقتة
_START_PARAGRAPH_
يعتبر العداد الحلقي وعداد جونسون من العدادات المتواقتة وذلك لأن الساعة مطبقة على جميع القلابات في وقت واحد، لكن هذه العدادات تعاني من عدم استخدامها الاقتصادي للقلابات._NEWLINE_و مع أن عداد جونسون أفضل من العداد الحلقي من هذه الناحية إلا أنه بحاجة إلى دارة فك الشيفرة بينما لا يحتاج إلى ذلك العداد الحلقي._NEWLINE_سوف نستعرض الآن أنواعا أخرى من العدادات المتواقتة التي تستفيد بشكل كامل أو شبه كامل من الوضعيات المتوفرة ولنبدأ بالعدادات التي تستخدم () وضعية._NEWLINE_إذا أعددنا جدولا محتوٍ على مجموعة من الأعداد الثنائية مرتبة وفق التسلسل العددي نلاحظ أن الـBIT ذو المرتبة الدنيا  يتبدل مع كل خطوة عد وأن الـBIT التالي ذو المرتبة  يتغير مع كل خطوة عد يكون فيها الـBIT () مساويا للواحد._NEWLINE_أما الـBIT () فيتغير عندما كلا ()و () BITS تساوي الواحد._NEWLINE_و بشكل عام نستطيع أن نقول أن الـBIT ذو المرتبة الأعلى يتبدل عندما جميع الـBIT ذات المراتب الأدنى تساوي الواحد في وقت واحد._NEWLINE_تؤدي بنا هذه الملاحظات إلى استنباط الطريقة التالية لتشكيل عداد يتبع تسلسل العد بشكل صحيح : من أجل الـBIT ذو المرتبة الدنيا نستخدم قلاب يبدل وضعيته مع كل دورة للساعة ومن أجل الـBIT التالي نستخدم قلاب يبدل من وضعيته عندما يكون القلاب الأولي في الوضعية SET._NEWLINE_و بشكل عام سيتكون العداد من عدد من القلابات مساوٍ لعدد BITS وكل قلاب سيبدل وضعيته عندما تكون جميع القلابات الممثلة للـBIT ذات المراتب الأدنى موجودة في الوضعية SET._NEWLINE_بهذه الطريقة نحصل على العداد المبين في الشكل (5 أ) والذي استخدمت فيه قلابات من النوع (J – K) التي تبدل من وضعيتها عندما (J = K = 1)._NEWLINE_فمثلا يبدل القلاب FF3 من وضعيته عندما J = K3 = 1 وهذا الشرط يتحقق عندما (Q0 = Q1 = Q2 = 1) وهو المطلوب ويظهر الشكل (5 ب) موجات الخرج لهذا العداد._NEWLINE_كما يظهر الشكل (5 ج) دارات فك الشيفرة اللازمة للحصول على نتيجة العد._NEWLINE_نلاحظ من الشكل (5 أ) أن البوابة (G1) لا تفيد في شيء وإنما تمَّ استخدامها لكي يظهر الشكل متناسقا فقط._NEWLINE_كما نلاحظ أن عدد المداخل لبوابات AND المستخدمة يزداد مع ازدياد عدد القلابات وهذا بالطبع يؤدي إلى تعقد الدارة._NEWLINE_لذلك يلجأ عادة إلى طريقة أخرى لتشكيل العداد وهي مبينة في الشكل (6) وهنا أيضا يمكن التأكد من أن القلاب لن يبدل من وضعيته إلا بعد أن تكون جميع القلابات التي تسبقه موجودة في الوضعية(SET (QO = Q1 = Q2 = …=1.
_START_SECTION_
سرعة العدادات المتواقتة
_START_PARAGRAPH_
تقارن العدادات مع بعضها بالسرعة التي تعمل بها. أي بمعدل تغير الساعة التي يمكن استخدامها._NEWLINE_و لحساب السرعة نفترض أن الجبهة القادحة للساعة ترد في اللحظة (t = 0) ثم نحسب كم من الوقت يجب الانتظار قبل السماح بورود جبهة قادحة ثانية تؤثر على القلاب بشكل فعال._NEWLINE_كما هو معلوم يغير في العداد الحلقي قلاب واحد فقط من وضعيته عند كل جبهة قادحة للساعة._NEWLINE_فإذا افترضنا أن القلاب (FFk) هو الذي غير من وضعيته استجابة لمعطيات الدخل وأن هذا التغيير يجب نقله إلى القلاب التالي أي (FFk+1) قبل ورود جبهة قادحة ثانية فإن التردد الأعظمي للساعة المسموح به في العداد الحلقي يساوي إلى :_NEWLINE_           _NEWLINE_حيث Tbd,ff هو زمن تأخر الانتشار للقلاب FFK و Tsetup هو زمن التهيؤ._NEWLINE_و هو الزمن اللازم لثبات المعطيات الجديدة على الخرج (FFk)._NEWLINE_أما بالنسبة لزمن الاستمرار فهو غير مهم هنا لأن معطيات الدخل تتغير كل (n) دور للساعة._NEWLINE_أما بالنسبة للعداد (MOD – ) المبين في الشكل (5) والذي يختلف عن العداد الحلقي بوجود بوابات AND فيه فيجب إضافة زمن تأخير الانتشار لهذه البوابات لنحصل على العلاقة التالية : _NEWLINE_           _NEWLINE_يختلف الوضع الآن في العدد المبين في الشكل (6) لأن على المستويات المنطقية أن تنتقل عبر مجموعة من بوابات AND فعندما يكون العداد في الوضعية (Q0 Q1 Q2 Q3 = 0111) تكون جميع مخارج البوابات وجميع مداخل (J) و(K) للقلابات (FFO) عند المستوى المنطقي صفر._NEWLINE_و عندما يصبح المخرج (QO) في الوضعية SET تمر فترة زمنية مساوية إلى زمن تأخير الانتشار للبوابة (G1) قبل أن يصبح مخرجها في المستوى (1) منطقي._NEWLINE_كذلك سيمر زمن تأخير ثان قبل أن يصبح مخرج البوابة (G2) في المستوى (1) منطقي وزمن تأخير ثالث قبل أن يصبح مخرج البوابة (G3) (1) منطقي._NEWLINE_و هكذا تمر فترة زمنية مساوية إلى مجموع أزمان التأخير للبوابات قبل أن تصبح جميع مداخل (J) و(K) للقلابات في المستوى (1) منطقي وهو الشرط اللازم لكي ينتقل العداد عند الجبهة القادحة التالية إلى الوضعية : (Q0 Q1 Q2 Q3 = 0000) وليكون عده صحيحا._NEWLINE_يسمى الانتقال التتابعي من بنية منطقية إلى أخرى مع التأخير المرافق بالزحف (Ripple)._NEWLINE_فإذا وردت الجبهة القادحة للساعة قبل اكتمال الزحف فلن تكون جميع المداخل (J) و(K) في المستوى المنطقي (1)._NEWLINE_و بالتالي لن تبدل بعض القلابات من وضعيتها وسيكون العد خاطئا بما أن العداد المكون من (n) قلاب يحتاج إلى (n-2) بوابة AND فإن التردد الأعظمي للساعة المسموح به في هذا النوع من العداد يساوي :
_START_SECTION_
تصميم العدادات المتواقتة ذات (MODULO) اختياري
_START_PARAGRAPH_
لتصميم عداد ذو (Modulo) اختياري نبدأ أولاً بتحديد عدد القلابات اللازمة لتأمين عدد الوضعيات المطلوبة أو أكثر._NEWLINE_فإذا أردنا مثلا تصميم عداد (MOD-5) أو (6) أو (7) نحتاج إلى ثلاث قلابات لأنها تعطي () وضعية بينما لا يكفي قلابان لأنهما يعطيان () وضعية فقط._NEWLINE_بعدها نقرر أي من الوضعيات المتوفرة سيأخذ وأي منها سيهمل ثم نقرر ترتيب الوضعيات التي سيمر بها العداد._NEWLINE_و أخيرا نختار الدارات المنطقية المناسبة لعمل العداد وفقا للترتيب الموضوع._NEWLINE_لتوضيح عملية التصميم نورد المثال التالي المتضمن تصميم العداد (MOD-5) الذي يمر بالوضعيات التالية :_NEWLINE_              S3-S4-S5-S6-S7-S3_NEWLINE_و ذلك باستخدام القلابات (J – K) (من الممكن أيضا استخدام القلاب RS أو_NEWLINE_D)._NEWLINE_تعتمد الخطوة الأولى على ترتيب وضعيات العداد في الجدول المسمى بجدول الوضعية (الجدول 1) بعدها نشكل جدول الانتقال (الجدول 2) الذي يحدد وضعية كل قلاب : _NEWLINE_عند كل حالة عد للعداد. ويمثل الرمز (Q) وضعية القلاب قبل الاستعمال بينما الرمز (Q`) يمثل وضعية القلاب بعد الانتقال :_NEWLINE_لكي ينتقل العداد من وضعية إلى أخرى يجب أن يزود كل قلاب فيه بالمستويات اللازمة لانتقاله إلى الوضعية المناسبة._NEWLINE_و بما أن جدول الحقيقة لأي قلاب يبين تصرف القلاب إذا علمت المستويات المنطقية على مداخله._NEWLINE_فمن الممكن الاستفادة من هذا الجدول بإعادة ترتيب المعلومات الموجودة فيه بحيث نحصل فيه على قيم المستويات اللازمة للانتقال إلى أي وضعية مباشرة._NEWLINE_و هكذا نشكل من جدول الحقيقة للقلاب (JK) والمبين في الشكل (7) الجدول(3) والذي نستطيع أن نقرأ منه ما يلي :_NEWLINE_في حال كون القلاب في وضعية الـ(RESET) ونريد استمراره في هذه الوضعية يجب أن يكون (J = O) ولا يهم مستوى (K)._NEWLINE_نقوم الآن وبالاستناد إلى الجداول (1) و(2) و(3) بتشكيل جداول كارناف لكل (J) و(K) من كل قلاب._NEWLINE_و بما أن لدينا ثلاث قلابات تتشكل ستة جداول يتم ملؤها بالقيم المناسبة كما يلي :_NEWLINE_عندما يكون العداد في الوضعية (S3) مثلا يكون (O2 Q1 QO=011) وعند انتقاله إلى الوضعية (S4) يصبح (Q2Q1QO=1 00) إذا (Q2) فقط انتقل من (Q2 = O) إلى (Q2 = 1)._NEWLINE_نستخرج الآن من الجدول (3) قيم (J) و(K) التي تسبب انتقال القلاب من الوضعية (Q1 = O) إلى الوضعية (Q2=1) ونضع هذه القيم وهي(J2 = 1) و(و غير مهم = K1 = X) في المربع (Q2 Q1 QO = 011) من جدول كارناف لـ(J2) و(K2)._NEWLINE_بنفس الطريقة يتم إيجاد بقية القيم ووضعها في المربعات المناسبة وبذلك نحصل على الجداول المبينة في الشكل (8)._NEWLINE_نستخرج الآن من جداول كارناف الصيغ المنطقية التالية لكل (J) و(K) :_NEWLINE_J2=1        K2=Q1 Q0  _NEWLINE_ J1=Q0        K1='Q2 _NEWLINE_J0=1 K0='Q2 + 'Q1_NEWLINE_و التي نستخدمها لرسم دارة العداد المبينة في الشكل (9) والتي تم إضافة خط عام لها لتزويد القلابات بالساعة._NEWLINE_بالاستناد إلى الشكل (9) يمكن الآن رسم موجات خرج العداد كما هو مبين في الشكل (10)._NEWLINE_في حال رغبتنا في تصميم العداد السابق باستخدام القلاب (RS) نتبع نفس الخطوات السابقة مع استخدام جدول الحقيقة للقلاب (RS) عوضا عن جدول القلاب (J – K).
_START_SECTION_
العدادات المتواقتة التصاعدية ـ التنازلية
_START_PARAGRAPH_
Up – Down synchronous counters_NEWLINE_كثيرا ما نحتاج إلى عداد يمكن أن نتحكم باتجاه عده هل يكون تصاعديا أو تنازليا._NEWLINE_لذلك سنستعرض الآن طريقة تعديل العداد (MOD – 5) الذي صممناه في الفقرة السابقة بحيث يمكن عكس اتجاه العد فيه._NEWLINE_يحتاج العداد لكي يعد بالاتجاهين بالإضافة إلى مدخل الساعة إلى مدخل خاص يحدد مستواه اتجاه العد ولنرمز له بالحرف (M) ولنتفق حينما يكون(M = 1) يكون العد تصاعديا أي :_NEWLINE_             ....-S3-S4-S5_NEWLINE_و حينما يكون (M = O) يكون العد تنازليا أي :_NEWLINE_           ....-S3-S7-S6-S         _NEWLINE_يبدأ تصميم العداد التصاعدي التنازلي بتشكيل جدول الانتقال (الجدول 4) الذي يحتوي على عامودين._NEWLINE_يخصص الأول منهما للوضعية التالية من أجل (M = 1) وهي نفس الحالة الموجودة في الجدول (2) أما الثاني فيخصص للوضعية التالية من أجل (M = O)._NEWLINE_لاكمال تصميم العداد نتبع الخطوات التي اتبعناها عند تصميم العداد (MOD-5) مع فارق واحد وهو أننا سنحصل هنا على جداول كارناف بأربعة متحولات._NEWLINE_إذ أن الوضعية التالية تتحدد ليس بناء على المتحولات (QO, 'Q1، 'Q2') فقط_NEWLINE_و إنما بناء على قيمة المتحول (M) أيضا._NEWLINE_و يظهر الشكل (11) جدول كارناف لـ(KO) الذي نستخرج منه الصيغة المنطقية (KO)` كما يلي :_NEWLINE_                     الجدول - 4 -_NEWLINE_K0='Q1 = 'M Q2+ M 'Q2_NEWLINE_بنفس الطريقة نحصل على قيم (J0) (K2) (J2)، (K 1) (J 1) التالية :_NEWLINE_ J0=1      J2=1      K2=Q1 Q0 M + 'Q1 'Q0 'M_NEWLINE_ J1='Q0 M+ Q0       K1='Q2 M +Q0 'M
_START_SECTION_
الانغلاق الضائع (Lock out)
_START_PARAGRAPH_
أثناء تصميم العداد (MOD – 5) لم نستخدم ثلاث من الوضعيات الممكنة وهي: (SO، S1، S2) وهذا العدد يزداد بشكل ملحوظ في العدادات ذات (MOD) كبير فمثلا يحتاج العداد (Mod-33) إلى ستة قلابات ((),())._NEWLINE_و هذه القلابات تعطي (64) وضعية لا يستخدم منها إلا ثلاث وثلاثون._NEWLINE_و قد يحدث أن يجد العداد نفسه في إحدى هذه الوضعيات الغير مستخدمة نتيجة لنبضة ضجيج أو بعد وصل التغذية مباشرة._NEWLINE_فإذا انتقل من الوضعية الغير مستخدمة إلى الوضعية المستخدمة مباشرة أو بعد عدة خطوات فهذا لن يؤثر على عمله ولكن هناك احتمال في عدم انتقاله إلى الوضعيات المستخدمة واستمراره في الدوران ضمن حلقة من الوضعيات الغير مستخدمة._NEWLINE_تسمى هذه الحالة بالانغلاق الضائع Lock out ولتجنب الوقوع فيها يجب التحقق من أن جميع الوضعيات الغير مستخدمة والتي اعتبرناها سابقا غير مهمة لتبسيط دارة العداد لا تؤدي إلى حالة ضياع._NEWLINE_و عندما يكتشف وجود مثل هذه الوضعيات يجب تغيير الـX (غير مهم) بقيمة مناسبة في جدول كارناف وحتى إذا لم يكن متوقعا ضياع العداد فمن المفضل تغيير الـX بقيمة مناسبة وذلك للإسراع في عملية خروج العداد من الوضعيات الغير مستخدمة.
_START_SECTION_
المراجع
_START_PARAGRAPH_
الموقع cb4a.com_NEWLINE_الجبر المنطق "د. هيثم عرابي"_NEWLINE_بنية الحاسب "م. فادي حجار"_NEWLINE_نظم منطقية "د. فادي فوز"_NEWLINE_allaboutcircuits.com_NEWLINE_‏