تصميم الدوائر الرقمية - ما تحتاج أن تعرفه

[FONT=“Times New Roman”][SIZE=“4”][B]

عائلات الدوائر المنطقية

عائلة الترانزيستور – ترانزيستور TTL:
لو طلبت منك عزيزى القارئ أن تكمل تصميمات هذه الدائرة طبقا لما درسناه فى مذكرة الترانزيستور ، فهى أولا و أخيرا من الترانزيستور المصنوع من السليكون، أليست كذلك؟
ستقول حسنا هذه دائرة كل مداخلها متطابقة و يخرج منها التيار لكونها باعث ترانزيستور س م س NPN Transistor’s emitter و لها مخرج واحد ، و عليه سيكون التيار خارج من أطراف الدخول وليس داخلا منها.
هل هذا مربك قليلا؟ حسنا تذكر أن الدخول هو المستوى صفر وواحد وليس التيار كم مللى أمبير. وهذا يقودنا لحقيقة أخرى أن عند مستوى دخول “HI” أو المستوى واحد، لا يخرج تيار لأن قاعدة الترانزيستور متصلة بالتغذية الموجبة و أن التيار يخرج من الطرف فقط عندما نريد أن نجعله على مستوى “LO” أى المستوى صفر.

تنقسم الاستخدامات إلى قسمين، الأول تعامل مع مثيل من نفس النوع والثانى التعامل مع باقى العالم الخارجى.
نبدأ بالتعامل مع مثيل فنجد أن الخرج يجب أن يتواءم مع الدخل و بما أن الدخل يخرج منه تيار إذن يجب أن يقبل الخرج التيار “يبتلع التيار ولا يصدره”، من هنا سميت Current Sinking Family أى عائلة تبتلع التيار (عوضا عن إصداره) .
حسنا لا ننسى أن نضيف هنا نقطة بسيطة هامة وهى مقدرة الخرج الواحد أن يتحكم فى كم مدخل.
هذه قضية اختيارية بحتة حيث كلما زاد العدد، كان ترانزيستور الخرج أكبر و استهلك مساحة أكبر من شريحة السليكون وبالتالى قل الناتج الكلى وارتفع السعر.
هل قلت ترانزيستور الخرج؟ أليست الدائرة تحتوى 2 ترانزيستور معا فى الخرج؟
تذكر ما قلناه من أنها “تبتلع” التيار و أن عند مستوى 1 لا يمر تيار و يمر فقط عند مستوى صفر!! لهذا فالترانزيستور المتصل بالأرضى وهو فقط الذى يبتلع التيار سيكون كبيرا و يتحمل التيار، أما الآخر المتصل الطرف الموجب للتغذية فليس عليه أى عبئ سوى السعة الخارجية الشاردة وتيار التسريب Leakage Current وهى قيمة صغيرة.
حسنا سنأخذ رقم تقليدى بسيط وهو 10 إذن كل خرج يستطيع أن يقود أو يبتلع تيار 10 دخل قياسى. هذه النسبة سميت Fan Out أى التشعب للخارج.
أما مواءمة العالم الخارجى فعلى الدوائر الخارجية أن تراعى هذه الشروط.
حسنا، الخطوة التالية ستكون كم مللى أمبير سيكون هذا الدخل أو الخرج؟
هنا القضية تعتمد أساسا على السرعة لأن كما سبق أن ذكرنا كلما زاد التيار أمكن أن يتغلب على السعات الخارجية فى زمن أقل و بالتالى تكون السرعة القصوى أعلى.
التيار العالى سريع ولكنه يحتاج ترانزيستور كبير الحجم و مكلف كما أن هناك مشكلة خطيرة أن لحظة الانتقال من صفر لواحد أو العكس، سيكون كلا الترانزستورين موصلين مما يسبب قصر على خط التغذية وهذا يضع ضوضاء عالية على خط التغذية، ولولا أن الزمن نانو ثانية ما كان لهذه الدوائر أن تعمل، أيضا غالبية الأحوال سيقود المخرج عدد محدود من المداخل و قليلا ما يقود 10 مدخل كاملة، لهذا المفاضلة بين السرعة و الاقتصاد واجبة
نعرف أن كلما كان كسب الترانزيستور أعلى كان أداء الدائرة هنا أفضل. هذا يتطلب صغر سمك القاعدة و زيادة نسبة الشوائب. زيادة نسبة الشوائب تقلل من أقصى جهد يمكن للوصلة أو الترانزستور تحمله. نضبط الآن آلة الزمان على الستينات والسبعينات وقتما ابتدعت هذه التقنية سنجد أن 5 فولت كان جهدا مناسبا للحصول على ما سبق و سيكون تيار الدخول 1.6 مللى أمبير و بالتبعية تيار الخروج 16 مللى أمبير.
هذه هى العائلة القياسية TTL وهى تتطلب 5 فولت +/- 0.25 فولت مثبت جيدا و تيار كافى ومرشحات للضوضاء.

شجرة العائلة هذه أخذت نسقين فى الترقيم 7400 للعائلة العادية ذات مدى حرارى من صفر إلى 70 درجة و أرقام 5400 للمدى المستخدم فى التقنية الشاقة و يسمى military أى “حربى” يتحمل العمل فى درجات من -55 إلى +125 درجة مئوية
Family Basic gate In cur
m.a. Out cur
m.a Fan out
Pd (mW/gate) Noise immunity Prop. Delay
ns/gate Clock
(MHz)
TTL NAND 1.6 16 10 10 Very Good 10 35
TTL-H NAND 2.0 20 10 22 VG 6 50
TTL-L NAND 0.18 3.6 20 1 VG 33 3
TTL-LS NAND 0.4 8 20 2 VG 9.5 45
TTL-S NAND 2.0 20 10 19 VG 3 125
TTL-AS NAND 40 10 VG 1.5 175
TTL-ALS NAND 0.5 20 20 1 VG 4 50
TTL-F NAND 0.6 20 30 VG 6.5 60

من الطبيعى أن يكون هناك تطبيقات تتطلب سرعة أعلى من العائلة القياسية مثل عدادات قياس التردد و مثيلاتها لذا صنع فرع أضيف له حرف H لتعنى High وهى تعنى كلا من السرعة والتيار ولكن بعد تعدد القسمة على 10 فى العداد تصبح السرعة بطيئة ولا حاجة لكل هذا التيار إذن لنصنع فرع آخر بالحرف L لتعنى Low وأيضا السرعة والتيار.
ابتكر السيد شوتكى Schottky الثنائى الشهير باسمه وهو يستبدل الجزء الموجب P بمعدن مثل الذهب والذى نتج عنه سرعة عالية فى الانتقال كما أنه منع الترانزيستور العادى من التعمق فى مرحلة التشبع مما أدى لعدم تراكم الشحنات وبالتالى سرعة عالية فى الانتقال. هذا أدى لاستبدال المجموعة H بمجموعة S ألمسماه شوتكى كما استغلت السرعة فى العائلة الجديدة مع تقليل التيار LS فى فرع جديد و بتطور التقنية ظهرت فروع جديدة مثل Advanced أو المتطورة برمز A و السريعة Fast برمز F و مازال التطور جاريا.

للحصول على سرعات عالية جدا تم تطوير عائلة أخرى تم الربط فيها بباعث الترانزيستور وسميت بهذا الاسم وهو Emitter Coupled Logic وهى تعمل بجهد -5.2 فولت – لاحظ الإشارة السالبة.

هناك عائلة أخرى باستخدام الموسفيت وبدأت بالأنواع N-Channel MOSFET و النوع P-Channel MOSFET و أخيرا CMOS.
تتميز عائلة CMOS بأنها ذات معاوقة دخول عالية جدا لذا تسمح بتطبيقات لا تسمح بها TTL مثل اللمس و تتميز بأن خرجها يعطى التيار مثلما يأخذ وهى لذلك أنسب للتعامل مع العالم الخارجى كما أن بها ميزة رائعة وهى عدم الحاجة لجهد مثبت لأنها تعمل من 3 إلى 18 فولت كما أنها لا تسبب ضوضاء لذا لا تحتاج لكمية المكثفات التى تنثر على بوردة TTL واحد بجوار كل متكاملة منها. عيبها الوحيد أنها أبطأ قليلا من TTL .
التطور أيضا لم يترك CMOS فطورت عائلة 74C00 لتجمع العالمين من حيث السرعة مع خواص CMOS

Family Basic gate In cur
m.a. Out cur
m.a. Fan out
Pd (mW/gate) Noise immunity
Prop. Delay
ns/gate Clock
(MHz)
ECL10K OR-NOR 25 40-55 Poor 2 >60
ECL100K OR-NOR ?? 40-55 Poor 0.75 600

MOS NAND - 2 20 0.2-10 Good 300 2
CMOS NAND - 2 50 Good

74C NOR/NAND - ±20 50 0.01/1 VG 70 10
74HC NOR/NAND - ±25 20 0.0025/0.6 VG 18 60
74HCT NOR/NAND - ±25 20 0.0025/0.6 VG 18 60
74AC NOR/NAND - 50 0.005/0.75 VG 5.25 100
74ACT NOR/NAND - 50 0.005/0.75 VG 4.75 100

نلاحظ من الجدول أن هناك خاصيتان هامتان وهما زمن التأخير Propagation Delay و زمن الاستجابة Transition Time تجده فى Data Sheet
الأول “زمن التأخير” هو الزمن الذى تأخذه الوحدة لكى يظهر على الخرج ما يناظر الدخل أى لو غيرنا الدخل من صفر إلى 1 مثلا تحتاج 74HC00 إلى 18 نانو ثانية حتى يبدأ الخرج فى الاستجابة
أما زمن الاستجابة Transition Time هو بعد ما يبدأ هذا الخرج فى الاستجابة، كم نانو ثانية يحتاجها ليتم هذه الاستجابة
فى كلا الحالتين TTL أسرع من CMOS لكن هذا ليس دوما عيبا وهو يتيح استخدامات للأخير لا تتاح بسهولة فى TTL
المرة القادمة إن شاء الله نتكلم عن التطبيقات[/b][/size][/font]

[FONT=“Times New Roman”][SIZE=“4”][B]تطبيقات الدوائر المنطقية:

المتكاملات المنطقية تخضع لبضع قواعد عامة سنتذكرها جيدا لأننا سنفترض من الآن فصاعدا أنها مطبقة دون تكرار ذكرها كل مرة مثلا

1- التغذية: كل عائلة TTL تحتاج لتغذية 5 فولت و غالبيتها تخضع لقاعدة النصف و الكل أى أن لو كانت المتكاملة تحتوى 14 طرف نصفها 7 فيكون الطرف 14 يجب توصيله بالجهد +5 فولت والطرف 7 بالأرضى أى صفر فولت، ولو كانت 16 طرف ستكون 16 للطرف +5 فولت و 8 للأرضى وهكذا فيما عدا قله قليلة لذا يرجى مراجعة Data Sheet و تسمى VCC نسبة للمجمع Collector للطرف الموجب و GND للأرضى Ground أما عائلة CMOS فتخضع أيضا لنفس الشروط فيما عدا قلة قليلة أيضا و تسمى VDD نسبة للمصب Drain و هو الطرف الموجب و VSS بالنسبة للمصدر Source وهو الطرف المتصل بالأرضى.
2- البوابات: عادة تحتوى المتكاملة البوابات ذات الطرفين فى عبوة من 14 طرف تحتوى 4 وحدات أما ذات الطرف الواحد فتحتوى منها 6 وحدات أما ذات 3 طرف دخل فتحتوى 3 وحدات أما الوحدات ذات 4 طرف فتحتوى وحدتين أو وحدة ذات 8 مدخل.
3- توصيل أطراف الدخول: قد لا تحتاج لاستخدام كل المجموعة،لذا فعند عند استخدامك لبعض القطع لا تترك مداخل باقى القطع حرا بدون توصيل والسبب أن عائلة TTL كما سبق الشرح، عدم توصيل مدخل يعتبر فى مستوى 1 أو HI و إن كان الجهد علية سيعطى 1.5 فولت على الآفو وهو قياس مضلل. ليس هذا هو الخطر لكن كونه عرضة للتأثر بأى شيء و يجعله يتغير هو الخطر. أما CMOS فهو أخطر لأن مقاومة الدخول العالية جدا تجعله لا يقيس شيئا و يتصرف عشوائيا جدا. القاعدة العامة هى
لا تترك مدخل بدون توصيل،
لو مدخل لقطعة مستخدمة اربطه بمدخل مثيل له أو للمستوى HI/LO المناسب كى لا يعطل باقى المداخل
إن كانت القطعة كلها غير مستخدمة أربط مداخل TTL للطرف الموجب و مداخل CMOS للأرضى.
يمكنك ترك أطراف الخروج بدون توصيل.
4- عند تصميم دائرة باستخدام TTL يجب وضع مكثف 0.1 مايكرو فاراد على طرفى تغذية كل أربع متكاملات معا تحوى بوابات وعلى طرفى كل متكاملة تحوى أى وظيفة أخرى.
5- تجنب التوصيلات الطويلة بدون داعى.
6- أرجو ألا ننسى أنها جميعا من نوع أو آخر من الترانزستورات مما يجعلها فى لحظة ما تعمل كمكبر ويجب ألا نفصل بين طبيعتها كمكبر وطبيعتها كدائرة منطق لأن بعض التطبيقات كمذبذب مثلا تعتمد أساسا على كونها مكبر.

تكلمنا سبقا عن أنواع البوابات سنرى الآن ابسط تطبيقاتها كمفتاح تحكم
الدائرة الأولى باستخدام بوابة “مع” AND Gate

