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



## ماجد عباس محمد (20 مايو 2010)

*مقدمة*​ 
*العالم كله تماثليا، وكل شيء حولنا يتغير بطريقة تماثلية ولا يوجد شيء واحد رقمى . لكى نتعامل رقميا مع أى شيء يجب أولا أن نحوله من الصورة الطبيعية له لصورة رقمية أى نعبر عن قيمه المتغيرة بأرقام بدلا من جهد مناظر ثم نعالجه بدائرة رقمية – غالبا أكثر تعقيدا من الدوائر المماثلة بالطريقة التقليدية – ثم نعيده مرة أخرى لصورة تماثلية.*
*هكذا تجد أن التطبيقات التماثلية أسهل و أوضح لكن هناك إصرار على الانتقال للعالم الرقمى ! لماذا ؟ *​ 
*ظهور المذبذب المتعدد – حتى فى أيام الصمامات – جعل الوصول لذاكرة أسهل من الأساليب التى كانت تتبع سابقا وهذا كان داعيا للسير فى طريق رقمى و الانتقال بعالم المعالجة من المعالجة التمثيلية المحدود إلى العالم الرقمى الغير محدود.*​ 
*لو أخذنا عالم مثل الصوتيات مثلا ، جعل الصوت يدور حولك هو دالة فى زمن وصوله للأذن اليمنى و أليسرى و دالة فى مستوى الصوت أيضا*
*تحقيق اختلاف مستوى الصوت أمر سهل لكن تأخير نغمة عن أخرى كان مشكلة عويصة فى العالم التماثلى لأنه يعتمد على المقاومة والمكثف و لهذا فنسبة التأخير تعتمد على التردد أى إن قمت بتأخير موجة ترددها 200ذ/ث مدة ما فالموجة التى ترددها 400ذ/ث ستتأخر زمن أقل وهو يشوه الصوت لأن ما يجعلنا نعلم أن هذا صوت كمان وهذا صوت ناى هو كمية التوافقيات المصاحبة لكل منها (التوافقيات هى ضعف و ضعفين و ثلاث أضعاف ... الخ التردد الأصلى أى 2×ت،3×ت،4×ت،5×ت الخ) *
*تأخير الصوت كان يستخدم أيضا لتوليد ظاهرة الصدى و الرنين و لتحقيقه كانت التقنية تلجأ لأساليب ميكانيكية معقدة لتمرير الصوت فى أجسام (زنبرك - سوسته) ليتردد فيها و يولد الرنين أما الصدى فلابد من تسجيله على شريط و قراءته عدة مرات *
*أما بالنسبة للصور فحدث ولا حرج فمثلا كانت أفلام الكرتون ترسم صورة بصورة ثم تصور مما يأخذ وقتا وجهدا كبيرين أما الآن يكفى أن نرسم الشخصية و البرنامج يحركها ، ما بالك بالماكينات و متطلبات القياس و المعالجة الخ؟*
*هل كان ممكنا أن نقيس أثر الفرملة على كل إطار ونعدلها آليا حتى لا تنزلق السيارة وتدور حول نفسها؟*
*هل تعلم أن الطائرة الجامبو مثلا بها أكثر من 3 حاسبات تتولى قيادتها؟*
*الطريق الرقمى حتمى فهو الوحيد القادر على التحليل – الاستخلاص – المعالجة و العمل فى الوقت الفعلى أيضا **Real Time*
*إذن ما هو الأسلوب الرقمى على أية حال؟؟؟؟*
*بسيطة*
*لو أنك تود أن تقول لشخص ما فى المبنى المقابل أن ما لديك هو خمسة ، إذن تريد نقل المعلومة "خمسة" له*
*ننقلها تمثيليا بوضع خمسة فولت على زوج من الأسلاك – هذا أسلوب سهل ومريح لكن المشكلة أن صديقنا فى المبنى المقابل كثير الشكوك و لن يرتاح قبل أن يتأكد هل ما يقيسه هو فعلا خمسة أم كانت أكثر و نقص بعضها فى الطريق ؟ وكم نقصت أيضا؟؟*
*لذلك لجأنا لأسلوب آخر*
*نتفق أولا كم فولت سنستخدم وليكن ج مثلا*
*لو كان أكثر من المنتصف سنعتبر أن هناك ج فولت كاملة*
*لو كان أقل من المنتصف سنعتبر أنه صفر فولت*
*و عليه فى الطرف الآخر من الخط - يوجد مصباح إما مضاء أو مطفأ*​ 
*حسنا حللنا مشكلة الشك ووقعنا فى مشكلة كيف نقول خمسة أو أى رقم*
*الحل بسيط ، نستخدم أكثر من سلك – كيف؟ هكذا*
*كما نستخدم فى الموازين نظام 1-2-2-5 لنركب منها أى وزن نحتاجه من صفر إلى 9 فقط بأربع وحدات سنستخدم هنا أربع خطوط لنكون منها ست عشر رقم*
*الخط الأول إما صفر أو واحد – و عليه يكون الخط الثانى = 2 أى لو المصباح الثانى مضاء فهو =2*
*لو أضاء الاثنان يكون المجموع 2+1=3 لذا يكون الثالث =4*
*و بجمع المصابيح يمكن تكوين حتى 4+2+1= 7 و بالتالى الرابع =8*
*و بالجمع نصل إلى 15 وهو أكثر من القيمة الممكنة للموازين (10) *
*طبعا الخامس سيكون 16 و السادس 32 و السابع 64 أى كل واحد ضعف السابق أو 2 × سابقة لذلك و لأن كل خط له فقط قيمتان صفر وواحد سمى النظام الثنائى **Binary System*
*ليس من السهل التعبير كلاميا عن الأرقام الطويلة لذا جمع كل أربعة أرقام معا وهى كما سبق من صفر إلى 15 أى ستة عشر رقما لذلك سمى نظام ستة عشرى أو هيكسا أو **Hexadecimal*
*نعرف من الأعداد من صفر إلى 9 و لذلك احتاجنا لإضافة ستة أشكال جديدة و الأسهل أن نختار حروف فهى معتادة على الأقل*
*A=10 , B=11, C=12, D=13, E=14, F=15*
*الآن نبدأ فى هذا النظام المعقد السخيف !!!*
*أحقا؟؟ كم الساعة الآن؟؟ و هل لديك 45 دقيقة لنكمل؟*
*و لماذا كان هذا الرد بسيطا وسهلا ، ألم تلحظ أن الثوانى تعد من صفر إلى 59 ثم*
*الدقائق وهى أيضا من صفر إلى 59 ثم*
*الساعات؟ هل تعد 12 ساعة أم 24؟*
*إن كان 12 لا يوجد فيها صفر و العد يبدأ من 1 إلى 12 ثم صباحا / مساء*
*إن كان 24 فالعد من صفر إلى 23 ولا يوجد فيها صباحا / مساء ثم*
*اليوم !! نعد بنظامين معا *
*كل سبعة أيام لأسماء الأسبوع (أحد – اثنين ثلاثاء الخ)*
*ومعه نظام سهل بسيط جدا! - إما 28 أو 29 أو 30 أو 31 حسب رقم الشهر و إن كانت السنة بسيطة أو كبيسة*
*والآن تقول لى من صفر إلى 15 نظام معقد؟*
*قبل أن ننهى هذا الحديث لا ننسى أن نقول أننا لو أخذنا ثلاث مسارات فقط تتيح لنا العد من صفر لسبعة أى ثمانى أرقام لذا سمى بالثمانى **Octal** ولكنه لم يعد مستخدما بكثرة الآن لأن الحاسبات اتخذت الوحدة هى الهكسا و لأسباب تاريخية سيلى ذكرها إن شاء الله لاحقا.*
*المرة القادمة إن شاء الله نتحدث عن عالم الأرقام الثنائية.

روابط هذا الشرح بصورة ملف PDF
رابط 4-shared
*

*

Drop-Box
*https://www.dropbox.com/s/beml9toxrdx6ds4/Digital design PDF.pdf?dl=0​


----------



## محمدالقبالي (20 مايو 2010)

تسلم مشرفنا الكريم على الموضوع ..... ننتظر عالم الرقميات


----------



## ماجد عباس محمد (21 مايو 2010)

أسعدنى مروركم الكريم و أرجو أن يكون الموضوع عند حسن ظن الجميع وفى انتظار ارائكم دوما


----------



## ماجد عباس محمد (21 مايو 2010)

نظم الأعداد
هل هناك نظم أخرى؟ تحدثنا عن النظام الثنائى و الثمانى والستة عشر! ماذا نتوقع بعد ذلك؟
نسأل أنفسنا لماذا أصلا توجهنا للأسلوب الرقمى؟ والإجابة لدقة نقل المعلومات.
إذن تخيل معى أنك ترسل بيانات على 8 خطوط معا على التوازى – هذا يساوى رقمين هيكسا أو ترسل بياناتك على التوالى 8 كل مرة.
ماذا لو لا أحتاج هيكسا و أريد أن أرسل أرقام عشرية عادية؟
إذن يمكن أن أرسل رقمين كل منها من صفر على 9 وهو نظام ظريف وقد اعتدناه و أطلق عليه اسم NBCD اختصار لكلمات National Binary Coded Decimal أى الرقم العشرى بشفرة ثنائية و كلمة National أى القومى فى الأول كناية عن المؤسسة التى أطلقت الاسم.
ولكن هذا رائع على المسافات القصيرة ، أما فى المسافات الطويلة ، قد ينقطع الكابل و أستقبل أصفار وهى قيمة وقد تسبب إرباك للأنظمة .
حسنا أريد أرقام من صفر إلى 9 ولدى 16 تركيبة لذا يمكننى أن أضيف رقم ثابت للعدد الذى أريد إرساله فمثلا نضيف 3 وهو أشهر الأرقام التى استخدمت فيكون الصفر أرسل بدلا منه 3 والواحد أرسل 4 وهكذا حتى 9 أرسل بدلها C بالهيكسا و هكذا يكون كل من الصفر و F دلالة على أن الكابل به عيب. هكذا حددنا نوع من الخطأ و كشفناه.
هذا النظام يسمى "زائد ثلاثة" أو Excess Three أو يسمى Excess-3 و مازال مستخدما لتقليل الخطأ.
ماذا لو لدينا جهاز تشفير لحركة محور دوران و نريد أن نرسل بياناته إلى حاسب بعيد للتحليل مثلا جهاز مركب على هوائى رادار بأعلى المبنى و نريد إرسال بيانات هذا المشفر للحاسب داخل المبنى ليحدد زاويته؟
الكابل الطويل عرضة للضوضاء من الموتورات و أجهزة الإرسال الخ لهذا نريد طريقة تحدد متى حدث هذا الخطأ
اقترح العالم فرانسيس جراى شفرة خاصة سميت باسمه Gray Code وهو ترتيب الأرقام من صفر إلى 15 ووضع أمامها الشفرة الثنائية بطريقة بحيث يغير الانتقال من أى رقم للتالى له فى خط واحد فقط إذن لو حدث تغييران معا تكون القيمة خاطئة و الرابط التالى يبين قرص ضوئى مشفر بهذه الشفرة هذه صورة قرص ضوئى مشفر بهذه الشفرةله ثمانى أقسام ولكن من السهل زيادة لأى عدد من الأقسام حيث الأقراص المقسمة إلى 4096 قسما ليست غريبة. 
.
http://en.wikipedia.org/wiki/Gray_code



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







فى الخانة التالية (ليست العشرات ولكن اثنينات) ضاعف الأعداد فنأخذ صفر – صفر ثم واحد - واحد و نعكس وقد وضعت لون للصفر – صفر ثم واحد - واحد ولون آخر للعكس واحد - واحد ثم صفر – صفر
العمود الثالث (أربعات) نضاعف (نرابع هنا) أربع أصفار ثم أربع آحاد وهى مميزة بألوان ثم نعكس أربع آحاد ثم أربع أصفار
وهكذا فقط أرجو ملاحظة أن الرقم صفر على يساره أيضا أصفار وإن لم تكتب صراحة
الآن لو قلت لك لدى كود من مشفر عرضه 11 بت – اكتب الشفرة فى البت رقم7
*سأقول نبدأ العد من بت رقم صفر إلى بت رقم 10 وهم 11 بت*​ *تريد البت رقم 7 هى فى العمود الثامن و يحتوى 2^7 أصفار أى 128 صفرا و 128 آحاد ثم 128 آحاد تليها 128 أصفار وهكذا *​ *ولو كان العمود التاسع تصبح 2^8 أصفار ثم 2^8 آحاد والعكس وهكذا*​ *سهلة أليس كذلك؟*​ 

الأعداد السالبة والأعداد الموجبة
لا يوجد فى الطبيعة أعداد سالبة فمثلا لا يمكن أن نقول هذه الشجرة عليها (– 150 تفاحة) ، هذا لا معنى له وإنما هو أسلوب بشرى مقترح لتبيان حركة عكس الاتجاه المطلوب أى دوران لليسار بدلا من اليمين (أو العكس إن كان المطلوب هو اتجاه اليسار) أى أن السالب هذا مقدار نسبى بحت وغير موجود فى الطبيعة.
هل تريد مثال على هذا؟ هل لديك كاسيت أو أى مسجل يعمل بشريط؟ ستجد العداد من ثلاث خانات فى جهاز الكاسيت أى من 000 إلى 999 و طالما تقدم الشريط زاد العد حتى يصل إلى 999 و بعدها بخطوة تجد صفر
هل 999+1= صفر؟
و لو كنت عند أغنية ما و عدت إدراجك تجد 128 ، 127 ، 126 , , , , 3، 2 ، 1 ، صفر ، 999 ، 998
هل 999 = (-1)؟ ولكنها تعنى واحد للوراء.
الآن لننتقل لجهاز الفيديو ستجد له أربعة خانات. بعد 999 ستجد 1000 ثم 1001 وهكذا أليست الأعداد هى ذاتها الأعداد أم ماذا؟
هذا هو الفرق بين أعداد الورق والقلم الغير محدودة الخانات والأعداد المقيدة بعدد خانات محدود ثابت.
فى أعداد الورق والقلم الغير محدودة الخانات احتاجنا لأن نضع علامة (-) لتحديد أن هذا الرقم سالب لكن فى حال المقيدة بعدد خانات محدود ثابت تجد أنك لا تجد مكان لهذه العلامة ومن ثم لا مفر سوى أن نقسم هذه الخانات لقسمين نعتبر نصفها موجبا و النصف الآخر سالبا أى ونحن نقف عند الصفر ثم نعود خطوة سنجد 999 إما نمسح الرقم ونكتب -1 أو نتركه و نقول لو لن أعتبر الأرقام السالبة سيكون هذا 999 و إن اعتبرت سيكون سالب واحد وهكذا 998 = -2 وهكذا
وفى حال العداد الآخر (الفيديو) سيكون 9999 = -1 و 9998 = -2 فهى دوما نصف العد الذى يتيحه لنا العداد.
أى نصف هذا؟
من صفر إلى 499 يكون موجبا و من 500 إلى 999 سالبا
فى النظام الثنائى لن نجد خلافا سوى فى التعبير عن أرقام النظام مثلا لو 4 خطوط يكون
من OOOO إلى Olll موجبا و من 1000 إلى 1111 سالبا 
ولو من 8 خطوط ستكون من 0000 0000 إلى 1111 0111 موجبا و من 0000 1000 إلى 1111 1111 سالبا

المرة القادمة إن شاء الله نأخذ أمثلة عددية​


----------



## ماجد عباس محمد (22 مايو 2010)

*أمثلة عددية على العمليات الحسابية*
*لنبدأ بالنظام العشرى أولا لنرى كيف تسير الأمور*
*مثلا لو أردنا جمع 246 + 391 *
*سنقول 6+1 =7 ثم نقول 4+9 = 13 أى نكتب 3 و نحمل معنا 1 للجمع التالى (لا نقول أنه 10 أو مائه أو غيره) ثم نقل 1 + 2+3=6 ليكون المجموع 637*
*نفس المنطق يطبق فى أى نظام حسابى فقط يجب مراعاة أساسه فلو كان عشرى لا نزيد عن 9 و بالمثل لو ستة عشرى لن نزيد عن 15 وهكذا.*
*بالمثل لو أردنا جمع 654 + 752 سنقول 4+2=6 ، 5+5= صفر و نحمل 1 ، ثم 1+6+7=14 أى الناتج هو 1406*

*على قدر ما يبدو هذا بديهيا و لا جدوى من نقاشه على قدر ما يثير القلق لو كان لدينا زوج من العدادات ثلاثية الأرقام كعدادات الكاسيت ونود تنفيذ تلك العملية لأن الناتج يجب أن يكون فى ثلاث خانات فقط أى الناتج سيكون 406 ويضيع الواحد المعبر عن 1000*

*الحياة لا تقف عند ثلاثة أعداد و يجب أن نستطيع العد والحساب لأكثر من هذا بكثير، من هنا و نظرا لحدود الأدوات ، نستخدم الأسلوب المرحلى أى نجمع كل مجموعة من ثلاث أرقام و نركب الناتج النهائى *

*وهنا يظهر لنا الحاجة لخانة مستقلة عن العدادات تحتفظ بالمحمول من عملية للتالية – وهو الواحد فى المثال السابق – لنستخدمه فى العملية التالية لباقى الأرقام فمثلا لجمع 444555666777 + 111222333888 سنجمع 777+888 فى أول مرة و تكون النتيجة 665 و نحمل معنا 1 لعملية جمع 666+333 فيكون الناتج 000 ونحمل 1 لعملية جمع 555+222 فينتج 778 و نحمل صفر لعملية جمع 444+111=555*

*نلاحظ أن جمع أكبر رقمين هما 999+999=998 ونحمل 1 أيضا أى مهما كان الرقم كبيرا فالمحمول إما صفر أو واحد. هذه الحقيقة تسهل عمل العدادات لاحقا.*

*بتطبيق نفس القاعدة على النظم الأخرى نجد أنها تعمل بنفس الطريقة فمثلا الثنائى كل ما علينا تذكره أن*
*1+1=10 وتنطق واحد صفر ولا تنطق "عشرة" لأنه لا يوجد لدينا سوى واحد و صفر.*
*نأخذ أمثله على جمع الأعداد الثنائية*
*1011+1101 = نقول 1+1 = 0 و معانا واحد*
*1+0 + الواحد = 0 ومعانا واحد*
*0+1 + الواحد = 0 ومعانا واحد*
*1+1 + الواحد = واحد و معانا واحد*
*فيكون الناتج النهائى 11000 *
*مثال بالنظام ستة عشر*
*1a23+bc1a** سنقول **a** + 3 = **d*
*1+2 =3*
*c** + **a** = 6 ومعانا واحد أى الإجابة واحد ستة ولا نقول ستة عشر*
*b **+1 + الواحد = **d*
*والإجابة النهائية هى*
*d63d*​ 
*لنجرب عملية الطرح إذن.*
*لو أردنا مثلا طرح 653-231 ستكون العملية سهلة إذ نقول 1 من 3 يبقى 2 و ثلاثة من 5 يبقى 2 و اثنان من 6 يبقى 4*
*لو أردنا مثلا طرح 653-281 ستكون العملية هذه المرة 1 من 3 يبقى 2 و ثمانية من 5 ، لا يصح لذا يجب "استعارة" واحد من الستة وهو يساوى 10 تضاف للخمسة لتصبح 15 فنقول 8 من 15 يبقى 7 و اثنان من 5 يبقى 3*
*هذه المشكلة وجدت حلها بالاستعارة من الرقم الأعلى*
*نفس الكلام على باقى النظم فقط نتذكر أن الواحد المستعار يوضع بقيمة النظام أى = 16 فى نظام الستة عشر و =2 فى النظام الثنائى*
*لكن لا توجد دائرة للطرح و سبق أن قلنا أن كل العمليات الحسابية تتم بالجمع*
*إذن إلى المرة القادمة بإذن الله نناقش الطرح بالجمع*​


----------



## ماجد عباس محمد (23 مايو 2010)

*الطرح بالجمع*

*لكى نفهم هذا، يجب أن نعود للمثال السابق الخاص بعداد الكاسيت ذو الأرقام الثلاث. سبق أن قلنا أنه يعد من 000 إلى 999 ولو كان على 000 ثم عدنا للخلف خطوة واحدة سيعطى 999 و قبلنا أن نعبر عن العد -1 بالقيمة 999 و بالمثل*
*-2 = 998*
*-3 = 997*
*-4 = 996*
*-5 = 995 وهكذا*
*الآن هل يمكننا تحقيق 8-3=5؟ فلنجرب إذن*
*8 + 997 = **1**005*
*إذن فشلت العملية!! مهلا يا أخى كلا فلا تنسى أننا قلنا أن الطرح بالجمع من خواص العدادات المحدودة فقط لا الطرح والجمع العام*
*لا تنسى أن العداد به ثلاث خانات فقط ولن يظهر الرقم 1 وسترى فقط 005 أليس كذلك؟*
*نجرب 19 – 6 = 13*
*19 + 994 = **1**013*
*وهكذا...*
*إذن لو نظرنا للرقم 994 أو مثيله من الأرقام، سنلاحظ ظاهرة غريبة وهى أنه **يكمل أو يتمم عدد العداد** أى أن العداد به 1000 خانه وهى تساوى 1+ 999 = 2+998 = 3+997 = 4+996 ولهم جرا و من ثم أطلق عليه اسم العدد المتمم **Complementary number*
*العدد المتمم هو الذى يتم العد للعداد ويحسب بالطرح من 1000 للعداد ذو الخانات الثلاث و تزاد الأصفار بعدد الخانات و يجب أن نراعى أساسه فلو عشرى يكون 1000 (من 000 إلى 999) ولو ستة عشرى يكون أيضا 1000 ولكن من 000 إلى **FFF** ولو ثمانى يكون أيضا 1000 من 000 إلى 777 وتسمى سبعة – سبعة – سبعة و ليست سبعمائة سبعة وسبعون ولو ثنائى يكون أيضا 1000 من 000 إلى 111 و تسمى واحد – واحد – واحد وليست مائة و احد عشر.*
*النظام الثنائى هو النظام المستخدم فى الدوائر الإلكترونية حيث يكون هناك جهد أو لا يكون و من الجيد أن نتذكر أنه هو النظام الوحيد الممثل بالفولت والباقى هى أساليب نستخدمها لتسهيل التعبير عن الأرقام الكبيرة تماما كما لدينا النظام العشرى (على الأقل نستطيع الاعتماد فى التعبير على 10 أصابع) ولكننا نستخدم عبارات مليون و عبارات سنه ضوئية ووحدة كولوم للتعبير عن أعداد أخرى كبيرة بطريقة سهلة.*
*أيضا النظام الثنائى يمكن الحصول على مكملات الأرقام بطرقة سهلة فليس لدينا 10 نطرح منها بل هى أن نعكس العد أى أن الواحد يصير صفرا و الصفر يصير واحدا ثم نجمع على الناتج واحد ينتج المتمم *

*المرة القادمة إن شاء الله نتحدث عن الوظائف المنطقية الأساسية*​


----------



## ahmed nooh (23 مايو 2010)

موقع لتعلم الالكترونيات 
http://www.electronics-tutorials.ws/io/io_3.html


----------



## محمدالقبالي (23 مايو 2010)

معاك مشرفنا الكريم .... بصراحه كلها معلومات جديده ولا املك اي اسئله عن الموضوع 
جعله الله في ميزان حسناتك


----------



## ماجد عباس محمد (24 مايو 2010)

شكرا أخى العزيز و أرجو لكم دوام الإستفادة و الإفادة


----------



## ماجد عباس محمد (24 مايو 2010)

*مكونات الدوائر المنطقية الأساسية*

*مكونات الدوائر المنطقية الأساسية :*​ 
*المرات الماضية قلنا أن الجهد إن كان أقل من النصف نعتبره صفر و إن كان أعلى من النصف نعتبره كامل لذا أليس من الأسهل أن نقول الفولت الكامل = 100% أو اختصارا واحد صحيح؟ ونحن نعلم أن قيمته هى قيمة مصدر التغذية سواء كانت +5 أو +15 أو +1000 أو -5.5 فولت، هناك دوائر تعمل بالجهد السالب.*
*و يمكن أيضا أن نقول **HI** لوجود فولت و كلمة **LO** للقيمة صفر لأن هذا يتيح لنا مزيد من الحرية فلا نتقيد بالصفر كقيمة ولكن أى قيمة ولو أقل من الصفر نعتبرها **LO** ، بل أفضل من ذلك كما نجد فى الاتصال التسلسلى يعتبر القيمة الموجبة **LO** والقيمة السالبة **HI** وفى أنظمة أخري يمكن أن نتعامل مع التيار بدلا من الفولت وعلى هذا يفضل دوما أن نحدد أى نظام نستخدمه إن كانت القيم العددية ذات أهمية أما إن لم تكن فالقيمة **LO** هى **LO** بصرف النظر وكذلك **HI** هى **HI** بصرف النظر.*​ 
*المكونات المنطقية عديدة و تبدأ من وحدات بسيطة إلى وحدات الحاسب لكن نقصد هنا الوحدات التى تبنى بها الدوائر الأكثر تعقيدا و التى تشبه الحروف التى تبنى الكلمات و الأعقد من ذلك سيكون أشبه بالجملة.*
*البوابات هى هذه الوحدات و لدينا أولا **OR Gate** و تسمى أحيانا "أو" لأن معناها هذا أو ذاك*
*مثال ذلك لو المفتاح الأول أو الثانى مفتوح يضئ المصباح كما بالرسم.*
*باستخدام الفولت السابق شرحه فى المرات السابقة ونظرية صفر و واحد ، نجد أنها تعنى لو كان هناك فولت على مدخل1 أو مدخل 2 يظهر جهد على الخرج، أبسط طريقة لتحقيق ذلك باستخدام ثلاث مقاومات كما بالرسم*​ 
*



*
*فائدة **R1,R2** هى حماية مصدر الفولت لأن كما ذكرنا فى شرح الدوائر ، مصدر الجهد الثابت له مقاومة داخلية = صفر أو أصغر ما يمكن، فلو أحدهما يعطى فولت والآخر يعطى صفر، سيكون الثانى بمثابة قصر على الأول.*
*لو نظرنا لهذه الدائرة نجد أن قيمة الخرج تختلف حسب أوضاع الدخول فلو كان المصدرين يعطيان فولت سيكون الخرج أعلى ما يمكن ولا أقول أنه = فولت المصدر لأن المقاومة **R3** تشكل مجزئ جهد مع أى من **R1** أو **R2** ، و إذا كان واحد يعطى 1 والآخر صفر ، ستكون مقاومة الأخير على التوازى مع **R3** وهذا يغير من قيمة المجزئ و نحن نحتاج لنصف الجهد لنقول عنه = 1*
*لحل هذه المشكلة يجب أن نجعل **R1,R2** أصغر ما يمكن و **R3 **أكبر ما يمكن*
*لا تقل أصغر ما يمكن = صفر ولكن أصغر قيمة لا تسبب "تحميل" على المصدر المستخدم.*
*ما رأيك نستبدل **R1,R2** بثنائيات فهى أفضل هنا كما بالرسم؟*
*الثنائيات وفرت العزل و أن الدخول = الخروج تقريبا لكن ما زالت هناك مشكلة وهى التتابع.*
*التتابع هو لو تطلب الأمر عدد من المراحل المتتالية، كل مرحلة ستقلل الخرج بمعدل 0.6 فولت على الثنائى.*
*كل ما سبق من وسائل و تقنيات كان مستخدما وما زال أحيانا يستخدم عندما لا يتطلب الأمر إضافة دائرة متكاملة خصيصا. *
*حل هذه المشكلة بإضافة ترانزيستور كما بالرسم. لكنه عكس الوجه فبدلا من خروج واحد خرج صفر والعكس، لذا سميت **NOR** اختصارا لكلمتى **Not-OR*
*هذه الطريقة حلت كثير من المشاكل وكانت تسمى عائلة المقاومة والترانزيستور **Resistor-Transistor Logic **–**RTL** ، هذه الطريقة لها عيبان:*
*الأول أن معاوقة الخرج حينما تعطى تيار للحمل تكون من خلال **R3** وهى أكبر من معاوقة التيار أثناء السحب من الحمل ، أى عندما يكون الخرج **HI** تكون المعاوقة = **R3** أما عندما يكون **LO** ستكون المقاومة = معاوقة الترانزيستور فى حال التشبع وهى صغيرة جدا.*
*الثانى أن المقاومة الكبيرة **R3** تجعل الانتقال من **LO** إلى **HI** بطيئا عن الانتقال بالعكس فكلنا نعلم أن هناك سعة شاردة تمثل الخطوط و معاوقة دخول المرحلة التالية و لتنتقل من **LO** إلى **HI** أو العكس يجب شحنها خلال **R3** أو تفريغها خلال الترانزيستور.*
*الحل طبعا إضافة ترانزيستور آخر بدلا من **R3** ليكون الانتقال من صفر إلى واحد بنفس سرعة الانتقال بالعكس.*​ 
*قبل أن نبحث هذا الترانزيستور الأخير نأخذ البوابة الثانية **AND Gate **و البعض يسميها "مع" و أحيانا "و" لأن المفتاح الأول "مع" المفتاح الثانى (الأول "و" الثانى) يجب أن يكونا **ON** حتى تنير اللمبة.*​ 
*



*
*و بنفس القياس نجد بالمقاومات يجب أن يكون الدخلين فى المستوى** HI **أو "واحد" ليكون الخرج مساوى "واحد" و طبعا المقاومات تعانى من مشكلة التجزئة فنستخدم الثنائيات و طبعا مشكلة التتابع تجعلنا نضيف ترانزيستور لتصبح **NAND** لأنه يعكس الخرج ، و تظل مشكلة السرعة التى تحل باستخدام ترانزيستور ثانى .*
*أرجو مراجعة مراحل الخرج المسمى **Push-Pull** و خرج مكبر العمليات فى مجموعة دوائر الترانزيستور فسنحتاجها المرة القادمة إن شاء الله*
*كل الأشياء مهما تغيرت مسمياتها تعود للمقاومة والمكثف و الثنائى والترانزيستور و قانون أوم. هل طلبنا شيئا جديدا؟*
*الأخيرة تسمى **NOT** و ترجمتها تثير كثير من الخلط لأنها ترجمت العاكس وهناك كثير من الدوائر أيضا تسمى عاكس لذلك سأستخدم هنا كلمة "عكس" فكما تبنينا فى الدائرتين السابقتين الوظيفة كاسم ، نفعل ذلك هنا أيضا *
*هذه الدائرة ببساطة تعكس الدخول فإن كان 1 يخرج 0 و إن كان صفر يخرج 1 ،أكاد أسمع قولك هى دائرة ترانزيستور باعث مشترك. *
*أليس هذا هو حل مشكلة الطرح بالجمع؟؟ أى الحصول على المتمم الثنائى بتمرير الرقم عبر مجموعة من العاكسات ثم نضيف 1*
*طبعا الدائرة هى ببساطة دائرة أى ترانزيستور استخدم فى الرسمين السابقين باعتبار مدخل واحد فقط بدلا من مدخلين.*
*المرة القادمة إن شاء الله نتكلم عن بعض الحسابات المنطقية*​


----------



## ماجد عباس محمد (25 مايو 2010)

*الحسابات المنطقية والمعروفة باسم جبر "بوليان" Boolean Algebra*

*الحسابات المنطقية والمعروفة باسم جبر "بوليان" **Boolean Algebra*
*فى عام 1847 وضع العالم جورج بوول **George Boole** والمعاصر لأرسطو مجموعة قواعد سميت وقتها بقواعد الفكر أو "منطق الأسباب" أو "منطق الافتراضات" حيث افترض أن للأحداث حالتين إما حقيقة أو وهم (أو فشل أو كذب أو ما تسمى عكس الحقيقة) وهى تسمى **True OR False** ووضع له مجموعة من المعادلات والعلاقات والتى تصل إلى إحدى القيمتين.*
*ظل هذا العلم فريدا ونادرا لغرابته عن العالم العادى حتى جاء عالم يدعى شانون **C.E. Shannon** عام 1938 من علماء معامل "بل" و كان يبحث عن طريقة بسيطة لتمثيل و معالجة و حساب الريلايات وتوصيلاتها، فأثبت أن علاقات بوول هذه تنطبق على الريلايات والمفاتيح بأنواعها فهى إما مغلقة أو مفتوحة أى لها حالتان مثل **True – False*
*علم الجبر هو مجموعة من الرموز و العلاقات الرياضية التى توضح كيفية معالجة هذه الرموز و لهذا فهناك عدة أنواع من الجبر و التى درس منها فى المدارس العديد. *
*جبر بوليان يتميز بالبساطة و بسبب طبيعته، فهو مناسب تماما لكل لأنظمة التحكم الكهربية و الميكانيكية و الهيدروليكية و طبعا الإلكترونية.*
*الجبر العام ينطبق على كل الكميات والأعداد بينما جبر بوليان لا يوجد به الطرح ولا القسمة كما أن الجذور و عكسها "الأسس" غير واردة.*
*يمكن اعتبار الجبر علم اختزال الحساب. لهذا فباستخدام العلاقات الجبرية نختصر معادلة إلى مجموعة أقل من الأطراف*

*نظرا لأننا نتعامل مع مفاتيح و ريلايات فيمكن أن نعبر عن أى جهاز بأنه مفتاح إما مفتوح أو مغلق ولتمييزه نعطيه اسم أو حرف و ليكن **A,B,C,X,Y,Z** وهكذا ولو كان النظام كبيرا معقدا فلا بأس من **A0,A1,A2** و كمثال على التعبير عن الريلايات بالمعادلات نأخذ مثالا بسيطا*
*قبل أن نرسم الدائرة نفترض أن المنطق صفر يمثل دائرة مفصولة بينما المنطق واحد يعنى دائرة متصلة، وهذا طبعا محض افتراض لكن يبقى ثابتا لا يتغير طوال معالجة المشكلة.*

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



*

*هذه دائرة تمثل ثلاث ريلايات **A,B,C** و كل منها له ثلاث أزواج من التلامسات بعضها مغلق والبعض مفتوح، و عند تشغيل أى منها ينقلب وضع تلامساته فيصبح المفتوح مغلقا و يصبح المغلق مفتوحا.*
*عندما نقول الريلاى **A** نقصد انه تم تشغيله و بالتالى كل تلامساته مغلقة و **A* * تعنى العكس وكلها مفتوحة*
*عندما نقول الريلاى **B** نقصد انه تم تشغيله و بالتالى تلامساته العليا مغلقة والوسطى مفتوحة والسفلى مفتوحة و **B* * تعنى العكس **.** وهكذا بالنسبة للثالث **C*
*متى ستنير اللمبة؟ أى متى سيكون لدينا خرج أى معادلة الخرج ستكون ثلاث احتمالات وهى*
*1- بإتباع المسار العلوى **A** مع **B** مع **C*
*2- بإتباع المسار الأوسط **A** مع **B** مع **C*
*3- بإتباع المسار السفلى **A** مع **B** مع **C*
*أى نقول ( **A** مع **B** مع **C** ) أو ( **A** مع **B** مع **C** ) أو ( **A** مع **B** مع **C** )*

*بديهى أن نقول أن 0+0=0 و أن نقول 0+1=1 و 1+0=1 و بالمثل*
*نقول 0*0=0 و 1*0=0 و 0*1=0 و أن نقول 1*1=1 لم نعد بعد لعهد الطفولة و لكن*
*لو استبدلنا علامة الضرب بكلمة **AND** والتى هى "مع" أو "و" سنجد أن المعادلات مازالت صحيحة لأن الحالة الوحيدة لحدوث خرج أن يكون الدخل أ مع الدخل ب معا (ولهذا أفضل كلمة مع على حرف الواو)*
*وبالمثل لو استبدلنا علامة الجمع + بالوظيفة **OR** التى هى "أو" ستكون أيضا صحيحة.*
*هذا يتيح لنا تطبيق المعادلات الحسابية لنقوم بتبسيط الدوائر المنطقية و نقلل من المكونات المستخدمة مع الإبقاء على أداء الدائرة وهذا ما يعرف بجبر بوليان **Boolean Algebra*
*أى أن المعادلة السابقة يمكن كتابتها هكذا*

* ( **A** * **B** * **C** ) + ( **A** * **B** * **C** ) + ( **A** * **B** * **C** )*

*المرة القادمة إن شاء الله نتكلم عن مزيد من هذه المعادلات*​


----------



## ماجد عباس محمد (26 مايو 2010)

*جبر "بوليان" -2*

*جبر "بوليان"** -2*​ 
*الآن كيف نشغل و نوقف هذه الريلايات؟ طبعا كلنا نعلم الدائرة الشهيرة ذات الترانزيستور و المقاومة و الدايود*​ 
*



*​ 
*حسنا لدينا 3 ريلاى سنسمى المقاومات **RA,RB,RC** و لتشغيل أى ريلاى سنحتاج لوضع جهد **HI** أو 1 والذى يكون مناسبا لتشغيل الدائرة فهناك تصميمات تعتمد ريلايات 5 فولت و تصميمات أخرى 12 فولت وثالثة 24 فولت وحتى فى التليفونات تستخدم 48 فولت و لتجنب الاختلاف على قيمة الفولت نقول 1 أى 100% أى ما تحتاجه الدائرة للعمل وصفر لكى تعود لوضعية توقف عن العمل**. لاحظ أنى تعمدت عدم وضع قيم للفولت والمقاومة. *

*سيكون لدينا هنا ثلاث خطوط للتحكم و يمكن أن نسميها **VA,VB, **ونظل نضع أسماء جديدة حتى نربك أنفسنا ولا نعد نتذكر ما يعنى هذا، لذا ابتكر الباحثون جدولا يشرح العلاقة بين هذه المداخل والخرج (أو أكثر من خرج) وسمى **Truth Table** و هو متى يكون الخرج **True** وسمى بالعربية "جدول الحقيقة" رغم أنه لا علاقة له بالحقيقة فلم تستخدم هذه الكلمة "حق أو حقيقة" فى تعريف حالات المنطق و ربما كان الأفضل تسميته جدول التحقق أى متى يتحقق الخرج.*​ 
*هذا الجدول يحتوى عمود لكل مدخل و مخرج و عدد من الصفوف يكفى للتعبير عن كل حالات الدخول.*​ 
*فى مثالنا السابق نحتاج 3 دخول **A,B,C** و خرج واحد يسمى عادة **Y** ولو هناك أكثر من خرج يمكن استخدام حروف أخرى مثل** X Z *​ 
*



*​ 
*بنظرة واحدة على هذا الجدول سنستطيع الحكم لو كان المدخل **A** كذا و **B** كذا و **C** سيكون الخرج محقق أم غير محقق أى اللمبة ستنير أم لا. لاحظ أن الخرج **Y** يكون =1 عند القيم المذكورة بين الأقواس والتى قلنا أنها تسبب إضاءة اللمبة.*

*هنا لنا عودة على ما سبق فالمسألة سهلة بالنسبة لثلاث مداخل لكن لو كثر عددها سيصعب ذلك كما سيكبر حجم الجدول بطريقة غير عملية. هنا أصبح التعبير عن هذه الأرقام بالطريقة الستة عشرية أهون بكثير فلو لدى 16 ريلاى فبدلا من عمل جدول به 17 عمود نكتفى باثنين و نكتب فى أحدهما 1،2،3،....... وحتى **F** ونكتب الخرج أمامهم*​ *طبعا لا أريد أن أذكر حالات مداخلها أكثر من 16 وهى كثيرة.*

*هنا أذكر أرقام وليست أعداد لأن العدد يعنى قيمة ولكن الرقم يعطى دلالة أو اسم بديل، فلو فى جيبى 4 عملات ووضعت واحدة سيكون معى 5 أى قوتى الشرائية زادت لهذا فهو عدد وله قبل وله بعد وأيضا له معنى إذ يعبر عن قوتى الشرائية، أما الرقم فهو بلا قبل أو بعد فمثلا التليفون رقم 1006 باسم أحمد لا يعنى أن التليفون رقم 1007 يجب أن يكون باسم "بحمد" لأن الباء بعد الألف كما 7 بعد 6 بل أصلا قد يكون السيد أحمد هو آخر مشترك فى منطقته و بالتالى لا يوجد 1007 أساسا وحتى 1999 و أول رقم بعد ذلك 2000 لأنه فى منطقة أخرى.*​ *الآن لننظر لهذه الدائرة *

*



*​ 
*سنجد لو كان الدخل = صفر سيكون الترانزيستور فى حال القطع و يكون الخرج = **V** أى = 1*
*وبالمثل لو كان الدخل =1 سيكون الخرج = صفر*
*أى أن الخرج عكس الدخل لذا تسمى بالعاكس رغم أنها تسبب خلطا مع دوائر أخرى أيضا تسمى كذلك*

*المرة القادمة إن شاء الله نتكلم عن** مزيد من هذه المعادلات*​


----------



## ماجد عباس محمد (27 مايو 2010)

*جبر "بوليان" -3*

*جبر "بوليان"** -3*
*تكلمنا المرة الماضية عن دائرة العكس و تسمى **NOT** و قلنا إن دخل 1 يخرج صفر والعكس*
*المعادلة السابقة كتبت فى صورة أقواس مجموعة لبعضها، كل قوس بداخله متغيرات مضروبة و كانت*
*( **A** * **B** * **C** ) + ( **A** * **B** * **C** ) + ( **A** * **B** * **C** ) المعادلة الأولى*
*لذا تسمى "جمع لحاصل ضرب".*​ 
*هناك نموذج أخر للمعادلات لدوائر أخرى تكون على صورة*
*( **A** + **B** + **C** ) * ( **A** + **B** + **C** ) * ( **A** + **B** + **C** ) المعادلة الثانية*
*لذا تسمى ضرب ناتج الجمع*
*ليس الهدف التلاعب بالألفاظ و إثارة الإرباك هنا لكن لو عدنا لدائرة "بوابة مع" **AND Gate** سنجد أنها تمثل ضرب المدخلين و "بوابة أو" هى جمع المدخلين.*
*عند تمثيل دوائر أكثر تعقيدا من المثال السابق لن تكون المسألة ببساطة كالمعادلة الأولى لكن ستكون مركبة و بالرياضة نحاول تبسيطها لإحدى الصورتين السابقتين*
*لماذا؟ *
*مجرد أن نصل بها لهذه الصورة التى*
*1- **تخلصت من الأقواس المتداخلة *
*2- **كل قوسين بينهما **نوع واحد فقط من العلامات الرياضية**إما جمع فقط أو ضرب فقط *
*يمكننى استبدل كل قوسين ببوابة واحدة لها عدد من المداخل = عدد المعاملات أو المتغيرات*​ 
*فلو فرضنا مثالا لناتج عملية هكذا ( **E * F * H * C * R** ) إذن بها خمسة متغيرات هى **E F H C R** نحتاج بوابة ذات خمسة مداخل و نظرا لكونهم مضروبين معا تكون بوابة "مع" أى **AND Gate **من هنا يتضح لماذا ركزنا على ضرورة أن يكون ما بداخل القوسين نوع واحد من المعاملات الرياضية فالبوابة إما هذه أو تلك ولا توجد بوابات مشتركة.*​ 
*بعد ذلك أنظر لخرج هذه البوابة التى تستبدل ما بين القوسين على أنها ذات خرج واحد و اكرر ذلك لكل قوسين تم استبدالهما ببوابة على أنهما شيء واحد أى مدخل واحد لبوابة أخرى تالية لها عدد من المداخل تساوى عدد الأقواس و إن كانت الأقواس مضروبة تكون البوابة الجديدة "مع" **AND** و إن كانت مجموعة تكون "أو" **OR*​ 
*بتحليل دائرة ما مثلا و أعطت معادلة ثم بتبسيطها أصبحت على صورة المعادلة الأولى أى صورة جمع ناتج الضرب *
*( **A** * **B** * **C** ) + ( **A** * **B** * **C** ) + ( **A** * **B** * **C** ) **+ ( **C * A **)*​ 
*يمكننى أن أقول*​ 
*لدى 4 أقواس مجموعة أى دائرة "أو" **OR Gate **لها 4 مداخل أى بعدد الأقواس أحتاج لمداخل*
*المدخل الأول يمثل القوس الأول الذى به 3 متغيرات مضروبة معا أى دائرة "مع" **AND Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الثانى يمثل القوس الثانى الذى به 3 متغيرات مضروبة معا أى دائرة "مع" **AND Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الثالث يمثل القوس الثالث الذى به 3 متغيرات مضروبة معا أى دائرة "مع" **AND Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الرابع يمثل القوس الرابع الذى به متغيران اثنان فقط مضروبان معا أى دائرة "مع" **AND Gate** لها 2 مدخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **C*​ 
*الأربع أقواس مجموعة أى متصلة ببوابة "أو" **OR*​




*أما لو بتحليل دائرة أخرى ما مثلا و أعطت معادلة ثم بتبسيطها أصبحت على صورة المعادلة الثانية أى صورة ضرب ناتج الجمع *
*( **A** + **B** + **C** ) * ( **A** + **B** + **C** ) * ( **A** + **B** + **C** ) *** ( **C + A **)*​ 
*يمكننى أن أقول*​ 
*لدى 4 أقواس مضروبة أى دائرة "مع" **AND Gate **لها 4 مداخل أى بعدد الأقواس أحتاج لمداخل*
*المدخل الأول يمثل القوس الأول الذى به 3 متغيرات مجموعة معا أى دائرة "أو" **OR Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الثانى يمثل القوس الثانى الذى به 3 متغيرات مجموعة معا أى دائرة " أو " **OR Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الثالث يمثل القوس الثالث الذى به 3 متغيرات مجموعة معا أى دائرة " أو " **OR Gate** لها 3 مداخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **B** والثالث **C*​ 
*المدخل الرابع يمثل القوس الرابع الذى به متغيران اثنان فقط مجموعان معا أى دائرة " أو " **OR Gate** لها 2 مدخل أى بعدد المتغيرات يكون لها مداخل الأول متصل ب **A** والثانى **C*​ 
*الأربع أقواس مضروبة معا أى متصلة ببوابة "مع" **AND*​





*المرة القادمة إن شاء الله نتكلم عن أسس اختصار المعادلات*​


----------



## ماجد عباس محمد (29 مايو 2010)

*جبر "بوليان" -4*

أسس اختصار المعادلات

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






1- 0*0=0 مفتاح مفتوح على التوالى مع مثيلة يساوى مفتاح مفتوح
2- 1*0=0 مفتاح مفتوح على التوالى مع آخر مغلق يساوى مفتاح مفتوح
3- 1*1=1 مفتاح مغلق على التوالى مع مثيلة يساوى مفتاح مغلق
4- 1+0 = 1 مفتاح مغلق على التوازى مع آخر مفتوح يساوى مفتاح مغلق
5- 0+0 = 0 مفتاح مفتوح على التوازى مع مثيلة يساوى مفتاح مفتوح
6- 1+1=1 مفتاح مغلق على التوازى مع مثيله يساوى مفتاح مغلق
7- من 4 و 5 معا نستنتج أن A + 0 = A أى أن وجود مفتاح مفتوح على التوازى مع آخر، فالآخر يحدد النتيجة
8- من 1 و 2 معا نستنتج أن A * 0 = A أى أن وجود مفتاح مفتوح على التوالى مع آخر، فالنتيجة مفتاح مفتوح بصرف النظر عن حالة الآخر – أى تعطل الآخر
9- من 4،6 معا نستنتج أن 1=1+A أى أن وجود مفتاح مغلق على التوازى مع آخر، فالنتيجة مفتاح مغلق بصرف النظر عن حالة الآخر

10- من 2 و 3 معا نستنتج أن A * 1 = A أى أن وجود مفتاح مفتوح على التوالى مع آخر،، فالآخر يحدد النتيجة
11- العلاقةA+B=B+A الأول على التوازى مع الثانى = الثانى على التوازى مع الأول
12- العلاقةA*B=B*A الأول على التوالى مع الثانى = الثانى على التوالى مع الأول

13- A + A = 1 مفتاح مزدوج تلامسين مقفولين وتلامسين مفتوحين و يد واحدة كما بالرسم على التوازى ففى أى وضع سنجد مفتاح مغلق
14- A * A = 0 مفتاح مزدوج تلامسين مقفولين وتلامسين مفتوحين و يد واحدة كما بالرسم على التوالى ففى أى وضع سنجد مفتاح مفتوح
15- A+A=A مفتاحين على التوازى معا بيد واحدة مثل أى منهما
16- A*A=A مفتاحين على التوالى معا بيد واحدة مثل أى منهما
17- A معكوسة = Aفلو عكست وضع مفتاح مرتين سيعود لوضعه الأصلى
18- إذا كان A=B إذن A+C=B+C
19- إذا كان A=B إذن A*C=B*C
20- إذا كان A=B إذن A=B
21- إذا كان A+B=0 إذن سيكون A=B=0
22- إذا كان AB=1 إذن سيكون A=B=1

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


----------



## asd94654 (29 مايو 2010)

*شكر خاص جدا*

بسم الله الرحمن الرحيم
يعني والله العظيم مش عارف كيف اشكرك 
بس تعرف اشي والله لو طريقة التعليم العربي كلها زي هيك كان صاروا اشي من الصعب جدا تحليله 
يعني انا زلمه متزوج وعندي اولاد وموظف والله لو يصحلي اصير خادم عندك عشان اشرب من البحر الي عندك والله ما اقول لا 
والله يا رجل بحياتي ما شفت شرح اروع واسهل من هيك 
الله يزيدك من نعيمه كمان وكمان 
تعرف انا بصراحه ما كنت بدي ارد لاني بزهق من الكتابه بس والله اجبرتني غصب عني اني ارد

الله ينفخ بصورتك وينولك اعلى المراتب ويفيد جميع اخوانا العرب بعلمك 
واسف جدا على تطفلي والسلام عليك ورحمة الله وبركاته


----------



## ماجد عباس محمد (29 مايو 2010)

اخى الكريم الفاضل asd94654
لا أدرى كيف أشكرك على هذه الكلمات الرقيقة، أدام الله المودة فى الخير
فى انتظار تعليقاتكم دوما و أرجو من الله أن يوفقنى دوما لما فيه الخير


----------



## asd94654 (29 مايو 2010)

امين يا رب العالمين 
وبنتضار المزيد من هذا البحر
الله يجزاك الف خير 
والله ودون مجامله اخي معلمات مهمه جدا لكل من يريد العلى


----------



## asd94654 (29 مايو 2010)

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


----------



## ماجد عباس محمد (30 مايو 2010)

*جبر بوليان – 5*

*نستكمل الآن باقى العلاقات والتى تعتمد فى إثباتها على البناء على ما سبق إثباته*​ 
*23 -**العلاقة **a+ax** ستساوى **a** و ذلك لأنها تساوى*

```
a(1+x)
```
*و مما سبق 1+ أى شيء = 1 و النتيجة = **a*
*و هى تعنى المفتاح **a** وحده يغلق الدائرة و المفتاح **a **مع** x**يغلقها أيضا إذن **x** لا جدوى منه*​ 
*24 - **العلاقة*

```
a(a+b)
```
* ستساوى **a** و ذلك لأنها تساوى **aa+ab** و من البند 16 نجد أن **aa=a*
*فتصبح العلاقة مساوية **a+ab** وهى من البند السابق = **a*
*و **aa+ab** تعنى أن المفتاح **a** مع نفسه أو مع **b** يقوم بتوصيل الدائرة إذن ما جدوى **b*​ 
*25 - **العلاقة*

```
a+bc = (a+b)(a+c)
```
* حيث الطرف الأيسر يساوى*
*aa+ac+ab+bc** و من العلاقة 16 نجد **aa=a** و بالتعويض و أخذ **a** مشترك تصبح*
*a(1+c+b)+bc** ومما سبق 1+أى شيء = 1 فنستغنى عن القوس كلية لتصبح **a+bc*​ 
*26- **العلاقة **a+ab** تساوى **a+b** و هى ببساطة لو قلنا أن **c=a** ستصبح نفس المعادلة 25 و تساوى*
*(a+a)(a+b)** و من العلاقة 13 نجد أن *

```
(a+a) = 1
```
 
*27- **العلاقة **a(a+b)** = **ab** وهى بفك الأقواس نجد **a(a+b)** = **aa+ab** و من العلاقة 14 نجد*
*aa**=0 و تصبح العلاقة = 0+**ab** = **ab*​ 

*28- **العلاقة **a**+ab** تساوى **a**+b** وهى بتسمية **a** = **c** فمن العلاقة 25 نجدها = **(a+b)(a+ a)** و من 13 نجد أن*

```
(a+ a) =1
```
 
*29 -** العلاقة *

```
(x+y)(x+z)=xz+xy
```
*"الأطراف معا أو الوسطين معا" والإثبات بفك الأقواس ينتج*​ 
*xx+xz+yx+yz **ومما سبق **xx**=0 وتحذف و الباقى **xz+yx+yz** ثم نضرب كل حد ×1*​

```
xz(y+y)+yx(z+z)+yz(x+x)
```
* و نضرب فنحصل على*
*xzy**+x z y+**yxz**+yxz+**yzx**+**yzx** وبحذف المكرر يبقى **xzy**+x z y+** yxz** +yxz *
*نأخذ مشترك*

```
xz(y+ y) + yx(z +z)
```
* مما سبق ما بين الأقواس=1 إذن المعادلة = **xz+xy*

*30 - **العلاقة*

```
(a+b)(c+d)= a(c+d)+b(c+d)+ac+ad+bc+bd
```
* كالجبر العادى *​ 

*31-**العلاقة*

```
ab+cd=(ab+c)(ab+d)
```
* الإثبات بضرب الأقواس ينتج*
*abab+abd+cab+cd** نلاحظ مما سبق أن **abab**=**ab**فيبقى*
*ab+abd+cab+cd** و بأخذ مشترك **ab(1+d+c)+cd** مما سبق 1+ أى شيء =1 فالعلاقة =**ab+cd*​ 
*32 - العلاقة *

```
ab+cd=(a+c)(b+c) (a+d)(b+d)
```
* بضرب القوسين الأول × ألثانى مع **cc=c*

```
ab+ac+cb+cc = ab+c(1+a+b)
```
* مما سبق 1+ أى شيء =1 فالعلاقة =**ab+c*
*بضرب القوسين الثالث والرابع ينتج **ab+ad+db+dd =ab+d(1+a+b)** = **ab+d*
*بضرب **(ab+c)( ab+d)** ينتج **abab+abd+cab+cd** مما سبق =**ab+abd+cab+cd*
*بأخذ مشترك **ab(1+d+c)+cd** مما سبق 1+ أى شيء =1 فالعلاقة =**ab+cd*​ 
*33 - العلاقة*

```
(a+b)(a+b)=a
```
* والإثبات بفك الأقواس ينتج **aa+ab+ba+bb** مما سبق **aa=a** و **bb=0*
*بأخذ مشترك*

```
= a(1+b+b)
```
* مما سبق 1+ أى شيء =1 فالعلاقة = **a*​ 
*34 - **العلاقة **ab+ab=a** والإثبات ببساطة أخذ مشترك **a(b+b)** =**a*​ 
*المرة القادمة إن شاء الله نتكلم عن قواعد للتبسيط *​


----------



## asd94654 (30 مايو 2010)

الله يعطيك الف عافيه 
استاذي الفاضل


----------



## asd94654 (30 مايو 2010)

*استاذي الفاضل 
تحيه طيبه وبعد 
ارجو منك التكرم وتكبير الخط 
كوني اعاني من مشكله في النظر 
وارجو منك التكرم بقبولي تلميذ في مدرستك 
لاني ابحث عن هذه المعلومات منذ زمن 
والصراحه لم اجد احد يعطي بذمه وضمير هاكذا
فيعني ما صدقت وانا القاك فارجوك رجاء حار جدا 
ان تقبلني وان تراعي جهلي 
وجعله الله في ميزان حسناتك 
وزادك في العلم والعمل بسطتا ورغدا*

اخوك الصغير ابو الحيدر من الاردن ​


----------



## ماجد عباس محمد (31 مايو 2010)

أهلا بك أخى 
إن لم يناسبك الخط الجديد يمكنك نسخ الموضوع ووضعه فى برنامج word أو أى محرر لديك وتكبيرة للدرجة الملائمة


----------



## ماجد عباس محمد (4 يونيو 2010)

*التبادلية*

*التبادلية*
*قبل أن نستأنف عزيزى القارئ أود ألا تنفر من هذه العلاقات الرياضية البسيطة و أود أن أكرر أن هدفها هو الوصول لمجموعة أقواس داخلها نوع واحد من العلاقة الرياضية و تربط الأقواس العلاقة الأخرى لتترجم إما مجموعة من دوائر "مع - **AND** " وتربطها بدوائر "أو - **OR** " و إما العكس، وهو الأنسب للماكينات وما شابه.*
*أما إذا كانت بذهنك فكرة ما تريد تنفيذها، فبمعرفتك للمكونات الرقمية مثل الدوائر السابقة و المذبذب المتعدد **Flip-Flop** والعدادات **Counters** والمحللات **Decoders** و المشفرات **Encoders** يمكنك بناء ما تريد بتحليل الوظائف لمهام أبسط حتى تصل لهذه الوحدات، و أيضا بالمعادلات.*​ 
*لنفترض أنك تريد تصميم دائرة لتتحكم فى مجموعة من المفاتيح لآلة ما فغالبا ستتعرض لحساسات من أنواع مختلفة .*
*بعضها يعطى جهد عند التشغيل، والبعض الآخر يعطى جهدا عادة و يقطع عند التشغيل.*​ 
*نفترض دائرة "أو - **OR-Gate** " مثل الموجودة بالرسم التالى*​ 
*




