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

Automatic control , PLC , Electronics , HMI , Machine technology development , Arabic & Islamic topics , Management studies and more
 
الرئيسيةالبوابة*أحدث الصورالتسجيلدخول

 

 الميكروكونترولر من البداية وحتى الاحتراف

اذهب الى الأسفل 
+35
tawfeek abd el hady
tawfikramadan1
eng\ jaber
mideo_2008
اابوصلاح
Eng_Mousa
الفقير لله
saoud adel
TRUELOVE2000
er-rachdi hamid
فتحي محمد
ELSAYED ABDALLAH
mohamed attia
مصطفى الشيباني
mostafa saad
uooranum
hamadaaskar
الغالى
سناء سام
engmohallam
Safwan Harbi
engbasra
أحمدعبدالحي
محمد الزوكاني
gogledcv
hany_omar
محمود فيصل صبره
ean
احمداحمدرزق
PLCMan
البحرالاحمر
عمرو حمزة
metwally.mustafa
aliali
F.Abdelaziz
39 مشترك
انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5  الصفحة التالية
كاتب الموضوعرسالة
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأربعاء 29 يوليو 2009 - 13:49

شكرا لك اخى الكريم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالخميس 30 يوليو 2009 - 5:46

metwally.mustafa كتب:
شكرا لك اخى الكريم

شكرا لك اخى الفاضل
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 31 يوليو 2009 - 13:54

5-مقدمة للبوابات المنطقية واستخداماتها

