- أنواع بروتوكولات الاتصال
- أوضاع الإرسال في الاتصال التسلسلي
- تزامن الساعة
- الشروط الأخرى المتعلقة بالاتصال التسلسلي
- البروتوكولات التسلسلية المتزامنة
- البروتوكولات التسلسلية غير المتزامنة
- استنتاج
قبل البدء ببروتوكولات الاتصال التسلسلي ، دعنا نقسم المصطلحات إلى ثلاثة أجزاء. يعد الاتصال مصطلحًا معروفًا جيدًا يتضمن تبادل المعلومات بين وسيطين أو أكثر. في الأنظمة المضمنة ، يعني الاتصال تبادل البيانات بين متحكمين في شكل بتات. يتم تبادل بتات البيانات في وحدة التحكم الدقيقة بواسطة مجموعة من القواعد المحددة المعروفة باسم بروتوكولات الاتصال. الآن إذا تم إرسال البيانات في سلسلة ، أي واحدًا تلو الآخر ، فإن بروتوكول الاتصال يُعرف باسم بروتوكول الاتصال التسلسلي. وبشكل أكثر تحديدًا ، يتم إرسال بتات البيانات واحدة تلو الأخرى بطريقة متسلسلة عبر ناقل البيانات أو قناة الاتصال في الاتصال التسلسلي.
أنواع بروتوكولات الاتصال
تتوفر أنواع مختلفة من نقل البيانات في الإلكترونيات الرقمية مثل الاتصال التسلسلي والاتصال المتوازي. وبالمثل ، تنقسم البروتوكولات إلى نوعين مثل بروتوكول الاتصال التسلسلي وبروتوكولات الاتصال الموازية. من أمثلة بروتوكولات الاتصال المتوازي ISA و ATA و SCSI و PCI و IEEE-488. وبالمثل ، هناك العديد من الأمثلة على بروتوكولات الاتصال التسلسلي مثل CAN و ETHERNET و I2C و SPI و RS232 و USB و 1-Wire و SATA إلخ.
في هذه المقالة ، ستتم مناقشة الأنواع المختلفة لبروتوكولات الاتصال التسلسلي. الاتصال التسلسلي هو النهج الأكثر استخدامًا لنقل المعلومات بين الأجهزة الطرفية لمعالجة البيانات. يعمل كل جهاز إلكتروني سواء كان كمبيوتر شخصي (كمبيوتر شخصي) أو هاتف محمول على اتصال تسلسلي. البروتوكول هو الشكل الآمن والموثوق للاتصال الذي يحتوي على مجموعة من القواعد التي يتناولها المضيف المصدر (المرسل) والمضيف الوجهة (المستقبل) على غرار الاتصال الموازي.
أوضاع الإرسال في الاتصال التسلسلي
كما سبق ذكره أعلاه ، يتم إرسال البيانات في الاتصال التسلسلي في شكل بتات أي نبضات ثنائية ومن المعروف جيدًا أن الرقم الثنائي يمثل المنطق HIGH ويمثل الصفر المنطق LOW. هناك عدة أنواع من الاتصال التسلسلي حسب نوع وضع الإرسال ونقل البيانات. يتم تصنيف أوضاع الإرسال على أنها Simplex و Half Duplex و Full Duplex.
طريقة Simplex:
في الأسلوب البسيط ، يمكن لأي من الوسيط ، أي المرسل أو المستقبل ، أن يكون نشطًا في كل مرة. لذلك إذا كان المرسل يرسل البيانات ، فيمكن للمستقبل فقط القبول والعكس صحيح. لذا فإن الطريقة البسيطة هي تقنية اتصال أحادية الاتجاه. من الأمثلة المعروفة على طريقة simplex التلفزيون والراديو.
طريقة نصف الازدواج:
في الأسلوب أحادي الاتجاه ، يمكن أن يكون كل من المرسل والمستقبل نشطين ولكن ليس في نفس الوقت. لذلك إذا كان المرسل هو الإرسال ، فيمكن للمستقبل أن يقبل ولكن لا يمكنه الإرسال والعكس صحيح. الأمثلة المعروفة للنصف المزدوج هي الإنترنت حيث يرسل المستخدم طلبًا للحصول على البيانات ويحصل عليها من الخادم.
طريقة الازدواج الكامل:
في طريقة الازدواج الكامل ، يمكن لكل من جهاز الاستقبال والمرسل إرسال البيانات إلى بعضهما البعض في نفس الوقت. المثال المعروف هو الهاتف المحمول.
بصرف النظر عن هذا ، لنقل البيانات المناسبة ، تلعب الساعة دورًا مهمًا وهي أحد المصادر الأساسية. ينتج عن عطل في الساعة نقل بيانات غير متوقع حتى في بعض الأحيان فقدان البيانات. لذلك ، تصبح مزامنة الساعة مهمة جدًا عند استخدام الاتصال التسلسلي.
تزامن الساعة
الساعة مختلفة للأجهزة التسلسلية وهي مصنفة في نوعين بمعنى. الواجهة التسلسلية المتزامنة والواجهة التسلسلية غير المتزامنة.
واجهة تسلسلية متزامنة:
إنه اتصال من نقطة إلى نقطة من السيد إلى العبد. في هذا النوع من الواجهة ، تستخدم جميع الأجهزة ناقل وحدة المعالجة المركزية الفردي لمشاركة البيانات والساعة. يصبح نقل البيانات أسرع مع نفس الناقل لمشاركة الساعة والبيانات. كما لا يوجد عدم تطابق في معدل البث بالباود في هذه الواجهة. في جانب المرسل ، هناك تحول في البيانات إلى خط تسلسلي يوفر الساعة كإشارة منفصلة حيث لا توجد بتات بدء وتوقف وتكافؤ مضافة إلى البيانات. في جانب المستقبل ، يتم استخراج البيانات باستخدام الساعة التي يوفرها المرسل وتحويل البيانات التسلسلية مرة أخرى إلى الشكل المتوازي. الأمثلة المعروفة هي I2C و SPI.
الواجهة التسلسلية غير المتزامنة:
في الواجهة التسلسلية غير المتزامنة ، تكون إشارة الساعة الخارجية غائبة. يمكن رؤية الواجهات التسلسلية غير المتزامنة في الغالب في تطبيقات المسافات الطويلة وهي مناسبة تمامًا للاتصال المستقر. في الواجهة التسلسلية غير المتزامنة ، فإن عدم وجود مصدر ساعة خارجي يجعله يعتمد على العديد من المعلمات مثل التحكم في تدفق البيانات والتحكم في الخطأ والتحكم في معدل الباود والتحكم في الإرسال والتحكم في الاستقبال. على جانب المرسل ، هناك تحول في البيانات المتوازية إلى الخط التسلسلي باستخدام ساعتها الخاصة. كما أنه يضيف وحدات التحقق من البداية والتوقف والتكافؤ. على جانب المستقبل ، يستخرج جهاز الاستقبال البيانات باستخدام ساعته الخاصة ويحول البيانات التسلسلية مرة أخرى إلى الشكل المتوازي بعد تجريد بتات البداية والتوقف والتكافؤ. الأمثلة المعروفة هي RS-232 و RS-422 و RS-485.
الشروط الأخرى المتعلقة بالاتصال التسلسلي
بصرف النظر عن مزامنة الساعة ، هناك أشياء معينة يجب تذكرها عند نقل البيانات بشكل متسلسل مثل معدل الباود واختيار بت البيانات (الإطارات) والمزامنة والتحقق من الأخطاء. دعونا نناقش هذه المصطلحات باختصار.
معدل الباود: معدل الباود هو المعدل الذي يتم فيه نقل البيانات بين المرسل والمستقبل في شكل بت في الثانية (بت في الثانية). معدل الباود الأكثر شيوعًا هو 9600. ولكن هناك اختيار آخر لمعدل الباود مثل 1200 ، 2400 ، 4800 ، 57600 ، 115200. كلما زاد معدل الباود سيكون دهونًا ، سيتم نقل البيانات في المرة الواحدة. أيضًا بالنسبة لاتصالات البيانات ، يجب أن يكون معدل البث بالباود هو نفسه لكل من المرسل والمستقبل.
التأطير: يشير التأطير إلى عدد بتات البيانات التي سيتم إرسالها من المرسل إلى المستقبل. يختلف عدد بتات البيانات في حالة التطبيق. يستخدم معظم التطبيق 8 بتات باعتبارها بتات البيانات القياسية ولكن يمكن تحديدها على أنها 5 أو 6 أو 7 بت أيضًا.
التزامن: بتات التزامن مهمة لتحديد جزء من البيانات. يخبر بداية ونهاية بتات البيانات. سيقوم جهاز الإرسال بتعيين بتات البدء والإيقاف لإطار البيانات وسيقوم جهاز الاستقبال بتحديدها وفقًا لذلك وإجراء مزيد من المعالجة.
التحكم في الخطأ: يلعب التحكم في الخطأ دورًا مهمًا أثناء الاتصال التسلسلي حيث توجد العديد من العوامل التي تؤثر على الضوضاء وتضيفها في الاتصال التسلسلي. للتخلص من هذا الخطأ يتم استخدام بتات التكافؤ حيث يتحقق التكافؤ من التكافؤ الفردي والزوجي. لذلك إذا كان إطار البيانات يحتوي على عدد زوجي من 1 ، فإنه يُعرف بالتكافؤ الزوجي ويتم تعيين بت التكافؤ في السجل على 1. وبالمثل إذا كان إطار البيانات يحتوي على عدد فردي من 1 ، فإنه يُعرف باسم التكافؤ الفردي ويمسح بت التكافؤ الفردي في السجل.
البروتوكول هو مجرد لغة مشتركة يستخدمها النظام لفهم البيانات. كما هو موضح أعلاه ، ينقسم بروتوكول الاتصال التسلسلي إلى أنواع مثل متزامن وغير متزامن. الآن سيتم مناقشة كلاهما بالتفصيل.
البروتوكولات التسلسلية المتزامنة
يتم استخدام النوع المتزامن من البروتوكولات التسلسلية مثل SPI و I2C و CAN و LIN في مشاريع مختلفة لأنها أحد أفضل الموارد للأجهزة الطرفية على متن الطائرة. هذه هي أيضًا البروتوكولات المستخدمة على نطاق واسع في التطبيقات الرئيسية.
بروتوكول SPI
الواجهة الطرفية التسلسلية (SPI) هي واجهة متزامنة تسمح بربط العديد من وحدات التحكم الدقيقة SPI. في SPI ، يلزم وجود أسلاك منفصلة للبيانات وخط الساعة. كما أن الساعة غير مدرجة في تدفق البيانات ويجب توفيرها كإشارة منفصلة. قد يتم تكوين SPI إما بشكل رئيسي أو كعبد. تعد إشارات SPI الأربعة الأساسية (MISO و MOSI و SCK و SS) و Vcc و Ground جزءًا من اتصال البيانات. لذلك فهي تحتاج إلى 6 أسلاك لإرسال واستقبال البيانات من العبد أو الرئيسي. من الناحية النظرية ، يمكن أن يحتوي SPI على عدد غير محدود من العبيد. يتم تكوين اتصال البيانات في سجلات SPI. يمكن أن يوفر SPI سرعة تصل إلى 10 ميجابت في الثانية وهو مثالي لاتصالات البيانات عالية السرعة.
تحتوي معظم وحدات التحكم الدقيقة على دعم داخلي لـ SPI ويمكن توصيله مباشرة بجهاز يدعم SPI:
- اتصال SPI مع PIC Microcontroller PIC16F877A
- كيفية استخدام اتصال SPI في متحكم STM32
- كيفية استخدام SPI في Arduino: الاتصال بين لوحتي Arduino
I2C Serial Communication
دائرة متكاملة (I2C) اتصال ثنائي الخط بين دوائر متكاملة أو وحدات مختلفة حيث يكون الخطان هما SDA (خط البيانات التسلسلي) و SCL (خط الساعة التسلسلي). يجب توصيل كلا الخطين بمصدر موجب باستخدام مقاومة سحب. يمكن لـ I2C تقديم سرعة تصل إلى 400 كيلوبت في الثانية ويستخدم نظام عنونة 10 بت أو 7 بت لاستهداف جهاز معين على ناقل i2c حتى يمكنه توصيل ما يصل إلى 1024 جهازًا. لديها اتصالات محدودة الطول ومثالية للاتصال على متن الطائرة. شبكات I2C سهلة الإعداد لأنها تستخدم سلكين فقط ويمكن ببساطة توصيل الأجهزة الجديدة بخطي ناقل I2C الشائعين. تمامًا مثل SPI ، تحتوي وحدة التحكم الدقيقة عمومًا على دبابيس I2C لتوصيل أي جهاز I2C:
- كيفية استخدام اتصال I2C في متحكم STM32
- اتصال I2C مع متحكم PIC PIC16F877
- كيفية استخدام I2C في Arduino: الاتصال بين لوحتي Arduino
يو اس بي
USB (الناقل التسلسلي العالمي) هو بروتوكول واسع بإصدارات وسرعات مختلفة. يمكن توصيل 127 جهازًا طرفيًا بحد أقصى بوحدة تحكم مضيف USB واحدة. يعمل USB كجهاز "توصيل وتشغيل". يتم استخدام USB في الأجهزة تقريبًا مثل لوحات المفاتيح والطابعات وأجهزة الوسائط والكاميرات والماسحات الضوئية والماوس. إنه مصمم للتثبيت السهل ، وتصنيف البيانات بشكل أسرع ، وكابلات أقل والتبديل السريع. لقد حلت محل المنافذ التسلسلية والمتوازية الأكبر والأبطأ. يستخدم USB الإشارات التفاضلية لتقليل التداخل والسماح بنقل عالي السرعة عبر مسافة طويلة.
تم بناء ناقل تفاضلي بسلكين ، أحدهما يمثل البيانات المرسلة والآخر مكملها. الفكرة هي أن الجهد "المتوسط" على الأسلاك لا يحمل أي معلومات ، مما يؤدي إلى تداخل أقل. في USB ، يُسمح للأجهزة بسحب قدر معين من الطاقة دون أن تطلب من المضيف. يستخدم USB سلكين فقط لنقل البيانات وهما أسرع من الواجهة التسلسلية والمتوازية. تدعم إصدارات USB سرعات مختلفة مثل 1.5 ميجابت في الثانية (USB v1.0) و 480 ميجابت في الثانية (USB2.0) و 5 جيجابت في الثانية (USB v3.0). يمكن أن يصل طول كبل USB الفردي إلى 5 أمتار بدون محور و 40 مترًا مع محور.
يستطيع
تُستخدم شبكة منطقة التحكم (CAN) في السيارات على سبيل المثال للسماح بالاتصال بين وحدات التحكم في المحرك (وحدات التحكم في المحرك) وأجهزة الاستشعار. بروتوكول CAN قوي ومنخفض التكلفة وقائم على الرسائل ويغطي العديد من التطبيقات - مثل السيارات والشاحنات والجرارات والروبوتات الصناعية. يسمح نظام ناقل CAN بالتشخيص المركزي للخطأ والتكوين عبر جميع وحدات التحكم الإلكترونية. يتم إعطاء الأولوية لرسائل CAN عبر المعرفات بحيث لا يتم مقاطعة معرفات الأولوية القصوى. تحتوي كل وحدة تحكم إلكترونية على شريحة لتلقي جميع الرسائل المرسلة ، وتحديد مدى الصلة والعمل وفقًا لذلك - وهذا يسمح بتعديل سهل وإدراج عقد إضافية (مثل مسجلات بيانات ناقل CAN). تشمل التطبيقات بدء / إيقاف المركبات وأنظمة تجنب الاصطدام. يمكن أن توفر أنظمة ناقل CAN سرعة تصل إلى 1 ميجابت في الثانية.
ميكرووير
MICROWIRE عبارة عن واجهة تسلسلية بثلاثة أسلاك بسرعة 3 ميجابت في الثانية وهي أساسًا مجموعة فرعية من واجهة SPI. Microwire هو منفذ إدخال / إخراج تسلسلي على وحدات التحكم الدقيقة ، لذلك سيتم العثور على ناقل Microwire أيضًا على EEPROMs والرقائق الطرفية الأخرى. الخطوط الثلاثة هي SI (الإدخال التسلسلي) و SO (الإخراج التسلسلي) و SK (الساعة التسلسلية). خط المدخلات التسلسلية (SI) للميكروكونترولر ، SO هو خط الإخراج التسلسلي ، و SK هو خط الساعة التسلسلي. يتم إزاحة البيانات عند الحافة الهابطة لـ SK ، ويتم تقييمها عند الحافة الصاعدة. يتم إزاحة SI على الحافة الصاعدة لـ SK. يُطلق على تحسين ناقل إضافي لـ MICROWIRE اسم MICROWIRE / Plus. يبدو أن الاختلاف الرئيسي بين الحافلتين هو أن بنية MICROWIRE / Plus داخل وحدة التحكم الدقيقة أكثر تعقيدًا. يدعم سرعات تصل إلى 3 ميجابت في الثانية.
البروتوكولات التسلسلية غير المتزامنة
يعد النوع غير المتزامن من البروتوكولات التسلسلية ضروريًا للغاية عندما يتعلق الأمر بنقل بيانات موثوق به لمسافات أطول. لا يتطلب الاتصال غير المتزامن ساعة توقيت مشتركة لكلا الجهازين. يستمع كل جهاز بشكل مستقل ويرسل نبضات رقمية تمثل أجزاء من البيانات بمعدل متفق عليه. يُشار أحيانًا إلى الاتصال التسلسلي غير المتزامن بالمسلسل المنطقي الترانزستور الترانزستور (TTL) ، حيث يكون مستوى الجهد العالي هو المنطق 1 ، والجهد المنخفض يساوي المنطق 0. يحتوي كل متحكم دقيق في السوق اليوم على الأقل على جهاز استقبال عالمي غير متزامن- جهاز إرسال (UART) للاتصال التسلسلي. الأمثلة هي RS232 ، RS422 ، RS485 إلخ.
RS232
يعد RS232 (المعيار الموصى به 232) بروتوكولًا شائعًا جدًا يستخدم لتوصيل الأجهزة الطرفية المختلفة مثل الشاشات وأجهزة التحكم الرقمي الحاسوبي وما إلى ذلك. يأتي RS232 في موصلات ذكر وأنثى. RS232 عبارة عن طوبولوجيا من نقطة إلى نقطة مع توصيل جهاز واحد بحد أقصى ويغطي مسافة تصل إلى 15 مترًا بسرعة 9600 بت في الثانية. يتم إرسال المعلومات الموجودة على السطح البيني RS-232 رقميًا من خلال منطق 0 و 1. المنطقي "1" (MARK) يتوافق مع جهد في النطاق من -3 إلى -15 فولت. المنطق "0" (SPACE) يتوافق مع الجهد في النطاق من +3 إلى +15 فولت.يأتي بموصل DB9 الذي يحتوي على 9 pinouts مثل TxD و RxD و RTS و CTS و DTR و DSR و DCD و GND.
RS422
يشبه RS422 RS232 الذي يسمح بإرسال واستقبال الرسائل في وقت واحد على خطوط منفصلة ولكنه يستخدم إشارة تفاضلية لهذا الغرض. في شبكة RS-422 ، يمكن أن يكون هناك جهاز إرسال واحد وما يصل إلى 10 أجهزة استقبال. تعتمد سرعة نقل البيانات في RS-422 على المسافة ويمكن أن تختلف من 10 كيلوبت في الثانية (1200 متر) إلى 10 ميجابت في الثانية (10 أمتار). خط RS-422 عبارة عن 4 أسلاك لنقل البيانات (سلكان ملتويان للنقل وسلكان ملتويان للاستقبال) وسلك أرضي GND مشترك. يمكن أن يكون الجهد على خطوط البيانات في النطاق من -6 فولت إلى +6 فولت.الفرق المنطقي بين A و B أكبر من +0.2 V. المنطق 1 يتوافق مع الفرق بين A و B أقل من -0.2 V. لا يحدد معيار RS-422 نوعًا معينًا من الموصلات ، وعادة ما يكون عبارة عن كتلة طرفية أو موصل DB9.
RS485
نظرًا لأن RS485 يستخدم طوبولوجيا متعددة النقاط ، فهو الأكثر استخدامًا في الصناعات وهو البروتوكول المفضل في الصناعة. يمكن لـ RS422 توصيل 32 مشغل خط و 32 جهاز استقبال في تكوينات تفاضلية ولكن بمساعدة مكررات إضافية ومكبرات إشارة تصل إلى 256 جهازًا. لا تحدد RS-485 نوعًا معينًا من الموصلات ، ولكنها غالبًا ما تكون كتلة طرفية أو موصل DB9. تعتمد سرعة التشغيل أيضًا على طول الخط ويمكن أن تصل إلى 10 ميجابت / ثانية عند 10 أمتار. يتراوح الجهد على الخطوط من -7 فولت إلى +12 فولت. هناك نوعان من RS-485 مثل وضع نصف مزدوج RS-485 مع جهات اتصال ثنائية ووضع مزدوج كامل RS-485 مع 4 جهات اتصال. لمعرفة المزيد حول استخدام RS485 مع وحدات التحكم الدقيقة الأخرى ، تحقق من الروابط:
- RS-485 MODBUS Serial Communication باستخدام Arduino UNO كعبيد
- RS-485 الاتصال التسلسلي بين Raspberry Pi و Arduino Uno
- RS485 الاتصال التسلسلي بين Arduino Uno و Arduino Nano
- الاتصال التسلسلي بين STM32F103C8 و Arduino UNO باستخدام RS-485
استنتاج
يعد Serial Communication أحد أنظمة واجهة الاتصال المستخدمة على نطاق واسع في الإلكترونيات والأنظمة المدمجة. يمكن أن تكون معدلات البيانات مختلفة لتطبيقات مختلفة. يمكن لبروتوكولات الاتصال التسلسلي أن تلعب دورًا حاسمًا عند التعامل مع هذا النوع من التطبيقات. لذا فإن اختيار البروتوكول التسلسلي الصحيح يصبح مهمًا للغاية.