*
*وتريد توصيلها فتأخذ إشارة عند حدوث أمر من أمرين فتوقف الماكينة كزيادة الحرارة أو انخفاض ضغط الزيت. وعند فحصك للحساسات وجدتها من النوع الذى يعطى جهدا عادة و يصبح صفرا عند حدوث الحدث. وهذا لن يعمل مع الدائرة المذكورة.*
*طبعا ما أسهل أن نغير الحساسات ونأتى بأخرى لا تعطى جهدا إلا عند التشغيل، و نكمل المسيرة و فى الختام نجد مشاكل أخرى قد لا تظهر إلا بعد شهر فيقول لك صاحب المنشأة أن الماكينة احترقت و السبب أن الحساس تلف ولم تتوقف الماكينة.*
*فتكتشف أن الحساس القديم كان يعطى جهدا و عند تلفه أو رفعه من مكانه تتوقف الدائرة لعدم وجود الجهد أى أن الجهد يخدم فى التأكد من وجود الحساس.*
*المشكلة أننا لن نتقبل فكرة "أو - **OR-Gate** " بهذا الفولت المقلوب. فماذا نفعل؟ هنا التبادلية أتت للحل.*
*فى الدائرة السابقة قلنا أن لها ما يسمى بجدول التحقق أو جدول الحقيقة وهو*
*0+0=0*
*1+0=1*
*0+1=1*
*1+1=1*
*و كافة حالاته صحيحة – لكن لم نقل الحالة 0 هذه تعادل كم فولت ، ربما 2 أو – 20 أو + 20 *
*كما أننا لم نحدد الحالة 1 هذه تعادل كم فولت ، فقط تحقق شرطا واحدا أنها موجبة بالنسبة للحالة صفر أى يجب أن تكون مثلا 3 أو أكثر للقيمة الأولى و -19 أو أكثر للقيمة الثانية أو 21 أو أكثر للقيمة الثالثة (رجاء لا تعترض الآن فسنحتاج لتغيير هذا المفهوم عما قليل)*
*هيه الثنائيات لن تناسب الجهد السالب!!! هذا خطأ*
*حسنا ، فى هذه الدائرة كلامك صحيح لكن باعتبار الرمز المنطقى للدالة "أو - **OR-Gate** " والذى سنقدمه لاحقا، فهناك شخص ما قد قام بواجبه و أتم تعديل المكونات الداخلية لهذه البوابة لتناسب هذه الجهود الخاصة. وهذا يقدم لنا نقطة هامة حول رقم القطعة وهو ربما تناسب جهود لا تناسب أرقام غيرها والأفضل دوما الرجوع لصفحة البيانات **Data Sheet** – وهناك بالفعل عائلة من المتكاملات تعمل بجهود سالبة وتسمى **Emitter Coupled Logic** أى دوائر ربط الباعث المنطقية.*
*لنقاش النقطة التى نحن بصددها الآن ، سنفترض أن الحالة 0 تتحقق بجهد مقداره 2 فولت والحالة 1 تتحقق بالجهد 5 فولت و أن الثنائيات مثالية حتى لا نعقد الحسابات بالقيمة 0.6 فولت و إن شئت قل أنها أحد الأسباب التى تجعل الجهود بهذه القيم.*
*هناك الوضع الآخر أيضا الذى ذكرناه سابقا أن الحالة 0 هى غير محقق أو **False** أو غائب أو ما شئت و الحالة 1 عكسها أى محقق أو **True** أو موجود أو أى مسمى ضد المسمى الأول*
*طبعا ستقول أن هذا المسمى أشمل و أدق و أضبط و أعم. حسنا أؤيدك على طول الخط *
*هل نحاول سويا تطبيق هذه الحالة الأعم و الأدق على الماكينة السابقة ذات الحساسات التى تعطى عادة جهد وليكن 5 فولت و عند التفعيل تعطى صفر فولت؟ و لنحدد الكلمات تماما، هذه الحساسات عندما تكون **False** أو غير فاعلة تعطى 5 فولت و عندما تكون محققة **True** تعطى صفر*
*كان المنطق المطلوب " هذا أو **OR** ذاك " تتحقق النتيجة لتوقيف الماكينة، و باستخدام ذات الدائرة التى حققت المطلوب سابقا نجد:*​ 


 
*سنلاحظ أن الدائرة كانت لدائرة "أو - **OR-Gate** " ولكنها الآن تصرفت كدائرة "مع - **AND** ".*
*كيف هذا؟ *
*حسنا – الدائرة تتعامل مع الجهود والتيارات وهى لا تتغير لكن تفسيرنا نحن للأمور هو الذى اختلف، وهذا ما يسمى التبادلية*
*أى أن الدائرة "أو - **OR** " التى رسمناها تتصرف كدائرة "**مع - **AND** " عند عكس الحالتين 1،0 و العكس بالعكس.*
*لذا لو قمت بتنزيل دائرة بيانات بوابة مثل 7400** تجد بعض الشركات تكتب **Quad 2 Input Positive NAND Gate** وهى تعنى أربع وحدات ثنائية الدخول – ماذا؟ موجبة؟*
*كلمة موجبة هذه تعنى أن الحالة 1 موجبة بالنسبة للحالة 0 وهو ما اعتدناه حتى الآن.*
*أما ما تحدثنا عنه بالشرح السابق تسمى **Negative Logic** أو السالب وهو يفيد فى الحالات حيث يكون المنطق كما شرحنا معكوسا.*
*الآن كيف نتعامل مع المنطق السالب أو التبادلى أو المعكوس؟*
*كما شاهدنا فى السابق، دائرة "أو - **OR** " تصبح دائرة "**مع - **AND** "*
*والعكس أيضا دائرة "**مع - **AND** " تصبح دائرة "أو - **OR** "*
*كل حالة 0 تصبح 1 و العكس كل حالة 1 تصبح 0*​ 
*المرة القادمة إن شاء الله نتكلم عن المتممات*​


----------



## ماجد عباس محمد (8 يونيو 2010)

*Complement أو المتممات*

*Complement** أو المتممات*​ *كما سبق الشرح فهذا التعبير يعنى الرقم المتمم أى لو قلنا 1234 يكون الرقم المتمم له من 4 أعداد أيضا وهو الذى يكمل 1234 إلى 9999** لأننا نتكلم بالنظام العشرى فيكون 8765 أما لو تكلمنا عن أى نظام آخر نستبدل الرقم 9 بالحد الأقصى لهذا النظام فمثلا لو تحدثنا بالدستة سيكون 11 ولو أننا لم نستخدم شكلا ما للتعبير عن ما زاد عن 9*​ *و بالمثل فى النظام الستة عشر سيكون بدلا من 9 الرقم **F** و فى النظام الثنائى الرقم 1*​ *النظام الثنائى هو الأشهر لأنه الوحيد القابل للتمثيل بدائرة الكترونية و بالتالى يدخل فى إمكانية تصنيع آلة حاسبة وهو ببساطة كما سبق الشرح – فى أبسط صورة - مجرد ترانزيستور واحد.*​ *من هنا و بتكرار هذه الدائرة يمكن أن نجرى هذه العملية على أى عدد من الخطوط و بالتبعية أى نظام عددى آخر إن أمكن تمثيله بالنظم الثنائى*​ *هذه العملية يمكن إجراؤها أيضا على المعادلات وهى من طرق التبسيط قبل تمثيل المعادلة فى النهاية بمكونات ودوائر.*​ *كيف ذلك؟** - هناك بعض القواعد التى سبق استخدامها فى الجبر والرياضة المعتادة و نطبقها هنا فمثلا*​ *نعلم أن **X** هو المتمم للمتغير **X** و أيضا **A** هو المتمم للمتغير **A*​ *أى معادلة من طرفين متساويين سيكون مكمل الطرف الأيمن مساويا مكمل الطرف الأيسر أيضا*​ *طبعا 1 هو مكمل صفر و العكس صحيح*​ *فى فك المعادلات نبدأ أولا بالأقواس الداخلية و بعد حلها ننتقل للتالية ثم التالية حتى نصل للأقواس الخارجية وبهذا ينتهى فك المعادلة – أيضا علامة المتمم (الشريط فوق المتغير أو عدد من المتغيرات) يعتبر كالأقواس لأنه من الممكن وضع عدة علامات فوق بعضها كما فى الصورة – وهو منطقى جدا فبتحويل دائرة لمعادلة، كلما مررت بترانزيستور عاكس للوجه ستضع رمزا له علامة المتمم** ، لذا يجب أن تفك المتمم الأسفل أولا ثم أعلاه و هكذا بالترتيب من أسفل لأعلى.*​ * لاحظ هنا أن هناك علاقة رياضية تتبع فى فك الأقواس مثل استخدام "السالب" فى فك الأقواس فى الحساب العادى، فهناك مثيلها فى الجبر البوليانى و تسمى قواعد دي مورجان وهى*​ *لإيجاد مكمل لدالة ما افعل ما يلى*​ *1- **كل صفر يصير واحد والعكس كل واحد يصير صفر*​ *2- **نقلب المنطق حيث كل "و – مع " تصبح "أو" كل ضرب يصبح جمع والعكس كل "أو" يصبح "مع" أى كل + تصبح * حتى لو لم تذكر علامة الضرب صريحة*​ *3- **غير حالة كل متغير بوضع أو حذف علامة المتمم وهى الشرطة فوق المتغير*​ *بتطبيق هذه القاعدة نجد أن **ABCD** لا تساوى **A** B C D*​ *نفترض لدينا معادلة مثل
*


 *
*​ *واضح تبسيط فك المعادلات على الناتج النهائى*​ *المرة القادمة إن شاء الله نتكلم عن خريطة كارنوف **Karnaugh Map*​


----------



## صابر على السيد (8 يونيو 2010)

اللة يبرك لكم على هذ المجهود وارجو المزيد


----------



## ماجد عباس محمد (12 يونيو 2010)

*تبسيط المعادلات – خريطة كارنوف Karnaugh Map*

*تبسيط المعادلات – خريطة كارنوف **Karnaugh Map*​ 
*حينما نرسم دائرة ما لتعبر عن ماكينة أو مصنع أو وحدة تحكم، فإننا نرسم احتياجنا باللغة (الوصف) و ليس بالدوائر كأن نقول*​ 
*أريد دائرة إذا زاد ضغط الزيت تقلل سرعة المضخة وإن ارتفع عن كذا تتوقف مع إنذار ولا تبدأ و خزان الوقود فارغ الخ*​ 
*ثم تأتى المرحلة التى نحول هذا الوصف إلى حساسات ومفاتيح تعمل يدويا أو آليا أو ريلاى*​ 
*عندما ننتهى ، غالبا يكون من الصعب تبسيط هذه الرسوم وغالبا ما تكون عرضة للخطأ و أحيانا الخطأ الجسيم.*​ 
*حاول العلماء كثيرا لحل هذه المعضلة حيث ابتكر العالم **Venn** خريطة لتسهيل الأمور وكذا غيره إلا أنها لم تستطيع تعدى الثلاث متغيرات فى حين أن الحياة تتطلب أكثر من ذلك*​ 
*هل تذكر معادلات التبسيط السابقة؟ وخاصة الأخيرة*​ 
*1 - العلاقة **AB+AB=A** والإثبات ببساطة أخذ مشترك **A(B+B)** =**A*​ 
*يمكن كتابها بصورة مشروحة كالآتى*​ 
*عندما يكون لدينا متغيران فقط ، و جمعنا حدين ، الحد الذى يتغير يمكن حذفه.*​ 
*لو لدينا أكثر من اثنين، يجب ألا يتغير سوى واحد فقط.*​ 
*إذن الشروط حدين فقط و ينقلب احد المتغيرين فقط أى يمكن أن فقول مثلا*​ 
*ABCD+ABCD=ABC*​ 
*وهذا ما يجعل هذه المعادلة تناسب عدد أكبر من المتغيرات*​ 
*رائع، إذن يمكننا أن نرسم جدول الحقيقة المعبر عن الدائرة و نحذف منها المتغيرات التى تنقلب لتبسيط الجدول و من ثم المعادلة ومن ثم الدائرة*​ 
*لكن مهلا ، حتى مع متغيران فقط لن يتحقق ذلك فكيف مع أكثر لأن أحوال متغيرين * *A,B **ستكون*​ 
* AB **ثم **AB* *–--**ثم* *A**B **ثم* *AB* *--- ثم* *AB*​ 
*الحالات التى تفصل بينها شرطة طويلة حمراء ينقلب فيها اثنان معا وبزيادة عدد المتغيرات يزداد عدد المتغيرات التى تنقلب معا*​ 
*معك حق، هل تذكر العالم فرانسيس جراى الذى وضع لنا ترتيب الأرقام بطريقة جراى كود والتى لا يتغير فيها فى كل خطوة سوى متغير واحد فقط؟ و شرح لنا كيفية تكوينها لأى عدد من المتغيرات – يمكنك الرجوع لها فى "نظم الأعداد" المشاركة الثانية*​ 
*إذن لو كتبنا جدول الحقيقة بشفرة جراى سنضمن ألا ينقلب أكثر من متغير واحد عند الانتقال من خطوة للتالية لأى عدد من المتغيرات، ثم نملأ الجدول حسب الخرج كونه واحد أو صفر و نبدأ الاختصار – فقط أن نتذكر أن شفرة جراى تستمر من أول الجدول لآخرة عودة للبدء فى دورة اسطوانية مستمرة ، ولهذا فإن أخر الجدول هو امتداد لأوله والعكس صحيح.*​ 
*أيضا الجدول له صفوف و أعمدة و يمكن نظريا وضع أى عدد من المتغيرات شرط الإبقاء على الشرط السابق وهو انقلاب متغير واحد فقط وذلك باستخدام جراى كود أفقيا و رأسيا.*​ 
*لنأخذ بعض الأمثلة*​ 
*المثال الأول سهل وواضح باستخدام 3 متغيرات و المعادلة المذكورة لمجموعة مفاتيح أو ريلاى تحقق خرج =1 عندما تكون أوضاعها كما بالمعادلة حيث تعنى*​ 
*XY**Z** أن كل من **X,Y** يساوى صفر أو مفتوح و فقط مغلق أو موصل و هكذا باقى حدود ألمعادلة*​ 
​


​ 
*هنا لم يذكر أن هذا المجموع = 1 وهو يعتبر افتراضيا ما لم يذكر عكس ذلك*​ 
*حسب المربع الأحمر نجد أربع عناصر متجاورة تحقق الخرج لذا يمكن اختصارها بحذف ما تغير وهم*​ 
*X** تغير و **Y** تغير بينما **Z** ظل كما هو =1*​ 
*إذن من المربع الأحمر الحد الأول للخرج = **Z** لأنه بقى على القيمة 1*​ 
*المربع الأخضر يضم عنصرين فقط و الذى تغير فقط هو **Z** لذا يحذف و يبقى المتغيرين*​ 
*إذن من المربع الأخضر الحد الثانى للخرج = **Y** لأنه بقى على القيمة 1 مضروبا فى (مع **AND** ) **X** لأنه بقى على القيمة صفر*​ 
*وبهذا يكون الخرج كما بالرسم*​ 
*نلاحظ هنا أنه من الممكن أن تتشارك الخانة الواحدة مع متغير أكثر من مرة وذلك لأنه لا نأخذ أعداد فردية من المربعات*​ 
*مثلا يمكن جمع 2 أو 4 أو 8 أو 16 أى مضاعفات الرقم 2 ولا نأخذ 3 أو 6 أو 7 أو 9 الخ*​ 
*المثال الثانى*​ 



​​ 
*هذا المثال كالسابق إلا أنه فقط لتوضيح كيف أن المربع الأحمر يشمل الحد الأخير مع الأول كمتجاورين*​ 
*المثال الثالث*​ 
​


​ 
​ 
*هنا يوضح لنا كيف نرسم جدول لأربع متغيرات حيث نطبق جراى كود على كل زوج من المتغيرات*​ 
*الحساب كالسابق و هذا المثال لتوضيح أن التجاور الرأسى مستخدم كالتجاور الأفقى و أن الأربع أركان أيضا تعتبر متجاورة و ضمت معا فى المربع الأزرق*​ 
*نلاحظ هنا أيضا أن التعبير عن المعادلة اتخذ شكلا مختلفا بأنه مجموع الحدود صفر و 2 و 5 و 7 الخ*​ 
*هذا التعبير أسهل فى الكتابة وهو ترجمة للقيم*​ 
*ABCD=OOOO,ABCD=OOlO,ABCD=OlOl*​ 
*وهكذا*​المرة القادمة إن شاء الله مزيد من الأمثلة​


----------



## ماجد عباس محمد (15 يونيو 2010)

*المثال الرابع*​ *




*
*
*
*هنا مثال لجدول ذو خمس متغيرات و هذا المثال لتقديم مفهوم جديد فى دوائر المنطق وهو هام جدا و خطير أيضا*​ *المربع الأزرق سبق التعرض له و كذا البنفسجى أيضا مربع معتاد ولكن الأصفر أو الأحمر يبدو خطأ أو غريب أو غير معتاد!!*​ *حسنا لنرى ماذا به. الأصح أن يقسم إلى مربعين كما باللون الأصفر الأول يشمل المربع الأصفر الأيمن والآخر المربع الأصفر الأيسر وهذا هو الحل التقليدى الصواب 100% ولكن *​ *لو لاحظنا تتابع المتغيرات نجد أن رغم بعد المربعات ظاهريا عن بعضها إلا أنها تخضع لنفس الترتيب المطابق لكود جراى وهو الانتقال من أحدهم للمجاور تتغير قيمة متغير واحد فقط بينما تثبت قيم الباقى ولذا فيمكن جمعهم للاختصار.*​ *هذا يجعل الخط الفاصل بين كل مجموعة من مربع 4×4 و كأنها محاطة "بمرآة" تسهل جمع المكونات معا*​ *



*​ *توضح كل حد من المعادلة و من أين أتى.*​ *الرابط التالى يبين أمثلة بمتغيرات أكثر*​ *http://www.allaboutcircuits.com/vol_4/chpt_8/11.html*​ *سؤال ترددت فى ذكره، لماذا اختارنا الرقم واحد ولم نختار صفر؟*​ *الإجابة أبسط مما تتصور، المعادلة أصلا وضعت بحيث يكون الخرج =1 أى أوضاع المتغيرات التى تحقق الخرج =1 ولكن لو أردت الخرج = صفر فلك الحرية.*​ *هذا لا يعنى أننا نستخدم آحاد فى الجدول عندما يكون الخرج واحد و أصفار مع الصفر – مطلقا*​ *أملأ الجدول أولا ثم لو وجدت أن الأفضل أن تجمع الآحاد فلتكن وإن كان الأسهل جمع الأصفار فلتكن لكن تذكر أن الناتج هو معادلة تحقيق الخرج صفر – ويمكنك بالطبع عمل مكاملة **Complement** للحصول على الخرج = واحد ولا مانع إطلاقا من استخدام هذه الطريقة لو كانت توفر حلا أسهل.*​ *



*​ *مثال كيف يمكنك جمع الآحاد أو الأصفار.*​ *حدود "لا تهتم" أو "أهمل" أو "لا تبالى" و المسماة **Don’t Care*​ *ما هذا الكلام ، وإذا كنت لا أهتم فلماذا أهتم أصلا بذكره؟!!*​ *حسنا هل واجهت موقف مثل "عند الضغط على الفرامل، فمهما كانت أوضاع باقى المعدات – توقف؟*​ *مثلا آخر ، فى فرن الميكرو ويف لو الباب مفتوح، مهما كانت الظروف – لا تشغل وحدة الإشعاع.*​ *وهكذا هناك عديد من الحالات التى تضطر فيها لإهمال أو عدم احتساب عناصر أخرى .*​ *هذه الحالات المهملة يمكن تمثيلها بالرقم واحد كما يمكن أيضا باعتبارها صفر و ذلك لأن قيمتها يجب لا تعوض تحقيق الخرج، لهذا وضع لها رمز **X** وهو رمز الغامض أو المشطوب ويمكن فى خريطة كارنوف جمعه مع الآحاد أو الأصفار ما يحقق تبسيط أكثر للمعادلة.*​ *أرجو أن نتذكر هذا الرمز و معناه فسنجده كثيرا فى كافة المواضيع بعد البوابات والتى سنتكلم عنها المرة القادمة إن شاء الله .*​


----------



## ماجد عباس محمد (18 يونيو 2010)

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

*العائلات فى الدوائر المنطقية:*​ *كما سبق الشرح فى موضوع "** مكونات الدوائر المنطقية الأساسية **" يمكن تنفيذ نفس الدائرة بعدة طرق حيث بدأنا بمقاومات ثم أضفنا الثنائيات و سميت **DRL** اختصار منطق دايود مقاومة ، ثم حسنت بالترانزيستور وسميت **DTL** منطق دايود ترانزيستور وهما مازالتا مستخدمتان للآن حينما تحتاج دائرة ولا داعى لوضع متكاملة بها 4 وحدات أو تكون ظروف التشغيل لا تناسب أحد المتكاملات المعروفة.*​ 




​ *
*​ *لو نظرنا لدائرة **NAND** السابقة وهى العليا على اليسار ، سنجد أن لها عيبان رئيسيان*​ *العيب الأول** أن المداخل تتصل مباشرة بثنائيات سيلكون ثم وصلة ترانزيستور قاعدة – باعث **BE** أيضا*​ *لو كان مصدر الإشارة مثاليا أى يحدث قصرا فعليا مع الأرضى، فلن نضمن أى الثلاث سيكون أقلهم جهدا و كما نعلم من دراسة الدوائر الإلكترونية أننا لو قمنا بقياس 10 دايودات متماثلة أو وصلات 10 ترانزيستور متماثلة فلن تجد تشابه مطلق ولكن هناك تباين طفيف. حسنا لا داعى للتجربة، سأسألك سؤالا بسيطا *​ *كيف تعلم أى أطراف الترانزيستور الباعث و أيها المجمع؟ ستقول وصلة القاعدة مجمع تقيس أقل من وصلة القاعدة باعث!! عجبا وكلاهما من نفس الخامة ولنفس الترانزيستور! ولكن هذا يؤكد أن القيمة الفعلية تعتمد على نسبة الشوائب و أيضا درجة الحرارة ، رجاء تذكر درجة الحرارة هذه لاحقا.*​ *هذا الحال لو مصدر الإشارة مثاليا ، فما حال المصدر العادى الذى يبقى بينه وبين الأرضى جهد صغير مثل 0.2 فولت مثلا، بالتأكيد لن يسبب قفل الترانزيستور. لعلاج هذا العيب نضع الثنائى **D3** كما بالصورة الثانية.*​ *العيب الثانى أن الخرج نقطة التقاء مقاومة المجمع مع طرف المجمع للترانزيستور.*​ *وما الخطأ فى هذا؟؟ *​ *حسنا لا يوجد خطأ ولكنه يوجد عيب لأن الخرج عادة يتصل بحمل به مركبة سعوية أى هناك كمية من المكثفات الغير مرئية وهى سعة الخرج للترانزيستور ذاته ثم السعة بين أطراف الترانزيستور و أطراف توصيل الأرضى و أخيرا سعة الدخول للمرحلة التالية. هذه المقاومة تسبب وجود ثابت زمنى م س يبطئ من سرعة الانتقال من صفر إلى واحد والعكس.*​ *الحل أن نستبدل هذه المرحلة بمرحلة ترانزيستور **Q2** والذى يشغل **Q3,Q4*​ *




*​ ​ *حينما يكون **Q2** غير متصل أى حال القطع، لن يمر تيار للترانزيستور **Q4** و سيكون أيضا فى حال القطع و المقاومة **R2** ستجعل **Q3** فى حال التشبع كما بالرسم العلوى.*​ *أما عندما يكون **Q2** فى حال التشبع، سيكون بين المجمع والباعث **CE** جهد قليل جدا 0.2 فولت*​ *هنا سيدخل الترانزيستور **Q4** حال التشبع لأن قاعدته هى المسار الأقرب للأرضى و بالتالى يكون مجمع **Q4** علية 0.2 فولت و بدون الثنائى **D4** سيكون باعث **Q3** عليه نفس جهد مجمع **Q4** وهو 0.2 فولت بينما قاعدته عليها مجموع **Q2** + **Q4** وهو **Q2** فى حال التشبع أى 0.2 فولت + القاعدة باعث **Q4** فى حال التشبع وهو 0.1 أى 0.3 فولت وهو لا يكفى لجعل **Q3** يدخل مرحلة التوصيل التى تبدأ عند 0.5 فولت كما بالرسم الأوسط و لزيادة التأكيد وضعنا **D4** .*​ *الآن الانتقال يتم من خلال أحد الترانزستورات لشحن المكثفات و الآخر لتفريغها كما بالرسم الأسفل.*​ *هيه تقول الترانزيستور **Q2** أين إذن **Q1*​ *لو نظرنا للدائرة الأصلية سنجد حول الثنائيات **D1,D2,D3** مربع أخضر. هذه الثنائيات الثلاثة لا داعى لأن تصنع منفصلة ثم نقوم بتوصيلها حرفيا كما بالرسم، بل على العكس سيكون أسهل لو صنعنا الثلاثة مصاعد **Anodes** كقطعة واحدة ووفرنا مجهود التوصيل و مخاطره ، و بهذا نلاحظ أنها مكونات لترانزيستور فقط نجعل الجزء الأوسط رقيق ونستفيد من التكبير الناتج. فقط سنحتاج أن نجعل المداخل بواعث **Emitters** وبهذا أصبح لدينا ترانزيستور قاعدة مشتركة وله أكثر من باعث (لاحظ أن هناك دوائر متعددة المداخل) و هكذا نرى أن هذا الوضع الغير عادى للترانزيستور جاء من تسلسل الأحداث ولم يستيقظ أحدهم من كابوس فقرر أن يصنع هذا الوضع المقلوب للترانزيستور.*​ *بقى أن نحمى الدخول من أن توصل بجهد سالب أو أعلى من قيمة التغذية **Vcc** ، فى هذا فهناك عدة مذاهب كوضع مقاومة و زينر أو ثنائى عادى أو مجموعة من الثنائيات. عموما ما تراه أكثر مما رسم فهو لحماية المدخل ليس إلا.*​ *نلاحظ أن هذه الدائرة من الترانزستورات و عند توصيل مراحل على التتابع، نجد ترانزستورات الأولى "تنظر" خلال ترانزستورات الثانية أو تتحكم فيها مباشرة، من هنا سميت **Transistor-Transistor-Logic TTL** أى دوائر ترانزستور – ترانزيستور.*​ *صنعت دوائر لها نفس الوظيفة من ترانزستورات موسفيت **MOSFET** من النوع س أو **N** و من النوع الموجب **P** و النوع الذى تفوق هو المتمم وهو المصنوع من أحدهما سالب والآخر موجب ولذا سمى **Complementary MOS** أو **CMOS*​ *لتسهيل التعامل مع هذه الدوائر صنعت بمواصفات محددة لكل نوع وسمى عائلة و لدينا عائلة **TTL** و تحتها أقسام عديدة أو عائلات فرعية تميز بالاسم و أيضا عائلة **CMOS** و هناك عائلة الأكثر سرعة تسمى **Emitter Coupled Logic ECL*​ *المرة القادمة إن شاء الله نتكلم عن تفاصيل هذه العائلات *​


----------



## ماجد عباس محمد (22 يونيو 2010)

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

*عائلات الدوائر المنطقية*​ *عائلة الترانزيستور – ترانزيستور **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 درجة مئوية*

*من الطبيعى أن يكون هناك تطبيقات تتطلب سرعة أعلى من العائلة القياسية مثل عدادات قياس التردد و مثيلاتها لذا صنع فرع أضيف له حرف **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*​
*نلاحظ من الجدول أن هناك خاصيتان هامتان وهما زمن التأخير **Propagation Delay** و زمن الاستجابة **Transition Time** تجده فى **Data Sheet* *الأول "زمن التأخير" هو الزمن الذى تأخذه الوحدة لكى يظهر على الخرج ما يناظر الدخل أى لو غيرنا الدخل من صفر إلى 1 مثلا تحتاج **74HC00** إلى 18 نانو ثانية حتى يبدأ الخرج فى الاستجابة*​ *أما زمن الاستجابة **Transition Time** هو بعد ما يبدأ هذا الخرج فى الاستجابة، كم نانو ثانية يحتاجها ليكم هذه الاستجابة*​ *فى كلا الحالتين **TTL** أسرع من **CMOS** لكن هذا ليس دوما عيبا وهو يتيح استخدامات للأخير لا تتاح بسهولة فى **TTL*​ *المرة القادمة إن شاء الله نتكلم عن التطبيقات*​