فتح وإغلاق البوابات
تمثل القيم الثنائية ( الصفر والواحد ) بقيمتين مختلفتين فى الجهد .فالصفر (0) هو جهد بقيمة قريبة من صفر فولت والواحد (1)هو جهد بقيمة قريبة من موجب 5 فولت .
البوابة هى دائرةالكترونية بسيطة لهاجهد خرج وحيد يناظر احدى القيم الثنائية ( اما 0 او 1 ). هذه البوابات غالبا ما يطلق عليها البوابات المنطقية كما يطلق على جهدالخرج ( المنطق 0 ) او (المنطق ( 1 بدلا من القول( قيمة ثنائية 0 ) او (قيمة ثنائية ( 1 الفارق هو الاسم فقط .
فلو سألت عالم رياضيات أو مبرمج حاسوب لقال ان الخرج قيمة ثنائية ولكن مهندس الالكترونيات سيقول منطق.فى الحقيقة لا يهم.

ما الذى يقرر(يحدد) جهد الخرج ؟
نوصل (نربط) واحد أو أكثر من الجهود لمدخلات البوابة.وهى اما بقيمة المنطق 0 او المنطق 1 .تقوم البوابة المنطقية بفحص جهود الدخل وتقرر وفقا لتصميمها نوع الجهد الذى تنتجه فى خرج الدائرة ( 0 او 1 ).
لا يوجد سوى أربعة تصاميم أساسية للبوابات . وهي بوابة NOT وبوابة AND وبوابة OR وبوابة XOR ( كلها احرف كبير حسما لاى خلاف ) .
سندرس هذه البوابات بدءا من أبسطها

البوابة NOT
لها مدخل واحد فقط ، وتؤدي وظيفة في غاية البساطة. ببساطة تعكس القيمة الثنائية. فاذا وضعنا في الدخل المنطق 1 حصلنا على منطق 0 في الخرج . وبالمثل 0 في الدخل يعطي 1 في الخرج. فى الشكل 5-1 تمثل البوابة NOT برمز كما هو مبين


الملف كاملا على الرابط :

http://www.4shared.com/file/122021205/a7b6b6e3/5-___.html
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 31 يوليو 2009 - 13:57

شكرا لك اخى الكريم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
PLCMan
Admin
PLCMan


عدد الرسائل : 12366
العمر : 55
العمل/الترفيه : Maintenance manager
تاريخ التسجيل : 02/03/2008

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 31 يوليو 2009 - 13:58


جزاكم الله خيرا أخي العزيز

وأتمنى أن يقوم أحد الزملاء بتجميع هذه الدورة القيمة في ملف واحد ثم يقوم برفعه على المنتدى ويا حبذا لو قام بذلك الزميل المبدع F.Abdelaziz

مع خالص التمنيات بالتوفيق

_________________
الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 61862110 الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 32210 الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 No_us_10

أبـوروان
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hassanheha.yoo7.com
احمداحمدرزق
جندي
جندي



عدد الرسائل : 1
تاريخ التسجيل : 03/08/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالإثنين 3 أغسطس 2009 - 9:51

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



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 9 أغسطس 2009 - 9:11

metwally.mustafa كتب:
شكرا لك اخى الكريم
شكرا لك اخى الفاضل واعتذر عن التاخير
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 9 أغسطس 2009 - 9:16

PLCMan كتب:

جزاكم الله خيرا أخي العزيز

وأتمنى أن يقوم أحد الزملاء بتجميع هذه الدورة القيمة في ملف واحد ثم يقوم برفعه على المنتدى ويا حبذا لو قام بذلك الزميل المبدع F.Abdelaziz

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



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 9 أغسطس 2009 - 9:19

احمداحمدرزق كتب:
شكرا كثيرا أخي الكريم وياريت فعلا يقوم احد الزملاء بتجميع الدورة للفائدة

شكرا لك اخى الكريم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأربعاء 12 أغسطس 2009 - 17:18

الجزء الثانى

الميكروكونترولر: Microcontrollers
اولا : مقدمة

التجهيز للانطلاق :

فى عام 1960 بدات الالكترونات عصرا جديدا باكتشاف المواد الموصلة ومن ثم الترانزستور وسرعان ما تطور الى الدوائر المتكاملة والمعالجات الدقيقة .

بداية الميكروكونترولر :

فى عام 1971 وبعد ما تطور المعالج الدقيق والذاكرات واصبح من الممكن تجميع المعالج الدقيق والذاكرات ودوائر الدخل والخرج ودوائر المؤقتات فى شريحة واحدة .
وهناك اختياران اما ان نترك الاشياء والمكونات كما هى (منفصلة ) ويكون الاسم كما هو المعالج الدقيق او ندمج الكل معا ونسميه الميكروكونترولر او المتحكم الدقيق .

معظم المتحكمات الدقيقة متشابهة :

بمجرد ان نتعلم قيادة السيارة فانه من السهل التعرف على قيادة معظم السيارات لانها متشابهة . وجميع المتحكمات الدقيقة بينها تشابه . ولقد تعرفنا على بناء المعالج الدقيق ومن ثم يمكننا التحرك ( الانتقال ) بسهولة الى المتحكم الدقيق . وسوف لا نفاجىء بان كل المتحكمات الدقيقة متشابة جدا فى اساسها .

والانواع الاكثر انتشارا واستعمالا من المتحكمات الدقيقة هى ثلاثة انواع (وكل نوع به عائلات منه وكل عائلة بها افراد) . الاول 8051 وربما الاوسع استخداما منذ عشرون عاما ومازال يتم تطويره بشركات متعددة ولا توجد دلائل على هبوطه والثانى هو عائلة AVR المنتجة بمعرفة شركة اتميل Atmel وهى احدى الشركات القائدة فى هذا المجال . اما الاخير وهو المتحكم الدقيق PIC الذى سنتناوله بالتفصيل .

الميكروكونترولر : PIC
الميكروكونترولر PIC هو الاختيار الشائع المعتاد للبدء فى مجال الميكروكونترولر. والسبب الاساسى ان شركة ميكروشيب المنتجة له اعتمدت بجدية نظام الكومبيوتر ذو التعليمات المخفضة RISC . كما ان عدد التعليمات فقط 35 تعليمة ( للعائلة الوسطى كما سنرى بالتفصيل ) ويمكن بعدد قليل منها كتابة برنامج يمكن استخدامه . كما ان كل حركة ( انتقال ) للبيانات تعتمد على مسجل واحد فقط يسمى مسجل العمل ‘W’ اختصارا لكلمة ‘working’

عائلة الميكروكونترولر PIC :
الاختصار PIC فى اغلب المراجع هو اختصار للعبارة
Peripheral Interface Controller اى المتحكم ذو الربط ( الاتصال ) بالمحيط الخارجى . وفى بعض المراجع هو اختصار للعبارة
“Programmable Intelligent Computer” اى الكومبيوتر الذكى القابل للبرمجة .
وفى البعض الاخر هو اختصار للعبارة “Programmable Interface Controller.”
اى المتحكم ذو الربط (الاتصال) والقابل للبرمجة .
على الرغم من تواجد المئات من الموديلات للميكروكونترولر PIC الا انه يمكن تقسيم العائلة الى ثلاث مجموعات رئيسية وهى :
1- مجموعة تعمل بكلمة تعليمة بعرض 12-bit مثال PIC12C508 وتسمى عائلة خط الاساس ‘baseline’ او العائلة الصغرى
2- مجموعة تعمل بكلمة تعليمة بعرض 14-bit مثل 16F8X, 16F87X (PIC16F84 و PIC16F628 وPIC16F676 وPIC16F877 ) وتسمى العائلة الوسطى “mid-range” او عائلة المدى الاوسط
3- مجموعة تعمل بكلمة تعليمة بعرض 16-bit مثل 17C7XX, 18C2XX وتسمى عائلة الخصائص المرتفعة او ‘high-end’.

وسوف نتناول مجموعة العائلة الوسطى بالتفصيل والتى تسمى PICmicro X14 نسبة الى عدد الخانات (البتات) فى كلمة التعليمة . تم بعد ذلك نذكر الاختلافات مع بقية المجاميع .

ثانيا :التركيب البنائى للميكروكونترولر PIC
( العائلة الوسطى المسماه PICmicro x14 )

الخصائص العامة للتركيب البنائى

- يعتمد الميكروكونترولر PIC فى تركبيه البنائى على نظام الكومبيوتر ذو التعليمات المخفضة RISC .
2- يحقق اكبر قدر من الكفاءة نتيجة اعتماده على التركيب البنائى المسمى هارفارد Harvard حيث يوجد ممرات منفصلة لكل من البيانات والعناوين وكذلك حيزان منفصلان لكل من ذاكرة البرنامج وذاكرة البيانات .
3- تنفيذ التعليمة بما يعرف بطريقة خطوط النقل pipelining مما يعطى سرعة اعلا بينما المسجل ( او يسمى مسجل الملف ) يسمح لك بالقيام بنفس العمل بالمسجلات كما تفعل مع اى نوع من ال RAM .

4- تعليمات ذو دورة واحدة : بما يسمح بسرعة عالية فى تنفيذ الكود واستخدام تعليمات ذو كلمة واحدة يحسن الاداء الانتاجى ويخفض من مساحة الذاكرة المطلوبة .
5- استخدام تعليمة بكلمة كبيرة : يعطى امكانية حفظ البيانات نوع immediate فى نفس سطر الكود كالتعليمة نفسها والذى يؤدى الى تخفيض مجموعة التعليمات الى اقل عدد .
6- التعليمات متعامدة ومتماثلة : وهذا يعنى ان لكل مجموعة من التعليمات هناك تعليمة مسح Clear ولكل تعليمة زيادة بواحد Increment يوجد تعليمة انقاص بواحد Decrement وهكذا .
يمكنك اجراء كل التعليمات مع اى من المسجلات وبالتالى لا يوجد وظيفة خاصة او تعليمة خاصة للتعامل مع مسجل بعينه .

لنتناول هذه الخصائص بشىء من التفصيل :

اولا :مقارنة بين التركيب البنائى نوع هارفارد والتركيب البنائى نوع فون نيومان(الموجود بالميكروكونترولر ذو ال 8 بت الاخرى ) :
التركيب البنائى نوع فون نيومان به حيز واحد فقط لحفظ كل من ذاكرة البرنامج وذاكرة البيانات . وهذا يعنى ان من الضرورى جلب fetch التعليمات والبيانات من نفس حيز الذاكرات . مما يحدد مجال العمل لانك تستطيع فقط ارسال اما قطعة من البيانات او تعليمة واحدة فى نفس الوقت .
مع التركيب البنائى نوع هارفارد يوجد حيزان منفصلان للذاكرات . حيز للتعليمات ( ذاكرة البرنامج ) وحيز اخر للبيانات ( ذاكرة البيانات ) مما يمكنك من زيادة الطاقة الانتاجية لانه اثناء جلب التعليمة التالية يمكنك فى نفس الوقت كتابة نتائج التعليمة السابقة .
والميزة الاخرى هى : حيث ان الميكروكونترولر نوع 8- bit فان ذاكرة البيانات تكون بعرض
8-bit ولكن ذاكرة البرنامج يمكن ان تكون باى عرض نختاره ( لانفصالهما عن بعضهما )
فى التركيب البنائى الحالى فان ذاكرة البرنامج المستخدمة تكون بعرض 12-bit او 14-bit او 16-bit . التركيب البنائى الذى سوف نناقشه يستخدم حيز ذاكرة البرنامج بعرض 14-bit .














Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!" border="0" alt=""/>
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 14 أغسطس 2009 - 13:38

ملحوظات :

1- نظام نبضات الساعة ومفهوم دورةالتعليمة :

تعرف دورة تنفيذ التعليمة بانها الزمن الازم لتنفيذ التعليمة ويرمز لها بالرمز Tcy
نظام التوقيت ( الساعة ) clock : مصمم بحيث يتم احضار ( جلب) fetched التعليمة و فك شفرتها decoded وتنفيذها executed كل اربع دورات من دورة الساعة . وبهذه الطريقة اذا كان الميكروكونترولر يعمل بمذبذب توقيت (ساعة) بمعدل 4MHZ ( عند الطرف OSC1 ) اى زمن الفترة الواحدة ( الدورة ) 0.25 μs وحيث ان كل تعليمة تنفذ بالكامل فى اربع دورات فان زمن دورة التعليمة هو 1 μs .
- عداد البرنامج
عداد البرنامج program counter واختصاره PC هو مسجل على شكل عداد بعرض 13-bits وظيفته الحفاظ على تتابع التعليمات ( لذلك يسمى احيانا مؤشر التعليمة) .
تحفظ التعليمات ( البرنامج) على التتابع فى ذاكرة البرنامج ويقوم عداد البرنامج عن طريق ناقل عناوين البرنامج بالاشارة الى عنوان التعليمة التى عليها الدور فى الاحضار حيث تخرج التعليمة نفسها خلال ناقل بيانات التعليمة خارج حيز ذاكرة البرنامج الى مسجل التعليمة .
ونظرا لان عداد البرنامج متصل بوحدة التنفيذ ( خلال ممر البيانات الداخلى ) فان وحدة الحساب والمنطق يمكنها التعامل مع هذا المسجل وتعديل مسار تتابع التنفيذ ( مثل تعليمة Goto و Call ) .




[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 27106626.th[/img]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 14 أغسطس 2009 - 13:43

ثانيا: عملية نقل التعليمات بطريقة خطوط النقل Pipelining

ادى استخدام كل من نظام الكومبيوتر ذو التعليمات المخفضة RISC والتركيب البنائى للذاكرات بطريقة هارفارد فى الميكروكونترولر PIC الى ميزة اضافية : هى امكانية تداول التعليمات على شكل خطوط نقل متفرعة بما يعرفربأسم Pipelining .
كل تعليمة فى ذاكرة برنامج الكومبيوتر يجب اولا احضارها (جلبها) ثم بعد ذلك تنفيذها . فى كثير من وحدات المعالجة المركزية تتم هاتان الخطوتان واحدة تلو ( بعد ) الاخرى .
اولا تقوم وحدة المعالجة المركزية بجلب التعليمة ثم بعد ذلك تنفيذها . فاذا كان لذاكرة البرنامج عناوينها الخاصة بها ( فى حيز خاص بها ) ولها ممر (ناقل) بيانات خاص بها وهى مفصولة عن ذاكرة البيانات ( اى التركيب البنائى هارفارد ) فلا يوجد اى سبب يمنع من تصميم وحدة المعالج بحيث عند ( اثناء) تنفيذها احد التعليمات فى نفس الوقت تقوم باحضار (تجلب) الاخرى وهو ما يعرف باسم Pipelining .
وهذه الطريقة تعمل بكفاءة اذا كان زمن دورة الجلب يساوى زمن دورة التنفيذ وهو المتوفر بواسطة التركيب البنائى للكومبيوتر ذو التعليمات المخفضة RISC . وهو يؤدى الى مضاعفة سرعة التنفيذ .
فكل تعليمة تجلب اثناء تنفيذ التعليمة السابقة لها . وتفشل طريقة Pipelining فقط للتعليمات التى تسبب تغيير قيمة عداد البرنامج مثل تفرع البرنامج او القفز . فى هذه الحالة لا يتم جلب التعليمة فى دورة بل فى عدة دورات .
المخطط يمثل عملية خطوط النقل pipelining لعائلة الميكروكونترولر الوسطى 16 series . وفيه نرى انه اثناء تنفيذ التعليمة رقم 1 فان التعليمة رقم 2 يتم جلبها ( احضارها) . وبالمثل يحدث للتعليمة رقم 2 وهكذا . كمثال لتتابع التعليمات موضح على يسار الشكل . ليس مهما الان ان تفهم معنى التعليمة ولكن المهم فهم المخطط حيث التعليمة CALL تسبب تفرع البرنامج ( القفز) . نجد انه يتم جلب التعليمة رقم 4 بينما يتم تنفيذ التعليمة رقم 3 . نتيجة لتفرع البرنامج لانحتاج الى التعليمة رقم 4 ويتم فقد دورة اثناء جلب التعليمة الجديدة .

فى معظم ال 8 bit الميكروكونترولر يتم جلب ( احضار ) التعليمات وتنفيذها بالتعاقب ( على التوالى ) لانه لا يوجد الا ناقل (ممر) واحد للبيانات . طريقة pipelining اعطت امكانية عمل حدثين فى نفس الوقت بين خطوات جلب او احضار التعليمة وتنفيذها لزيادة سرعة تنفيذ التعليمة .




[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 20454629.th[/img]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالجمعة 14 أغسطس 2009 - 13:46

الان ماذا يحدث للتعليمات بعد وضعها فى حيز ذاكرة البرنامج سوف نوضح ذلك بمثال يبين كيف نحصل على دورة تنفيذ واحدة وعمل تراكب (حدثين فى ان واحد ) overlap بين كل من تعليمات الجلب ( الاحضار) وعملية التنفيذ .
فى هذا المثال سوف ننفذ 4 تعليمات وسوف نلاحظ كيف ان التعليمات تم جلبها وتنفيذها من خلال خمسة 5 دورات من دورة التعليمات . دورات التعليمات موضحة بالرموز Tcy0 الى Tcy4 .سوف ترى ان كل من الاربعة تعليمات يجب اولا جلبها ( احضارها) ثم تنفيذها خلال دورت التعليمات التالية .
كل تعليمة تأخذ دورة تعليمة واحدة فيما عدا التعليمات التى تعدل من عداد البرنامج . وهذا التعديل يحدث مع تعليمات القفز والقفز الى برنامج فرعى sub-routine او اى تعليمة تكتب مباشرة على عداد البرنامج . هذة التعليمات سوف تأخذ دورتين من دورات التعليمة كما سنرى فى المثال .
التعليمة الاولى : تقوم باداء MOVLW 55h وحيث انها التعليمة الاولى التى سوف تنفذ لايوجد شىء فى خطوط النقل pipeline للتجهيز للجلب المسبق لذلك سوف نقوم بعمليةالجلب ( الاحضار) لنحصل على (نضع) التعليمة فى مسجل التعليمة instruction register خلال الدورة الاولى Tcy0 .
التعليمة MOVLW تعنى نقل ( وضع) محتويات القيمة المباشرة الثابتة literal للتعليمة ( فى هذه الحالة 55h ) الى مسجل العمل W .بينما هذه التعليمة تنفذ خلال الدورة الثانية Tcy1 ايضا نجهز لجلب التعليمة التالية .
التعليمة الثانية : هى نقل ( نسخ) محتويات المسجل W الى ملف ( مسجل عام) وتكتب بالصيغة (MOVWF) وهى سوف تقوم فى حالتنا بنقل ( نسخ) محتويات المسجل W الى المسجل المسمى PORTB وهو منفذ دخل وخرج .فى نهاية الدورة الثانية Tcy1 فان المسجل W يكون به القيمة 55h والتى تم تحميلها من التعليمة .
الدورة الثالثة Tcy2 : يتم تنفيذ التعليمة MOVWF ويكون نتيجتها نسخ محتويات المسجل W الى المسجل PORTB . خلال نفس الدورة يتم التجهيز لجلب التعليمة التالية وهى التعليمة رقم 3 .لاحظ انه بنهاية الدورة الثالثة Tcy2 فان المسجل W لازال يحتوى على 55h والمسجل PORTB ايضا يحتوى على 55h .اى ان التعليمة MOVWF تحافظ على القيمة الاصلية فى المسجل W .
التعليمة التالية التى تم جلبها فى الدورة الثالثة Tcy2 هى التعليمة CALL SUB_1 والتى تخبر البرنامج بالقفز الى البرنامج الفرعى حيث يوجد عنوانه وهو SUB_1 .
الدورة الرابعة : Tcy3 ننفذ القفز الى تعليمة البرنامج الفرعى وفى نفس الوقت نجهز لجلب التعليمة التالية .فى هذه الحالة التعليمة التالية هى BSF Port A, Bit 3 .
بعبارة اخرى خذ الخانة المسماة Bit 3 للمسجل PORTA واجعلها مرتفعة high . واثناء جلب هذه التعليمة نكون انهينا تنفيذ التعليمة CALL SUB _1 والتى بدأت من قبل ( تأخد دورتين من دورات التعليمة )
الدورة الخامسة : Tcy4 نبدأ فى ترتيب جديد للتعليمات (نتيجة القفز) والذى يعنى اننا نزيل او نغسل flush التعليمة الرابعة التى جلبناها ( احضرناها ) وهى BSF PORT A, BIT3 . بعمل ذلك نكون اوقفنا تنفيذ التعليمة BSF بوحدة الحساب والمنطق واثناء ذلك تم جلب التعليمة التى بالموقع SUB_1 .
وهذا يوضح انه حيثما وجد اى شىء يؤدى الى تعديل عداد البرنامج سواء اكان قفز الى برنامج فرعى او حتى قفز عادى فان وحدة التحكم والمنطق اتوماتيكيا سوف تقوم بعمل غسيل للتعليمة التى تم جلبها وتتخلص منها ( تستبعدها) . عند استخدام برنامج فرعى فان التعليمة RETURN سوف تسبب فى رجوع البرنامج الى الترتيب الاصلى للبرنامج من عند التعليمة التى تلى التعليمة CALL فى هذه الحالة هى التعليمة BSF PORTA, BIT3 .

القادم :

ثالثا كلمة تعليمة طويلة :
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالسبت 15 أغسطس 2009 - 2:44

شكرا لك اخى الكريم

_________________
I am so far behind, I think i am first
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالسبت 15 أغسطس 2009 - 5:14

metwally.mustafa كتب:
شكرا لك اخى الكريم

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



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالسبت 15 أغسطس 2009 - 15:41

ثالثا كلمة تعليمة طويلة :

الان دعنا نلقى نظرة على معنى ان كلمة التعليمة طويلة .كان من نتيجة استخدام ممرات منفصلة لكل من التعليمات والبيانات السماح باستخدام كلمة تعليمة طويلة ففى حالتنا الان فان كل تعليمة تمثل بكلمة واحدة تسمى كلمة التعليمة بطول 14 بت وتنفذ فى دورة تعليمة واحدة .
بسبب ان التعليمة فى كلمة واحدة ادى الى قوة التعليمة نفسها . ولنقارن فان ذاكرة برنامج ذات حيز 2k x 14 words فى الميكروكونترولر PIC16 تقريبا تعادل 4k x 8 words للميكروكونترولر الاخرى ذات ال 8 bits . كما ان التنفيذ فى دورة واحدة ادى الى سرعة عالية فى تنفيذ البرنامج دون استخدام حيز كبير من الذاكرة .

مثال لكلمة التعليمة الطويلة :
نوضح هنا مثال لتعليمة بكلمة طويلة فالتعليمة MOVLW #IMM والتى تحمل المسجل w ( تضع ) بالقيمة الفورية الثابتة التى نرمز لها بالرمز #IMM . فى التركيب البنائى الخاص بنا فان هذه القيمة دائما عدد ذو 8-bits . ويمكن ان نخزن هذه القيمة فى التعليمة بعرض 14-bits . فى هذه الحالة تخصص اربعة خانات لكود العملية op-code وهو فى هذه الحالة MOVLW يترجم الى الشفرة 1100b .


[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 60831552.th[/img]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالسبت 15 أغسطس 2009 - 15:44

شكل ( هيئة ) التعليمه Instruction Format
كل اعضاء عائلة المدى الاوسط لها تعليمات بعرض 14-bits ومجموعة التعليمات عددها 35 تعليمة .وشكل او هيئة التعليمة تتبع اربع نماذج مختلفة :
تعليمات خاصة بالبايت byte وتعليمات خاصة بالخانة او البت bit وتعليمات خاصة بالثوابت وتعليمات التحكم .
الاشكال توضح توضيح لهذه الانواع .
[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 61695400.th[/img]

[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 89578501.th[/img]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالسبت 15 أغسطس 2009 - 15:47

[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 26143394.th[/img]



[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 84421344.th[/img]

لاحظ ان مجال (مكان) شفرة او كود التعليمة متغير فى عدد الخانات . وذلك ليسمح بوجود 35 تعليمة مختلفة . ايضا لاحظ ان التعليمات التى بها مسجل ملف يكون مكون من 7 خانات . والمدى العددى للسبع خانات هو 128 قيمة . ولهذا السبب فى هذه العائلة الميكروكونترولر الذى يحتوى على اكثر من 128 موقع ذاكرة بيانات يجب ان توزع بتقنية البنوك .
فى هذه الحالة يتم اختيار البنك الذى به العنوان بمساعدة مسجل خاص يعرف باسم مسجل الحالة STSTUS .
ونفس الموقف يحدث عند عنونة ذاكرة البرنامج بعدد 11-bits . فان الاحدى عشرة خانة تسمح بعدد 2048 عنوان ولذلك اذا احتوى الميكروكونترولر على اكثر من 2k من ذاكرة البرنامج يجب ان يحتوى على مخطط صفحات حيث يستخدم مسجل خاص لاختيار الصفحة التى يوجد بها العنوان .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 16 أغسطس 2009 - 12:27

بارك الله فيك اخى الكريم

_________________
I am so far behind, I think i am first
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 16 أغسطس 2009 - 16:16

metwally.mustafa كتب:
بارك الله فيك اخى الكريم

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



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالأحد 16 أغسطس 2009 - 16:20

ملخص لطريقة معالجة البرنامج بالمعالج الدقيق والذاكرات




[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 66504351.th[/img]




الشكل يوضح وحدة المعالجة المركزية والذاكرات ومعهما ممران (ناقلان) للبيانات وممرات العنونة المناظرة .
يمكن اعتبار ان وحدة المعالجة المركزية بصفة عامة مقسمة الى شطرين .
الدوائر التى فى اقصى اليسار تتناول (تختص)عملية جلب اواحضار شفرات التعليمة وعرضها (تقديمها) بالتتابع (التناوب) الى مسجلات فك شفرة التعليمات . اما القسم باقصى اليمين يقوم بتنفيذ كل تعليمة وفق تعليمات التحكم من مسجلات فك هذه الشفرة .
لنبحث اولا فى عملية الاحضار او الجلب fetch :
يشمل هذا القسم :
1- عداد البرنامج Program Counter ( PC)
تخزن التعليمات على التتابع فى ذاكرة البرنامج وعداد البرنامج هو مسجل عداد والذى يقوم بالحفاظ على تتابع (تعاقب) كلمة التعليمة الحالية . هذا العداد المتزايد يسمى احيانا بمؤشر التعليمات.
وحيث ان عداد البرنامج متصل بوحدة التنفيذ من خلال ممر البيانات فان وحدة الحساب والمنطق ALU يمكن استخدامها فى استغلال هذا المسجل وتعطل التسلسل ( التعاقب) المنظم للتنفيذ. بهذه الطريقة يمكن تنفيذ مختلف طرق القفز الى جزء اخر من عمليات البرنامج .
2-مسجل التعليمة رقم 1 ( IR1)
محتويات خلية تخزين البرنامج والمشار اليها بعداد البرنامج ولتكن كلمة التعليمة رقم n يتم الامساك بها latched داخل مسجل التعليمة IR1 للمعالجة خلال الدورة التالية .
3- -مسجل التعليمة رقم 2 ( IR2)
خلال نفس الدورة اى اثناء احضار او جلب كلمة التعليمة رقم n يتم نقل كلمة التعليمة رقم n-1 والتى تم جلبها من قبل من المسجل IR1 الى المسجل IR2وتغذى الى دائرة فك شفرة التعليمة .
4- حلال شفرة التعليمة Instruction Decoder ID
حلال شفرة التعليمة هو مخ ( العقل المفكر) لوحدة المعالجة المركزية حيث يقوم بفك شفرة كلمة التعليمة فى المسجل IR2 ويرسل اشارات خرج بالتسلسل المناسب الى وحدة التنفيذ حسب الاحتياج (الضرورة) لتحديد مكان العملية فى ذاكرة البيانات (ان وجدت) ويعمل على تهيئة وحدة الحساب والمنطق لتعمل بالطريقة المناسبة .

فى المخطط التعليمة المبينة هى movf 5,w ( وتعنى نقل او نسح محتويات مسجل الملف رقم 5 الى مسجل العمل W )

قسم التنفيذ :
يتناول قسم التنفيذ الوصول الى ذاكرة البيانات وتهيئة وحدة الحساب والمنطق ALU . دوائر التنفيذ يتم التحكم فيها من حلال شفرة الكود والذى بدوره يؤمر(يقاد) بواسطة كلمة التعليمة رقم n-1 الموجودة بالمسجل IR2 .
يحتوى هذا القسم على :

1- مسجل عنوان الملف : FAR
عندما ترغب وحدة المعالجة المركزية فى الوصول الى خلية ( تسمى ملف file واختصارا f ) فى ذاكرة البيانات فانها تضع عنوان الملف فى المسجل FAR( مسجل عنوان الملف) .وهذه الطريقة تعطى عنوان الذاكرة ( الملف) مباشرة من خلال ممر عنونة الملفات . كما هو موضح بالمخطط فان الملف رقم 5 يقرأ من ذاكرة البيانات والبيانات الناتجة يتم امساكها فى فى المسجل FDR ( مسجل بيانات الملف) التابع لوحدة المعالجة المركزية .

2- مسجل بيانات الملف : FDR
هو مسجل يعمل فى اتجاهين وهو اما :
* الاحتفاظ بمحتويات الملف المحدد بالعنوان اذا كانت وحدة المعالجة المركزية تنفذ دورة قرأة Read cycle كما هو الحال فى التعليمة رقم 1 (movf 5,w ) اى نقل او نسخ اى قرأة بيانات من الملف 5 الى المسجل W .


** الاحتفاظ بالبيانات التى ترغب وحدة المعالجة المركزية ان ترسلها ( اى كتابة )الى الملف المحدد بالعنوان . وهذه هى دورت الكتابة Write cycle كما هو فى التعليمة رقم 3 movwf 6 والتى تعنى نقل او نسخ ( اى كتابة) محتويات المسجل W الى الملف رقم 6

3- وحدة الحساب والمنطق : ALU
تقوم وحدة الحساب والمنطق بتنفيذ العمليات الحسابية والمنطقية كما تامرها وظائف الشفرة والتى تم توليدها بمعرفة حلال الشفرة .

4- مسجل العمل Working Register W
المسجل W هو مسجل العمل لوحدة الحساب والمنطق غالبا ما يقوم بالاحتفاظ باحد معاملات التعليمة اما كمصدر او كهدف . على سبيل المثال subwf 20,w تقوم بعمل عملية طرح لمحتويات المسجل W من محتويات الملف رقم 20 ووضع النتيجة مرة اخرى فى المسجل W .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالإثنين 17 أغسطس 2009 - 10:09

شكرا لك اخى الكريم

_________________
I am so far behind, I think i am first
الرجوع الى أعلى الصفحة اذهب الى الأسفل
metwally.mustafa
فريق أول
فريق أول
metwally.mustafa


عدد الرسائل : 4226
العمر : 38
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالإثنين 17 أغسطس 2009 - 10:22

ولكن ماذا نفعل اذا اردنا عمل Delay

مقداره 10 sec

حيث ان زمن التنفيذ للتعليمه 1 micro sec

وكيفيه تنفيذ الامر NOP

مع الDelay

والرجاء شرح الامر INC و DEC

وما هى تطبيقاته؟

وشكرا........

_________________
I am so far behind, I think i am first
الرجوع الى أعلى الصفحة اذهب الى الأسفل
F.Abdelaziz
عقيد
عقيد



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالإثنين 17 أغسطس 2009 - 16:00

metwally.mustafa كتب:
ولكن ماذا نفعل اذا اردنا عمل Delay

مقداره 10 sec

حيث ان زمن التنفيذ للتعليمه 1 micro sec

وكيفيه تنفيذ الامر NOP

مع الDelay

والرجاء شرح الامر INC و DEC

وما هى تطبيقاته؟

وشكرا........


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



عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Empty
مُساهمةموضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف   الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 Emptyالخميس 20 أغسطس 2009 - 5:46

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


[img]الميكروكونترولر من البداية وحتى الاحتراف - صفحة 3 45475955.th[/img]

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

نبدأ المخطط الصندوقى بحيز ذاكرة البرنامج :
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الميكروكونترولر من البداية وحتى الاحتراف
الرجوع الى أعلى الصفحة 
صفحة 3 من اصل 5انتقل الى الصفحة : الصفحة السابقة  1, 2, 3, 4, 5  الصفحة التالية
 مواضيع مماثلة
-
» برمجة الميكروكونترولر PIC& AVR بالمخطط السلمى ladder diagram من البداية وحتى الاحتراف
» تعلم الالكترونيات من البداية الى الاحتراف
» العادلى من البداية وحتى 25 يناير
» دورة تدريبية عن LG-PLC من البداية وحتى النهاية ( تحميل )
» قسم مصممي الماكينات

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى التحكم الآلي والإلكترونيات :: منتديات التحكم الآلي والإلكترونيات :: منتدى الميكروكنترولر Micro Controller-
انتقل الى: