قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 28-09-2012, 10:20 PM المشاركة 1   
افتراضي المدخل للتعامل مع البيانات التسلسلية Starting with serial Twitter FaceBook Google+



المدخل للتعامل مع البيانات التسلسلية Starting with serial
مقدمة :
النشاط الأساسى فى أى نظام معالج دقيق هو حركة (نقل) البيانات , مثل ما يتم بين وحدة المعالجة المركزية CPU والذاكرة memory . وبنفس القدر من الأهمية , نقل البيانات بين النظم الفرعية , مثل ما يتم بين الكومبيوتر ولوحة المفاتيح .
يتم إرسال البيانات عن طريق تنظيم البتات bits فى كلمات words ( غالبا بايتاتbytes, ولكن ليس دائما ) ثم إرسال هذه الكلمات .
عموما , هناك طريقتان لنقل البيانات . النقل على التوازى parallel transfer وفيه , يتم إرسال جميع بتات الكلمة فى نفس الوقت , كل بت عبر وصلتها الخاصة . البديل هو إرسال بت تلو البت كل فى دوره , عبر وصلة واحدة . وهذا ما يسمى الاتصال التسلسلى . من السهل أن نرى المزايا النسبية للطريقة الأولى . النقل بالتوازى يأخذ أسلاك وتوصيلات أكثر , لكنه أسرع faster . النقل التسلسلى يحتاج لأسلاك أقل , لكنه أبطأ slower , وعادة يتطلب أجهزة (هاردوير) hardware أكثر تعقيدا لإرسال واستقبال البيانات .
لذلك , فى الماضى , وعبر المسافات القصيرة , كان يتم نقل البيانات بالتوازى فى المقام الأول . عبر المسافات الطويلة , حيث يمد عدد كبير من الأسلاك والتى سوف تكون ضخمة ومكلفة , كان يتم النقل التسلسلى . حاليا , وعلى الرغم من ذلك , فقد تم تحدى هذه الميزة , وتجلى ذلك أكثر فى مجال الأظمة المدمجة embedded systems , حيث يجب أن تكون الأشياء صغيرة جدا . ميزة النقل التسلسلى , بعدد أقل من أسلاك الربط , أصبحت فى كثير من الحالات هى الساحقة . لذلك أصبحت الاتصالات التسلسلية هامة جدا ولقد طبقت ببراعة كبيرة للتغلب على السلبيات الرئيسية الواضحة , سرعتها المنخفضة و الأجهزة الأكثر تعقيدا .

هذه الدراسة تقدم الأفكار الرئيسية لاتصال البيانات البيانات تسلسليا , سواء من حيث المبدأ والممارسة . ويتضمن ذلك :
  • وصف أسس (مبادىء) الاتصال التسلسلى المتزامن synchronous serial communication .
  • بحث تنفيذ الاتصال التسلسلى المتزامن مع الميكروكونترولر PIC® 16F877A , ولا سيما مع بروتوكول SPI ( الواجهة المحيطية التسلسلية) (Serial Peripheral Interface) و بروتوكول I2C ( الدائرة المتكاملة البينية) (Inter-Integrated Circuit).
  • وصف أسس الاتصال التسلسلى الغير متزامن asynchronous serial communication .
  • بحث تنفيذ الاتصال التسلسلى الغير متزامن مع الميكروكونترولر PIC® 16F877A .
1- الفكرة الرئيسية – الإدخال التسلسلى The main idea – introducing serial :
المقدمة السابقة حددت مجرد واحدة من المزايا الرئيسية للاتصال التسلسلى , حقيقة أنها توفر المساحة . الشكل التالى يبين كيف يتم ذلك . كل من الدوائر المتكاملة للذاكرة المبينة يمكنها أن تخزن نفس الكمية من البيانات .







وعلى الرغم من ذلك , الدائرة المتكاملة ذات خطوط الربط المتوازية تحتاج إلى 13 خط للعنونة وثمانية خطوط للبيانات والتى تهيمن على حجم الشريحة . الدائرة المتكاملة التى تستخدم خطوط الربط التسلسلية بها خطين فقط (SCL – serial clock; SDA – serial data) للبيانات وثلاثة (S0, S1, S2) للعنونة . وبالصدفة , هذا مثال لشريحة بها I2C , والتى سنقوم بدراستها لاحقا . التوفير فى الحيز هلى مستوى الدوائر المتكاملة مثير بشكل واضح . أضف إلى هذا التوفير فى مساحة مسارات الدائرة المطبوعة PCB tracks والكابلات الشريطية ribbon cable وغيرها .
بينما الاتصال التسلسلى له عدد من المزايا الواضحة , فمن المهم أن ندرك وجود تحديات أيضا .مع سلك واحد فقط لحمل البيانات , كيف نعرف متى تبدأ أحد البتات أو تنتهى , أو أين تبدأ كلمة أو تنتهى ؟ يتم حل هذه الأسئلة بعدد من الطرق الممتعة . تستخدم طريقتين مختلفتين لتحديد البتات الفردية . الطريقة البسيطة هى إرسال إشارة ساعة (توقيت) لمرافقة البيانات , تستخدم كل دورة ساعة للإشارة إلى بت واحدة من البيانات . وهذه الطريقة تسمى الاتصال التسلسلى المتزامن synchronous .
بدلا من إرسال إشارة الساعة فى كل مكان , يمكن وضع متطلبات معينة على توقيت البيانات نفسها . وفى هذه الحالة , من الممكن الاستغناء عن الساعة ويمكن أن تكون بتات البيانات لاتزال محددة بشكل صحيح . هذه الطريقة تسمى الاتصال التسلسلى الغير متزامن للبيانات asynchronous .
سوف نبحث بشىء من التفصيل فى كلاهما خلال دراستنا هذه .
لتحديد بداية ونهاية كلمة كاملة , فمن الشائع حزم (تجميع فى حزمة) package البيانات فى صيغة format معينة .
لمزامنة البيانات وتنسيقها تعنى أننا سوف نكون بحاجة إلى مجموعات معينة من القواعد , من أجل ضمان الاتصال المتماسك . هذه المجموعات من القواعد تسمى "بروتوكولات" protocols وهى هامة جدا فى العالم التسلسلى . بعضها بسيط نسبيا , فى حين أن البعض الآخر معقد للغاية . وسوف نتناول عدد منها .
فى الوصلة التسلسلية serial link, نستخدم عموما فكرة "المرسل" transmitter , جهاز إخراج البيانات على الوصلة التسلسلية , و "المستقبل" receiver , جهاز استقبال البيانات . بعبارة أخرى , أى جهاز على الوصلة التسلسلية يسمى أحيانا "العقدة" node .
لتوضيح دراستنا للاتصال التسلسلى , فإننا سوف نبحث فى القدرات التسلسلية للميكروكونترولر 16F877A . هذا الميكروكونترولر له اثنين من المنافذ التسلسلية , كلاهما مرن للغاية ويمكن تهيئتها بطرق مختلفة . لذلك كلاهما معقد جدا . تم تصميم المنفذ Master Synchronous Serial Port (MSSP) لأشكال مختلفة من الاتصال التسلسلى , فى حين أن
Universal Synchronous Asynchronous Receiver Transmitter (USART) يمكن أن يعمل فى كل من النمط المتزامن والغير متزامن .













2- الوصلات (الروابط) التسلسلية البسيطة Simple serial links
الاتصال المتزامن للبيانات synchronous data communication
أ‌-مبادىء(أسس التزامن) Synchronous basics

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 29-09-2012, 10:20 AM المشاركة 2   
افتراضي


2- الوصلات (الروابط) التسلسلية البسيطة Simple serial links
الاتصال المتزامن للبيانات synchronous data communication
أ‌- مبادىء(أسس )التزامن Synchronous basics
لفهم كيف يمكن إرسال البيانات تسلسليا , فإنه من المفيد استكشاف الأجهزة hardware المختصة بها . لا يزال من المرجح استخدام وتشكيل البيانات داخل المعالج الدقيق أو الذاكرة بالشكل المتوازى . لذلك فإن الإرسال المتسلسل يجب أن يكون قادرا على قبول البيانات بالتشكيل المتوازى , ولكن بعد ذلك يتم إرسالها تسلسليا , المستقبل التسلسلى يجب أن يكون قادرا على القيام بعكس ذلك . الطريقة التقليدية للقيام بذلك هى استخدام "مسجل الإزاحة" shift register .
الشكل التالى يبين مسجل إزاحة 8 بت 8-bit shift register والذى من الممكن استخدامه كمستقبل للبيانات التسلسلية :





يتكون مسجل الإزاحة من 8 قلابات(فليب- فلوب) flip-flops متصلة معا بحيث يكون خرج أى منهم
Q-output يصبح بيانات الدخل للتالى له . والجميع يقاد driven من نفس الساعة clock , وفى كل دورة للساعة يتم نقل البيانات قلاب واحد لجهة اليمين . إذا ظهرت بت جديدة على المدخل DIN عند كل دورة للساعة , عندئذ ففى خلال 8 دورات للساعة سوف يتم توقيت بايت واحد 1 byte بحيث أنه يمكن أن يتم قراءته ككلمة متوازية من المخارج من QA إلى QH . هذه الدائرة البسيطة يمكن أن تكون بمثابة مستقبل للبيانات التسلسلية. ليس من الصعب تعزيز enhance الدائرة بحيث أن البيانات المتوازية لا يمكن أن يتم قراءتها فقط من مسجل الإزاحة , بل يمكن أيضا تحميله loaded ببيانات كلمة متوازية . إن ذلك لا يستحق رسم المخطط المنطقى الكامل لمسجل الإزاحة , لكن بدلا من ذلك يمكننا تمثيله فى شكل مخطط صندوقى , كما هو مبين بالشكل التالى :








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









بشكل فعال , مسجلى الإزاحة two 8-bit shift registers يعملان معا كمسجل إزاحة واحد 16 بت
one 16-bit shift register , مع توصيل الخرج عائدا للدخل . بعد 8 دورات توقيت يتم نقل البيانات فى أحد مسجلى الإزاحة إلى الآخر . لذلك , يمكن اعتبار كل منهما كمرسل واعتبار كل منهما كمستقبل . فى الواقع , يتم التحكم فى عمل نقل البيانات عن طريق الساعة . يطلق على الوصلة (الرابط) "الوصلة المتزامنة" synchronous link , وذلك لأنه تتم مزامنة نقل البيانات بإشارة ساعة مشتركة .

ب‌- تنفيذ الدخل / الخرج التسلسلى المتزامن فى الميكروكونترولر
Implementing synchronous serial I/O in the microcontroller

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 29-09-2012, 11:41 AM المشاركة 3   
افتراضي


ب- تنفيذ الدخل / الخرج التسلسلى المتزامن فى الميكروكونترولر
Implementing synchronous serial I/O in the microcontroller

الوصلة التسلسلية المتزامنة المشروحة سابقا يمكن بسهولة تنفيذها فى الميكروكونترولر , كما هو مبين بالشكل التالى :

يتم وضع مصدر الساعة بالميكروكونترولر , وحيث أن الساعة تتحكم فى سريان البيانات , فهذه العقدة تسمى "السيد" master ( الرئيسى – المسيطر – الحاكم ....) . العقدة الأخرى تسمى "التابع" slave (العبد) . الجهاز التابع يمكن أن يكون ميكروكونترولر آخر , جهاز ذاكرة أو واحد من الأجهزة الطرفية peripherals الأخرى .
هذا النوع من التوصيل هو أساس العديد من الوصلات التسلسلية المدمجةembedded البسيطة . مسجل الإزاحة هو ذاكرة مرتبة , ويمكن القراءة منها أو الكتابة إليها .