----------



## ماجد عباس محمد (25 يونيو 2010)

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

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




*​ *
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*​ *لاحظ هنا عكس الإشارة بين الدخول والخروج.*​ *المرة التالية نكمل إن شاء الله 
*​


----------



## ماجد عباس محمد (2 يوليو 2010)

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



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


----------



## احمد العزاوي29 (5 يوليو 2010)

مشكور بارك الله فيك عالمعلومات القيمة


----------



## ahmad7002 (1 سبتمبر 2010)

الله يعطيك العافية وجزاك الله كل خير


----------



## ماجد عباس محمد (25 سبتمبر 2010)

*خرج المجمع / المصب المفتوح و ثلاثى الحالة 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*​


----------



## ماجد عباس محمد (1 أكتوبر 2010)

*المفاتيح التماثلية 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*​


----------



## ماجد عباس محمد (8 أكتوبر 2010)

*العاكسات و المعززات (حواجز- فواصل) ووحدات شميت 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** و ميز بهذه العلامة المميزة، بل أكثر من ذلك، جهزت بعض البوابات أيضا بهذه الخاصية على كل مدخل كما أن كثير من المتكاملات ذات الوظائف المتعددة منها مؤقتات و عدادات تحتوى مداخل خاصة جهزت بهذه الخاصية للتعامل مع التغير البطيء فى الجهد.*​ *المرة القادمة إن شاء الله نتكلم عن المزيد من هذه الدوائر الرائعة*​


----------



## ماجد عباس محمد (12 أكتوبر 2010)

*وحدات شميت : 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** فإن التوقيت يعتمد أساسا على دقة هذه النبضات.*​ *المرة القادمة إن شاء الله نتكلم عن المزيد.*​


----------



## ماجد عباس محمد (23 أكتوبر 2010)

*ألمذبذب المتعدد – مرة أخرى Multi vibrator*

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



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




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


----------



## ماجد عباس محمد (4 نوفمبر 2010)

*المذبذب المحسن 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، فالخرج يطابق الدخل وهذه تسمى حالة الشفافية.*​ *أليست الشفافية شيئا جميلا؟ ربما هنا ستجعل تركيب عداد أو مسجل شبه مستحيل لأن المفروض أن كل نبضة تنقل البيانات من مرحلة للتالية فقط ولكن بهذه الشفافية ، آخر مرحلة سترى أول مرحلة فى نبضة واحدة!!*​ ​ *المرة القادمة إن شاء الله نتكلم عن حل لهذه المشاكل*​


----------



## ماجد عباس محمد (13 نوفمبر 2010)

*المذبذب الأساسى/ التابع Master Slave Flip Flop:*

*المذبذب الأساسى/ التابع **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*​ *حسنا، نحل مشكلة و نقع فى أخرى.*​ *المرة القادمة إن شاء الله نتكلم عنها*​


----------



## طارق ماهر (15 نوفمبر 2010)

الف الف الف شكر


----------



## ماجد عباس محمد (18 نوفمبر 2010)

*القدح بالمستوى و القدح بالحافة Level Trigger-Edge Trigger*

*القدح بالمستوى و القدح بالحافة **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** وهو النوع الأول الذى شرحناه والذى لا يجوز فيه تفعيل الطرفين معا لأن النتيجة غير مضمونة. لذا كن حريصا على تفعيل واحد فقط فى كل مرة.*​ ​ *هذا هو مسجل لخط واحد، و المسجل ذو الأطراف العديدة يتكون من وحدات عديدة. كيف؟ هذا موضوع المرة القادمة إن شاء الله *​


----------



## ماجد عباس محمد (27 نوفمبر 2010)

*المساكات والمسجلات Latch, Register*

*المساكات والمسجلات **Latch, 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**موضوع المرة القادمة إن شاء الله *​ ​


----------



## ماجد عباس محمد (30 نوفمبر 2010)

*مسجل الإزاحة shift registers*

*مسجل الإزاحة **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 نانو ثانية حسب الرقم و أى نبضة نود تطبيقها وهو ضرورى لتحقيق استجابة صحيحة و إلا قد تفشل المتكاملة فى قراءة البيان الصحيح. *​ ​ *مثال آخر المرة القادمة إن شاء الله

*​


----------



## kiai87 (1 ديسمبر 2010)

السلام عليكم

الف شكر استادي ماجد على هدا الشرح المتميز وجزاك الله كل خير


----------



## ماجد عباس محمد (1 ديسمبر 2010)

اسعدنى مروركم الكريم


----------



## ماجد عباس محمد (3 ديسمبر 2010)

*مثال آخر مسجل الإزاحة **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** = صفر فاخط الأسود = صفر معطلا الصفراء و الحط الأحمر = واحد متيحا الحمراء و البيضاء الأولى أقصى اليسار فقط، فالحمراء الأولى تأخذ من مدخل الإزاحة لليمين و الحمراء الثانية تأخذ من خرج المذبذب الأول و الثالثة من خرج الثانى وهكذا فلو كان مدخل الإزاحة واحد يدخل واحد فى الأول أو كان صفر يدخل صفر و ما كان فى الأول ينتقل للثانى وهكذا.*​ *باقى الأسطر بنفس الطريقة و أتركها كتمرين لذكاء القارئ، وبهذه المعلومات نستطيع أن نفهم تصرف كل مسجلات الإزاحة الأخرى حيث الفروق تكون بسيطة.*​ ​ *مولدات الشفرة و فك الشفرة هو موضوع المرة القادمة إن شاء الله *​


----------



## ashraf011 (4 ديسمبر 2010)

الف شكر وربنا يجزيك خير


----------



## ماجد عباس محمد (6 ديسمبر 2010)

*مولدات الشفرة و فك الشفرة Decoders, Encoders*

مولدات الشفرة و فك الشفرة Decoders, Encoders ​ المجمعات و الموزعات - Multiplexer / De-Multiplexer ​ ​ *فى الحقيقة مولدات الشفرة و فك الشفرة هما نفس الشيء، بمعنى أن كلاهما تحول من كود لآخر ولكن اتفق على أن تكون مولدات الشفرة **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** موضوع المرة القادمة إن شاء الله *​


----------



## ماجد عباس محمد (9 ديسمبر 2010)

*المجمعات و الموزعات - Multiplexer / Encoders*

*المجمعات و الموزعات - **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** لتمكين المتكاملة أو المجموعة لتكرار هذه الدوائر فى حال الحاجة لأكثر من ذلك.*​ *يجب ألا ننسى أن هناك العديد من الدوائر المختلفة لتحقيق هذه الوظيفة حسب متطلبات التصميم ولا يشترط أن تستخدم هذه المتكاملات فالحاجة لتكويد أو تشفير أو التحويل للنظام الرقمى متنوعة و متعددة.*​ *العداد موضوع المرة القادمة إن شاء الله *​


----------



## ماجد عباس محمد (11 ديسمبر 2010)

*العداد Counter*

*العداد **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 رقم وهذا طبعا عائد لعدة أسباب تقنية منها الحاجة لعدد أكثر من الترانزستورات لنفس الوظيفة و الضوضاء التى تسببها على خطوط التغذية ستبقى لفترة أطول وغيرها.*​ ​ *العداد المتزامن موضوع المرة القادمة إن شاء الله *​


----------



## ماجد عباس محمد (17 ديسمبر 2010)

*العداد المتزامن*

* العداد المتزامن*​ ​ *الآن نريد أن نستجيب بأقصى سرعة ممكنه،أين المشكلة لنجد لها حلا؟!*​ *ببساطة زمن التأخير أو استجابة الوحدات! فلكى نحصل على القيمة السليمة بعد كل نبضة، يجب أن ننتظر حتى تتجاوب كل المراحل- خاصة وأن الدوائر لا تعرف من منها سيتغير.*​ *حسنا فى أى لحظة و بالنظر لحالة كل مذبذب نعلم إن كان التالى له يجب أن يتغير أم لا والشرط بسيط وسهل.*​ *إن كان السابق فى وضع **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** و باقى الوظائف.*​ ​ 
*الربط بين العالمين الرقمى والتماثلى موضوع المرة القادمة إن شاء الله *​


----------



## abdel-rahim (28 ديسمبر 2010)

شكرا لتعاونكم معنا
وشكر خاص لكل المهندسين الموجودون في المنتدى


----------



## abdel-rahim (31 ديسمبر 2010)

لكم جزيل الشكر
وزادكم الله من علمة


----------



## abdel-rahim (1 يناير 2011)

الحمد لله لجهودكم الغالية معنا


----------



## عبدة قورة (10 فبراير 2011)

مشكووووووووووووووووووووووووورا


----------



## eng.tawfeeq (10 فبراير 2011)

Thanks


----------



## saad_srs (11 فبراير 2011)

مشكوررررررررررررررررر
جزاك الله خيرا


----------



## ماجد عباس محمد (31 مارس 2011)

*الربط بين العالمين*

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




*​ *أخذ العينات الحمراء فى أول و منتصف و آخر الفترة المبينة. طبعا سيكون لدينا قيمتين فقط المحددتين بالأسهم الحمراء (الأولى هى مقابل الأخيرة وليست إضافة لها بمعنى الأولى تعتبر الأخيرة للفترة المساوية السابقة) وهذا تمثيل غير دقيق إطلاقا والسبب أن دائرة تحويل الأرقام لقيم تناظرية لن يكون لديها أى إمكانية لاستنتاج ماذا كان بينهما، فستفترض أنه جهد ثابت بين هاتين القيمتين.*​ *حسنا نأخذ مثلى العدد كالعينات الخضراء. سيكون الحال أفضل بالقيم المبينة بالأسهم الخضراء ولكن سنفقد كثير من التفاصيل ما بين البداية و أول عينة و بين كل عينة والتى تليها.*​ *طبعا لو ضاعفنا العدد مثل العينات الزرقاء سيكون أفضل وهكذا. هذه العملية تسمى **Sampling **أو الترميز و معدل هذه القياسات فى الثانية يسمى **Sampling Rate** أو معدل الترميز.*​ *كلما زاد معدل الترميز زادت البيانات و أيضا الدقة.*​ *هل هذا هو الخطأ الوحيد فى العملية؟؟*​ *ماذا عن قيمة كل سهم من الأسهم السابق الإشارة إليها؟ ستقول مثلا أنها 3.25 فولت، حسنا هذه هى المشكلة الثانية.*​ *لو كان لديك آفو أكثر دقة ستقول 3.248 ولو أكثر دقة قد تقول 3.2476 وهكذا.*​ *إذن المشكلة تكمن فى كيف تريد أن تعبر عن هذا الرقم أو أى عدد من الأرقام تستخدمها أو بالأحرى بأى درجة من الدقة تريد أن تصفها. كما شاهدنا فى المثال السابق، كلما زادت الدقة زادت معها عدد الأرقام المستخدمة فأولا عبرنا عنها بثلاث أرقام ثم أربع ثم خمسة وهكذا وهذا أيضا كم من المعلومات يحتاج أخذه فى الاعتبار. إذن هذا يسمى خطأ كمى أى فى تقدير الكمية.*​


----------



## عمرمحمداحمدسالم (31 مارس 2011)

شكرا لاكن انا ما قدرة اعبر عن شكري وامتناني لك


----------



## ماجد عباس محمد (1 أبريل 2011)

أخى
اسعدنى مروركم الكريم


----------



## eyadxxx (4 أبريل 2011)

جزاك الله خير فكيت ازمه


----------



## ماجد عباس محمد (4 أبريل 2011)

أخى
أهلا بك و شكرا لمروركم الكريم


----------



## ماجد عباس محمد (8 أبريل 2011)

*التحويل من تماثلى لرقمى A/D converter*

*التحويل من تماثلى لرقمى **A/D converter*​ ​ *أول مشكلة هى، لو لدينا قيمة تماثلية، فنحن نعرفها جيدا مثل درجة حرارة أو فولت ما أو ضغط غاز أو وزن جسم ما، لكن الأرقام لا قيمة لها بدون تعريف أو ما نسميه الوحدات فالقول 120 لا يعنى شيئا ما لم نذكر أنها درجة مئوية أو فهرنهيت أو كجم أو مللى جرام أو فولت أو مللى فولت. هذا يضع أول شرط يجب تواجده فى المحول وهو المرجع **Reference** والذى ننسب إلية عملية التحويل.*​ ​ *إذن أبسط دائرة تحويل من تماثلى لرقمى ستكون ببساطة و طبقا للمناقشة السابقة ستكون دائرة مقارن وهى نوعية خاصة من المكبرات يخصص طرف لجهد المرجع * *Reference** و الآخر للجهد المتغير ويكون الخرج إما صفر أو جهد التغذية وهو تمثيل رقمى و يمكن أن نعبر عنه ببساطة بالمستويين الرقميين صفر و 1، فعندما يعلو الجهد المتغير أكثر من المرجع يقفز خرج المقارن للقيمة 1 و عندما ينخفض يعود للمستوى صفر.*​ *هكذا قمنا بأول تحويل، لكن المشكلة أنه يعبر فقط عن قيمة واحدة و غالبا سنختارها فى منتصف المدى التناظرى، أى لو كان الدخول 1 فولت سيكون المرجع نصف فولت.*​ *من النقاش السابق نعلم أننا نريد أرقام أكثر للحصول على دقة أعلى، سنضطر لإضافة المزيد من هذه المقارنات. من أشهر الأمثلة على ذلك مؤشر مستوى الصوت المصنوع بعدد من اللمبات **LED** والتى يمكن عملها ببساطة باستخدام المتكاملة **LM3914** والتى تحتوى 10 مقارنات و دائرة مجزئ جهد داخلية تقسم الجهد الموضوع على طرف دخول المرجع لعشرة أقسام متساوية كمداخل مراجع للمقارنات،مما يتيح للمستخدم أن يضع الحد الأقصى للقياس على الطرف 8 والدائرة تقسمه لك لعشرة أقسام متساوية و تعبر عن كل منها بمخرج يضئ **LED*​ *





*​ ​ *ولكن المشكلة هنا من شقين الأول قلة عدد المستويات وهذا لا مفر منه أما الثانى هو أن التمثيل ليس بالأساليب التى سبق لنا أن درسناها وهو ما يتطلب دائرة تحويل رقمية.*​ *كلا صديقى العزيز لم نقدم جديدا هنا ولا دائرة من السحر الأسود الغير معروفة. هل تذكر ما سبق أن شرحناه تحت مسمى*​ *SN74LS348/SN74LS848** والذى يؤدى وظيفة هامة وتسمى **Eight In to 3 Binary Priority Encoder*​ *هو ما نريده هنا ليصبح فى النهاية لدينا أول محول من تماثلى الرقمى*​ *
*​ *




*​ *المرة القادمة إن شاء الله نشرح مثال لهذه الدوائر **AD9048** من إنتاج شركة **Analog Devices ** وهى تحتوى 256 مجزئ جهد مع 256 مقارن ثم دائرة تحويل مثل السابقة*​


----------



## ماجد عباس محمد (9 أبريل 2011)

*محول فيديو تماثلى*

*محول فيديو تماثلى*​ *كما شرحنا سابقا، نجد أن الدائرة بسيطة الفكرة لكنها كثيرة المكونات حيث تحتوى مجزئ جهد من 256 مقاومة مع 256 مقارن ثم دائرة تحويل مثل السابقة، من البديهى أن لهذه الطريقة محاسنها و عيوبها كما تعودنا. *​ *أولا يجب أن نلاحظ هنا مجزئ جهد من 256 مقاومة، هذا يعنى أن هذا المجزئ يحدد القيمة التى يمكن أن نحولها، وليس بالضرورة من صفر إلى +5 فولت ولكن نجعلها بين أى قيمتين اختياريتين بين أعلى قيمة للتغذية و أقل قيمة للتغذية، وهو سيكون لنا المرجع الذى نقيس بالنسبة إليه، فكما سبق أن درسنا فى الدوائر المتكاملة، لا يجوز لأى طرف أن يخرج جهده خارج قيمة مصدر التغذية حتى لا تتلف المتكاملة.*​ *أيضا يجب أن نتذكر أن هذا المجزئ يغذى مجموعة من المقارنات والتى تقارن الدخل التماثلى بها، وهذا يعنى أن الكود الناتج ليس قيمة مطلقة ولكن هو ببساطة كم هذا الجهد من المرجع، مثال لهذا بعض أجهزة الآفو الرقمية القديمة كانت تحتوى زر **X10** و كان يزيد حساسية القياس 10 مرات و كان ببساطة يستخدم مرجع 2 فولت وآخر 0.2 فولت لهذه الحيلة.*​ *أيضا يجب أن تحتوى زر للبدء وهو ذو فائدتين*​ *الأولى أن يحفظ القيمة التماثلية داخل المتكاملة إن كان هذا من دورها*​ *الثانية أن تكون مرجعا للدوائر الأخرى لتعلم أن القيمة الصحيحة الرقمية ستكون جاهزة بعد عدد محدد من النانو ثانية أو مايكرو ثانية من هذه النبضة للقراءة.*​ *لندرس المثال **AD9048** لهذا النوع من المحول تماثلى/رقمى.*​ 


​ *
*​ *البساطة تقود للسرعة لذا فيمكنها عمل 35 مليون تحويل فى الثانية لذا تناسب السرعات العالية مثل الفيديو.*​ *المتكاملة لها قسمان كشأن كل هذه المحولات – المدخل التماثلى و المخرج الرقمى.*​ *يحتوى المدخل التماثلى على مجزئ جهد من 256 مقاومة كما بالرسم مقاومات **R** و تتصل بالأطراف **RT** وهو قيمة أعلى جهد موجب مطلوب تحويله كما سبق الشرح و الطرف السفلى **RB** للقيمة الدنيا من الجهد و طبعا كما سبق الشرح يمكن استخدام +5فولت و صفر أو أى قيم طبقا للشروط. أيضا المنتصف **RM** واستخدامها خيارى.*​ *توضع الإشارة المراد تحويلها على الطرف **Vin** و يوضع نبضات التحويل على الطرف **Convert** و ستظهر النتيجة متأخرة زمن نبضة واحدة. لهذا يفضل استخدام نبضات سريعة حتى لا يكون التأخير كبيرا.*​ *الطرفين **VLINV, NMINV** للتحكم فى الخرج لكى يكون عادى أو معكوسا **Complement** وهذه تفيد فقط فى العمليات الحسابية إن استخدمت.*​ 


​ *
*​ *كما شاهدنا الميزة الأساسية هى السرعة العالية لكن العيب هو عدد المكونات فلو أردنا مثلا 12بت سنحتاج 4096 مقارن لتنفيذ هذه الدائرة لذا ابتكرت طريقة أخرى تضحى بالسرعة القصوى مقابل قلة الكلفة ولا شك أن السرعة ليست دوما هى الهدف فالآفو مثلا يقوم بعدد 2 إلى 3 تحويلات فقط فى الثانية*​ *المرة القادمة إن شاء الله نشرح مثال لهذه الدوائر **ADC0804 ** و قريبتها المحول **ADC0808*​


----------



## عماد البدر (9 أبريل 2011)

مشكووووووووووووووووووووور حبيبي


----------



## tunisienman (11 أبريل 2011)

*جزاك الله خيرا*


----------



## ماجد عباس محمد (14 أبريل 2011)

*دائرة التقريب المتتالى Successive Approximation*

*دائرة التقريب المتتالى **Successive Approximation *​ *للتغلب على التعقيد فى الدوائر، ابتكر أسلوب آخر وهو مسجل التقريب المتتالى **Successive Approximation Register** وهو ذو فكرة مختلفة قليلا عن ما سبق.*​ *لنأخذ عائلة **ADC0804 ** و قريبتها المحول **ADC0808** فالأولى هى الدائرة المفردة والثانية تحتوى ثمانى متكاملات منها مع ثمانى مداخل تماثلية مع ثلاث خطوط رقمية لتحديد أى المداخل نعالج الآن.*​ *لدينا 256 مقاومة متماثلة تسمى **R** و كما علمنا أننا يمكننا أن نصنع 256 مقاومة متشابهة بدقة عالية جدا حتى 1% أو أقل لكن القيمة المطلقة لهم قد تتراوح، و أيضا النسب ستكون بنفس الدقة فالمقاومات المتماثلة هى 1:1 ويمكننا بنفس الدقة صنع 1:3 أو 1:6 أو 1:3.45 طالما أن المسألة نسبة. هذا يعزز الدقة النهائية للدائرة. هذه المقاومات تسمى سلم المقاومات أو شبكة السلم و توصل إلى خارج المتكاملة حيث يوصلها المستخدم للجهد الأعلى و الجهد الأدنى المطلوب قياسه، هذا يعطى نفس المرونة السابق شرحها فى المتكاملة السابقة.*​ *نستبدل المقارنات السابقة (256) بمفاتيح الكترونية وهى زوج ترانزستورات موسفيت **CMOS ** و تغذى هذه المفاتيح بمقارن واحد فقط. عند فتح أى مفتاح سيضع الجهد من المجزئ على أحد طرفى المقارن بينما على الطرف الآخر يكون جهد الدخول.*​ 


​ *
*​ *تبدأ العملية بمقارنة هذه الجهود بالدخل، ولا ننسى أن كل من هذه السويتشات أو المفاتيح له ترتيب مناظر لقيمته و يفتحه 1 و يغلقه صفر من خط مناظر لقيمته الرقمية تخرج من مسجل التقريب المتتالى **successive**Approximation Register ** و تختصر **SAR*​ *يبدأ المسجل بمقارنة نصف القيمة فإن كانت أعلى من الدخل فعليه أن يكمل فى النصف العلوى و إلا فعليه أن يكمل فى النصف السفلى.*​ *ثانيا يبحث فى النصف المتبقى (العلوى أو السفلى حسب ما تحدد سابقا) فيقارن منتصفة أيضا وهكذا والمثال العددى يبين بوضوح الخطة.*​ *نفترض جهد يناظر القيمة 135 من السلم المكون من 265 ، لا تطلب منى أن أقول كم فولت حتى لا نقول ما هى أعلى قيمة استخدمنها و ما أقل قيمة و نتوه فى حساب مجزئ جهد يخضع لقانون أوم فقط لا غير.*​ *256 مرحلة تماثلية تعنى 8 بت رقمى وهى ستكون **OOOO OOOO** ، لذا سيقارن **SAR** المنتصف 128 وهى **lOOO OOOO** أو **80 ** بنظام هيكسا فسيجد الدخل 135 أعلى من 128، فسيعتبر النصف من 129 إلى 256 و نصفها 192، فسيقارن رقم 192 أو **llOO OOOO** سيجده أعلى من الدخل 135. لهذا نعود للعد **lOOO OOOO*​ *إذن القيمة الصحيحة من 128 إلى 192 ونصفها 128+32= 160 فسنجرب **lOlO OOOO** لنجد نفس النتيجة فنعود للرقم**lOOO OOOO** ونجرب **lOOl OOOO** وهى 144 فتكون نفس النتيجة فنعود للرقم **lOOO lOOO** وهو 136 فيكون أعلى أيضا لذا نعود للرقم **lOOO OOOO** ونجرب **lOOO OlOO** وهو 132 فيكون أقل إذن نحتفظ بهذا العد **lOOO OlOO** و نستأنف فنجرب **lOOO OllO** فنجد أنه 134 أى أقل فنحتفظ بالرقم **lOOO OllO** ثم نكمل **lOOO Olll ** والذى سيكون أخيرا 135 وهذا هو الحل.*​ *هكذا فى ثمان مقارنات أو بالأحرى عدد من المقارنات مساوى لعرض القيمة أو مقارنة لكل بت نصل لنتيجة سريعة. *​ *هذه الطريقة تتطلب طرفين للقيمة العظمى والصغرى، طرف لبدء التحويل و مخرج لتحديد متى تم التحويل و مجموعة لبيانات الخرج و طبعا طرف تحكم للخرج لتتمكن من استخدام عدد من المحولات على نفس الشبكة لقياس عدد من القيم المختلفة و يتولى حاسب محلى أو ميكرو بقراءة هذه المعطيات عند اللزوم.*​ *ماذا يحدث لو أردنا مثلا دقة 12 رقم ثنائى أو 24 رقم كما هو الحال فى معالجة الصور؟؟ هل نضع4096 مقاومة للحصول على 12 بت؟ أو 65536 لعدد 16 بت أو 16777216 أكثر من 16 مليون مقاومة؟!!*​ *علمنا من تصنيع الدوائر المتكاملة أن المقاومات هى المستهلك الأول لشريحة السيليكون و من ثم أكثر المكونات كلفة فى الدوائر المتكاملة فمساحة مقاومة واحدة قد تكفى لصناعة مئات من الترانزستورات، لذا فهناك دائرة لا تستخدم هذا العدد من المقاومات.*​ *فكرة الدائرة، أننا نستخدم محول عكسى أى من رقمى لتماثلى **D/A** و سيأتى شرحه لاحقا، و تقوم دائرة بتكوين عد ثنائى بالطريقة السابق شرحها والذى يتحول إلى تماثلى عبر المحول عكسى أى من رقمى لتماثلى **D/A**. يقارن هذا الجهد التماثلى مع الدخل عندما يتساوى الجهد التماثلى المولد مع جهد الدخل، يكون العد الثنائى هو الرقم المطلوب.*​




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


​ *هنا حقيقة يجب التأكيد عليها بوضوح وهى أن المحول لا يعطى قيم مطلقة فهو لا وحدات له ولكن ينسب الدخل لجهد يعطى إليه ، و من ثم يخرج عدد العد الثنائى معبرا عن هذه النسبة. تغيير هذه المراجع ستجعله يعطى النسبة الجديدة فقط. وللحصول على قيم مطلقة كأن يعطى العد 10 عند جهد 10 مللى فولت مثلا يجب اختيار مصدر جهد مرجعى مقداره 1.000 فولت أى أن نسبة الخطأ في هذا الجهد ستنعكس على القراءة الثنائية.*​ *لهذا الغرض صممت متكاملات خاصة مثل **TL431** وهى تعمل كجهد مرجعى لدوائر التحول من رقمى لتماثلى والعكس.*​ *نقطة أخرى بالغة الأهمية، وهى أن الرقمى كما سبق الشرح فى أول موضوع عبارة عن مستويات محددة على عكس التماثلى الذى قد يأخذ أى قيمة. لو عدنا للمثال السابق حيث الدخل 135، ماذا لو كان 135.5 وهو جائز فى التماثلى و غير جائز فى الرقمى؟؟؟ *​ *الحل أننا نرى أن الرقم الأقل دائما غير دقيق، لذا دوما تعرف دقة المحول الرقمى بقيمة مثلا *​ *1% +/- عد واحد *​ *أى*​ *1% **±**1count*​ * للتذكير دوما بهذه الحقيقة*​ *المرة القادمة إن شاء الله سنضع هذه المتكاملة فى دائرة*​


----------



## بسام حاجولي (20 أبريل 2011)

اتمنى لكم التوفيق في افادة الموقع


----------



## ماجد عباس محمد (25 أبريل 2011)

*استخدام المتكاملة ad0808*

*استخدام المتكاملة **AD0808*​ *ADC0808/ADC0809*​ *8-Bit μP Compatible A/D Converters with 8-Channel Multiplexer*​ *نبدأ أولا بالتعرف على أطرافها و قد اخترت هذه لأن **ADC0804** هى نفس المتكاملة كما سبق القول فقط ذات مدخل وحيد. أيضا الفرق بين 808 و 809 فقط فى الدقة.*​ *كما ذكرنا، تنقسم إلى مجموعة المداخل التماثلية و المحاطة باللون الأحمر، وهى بالأسماء **IN0-IN7 ** أى مدخل صفر إلى 7 و طبعا ستقارن هذه الجهود بالقيمة العظمى المحددة بالطرف 12 و المسمى **Vref+** و القيمة الصغرى المحددة بالطرف 16 و المسمى **Vref-** باللون البرتقالى.*​ *




