قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
السلام عليكم ورحمة الله وبركاتة
نظر للسؤال عن عملية زيادة ذاكرة البيك , عن طريق ربطها بذاكرة خارجية مثل 24C02 فساستخدم المحاكاة بين المايكروكنترولر والميموري ببروتوكول يسمى I2C ,
خطوة بخطوة وشرح تفصيلي لجميع اوامر الكتابة للذاكرة والقراءة منها , ونحن معا لنرتقي ونتقن الموضوع بالمعلومات التي اعرفها , وارحب بجميع المشاركات والاضافات والاسئلة لنتعلم مع بعض
وساستخدم لغة المايكرو سي بالبرمجة.
يسعدنى انى اكون اول المشاركين بالرد على حضرتك موضوعك المهم الذى شغل بال الكثيرين من مهندسين القرية لذيادة حجم الذاكرة ونحن فى انتظار درسك الأول او شرحك والله المستعان .
نعم .... فالنبدأ بمقدمة عن أشكال و أنواع الذاكرات الخارجية ....ثم ننتقي أحدها و لتكون أفضلها مثلا.... ثم نتناول كيفية برمجتها ... و كيفية برمجة الـPIC ... و كيف سيتعامل كل من الـPIC و الـEEPROM مع كل من بعضهما البعض ...
الى الأمام ... و نحن في إنتظار الجديد....
مشكور على المجهود مقدماً....
السلام عليكمورحمة الله وبركاتة
سوف نتكلم عن ذاكرة ميموري 24C02 وبيك 16F877A
وسف نربط بينهم ببروتوكول اسمة I2C
هناك بروتوكولات عديدة ومنها :-
I2C , SPI , CAN , USB , SCSI , ULTRASCSI
وهناك العديد ايضا من هذة البروتوكولات وهناك فروق كثيرة بينهم وما يهمنا الان هو بالنسبةالفرق لسرعة النقل بين الماستر والسليف.
والان لنبدأ باسم الله الرحمن الرحيم ...........بعدة اسئلة لتوضيح الموضوع
س1 ) ما الفرق بين I2C و SPI و USB مثلا ؟؟
فلاول يتميز بسرعة نقل 100KHz
والتاني سرعتة 110KHz
والثالث 1,5 ميغل الى 12 ميغا هيرتز
س2 ) ما معنى ماستر وما معنى سليف ؟؟
ماستر وتعني السيد Master وهنا سيقوم بهذا الدور البيك
والسليف تعني العبد او الخادم وستقوم بهذا الدور الذاكرة .
س3 ) ما معنى I2C ? وما هي مميزاتة ؟
I2C BUS >>>>>> INTER - IC BUS
تطور بالثمانينات من هذا العصر من قبل شركة فيليبس
ويسمى ايضا TWO - WIRE BUS اي انة يعتمد على بسين فقط
serial data ( SDA وهو خط نقل المعلومات التوالي السيريال
SERIAL CLOCK ( SCSL وهو خط التوالي او السيريال لنبضات الساعة .
وايضا ممكن ان نستخدم اوامر وميزات اخرى بهذا البروتوكول حتى يكون هناك عندنا على الخط الواحد اكثر من ماستر
والخادم يا اخوان هنا ممكن ان يكون احدى اثنين بهذا النظام:
1- ممكن ان يكون مستقبل معلومات فقط اي يعني ممكن ان اخزن بة معلومات فقط .
2- وممكن ان يستخدم كمرسل ترانسمتر Transmitter ويكون قادر على ان يستقبل ويرسل المعلومات في نفس الوقت وهذا ما يهمنا نحن يا يا مهندس ناصر وهو ان نرسل لة معلومة وقوم بتخزينها عندة وفي وقت لاحق ممكن ان يرسلها الى عمنا البيك.
وهذا ما دعانا لاستخدام هذا البروتوكول لانة سهل باوامر الارسال والاستقبال.
السلام عليكم ورحمة الله وبركاتة
الان دعونا نتأمل هذة الصورة لفهم ووضع حجر الاساس وتخيل البرمجة وارسال واستقبال الاوامر
الان ماذا نفهم من هذة الصورة : نفهم ونلاحظ التالي :
1- يوجد بالصورة واحد ماستر وثلاثة سليف اي خدم
2- موصولين هم الثلاثة مع الماستر عن طرق خطين نقل فقط وهم الخطان الاحمران
واحد للداتا والاخر للنبضات كما قلنا سابقا بالمشاركة الاولى.
3-لا يوجد اشارة كنترول هنا لانة لاداعي لوجود هذة الاشارة control signsl لانة يدعى او يسمى بلاتصال من نقطة الى نقطة .
4- الخط الزهري مشترك للخدم كلهم وهو خط القراءة او الكتابة , وسف يستقبل علية كل مرة واحد منهم فقط وليس الثلاثة في ان واحد , والماستر الذي حددة .عن طريق الايبنيبل ,enable
5- الخدم لا يمكنهم ان يتصلوا ابدا مع بعض ولمدى الحياة وكما قالوا forever
الا عن طريق الماستر.
6- كل خادم لة عنوان خاص بة لا يشترك مع الاخر ابدا وهو الخط الاخضر enable
مثل بانة لا يمكن ان يشترك شخصان بعنوان واحد او ايميل واحد او رقم موبايل واحد ,
اذا نستنتج ان لكل خادم عنوان ينفرد بة لوحدة و نقول
Address has to be uniqe
7- خط الكلوك او النبضات مشترك للكل وهو ما يعتمد للتزامن لهم ويعتبر كدليل او ريفرنس refrence
8- نقطة اضافية غير ملاحظة هنا ويجب الانتباة لها وهي :
{ مثال :- اذا مروا اثنان عن بعضهم فممكن اي واحد ان يبدأ بالسلام على الثاني والاخر سوف يرد السلام ويقول وعليكم السلام ورحمة الله وبركاتة اليس كذلك ؟؟ }
ولكن هنا الخادم لا يمكن ان يتكلم او ينطق بأي حرف الا اذا استداعاة السيد, اي اذا سلم علية فهو سيقوم برد السلام فقط ...........اي مؤدب جدا لا يتكلم الا اذا كلمتة
فمن هنا نستنتج ان هذا الخادم او هذة الميموري يلزمها اشارة لتبدأ اي لتحضر نفسها للكتابة اليها او القراءة منها وهذا الامر نقول لة امر ستارت start مثل امر اينيشيال في الشاشة الرسومية
واتمنى ان اكون قد وضحت وارحب بجميع الاسئلة والمشاركات والاضافات
ونكمل لاحق بأذن الله , والدرس القادم سوف نتناول بأذن الله بروسيجر الاتصال
او اجراء الاتصال او طريقة الاتصال
واللهم انصر الاسلام والمسلمين
التعديل الأخير تم بواسطة : م. نافذ ابو كشك بتاريخ 01-01-2010 الساعة 09:10 PM
السلام عليكم ورحمة الله وبركاتة
مشكور يا اخ ناصر على المشاعر
وانا عارف اني بتأخر بالشرح
ولكن مشاغل الحياة............واريد ان اشرح بالتفصيل حتى الكل يستفيد
وتحت امركم ان شاء الله
واللهم انصر الاسلام والمسلمين
السلام عليكم ورحمة الله وبركاتة
بعد ان عرفنا نظرية عمل هذا البروتوكول ,
الان سوف نتطرق الى معرفة البروسيجر , الذي يتكون من عدة خطوات :-
ولا يهمك الكلام ولكن الصور لاحقا سوف توضح كل شيء........ولا يهمكم .
* اي IC تريد ان تكلم الاخرى يجب عليها :-
1- ان تنتظر خط النقل حتى يكون حر ونشط FREE AND ACTIVE والذي يتكون من الخطان SDA و SCL .
2- ال IC التي تريد ان تكلم غيرها يجب ان ترسل اشارة البداية START وتعرف على نفسها وتقول هذا انا سوف اتكلم واستخدم خط النقل BUS , وعندها الجميع يجب ان يسمع LISTEN .
3- ويجب ان تزود هذة الاي سي ايضا اشارة الكلوك SCL لتكون رفرنس في تبادل المعلومات اي في ارسال واستقبال المعلومة.
4- يجب عليها ايضا ان ترسل عنوان الخادم ( السليف ) التي تريد ان تكلمة .
5- يجب ايضا ان تحدد اشارة للقراءة ام للكتابة , اليس كذلك ؟؟
لان ممكن الماستر ( البيك ) ان يكتب الى الميموري او يقرأ منها , فلذلك علية التحديد.
6- تسأل الخادم عن طريق نبضة علم ( بضم العين وكسر اللام ) ( AKNOWLEDGE )
بأستخدام بت واحد فقط , على اساس انها جاهزة للتعامل والاتصال .
7- بعد عملية ( علم ) ( AKNOWLEDGE ) الان المعلومة تكون جاهزة و ممكن ان ترسل .
8- وبعد ارسال المعلومة ايضا يجب ارسال بت او نبضة ( علم ) ( AKNOWLEDGE ) بأن المعلومة او الداتا قد انتقلت .
9- والان العملية تكون قد انتهت فيتوجب على الخادم ان يحرر خط النقل او BUS بأرسال نبضة توقف STOP تتكون من بت واحد ايضا .
ليكون الخط جاهز لتكرار البروسيجر او الترتيبات او العملية مرة اخرى , وتبقى جميع الخدم على اهبة الاستعداد والاذعان لاي مناداة , ومراقبة البس او الخط BUS .
ملاحظة :- نبضة توقف STOP = نبضة البداية START = نبضة ( علم )
( AKNOWLEDGE ) = نبضة READ , WRITE
اي ان كل منهم عبارة عن نبضة تتكون من بت واحد فقط .
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 02:48 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)