نعلم جدول الحقيقة من الشرح السابق وهو أن يجب أن يكون على كلا الطرفين مستوى 1 لكى نحصل على خرج وهو هنا يساوى 1 ولو كان أى من الطرفين = صفر سيكون الخرج = صفر.
يمكن أن أفكر فيها بصورة أخرى
لو أحد الطرفين عليه صفر فلا يهم ما على الطرف الآخر والخرج دوما = صفر ، أما لو أصبح أحدهما = 1 فالخرج يصبح 1 لو أصبح الدخل الثانى أيضا 1 و صفر لو أصبح الدخل الثانى صفر أو الخرج يتبع الدخل
إذن الطرف الأول عمل كمفتاح تمرير للإشارة المتوافرة على الطرف الثانى وهذه الخاصية تسمى إتاحة أى Enable ويسمى هذا الطرف طرف التحكم لأنه يسمح أو لا يسمح للإشارة على الطرف الآخر بالخروج.
الدائرة الثانية تعمل ببوابة “أو” OR Gate وهى تعمل بنفس النظرية فيما عدا اختلاف بسيط وهو لو طرف التحكم عليه 1 سيكون الخرج = 1 دوما أما لو كان علية صفر ستظهر الإشارة على الطرف الآخر.
هذا فرق كبير لأن الأولى تعطى صفرا أو تعطى إشارة بينما الأخرى تعطى 1 أو الإشارة وهذا الاختلاف قد يسبب تشغيل شيء ما عندما لا نريد ذلك مثلا لو الخرج ليد متصل بالأرضى فالدائرة الأولى تجعله فلاشر أو مطفأ والثانية تجعله مضاء أو فلاشر وكلاهما له دواعيه واستخداماته

لو أردنا عكس الإشارة نستخدم بوابات ذات عاكس NAND,NOR
لاحظ هنا عكس الإشارة بين الدخول والخروج.

Exclusive OR
سنقدم الآن بوابة جديدة اسمها “أو المطلق” أو “أو ألحصرى” Exclusive OR واختصارا XOR وهى تختلف عن “أو” العادية OR فى أن العادية تعطى خرج حتى لو كان كلا الطرفين عليه 1 ولكن XOR أو المطلق تعطى خرج فقط لو كان أحد الطرفين فقط وليس الاثنان عليه 1
هل لهذه البوابة معنى عملى؟

أجل وهو معنى هام حيث يحذر من تواجد أو غياب أمرين معا كأن نعلم مثلا أن مصدر التغذية الأساسى أو الاحتياطى يعمل لكن لا يجب أن يعمل المصدرين معا أو يتوقفا معا.
الدائرة ذات العاكس XNOR فهى ذات معنى هام فمن جدول الحقيقة Truth Table نجد أن الخرج = 1 فى حال الطرفان متماثلان أى أن الدائرة دائرة تساوى أو تعادل أو تكافؤ وهى أساسية فى الحساب للبحث عن تساوى عددين.
من التعريف نجد أن البوابة لا تقبل أكثر من طرفين دخول لأن لو أصبح الأطراف ثلاثة أو أكثر، كيف سنطبق التعريف السابق؟
مثلا لو لدينا بايت 8 طرف ثم نريد وضعها على بوابة واحدة من هذا النوع، هل نحصل على خرج عندما يكون طرف واحد فقط =1
حسنا سيكون اسمها “طرف واحد فقط” One And Only One وهناك متكاملات تفعل هذا
هل عندما يكون عدد فردى من المداخل؟ هناك متكاملات لهذا وتسمى Parity Checker للتحقق من الخطأ
هل عندما يزيد الآحاد عن الأصفار، هناك متكاملات أيضا اسمها كاشف الأغلبية Majority Detector
إذن هى طرفين و طرفين فقط

تركيبها من الداخل سنتعرف عليه قريبا ولكن هل تصلح للدائرة السابقة كبوابة تحكم؟
من الدائرة تجد أنها ستمرر الإشارة فى كلا الحالتين لكن لو طرف التحكم = صفر يكون الخرج مطابقا للدخل أما لو كان = 1 يكون الخرج عكس الدخل أي يعمل كعاكس.

المرة القادمة إن شاء الله نتكلم عن توصيل الخرج
[/b][/size][/font]

[B][FONT=“Traditional arabic”][SIZE=“5”]خرج المجمع / المصب المفتوح و ثلاثى الحالة Open Collector/Drain – Tri-State logic

هل تذكر مشكلة المقارنات و توصيل أكثر من خرج، حسنا

المشكلة أن الخرج يتكون من ترانزستورين كما سبق الشرح و الصورة هنا للتذكرة. لو ظروف الدخول أدت لأن يكون أحدهما =1 والآخر =0 سيحدث قصر بين طرفى التغذية كما بالرسم و يدمر الوحدتين.
العلاج الأول تاريخيا أيضا هو نظام المجمع المفتوح Open Collector أو المصب المفتوح Open Drain فى CMOS كما بالرسم حيث وجود مقاومة خارجية تجمع كل الوحدات وفرت الوقاية.
ولكنى لن أعرف أى وحدة التى أعطت خرج!! حقا هذا أحد عيوب هذه الطريقة رغم بساطتها، و العيب الآخر أن المقاومة تسبب بطء فى استجابة الوحدات.
الحل؟ ابتكر العلماء طريقة أخرى كما بالرسم

بإضافة 2 ثنائى كما باللون الأحمر و دائرة للتشغيل.
لو دخل الدائرة الجديد = 1 فإن الترانزيستور Q1 يكون فى حال التشبع و بالتالى القاعدتين لترانزستورى الخرج متصلتين بالأرضى و ترانزستورى الخرج فى حال القطع Off
لو دخل الدائرة الجديد = 0 فإن الترانزيستور Q1 يكون فى حال القطع و بالتالى القاعدتين لترانزستورى الخرج حرتين و ترانزستورى الخرج فى حال العمل enabled و أقول العمل لأن دخل البوابة سيغيرهما بين التوصيل والقطع حسب الظروف. وهذا يضيف لحالتى الخرج 0 ، 1 السابقتين حالة “مفتوح” أو “مقاومة عالية” أو لا يعمل Hi-Z و أصبح اسمه “ثلاثى الحالات” Tri-State
فى هذه الحالة الجديدة يكاد يكون الخرج فعليا مفصول من الخط و بالتالى لو تم توصيل عدد من هذه المخارج معا على خط إلى مدخل بوابة أخرى كما هو الحال عادة، سيصبح هذا المدخل عائما أى بدون توصيل ما لم يتم تفعيل أحد هذه المخارج وهذه نقطة هامة يجب ألا تنسى إذ عندها يجب توصيل ذلك المدخل بمقاومة إما للأرضى أو الموجب حسب ما تتطلب استجابة الدائرة. أيضا تأكد من عدم تفعيل مخرجين فى آن وإلا ستتكرر مأساة القصر على الخط.

مما سبق نرى أن 1 على الدخل الجديد يمنع الخرج لذا فهو “مانع” أى Disable لذا يمكن كتابتها كما هى واختصارا Dis ، كما أنها تتيح الخرج عندما تكون = 0 فيمكن كتابتها بوضع علامة المتمم أى الخط فوق الكلمة كما بالرسم
Enable تذكر أننا اتفقنا على وضع الخط أسفل النص فى الكتابة لعدم إمكانية وضعة بالأعلى.
هناك طريقة ثالثة للكتابة وهى استبدال علامة المتمم بالدائرة التى تفيد نفس المعنى.
طريقة Tri-State أتاحت أيضا أسلوب للتعرف على كل بوابة و قيمة خرجها بما يسمى الاستجواب أو Polling حيث يضع المتحكم إشارة الإتاحة Enable لكل بوابة على حدة و يقرأ الخرج.

من المهم جدا أن نعلم أن هذه الخاصية تطبق على خرج متكاملة بأكمله أو جزء منه أو قد يوقف عملها بأكمله حسب تصميمها وهو يتيح لها أن تعمل أو تتوقف أو تعمل دون إظهار الخرج لحين طلبه.

المرة القادمة إن شاء الله نتكلم عن المفاتيح التماثلية Analog Switches
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]المفاتيح التماثلية Analog Switches

هل هناك أى شيء آخر سوى هذه البوابات التى تناولناها كوحدات بنائية؟
حسنا هناك فى عائلة CMOS نوع آخر من الأدوات غير متوفر فى غيره من العائلات وهو المفتاح التماثلى.
نعلم أن MOS ترانزيستور عبارة عن شريحة، إذن هو مقاومة خالصة نتحكم فى قيمتها من خلال تغيير جهد البوابة Gate ، لهذا يمكن استغلال هذه الخاصية فى عمل مفتاح نتحكم فيه بواسطة جهد خارجى و ينتقل إشارة تماثلية كالتحكم فى الصوت مثلا أو إشارة حساس الخ.
لكن جهد الإشارة سيقلل من جهد انحياز القاعدة مما يغير قيمة المقاومة وبالتالى يشوه شكل الإشارة العابرة!
هذا صحيح لكن لو استخدمنا واحد موجب P Type مع آخر N Type أى سالب سنعادل هذا الأثر.
بهذه التقنية صنعت CD4016 أولا وهى ببساطة 4 مفاتيح كل منها ذو مسارين كما بالرسم

كل مفتاح منها وضعت له لون ليسهل تمييزه فالأول مثلا ذو اللون الأحمر تجد له طرف 1 دخول1 أو IN1 و طرف 2 خروج1 أو OUT1 والطرف 13 تحكم 1 أو Control1
هذا يعنى طالما جهد طرف التحكم Contro1 = VDD فإن الطرف IN1 متصل بالطرف OUT1 وعند نزول جهد طرف التحكم Contro1 = VSS فإن الطرف IN1 يصبح معزولا عن الطرف OUT1، و لكن فى الواقع ليس بهذه المثالية حيث تكون مقاومة التوصيل حوالى 15 أوم بينما مقاومة الفصل عالية جدا حتى أنها لا تكتب وتستبدل بأن تيار التسريب 1.5 نانو أمبير.
نفس الكلام ينطبق على IN2,OUT2,Control2 و الطاقمين الثالث و الرابع.
نلاحظ هنا أن الدخول محدد والخروج كذلك، وهذا يعنى أن الأطراف ليست تبادلية فلو عكست الأطراف سيحدث تشويه فى الخرج، لذا تم تحسين هذه الخاصية فى CD4066 الموضحة بالرسم الأيمن فنلاحظ أنها مطابقة طرف بطرف للسابقة مع تغيير مسميات الأطراف إلى مدخل/مخرج و مخرج/مدخل In/OUT OUT/IN وهذا له معنى هام أنك لو استخدمت مدخل/مخرج كمدخل تستخدم الآخر عكسه أى مخرج و العكس بالعكس و أيضا يوضح أن كلا الطرفين يصلح للغرضين كمدخل أو كمخرج.
لهذا فإن 4066 تحل محل 4016 لكن العكس غير مأمون
الوحدتين يمكنهما قطع وتوصيل ترددات حتى 40 ميجا هرتز ولكن تستطيع القطع والتوصيل بمعدل 5 ميجا فقط .
أيضا يجب أن يكون كلا من جهد التحكم و الإشارة المطلوب نقلها بين القيمتين VDD : VSS و هى من 5 إلى 15 فولت.

حسنا ماذا لو أريد أن اختار بين عدد من المصادر مثلا عدد من الميكروفونات أو الحساسات للتحويل إلى رقمى أو اختار مصدر للتسجيل أو أى استخدام آخر؟؟
ربما يكون استخدام الوحدتين السابقتين معقدا قليلا فى هذا المجال، لذا تم ابتكار الطاقم CD4051,CD4052,CD4053 بالتحديد لهذا الهدف والفرق بينهم
• CD4051 قطب وحيد و ثمانية مسارات Single Pole 8 Thru “SP8T” أى تمكنك من الاختيار بين 8 مصادر لمخرج واحد أو العكس مصدر واحد و 8 مسارات
لها 3 أطراف تحكم ABC وهى كما نعرف من نظام العد تتيح 8 حالات تمثل هذه المفاتيح
• CD4052 زوج من المفاتيح كل منها قطب وحيد و أربع مسارات Double Pole 4 Thru “DP4T” أى تمكنك من الاختيار بين مصدرين لكل منهما أربعة مخارج أو العكس .
لها طرفين فقط للتحكم A,B لأننا نحتاج 4 حالات فقط و من هنا نرى أن الطقمين متزامنين أى عند اختيار صفر مثلا فهو للمفتاحين معا ولا يمكن اختيار وضع مختلف لكل منهما.
• CD4053 هى ثلاث مفاتيح كم منهم ذو مسارين Three Pole Double Thru "3PDT"
ولها ثلا3 أطراف تحكم A,B,C وهذا يجعل كل مفتاح مستقل عن الباقى فى كل شيء.