*​ ​ *لتختار أى المداخل الثمانية تريد تحويله الآن، نستخدم الثلاث الخطوط الرقمية **ADD A,ADD B, ADD C** وتسمى عنوان و المحاطة بالأخضر الفاتح. فمثلا لتحويل المدخل رقم 1 يجب أن يوضع على الخط **ADD A** واحد و الباقى أصفار. يوضع على الخط **ADD C** واحد لاختيار المدخل 4 وهكذا، أى أنه ثنائى عادى.*​ *الآن نريد أن نخطر المتكاملة أننا أتممنا تعديل العنوان لتفتح المفاتيح الداخلية الخاصة بهذا المدخل و أيضا لا تؤثر على أى قيم قد تكون تحت التحليل، لذا هناك خط هو **Address Latch Enable** واختصارا **ALE** الطرف رقم 22 المحاط بالمربع الأخضر الغامق. بوضع هذا الخط على مستوى **HI** لمدة نبضة واحدة يجعل المتكاملة تحتفظ بالعنوان الجديد، ولا داعى لتكرار هذه النبضة ما لم يتم تغيير العنوان.*​ *يلى ذلك خط البدء **Start** وهو يرفع لمدة نبضة واحدة و حافته الصاعدة تبدئي الاستعداد لتحويل جديد و أى عملية غير مكتملة، ستجهض. لن يبدأ التحويل الجديد إلا مع حافة نبضة البدء الهابطة، لذا إبقاء خط البدء **Start** فى وضع **HI** يعطل التحويل.*​ *عند اكتمال التحويل، تضع المتكاملة وضع **HI** على الطرف 7 والمسمى نهاية التحويل **End Of Conversion** واختصارا **EOC** . ناتج التحويل تظهر على حافلة خط البيانات ذو 8 خطوط والمظللة باللون الأصفر. وهو يكون متاحا بوضع **HI** على الطرف 9 مدخل **OE** اختصارا للكلمة **Output Enable** .*​ ​ *هكذا يمكننا أن نرسم أبسط دائرة للمتكاملة **ADC0808/ADC0809*​ *للبساطة نصل الطرف 12 و المسمى *​ *Vref+** بالجهد الموجب +5 فولت وكذا الطرف 16 و المسمى **Vref-** بالأرضى مما يجعل المدى المقاس 5 فولت.*​ *



*​ *نصل البدء مع مسجل العنوان **start/ALE** كما بالرسم و نبضة موجبة واجدة تكفى لحفظ العنوان وبدء التحويل معا بصرف النظر أن العنوان قد تغير أم لا، فهذه الخطوة لا تضيف أى تأخير للعملية.*​ *توصل نبضات مربعة بتردد حتى 640ك ذ/ث و تتم عملية تحويل كل 8 نبضات. هذا يعنى أننا نحصل على 80 ألف تحويل فى الثانية.*​ *هذا يبدو كثيرا لكن للأسف هناك مشكلة صغيرة أن الثمانى نبضات المطلوبة للتحويل لا تبدأ فور انتهاء نبضة البدء كما سبق القول للبساطة فى الشرح، ولكن حقيقة هى دورة لا تنتهى، لذا فى الواقع عند نزول نبضة البدء ستنتظر المتكاملة انتهاء باقى الدورة الحالية من 8 نبضات حتى تبدأ الجديدة مما يقلل إمكانية التحويل للنصف.*​ *عند اكتمال التحويل، تعطى المتكاملة وضع **HI** على الطرف 7 والمسمى نهاية التحويل واختصارا **EOC** وهذا يشعر العالم الخارجى أن لديه بيان للتحصيل ولكنه لا يكون متوافرا على خط البيانات **DB0-DB7** إلا بوضع **HI** على الطرف 9 والمسمى **OE*​ ​ *المرة القادمة إن شاء الله نعرف كيف نحول من رقمى إلى تماثلى.*​


----------



## ماجد عباس محمد (2 مايو 2011)

*التحويل من رقمى لتماثلى D/A Converter*

*التحويل من رقمى لتماثلى **D/A Converter*​ ​ *كيف نحول من رقمى لتماثلى؟ حسنا كيف حولنا من تماثلى إلى رقمى أصلا، ثم نعكس العملية.*​ *حولنا من تماثلى لرقمى بأخذ عينات من جهد الدخول، ثم عبرنا عن كل قيمة بعد (قيمة أو رقم)مناظر، أى اختارنا أسلوب للتعبير الرقمى، وكان الثنائى، و طابقنا قيمة هنا بقيمة هناك وذلك لأنه لا توجد قيمة قياسية للتعبير. فلا نستطيع أن نقول أن كل بت قيمتها كذا مللى فولت وإنما اختارنا مرجع للقياس لنقول العكس، أى لكل كذا مللى فولت سنضيف عد واحد وهكذا.*​ *حسنا سنعكس العملية أى نقول كلما نجد عد "بت" سنضع مقابلها كذا مللى فولت و طبعا سنأخذ فى الحسبان قوة العدد فواحد فى خانة المئات أكبر من 9 فى خانة الآحاد، بالمثل فى الأرقام الثنائية ، كلما تحركنا جهة الرقم الأعلى تتضاعف قيمة الجهد المناظر. فلو اختارنا 1 مللى فولت لكل عد ثنائى، سيكون الرقم الأدنى 1 مللى فولت ثم 2 مللى ثم 4 مللى ثم 8 مللى ثم 16 مللى ثم 32 مللى وهكذا، و طبعا لو اختارنا أى رقم آخر ستتكرر المتسلسلة فللقيمة 3.6 فولت ستكون القيم 3.6 ثم 7.2 ثم 14.4 ثم 28.8 ثم 57.6 وهكذا.*​ *كيف ننفذ هذا؟ بالتأكيد توصلت للحل وهو مكبر العمليات – هل وجدت مبرر لهذا الاسم؟ - فببساطة قيمة الخرج تعتمد على نسبة المقاومتين مضروبة فى جهد الدخول*​ *
*



​ *فمثلا فى المثال بالصورة و السابق شرحه فى سلسلة تصميم الدوائر الإلكترونية، نجد أن الخرج **Vout** سيساوى*​ *V3*R4/R1+V2*R4/R2+ V1*R4/R1*​ *و من المهم فهم هذه العلاقة، ليس مجرد كتابة رموز*​ *أولا:**الخرج يساوى مجموع تكبير كل المصادر الموصلة وليس فقط أحدها.*​ *ثانيا:** أن نسبة تكبير كل مصدر هى نسبة **R4** مقسومة على المقاومة المتصلة بهذا المصدر. أى لا تداخل بين المصادر وبعضها وهذه من أهم خواص مكبر العمليات.*​ *ثالثا:** قيمة المقاومة **R4** مشتركة فى جميع المصادر و بجعلها كبيرة أو صغيرة نستطيع التحكم فى قيمة الخرج بدون الحاجة لتغيير هذه المصادر، و بجعلها أصغر من مقاومة ما تنقلب النسبة إلى كسر أقل من الواحد أى ينقلب التكبير إلى تقليل أو الضرب فى ثابت إلى ضرب فى كسر أى قسمة على ثابت فالضرب × نصف مساويا للقسمة على 2*​ *




*​ ​ *جهد الدخول هنا ثابت لأنه رقمى أى إما صفر وهو صفر فولت أو واحد وهو 5 فولت،إذن يمكن حذفها من المعادلة لأننا يمكن استخدام أى جهد مرجعى آخر فيكون 1 فولت أو 1 مللى أو القيمة التى تريدها، أو كما ذكرنا بجعل المقاومة **R4** صغيرة نقسم على 5 أو حسبما تريد أن تكون قيمة الخرج.*​ *نأتى لأهم نقطة وهى قيم باقى تلك المقاومات.*​ *فى المثال المبين بالرسم، استخدم أربع مداخل فقط و قال أن أقصى خرج للمكبر هو 15 فولت والعد لأربع مداخل هو من صفر إلى 15 فأقل قيمة هى 15 ÷ 15 = 1 إذن استخدم مقاومتان 10 ك والثانية سيكون الضعف فبقسمة 10 ك ÷2 تكون 5 فولت و الثالثة هى ربع أى 10 ÷ 4 = 2.5 ثم 10 ÷ 8 = 1.25 كيلو*​ *نريد أن نزيد الدقة والمدى لثمانية مداخل. *​ *هل تذكر أول متكاملة **CMOS** درسناها وهى المفاتيح التماثلية **Analog Switches** ؟*​ *يمكننا استخدامها هنا فبدلا من أن نضع الجهد الرقمى مباشرة على مداخل المكبر، نضع هذه المفاتيح لتوصيل مداخل المكبر لجهد مرجعى كما بالرسم*​ *




*​ *استخدام جهد مرجعى يمكننا أن نختاره 1 مللى فولت أو 1 فولت حسب التطبيق والحاجة يريحنا من التقيد بخرج المكبر إذ يمكننا دوما اختيار مرجع يضعنا فى نطاق حركة أى مكبر، أيضا يمكننا أن نسير عكس المثال السابق، لذا نريد الأولى بقيمة 1 والثانية 2 والثالثة 4 والرابعة 8 والخامسة 16 والسادسة 32 والسابعة 64 و الثامنة 128*​ *حسنا يمكننا أن نجعلها بالكيلو أوم وهذا اختيار عملى ولو تفكر فى إنشاء دائرتك ربما ستختار نفس هذه القيم.*​ *للأسف ظهرت مشكلة صغيرة وهى أن خرج المكبر لا يصل إلى 255 فولت وهو المناظر لأقصى عد لثمانية مداخل ولكن هذه ليست معضلة فيمكن باستخدام جهد مرجعى مناسب 0.1 فولت يكون الخرج 25.5 فولت.*​ *لو أردنا زيادة عدد المداخل أكثر سنصل 256ك ثم 512 ك لعدد 10 خطوط ثم 1024ك أو 1.024 ميجا و 2.048 ميجا وهكذا، أظن أنك بدأت تشعر بعدم الارتياح تجاه هذه القيمة 1.024 ميجا أوم، كم ستكون دقتها إذن؟ لابد أن تكون 1% أو أفضل، ماذا لو شئنا زيادة عدد المداخل؟*​ *أجل أعلم أنك ماهر فى الدوائر الإلكترونية و ستقسم كل القيم ÷ 10 لكن هذا لن يعطينا كثير من المساحة للتحرك، لأن أقل قيمة كانت 1 ك ستصبح 100 أوم وهذا سيبدأ فى التحميل (سحب تيار كبير) من المرجع **Vref**.*​ *بالتأكيد قرأت الباب الخاص بصناعة الدوائر المتكاملة فى سلسلة "تصميم الدوائر الإلكترونية" و علمت منه أن المقاومة الكبيرة القيمة مثل 100ك قد تستهلك من مساحة السيليكون أكثر مما يستهلكه المكبر ذاته لذا فى تقنية الدوائر المتكاملة، هذا الحل غير عملى.*​ *وهذا يقودنا للنوع الآخر من المحول الرقمى التماثلى فى المرة القادمة إن شاء الله*​


----------



## islamoriqat (4 مايو 2011)

مشكورين يا جماعة


----------



## ماجد عباس محمد (8 مايو 2011)

*R-2R Ladder DACالمحول ذو السلم م-2م*

*R-2R Ladder DACالمحول ذو السلم م-2م *

*فى الدائرة السابقة لمكبر العمليات والتى نضعها هنا للتوضيح، سنجد أن المقاومة السفلى**R8** و المناظرة للمدخل **D7** ستعطى خرجا مساويا لجهد المرجع **Vref** و ذلك لكون المقاومة **R8** مساوية فى القيمة للمقاومة **R9** وهذا يجعل تيار المرجع **Vref** مقسوما على **R8** يمر فى **R9** مسببا هذا الخرج.*
*




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




​ *لو نظرنا لهذه الشبكة من مقاومات و ضعفها، فمثلا من عند المفتاح **D0** سنجد **R2** على التوازى مع **R1** و المحصلة تساوى **R** وهى تكون على التوالى مع **R3** المحصلة تساوى **R**2 وهى على التوازى مع **R4** و المحصلة تساوى **R**2 وهى تكون على التوالى مع **R5** و المحصلة تساوى **R**2 وهى على التوازى مع **R6** وهى تكون على التوالى مع **R7** وهى على التوازى مع **R8** ودوما المحصلة **2R*​ *بنفس القياس لو دخلت من أى خط ستجد نفس مقاومة الدخول إلا أنك لو دخلت من **D3** سيكون الخرج نسبة **RF** مقسوما على **R8** مضروبا فى **Vref*​ *لو دخلنا من **D2** سنجد محصلة الجزء السفلى **R1,R2,R3,R4,R5** تساوى **2R** فينقسم **Vref** مع **R6** إلى النصف عند النقطة **A*​ *لو دخلنا من **D1** سنجد محصلة الجزء السفلى **R1,R2,R3** تساوى **2R** فينقسم **Vref** مع **R4** إلى النصف عند النقطة **B** ثم إلى النصف مرة أخرى بالمقاومات **R5,R6** أى الآن نصف النصف أو الربع. *​ *لو دخلنا من **D0** سنجد محصلة الجزء السفلى **R1** تساوى **2R** فينقسم **Vref** مع **R2** إلى النصف عند النقطة **C** ثم إلى النصف مرة أخرى بالمقاومات **R3,R4** عند النقطة **B** ثم إلى النصف بواسطة **R5,R6** أى الآن الثمن، وهكذا.*​ *مما سبق نجد أن الحصول على 1/16 يتطلب زوج من المقاومات بنفس القسم ثم 1/32 أيضا وهكذا لأى عدد من أطراف الدخول أو دقة التمثيل دون الحاجة لقيم مقاومات عالية. فقط قيمة وضعفها.*​ *هذه الطريقة تناسب الدوائر المتكاملة نظرا لأن الحصول على قيمة واحدة مكررة يمكن تصنيعه بدقة عالية وكذا مقاومة بضعف أو نصف القيمة طالما كانت القيمة المطلقة ليس بالضرورة بهذه الدقة.*​ *بهذه الطريقة يسهل الحصول على محول 12 بت أو 24 بت.*​ *ماذا يحدث لو جهد الدخول سريع التغيير؟ هذا موضوعنا المرة القادمة إن شاء الله*​


----------



## بسام حداد (10 مايو 2011)

السلام عليكم 
ممكن مخطط دائرة كهربائية ان جمهنا رقمين يكون الحاصل (الجواب ) من 8 منازل


----------



## ماجد عباس محمد (10 مايو 2011)

تقصد لو جمعنا عدد من سبعة خانات مع آخر يكون الناتج من 8 خانات؟
هذا مبنى على دائرة الجمع التى سيأتى شرحها إن شاء الله


----------



## ماجد عباس محمد (22 مايو 2011)

*احتفظ بعينة Sample And Hold*

*احتفظ بعينة **:Sample And Hold*​ ​ *هل توجد دائرة بهذا الاسم؟ حسنا*​ *ماذا لو كانت الإشارة التماثلية تتغير بينما نريد إبقاؤها لفترة؟ مثلا مقياس للقياس فى منطقه صعبة حيث لا تقرا الشاشة بسهولة؟ أليس من الأفضل تثبيت القراءة لنتمكن من ذلك؟*​ *ماذا لو محول التماثلى يحتاج بعض الوقت – وهو بالفعل كذلك – و تغيير قيمة الدخل يسبب خطأ فى النتيجة؟*​ *ماذا لو لدينا عدد من المصادر التماثلية و نريد نقلها مسافة للمعالجة؟ سنحتاج كامل معزول والمسمى **Shield** لكل إشارة للحماية من التداخلات، وهو مكلف الثمن ، بينما المصادر لا تتغير بسرعة عالية، أليس من الأفضل نقل القيم بالتتابع على كابل واحد بدلا من عشرة و كابل آخر عليه نبضة للتبديل بينها؟*​ *فى الحالات السابقة، كما فى حالات أخرى كثيرة نحتاج لدائرة عملية و غير مكلفة تستطيع حفظ قيمة الجهد التماثلى لفترة ما ريثما تتم المعالجة.*​ *ما يحتفظ بالجهد، نعرف أنه المكثف، وكلما زادت جودته، احتفظ بها لفترة أطول، وهذا يشير بالتحديد لجودة العازل المستخدم بين ألواحة.*​ *بالتأكيد ستقول مكثف ميكا يقدم أفضل أداء، سأقول نعم و أيضا مكثف سيراميك فضلا عن أنواع قليلة أخرى تقدم الحل.*​ *لكن المشكلة ليست فى المكثف، المشكلة فى باقى الدائرة.*​ *إذن ما هى الدائرة؟*​ *كما قد تكون استنتجت بالفعل، مفتاح يجعل جهد المكثف يساوى جهد المصدر، وآخر لتفريغ المكثف و الدائرة التى تغذى الحمل أو ما تريد أن تعالج به هذا الجهد.*




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




*​ *بقى أن ندرس مكبر الخرج.*​ *فى الواقع لا نحتاج لكسب، فالهدف هو الحفاظ على القيمة دون تغيير، و عزل المكثف كليا عن الحمل. وهذا يقترح علينا دائرة العازل **Buffer** وهى مكبر عمليات مع ربط الخرج بطرف الدخول العاكس لنحصل على كسب مساويا الواحد الصحيح و سيكون الدخل الغير عاكس (الموجب) هو المستخدم. وهو مشروح تفصيلا فى الدوائر الإلكترونية.*​ *لكن كل المكبرات لها تيار انحياز للدخول وهو يتطلب رعاية خاصة لمعالجة أثره و سيسبب بالتأكيد خللا فى قيمة الجهد على المكثف!*​ *هذا يقترح استخدام مكبر من نوع **CMOS** والذى تيار دخوله بيكو أمبير، أعلم أنك ستعترض أن السويتش قد يكون بطيئا نوعا ما ، ولهذا لا توجد دائرة لكل الترددات، فالبطيئة للتغيرات البطيئة و السريعة للتغيرات السريعة، وهذا لا يعنى عدم إمكانية استخدام السريعة حينما يكون التغير بطيئا و لكن فقط عدد المرات التى ستأخذ فيها عينة سيظل سريعا بالمعدل المطلوب.*​ *لماذا إذن؟ حقا سؤال جيد و الإجابة أن التغير السريع لا يكون دوما مستديما، فقد يحدث تغيير فجائى أو سريع التغير ثم يثبت لفترة ثم يعود للتغيير. أبسط مثال صورة التلفاز حيث يكون التغير طوال رسم الخط قرابة 4 مليون تغير أى نحتاج 250 نانو ثانية تثبيت لكل قيمة أى سرعة على الأقل 10 مرات لأخذ العينة لنثبتها 250 نانو ثانية، ثم قد يأتى بعده عدة خطوط خالية المعالم لرسم خط أفقى بعرض الشاشة وفيه تبقى القيمة حوالى 64 مايكرو ثانية(تقريبا) بدون تغيير و غيرها من الأمثلة الكثير.*​ *الدوائر العملية والمتكاملات؟ موضوعنا القادم إن شاء الله*​


----------



## ماجد عباس محمد (28 مايو 2011)

*دوائر الاحتفاظ بالعينة Sample And Hold*

*دوائر الاحتفاظ بالعينة **Sample And Hold*​ ​ *بناء على الشرح السابق سيكون لدينا نوعين من المتكاملات لتحقيق الطريقتين. الطريقة الأولى هى توفير المفتاح المناسب و يضاف المكثف للدائرة خارجيا حيث تناسب الترددات البطيئة و أخرى تشتمل على مكثف عالى الجودة داخليا ولكن من هندسة المتكاملات و التى سبق شرحها فى سلسلة الدوائر الإلكترونية نجد أنه سيكون صغير **القيمة و من ثم تناسب الدائرة المعدلات السريعة و السريعة جدا.*​ *الدائرة الأولى يمكن استخدام أى متكاملة تعمل كمفتاح و سبق ذكر العديد منها مثل 4066 4051 4052 4053 و للحصول على مدى جهد أكبر و أداء أفضل، هناك المزيد من المتكاملات مثل **MAX333** والتى تصنعها شركة **Analog Devices** وهى تحتوى أربع مفاتيح مزدوجة المسار كما بالرسم.*​ *




*​ *الطرف المتحرك الأول متصل بالطرف 3 وهو مميز بالدائرة السوداء و عادة يتصل بالطرف 4 المميز بالدائرة المفرغة وعند التفعيل ينتقل للطرف 2 المميز بالدائرة المفرغة و طرف 1 هو المتحكم و المميز بالمثلث رمز دائرة **Buffer** أو عازل.*​ *الطرف 10 هو المتحكم الثانى فى المفتاح من 8 إلى 7،9 و هكذا.*​ *أطراف التغذية هى 16 للجهد +15 فولت و 5 للجهد-15 فولت و 6 للأرضى، ويلاحظ هنا أن الجهد +/-15 فولت ليتيح التعامل مع جهود تماثلية حتى +/-10فولت.*​ *الدائرة بالرسم هى تطبيق لهذه المتكاملة فى هذه الدائرة حيث المكثف المبين باللون الأحمر هو الذى يحتفظ بالجهد و الدائرة تستخدم مفتاح توصيل وآخر للتفريغ. المتكاملة صالحة للاستخدام فى عديد من التطبيقات الأخرى كالتحكم فى الإشارة أو تصنيع "بدال – سنترال – سويتش" محلى صغير أو أى استخدام يتطلب تيار تغذية قليل فهى لا تستهلك أى تيار.*​ *النوع الثانى من الدوائر المتكاملة المحتوية على المكثف داخليا منها **AD585** وهى كما بالرسم ألمبينه باللون الأصفر *​ *




*​ *حيث نجد بها مكبر عمليات **A1** به مكثف 100 بف و مكبر آخر يعمل كعازل **Buffer** و دائرة تحكم مكونة من دائرى **NAND Gate ** لإتاحة التحكم بأكثر من مدخل.*​ *المكبر الأول مزود بمداخل للتحكم بجهد الخرج و ضبط الصفر أى معالجة أى انحراف غير طبيعى فى جهد الخرج.*​ *هل يمكن لدوائر المنطق أن تحسب؟ دوائر الجمع موضوعنا القادم إن شاء الله*​


----------



## عماد المشهداني (4 يونيو 2011)

جزاك الله كل الخير يااستاذنا العزيز الباش مهندس ماجد
مجهود عظيم يستحق كل الشكر والثناء
كثر الله من امثالكم وجعل هذا العمل والمجهود الجبار في ميزان حسناتكم 
تقبل اطيب التحيات . امنياتنا لكم بالتوفيق والسداد
​


----------



## ماجد عباس محمد (4 يونيو 2011)

أسعدنى مروركم الكريم


----------



## ماجد عباس محمد (3 أغسطس 2011)

*دوائر الجمع **Half Adder/ Full Adder*​ *فى بداية الحاسبات الإلكترونية، تم تصنيع دوائر تكبير بالصمامات القديمة نفذت عمليات حسابية هى الجمع الطرح والضرب والقسمة و حساب اللوغاريتمات ، ولهذا سميت مكبر العمليات **Operational Amplifier** و نفذت بها حاسبات تماثلية متقدمة جدا فى وقتها ولكن تفتقر للبرمجة بالأسلوب المفهوم لنا الآن، وهو ما دفع للطور الحالى. هل تستطيع الدوائر المنطقية الحساب؟ *​ *دوائر الجمع هى دوائر تستخدم البوابات لتحقيق وظيفة الجمع الحسابية، بالنسبة لخطين نتخيل مربع له مدخلين و بالطبع سيكون له خرجين، حاصل الجمع و المحمول **Carry** إن كان هناك باقى نتيجة الجمع. لنرسم أولا جدول التحقق أو الحقيقة لنعلم ما يجب أن يكون فى كل من المخارج مقابل كل دخول.*​ *



*​ *لو أردنا جمع الرقمين **A,B** حيث كل منهما واحد أو صفر، نلاحظ أن الخرج سيكون صفر مع كلا المدخلين مساويان للصفر، و لو أى من المدخلين واحد سيكون الخرج مساويا واحد لكن عندما يكون الدخلين مرة أخرى آحاد، يعود الخرج صفر مرة أخرى.*​ *هل نذكر هذه الحالة؟ الم تكن دائرة "أو المطلق" **X-OR** التى سبق شرحها؟*​ *أيضا نلاحظ أن الخرج **Carry** دوما صفر إلا عندما يكون المدخلين معا واحد وهنا فقط ينتج **Carry**، الم نتذكر هذه أيضا؟ دائرة "مع" **AND**.*​ *حسنا أصبح الأمر سهلا، بوابة **XOR** مع أخرى **AND*​ *



* 
*حسنا لكن ماذا لو كان المدخل أكثر من بت واحدة؟*​ *سنأخذ خرج الأولى لندخله للثانية، ولكن كيف نوصل **Carry** من الأولى للثانية؟*​ *لهذا سميت السابقة نصف جمع **Half Adder** و سيكون ما نريد هو الجمع الكامل **Full Adder*​


----------



## maah2008 (30 أغسطس 2011)

شكرااا


----------



## ام احمد عاصم (15 أكتوبر 2011)

جزاك الله عنا كل خير وجعله فى ميزان حسناتك


----------



## الدهب الاسود (15 مايو 2012)

شكرااااااااااااااااااااااااااااااااااااااااااااااااااا


----------



## أبو موئل (19 مايو 2012)

thanks alot


----------



## ابوصلاح الفاضلي (19 مايو 2012)

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


----------



## balla shado (19 مايو 2012)

تسلم كتيييييير على الموضوع المفيد


----------



## ahmed.202025 (19 مايو 2012)

جزاك الله خيرا


----------



## ماجد عباس محمد (30 يوليو 2012)

*دائرة الجمع الكامل Full Adder*

*دائرة الجمع الكامل Full Adder*

*لنكرر ما فعلناه المرة السابقة هنا فنرسم جدول به خمسة أعمدة ثلاث مداخل **A, B, C** و مخرج الجمع و **Carry**.*





 
*سنلاحظ من هذا الجدول أن الخرج سيكون واحد طالما عدد المداخل فرديا وهذا يتحقق بدائرتى **XOR** وسبق شرحهما عندما تحدثنا عن تعريف **XOR** ، أما المحمول **Carry** سيكون له حالة من اثنتين. الأولى لو كلا المدخلين واحد وهو ما تحققه دائرة "مع" **AND** السفلية والأخرى، لو أى مدخل "مع" **Carry** وهو ما تحققه دائرة "مع" **AND** العلوية وطبعا بداية قلنا حالتين، كذا "أو" كذا وهو ما يفرض دائرة "أو" **OR*





*هكذا نستطيع أن نجمع مدخلين مع **Carry**، فكيف نمد هذا لعدد من المداخل؟*

*الطريقة الأولى هى كما بالعدادات طريقة الموجة أو **Ripple** وهى لأن ناتج جمع الأولى سيدخل منه **Carry** الثانية و خرج الثانية سيدخل منه **Carry** للثالثة وهكذا وهو بالطبع بطيء نوعا ما وهو باعتبار أن الجمع الكامل ممثل بمربع يكون كما بالرسم. *






*لحسن الحظ، كما أمكن التنبؤ بوقف **Carry** فى العدادات لنعمل المتزامن وهو أسرع، يمكننا التنبؤ بهذا **Carry** من الجدول السابق لزيادة السرعة إلا أنها ليست بنفس البساطة و تحتاج دائرة لكشف حالة المحمول **Carry** لذا أعطيت اسم "المتنبئ" **LOOKAHEAD* *CARRY** وهى تعطى خرج بناء على حالة المداخل فتسرع عملية الجمع وهى تبنى بعدد من البوابات و تخضع لعدة تقنيات مختلفة لتحقيق ألسرعة المطلوبة. مثال متكاملة الجمع الكامل 4 بت برقم **CD4008 *

*CALC-CARRY_LOOKAHEAD_ADDER.PNG*





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


----------



## rahmman (12 أغسطس 2012)

بسم الله ماشاء الله


----------



## al_mohtarf1988 (20 ديسمبر 2012)

الموضع جيد ومتعوب فيه وأسال الله العلى العظيم أن يزيدك علما وأن يفتح عليك بركات من السماء و ألأرض 
سأقوم بنقل كافة الموضوع على ملف وورد وقراءته بالتفصيل 
وأخيرا يا باشمهندس ماجد أقول 
لو كانت نجــــــــوم السمـــــــــاء تهدى لصنعنا منها عقدا وأهديناكـــــم
ولو كانت أنهار عدن فى الأرض تجرى لملئنا منها الكؤوس وأسقيناكم
ولو كانــــــت الأرض ملـــكــــا لنا لقطــعنـــا منها وأعطيناكـــم
أقولــهــا بصدق أننــا فــــى الله قبــل أن نلتقـى قـــد أحببناكــــم


----------



## ماجد عباس محمد (20 ديسمبر 2012)

أخى
لا أجد كلمات أفيك حقك
شكرا جزيلا


----------



## ramocha (25 مايو 2013)

الله يزيدك من فضله