ت- السلك الدقيق و الواجهة التسلسلية الطرفية
Microwire and SPI (Serial Peripheral Interface)


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 29-09-2012, 03:04 PM المشاركة 4   
افتراضي


ت- السلك الدقيق و الواجهة التسلسلية الطرفية
Microwire and SPI (Serial Peripheral Interface)

فى أواخر السبعينات وأوائل الثمانينات , قامت شركات National Semiconductor, Motorola وغيرها بالكشف عن المعالجات الدقيقة والمتحكمات الدقيقة المدمج بها إمكانيات الاتصال التسلسلى المتزامن . كانت بحاجة لتحديد (تعريف) الخصائص المرتبطة بالتشغيل بحيث يمكن للشركات المصنعة الأخرى عمل الأجهزة التى يمكن أن تتفاعل بثقة مع منتجاتها . أنتجت كل من National و Motorola المنافذ التسلسلية والتى تعمل بالطريقة المذكورة أعلاه . ومن تصميماتهم , تم إنتاج اثنين من المعايير standards . سمتها شركة National باسم Microwire وسمتها شركة Motorola باسم SPI . كلاهما مشابه للآخر ويمكنهما الاتصال مغ بعضهما البعض . كل لديه المرونة لضبط خصائصه , فعلى سبيل المثال لتحديد ما إذا كان يتم نقل البيانات على الحافة الصاعدة rising أو الهابطة falling للساعة . كل منهما مرت عليه سنوات عديدة واصبح راسخا , والشرائح الجديدة لا تزال ينتج معها هذه الوصلات . فى الجزء التالى سوف نتناول SPI .


ث - إدخال عقد متعددة :
الشكل السابق يعطى وصلة تسلسلية فعلية , لكنها تربط فقط عقدتين . كيف يمكن تمديدها (توسعتها) ؟ الإجابة بسيطة . إذا تم إدخال وسيلة لاختيار الجهاز التابع slave الذى يتصل به الجهاز الماستر master , عندئذ يمكن توصيل أكثر من جهاز تابع واحد إلى خطوط البيانات التسلسلية كما هو مبين بالشكل التالى :








الآن كل دخل لتابع يتطلب وسيلة لتمكينه enabling, أحيانات تسمى " اختيار التابع"Slave Select (SS) أو Chip Select "اختيار الشريحة أو الرقاقة" . الوظيفة الدقيقة فى خط SS تختلف إلى حد ما من جهاز لآخر , لكن إلى حد أكبر أو أقل فإنها تتسبب فى أن يقطع التابع كل أو جزء من نفسه من الاتصال التسلسلى . والآن يجب على الماستر أن يكرس خط من أجل كل تابع والذى به يتواصل معه , وهذه يمكن أن تكون مخارج بتات المنفذ .

1- موديول MSSP فى نظامSPIبالميكروكونترولر 16F87XA
Master Synchronous Serial Port (MSSP) module in SPI mode


الصورة الرمزية ibn al islam
ibn al islam
:: عضو فضي ::
تاريخ التسجيل: Sep 2012
الدولة: tunisia
المشاركات: 612
نشاط [ ibn al islam ]
قوة السمعة:80
قديم 30-09-2012, 08:06 PM المشاركة 5   
افتراضي


ما شاء الله شرح وافى اخى

ننتضر ان تكمل الجزىء الخاص ب asynchronous serial communication

لى فيه سؤال حول كيفية حساب التوقيت عند الارسال و الاستقبال


الصورة الرمزية ibn al islam
ibn al islam
:: عضو فضي ::
تاريخ التسجيل: Sep 2012
الدولة: tunisia
المشاركات: 612
نشاط [ ibn al islam ]
قوة السمعة:80
قديم 14-10-2012, 07:58 PM المشاركة 6   
افتراضي


السلام عليكم و رحمة الله


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 14-10-2012, 10:19 PM المشاركة 7   
افتراضي



وعليكم السلام ورحمة الله وبركاته

أخى الكريم

شكرا جزيلا لك


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

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:58 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025