حاولت توضيح هذه المعانى باستخدام تمثيل لهذه المفاتيح و كل مفتاح بلون مستقل للتفرقة.
لتبسيط الرسم لم التزم بترتيب الأطراف وعند استخدامك لها يجب مراجعة صفحة البيانات لتحديد الترتيب الصحيح.
نلاحظ أن الثلاث وحدات لها مدخل مسمى INH وهو اختصار Inhibit أى “منع” وهذا يمكننا من استخدام أكثر من متكاملة معا لزيادة عدد المسارات فعندما يكون INH=1 تنفصل كل مداخل و مخارج المتكاملة و كأنها غير موضوعة بالدائرة وبهذا تستطيع التعامل مع الثانية والثالثة الخ
أيضا نلاحظ أن هذه الوحدات تستخدم 3 مصادر تغذية
• VDD هو الموجب الرقمى و يمكن أن يصل حتى +15 فولت.
• VSS السالب الرقمى و عادة يكون صفر
• VEE وهو الأرضى للإشارة التماثلية و يجب أن يكون أقل من VDD بما لا يزيد عن 15 فولت
مما سبق نرى أننا للتحكم مثلا فى إشارة تماثلية +/-5 فولت نضع VDD=+5 فولت ، VSS=صفر و VEE= - 5 فولت بل و يمكننا أن نستخدم حتى +/- 7.5 فولت أيضا.
مقاومة التوصيل هنا أعلى قليلا فهى 80 أوم ولهم نفس النطاق الترددى
يوجد أيضا CD4067 وهى لمفتاح 1 : 16 و أيضا CD4097 وهى لزوج من المفاتيح 1:8 بتحكم مشترك أى تختار المخرج رقم 5 مثلا سيكون لكلا المفتاحين معا.

لم نتحدث عن العاكس Inverter و المعزز Buffer هل فقط هذه وظيفتهم؟

المرة القادمة إن شاء الله نتكلم عن العاكسات و المعززات Buffers & Inverters
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]العاكسات و المعززات (حواجز- فواصل) ووحدات شميت Buffers , Inverters and Schmitt

المعززات أو الحواجز كما تسمى حقيقة استخدامها محدود و غالبا فى المجالات التالية
1- عندما تريد التحكم فى عدد اكبر من المداخل
2- عندما تريد توزيع الإشارة على مسارات و"تحجز أو تفصل بينها" ثم تجرى فى كل مسار أشياء مختلفة ولا تريد للتغيير فى مسار ما أن يؤثر على باقى المسارات
3- عندما تريد التحكم فى شيء خارج البوردة يحتاج تيار أو فولت أكبر من التقليدى حيث تجد معززات Buffers تتعامل مع جهود تصل إلى 30 فولت و تتحكم فى ريلاى مباشرة.
4- عندما تريد إضافة بعض التأخير حتى تصل إشارتان معا

العاكسات إن لم يؤثر معك عكس الإشارة يمكنك استخدامها فى كل الاستخدامات السابقة و يضاف إليها ما يلى
1- باعتبار أنها مكبر فوحدات CMOS تكون وسطا رائعا لعمل مذبذب بالكريستال حيث تعوق مقاومة الدخول المنخفضة لدوائر TTL من تحقيق هذا الهدف بنفس الجودة وإن كان ليس مستحيلا .
2- يمكن استخدام وحدات CMOS كمكبر تماثلى لو دعت الحاجة كوجود حساس ذو خرج قليل وتحتاج لمكبر
3- باستخدام ثلاث وحدات CMOS متتالية يصبح التأخير فيها كبيرا لدرجة أن آخرها لا يرى أولها عند ربطهما فتتحول الدائرة لمهتز تلقائيا مضمون الأداء.
ملحوظة : هذه الدائرة سواء نفذت بعاكسات TTL أو ترانزيستور لا تصلح لأن التأخير فيها قليل جدا مما يجعلها تتحول إلى مكبر ذو تغذية عكسية سالبة
نظرية عملها أنه بفرض عند البدء كما فى المسار العلوى للإشارة، كان دخول الأول = صفر سيظهر بعد برهة فى خرجه المستوى 1 أو H الذى يتواجد على دخل الثانى والذى بدورة بعد برهة سيفرض خرج = صفر على خرجه أو L وهو موجود على دخل الثالث فيظهر H فى خرجه الذى يغير بدوره حال الدخول من L إلى H تبع المسار السفلى و هكذا حتى يصل للخرج L والذى يريد إعادة المدخل الأول لسابق عهدة وهكذا. لو لم يكن هذا التأخير موجودا فى هذه الوحدات لكان لحظة تغيير الدخول يظهر تغيير معاكس فى الخرج الأخير والذى يتضاد مع تغيير الدخول فورا مما يجعل الدائرة تستقر ولا تهتز.

هل يمكن أن نحول مثلا 50 ذ/ث من متردد لموجة مربعة بهذه العاكسات و الحواجز؟
المشكلة أن هذه الوحدات هى مكبرات ذات كسب عالى و تحرك الموجة 50 ذ/ث يعتبر بطئ و مداخل هذه العاكسات تمر بمرحلة لا بأس بها أثناء الانتقال من مستوى لآخر تعمل فيها كمكبر وهذا قد يسبب لها أن تهتز فبدلا من أن تحصل على نبضات مربعة تحصل على سلسلة من النبضات

هذه المشكلة تكون أكثر خطورة عندما نتعامل مع حساسات مثل حساسات الحرارة أو مقاييس السوائل الخ، كلها تتميز بالتغير البطيء من ثوانى إلى دقائق أو ساعات.
ما الحل؟
هل تذكر فى المذبذب المتعدد بالترانزيستور حينما عملنا ما سمى Schmitt trigger أو قادح شميت؟ كان ينتقل صعودا عند مستوى أعلى من الانتقال هبوطا مثلا لو لدينا 10 فولت، سينتقل الخرج من صفر إلى 1 عندما يرتفع الدخول إلى 6 فولت ولا يعود الخرج إلى صفر إلا لو هبط الدخول عن 4 فولت و سميناها hysteresis ومعناها ألتخلفيه حيث يتأخر التغيير حتى بعد عودة المسبب لأصله، هذا هو الحل.
وكيف نفعله هنا؟
كما فعلناه مع المقارنات فى الدوائر المتكاملة بالتغذية العكسية الموجبة.
ولكنك قلت أن التأخير و لا أدرى ماذا يسبب مشاكل فكيف نفعل هذا؟؟
حسنا لا تهتم، فقد فعلوها ووضعوها مع عاكس وهو متوافر فى كل عائلة

7414 فى TTL و 40106 ، 4584 فى CMOS و ميز بهذه العلامة المميزة، بل أكثر من ذلك، جهزت بعض البوابات أيضا بهذه الخاصية على كل مدخل كما أن كثير من المتكاملات ذات الوظائف المتعددة منها مؤقتات و عدادات تحتوى مداخل خاصة جهزت بهذه الخاصية للتعامل مع التغير البطيء فى الجهد.
المرة القادمة إن شاء الله نتكلم عن المزيد من هذه الدوائر الرائعة
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
وحدات شميت : Schmitt Inverters

صنعت وحدات شميت Schmitt Invertersباستخدام التغذية العكسية الموجبة كما فعلنا سابقا فى المقارنات (مكبر العمليات) ولها استخدامات عديدة، فمن المعروف أن أى مفتاح ميكانيكى لا يتم التوصيل والقطع فى مرة واحدة و ذلك بسبب الاهتزاز الميكانيكى أثناء التلامس و فك التلامس ويسمى الارتداد bounce ولذا لو وصلنا مدخل رقمى مباشرة على أى مفتاح ميكانيكى كما بالرسم سيترجم هذه الضوضاء لعدة نبضات بدلا من انتقال نظيف من مستوى لآخر.

لإلغاء هذه الظاهرة De-bounce استخدمت المكثفات لتنعيم هذا الاهتزاز و جعل الانتقال سلسا ولكن لو لم يكن المفتاح من النوع الجيد، فقد تحتاج لمكثف كبير نوعا ما مما يحد من سرعة إدخال البيانات.
حل هذه المشكلة يتم بوضع المفتاح (سويتش) على مدخل شميت كما بالرسم الأيمن مما يجعل الانتقال سلسا دون تأخير فى الاستجابة.

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

فلو افترضنا مثلا التغذية 10 فولت، من صفحة البيانات نجد أن عند جهد دخول 6 فولت ينتقل الخرج من 1 إلى صفر ولكن يجب على جهد الدخول أن ينقص إلى 4 فولت لكى يعود الخرج كما كان.

باستخدام الدائرة كما بالرسم أن فى البدء المكثف فارغ والدخل = صفر والخرج =1 أى 10 فولت، هذه القيمة ستشحن المكثف من خلال المقاومة تدريجيا حتى تصل إلى 6 فولت، عندها سينتقل الخرج فجأة إلى مستوى صفر ليبدأ فى تفريغ المكثف مرة أخرى . ما أن يصل جهد المكثف إلى 4 فولت مرة أخرى حتى ينتقل الخرج مرة أخرى لمستوى 1 أى 10 فولت ليعيد الشحن والدورة من جديد. هذا الاهتزاز كما شاهدنا يعتمد أساسا على خاصية شميت إذ لولاها لتحولت إلى تغذية عكسية سالبة واستقر كمكبر.
إذن فيما عدا أول انتقال سينتقل المكثف بين قيمتي 4 و 6 فولت كما فى الشكل المبين للموجة و الخرج بين صفر و 10 فولت
معادلة التردد تبدو معقدة قليلا لكن باستخدام القيم مع هذه الوحدة نحصل على
التردد = 0.56 ÷ RC
وهى معادلة سهلة لكن لو استخدمت نفس الرقم من شركة أخرى ستجد فرق فى التردد.
هذه الطريقة رغم بساطتها إلا أنها حساسة للحرارة و غيرها من العوامل لذا فهى عملية و مفيدة جدا حيث التردد المراد لا يهم أن يكون دقيقا.
طبعا من أهم وأحب المذبذبات هو البلورى لدقته العالية وثباته حيث يعتمد أساسا على جودة الكريستال ذاتها وهو يعمل بمكبر و بلورة و العاكس مكبر مناسب فقط يحتاج لمقاومة تغذية عكسية بين الخرج والدخل فيتحول إلى مكبر. البلورة توفر التغذية العكسية اللازمة للاهتزاز. لضمان جودة الأداء، تفضل أن تكون هذه المقاومة كبيرة أى 1 ميجا أو اكبر. مقاومة الدخول العلية تضمن عدم التأثير على جودة البلورة.
بعض الدوائر تضيف مقاومة 20ك على التوالى مع خرج العاكس أيضا لعزله عن البلورة لضمان ثبات أكثر.

مذبذب البلورى أو الكريستال هو متطلب أساسى فى كل المتحكمات سواء الصغرى منها أو الحاسبات الكبيرة حيث كلما زادت دقته أمكن الاقتراب من السرعة القصوى للمعالج.
أيضا بالنسبة للمعالجات الصغرى micro-controller فإن التوقيت يعتمد أساسا على دقة هذه النبضات.

المرة القادمة إن شاء الله نتكلم عن المزيد.
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]ألمذبذب المتعدد – مرة أخرى Multi vibrator

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

لو لأي سبب كان نغلق لبرهة وجيزة المفتاح الأزرق، فسيجعل ذلك مدخل الأيمن = صفر كما باللون الأزرق، وبالتالى خرجه =1 والذى يكون على مدخل الأيسر فيكون خرجه = صفر معززا الصفر الأساسى . و يمكن العودة بنفس الشرح عند الضغط على المفتاح الأحمر.
كل ما قيل فى الترانزيستور يمكن تطبيقه فى عاكسات TTL أو مكبرات العمليات حيث يمكنك الحصول على وحيد الاستقرار و عديم الاستقرار. أرجو التركيز على الظاهرة المتمثلة فى التغذية العكسية، لحظة تغيير الدخل، يتغير معها الخرج والذى يأخذ دورته فى زمن غير محسوس ليعود بنتائجه على الدخل الأساسى مرة أخرى.
لكن عاكسات العائلة CMOS تقدم لنا مفهوما جديدا و مختلفا من حيث المذبذبات. هذه التقنية خاصة بها ولا تناسب أى عائلة أخرى.
هذه العاكسات تتميز بزمن تأخير أطول من مثيلاتها من الأنواع الأخرى مما يتيح للدخل أن يتغير ويعود قبل أن يظهر ذلك على الخرج. لا تحاول إحضار الآفو للقياس فنحن نتحدث عن نانو ثانية هنا – لكنها ممكنة.

كيف نستغل هذه الظاهرة؟
حسنا – لنفترض أن الدائرة السابقة من عاكسات CMOS ولسبب ما كما سبق كان حال الاستقرار كما بالسابق دخل الأيسر = صفر، فيكون خرجه =1 وهو دخل الأيمن والذى خرجه سيساوى صفر بالتبعية، وسيكون هذا الصفر على مدخل الأيسر تماما كالسابق.

سابقا كان التوصيل اللحظى للمدخل يجلب التغيير الفورى، لكن هنا سنفترض هذا التغيير اللحظى وقبل انتقاله عبر الوحدة الثانية عاد الدخل كما كان أى نبضة سريعة موجبة كالزرقاء على مدخل الأيسر مثلا، ستظهر سالبة بعد برهة على مخرج الأيسر و تكون على مدخل الأيمن أيضا و أثناء عبورها للأيمن انتهى زمن النبضة وعاد دخل الأيسر كما كان = صفر. بعد برهة ستظهر النبضة المتقدمة خلال الأيمن على خرجه موجبة كما بالأزرق والتى ستعود إلى دخل الأيمن الذى أصبح الآن كما كان سابقا!! سيرى دخل الأيسر هذه النبضة كنبضة جديدة عليه الاستجابة لها فيكرر الدورة مرة أخرى. و من ثم تجد كل زمن مساوى لزمن عبور النبضات، إشارة جديدة خارجة. وهكذا بدلا من أن يكون مستقرا أصبح مهتز.
لنتحكم فى التردد، كل ما علينا فعله هو التحكم فى هذا التأخير بزيادته للقيمة المطلوبة.
فى هذه الدائرة أضفنا مكثف لزيادة هذا التأخير و التردد تقريبا
ت = 0.693 / (المقاومة م × المكثف س)

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

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