----------



## ماجد عباس محمد (10 سبتمبر 2015)

*الذاكرة*

*الذاكرة:*

*كانت الذاكرة من أكبر المشاكل منذ بدء عصر الكهرباء حتى تم اختراع المفتاح النقال **Toggle Switch** والذى يستقر بواسطة "نابض" أو "سوسته" أو "ياي" فى وضعين، ثم اخترع الريلاى و تم تطويره ليمثل المفتاح السابق وكان به ملفين أحدهما للنقل لوضع منهما والآخر للعودة للوضع الأصلى، ثم تم تصنيع آخر بملف واحد و عكس اتجاه التيار يعكس وضع الريلاى وكان ذو فائدة كبيرة عند انقطاع التيار إذ يحتفظ "يتذكر" الوضع قبل انقطاع التيار.*
*لا ينكر دور هذا الريلاى فى عمل السنترالات (المقسمات) فى عالم التليفونات (الهواتف) الأرضية.*

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

*أنواع الذاكرة المتطايرة:*

*الذاكرة الساكنة:*
*لدينا ما أسميناه المساكات **Latches**، ماذا لو جمعنا كمية منها معا؟ كل ما نحتاجه هو وسيلة تحديد أى خانة نريد التعامل معها، وهذا أيضا تعاملنا معه وهو **Decoders** أو محلل الشفرة.*
*إذن سيكون لدينا العدد المطلوب من المذبذب الثنائى الاستقرار المعدل بصورة **D-Type** أو المساكة ودائرة تحليل العنوان.*
*التركيب السابق يكون مجموعة من الخانات التى تعمل كذاكرة جيدة، و عند التنفيذ العملى بتقنية **TTL** سنحتاج كمية كبيرة من البوابات التى تكون المذبذبات و كمية أخرى تكون محللات العنوان الخ مما يجعل التكلفة المادية كبيرة، لذا نستطيع استخدامها حيث تكون السرعة أهم من الكلفة.*
*مع تقدم العلوم و ظهور تقنية الترانزستورات من نوع ** FET**وتطورها و ظهور **MOSFET**، ظهرت تقنيات مرحلية عديدة منها النوع السالب المسماة **NMOS** والنوع الموجب و المسماة **PMOS** و هى تحتاج لعدد أقل كثيرا من الترانزستورات لعمل نفس البوابة مما أتاح تصنيع ذاكرة ذات سعة أكبر بنفس مساحة السليكون وبالتالى كلفة أقل.*






*هذه الدائرة ببساطة هى المذبذب الثنائى الاستقرار السابق " داخل المستطيل الأصفر" و المكون من 2 ترانزيستور **Q1,Q2** من النوع السالب القناة **N-MOS** إلا انه كما سبق أن شرحنا أن المقاومات تستهلك كثيرا من مساحة السيليكون ، لذ تستبدل بترانزيستورات و هما **Q3,Q4** و لزيادة السرعة يستغل خاصية أنهما يوصلان ويفصلان كأى ترانزيستور عادى لذا توصل الإشارة لبوابتيهما أيضا كما بالرسم.*
*لتحديد الصف، يستخدم الخط العلوى باللون الأحمر و عند وضع 1 عليه يتيح كلا من الترانزيستور **Q5,Q6** لهذه الخلية و باقى الخلايا فى نفس الصف.*
*لتحديد العمود يوضع جهدين متعاكسين 1 على الخط الأحمر الرأسى الأيمن و عكسه صفر على الخط الأيسر الرأسى لحفظ البيان 1 فيه أو العكس بالعكس لحفظ البيان صفر.*

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


----------



## ماجد عباس محمد (14 سبتمبر 2015)

*الذاكرة الديناميكية:*

*الذاكرة الديناميكية:*
*جاءت فكرة هذه الذاكرة عندما تمكن العلماء من تصنيع المكثفات بتقنية الدوائر المتكاملة، عندها أمكن تصنيع الخلية بدلا من مذبذب مكون من عدد من المكونات، صنعت الخلية من ترانزيستور واحد و مكثف كما بالصورة لذاكرة 4×4 لتسهيل التوضيح*






*كل صف مكون من 4 خلايا وهو يعبر عن عرض الكلمة أو البيان مثلا 4 أو 8 أو 16 حرف الخ حتى 64 حرف حاليا .*
*عدد الأعمدة والتى تعبر عن سعة الذاكرة 64 كلمة أو 128 أو أكثر حتى وصلنا إلى جيجا الآن.*
*المكثف هو العنصر الفاعل والذى يحتفظ بالبيان و الترانزيستور هو المفتاح الذى يحدد لنا أى مكثف نتعامل معه الآن.*
*لكى تضع قيمة ما فى الصف الأخضر، يجب وضع العنوان **Address** والذى يحدد الصف المطلوب كتابته. لاحظ وجود أسفل الصورة وحدة ثلاثى الحالة **Tri-State** لكى تحدد ما إن كان اختيارنا لهذه الذاكرة أو وحدة أخرى، ثم ثلاث وحدات سنتحدث عنهم لاحقا وأخيرا طاقم من المفاتيح التى تحدد إما أن تكون الخطوط الزرقاء متصلة مباشرة بالخارج أم ستعبر تلك الوحدات. الآن لو تريد الكتابة فى هذا الصف، تكون المفاتيح على الوضع الأيمن مما يجعل البيانات تأتى من الخارج مباشرة إلى الخط الأزرق والذى ينتهى كل خط بطرف ترانزستور **MOSFET** والذى نعلم أنه يكون كالقصر عندما يكون متاحا. الصف الأخضر فقط سيكون متاحا بسبب وضع العنوان وبالتالى إن كان الدخل على خط ما صفرا سيفرغ شحنة المكثف المناظر و إن كان واحد سيشحن ذلك المكثف و هكذا بالنسبة للباقى.*
*للقراءة من ذات الصف، فإن وضع العنوان سيتيحه، و من ثم وضع أمر القراءة بدلا من أمر الكتابة سيقلب هذه المفاتيح للوضع المبين بالرسم والذى يجعل هذه الترانزستورات متصلة بمكبرات التحسس **Sense Amplifier** والتى تضع القيمة بدورها لطاقم من المساكات **Latch** لتثبيتها و منها عبر ثلاثى الحالة **Tri-State** لخارج المتكاملة.*

*سبق أن ذكرنا أن الجزء الفاعل هو المكثف، هل هناك مكثف مثالى؟ قطعا لا ومن ثم هذه الشحنة ستتسرب فى خلال زمن ما يعتمد على قيمة المكثف. أعلم أنك ستعترض قائلا أن العازل الأفضل سيقلل التسريب ولكن هل لديك أفضل من أكسيد السليكون المستخدم؟ على أى حال إما نجعل المكثف كبيرا فتقل سعة الذاكرة (عدد الخلايا لكل مم2) أو نجعلها صغيرة فيقل الزمن، من هذا اختار العلماء زمن 0.1 ثانية . ولكن ما فائدة 0.1 ثانية؟ حسنا لحسن الحظ أن القراءة يمكن كتابتها مرة أخرى دون عائق مما يجدد القيم بها ومن هنا جاء الاسم "ديناميكية" أى يجب أن تداوم الكتابة فيها أى تجعلها فى حركة دائمة حتى لا تفقد ما بها من معلومات بالمقارنة بالسابقة المسماة الساكنة حيث تكتب مرة واحدة و تظل البيانات باقية مادامت التغذية الكهربية موجودة أو تغيرها عمدا.*
*كيف نقرأ ونحن نريد الكتابة؟ حسنا هذه مشكلة لن تحتاج أن تعول لها هما، فهذه الذاكرة تستخدم مع الميكرو بروسيسور وهو مجهز ذاتيا بدورة قراءة "عمياء" **Dummy Read** حوالى 15 مرة بالثانية و على المقابل تكون الذاكرة مجهزة بخط تحكم لها الغرض يفعله الميكرو بروسيسور أثناء هذه الدورة والتى يكون عادة فيها مشغول بتحليل البيانات التى قرأها، و تسمى هذه الدورة باسم دورة التجديد أو الإنعاش **Refresh Cycle"**". تستجيب الذاكرة لهذا الخط أو المر بأنها تتيح ما يوازى 1/10 من سعتها لهذه العملية التى تهدف فقط لتجديد البيانات ولا يذهب خرجها لأى مكان وهذا دور الجزء الأخير الذى لم نتكلم عنه حتى الآن. هذه الذاكرة هى الذاكرة الرئيسية فى الحاسب الآلى.*
*الشرح السبق مبسط ليسهل فهمه و هناك شروحا أخرى أكثر تعقيدا و لكن يكفينا كيف نستخدمها و ما يلزم لذلك.*


----------



## ماجد عباس محمد (15 سبتمبر 2015)

*أنواع الذاكرة غير المتطايرة*

*أنواع الذاكرة غير المتطايرة:*

*الذاكرة الغير متطايرة هى تلك التى لا تفقد ما بها حتى عند انقطاع التيار، وهذا النوع هام جدا للحفاظ على البيانات الثابتة التى لا تتغير لفترات طويلة و بيانات ضبط الأجهزة و البرامج الواجب تشغيلها ولا حاجة لتحديثها كل فترة.*
*حسنا، و ماذا لو لم أعلم مسبقا بهذه البيانات و يجب تحديدها فى الموقع؟ .*
*إذن فالذاكرة الغير متطايرة تنقسم لنوعين رئيسيين نوع ثابت و لذلك تسمى ذاكرة قراءة فقط و اختصارا **ROM** أى **Read Only Memory** و أخرى قابلة للبرمجة.*
*الذاكرة **ROM*:
*يتكون هذا النوع من محلل للعنوان كما توقعت يعطى مجموعة من الخطوط تمثل الأماكن المطلوب التعامل معها وهى باللون الأزرق فى الرسم. و أيضا مجموعة من الخطوط الرأسية التى تكون المخارج والتى تمر عبر معزز و مجموعة تحكم ثلاثى الحالة **Tri State** أو المجمع المفتوح **Open Collector/ Open Drain** حسب كونها **TTL** أو **CMOS** . من المتوقع أن يكون الخرج على أى خط مساويا للصفر لعدم اتصال المدخل بمصدر تغذية لذا حيث تريد أن يخرج "واحد" يضع المصنع أثناء التصنيع ثنائى كما باللون الأخضر.*






*هل هذا يعنى أن هذه المتكاملات ليس لها صفحة بيانات؟*
*على العكس لها صفحة بيانات **Data Sheet** ولكن يشرح كل شيء ما عدا المحتوى فيحدد لك التقنية المستخدمة و السعة كذا كلمة × كذا خط و جهد التغذية و تيار الخرج الخ، لكن لا تجدها بالسوق و عليك أن تطلبها من الشركة المنتجة و ترسل لها جدول بالمحتوى و يمكنك أيضا أن تطلب الاسم الذى تريد كتابته عليها لأن المحتوى يخضع لقوانين حقوق الملكية ولا يبيع منها لأحد سواك، و طبعا لكى يقوم بصناعتها لآبد أن يصنع قناع **Mask** خاص بترتيب الثنائيات داخلها وهذا مكلف جدا لذا لا تكون أسعارها عملية سوى للكميات الكبيرة بدء من 100 ألف قطعة**.*
*و ماذا لو لم أحتاج لهذا القدر من الوحدات؟ و ماذا لو حدث خطأ كما هو الحال فى مرحلة التصميم والبناء؟!! هل تذهب الكمية كلها سدى؟!!*


----------



## ماجد عباس محمد (17 سبتمبر 2015)

*الذاكرة القابلة للبرمجة prom*

*الذاكرة القابلة للبرمجة **PROM*:
*يتكون هذا النوع كسابقه من محلل للعنوان كما توقعت ليعطى مجموعة من الخطوط تمثل الأماكن المطلوب التعامل معها وهى باللون الأزرق فى الرسم. و أيضا مجموعة من الخطوط الرأسية التى تكون المخارج والتى تمر عبر معزز و مجموعة تحكم ثلاثى الحالة **Tri State** أو المجمع المفتوح **Open Collector/ Open Drain** حسب كونها **TTL** أو **CMOS** . *
*على العكس من السابقة، يتوقع أن يكون الخرج على أى خط يساوى "واحد" **HI** وذلك لاتصال المدخل بالمخرج بواسطة فيوز أى منصهر كما باللون الأخضر.*




*لكى تبرمج هذه الوحدة، ستحرق بعض من هذه الفيوزات أو المنصهرات و من هنا التصق أسم "الحرق" أو **"Burn"** بعملية البرمجة حتى بعد تغير المفهوم. لتفعل هذا، تجد خط آخر مكتوب علية كلمة "برمجة" **Program** و من البيانات **Data Sheet** تجد كيفية تنفيذ هذه الخطوة، فمثلا بعض المتكاملات تحتاج جهد مخصص للبرمجة ولفترة زمنية قصيرة وله مدخل مخصص والبعض تحتاج فقط لزيادة جهد التغذية من القيمة العادية +5فولت إلى قيمة البرمجة والبعض يكفى تفعيل البرمجة مع خط اختيار المتكاملة. النقطة حيث تمت برمجتها "حرقها" تعطى مستوى "صفر" **LO** .*
*لهذا نجد أنها تحتوى مجموعة من المعززات المختصة بالبرمجة. و لبرمجتها تضع أولا العنوان ثم البيانات المطلوبة و أخيرا تفعيل البرمجة التى تقوم بحرق الفيوز أو المنصهر حيثما تريد أن تكون القيمة "صفر".*
*لاحظ أن الفيوز أو المنصهر لا يمكن إصلاحه و إذا برمج خطأ لا يمكن معالجة الأمر. *
*دوما تستطيع حرق مزيد من الفيوزات / ألمنصهرات لكن لا تستطيع إصلاح أحدها. *
*عديد من التقنيات ابتكرت بعد هذا لكنها تدور حول نفس المفهوم وهو إتلاف مكون ما فى موقع البرمجة، بعض هذه التقنيات سميت **Antifuse** وهو عكس المنصهر لأن المكون بعد البرمجة يتحول إلى "قصر" بين أطرافه ومن هنا أتت التسمية. جدير بالملاحظة أن الدوائر تعدل أيضا بحيث أصبحت فى غالبة الأحوال تأتى الذاكرة وكل المخارج تعطى مستوى "واحد" **HI** و عند البرمجة تتحول إلى مستوى "صفر" **LO** .*
*هذا أمر طيب، قد حل مشكلة و ترك أخرى. حل مشكلة البرمجة فى الموقع و الكمية الكبيرة لكن ترك مشكلة أكبر وهى احتمال الخطأ.*


----------



## ماجد عباس محمد (19 سبتمبر 2015)

*الذاكرة القابلة للبرمجة والمسح eprom,eeprom*

*الذاكرة القابلة للبرمجة والمسح **EPROM,EEPROM*:

*الذاكرة القابلة للبرمجة والمسح بالأشعة **EPROM,*:

*اكتشفت هذه الخاصية للذاكرة عند فحص متكاملة تالفة حيث كانت بوابات **Gates** بعض الترانزستورات قد انفصلت عن الدائرة، شحنه هذه البوابات غيرت خواص وأداء الدائرة.*




*الخلية الواحدة كما بالصورة تتكون من ترانزيستور واحد **MOSFET** و بوابته **Gate** معزولة و ليست متصلة بأى شيء لذا تسمى "عائمة" **Floating Gate** ثم تعلوها طبقة من أكسيد السليكون ثم البوابة الحاكمة **Control Gate ** .*
*عادة سيكون الترانزيستور فى حال القطع **OFF** و بتركيب مجموعة منها على شكل مصفوفة لتكوين ذاكرة عادة بعرض 8 بت × ألاف المواقع و توصيل المصب **Drain** لكل وحدة بشبكة العنوان، تكون هذه المواقع غير مبرمجة وتعطى أحاد **HI** و تقرأ **FF** لكل بايت. *
*لبرمجة موقع منها يوضع العنوان المناسب و البيانات ثم يسلط جهد كافى لإحداث انهيار **Avalanche** كما بالثنائى الزينر " يمكن الرجوع لذلك فى السلسلة الخاصة بالإلكترونيات" والذى من شأنه أن يوصل تيار للبوابة العائمة **Floating Gate** فتسبب تواجد شحنة عليها تسبب فتح هذا الترانزستور **ON**. نظرا لأن العازل هو أكسيد السيلكون، فليس من المتوقع تفريع هذه الشحنة قبل عدة عقود.*

*لمحو برمجة هذه الذاكرة نحتاج لأشعة سينية **X Ray** أو فوق البنفسجية **Ultra Violet** بطول موجى **253.7 nm** بطاقة **15 W-sec/cm2** لمدة 20 إلى 30 دقيقة و المصباح على بعد بوصة أو 2.5 سم. هذه الأشعة تأين العازل و تسبب تسريب لهذه الشحنة، أيضا التعرض لضوء الشمس لمدة أسبوع أو ثلاث سنوات لضوء لمبة فلوريسنت بالغرفة يسبب المحو.*





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


*الذاكرة القابلة للبرمجة والمسح الكهربى**EEPROM*:

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

*ذاكرة الفلاش **Flash Memory*:





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


----------



## ماجد عباس محمد (20 سبتمبر 2015)

*وحدة الحساب والمنطق Arithmetic and Logic Unit*

*وحدة الحساب والمنطق **Arithmetic and Logic Unit*

*يمكننا باستخدام ما سبق أن درسناه أن نكون وحدة تكون هى قلب الحاسب الإلكترونى الحديث وهى وحدة الحساب والمنطق. هذه الوحدة ببساطة عبارة عن مجموعة من البوابات تتلقى عددين من عدة أرقام ثم نجرى عليهما واحدة من مجموعة عمليات. هذه العمليات ببساطة هى الجمع والطرح و المقارنة و الإزاحة لليمين (الضرب × 2) أو الإزاحة لليسار (القسمة على 2) و التكميل أو العكس أى إيجاد الرقم المكمل لأحدهما و كل هذه العمليات سبق شرحها.*
*الجمع يمكن تحويره ليصبح زيادة واحد أو ما يسمى **Increment** أو نقصان واحد أى **Decrement** وهى هامة جدا لأن البرامج تتكون من سلسلة من التعليمات أو الخطوات المتتالية والتى تحتاج غالبا من قراءتها بالتسلسل كما أن البيانات كثيرا ما تخزن بالذاكرة بصورة جدول من خانات متتالية و تحتاج التعامل معها أيضا بنفس الأسلوب.*
*لدينا عينة مثل **74LS181** وهى تمثل هذه الوظيفة و يمكن قراءة كافة تفاصيلها من صفحة بياناتها. نظرا لأن كل مكوناتها سبق شرحها فلا داعى لتكرار هذا الآن.*

*يرمز لوحدة الحساب والمنطق بالرسم على هيئة حرف **Y** اللاتينى حيث يدخل الرقمين من مدخلى **A,B** بالأعلى و تخرج النتيجة من **R** بالأسفل و تحدد العملية المطلوب تنفيذها من المجموعة **F** و نواتج التنفيذ على المجموعة **D** .*






*يجب أن نلاحظ هنا أن **A,B,R** لهما سعة الكلمة المراد معالجتها، فلو كانت مثلا 4 بن تكون كل من **A,B,R** لها 4 خط ولكن **F** لها عدد من الخطوط يكفى لعدد الأوامر أو العمليات، فلو تستطيع تنفيذ 16 عملية، تكون **F** لها 4 خطوط ولو تستطيع 32 عملية تكون **F** لها خمسة خطوط وهكذا. المجموعة **D** عادة لها عدد ثابت من الخطوط حيث تعبر عن نتائج العمليات و عن حالة الوحدة مثل ناتج الجمع **Carry** و ناتج المقارنة مثل تساوى الأرقام أو أيها أكبر الخ. *





*للتوضيح تم تلوين المدخل **A** بالأحمر و **B** بالسماوى و المخرج هنا **F** وهو باللون الأصفر و مجموعة ألتحكم من جزأين ، الأوامر باللون الأخضر و حالة **Carry** و نظام العمل **M** لتحديد أى نوع من **Carry** هو باللون البرتقالى. مجموعة المخارج بالأرجوانى و تحدد **Carry** و نتائج المقارنة وهى تهدف لإمكانية التوسع من 4 بت لأكثر من ذلك حتى تكون القيمة المطلوب التعامل معها.*

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


----------



## ماجد عباس محمد (21 سبتمبر 2015)

*الميكرو بروسيسور :Micro- Processor*

*الميكرو بروسيسور **:Micro- Processor*

*حاولت عديد من الشركات تطوير وحدات الحساب والمنطق و إنتاج مايكرو بروسيسور ناجح وهى شركات إنتل **INTEL** و موتورولا **Motorola** و روكويل **Rockwell** و زيلوج **Zilog** وبالطبع تكساس انسترومنتس **TI** و كلها أنتجت وحدات ناجحة إلا أن لكل منها سمات خاصة جعلت نجاح بعضها أكثر فى مجالات معينة بينما نجاح الأخريات فى مجالات أخرى و كانت أشهرها الأربع الأول و انضمت لهم شركة **AMD** لذا سنشرح هنا الأساس ثم الاختلاف و من ثم التطبيقات و سنبدأ بالأشهر وهى 8 بت ثم التطور حتى 64 بت.*

*للتخلص من تعقيدات الاستخدام كان لابد من تبنى وحدة الحساب والمنطق مع ما يلزم، إذن ما هو ذلك الذى يلزمنا لنستخدمه؟*

*أولا مجموعة البيانات **Data Buss** أى تكون واحدة تقبل المدخلات و تخرج النتائج حتى لا نتوه فى أين نذهب بها، إذن ليكن لدينا داخلها مجموعتين من المسجلات **Registers** الأولى للرقم الأول و الثانية للرقم الثانى. وكلها 8 خط أى 8 بت.*
*و ماذا عن النتيجة، حسنا إما نضيف ثالث يعقد لنا الأمور عندما نريد استمرار العمليات أو نجعل النتيجة تذهب لأحد المسجلين السابقين فما عدنا نحتاج محتوياتهما على أى حال. حسنا أيهما؟*
*لا فرق، فقط سنسميه "مراكم" **Accumulator** لأن النتائج "تتراكم فيه" و بهذا يكون هو الأساس وهو نخصه بأى وظائف لا نحتاج تكرارها فى كل مسجل. كما أنه الأساس فى عملية الطرح أى نطرح منه.*

*حسنا من أين سنأتى بالبيانات، غالبا إما فى الذاكرة أو خارج الجهاز لكن فى النهاية كلها تمثل "عنوان"، إذن*
*ثانيا مجموعة العنوان **Address Buss** و يمكننا فرض الرقم الذى نحتاجه و كان وقتها الحل الأمثل 16 خط أى 65535 خانة و كانت وقتها تبدو كثيرة و تكفى عديد من الاحتياجات. تضع مجموعة العنوان **Address Buss** العنوان المطلوب على **BUSS** و تقرأ البيانات من خطوط البيانات.*
*هل نضع العنوان ثم ننتظر قبل أن نحسب العنوان التالى؟*
*للأسف لا نستطيع وهذا ببساطة لأن الأمر قد يحتاج حساب عنوان آخر لهذا يجب أن يكون لدينا عداد للبرنامج **Program Counter** و مسجل للعنوان **Address Register** للإمساك بالعنوان الحالى ريثما يتم حساب التالى.*

*ماذا عن الأوامر؟ حسنا 16 أمر ليست بالعدد الوافى، هل من الممكن أن تزيد؟ *

*طبعا يجب أن نزيد الأوامر كما أن مصادر البيانات يجب أيضا أن تزيد، و نواتج الطرح يجب تصحيحها لأن الطرح بالجمع مع العدد المكمل يحتاج إضافة واحد للناتج، أيضا إتاحة إمكانية الانتقال من جزء من البرنامج لجزء آخر عند الضرورة، لهذا يجب أن يكون لدينا وحدة تحكم **Control Unit** هذه الوحدة تتولى توجيه هذه المكونات بين الوحدات وبعضها كما تتعامل مع العالم الخارجى*







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

*بقى مسجل أخير لم نتحدث عنه صراحة ولكن تكلمنا عنه ضمنا، هو فى الواقع مجموعة من المذبذبات الثنائية **FF** موزعة حيث يجب أن تكون وهى خمسة أو أكثر حسب تصميم الوحدة فمنها مثلا*
*1- **C** الزائد أو المحمول **Carry** وهو يسجل إن كانت عملية الجمع ينتج عنها * *Carry**و الطرح تحتاج اقتراض **Borrow** واحد أم لا.*
*2- **H** نصف زائد **Half Carry** وهو بين البت 3،4 حيث وهو يسجل إن كانت عملية الجمع ينتج عنها ** Carry**و الطرح تحتاج اقتراض **Borrow** واحد أم لا و ذلك بين الرقمين المكونان للعدد. فمثلا لو جمعنا 59 + 46 هل نتيجة جمع 9+6 تنتج **Carry** للعددين 45 أم لا وهذه لاحقا تستخدم فى تصحيح الناتج فى حال كان الرقمين الأصليين أرقام عشرية وليست ثنائية و أمر الجمع أو الطرح خاص بالأرقام العشرية وليست الثنائية.*
*3- **N** سالب وهو نسخة من البت رقم 7 وهو يوضح ما إن كان محتوى المراكم **Accumulator ** أو المسجل **Register** يحتوى رقم سالب أم لا.*
*4- **الزيادة **OV** وهى اختصار **Over Flow** وهى هل حدث **Carry** من بت 6 إلى 7 أم لا أو بعبارة أخرى، هل تغيرت إشارة الرقم نتيجة عملية ما فتحولت بت 7 من واحد لصفر أو العكس؟*
*5- **"صفر" أو **Z** اختصارا لكلمة **Zero** وهى يعطى هل نتيجة عملية ما صفر أم لا.*
*6- **"I"** وهى رمز **Interrupt** أو المقاطعة وهى تصبح "واحد" عندما يستجيب المعالج **Processor** لمقاطعة لمنع المزيد من المقاطعات.*
*بعض الأوامر تتيح التحكم فى هذه المذبذبات **FF** و تختلف من تصميم معالج لآخر*

*كيف يعمل الميكرو؟*

*توجد بلورة متصلة به وتشغل مذبذب داخلى، هذا المذبذب يولد نبضات مستديمة تتولى تنسيق العمل فى دورة متغيرة فى عدد هذه النبضات حسب نوع الميكرو و لكنها ثابته لكل عائلة، و مع تطور التقنية أصبحت تنفذ تعليمة لكل نبضة.*
*كيف يعلم ما يحتاج؟ كل شيء مدون فى الذاكرة **ROM** المسماة ذاكرة الأوامر و تبدأ القصة بوضع الخط على اليسار المسمى "البدء" **RESET** فى القيمة صفر لفترة زمنية تكفى لأن يستقر جهد التغذية 5 فولت و عندها تعلم وحدة التحكم أن طالما هذا الخط = صفر أن توقف نشاط الوحدة تماما و تضع كل أطرافها الأخرى فى وضع "مقاومة عالية" **HI-Z** فكل هذه الأطراف ثلاثية الحالة **TRI-State**.*
*عند رفع خط "البدء" **RESET** إلى واحد مرة أخرى، تقرأ من الذاكرة **ROM** كيف تتعرف على نقطة البدء أو أين أول البرنامج، و قد اختارت شركة إنتل أن تبدأ دوما فى مكان ثابت فى الذاكرة الخارجية لذا يجب أن نضع فيه أمر بالانتقال حيث يوجد البرنامج فعلا أما شركة موتورولا فاختارت أن يقرأ عنوان البدء من مكان ثابت فى الذاكرة الخارجية. لهذا يبدأ بوضع العنوان الثابت فى مسجل العنوان ثم يجعله متاحا لكى يضع ما به على الخط **Address Buss** أى يخرج من المعاوقة العالية.*
*عند تنفيذ أمر يتطلب بيان من الخارج، لابد أن تعلم هذه الأشياء سواء كانت ذاكرة أو غيرها، متى ترد، لذا يوجد خط بالغ الأهمية يسمى "تزامن" و يرمز له بالرمز اللاتينى **F** وهو يقول للعالم الخارجى أنا مستعد الآن. ثم تراقب وحدة التحكم خط "انتظار **HOLD** " والذى تتحكم فيه وحدات الذاكرة و العالم الخارجى، و عندما تتاح بيانات الذاكرة على خط البيانات (ربما كانت أقل سرعة من البروسيسور) بأن ينزل خط "انتظار **HOLD** " إلى صفر، توجه وحدة التحكم البيان من خط البيانات **Data Buss** إلى محلل الأوامر ثم ترفع الخط مشغول * *Busy**حتى لا تتفاعل معها أشياء أخرى ثم يجد محلل الأوامر هذا الأمر فى ذاكرة الأوامر والتى تدله ماذا يفعل لاحقا خطوة بخطوة حتى ينتهى من تنفيذ الأمر.*

*إذا كانت الوحدة متصلة بأدوات خارجية مثل لوحة مفاتيح أو شاشة أو قرص مغناطيسى الخ فيجب أن تعلم هذه الوحدات متى يطلب منها أن تجيب أو تتعامل مع البيانات، لهذا يوجد خط يسمى "ذاكرة / وسائط" **Memory / I/O** و كلمة منها عليها خط المكاملة أو "العكس" **Complement** فمثلا هنا الخط "فوق" كلمة **I/O** أى أن الخط يكون واحد طالما تتعامل الوحدة مع البرنامج (لاحظ أننى قلت البرنامج ولم أقل الذاكرة) لأنه بالرغم من أن الكلمة تقول "ذاكرة" إلا أنه لو كان ينفذ عمليات حسابية داخلية لا علاقة لها بالذاكرة إلا أنه سيبقى الخط كما هو و عندما يبدأ تنفيذ أمر متعلق بالوسائط المحيطة، يضع العنوان ويضع البيان و أخيرا يخفض خط "ذاكرة / وسائط" **Memory / I/O** قبل نبضة التزامن **F** مباشرة حتى لا تتعامل الذاكرة و تنفذ الوسائط ما هو مطلوب منها.*


----------



## ماجد عباس محمد (25 سبتمبر 2015)

*المقاطعة Interrupt*

*المقاطعة **Interrupt ** :*

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

*كثير من الحالات تتطلب حفظ بيانات محددة فى ذاكرة مدعومة بحيث لا تفقد بياناتها عند انقطاع التيار ولهذا فعند انقطاع التيار يجب على البروسيسور (المعالج) أن يترك ما يقوم به و يحفظ تلك البيانات فورا قبل التوقف التام، وهذا ببساطة مستحيل فى النظام السابق.*

*لعلاج هذه العيوب، ابتكر نظام المقاطعة **Interrupt ** و الذى أصبح تقليدا قياسيا قى كل ميكرو. ببساطة يخصص طرف دخول أو أكثر يكون عادة على مستوى "واحد" **(HI)** و عندما يصبح صفرا **(LO)** ينتبه المعالج أو البروسيسور لهذا التغيير و يستجيب له ، وقد يستجيب لتغير المستوى و يسمى **Level Trigger** حيث يجب أن يظل فى هذا المستوى حتى يستجاب له أو يستجيب للإنتقال و يسمى **Edge Trigger** و يستجيب حتى لو عاد للمستوى الأول قبل الإستجابة له.*
*بديهيا أنه قبل الاستجابة كان ينفذ جزء ما فى البرنامج الأصلى، و عندما ينتهى من خدمة المقاطعة يجب أن يعود حيثما كان ليستأنف العمل، ليست هذه رفاهية ولكنها ضرورة لأنه لا يمكن بدء البرنامج من أوله إلا عند البدء فقط و مع الوقت تتغير نتائج وتعدل حالات فلا يصح أن نلغى كل ما سبق. تخيل مثلا أنك تكتب وثيقة ما وفى منتصفها تريد فتح مشغل الأقراص أو توصل ذاكرة فلاش فيتوقف الحاسب و يبدأ من جديد فى تحميل الويندوز!!*
*لهذا يجب أن يحفظ المعالج محتوياته فى مكان ما بالذاكرة، ثم يحمل عنوان خدمة الجهاز مسبب المقاطعة و يبدأ هناك. سيكون من الصعب معرفة أين وضعنا عنوان و محتويات العمل السابق لذلك فأسهل طريقة هى تخصيص مسجل يسمى مسجل "الرصة" **Stack Pointer/ Stack Register** حيث يكون له أمر برمجى خاص بتحميله بالجزء الذى نود حفظ هذه البيانات به، و يقوم المعالج آليا بإدارة آلياته، فعند حدوث مقاطعة، يبدأ المعالج فى حفظ البيانات.*
*مهلا وماذا لو فى منتصف الحفظ أتى أمر مقاطعة ثانى؟!! ألن ترتبك الأمور و نحفظ بيانات فى قلب بيانات أخرى؟!!*
*بالتأكيد هذا عين الصواب، لذا يجب أن يحتوى أيضا على مذبذب متعدد يسمى "علم أو راية" **Flag** وهو إما واحد **SET** أو صفر **RESET** و عندما يأتى أمر المقاطعة، يصبح واحد **SET** وهو يمنع أى استجابة لاحقة و يدخل المعالجة فى دورة مغلقة يحفظ فيها بيانات كل المسجلات و الرايات بالترتيب التنازلى حيث يضع بيان ثم ينقص واحد ثم البيان التالى و ينقص واحد وهكذا و عندما يتم الحفظ وهو ما يسمى عملية الدفع فى الرصة **PUSH into Stack** يبدأ فى قراءة العنوان وهو مختلف حسب الطراز و سنتعرض له لاحقا إن شاء الله.*
*ينتقل التنفيذ لخدمة الجهاز المقاطع و للمبرمج كافة الحرية فى أن يتيح مزيدا من المقاطعة أثناء خدمة هذا الجهاز أو يبقيها مقفلة لحين انتهاء الخدمة. لهذا فبرنامج الخدمة يجب أن ينتهى بأمر يسمى "العودة من المقاطعة" **RTI, Return from Interrupt** وهذا الأمر يجعل المعالج يقرأ ما سبق كتابته فى الرصة بالترتيب العكسى "تذكر الذاكرة **Last In First Out** آخر الداخلين أول الخارجين"؟ و هذا يعيد المعالج لسابق حالته قبل المقاطعة مباشرة و معظم طرز الميكرو تعيد هنا إتاحة المقاطعة آليا.*
*لكى يحدد المعالج أين يذهب لخدمة الجهاز المقاطع هناك عدة طرق و منها خصصت شركة إنتل 256 مكان للقراءة فى الصفحة الأولى من الذاكرة و كل منها يعطى عنوان.*
*أما شركة موتورولا فتبنت نظاما مختلفا يسمى "خريطة الذاكرة" **Memory Mapped I/O** حيث تكون أماكن بعينها تتعامل مع الأجهزة بدلا من الذاكرة أى أن الذاكرة تمتد لنطاق ما والباقى للأجهزة، هذا جعل التعامل مع الأجهزة أسهل فضلا عن عدم تقيده بالعدد 256 جهاز مما جعل عائلة **MC6800** منتشرة فى التحكم الصناعى بينما عائلة إنتل فى الحاسبات الشخصية.*

*بديهى أننا افتقدنا المقاطعة ذات الأولوية المطلقة مثل حالة انقطاع التيار أو مثيلاتها، لذا أضيف خط آخر يسمى **NMI** اختصارا لكلمات **Non Maskable Interrupt** أو المقاطعة الغير قابلة للحجب وهو خط يسبب مقاطعة للمعالج **Processor** مهما كانت الظروف. هذه المقاطعة يستجاب لها فور الإنتهاء من الخطوة الحالية .*
*دوما تكون الاستجابة للمؤثرات الخارجية مثل المقاطعة بعد الانتهاء من الأمر قيد التنفيذ حاليا أى فى خلال بضع نبضات فقط.*

*سبق أن ذكرنا أن المعالج سيتفحص الأجهزة بالتتابع، ليس هذا هو الوقت الوحيد الذى يخضع فيه المعالج لسمة التتابع، فكثيرا من الحالات تجد نفسك كمبرمج تريد فحص بيانات متتابعة، كل جدول عبارة عن بيانات متتابعة، لذا يجب أن نجد حلا يسهل تتابع القراءة والكتابة، تخيل أنك فى مكان ما فى وسط الذاكرة و تريد أن تقرأ سبعة خانات متتالية لأن بها الثوانى والدقائق والساعات و يوم الأسبوع و يوم الشهر و العام، و تريد تحديث هذا كل ثانية ستبنى عداد من 1 إلى 7 ثم تحفظ أين أنت الآن ثم تحدد بداية الجدول ثم تضيف له واحد و تخصم واحد من السبعة ثم تتأكد أن العملية لم تنتهى (السبعة لم تصل للصفر بعد) ثم تبدأ القراءة ولا تنسى أن تأخذ الأمر من حيث كنت بعيدا عن الجدول... قبل أن تبحث عن أسبرين لتعيد قراءة السطور السابقة، هناك حل بسيط وسهل.*
*تم وضع مسجل آخر سمى مسجل الدليل أو المؤشر* *Index Register **وهو بديل لمسجل العنوان. ببساطة نضع به بداية الجدول بأمر واحد ثم نشير إليه بالأوامر اقرأ "دليل ، 1 فى المسجل الأساسى " **MOV X,1 A** حيث يتولى المعالج إضافة واحد لمحتوى المسجل و النتيجة فقط تذهب لخط العنوان بينما يظل المسجل لا يتغير و محتوى الذاكرة المطلوب سيوضع آليا فى المراكم **A** و تكرر الأمر 7 مرات. و هذا أيضا يتيح لك نقل مجموعات كبيرة من البيانات من مكان ما بالذاكرة لآخر ما فى حالة العرض بالشاشة أو إرسال فاكس الخ.*


----------



## فادى علاء (26 سبتمبر 2015)

رائعه


----------



## ماجد عباس محمد (26 سبتمبر 2015)

*مقارنة بين أشهر ثلاث وحدات*

*مقارنة بين أشهر ثلاث وحدات:*

*أشهر ثلاث وحدات هى إنتل 8080 و منافستها الشهيرة من زيلوج **Zilog Z80** و وحدة موتورولا **MC6800** ووحدة روكويل **MC6502** حيث كل منها احتكرت قطاع كبير من السوق.*

*تبنت إنتل بنية تحتوى مجوعة من المسجلات العاملة ذات 8 خانات و التى يمكن جمع أغلبها فى صورة زوج من 16 بت إلا أن الأوامر الخاصة بالتعامل مع 16 بت كانت قاصرة وذلك للتقنية المتاحة فى ذلك الوقت، واحتوت على أوامر حسابية للأرقام العشرية. *
*تعامل هذا المعالج مع المقاطعة و الأجهزة المحيطة جعلها فى إطار محدد، فكانت تستغل كل الجزء الأساسى من الذاكرة و المسمى الصفحة "صفر" لأنها تحتاج عنوان من 8 خطوط فقط للتعامل معها مما يجعلها أسرع.*
*قدمت شركة زيلوج **Z80** وهى عبارة عن طاقمين من المسجلات مماثل لما تحتويه 8080 و أضافت أمرين الأول لتفعيل **A,H** والثانى لباقى المسجلات. فيما عدا ذلك كانت نفس البنية و أضافت تحسينات منها التخلص من تعقيدات الساعة **Clock** و توليد خط التزامن **F** اللازم لتزامن الذاكرة وباقى المعدات، مما جعلها الاختيار الأمثل للحاسب الشخصى الذى يستخدم التلفاز كشاشة فى أول أجهزة للمستخدم تحت 100 دولار أمريكى، وأصبحت **Z80** هى محور كل الحاسبات الشخصية حتى طورت إنتل منتجاتها و اعتمدت **IBM** منتجها فى أول حاسب لها، ولكن لم ينتشر كلاهما كثيرا فى الصناعة*

*تبنت شركة موتورولا خطا آخر حيث اكتفت بزوج من المراكمات **A,B** وكان **A** هو الأساسى و استخدمت الذاكرة الخارجية للتعامل مع البيانات. أحسنت استغلال الصفحة "صفر" ووظفت عديد من الأوامر للتعامل مع هذا الجزء الهام من الذاكرة.*
*نظرت الشركة للأجهزة كبديل للذاكرة مما يسَّر التعامل معها و أتاح التعامل مع أى عدد يريد المصمم التعامل معه بافتراض أن السرعة ليست عائقا، فكثير من الأجهزة قد تحتاج لثوانى أو دقائق لتغير من حالتها، لذا اشتهرت فى المجال الصناعى بكثرة.*

*حاول مصمم بشركة موتورولا إنتاج معالج أقل كلفة ولم يجد ترحيبا من الشركة فاستقل و أنتج 6500 والتى كانت أسرع و أقل كلفة وعالجت بعض مشاكل 6800 مما جعلها أنسب لتطبيقات كثيرة و اعتمدتها شركة أبل فى حاسبها الشهير وكذا العديد من شركات الألعاب مثل أتارى و *TurboGrafx-16


----------



## ماجد عباس محمد (27 سبتمبر 2015)

*الحافلات و التحكم فيها Busses , drivers and transceivers*

*الحافلات و التحكم فيها **Busses , drivers and transceivers** :*

*يطلق إسم حافلة من معناه وهى تحتوي كثير من الأفراد المتماثلة – يتشاركون بعض أو كل المسار و كل منهم له مهمة مختلفة. لذا فالحافلة البشرية بها بشر متماثلون و مشتركون فى جزء من المسار أو كله و لكل منهم مهمة ما أو عمل ما وهى تنقلهم عبر هذا المسار.*
*يطلق نفس التعبير على خطوط التغذية فتسمى **Buss Bar** لكونها من شرائط نحاسية **Bars** أو قضبان تنقل التيار الكهربى و كل بار منها له وجه من الثلاث أوجه الناقلة للتيار.*
*من دراستنا للميكرو السابق ثبت أن لدينا ثلاث مجموعات رئيسية*
*مجموعة العنوان **Address Buss* *,** و مجموعة البيانات **Data Buss** و مجموعة التحكم **Control Buss** وهذه المجموعات تذهب لكل الأجهزة المحيطة **Peripheral devices* *و الذواكر و خلافه سواء للتعامل فيما بينها أو للتوافق مع متطلبات الأجهزة خارج الحاسب ، و الأوامر تحدد من منهم يعطى بيانات و من يأخذ ومتى وقد يبدأ أحدهم مقاطعة لطلب الخدمه الخ.*
*كما درسنا أول المنهج أن كل متكاملة مقيدة بما يعرف بالتشعب **Fan Out** أى كل مخرج يستطيع أن يغذى كذا مدخل ، فإن كثر العدد سواء عدد فعلى أو وحدات تتطلب تيار غير قياسى، نحتاج معززات **Drivers** كما سبق الشرح.*
*ليس منطقيا أن نأتى بثمانى وحدات أى 2 متكاملة لفعل هذا، لهذا صممت الشركات المتكاملات **74xx240 74xx241** وهما زوجين من أربع معززات لتكوين إما ثمانية خطوط لحافلة من 8 لجهة واحدة يمكن تفعيلها أو إيقافها أو جمع الزوجين معا لتكوين أربعة مسارات مزدوجة الإتجاه*





*لتسهيل عمل هذا نلاحظ أن مخرج كل واحدة بجوار مدخل المعاكسة فى الإتجاه ليسهل وصل طرفى 2،3 معا و 4،5 معا الخ حتى 15،16 معا و 17،18 معا و بالتالى يكون طرفى 1،19 هما لإتاحة انتقال البيانات من هذه الجهة لتلك أو العكس.*
*إن لم تكن الخيارات مطلوبة فلدينا **74xx242 74xx243** حيث بها التوصيلات داخلية و من ثم تقلل من عدد الأطراف و توفر فى مساحة البوردة – 14 طرف بدلا من 20*





*أما لو كان المطلوب هو التحكم فى 8 بت معا فيمكن استخدام **DM74LS245** فتجد لها 8 خطوط و 2 تحكم. طرف رقم 1 مسمى **Dir **اختصارا لكلمة ** Direction** حيث بها تتحكم فى اتجاه البيانات، لو * *لوجيك1 أى+5فولت يكون الإتجاه من **A1:A8** إلى **B1:B8** ولو كان صفر يكون الإتجاه بالعكس من **B1:B8** إلى **A1:A8*
*أما الطرف 19 فيسمى **Enable** أى يجب أن يكون صفرا ليتحقق ما سبق أما لو كان 1 فتتوقف تماما و تصير معزولة أى **Tri-State** أو كأنها مرفوعة من مكانها لتتيح لغيرها أن تتعامل مع الباص*


----------



## ماجد عباس محمد (29 سبتمبر 2015)

*الحاسب الآلى*

*الحاسب الآلى :*

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






*تتركب الحاسبات أساسا من وحدة معالجة مركزية **CPU** وهى قد تكون ميكرو بروسيسور أو من أى تقنية أعلى سرعة حينما يتاح ذلك، فقد أنتجت العديد من الشركات وحدات مختصرة بهدف السرعة القصوى و إمكانية زيادة عرض الكلمة للحدود الغير تقليدية فقد كانت الحاسبات 64 بت معروفة منذ زمن بعيد فى المعاهد العلمية والجهات الحكومية قبل ظهورها فى نطاق المستخدم المنزلى ، و يجب أن نتأكد دوما أن هناك على الأقل فارق ×10 بين أفضل و أسرع حاسب منزلى و تلك الحاسبات العلمية الفائقة السرعة وكثير منها يعتمد تقنية المعالجات المتعددة والتى تتيح التعامل الأسرع و تناول مصادر معلوماتية متعددة آنيا فمازالت الأجهزة المنزلية تتعامل مع مستخدم واحد من مصدر معلوماتى واحد حتى و إن بدا لنا خلاف ذلك، فهذه الخدعة تتم بمبدأ الشرائح الزمنية حيث يتعامل مع كل مستخدم فى شريحة زمنية مختلفة و كل مصدر معلوماتى فى شريحة زمنية أيضا مختلفة.*

*تحتاج الحاسبات لكى تعمل أن تتعرف على المكونات المتاحة لها مثل لوحة مفاتيح وشاشة و قرص صلب الخ. كيفية أداء هذا البحث توجد فى ذاكرة قراءة فقط **ROM** ولكن مع التطور استخدمت ذاكرة فلاش قابلة لإعادة البرمجة لتحديث هذا البرنامج والذى يسمى **BIOS** وهو اختصار **Basic Input Output System ** أى نظام المداخل والمخارج الأساسية .*

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

*نظام التشغيل هو ما يقوم بالعمل كله من فتح ملفات و محو غيرها ورسم واجهات البرامج و التأكد من سلامتها وعدم تعارض البرامج مع الموجودات الخ أما البرامج التى يقوم المستخدم بتشغيلها فعليها فقط أن تقوم بما صنعت من أجله بينما رسم واجهة البرنامج و عرض النتائج الخ من مهام نظام التشغيل.*
*أشهر نظم التشغيل هى دوس ويندوز و العائلة (يونكس – لينكس – زينكس) وهى عائلة متقاربة جدا بعضها مجانى و الآخر مدفوع. بعضها مستخدم وحيد و الآخر متعدد. وهذا يعنى أن المستخدم الوحيد أن يعمل برنامج ما ولا يمكن أن نبدأ غيره قبل غلق الأول. أما المتعدد فيقوم نظام التشغيل بمنح كل برنامج شريحة زمنية ليمارس فيها مهامه ثم يوقفة ليعطى الثانى فالثالث وهكذا ثم تكرر الدورة. و هناك بعض الحيل تجعل برنامج ما لا يسمح للويندوز أن يبدل لغيره فيبدو كأن النظام توقف. *
*نظام دوس مريح فى كونه يسمح للمبرمج أن يتعامل مع الآلة مباشرة لذلك كثيرا ما يفضل فى التعامل مع الماكينات ولذا قد طور من قبل بعض الشركات و تخلصوا من أكبر مشاكلة وهى الحجم المقيد بذاكرة 64 ك و الإسم القصير من 8 حرف و 3 إمتداد و مازالت بعض الشركات تطور نظام دوس متقدم إلى جانب مترجم لويندوز 7 *
*http://powerbasic.com*

*نظام ويندوز حتى ويندوز 95 كان أيضا يتيح بعض التحكم ولذا نجده فى بعض الألات لكن النظم التالية فرضت وجود برنامج قيادة **Driver** ليتيح التعامل مع الأجهزة لذا مالم تكن شركة كبيرة متخصصة فلن يتيسر لها ذلك و يجب أن يتعامل المبرمج مع الأجهزة المتاحة مثل منفذ الطابعة و التسلسلى بأنواعة. يعيب هذا النظام السرعة فى تطويره و إصدار إصدارات جديدة دون التحقق من جودة النظام الحالى فمثلا بعد 3.11 ظهر ويندوز 92 والذى لم يكن جيدا جدا ثم صدر ويندوز 95 و بعده الإصدار الثانى ثم صدر الميلينيوم والذى تعددت الشكاوى منه ثم **XP** و بعده تكررت القصة كثيرا*

*نظام يونكس هو نظام متخصص و أكثر صلابة و تحمل من الويندوز لعدم التسرع فى اصدار ترقيات بلا داعى و التحقق من اختبار اصداراته قبل طرحه وهو المفضل فى البنوك و المؤسسات و غيرها خاصة وأن هذا النظام نشأ منذ البداية داعما للشبكات و الحاسبات "الخادم" **Server *
*بدات بعض التقنيات الخاصة بالحاسبات العملاقة فى "التسرب" للحاسبات الشخصية فوضع أكثر من **ALU** أو بروسيسور إن شئت داخل ذات المتكاملة وسميت **Core2** الخ و اكثر وهذا يوفر إمكانية زيادة السرعة لأن التوجه لسرعات أكبر من 3 جيجا لم يعد حاليا مجديا فمازال الباص 800 ميجا و من الصعب زيادة سرعته و كذلك الذاكرة.*
*جدير بالذكر أن هذا الإزدواج لا يتشارك الأوامر ولكنه يتشارك المهام فلو كان الأمر الأول ضع الرقم "ب" فى الأكيوميلاتور و الأمر الثانى أضف عليه الرقم"ج" فلن نحصل على نتيجة لو الأول ذهب لوحدة و الثانى لأخرى لكن لو اختص كل منهما ببرنامج تحت التنفيذ و ما أكثر المهام التى تنفذ فى خلفية نظم التشغيل، سنجد أن فعالية التنفيذ ستكون أكبر.*


----------



## ماجد عباس محمد (1 أكتوبر 2015)

*الفرق بين بين** الميكروبروسيسور و الميكرو كونتروللر و **PLC *