المرة القادمة إن شاء الله نتكلم عن أكثر من بوابة
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
المذبذب المحسن S-R Flip Flop:

سنبدأ بتحسين المذبذب السابق الذى حققناه بعاكسين. أول مشاكله أن إدخال نبضة كان يوضع على الخرج مباشرة وهذا من جهة خطر على الخرج ذاته و من جهة أخرى خطر على المصدر الذى سيولد هذه النبضة، لذا من الأفضل أن يكون لدينا مدخل آخر Input لنبضة الدخول خلاف مدخل الربط بين العاكسين. هذا يقودنا لبوابة ذات مدخلين 2 Input Gate وهى إما NAND أو NOR

كما سبق الشرح، سيكون أحد الخرجين = 1 بينما الآخر =0 و لنفترض الدائرة NOR والخرج Q =1 بينما الآخر =0.
من خواص NOR السابق شرحها، أن لكى يكون لها خرج وهو هنا = 0 يجب أن يكون أى من الطرفين =1
لذا يجب أن نوصل الطرفين الآخرين للأرضى كما بالرسم حتى لا يعوق الطرف الثانى أداء الطرف الأول.
إذن Q = 1 و يدخل على الدخل الطرف 5 فيظهر فى الخرج 4 و يساوى 0 وهو سيكون على الدخول رقم 2 و نظرا لأن الدخول رقم 1 أيضا =0 سيكون الخرج هنا =1 وهذه حالة استقرار.
نذكر أن الطرف 5 عليه 1 من البوابة الأخرى إذن وضع 1 على الطرف 6 لا يؤثر. أما لو نظرنا للطرف 2 فنجد عليه 0 ولذا لو وضعنا 1 على الطرف الآخر سيغير الخرج والذى بدوره سيعبر خلال البوابتين ليشكل حالة استقرار جديدة . و أيضا مزيد من النبضات لن تجدى والآن يجب وضعها على طرف البوابة الأخرى.
إذن أحد الأطراف يجعل Q =1 بينما الآخر يجعل Q = 1 لذا سمى الأول SET والثانى RESET أى أن الأول يفعل الدائرة والثانى يرجعها لأصلها. هكذا سمى SR .
نفس الدائرة يمكن تحقيقها بالبوابة NAND إلا أنها تحتاج أن يكون الدخل = 1 لكي ينتقل الدخل الثانى للخرج.

نلاحظ أن جدول الحقيقة Truth Table فى دائرة NOR يقول أن لو الدخلين = 0 يبقى الخرج بدون تغيير. لو S =1 سيجعل Q=1 َ
لو R = 1 سيجعل الآخر = 1
لكن لو الاثنان = 1 ستكون حالة غير مستقرة حيث الخرجين = 1 و تتوقف النتيجة على أى الدخلين يصبح صفر أولا. هذه الحالة بالطبع غير مستحبة. من هذه النوعية تجد الرقم 74279 تحتوى أربع وحدات NAND.
ماذا لو أريد أن أتحكم فى اللحظة التى يستجيب فيها المذبذب؟


بسيطة، نستخدم NAND ذات ثلاث مداخل كما بالرسم الأيسر أو إضافة NAND تعمل أيضا كعاكس.
حسنا، لكن هذا الطرف أضاف التوقيت و لم يلغى هذه الحالة الغير مستحبة، فلو لحظة الدخول كان كل من الدخلين =1 فإن النبضة ستجعل خرجى العاكس = 0 وهى حالة غير مستحبة.
أيضا هناك حالة أخرى تجعل استخدامه محدود وهى تسمى “الشفافية” Transparency وهى تعنى أن طالما وضع نبضة التزامن Clock = 1، فالخرج يطابق الدخل وهذه تسمى حالة الشفافية.
أليست الشفافية شيئا جميلا؟ ربما هنا ستجعل تركيب عداد أو مسجل شبه مستحيل لأن المفروض أن كل نبضة تنقل البيانات من مرحلة للتالية فقط ولكن بهذه الشفافية ، آخر مرحلة سترى أول مرحلة فى نبضة واحدة!!

المرة القادمة إن شاء الله نتكلم عن حل لهذه المشاكل

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
المذبذب الأساسى/ التابع Master Slave Flip Flop:

ماذا نفعل لكى نوقف هذه الشفافية؟
هيه لدى حل، ببساطة نضع مرحلتين متتاليتين و نعطى لكل واحدة منهما نبضة مختلفة، وهكذا حينما نسجل حالة الدخول، لا يتأثر الخرج. عندئذ نوقف قراءة الدخول و نبين ما قراناه على الخرج.
رائع، بل هناك تحسين لهذه الفكرة أيضا، بدلا من نبضتين نستخدم نفس النبضة ولكن مرة كما هى والأخرى معكوسة.

نرى فى الدائرة أنه عندما تكون نبضة التوقيت Clock =0 ، ستكون المرحلة الأولى المكونة من U1, غير متاحة، وبالتالى تجعل المذبذب الأساسى U2 لا يشعر بالدخول. لكن هناك عاكس U5 على مسار هذه النبضة مما يجعلها =1 بالنسبة للمرحلة الثانية U3 فتكون متاحة، لتنقل حالة U2 الآن.
عندما نضع إشارة ما على الدخول ثم نرفع نبضة التوقيت Clock إلى 1 ، ستكون المرحلة الأولى المكونة من U1, الآن متاحة، وبالتالى تنقل حالة الدخول للمذبذب الأساسى U2. بينما العاكس U5 يجعلها =0 بالنسبة للمرحلة الثانية U3 فتكون غير متاحة، ولا تنقل حالة U2 . عند عودة نبضة التوقيت Clock إلى 0 مرة أخرى، تنتقل هذه الحالة للخرج.

ما زلنا نستخدم نفس الرمز لأن الوظيفة الأساسية لم تتغير، بل ربما يكون من الصعب إيجاد متكاملة بهذا الوصف تم صنعها. السبب؟ ربما تكهنت أنها حلت مشكلة الشفافية ولم تحل مشكلة الحالة الغير مقبولة.

لحل مشكلة الحالة الغير مقبولة، نأخذ حالة الخرج للدخل كما هو مبين بالرسم.
فى حال كلا الدخلين =0 ، فإن نبضة التوقيت لن تعبر مرحلة الدخول.

أما فى حال J =1 و K = 0 فلن يعبر الدخل مرحلة U1A إلا إذا كان Q =1 أيضا. و هذا يمهد لحفظ تغيير حال Q إلى 1 و هكذا سيصبح Q =1 .
نفس الحال لو J =0 و K = 1 فلن يعبر الدخل مرحلة U1B إلا إذا كان Q =1 أيضا. و هذا يمهد لحفظ تغيير حال Q إلى 0 و Q =1 هكذا سيصبح Q =0 .
أما لو كان كلا الدخلين =1 ، فالأمر متوقف على حال الخرج، إن كان Q =1 فإن K هو الذى يعبر U1B جاعلا Q =1 أى عكس حال الخرج. و إن كان Q هو =1 فإن J هو الذى سيعبر U1A جاعلا Q = 1 أى عكس حال الخرج أيضا. ولهذا سميت هذه الحالة “قلاب” Toggle مثل مفتاح الكهرباء الذى يعمل بالضغط. ضغطة تجعله يوصل و أخرى تجعله يفصل.

هكذا تخلصنا من الحالة الغير مرغوبة و حولناها إلى حالة ذات فائدة، وبالطبع سيتغير الرمز ليعكس الاسم الجديد والذى تبنى حرفين مختلفين للتمييز فأعطى الاسم JK بدلا من SR.

أحقا فعلنا كل هذا؟!! – أم ماذا؟

ماذا لو وضعنا دخول التوقيت =1 ولم يكن نبضة، أى استمر دخول التوقيت =1 ثم تغير الدخل؟؟


لتسهيل تتبع الإشارة، نستخدم اللون الأحمر للمستويات 0،1 فى البداية ، ثم لاحقا عندما يحدث تغيير نستخدم اللون الأزرق، و لكل نقطة أضفنا رقم حتى يسهل تعريفها. (أرقام نقط قياس وليست أرقام أرجل المتكاملة).
فى البدء كان J = 0 و K = 1 مما أدى لأن يكون الخرج مماثل حيث Q= 0 و Q =1.
الآن نجعل التزامن Clock يصبح 1. هذا يؤكد أن U2A الطرف 7 سيكون 0 و U2B الطرف 14 سيكون1. هذا الوضع هو الذى سبق وانتقل عبر المذبذب سابق ولا جديد حتى الآن.
أول تغيير سيكون قلب أوضاع الدخول مع الإبقاء على التزامن =1 ليصبح J = 1 و K = 0 كما باللون الأزرق مما يؤدى لأن يكون الطرف 4 =0 و من ثم الطرف 5 = 0 فيكون الطرف 7 = 1 وهذا ينعكس على 13 . و نظرا لأن 12 أيضا =1 فسيكون الخرج 14 =0 (لاحظ أن U1B الطرف 10 = 0 نتيجة أن الخرج لم يتغير).
هذه الحالة الجديدة الطرف 7 =1 و 14 =0 مستقرة.
الآن لنجرى التغيير الثانى مع استمرار التزامن Clock = 1 كما باللون الأخضر المائل.
بالنظر إلى U1B فالتغيير لن يعبر لكون الطرف 10 = 0. أما U2A فالطرف 6 مازال =0 و عليه فأى تغيير من U1A لن يعبر. وهكذا فالتغيير الأول تم قبوله و أى تغيير لاحق لن يشعر به المذبذب حتى يعود طرف التزامن Clock مرة أخرى =0 ثم عند الانتقال اللاحق للمستوى 1 يقبل التغيير الجديد. مثال 7473,7476
حسنا، نحل مشكلة و نقع فى أخرى.

المرة القادمة إن شاء الله نتكلم عنها

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
القدح بالمستوى و القدح بالحافة Level Trigger-Edge Trigger

رأينا فى المثال السابق مشكلة القدح مع بقاء التزامن Clock مدة طويلة، ما المشكلة إذن فى إلغاء المستوى واستخدام نبضات رفيعة جدا؟
ببساطة كلما قل عرض النبضة، كانت تكافئ ترددات أعلى و من ثم مشاكل فى عبور خطوط البوردة و قد تضمحل خلال ذلك. الحل ببساطة أن يكون توليد هذه النبضة الرفيعة محليا – أى داخل المذبذب. و طبعا لا أسهل من دائرة مقاومة و مكثف لكن المكثف يصعب تصنيعه بتقنية المتكاملات. باستخدام ترانزستورات ذات بيتا عالية ، جعل مقاومة الدخول يمكن جعلها عالية، أمكن باستخدام مكثفات قليلة السعة مثل 500 بيكو فاراد أن تؤدى الغرض، ووضع هذه الدائرة البسيطة كان كالسحر.

هذا طبعا يتطلب رمزا جديدا لتمييز أن القدح Trigger يتم بالحافة وليس بالمستوى. المثلث ليعنى أنها الحافة الموجبة و تعنى عند الانتقال من 0 إلى 1 و بإضافة الدائرة تعنى الحافة السالبة أى عند الانتقال من 1 إلى 0.
مثال 74LS73,74LS76 و لاحظ أن نفس الأرقام بإضافة حرفى LS .

هناك حل آخر لمشكلة الحالة الغير مستحبة وهى وضع عاكس بين طرفى الدخول و الاكتفاء بطرف دخول واحد، هذا الحل سهل و بسيط ولكنه يغير أداء الوحدة بحيث تلغى كلا الوضعين المتشابهين، فلا يسمح بالوضع 00 ولا 11 وبهذا يصبح ما على الدخل الوحيد يظهر على الخرج Q. فى هذا الوضع، أصبح البيان الموجود فى الدخول، يحتفظ به و لهذا سمى D Type وهى اختصار لكلمة Data Type لأن البيان على الدخل هو ما يظهر على الخرج و يسمى أيضا Latch و ترجم بالمساكة حيث “يمسك” بما فى الدخول.

نفس الحالات السابقة موجودة مثل الشفافية وهى مطلوبة هنا أحيانا، و منه أيضا ذو قدح الحافة Edge Trigger و قدح المستوى . معظم القلابات Flip Flop تزود بأطراف على المرحلة الأخيرة لعمل تغيير مباشر على الخرج دون اعتبار لوضع أى من و كل الأطراف الباقية، أى ذو سيادة على كل الأطراف و يلغى كل استجابتها.

أمثلة هذا النوع 7474 من عائلة TTL و 4013 من عائلة CMOS و كل متكاملة بها وحدتين حيث لكل وحدة تجد طرف دخول بيانات D و طرف للنبضة Clock وهو من نوع القدح بالحافة الموجبة Positive Edge Trigger أى عند الانتقال من صفر إلى واحد لطرف Clock ينتقل البيان على طرف D إلى طرف Q. أيضا لكل وحدة تجد طرف إلغاء RESET و تسميه بعض الشركات Clear و بوضع صفر عليه تفرض صفر على المخرج Q و واحد على المخرج الآخر. و أيضا لكل وحدة تجد طرف إلغاء PRESET و تسميه بعض الشركات SET و بوضع صفر عليه تفرض واحد على المخرج Q و صفر على المخرج الآخر.
هذه المداخل مهيمنة Dominant أى تفعيلها يلغى استجابة الأطراف الأخرى. و من الخواص الهامة أنها سميت كما بالصور S-R وهى اختصار SET- RESET وهو النوع الأول الذى شرحناه والذى لا يجوز فيه تفعيل الطرفين معا لأن النتيجة غير مضمونة. لذا كن حريصا على تفعيل واحد فقط فى كل مرة.
ألمذبذب نوع D-Type موضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]ألمذبذب نوع D-TYPE و استخداماته