*لاحظت فى الكثير من الحالات أن البعض لا يفرق بين** الميكروبروسيسور و الميكرو كونتروللر و الجهاز المسمى** PLC و ربما** يكون من المفيد توضيح هذه الفروق الآن*
*الأول ميكروبروسيسور** up وهو الجزء** الأساسى فى الحاسبات و لا يقوم بشيء بدون أجزاء أخرى مساعدة ولا يحتوى غالبا على** ذاكرة للمستخدم و تكون الذاكرة داخله فقط لاستخدامه الذاتى فمثلا لا نستطيع أن** نستخدم أمرا لحفظ بيانات داخل ألكاش فى البينتيوم وهو يحتوى على وحدة تحكم تنفذ** أوامر البرنامج ووحدة حساب و منطق لتنفيذ العمليات الحسابية و العمليات المنطقية** (التى ينتج عنها إما صح أو خطأ مثل هل س اكبر من ص ؟ - كما يحتوى على مجموعة من** المسجلات** Registers و المراكمات** Accumulators و الفرق بينهما** أن نتيجة عملية حسابية أو منطقية يمكن أن تذهب للأخير فقط مثلا نجمع محتوى مسجل "أ**" مع مسجل "ب" يجب أن تذهب النتيجة لمراكم و ليس إلى أى** منها*
*بالمناسبة** ليس هناك سبب أو فرق فقط لو وصل بحيث يقبل نتائج من وحدة الحساب سمى** Accumulators*
*استخدام الميكروبروسيسور يتطلب دوائر تحليل شفرات** Decoders حتى تتمكن من التعامل مع أى شيء خارجى فضلا عن أن سرعته الفائقة تجعل تصميم بوردات له ليست ميسرة لغير المحترف، لذا فهو صعب فى** استخدامه لكن طاقاته هائلة مثل المستخدم فى حاسبك الحالى .*
*كم منا** يمكنه أن يصنع** Mother Board مثلا** .*

*الثانى** وهو الميكرو كونتروللر نشأ عندما تطور الميكروبروسيسور من 8 بت إلى** 16 وبدأت** السرعة فى التزايد وبدا البعض يتساءل أنا لا احتاج كل هذه القدرة و أفضل البساطة **والسرعة المحدودة كما فى الماكينات أو التخصص كما فى كارت الشاشة أو الكى بورد و غيره،** لذا تحور إلى ميكروبروسيسور مضاف إليه ذاكرة للبرنامج و أخرى للبيانات و بعضها قد** يحتفظ بالبيانات عند انقطاع التيار عنه كما يحتوى على دوائر لتوفير أطراف يستخدمها** المبرمج للتعامل المباشر مع العالم الخارجى مثلا باستخدام ترانزيستور و ريلاى** لتشغيل أشياء مباشرة وهو لذلك أسهل كثيرا جدا فى الاستخدام ولكن طاقته أقل كثيرا من** الأول من حيث السرعة والإمكانات والهدف السهولة و قضاء المصالح المحدودة فمثلا** سرعته تصل إلى 40 ميجا فقط بدلا من 3 جيجا و هذا يعطى ميزة كبيرة * *حيث يمكن أن نجرب مشاريع على بوردة تجميع **Bread Board** و تنفيذها بسهولة بعد ذلك.*


*يجب أن** نؤكد هنا على حقيقة أن أطراف الميكرو كونتروللر المعدة للتعامل مع العالم الخارجى** يمكن تغييرها من إدخال (أى تقرأ الجهد الموجود عليها أو السويتش مفتوح أو مغلق) إلى** إخراج أى تعطى جهد إما صفر أو 5 فولت بأمر برمجى بسيط*
*أيضا تقليل عدد الأوامر المستخدمة يجعل من** السهل على الجميع برمجته على خلاف الميكروبروسيسور وهذا لا يعد نقصا أو عيبا فهو** غير مصمم لمعالجة الرسومات والصور والألعاب فقط التحكم فى الآلات و** خلافه**.*

*يجب أيضا أن نؤكد أن بعض خواص الميكرو بروسيسور قد لا تتوافر للميكرو كونتروللر بعضها أو كلها مثل **NMI** أو المقاطعة الغير محجوبة و بعضها فى الميكرو كونتروللر قد لا تتواجد فى الميكرو بروسيسور مثل المؤقتات **Timers** بأنواعها و منها "كلب الحراسة" **Watch Dog** و تعديل عرض النبضة **PWM** و المنافذ التسلسلية و المحول تماثلى رقمى.*
*أيضا حجم الذاكرة المتاحة للميكرو بروسيسور لا نهائى لكن للميكرو كونتروللر فالداخلية منها محدودة و الخارجية ليست متاحة لكافة الطرازات.*

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

*الثالث** PLC وهى اختصار** Programmable Logic Controller عبارة عن ميكرو كونتروللر مضافا إليه** ما يلزم من ترانزستورات و ريلاى أو ثايرستورات الخ للتحكم فى الأجهزة** المحيطة و قراءة بيانات رقمية أو تناظرية و تحويلها لرقمية.*
*نظرا** لأن الأخير عبارة عن ميكرو كونتروللر بكامل دوائره لذا يجب أن نحدد مسبقا كم طرف** تحول إلى مداخل للقياس و كم يبقى مخارج للتحكم فمثلا لو استخدمنا الوحدة** 89C52 فهى تحتوى 32 طرف دخول / خروج*
*هل نستخدم أطراف الاتصال التسلسلى** RS232 ؟ هل نستخدم طرف المقاطعة لهذا الهدف ؟ هل نستخدم العدادات الداخلية ؟** ثم كم من الباقى نجعله دخول و كم نجعله تحكم (خروج)*
*هنا ليس من الضرورى أن أقسم الكل (32) بين** دخول وخروج – اللعبة هنا اقتصاد*
*إذن يمكن عمل وحدة 2 دخول و 5 خروج قليلة التكلفة و نتدرج** فى الطرازات حسب الحاجة و التكلفة** .*
*لهذا يكون من الصعب على المستخدم أن يبرمج هذه الوحدة** خاصة لا يتوقع منه أن يكون مبرمجا من الأصل - لذا تصنع الشركات التى تنتج وحدات** PLC برنامجا ذو طبيعة رسومية بها أشكال للمفاتيح و الحساسات و** الخريطة التى يريد المستخدم أن تكون خطوات التنفيذ عليها و به أشكال لوضع سؤال مثل** هل السويتش مفتوح؟ والإجابة نعم/لا - و هذا البرنامج يولد الشفرات الخاصة لبرمجة** وحدة** PLC و يقوم ببرمجتها أيضا من خلال كابل و بناء على طراز الوحدة** PLC يحذرك إن حاولت استخدام عدد أكبر من المخصص كمدخل أو مخرج فى هذا** الطراز*
*مثلا** يمكن أن استخدم الوحدة** 89C52 لعمل عدة موديلات من خمسة مداخل و خمسة** مخارج ألى 15 من كل و تتراوح فى السعر حسب تجهيز كل** منها*.
*الآن بعد أن عرفنا الميكرو بروسيسور و منه الحاسب الآلى و الميكرو كونتروللر لنأخذ فكرة عن البرمجة ولو مختصرة و سريعة.*


----------



## ماجد عباس محمد (5 أكتوبر 2015)

*بنية الحاسبات*

*البنيات*

*مما سبق نجد أن القلب هو وحدة المعالجة المركزية **ALU** وهى منسق الحركة للميكرو لذا يجب أن يتلقى على مداخلة مجموعة من الإشارات "احاد و أصفار" لتقوم بما يقابلها من أمر.*
* الآن لدى برنامج و لدى أيضا بيانات يجب معالجتها، أين نحتفظ بكل منها؟ مهلا لا تتسرع بذكر الذواكر السابقة فقد بدأ الحاسب قبل اختراعها جميعا لذا كانت البنية الأولية معروفة باسم :*
*هارفارد **Harvard architecture*
*وفيها يتم الفصل بين ما يستخدم للبرنامج و ما يستخدم للبيانات شكلا و موضوعا حيث بدأت بكون البرنامج فى شريط مثقب بينما البيانات فى ريلايات داخل الوحدة ثم تطورت و بقى النظام و من أشهر هذه الطرق الآن كل الميكرو كونتروللر الآن حيث البرنامج يحفظ فى ذاكرة **EEPROM** بينما البيانات فى رام وهذا يجعل الميكرو غير قادر على أن يبرمج نفسه بمعنى القراءة من قرص مدمج و الحفظ فى الذاكرة **EEPROM** و للتغلب على ذلك اضطرت الشركات لتخصيص برنامج خاص فى جزء ما يسمى **Boot Loader** ليمكن من البرمجة التسلسلية. *
*إلا أن هذا النسق يتيح سرعة أعلى لكون الميكرو قادر على قراءة كود و بيان فى نفس الوقت.*

*النسق الآخر يعرف باسم :*
*فون نيومان **Von Neumann architecture** :*

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

*الكاش:*
*ما معنى كلمة "كاش"*
*هى ببساطة شيء متوفر "تحت اليد" للإستخدام الفورى السريع و أوضع معنى لها المال الكاش.*
*عندما تطور البروسيسور ، زادت سرعته و مازالت أسرع من الذاكرة ولا ننسى مما سبق أن الذاكرة الأسرع أغلى ثمنا.*
*أيضا هنا خطر آخر وهو أن الإشارة تخرج من البروسيسور إلى الباص الناقل ثم الذاكرة و بالعكس وهذا معضلة تقنية خاصة فى الوصول لسرعات عالية مثل 3 جيجا حيث طول الموجة 10 سم أى أن كل 2.5 سم من طول التراك تمثل هوائى ربع طول الموجة لذا فرق صغير فى أطوال المسارات يجعل بت تصل قبل الأخرى مما يسبب خطأ قراءة. لذا لا يخفى أن سرعة الباص أقل من البروسيسور.*
*لذا لا يمكن أن نجعل الذاكرة كلها أسرع ما يكون ، فطور الخبراء اسلوب وضع ذاكرة سريعة جدا تقارب سرعة البروسيسور بجواره داخل المتكاملة كجزء من بنيته عندما يكون هناك متسع من الوقت يملأها من الذاكرة الخارجية ثم يعود ليعمل منها أسرع .*
*مما سبق علمنا أن نظام التشغيل يكون مهيمنا على كل التصرفات لذلك لو أردت أن تحتفظ ببيانات كثيرة متعددة ستضطر للطلب من نظام التشغيل كل مرة فتح الملف و اعطائك منه كذا و إبقاؤه أو غلقة لذا تلجأ بعض البرامج لتخصيص جزء من الذاكرة العامة للجهاز لإستخدامها ككاش محلى أو جزء من الهارد.*
*لو أغلق هذا البرنامج دون أن يحرر هذا الكاش لن يتحرر هذا الكاش إلا عند بدء التشغيل التالى ولو كانت على الهارد سيتآكل ما به من مساحة خالية دون استخدام لذا صممت بعض البرامج تسمى كاش كلينر للتخلص من هذا الموقف*
*الملفات موضوعنا القادم إن شاء الله*


----------



## ماجد عباس محمد (8 أكتوبر 2015)

*أنواع الملفات فى الحاسب*

*أنواع الملفات فى الحاسب:*

*تتوقف أنواع الملفات على نوع نظام التشغيل و على البرنامج الذى يقوم بتشغيله ما عدا الملف النصى و الذى سنتحدث عنه إن شاء الله المرة القادمة.*
*أنظمة التشغيل تتولى تقسيم وسائط التخزين كالهارد ديسك أو الإسطوانات أو الفلاشات الخارجية الخ إلى أجزاء ليتمكن من أن يعطى لكل جزء رقم أو عنوان أو كود تعريفى خاص به. تماما كالكتاب لا نستطيع الكتابة فيه و استخدامه بدون فهرست وهو ببساطة جدول يقول الموضوع الفلانى فى صفحة كذا إلى صفحة كذا.*
*لكن الحاسب رقمى ولا يهمه موضوع كذا فهو لا "يقرأ" بمعنى الفهم البشرى، هو فقط يستدعى المعلومة من مكانها لذا فالفهرست مقسم بالعكس ، نقسم مثلا هذا الشيء (هارد أو فلوبى أو سى دى أو فلاش) إلى كذا مليون قسم ، وقبل أن تقول لماذا ليس أكثر هو العدد الأقصى الذى يستطيع النظام التعامل معه.*
*لذا لو استخدمت هارد 240 جيجا مثلا و عملت له فورمات ستجد أن القطعة **Sector** مثلا 128ك ثم قسمته إلى جزأين **C,D** و عملت فورمات مرة أخرى ستجد القسم أصبح النصف.*
*هذا يعنى أن القسم أصبح 64ك وهذا يعنى أن النظام لا يستطيع التعامل بأقل من 64ك، فهذه هى القطعة التى يستطيع أن يضع لها عنوان ومن ثم يتعرف عليها. إن فتحت ملف و أعطيته إسم و لم تكتب فيه حرفا واحدا سيشغل من وحدة التخزين 64ك و سيظل هكذا حتى تضيف له بيانات تساوى 64ك (بالضبط 65536 بايت) و بعدها لو أضفت حرف سيصبح الضعف أى 128ك.*
*قبل أن تعترض فهناك شيء إسمه حجم الملف و شيء آخر إسمه ما يشغله من الهارد ولو أردت الإضطلاع على هذه المعلومات انقر يالزر الأيمن على ملف و اختار خواصة مثلا هذا الملف 1.3ك و يشغل 32ك على الهارد*




* إن لم تسعفك الويندوز استخدم البرنامج الرائع توتال كوماندر.*
*http://www.ghisler.com*
*أيضا بعض أنظمة التشغيل مثل زينكس تستطيع استغلال هذا الفراغ و كان هذا مجديا وقت أن كانت وسائط التخزين مكلفة و سعاتها محدودة أما الآن .....*
*هذه البيانات مع بيانات أخرى مثل اسم الملف و تاريخ إنشاؤه و تاريخ تعديله و آخر تاريخ فتج فيه و خواصه إن كان يمكن تعديله أم للقراءة فقط وهل مخفى أم متاح و كم قطاع يأخذ و ما القطاع السابق و التالى وغيرها من السمات تحفظ فى جدول يسمى **FAT** اختصار **File Allocation Table** أو جدول تموضع الملفات، و عندما تلغى ملف فحقيقة لا تفعل سوى الغاء أول حرف من اسمه لتخبر النظام أن هذا المكان متاح ولن يلغى فعليا إلا لو استخدم النظام مساحته لملف آخر لذلك يسهل إعادة الغاء الملفات أحيانا بعد أسابيع من الغاؤها. تنسيق هذا الجدول و وضع الملف فى الأقسام مسؤولية نظام التشغيل فقط لذا هذه الشكليات تعتمد على نظام التشغيل أساسا مثل كم حرف يتكون منها الإسم و كم حرف للإمتداد الخ*

*تنقسم الملفات عموما إلى ملفات تشغيل و ملفات بيانات. تتوقف الأولى على نظام التشغيل ففى الويندوز يكون لها إمتداد **EXE** أى أن هذا البرنامج عند النقر على إسمه سيبدلأ العمل.*
*ملفات **DLL** وهى ملفات خدميه **Library files** تحتوى برامج لكن لا تعمل مستقلة ولابد لبرنامج **EXE** آخر أن يطلب من نظام التشغيل أن يشغلها و يفتحها و يطلب منها الوظيفة كذا و يمد الويندوز بالبيانات اللازمة لهذه الوظيفة إن كانت مطلوبة فمثلا وظيفة إطلاق صافرة الحاسب لا تحتاج بيانات بينما رسم خط يلزم تحديد من أين لأين و بأى لون و سمك الخ. هذه الوظائف تعيد رقما ما فإن كانت وظيفة حسابية تعيد رقمين النتيجة و رقم كود العملية . رقم كود العملية = صفرا إن كانت ناجحة أو أى رقم آخر لو حدث خلل ما لتحديد نوع الخطأ **Error** الذى حدث.*

*سميت اختصارا للإسم **Dynamic Link Library** أى المكتبة ذات الرابط المتحرك لأنها مكتبة تحتوى بعض الوظائف من البرنامج الأصلى لكن غير مرتبطة به.*
*يعمل البرنامج "م" و يحتاج منها وظيفة فيطلب من الويندوز اسم **DLL** و الوظيفة فتحمل الويندوز هذا الملف **DLL** و تربطه بهذا البرنامج و تطلب من **DLL** الوظيفة و تعطي الجواب للبرنامج "م" و تدون فى عداد 1*
*بعدها يبدأ برنامج آخر "ص" و يطلب وظيفة أخرى منها - الملف مفتوح - فقط نطلب منه الرد و نزود فى العداد 1 وهكذا.*
*عندما يغلق أى من البرامج مثلا البرنامج "م" تنقص من العداد 1 و هكذا حتى يصل العداد صفر هنا فقط تلغى تحميل ملف **DLL** من الذاكرة و تحررها.*

*نظرا لكونها ذات بنية خاصة تتيح ما سبق لذا فعظم المترجمات و منها **http://powerbasic.com*
*السابق ذكرها تترجم أو تنتج هذا النوع من الملفات فقط يجب أن تحدد ما إن كان الكود الناتج هو **EXE** أم **DLL*

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


----------



## ماجد عباس محمد (13 أكتوبر 2015)

*الملف*

*الملف النصى **Text File :*
*قبل أن نناقش اللغات يجب أن نعلم ما هو الملف النصى **Text File** فلا يوجد نوع أهم من الملف النصى فى عالم الحاسبات و الصناعة.*
*قد يظن البعض أنه مجرد ملف به كتابة لكن الحقيقة أعمق من ذلك فهو بشروطه الملف الوحيد القابل للتداول بين الأشياء. و أقول هنا الأشياء للتعميم مثلا بين الماكينات و بعضها ، بين الحاسبات و الماكينات و بين الحاسبت على اختلاف انظمة تشغيلها الخ.*
*نشأت الحاجة لكود نصى عندما ظهرت الحاجة لتطوير ارسال البرقيات من إشارة مورس لإشارة أخرى يمكن ميكنتها فتسهل ارسالها من مصدر لهدف و بدوره قد يكتبها أو يوجهها لمسار آخر كالمكالمات الهاتفية، لذا ابتكر نظام بشريط ورقى مثقب به 5 ثقوب و "شرشرة" ثقوب رفيعة لتسحبه تروس التزامن ووضعت بين الثقب الثالث و الرابع لعدم عكس وضعه بالماكينة و تمر هذه الثقوب بين لمبات و حساسات ضوئية ، الثقب يعنى صفر و عدم وجوده يعنى 1 و الماكينات وقتها كانت تعمل بجهد 48 فولت القياسى.*




*خمسة ثقوب تعنى مجمل 32 خيار الآن لدينا 26 حرف و عشرة أرقام لذا لا يمكن ارسالها فاتبعت بعض النظم المحدودة للنقل بين "عالى" و "منخفض" للنقل بين مجموعة 32 للأحرف و أخرى للأرقام و العلامات ثم سريعا ما استبدل بنظام ذو 7 ثقوب وهو يوفر 128 خيار. الحروف و الأرقام 26 و يضاف إليها 26 حرف آخر للحرف الصغير و الكبير فالمجموع 62 و لدينا أوامر يجب تنفيذها مثل الرجوع لأول السطر، الإنتقال لسطر جديد الانتقال لعمود معين "**Tab**" للجدوله إضافة للعشرة أحرف التى تجدها على أزرار الأرقام على لوحة مفاتيحك وهى علامات النقود **$,#,&,% **والأقواس الخ و أيضا إطلاق جرس **Bell** كرسالة للمتلقى بالتنبه و الإنتقال لصفحة جديدة و الرجوع للخلف لإتاحة كتابة فوق كتابة (تحته خط أو مشطوب لسبب ما) الخ*
*الآن بقيت نقطة هامة جدا ، انت ترسل شريطا مثقبا و تنفق بالدقيقة ثمنا للخدمة ولو حرف زاد عن المطلوب قد يكلفك دقيقة بلا داعى، لذا كيف نلغى حرف أو جملة أو فقرة كتبت بالخطأ؟*
*الحل الوحيد هو ابتكار الخاصية **No-Op** أى **No operation** و المستخدمة كتأخير فى كل الميكرو الآن، تتم هذه الخاصية بتثقيب كل الثقوب السبعة و هكذا أى حرف آخر بالطبع سيكون أقل من 7 ثقوب و إلا لو 7 ثقوب سيلغى.*
*الآن ما أهمية ذلك؟*
*ماكينة الإرسال تعمل **Off line** اى محليا فبعد الغاء هذه الفقرة بالرجوع للخلف ثم الضغط على **Del** فيتم تثقيب كل الأخطاء المراد الغاؤها ، يعاد تمرير الشريط المثقوب فى القارئ و القارى متصل بالثاقب فيثقب كل حرف يمر عليه حتى إذا قرأ صفر صفر وهى **NOP** لا يفعل شيئا فقط ينتقل للحرف التالى و هكذا لا يحدث تثقيب للشريط الجديد فيكون الشريط الناتج أقصر من الاصلى المحتوى أجزاء ملغية.*
*اتفقت الهيئة العالمية الأمريكية **ASCII** على الأرقام المقابلة لكل حرف و رقم و عملية تحكم و اصبحت قياسا عالميا يستخدمه الجميع. و من أهم ميزاته أن الفرق بين الرقم و الكود هو إضافة **30** بالهكس و أيضا بت واحدة تحول بين الحرف الصغير و الكبير لذا التحويل من نوع لآخر أصبح سهلا.*
*الآن عندما نقول ملف نصى فالأساس أنه لا يحتوى على أحرف للتنسيق سوى "**TAB**" ولا أى فونت ولا أى صور فقط أعداد و أحرف و التحكمات القياسية ولو احتوى أعداد غيرها يسمى ملف ثنائى أو **Binary** .*
*اعتمد هذا الملف فى الحاسبات و عندما اعتمد عرض الحرف 8 بت أصبحت البايت تتحمل إضافة لغة ثانية فى 128 موقع التالية و طبعا هى إمتداد لبعض اللغات اللاتينية .*
*اللغات الأخرى مثل العربية و الصينية لا تعد ملفات نصية قياسية لحاجتعا لتحديد اتجاه الحروف من اليمين و الأحرف الجديدة أصبحت تشغل 2 بايت .*


----------



## ماجد عباس محمد (14 أكتوبر 2015)

*اللغات*

*اللغات:*

*مما سبق نلاحظ أن كل شيئ هنا ارقام وهى أرقام ثنائية أى مجموعة من الآحاد و الأصفار فلتحميل رقم ما للمراكم الرئيسى سيكون هناك تركيبة خاصة لكل شركة حسب ما صمم المهندسون وحدتهم، لذا سيكون مستحيل حفظ أكثر من مئة تعليمة و أكثر (للوحدات 8 بت و التى اصبحت الآف فى 64 بت) بهذه الصورة.*
*أول خطوة، أن نعبر عنها بالأرقام الستة عشرية "هيكسا" و هذا أسهل كثيرا، البرنامج الذى يكتب بهذه الطريقة بالأرقام الهكسا يسمى لغة الآله **machine code** وهى صيغة معتمدة.*
*لكن من يتذكر هذا الكم من الأرقام و يستطيع الترجمة من الأرقام إلى معانيها و بالعكس، فضلا عن وجود مشكلة خطيرة هى أنك لو لم تسير بالترتيب المتسلسل و اردت الإنتقال لنقطة وسطية، مالم تكن شديد الحرص قد تأخذ بالخطأ رقم سابق أو لاحق لتترجمة، لاحظ أنك لا تأخذ أمر سابق أو لاحق بل العكس تأخذ ما يفترض كونه بيان و تحلله كأمر للتنفيذ!!*
*لذلك وضعت لغة تسمى التجميع **Assembly Language ** وهى اعطاء اسم مختصر لكل تعليمة لكى تكون مفهومة*
*مثل وضع رقم فى مكان سميت **Load** و اختصارا **LD** وشركات أخرى استخدمت التعبير **MOVE** و اختصارا **Mov** و على الرغم من عدم نقل البيان بل هو فقط نسخه إلا أن البعض يروق لهم ما يروق لهم.*
*الأسيمبلر **Assembler** هو برنامج يقوم بالكتابة لك بلغة الأسيمبلى ولا يعطى شيئا ، فقط يحفظ ما تكتب فى صورة ملف نصى صرف **Text File** ولكن الإمتداد يختلف.*
*إذن لماذا لا نستخدم مثلا محرر النصوص فى الوندوز؟ لعدة أسباب*
*أولا يقوم بعرض الكتابة بالألوان فمثلا يجعل الأوامر بالنص الغليظ و الأرقام باللون الأحمر و التعليقت باللون الأخضر و العناوين باللون الأزرق ألخ مما يسهل عليك جدا معرفة ما تكتب و تكتشف بعض الأخطاء بالنظر.*
*ثانيا يطابق الأقواس لك فكل قوس تفتحة يربطه آليا بقوس تغلقه من الداخل للخارج فإن نسيت أحدها ستجد على الفور ماذا يخص ماذا و ما ترك بدون قوس – وهذا طبعا من وجهة نظرة هو فالبرنامج لا يعلم النوايا ولكنه يعد الموجود لذا لو نسيت قوسا فى الوسط ستجد التالى كله فى غير ما تتوقع له و هكذا تحدد الخطأ *




*أيضا هناك خط رأسى منقط يبين كل وظيفة بداية و نهاية مثلا بين **For-Next** فلو نسيت ان تغلق الوظيفة التى بداخلها ستجد الخط يذهب لمكان بعيد أو يختفى كليا.*
*أيضا الوظائف التى تتأكد من سلامتها ، يمكنك طيها كالمشار إليها بالصورة حتى لا تأخذ حيز من الشاشة و تركز تفكيرك على ما تريد وهذا بدأ من وظيفة داخلية صغيرة كالسابقة حتى **Subroutine / Function** كامل.*
*أعلم انك ستقول هذا برنامج بيزك الخ لكن هذا المحرر **NotePad++** يمكنه التعامل مع عدد لا نهائى من اللغات فبالإضافة لعدد 48 لغة من اسيمبلى للغات متخصصة أو عالية مثل **C** ، يمكنك تعريف لغة ما لتستخدمها وهو مجانى*
*https://notepad-plus-plus.org*
*و أخيرا و ليس آخرا يوضح على الجانب رقم السطر*
*ولكن عند الحفظ، يحفظ فقط فى نسق نصى **Text**بدون أى تنسيق. *

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


----------



## ماجد عباس محمد (15 أكتوبر 2015)

*المترجم Compiler*

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

*يعطى المترجم الناتج فى صورة ملف إما ثنائى بلغة الآلة لإستخدامه مباشرة ولذا فهو صغير وله إمتداد **.BIN** وهذا الملف لا يقرأ بواسطة محرر النصوص فكثير منها أرقام لا معنى لها، لكن يمكن مشاهدة محتواه بمحرر هيكس **Hex editor** و من أفضلها **Hex Editor Neo*
*http://www.hhdsoftware.com/free-hex-editor*




* أو يحفظ فى صورة ملف هيكس **Hex File** بامتداد **.Hex** وهو ملف نصى يفتح بمحرر النصوص و يمكن التعديل عليه و حفظه لو تعلم ما تفعله لكنها عملية بالغة الصعوبة فكل سطر يبدأ بالحرف ":" ثم عنوان و عدد البايت ثم البايتات ذاتها ثم **CRC** للتأكد من صحة ما فى هذا السطر و نظرا لإستخدام حروف نصية تجد حجم الملف كبيرا ، مثال هذه السطور*

```
[B]:1000000075813075A0007580FF8017758C3C758AEE[/B]
[B]:10001000ACD28CD5120575120A118175A88275892A[/B]
[B]:100020000132C28C751000751160758C3C758AACFC[/B]
```
*لمزيد من التفاصيل خاصة وأن هناك أكثر من نسق لهذه الملفات قم بالبحث عن **Hex file format*


*اللغات العالية **Hi level languages*

*لغة الأسيمبلى رائعة و تقوم بكل المهام لكن ستكون صعبة للمهام المعقدة ، لذا تنافس الكثير لتطوير لغات برمجية أقرب للإنجليزية و تقوم بكثير من المهام الصعبة ذاتيا مثل التعامل مع الأرقام العشرية و الضرب و القسمة و الجذور و العلاقات الهندسية و المثلثية الخ كدوال مبنية داخل اللغة ذاتها و إضافة كثير من الدوال المتخصصة فمثلا لغات المحاسبة تضيف دوال محاسبية و الإحصائية كذلك وهكذا وأعمها الهندسية.*
*لغة البيزك نشأت أصلا لتسهيل البرمجة للمتلقى العادى فهى اختصار للكلمات **Beginner All-purpose Scientific Instruction Code** أى هى علمية و لكل الأغراض و للمبتدئ لكونها أقرب للإنجليزية. وهذا لا يعنى إطلاقا أنها قليلة الشأن فقد برمجت إحدى كبار الشركات العالمية الأمريكية رادارها المدنى باستخدام **VB6** الشهير.*
*أعلم أن هواة لغة السى و مشتقاتها سيقولون أنها أقرب للماكينة الخ و هذا و إن كان صحيحا إلا أنه خطر لمن ليست لديه الخبرة الكافية فقد يسبب تعطل كامل "**Crash**" للويندوز و لكنى أراها معقدة لضرورة استخدام كثير من الأقواس و الكلمات التى لا لزوم لها فببساطة فيجيوال بيزك يقوم بنفس العمل بدونها.*
*أيضا يجب الالتزام بالتعبيرات الدقيقة فهذا التعبير أنها أقرب للماكينة الخ يخص ميكروسوفت فيجيوال بيزك 6 لكن شركة **Power Basic ** السابق التنويه عنها تصنع مترجم للويندوز بلغة البيزك المفهومة و كافة ميزات السى بما فيها إضافة اسيمبلى الخ الخ*
*حقا اللغات العالية التى تتيح أسيمبلى أقرب للماكينة من التى لا تتيح مثل بعض أنواع البيزك لكن هذا صحيح فقط فى الحاسبات لأنك تتخطى نظام التشغيل و العطله التى يسببها و تتعامل مباشرة مع المكونات لكن فى الميكرو كونتروللر فالأمر مختلف – لا يوجد نظام تشغيل لتتخطاه و على سبيل المثال دورة **For-Next** ستترجم لنفس الكود بأى لغة ولو زادت عدد الخطوات فهذا عيب فى المترجم أنه قليل الكفاءة لذلك فالحاجة للغة عالية لميكرو هى أساسا لتستطيع التعامل مع الأرقام الطبيعية ذات الكسور العشرية و الدوال الهندسية و المثلثية و اللوغاريتمات الخ و فيما عدا ذلك ، فالكل فى نظرى واحد.*


----------



## ماجد عباس محمد (17 أكتوبر 2015)

*اللغات الأخرى مثل java,html*

*اللغات الأخرى:*
*حسنا الآن هل اللغات العالية هى أقصى ما نحلم به؟*
*عندما حاول أحد العلماء ارسال ملف من حاسب الجامعة لزميل له فى ولاية أخرى نشأت الحاجة للربط التسلسلى عبر الهاتف و ما كان متيسرا هو أن نستخدم دائرة تضمين **Modulator** فى المرسل و فك التضمين **Demodulator** فى المستقبل. نظرا لأن الحوار من طرفين أى ارسال و استقبال فكل طرف يحتويهما معا فيما سمى **Mod**ulator **Dem**odulator ** و إختصارا سمى **MODEM** و كان بطيئا يضع مئات من البت فى الثانية لكون خط الهاتف ذو سعة ترددية لا تزيد عن 6000 ذ/ث.*
*ما أن ظهرت هذه الحاجة و الضرورة ، زاد الإستخدام و زاد الطلب حتى تطورت لما عرف باسم الإنترنت حاليا.*
*ظهرت الحاجة لنقل الصور و صفحات المعلومات من أجل الدعاية للمنتجات و التجارة ، لكن هنا مشكلة بالغة الصعوبة، وهى:*
*من الذى يطلبنى؟ و كيف أرسل له معلوماتى.*
*قد تراها تافهة لكن عفوا فمن يطلبك قد يكون شخص يدير أول حاسب **IBM** شخصى يعمل بالميكرو 8080 مع نظام دوس و قد يكون حاسب كبير فى مؤسسة تعمل بنظام مثل **SUN micro system** أو يونكس أو غيره و لاحقا أضيف ويندوز التى تغير معالمها كل بضع سنوات. و أيضا نفس المشكلة تكون عندما أضع معلوماتى على حاسبى و الذى قد يكون أى من السابق ذكرهم و اللاحق تطورهم.*
*الحل: نرجع بضع صفحات لأعلى لنقدر حقا أهمية الملف النصى فهو الوحيد لكونه خالى من التنسيق الخاص مثل الفونت و الألوان الخ يمكن استخدامه بين جميع هذه الأنظمة.*
*لكن الصفحة النصية ليست براقة، لذا ابتكرت طريقة **HTML** وهى اختصار كلمات **Hyper Text Markup Language ** وهى تعنى أن النص سنحمله فوق عادته و تم ذلك بإعتبار ما بين قوسين هو أمر من الأوامر <أمر> وهى لا تعرض ولكن تنفذ و تسرى حتى تجد امر الإقفال وهو بادئ بشرطة مائلة مثل </أمر> فيمكنك تغليظ النص أو تكبيره الخ و ابتكرت أنواع من الصور مثل **GIF PNG JPG** للإستخدام على النت و كل هذا مهمة المتصفح و تطورت لتشمل جداول ووسائل تنسيق أخرى كثيرة لكن كل هذه الأوامر و التعليمات تنقل فى صورة ملف نصى بحث و إن كان بامتداد مختلف.*
*لم تكتفى الشركات بهذا التطور و لكن ابتكرت وسائط أخرى و لغات أخرى مثل **PHP** و أيضا لغة **JAVA** وهى قابلة لتنفيذ أى برنامج كما تبرمجه بأى لغة أخرى و ميزته أنك فى لغات أخرى مثل **C,C++** يجب أن توفر نسخ لويندوز كذا و ويندوز كذا و لينكس كذا و كذا و باقى أنظمة التشغيل هذه *




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


----------



## ماجد عباس محمد (29 أكتوبر 2015)

*الكومبيوتر المصغر*

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




بعض الشركات الأخرى ذهبت خطوات كبيرة أبعد من ذلك حيث صنعت وحدات صغيرة حجم كارت الإتمان (أو أكبر قليلا) و لكنها تحتوى حاسب كامل بالذاكرة و نظام تشغيل ويندوز أو لينكس و تدعم البرمجة بعدة لغات قياسية و به دعم رسوميات لشاشة ولا يحتاج سوى شاشة و لوحة مفاتيح و ماوس. من هذه الشركات Raspberry Pi و إديسون و BeagleBone و غيرها. 
















و يتيح استخدام هذه الوحدات عمل روبوتات متقدمة جدا و أجهزة ذاتية التوجيه كالطائرات و الصواريخ الخ الخ



العالم الرقمى أصبح كالملح فى كل شيء وله تطبيقات و فوائد لاتعد ولا تحصى.
أرجو أن يكون هذا الشرح قد أفاد من بذل الوقت لقراءته و شكرا لكم..


----------