كما ذكرنا ، فبتوصيل المدخلين بعاكس، أصبح لدينا ما يسمى D-Type أو نوع البيانات. و بالتالى أصبح لدينا مدخل واحد فقط اسمه D و من خلال طرف التحكم و يسمى Clock يمكن أن يكون أحد النوعين التاليين
قدح مستوى وهذا يعنى طالما هذا الطرف فاعلا فالخرج يطابق الدخل و يتغير معه، و عندما ينتقل للوضع الغير فاعل، تثبت آخر حالة كان عليها.
قدح بالحافة و فيه لا يتأثر الخرج بحالة Clock حتى تنتقل بالطريقة المناسبة و قد تكون تعمل من “LO” إلى “Hi” أو العكس من “Hi” إلى “LO و كلها تمثل فى الرسم حسب الرسم السابق.
لنأخذ مثال المتكاملة الشهيرة 4013

نجد أنها تحتوى على وحدتين الأولى من أطراف 1 إلى 6 و الثانية من 8 إلى 13 (كلا لا تسأل عن 7،14 فقد تقدمنا بالقدر الكافى الآن لنعلم أيها طرفى التغذية).
سنشرح الوحدة الأولى وهو ينطبق على الثانية أيضا.
طرف الدخول (البيانات( هو D و طبعا يأخذ الرقم 1 للوحدة الأولى و 2 للوحدة الثانية.
طرف التحكم Clock و به مثلث للدلالة على أن التأثير بالحافة الموجبة ، و كما بالرسم السابق فإضافة دائرة تعنى حافة سالبة أى من 1 إلى صفر.
عند وجود 1 مثلا على الطرف D فإن بقاء الطرف Clock على أى من الوضعين 1 أو صفر أو انتقاله من 1 إلى صفر لا يؤثر على حالة الخرج Q أو Q المقابل له ولكن فقط عند انتقال هذا الطرف من صفر إلى 1 تنتقل حالى D إلى Q و يكون بالطبع عكسها فى Q و تبقى هكذا حتى تنتقل حالة Clock من صفر إلى 1 مرة أخرى.
هذه الوحدات شأنها شأن أى مهتز آخر لا يمكن التنبؤ بحالة البدء له، لذا من المرغوب فيه إضافة هذه المقدرة و خاصية عدم الاستجابة أى عند وضع Clock لا تتغير حالة الخرج .
لو مازلنا نتذكر التركيب الداخلى ، فهو أساسا من وحدة SR مضاف إليها أشياء أخرى، إذن لو أخذنا طرفى SR للخارج ، يمكن استخدامهما فى هذه الأغراض، وهو ما تم بالفعل ولذا تجد طرف S اختصار كلمة Set ووجود 1 على هذا الطرف يفرض على الخرج Q القيمة 1 بصرف النظر عن حالة باقى الأطراف
أيضا الطرف R اختصار RESET وهو يفرض القيمة صفر على الطرف Q 1 بصرف النظر عن حالة باقى الأطراف
أرجو أن نكون مازلنا نذكر ما هو مهتز SR وما هى عيوبه، نعم بالضبط “لا يمكن تفعيل الطرفين معا” ولا نخرج هنا عن القاعدة – أى لا تجعل كلا S,R معا فى الوضع 1 فالخرج سيكون غير متوقع و يتبع أى الطرفين يبقى أطول.

هذا الأداء يقترح أولا الذاكرة كتطبيق وهو فعلا متوافر فى بضع أرقام و لكن ليست فقط الذاكرة التى فى الحاسب و لكن تلك التى تحتوى بيان واحد أو أكثر فتسمى ماسك Latch فهو يمسك بالبيان عند الأمر وهو يفيد مع الشاشات حتى تبقى البيانات لحين تغييرها و يمكن أيضا بتغيير توصيل الوحدات معا أن تحصل على مسجل Register أو مسجل إزاحة أو العديد من التطبيقات الأخرى – إنها حقا سلسة.
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
المساكات والمسجلات Latch, Register

أولا ما الفرق بينهما؟!
كلاهما من مجموعة من المهتز نوع البيانات D-Type Flip Flop و غالبا ما تشرك فى Clock واحد و خطوط تحكم أخرى لكن المساكات تكون الوحدات مستقلة بمعنى أن كل خرج لا يؤثر على دخل آخر بينما المسجل Register عادة ما يكون خرج كل وحدة متصل بدخل أخرى و من ثم يمكن عمل إزاحة أو عد أرقام أو غيره.
التطبيق الأول هو وضع مجموعة من هذه الماسكات LATCHES معا لتكون مجموعة من 4 أو 8 و طبعا العدد هنا مبنى على أساس الأرقام التى بدأنا بدراستها لأن 4 خطوط تكفى للعمل مع رقم ثنائى عشرى BCD أو ستة عشرى Hex .

سنجد مثلا 74LS373 من النوع ذو قدح مستوى Level Triggered و الرقم 74LS374 قدح حافة Edge Triggered وللتبسيط سنستخدم الأسماء المختصرة 373 و 374 و قد لونت المداخل المختلفة بألوان مختلفة.
تتكون هذه المتكاملات من 8 وحدات D-Type كما هو مبين. و نلاحظ فى 373 أن الوحدات تعمل على المستوى 0 أى يكون الدخل 0 لتكون فى حال الشفافية و يتبع الخرج الدخل. لاحظ أنها مميزة بالدائرة الصغيرة.
تجمع المداخل الثمانية لخرج عاكس واحد Inverter المتصل بالطرف 11 و بالتالى عندما يكون الطرف 11 =1 تكون المتكاملة فى حال الشفافية ويتبع الخرج الدخل.
لماذا؟ ألم يكن ممكنا تعديل البوابات أو حتى جمع المداخل دون هذا العاكس؟؟
بالتأكيد ممكن لكن تذكر أن هذه عائلة TTL و تتميز بأن تيار الدخول = 0.4 مللى أمبير لمجموعة LS ، ووجود 8 مداخل لا يجعل هذا الطرف قياسيا، لهذا وجب وضع هذا العاكس لتوحيد القياس.
أما فى 374 فأن الوحدات تعمل على الحافة السالبة أى عندما ينتقل الدخل من 1 إلى 0 لتنقل حال الدخل إلى الخرج لحظتها فقط. لاحظ أنها مميزة بالمثلث و الدائرة الصغيرة.
تجمع المداخل الثمانية لخرج عاكس واحد Inverter المتصل بالطرف 11 و بالتالى عندما ينتقل الطرف 11 من 0 إلى 1 يلتقط الخرج الدخل.
الطرف 1 المسمى Output Control أى التحكم فى الخرج هو ما أسميناه سابقا “الحالات الثلاث” Tri-State وهو عندما يكون =0 فإن أطراف المتكاملة أرقام 2،5،6،9،12،15،16،19 تتبع أطراف D-Type داخل المتكاملة و عندما يكون الطرف 1 المسمى Output Control = 1 فإن أطراف المتكاملة السابقة تكون معزولة و غير متصلة بأى شيء. ولكن أطراف D-Type داخل المتكاملة تظل تتغير حسب باقى الأوامر ولكن لا تظهر التغييرات على أطراف الخرج.

هذا جدول التحقق Truth Table حيث نلاحظ هذه النقاط السابق شرحها ووضعت الألوان المناظرة لتلك على الرسم.
فى القطعة 373 تجد طرف Enable G و عندما يكون H أى =1 فالخرج يتبع الدخل D طالما Output Control فى وضع L أى 0 و عندما يكون Output Control = H أى 1 فإن الخرج يكون Z بمعنى Hi Z بمعنى Hi- Impedance أى معاوقة عالية أو معزول.
أما فى 374 تجد طرف Clock و السهم لأعلى يعنى عندما ينتقل من 0 إلى 1 فالخرج ينسخ الدخل D طالما Output Control فى وضع L أى 0 و عندما يكون Output Control = H أى 1 فإن الخرج يكون Z بمعنى Hi Z بمعنى Hi- Impedance أى معاوقة عالية أو معزول.

هذه الوحدات 374 ونظرا لعدم احتوائها على الشفافية، يمكن استخدامها فى عدد من التطبيقات التى تعتمد أساسا على الإزاحة المستعرضة Parallel Shift أن نقوم بنقل مجموعة الخطوط معا مثلا 8 معا أو 16 الخ مكونه ما تسمى ذاكرة التتابع Sequential memory وهى نوعين.

أول الداخلين أول الخارجين : First In First Out "FIFO"
عندما يعالج الحاسب البيانات، غالبا ما لا تتوافق سرعته مع سرعة الحساس أو مجهز المعلومات، إما ببساطة لإخلاف السرعة أو أن المجهز يخذ وقته لتجهيز “كتلة” من البيانات لينقلها مرة واحدة غير قابلة للتجزئة. عندا لا يستطيع المعالج قبول بايت و معالجتها حتى يأخذ الثانية فيضعها كلها فى مثل هذه الذاكرة ثم يبدأ بعد ذلك فى سحبها واحدة تلو الأخرى حسب ما يتيح له البرنامج. هنا يسحب أولا ما وضع أولا.

أخر الداخلين أول الخارجين Last In First Out "LIFO"
وهذه غالبا ما يطلق عليها اسم “كومة” Stack حيث تعطل وظائف بترتيب ما ثم يطلب لاحقا التفعيل بالترتيب العكسى و ذلك لضمان التنسيق. هنا يتطلب الأمر أن نسحب الأوامر بالترتيب العكسى لما وضعت به.
أشهر مثال لذلك المعالج يخصص جزء من الذاكرة يسمى Stack . و لديه دليل يحمل أين تكون فى الذاكرة يسمى Stack Pointer. فى أثناء تنفيذ البرامج، قد تطلب لوحة المفاتيح إرسال بيانات، فيحفظ المعالج موضع البرنامج الأساسى وبياناته فى Stack ويعدل Stack Pointer و يذهب لخدمة لوحة المفاتيح، ولكن قبل أن ينتهى من خدمتها تتطلب الشاشة بيانات فيترك خدمة المفاتيح . ما لم يكن لدية إمكانية أن عندما ينتهى من خدمة الشاشة أن يأخذ من Stack آخر بيانات وهى خدمة المفاتيح و عندما ينتهى من المفاتيح يأخذ الأسبق وهو البرنامج الأساسى، ماذا سيكون الوضع؟؟

مسجل الإزاحة shift registersموضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
مسجل الإزاحة shift registers

لو أتينا بمساكة Latch كالسابق ثم وصلنا خرج الخانة الأولى بدخل الثانية و خرج الثانية بدخل الثالثة وهكذا، نحصل على مسجل إزاحة. طبعا واضح أنه لو كان من نوع قدح المستوى فإنه بمجرد وضع خط التحكم فى وضع التشغيل فإن دخل الأول “سيجرى” عبر كل الوحدات مما يجعل التحكم مستحيلا، لذا يجب أن يكون من النوع ذو قدح الحافة .
عند هذه الحافة المخصصة بالقدح فقط ، تحتفظ كل وحدة بنسخة مما على مدخلها و لا تتأثر بأى تغيير على مدخلها بعد ذلك وتنتقل هذه القيمة نحو خرجها فى بضع نانو ثانية.
طوال زمن باقى النبضة و أيضا خلال العودة للمستوى الأول من القدح، لا تتأثر هذه الوحدة بأى تغيير يحدث على أى مدخل آخر.
جدير بالذكر أن هذا المسجل قد يحتوى أحد الأنظمة مثل مجمع مفتوح Open Collector أو ثلاثى الحالة Tri-State وقد لا تحتوى و طبعا ظهور الخرج على الأطراف من عدمه رهن حالة هذا النظام و طرف تشغيله ولكن فقط تحكم فى الظهور من عدمه وليس تغيير حالته كما أن ظهور الخرج أو عدمه لا يعوق تغيير الخرج تبعا للمداخل.
تأتى مسجلات الإزاحة عادة 4 أو 8 خطوط و بكل التركيبات المحتملة من التوالى و التوازى فيمكن أن يكون الدخول توازى والخروج توالى أو العكس دخول توالى مع خروج توازى مع توالى و نلاحظ هنا ضرورة توفر التوالى فى جميع الأحوال للتمكين من توصيل الوحدات على التتابع أى خرج المتكاملة الأولى يكون دخلا لمتكاملة ثانية لزيادة عدد الأرقام Bits المستخدمة كما أن البعض يوفر خاصية الإزاحة فى الاتجاهين فتسمى إزاحة لليمين وهى من مدخل التوالى ثم الخط الأكبر قيمة Q3 مثلا ثم Q2 ثم Q1 ثم Q0 و إزاحة لليسار وهذا يعنى الاتجاه العكسى.

الشكل يبين واحدة تحتوى عديد من هذه الخواص وهى DM74HC595N وهى طبعا TTL و يكفى 74595 للتعرف عليها.
نظرا لأنها توفر إزاحة فى اتجاه واحد فقط ، فلا فرق أن نقول Q7 هو المدخل أم Q0 فهى فقط مسميات و الإزاحة دوما فى اتجاه ثابت محدد لا يتغير و كما بالرسم سنجد أن شركة أخرى مثل TI تسمى هذه الأطراف QA,QB الخ وهى أقرب للواقع حيث الاستخدام هو ما يعطى الخط قيمته. يجب ألا ننسى أن هذه الخطوط الثمانية قد تعنى رقم من 8 خطوط و قد تعنى مجرد 8 بيانات مستقلة لا علاقة لها ببعض كحالة مفاتيح متصلة بأبواب أو أخطاء تحدث فى أماكن متنوعة من آلة.
هذه المتكاملة لها مدخل تسلسلى Serial In وهو الطرف 14
الطرف 13 هو OE أو G و الخط بأعلاه يعنى أنه يعمى بالمستوى صفر و طالما جهد هذا الخط = صفرا فالخرج متاح و إن كان = 1 فأن خطوط الخرج تكون فى حال عدم التوصيل Hi-Z ولا تتبع التغيرات داخل المتكاملة أما الشقيقة رقم 74596 فتكون فى حال القطع لأنها من طراز OC .
تتميز هذه المتكاملة عن المسجلات الأخرى أن بها طاقمي من المذبذبات المتعدد يعمل كمسجل إزاحة بالإضافة لآخر يعمل كمساكة Latch و لكل منهما نبضة التحكم الخاصة به وبهذا يمكنك أن تنفذ الإزاحة وقتما ينبغى لها الحدوث و تبقى النتيجة مخفية داخلها لحين الحاجة إليها فتنقلها لتبقى متاحة طوال الوقت الذى تريد دون أن يعوق ذلك تحديث الإزاحة.
الطرف 11 هو المسئول عن تنفيذ الإزاحة و هو يعمل على الحرف الموجب للنبضة على هذا الطرف و كما بالصورة نرى أنه متصل بالمجموعة الأولى والتى يتصل خرج الخلية الأولى بدخل الثانية و هكذا لتحقيق الإزاحة و أيضا يتصل بدخول الخلية الأولى للمجموعة الثانية المسئولة عن الإمساك Latch بالنتيجة وقتما نريد.

الطرف 12 هو المسئول عن الإمساك بالنتيجة Latch و هو أيضا يعمل على الحرف الموجب للنبضة على هذا الطرف.

ما يهمنا التأكد منه فى هذه الوحدات بعد فهم نظرية عمل المتكاملة التى نريد استخدامها هو ما يلى
أقصى تردد لنبضات Clock وهو هنا طرف الإزاحة رقم 11 فمثلا العائلة LS تعمل حتى تردد أقصى 20 ميجا هرتز بينما العائلة HCT تعمل حتى 47 ميجا و العائلة HC تعمل حتى 100 ميجا .
زمن نبضة الإزاحة وهو أقل عرض لنبضة Clock
الزمن اللازم للثبات Setup Time وهو الزمن الذى يجب أن يمر من تغيير الدخول قبل تطبيق نبضة التحكم وهو من 20 إلى 40 نانو ثانية حسب الرقم و أى نبضة نود تطبيقها وهو ضرورى لتحقيق استجابة صحيحة و إلا قد تفشل المتكاملة فى قراءة البيان الصحيح.

مثال آخر المرة القادمة إن شاء الله
[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
مثال آخر مسجل الإزاحة SN74LS194
نلاحظ فى الطراز السابق أن الإزاحة كانت فى اتجاه واحد فقط ولذا سميت المخارج من جهة الدخول QA ثم QB وهكذا، ولكن لو أردنا أن نمكن من الإزاحة فى الاتجاهين، يجب أن نتفق على بعض المسميات مثل ما اسم الإزاحة فى أحد الاتجاهين وما اسم الاتجاه الآخر.
أبسط الأسماء تلك التى تتفق مع المنطق فيسهل تذكرها، والمنطق هنا يقول لننظر لأى رقم ثنائى سنجد مثلا 00000100 للسهولة، فلو حركنا الأرقام لليمين ستصبح 00000010 وهو بمثابة القسمة على 2 و لو حركناه يسارا سنجد أنه أصبح 00001000 وهو بمثابة الضرب × 2 وهذا يسهل لنا الأمور. باستخدام هذه الفكرة سميت الإزاحة لليمين فى اتجاه الرقم الأقل قوة وهو ما يحقق ما سبق و بنفس المنطق سميت الإزاحة لليسار فى اتجاه الرقم الأكثر قوة بصرف النظر عن تسمية الطرف QA أو خلافه ولكن يجب ألا ننسى هنا أن المسمى Q0,Q1 تشير لترتيب القوة حيث صفر ترفق بالرقم الأدنى مرتبة ثم باقى الأرقام ترتيبا.
المتكاملة SN74LS194 مثال لهذا النوع من مسجلات الإزاحة حيث تمكن المستخدم من الإزاحة لليمين أو اليسار أو التحميل المتوازى (العرضى) و إلغاء البيانات، نلاحظ أيضا انه لا يحتوى Enable وهو لذلك يجب ألا يجمع مع غيره من المخارج على خط البيانات، ولكن هناك أرقام أخرى توفر هذه الخاصية أيضا.
لكى نفهم أداء هذه المتكاملة ندرس تركيبها من الداخل.


نلاحظ أنها تتكون من 4 مذبذبات SR معدلة لتصبح D-Type بواسطة عاكس و هى من نوع قدح الحافة Edge Trigger ونلاحظ المثلث الصغير على طرفها بجوار اسمها Clock، و تدخل نبضة التشغيل Clock للوحدات الأربع من خلال عاكس (أسفل يسار الصورة برمز Clock الطرف 11 أى نبضة الساعة أو التشغيل) ليغذى مداخل معكوسة، أى ببساطة نقول عاكسين أو معزز، لماذا لم يدخل الطرف مباشرة للمذبذبات؟

لو نذكر الجدول الخاص بتيار الدخول والخروج و الاتفاق على أن يكون Fan Out أو التشعب للخارج =10 أى أن كل مخرج قياسى يستطيع تشغيل 10 مداخل قياسية؟ حسنا هنا لن يكون من المنطقى أن نقوم بعد كل مدخل و إنشاء جدول آخر نقول فيه هذا المدخل يعادل خمسة مداخل قياسية وذالك يعادل ثمانية (كما بالخط الأحمر وسيلى شرحه لاحقا) لذا يوضع هذا المعزز حتى يقوم بالتغذية الداخلية لعدد الأطراف المطلوبة فى حين يظل يبدو كطرف قياسى واحد لمدخل المتكاملة.
نفس المبدأ لطرف الإلغاء أسفل الطرف السابق و يرمز له Clear أى إلغاء عام، ونلاحظ أنه متصل مباشرة بالمذبذب مما يجعله ذو سيادية عليا أى أنه يقوم بدورة دون اعتبار لباقى الأطراف.
من الطبيعى أن نحتاج مدخلين مختلفين أحدهما للإزاحة لليمين وهو المبين بمربع أصفر ذو إطار أحمر يسار الصورة والآخر لليسار وهو المبين بمربع أصفر ذو إطار أحضر يمين الصورة حتى نتمكن من ربط الوحدات لزيادة عدد خطوط البيانات من أربعة خطوط لثمانية أو 12 أو 16 للحد المطلوب.
للإزاحة لليمين يجب أن نجعل خرج كل مذبذب يتصل بمدخل جاره الأيمن و للإزاحة لليسار يجب أن نجعل خرج كل مذبذب يتصل بمدخل جاره الأيسر، و نحقق ذلك بأربع بوابات AND مجموعة بواحدة NOR و لا تسأل لماذا لم يستخدم OR حتى لا أقول أنك نسيت ما سبق حيث أن الأساس هو هذه الوحدة وتضيف لها عاكس لتحصل على OR – حسنا ماذا يصبح لدينا الآن؟
بالتحليل بواحد وصفر ستجد أن أى مدخل لأى AND منهم يكون صفر سيفرض صفر على خرجها وهو دخل لبوابة NOR فيجعل خرجها يسير حسب باقى المداخل، إذن الشرط الوحيد ليكون خرج البوابة NOR = واحد هو أن يكون مداخلها = صفر أى جميع مخارج الأربع بوابات AND = صفر ،وليكون مخرج AND = صفر يكفى أن يكون أي مدخل = صفر.
لدينا أربع مداخل بيانات D0,D1,D2,D3 وكل منها يدخل لبوابة من الأربع والمميزة باللون الأصفر.
لدينا أعلى يسار الصورة خطين S1,S2 للتحكم فى أداء المسجل حسب جدول. لفهم الجدول وضعت بعض الألوان حيث القسم الأيسر باللون الأصفر للمداخل و الأيمن بالأرجوانى للمخارج.

السطر الأول: سنجد خط Clear أى إلغاء فى وضع صفر و مهما كانت حالة باقى المداخل (تذكر أن العلامة × تعنى لا يهم) فكل المخارج تصبح أصفارا.
السطر الثانى: سنجد خط Clear أى إلغاء فى وضع واحد وهذا يسمح بتشغيل الوظائف و سيستمر فى باقى الأوضاع فلن نكرره، و سنجد وضع نبضة التشغيل Clock فى وضع صفر و بصرف النظر عن الباقى سيظل الخرج كما هو و يستدل على ذلك أنك تجد تحت عنوان QA القيمة QA0 والصفر هنا يعنى الحالة السابقة أى عند الزمن صفر و بالمثل فى الباقى تحت QD تجد QD0

المجموعة داخل المستطيل الأخضر: مع انتقال النبضة Clock من صفر إلى واحد يتم التغيير وهو حدث لازم و متكرر من السطر الثالث وحتى السابع لذا سيكتفى بالقول “عند النبضة”.

السطر الثالث عند النبضة: لو كل من S0,S1 فى الوضع واحد هذا يجعل ما على المداخل (التوازى) D0-D4 ينتقل للمخارج QA-QD بالتناظر فتجد تحت خط المداخل Parallel أى توازى تحت QA القيمة a وهكذا و تجد المخارج أصبحت تحت QA القيمة a أى أن الخرج أصبح يساوى الدخل المناظر له.
لنتحقق من ذلك على الدائرة السابقة سنجد أن المدخل S0 بعد عاكس يصبح الخط المميز باللون السماوى و بعد عاكس آخر يعود لأصله مميزا باللون الأزرق فعندما يكون S0 بقيمة واحد سيكون الأزرق = واحد و السماوى = صفر
و بالمثل سنجد أن المدخل S1 بعد عاكس يصبح الخط المميز باللون الأحمر و بعد عاكس آخر يعود لأصله مميزا باللون الأسود فعندما يكون S1 بقيمة واحد سيكون الأسود = واحد و الأحمر = صفر
نظرا لأن S0 = واحد، فالخط السماوى = صفر معطلا كل البوابات السماوية والبيضاء ولكون الأزرق = واحد فتكون كل البوابات الحمراء والصفراء ممكنه. نأخذ الآن S1 بقيمته واحد تجعل الخط الأحمر = صفر معطلا كل البوابات الحمراء و لكون الخط الأسود = واحد فهذا يجعل البوابات الصفراء فقط متاحة وهى التى تأخذ البيانات من التوازى أى أن المخرج الوحيد المؤثر هو البوابة الصفراء وهو الذى يتم تسجيله بالمذبذب.
السطر الرابع أو الخامس عند النبضة: حيث S0= واحد و S1 = صفر، سنجد S0 =1 جاعلا الخط السماوى = صفر معطلا كل البوابات السماوية و البيضاء ماعدا الأولى من اليسار وكل الحمراء والصفراء ممكنه، و كون S1 = صفر فاخط الأسود = صفر معطلا الصفراء و الحط الأحمر = واحد متيحا الحمراء و البيضاء الأولى أقصى اليسار فقط، فالحمراء الأولى تأخذ من مدخل الإزاحة لليمين و الحمراء الثانية تأخذ من خرج المذبذب الأول و الثالثة من خرج الثانى وهكذا فلو كان مدخل الإزاحة واحد يدخل واحد فى الأول أو كان صفر يدخل صفر و ما كان فى الأول ينتقل للثانى وهكذا.
باقى الأسطر بنفس الطريقة و أتركها كتمرين لذكاء القارئ، وبهذه المعلومات نستطيع أن نفهم تصرف كل مسجلات الإزاحة الأخرى حيث الفروق تكون بسيطة.

مولدات الشفرة و فك الشفرة هو موضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
مولدات الشفرة و فك الشفرة Decoders, Encoders

فى الحقيقة مولدات الشفرة و فك الشفرة هما نفس الشيء، بمعنى أن كلاهما تحول من كود لآخر ولكن اتفق على أن تكون مولدات الشفرة encoders هى التى تحول من دائرة موائمة مثل لوحة مفاتيح أو حساس ميكانيكى إلى كود ثنائى و فك الشفرة Decoders هى العكس أى تأخذ من كود ثنائى إلى لوحة عرض للقراءة أو تحريك ريلاى أو آلة من نوع ما أو حتى مجموعة من الثنائيات الضوئية LED.

تعتمد هذه الوحدات فى أبسط صورها على مجموعة من البوابات تحلل المداخل المتنوعة إلى مخارج مطلوبة و حينما تتعقد الأمور بزيادة عدد المداخل و المتطلبات ، يكون من الأفضل استخدام الذاكرة حيث تستخدم أنواع ثابتة سيأتى شرحها لاحقة لإعطاء مجموعة من المخارج مقابل كل مجموعة من المداخل.


مثال لهذا هى الدائرة SN74ls138 وهى تفك الشفرة الثنائية أو توزعها من ثمانى Octal (أى ثلاث خطوط) إلى ثمانية خطوط أى واحد من ثمانية لذا تسمى 1-8 Decoder – demultiplexer
لتنفيذ هذه المهمة نحتاج 8 بوابات كل منها ذو ثلاث مداخل يدخل لها التركيب المناسب من قيم الدخل و أخرى “رابعة” للتحكم فى الخرج فمثلا تكون القيمة 7 من الثلاث مداخل معا ولكن المخرج صفر يجب أن يدخل “عكس” المداخل الثلاث، إذن سنحتاج لثلاث عاكسات للثلاث مداخل.
للتوضيح وضعت المداخل فى الإطار الأصفر و تسمى A0,A1,A2 وهى تقبل العد من واحد إلى 7 ثم تدخل لثلاث عاكسات باللون الأزرق وللتسهيل وضعت ألوان سماوى وازرق ز أخضر لخطوط هذه المخارج، الهدف الرئيسى منها جعل المداخل السابقة كل منها يساوى حمل واحد من هذه العائلة لأن مثلا المدخل A0 يغذى البوابات التى تعطى المخارج Q0,Q2,Q4,Q6 أى أربع أحمال ولكن بفضل هذا العاكس يصبح الدخول موحد و الآن وضعـنا ثلاث عاكسات للحصول على قيمة مطابقة للمداخل بعد أن تجنبنا زيادة التحميل وللتسهيل وضعت ألوان متدرجة من الأحمر.
طبعا نزيد مدخلا رابعا للتحكم فى الدائرة بمعنى أن نجعلها تعمل أو تتوقف لنتمكن من التوسع و استخدام أكثر من متكاملة لتحليل أكثر من 3 خطوط دخول، لذا ستكون البوابات ذات أربع مداخل بدلا من ثلاث. هنا وضعنا ثلاث خطوط تحكم وهى فى الإطار الأزرق أحدهما يجب أن يكون فى مستوى “واحد” ليعمل (الطرف رقم 6) و اثنان فى مستوى “صفر” (الطرفان 4،5)
البوابات من نوع NAND ولذا يكون الخرج المختار = “صفر” وهو منطقى فى عائلة TTL التى تقبل التيار من الحمل بدلا من تغذيته للحمل.
فى حال عدم تفعيل خطوط التحكم الثلاث، يكون كل المخارج الثمانية فى وضع = واحد

هناك العديد من هذه الوحدات منها 2 إلى 4 و منها 4 إلى 16 و منها BCD وهو النظام المشفر عشرى إلى شاشات الأرقام المسماة ذات السبعة أجزاء 7segment
فى عائلة CMOS تجد نوعين أحدهما مماثل للسابق شرحه والآخر الذى يعطى خرج =1

المجمعات و الموزعات - Multiplexer / De-Multiplexer موضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
المجمعات و الموزعات - Multiplexer / Encoders
رغم أن النظرية واحدة و هذه مثل السابقة من حيث التركيب، إلا أن الوظائف قد تضيف أشياء ذات أهمية خاصة.
لنبدأ أولا بالوظيفة التقليدية وهى معك الوظيفة السابقة مباشرة، سنجد مثلا عدد من المداخل نختار منها واحد فقط للظهور على الخرج، منها 16 دخل و 8 و 4 وحتى 2 و كما سبق الشرح، كلما قل عدد المداخل يمكن تكرار الوحدة داخل نفس المتكاملة تماما كما سبق القول فى البوابات و المفاتيح التماثلية Analog Switches ولهذا سنشرح SN74S151 ذات 8 مداخل بدلا من SN74S150 ذات 16 مدخل.

كثير من المبادئ سبق شرحها فنجد مثلا المداخل A,B,C التى تحدد أى من الثمانية يظهر فى الخرج وهى أسفل يسار الصورة باسم Data Select تدخل إلى عاكس مزدوج و يخرج منه العكس و المثل و العكس من الخرج المميز بالدائرة التى ترمز للعكس، و يجدر بنا هنا ذكر أن هذا الرمز المختلف يختلف عن الرمز السابق استخدامه وهو عاكسين متتابعين فى أن فى السابق يظهر المنطق المعكوس أولا بعد زمن عبور أول بوابة ثم يظهر المنطق المماثل بعد زمن عبور البوابة الثانية أما فى هذه البوابة فيراعى أن يكون الزمن متقارب لأقصى حد لمنع ظهور نتائج خاطئة بالخرج مرحليا حتى تمام الاستقرار، كما نلاحظ أيضا أن هناك مخرجين أحدهما عكس الآخر لتحصل على ما تريد.

هناك نوع آخر مثل SN74LS348/SN74LS848 يؤدى وظيفة هامة وتسمى Eight In to 3 Binary Priority Encoder أى 8 مدخل إلى 3 خرج شفرة ثنائية مع الأولوية. الأولوية هنا تعطى للرقم الأعلى حيث المدخل 7 له أعلى أولوية وتعنى أنه لو تحقق مدخلان أو أكثر معا، فالخرج يمثل أعلاها رقما ، فمثلا لو تحقق 2،4،5 فالخرج يكون 5 وذلك لمنع الخطأ.

نلاحظ هنا عدة نقاط، أولا الدخل يتحقق بالمستوى صفر. طبعا سيكون السؤال لماذا حيث المتوقع أن يكون واحد!!
الإجابة ببساطة أن مدخل TTL فى حال عدم التوصيل سيكون واحد و عادة هذه المتكاملة تتصل مداخلها بمفاتيح أو حساسات أو مصادر إشارة قد تكون بعيدة مما يفرض احتمال قطع مسار التوصيل (سلك أو خلافه) و من الخطر أن يكون نتيجة انقطاع المصدر أن تفرض إشارته فى وقت قد يكون غير مناسب أو حتى خطر، أما عدم وصول إشارته فهذا أقل خطر غالبا.
هذه المتكاملة لها خرج الطرف 14 أعلى يمين الصورة يعطى خرج عند تحقق أى من المداخل لتنبيه باقى الدائرة أن هناك بيانات مطلوب معالجتها و لها خرج الطرف 15 أعلى يمين الصورة لربط مجموعة معا للحصول على حتى 46 مدخل كما بالصورة

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

العداد موضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
العداد Counter
العداد الإلكترونى أتاح الدخول لعالم رقمى لا حدود له لأنه فتح آفاق الحساب و إن كانت عمليات الحساب تتم بواسطة دوائر متخصصة للجمع سيأتى شرحها لكن لو تخيلنا بداية عصر الإلكترونيات و استخدام الصمامات قبل الترانزيستور قد نتخيل استجابة العدادات أسهل من تصنيع بوابات الخ كما أن هناك العديد من التطبيقات تبنى على عداد فقط مثل عد منتج على سير ناقل للحركة أو عدد من يعبر بوابة أو عد لفات محول أثناء تصنيعه والتوقف عند الرقم المطلوب الخ.

بداية سنجد أن ألمذبذب المتعدد ثنائى الاستقرار BSMV هو أساس العد فلو كان مصنوع من الترانزيستور فإن نبضة لقاعدتى الترانزستورين تجعله يقلب وضعه، ولو مصنوع من بوابات فالنوع المسمى JK-FF فى وضع كلا من J و K يساوى واحد تجعله يقلب مع كل نبضه

كما بالرسم نجد أن النبضة الأولى تجعل المذبذب الأول فى وضع Q=1 و هو يجعل العد 001 لاحظ أن Q0 هو اليسار، لاحظ أيضا أن انتقال الخرج Q0 من صفر إلى واحد لا يؤثر على المرحلة التالية لأن مدخل النبضة يعمل بالحد السالب وليس الموجب.
النبضة الثانية تجعله يعود لوضعه الأصلى و هذا الانتقال فى الخرج من واحد إلى صفر يؤثر على المذبذب الثانى ويجعله ينتقل إلى وضع Q=1 فيصبح الخرج 010 وهو العد الثنائى المقابل للرقم 2 .
النبضة الثالثة تجعل المذبذب الأول فى وضع Q=1 و هو يجعل العد 011 ، لاحظ أن انتقال الخرج Q0 من صفر إلى واحد لا يؤثر على المرحلة التالية، وهو العد الثنائى المقابل للرقم 3 .
النبضة الرابعة تجعل الأول يعود لوضعه الأصلى Q=0 و هذا الانتقال فى الخرج Q0من واحد إلى صفر يؤثر على المذبذب الثانى ويجعله ينتقل إلى الوضع الأصلى Q=0 فيصبح الخرج 100 وهو العد الثنائى المقابل للرقم 4 وهكذا.
نرى مما سبق أن هذه التركيبة تجعل المذبذبات تعمل كعداد ثنائى، و نلاحظ أيضا أن الأخير لا يستجيب إلا بعد استجابة السابق له والذى بدوره لا يستجيب إلا باستجابة السابق وهكذا مما يجعل الانتقال يسير كموجة عبر الوحدات لذا سمى Ripple Counter . يتميز هذا النوع بالبساطة لكن الأخير ينتظر كل ما سبقه، لذا لو افترضنا أن زمن تأخير استجابة الواحد منها هو “ز” نانو ثانية و لدينا مثلا 16 وحدة، فطوال الزمن 16 × “ز” الخرج متغير وغير مستقر ولا يصلح لقراءته كبيان صحيح، لذا فاستخدام هذا النوع مناسب لقسمة التردد الداخل على قيمة محددة للحصول على نبضة كل عدد من نبضات الدخول أو حيثما يكون هذا التأخير غير مؤثر فى أداء الدائرة.
أمثلة على هذا المذبذب CD4020,CD4024,CD4040,CD4060 وكلها تشترك فى عدة سمات منها أنها موجية Ripple وتشمل عدد كبير من المراحل حتى 14 مرحلة و مرحلة دخول شميت Schmitt لتسمح بالتغيرات البطيئة كأن تغذى من 50 ذ/ث للحصول على زمن طويل يصل لأكثر من 327 ثانية أى قرابة خمسة دقائق ونصف وأيضا لكل منها طرف إلغاء RESET لفرض القيمة صفر على المخارج مع إيقاف العد.

تتميز المتكاملة CD4060 بأنها توفر ثلاث أطراف لعاكسات داخليه، الأولى NAND و إن رسمت هنا بطريقة مختلفة ولكن سبق شرحها حيث تستخدم أحد أطرافها كبوابة للطرف الآخر و يمكن استخدام هذه المداخل لعمل مذبذب م س أى RC Oscillator أو كريستال.


الصورة توضح التوصيل و التفاصيل الأكثر فى صفحة البيانات Data Sheet طبعا.
إن أردت أن يكون التردد قابل للضبط، يمكنك استخدام مقاومة متغيرة كجزء من المقاومة Rx وهكذا تستطيع ضبط التردد المناسب لخمسة دقائق فقط دون كسور. يجب أن تتذكر هنا أن Rx تستبدل بمقاومة ثابتة على التوالى مع مقاومة متغيرة و يجب ألا تستخدم مقاومة متغيرة فقط لأن المذبذب سيتوقف عن الاهتزاز عندما تقل قيمة المقاومة كثيرا مما يجعلها تفقد جزء من فاعليتها كما أن كلما كانت قيمة المقاومة المتغيرة أقل كانت دقة الضبط أعلى و مدى التردد أضيق. يجب ألا تنسى الشرط المكتوب فى الصورة وهو أن قيمة Rs من ضعف إلى 10 أمثال Rx والتى تحسب هنا بقيمة المقاومة الثابتة مجموعة على أكبر قيمة للمتغيرة.
يمكن استخدام خرج واحدة وليكن Q14 لتغذية مرحلة تالية لزيادة الزمن أو نسبة قسمة التردد.

فى عائلة TTL نجد أن غالبيتها من أربعة أرقام فقط مثل 7490 ولا تجد ما يوازى وحدات CMOS السابق شرحها 14 رقم وهذا طبعا عائد لعدة أسباب تقنية منها الحاجة لعدد أكثر من الترانزستورات لنفس الوظيفة و الضوضاء التى تسببها على خطوط التغذية ستبقى لفترة أطول وغيرها.

العداد المتزامن موضوع المرة القادمة إن شاء الله

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
العداد المتزامن

الآن نريد أن نستجيب بأقصى سرعة ممكنه،أين المشكلة لنجد لها حلا؟!
ببساطة زمن التأخير أو استجابة الوحدات! فلكى نحصل على القيمة السليمة بعد كل نبضة، يجب أن ننتظر حتى تتجاوب كل المراحل- خاصة وأن الدوائر لا تعرف من منها سيتغير.
حسنا فى أى لحظة و بالنظر لحالة كل مذبذب نعلم إن كان التالى له يجب أن يتغير أم لا والشرط بسيط وسهل.
إن كان السابق فى وضع Q=1 فالتالى يجب أن يتغير إن تغير السابق له من واحد إلى صفر، كيف هذا؟
لو فرضنا عدد من الوحدات والعد عليها هو 0101 أى خمسة و أتت النبضة السادسة، فالمفروض أن يكون الناتج هو 0110، ولو دققنا النظر سنجد الرقم الأقل (أقصى اليمين) دائم التغير.
التالى له كان يمينه واحد فتغير من صفر إلى واحد مع تغير سابقه.
التالى لهما كان يمينه صفر فبقي على حاله.
الأخير كان يمينه واحد و سيتغير عندما يتغير السابق، لذا فهو لن يتغير هذه المرة طالما السابق لم يتغير.
قاعدة العد التنازلى لو تغير يمينه من صفر إلى واحد يتغير معه الرقم، وهكذا نحتاج لنبضة واحدة تطبق على كل الوحدات معا و ننتظر زمن تأخير واستجابة وحدة واحدة فقط للوصول للإجابة. أيضا لا توجد قيم بينية خاطئة كما فى النوع السابق بين تطبيق النبضة و الحصول على النتيجة وهذا يجعل التحميل بقيمة ابتدائية أسهل تحقيقا لأن التغيير يعتمد على تطبيق النبضة وليس تغيير المذبذب السابق.
أمثلة هذا النوع عديدة لأنها تعمل بأقصى سرعة ممكنة حتى لو تواصلت الوحدات لتكوين عداد ذو خانات عديدة جدا، دوما زمن نبضة واحدة تكفى للحصول على خرج دقيق و نهائى.

تشترك هذه النوعية فى عدة خواص مثل أن تحتوى مداخل للتحميل Load أو مدخل إلغاء RESET أو المدخلين معا. ألمدخل Reset تعنى أن يصبح الخرج صفرا ، بينما التحميل يعنى أن لديك أربع مداخل للقيمة المراد تحميلها و خط “تحميل” Load لفرض هذه القيمة على الخرج عند الحاجة وهذه القيمة تكون صفر أو أى شيء آخر. عند تفعيل أى من هاتين الوظيفتين يتوقف العد آليا.

أيضا تشترك فى كونها أربع خانات فتكون بالتالى إما ثنائية Binary أى تعد من صفر إلى 15 أو عشرية Decimal من صفر إلى 9 أو مزدوجة حيث يكون لها مدخل تحكم لتكون إما ثنائى أو عشرى و غالبا فى النوع المزدوج ما يتم تثبيت هذا الخط على أحد الخيارين لأن تغييره لا يحول الرقم من ثنائى لعشرى أو العكس ولكن يغير فقط نظام العد مما يسبب فقد الفرق بين النظامين مسببا خطأ فى النتيجة. قد تتساءل إذن ما جدواه؟ الحقيقة الجدوى اقتصادية فالتعامل مع رقم واحد يؤدى كل الوظائف أسهل من عدة أرقام كل له وظيفة مختلفة.

فى صورة CD4029B سنجد المدخل UP/DOWN والخط فوق كلمة DOWN أى أن العداد يعد تصاعديا طالما كان هذا الطرف مساويا واحد و سيعد تنازليا عندما يكون صفرا و هذا يجعله ذو فائدة عظيمة حينما تريد أن تعد فى اتجاهين متضادين كأن تعد لفات ملف فى ماكينة أو عدد الأشخاص فى مكان ما مثلا فتجعل حساس الاتجاه يحكم العد بالزيادة أو النقصان بينما حساس العبور أو العد يدخل إلى طرف العد Clock ، و أيضا طرف Binary/Decade و الخط فوق Decade أى أنه يعد بالنظام العشرى عندما يكون هذا الطرف متصل بالأرضى.
أطراف الدخول هنا تسمى JAM INPUTS حيث أنها تفرض ما عليها على الخرج و يلغى العد عندما يكون Preset Enable فى وضع واحد و يعود لوضع العد من حيث تم التحميل عندما يكون هذا الطرف = صفر. هذه الخاصية تتيح قسمة التردد على أى قيمة ولو متغيرة حيث توضع على المداخل J1-J4 ثم نبضه على Preset Enable ثم العد للنهاية و التكرار.
أيضا لكى يكون العد متاحا يجب أن يكون طرف Carry IN فى وضع صفر وذلك لتمكين الامتداد لأكثر من رقم بتوصيله لطرف Carry Out للعداد الأدنى مرتبة والذى يعطى خرج = صفر لزمن نبضة واحدة فقط من Clock و بذلك فتوصيل نبضة العد Clock لجميع العدادات معا لا يوثر إلا على العداد الذى يجب أن يستجيب فقط لوصول الأدنى منه مرتبة للحد الأقصى و ستجعله النبضة ينقلب إلى صفر وبهذا تكون المجموعة كلها متزامنة وليس الأول فقط.

يجب أن نراجع الخواص جيدا لنتأكد من ألخواص، فذكر كلمة متزامن Synchronous Counter تعنى أن العد متزامن لكن هل باقى الخواص أيضا متزامنة أم لا نقطة بالغة الأهمية فمثلا لو كان التحميل Clear أيضا متزامن، فوصول نبضة على هذا المدخل ثم انتهاؤها لا يسبب تصفير العداد لأن طوال دوام هذه النبضة لم تأتى نبضة Clock وهذا فارق جوهرى يسبب خطأ فى الاستجابة لو تطلب الأداء أن يكون التصفير فوريا. نفس المبدأ لمدخلPRESET و باقى الوظائف.

هل يصلح مسجل الإزاحة كعداد؟ موضوعنا المرة القادمة إن شاء الله.

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
عداد جونسون Johnson counter
ماذا يحدث لو وضعنا “واحد” أى “HI” على مدخل مسجل إزاحة Shift Register ثم أعطيناه النبضات؟
سينتقل من البداية للنهاية حتى تصبح كل المخارج تساوى “واحد” أى “HI” و المزيد يبدو لا أثر له لأنه يبدل “واحد” أى “HI” بمثله.
حسنا ماذا يحدث لو وصلنا آخر مرحلة من خلال عاكس Inverter لأول مرحلة ؟ وهى تماما كما لو أننا أخذنا من طرف Q كما بالرسم.

سنفترض الحالة المثالية وهى البدء بكل المخارج صفر، سيعكس آخر صفر ليدخل واحد HI على أول مدخل و النبضات ستنقلها كالحالة السابقة حتى تصل هذه القيم لآخر مرحلة، و عندها عبر العاكس سيتحول الدخل إلى صفر LO و يستمر فى إدخال أصفار حتى تصل الأصفار لآخر مرحلة وعندها تتكرر الدورة من جديد.
هذا يسمى عداد جونسون Johnson counter و رغم أنه لا يعطى عد بالنظم المعروفة إلا لأنه يعطى خرجا متتاليا يفضل استخدامه فى الأحداث المتتالية.
لكن حقيقة ليس بالمعنى المفهوم للأحداث المتتالية، فلو كان ذو 5 مخارج ، سيتحول الأول إلى واحد ثم الثانى معه ثم الثالث حتى يصبح الجميع معا فى الوضع واحد HI قبل أن يبدأ الأول فى الرجوع لصفر ثم الثانى معه، و هكذا، ربما يصلح للوحات الإعلان أكثر من أى تطبيق آخر هكذا 00000 10000 11000 11100 11110 11111 01111 00111 00011 00001 00000 ثم يكرر.
ترجع قلة شهرته إلى قله الحاجة إليه، فضلا عن ما يسمى “الحالة المرفوضة – أو الحالة الغير مسموح بها”.
أى عداد يتبع نسق مرتب من العد فمثلا العداد يعد من صفر إلى F ثم يعود.
لأى سبب مثل شوشرة على التغذية قد تسبب وضع واحد أو صفر على أحد المخارج دون إتباع العد الصحيح فلو كان العد 0001 مثلا ونتيجة لهذا التداخل تصبح 0101 أى أن Q2 حدث لها تغيير خارج المتبع، هذا وارد خاصة فى مراحل التصميم ، لكنه سيستمر فى العد 6-7-8 الخ بطريقة صحيحة، وعند التكرار لن يعيد الخطأ، وربما لن يؤثر كثيرا فى أداء الدائرة.
ماذا يحدث فى عداد جونسون إذن، لو بفرض 5 مراحل كالسابق، و كان فى الوضع 11000 ثم حدثت مشكلة فأصبح 11010

فإنه سيكمل هكذا 11101 ثم 01110 ثم 10111 ثم 01011 ثم 00101 ثم 00010 ثم 10001 ثم 01000 ثم 10100 ثم 11010 ثم كما بدأ 11101 أى لا يوجد احتمال لأن يعود للتتابع الصحيح له دون تفعيل RESET ولو كان فى دائرة تحكم لا يخفى عليك مدى الضرر الذى قد يسببه هذا الخلل.
الحل؟ هو وضع دوائر إضافية تكتشف هذه الأوضاع الغير مسموح بها لتقويمها و هى حتى 5 مراحل أمر مقبول لكن بزيادة عدد المراحل تصبح الدوائر غير عملية.
لزيادة الاستفادة، تم بواسطة بضع بوابات تحويله إلى عدد من المخارج المخصصة فيخرج واحد HI على المخرج Q0 و بعد نبضة يعود المخرج Q0 للصفر و يصبح Q1 واحد HI و بعد نبضة يعود المخرج Q1 للصفر و يصبح Q2 واحد HI و بعد نبضة يعود المخرج Q2 للصفر و يصبح Q3 واحد HI و هكذا

الكثير منا قام بعمل دائرة الأضواء المتتالية وهى دائرة لها عدة مخارج تضيء واحدة تلو الأخرى تحت مسميات مختلفة، و بالطبع استخدمنا فيها 4017 و الكل حاول التمادى لأكثر من 10 خطوط ولكن فشل فى الوصول إلى 20 مخرج ثم 30 ولم يدرى لماذا.
موضوعنا القادم إن شاء الله.

[/size][/font][/b]

[B][FONT=“Times New Roman”][SIZE=“4”]
تطبيق على عداد جونسون - المتكاملة 4017-4022

لو دققنا النظر فى عداد جونسون، سنجد أن هناك مرحلة واحدة فقط تختلف فيها الحالة قبلها عن بعدها، و فى نصف العد الأول تكون التالية صفر بينما الحالية واحد، و فى نصف العد يكون الكل HI أو آحاد ثم بعد ذلك يكون العكس.
بالكشف عن هذه الحالة ببوابة ثنائية المداخل 2 Input Gate يمكننا أن نحصل على عدد من المخارج المستقلة.
بتطبيق هذا المفهوم على 4 وحدات نحصل على 8 مخارج من المتكاملة 4022 و بالتطبيق على 5 وحدات نحصل هلى 10 مخارج كما فى المتكاملة 4017

الرسم يبين أطراف كل منهما و لكى نفهم الأداء، يفضل أن ننظر للتركيب

كما ذكرنا، تتكون 4017 من عداد جونسون من خمس وحدات و بالتالى فهو يعد 10 أو له 10 مخارج من صفر إلى 9
سنجد مجموعة من البوابات الثنائية Dual Input NAND Gates و كل واحدة تأخذ دخل من مرحلة والآخر من التالية، وضعت بعض الألوان للتوضيح. البوابات باللون الأصفر لمنع تلك الحالات الغير مرغوبة التى شرحناها المرة الماضية.
الطرف 15 هو RESET أو العودة للبدء أو التجهيز، لا أحبذ المسمى “التصفير” لأن هناك الكثير من الحالات لا تكون المخارج فى وضع صفر وهذه إحداها لأن وضع HI على هذا الطرف يضع مخرج العد صفر وهو الطرف رقم 3 فى وضع HI بينما الباقى فى وضع LO و يوقف العد حتى يصبح LO مرة أخرى.
نبضات العد Clock تدخل على الطرف 14 و يتم العد عند الحافة الموجبة للنبضة، و كما هى العادة دوما ترتبط بمدخل آخر لتوقيف أو إتاحة تأثير هذه النبضات حتى يمكن أن نتحكم فى العد وقتما نشاء وهو طرف Clock Enable رقم 13.
هذا الطرف يتيح النبضات حال كونه LO ، و بالطبع سيوقف النبضات لو كان HI ، لذا هنا خطأ فى المسمى Clock Enable وفى الملفات التى تكتبها شركة TI المسمى صحيح Clock Inhibit لأنه يوقف حال كونه HI
الخرج Carry Out وهو المخصص لتشغيل العداد الأعلى رتبة (لو هذا يمثل آحاد يكون الأعلى يمثل العشرات وهكذا) نجد أنه مأخوذ من آخر مرحله ، و يمرر على عاكس ليناسب دخول Clock لمرحلة تالية، لذا يكون HI طوال الخمس نبضات الأول من صفر إلى 4 ثم يصبح LO الخمس الباقية من 5 إلى 9 ليعود HI وهكذا.
هذا الوضع يجعله يقدم العداد التالى من العد “صفر” إلى العد “1” ثم من العد “1” إلى “2” وهكذا. هنا يجب ألا ننسى أنه كان يعطى خرج على مخرج العد “صفر” وهو منطقى فى العدادات.
لذا لو أردت ربط مرحلتين ، تذكر أنها ستعمل كعدادات وليست مسجل إزاحة و أنها ستعطى دوما خرج على العد صفر.
فلو لابد من الامتداد كمسجل إزاحة، سنضطر لإلغاء العد صفر لتصبح من 1 إلى 9 أى 9 مراحل فقط ، ونستغله فى عمل RESET للمرحلة الأعلى منه.
كما أن هناك مشكلة أخرى وهى كونه عداد فعندما نصل إلى العد 10 سيتصرف هكذا 11-12-13 وهو منطقى و ممكن لكنك تريده أن يكون 9-10 20-30 -40 وهكذا أى يتوقف الأول حال بدأ الثانى العد وهذا غير مطابق للعدادات، لذا لتوقف عد الأصغر ستخسر العد 9 أيضا توجه به النبضات للمرحلة التالية وهكذا يصبح العداد ذو 10 خانات يعد 8 مرات فقط هكذا

يستخدم كل من 4017-4022 فى ترتيب الأحداث المتتالية أى فعل أوامر بترتيب محدد ببساطة و كلفة قليلة، ولكن يعيب هذه الطريقة ثلاثة أمور
1- لا تبدأ من المنتصف ففى كل مرة لابد من البدء من الأول.
2- ولا تقفز مراحل عند الرغبة، فلا يمكنك عند العد الخامس مثلا أن تقرر ترك السادس و السابع و الانتقال للثامن.
3- لا توجد تغذية عكسية بمعنى أنك لا تستطيع أن تحدد فى أى مرحلة يكون العد حاليا.
وذلك على العكس من استخدام مساكة Latch أو عداد Counter و يلى أيهما فك الشفرة Four to 16 decoder حيث يكون الأمر الناتج أساسا ناتج العد الذى حفظه الحاسب أو الميكرو فى داخل أى من المساكة Latch أو العداد Counter

الربط بين العالمين الرقمى والتماثلى موضوع المرة القادمة إن شاء الله

[/size][/font][/b]