علوم الحاسب

مدخل إلى الاتصال التسلسلي Serial Communication

تستخدم معايير الاتصال التسلسلي Serial Communication في العديد من الأجهزة من حولنا وتعتبر العمود الفقريّ في مجال تأمين تبادل المعلومات بين الأجهزة المختلفة

1. حول معايير الاتصالات

تحتاج الأجهزة الإلكترونية إلى التواصل مع بعضها البعض لنقل المعلومات حول البيئة أو للتعبير عن التغييرات في حالاتها أو طلب تنفيذ إجراءات إضافية. عملية التواصل تتم عبر تبادل معلومات بين جهازين (أو أكثر)، ونحن نعلم أنه عندما نقول “تبادل معلومات” أو “تبادل بيانات” في الأنظمة الإلكترونية، فإننا نعني البيانات الرقمية التي هي سلسلة من الأصفار والواحدات. وهنا سيتبادر سؤال هام: إذا كانت البيانات الرقمية عبارة عن سلسلة من الأصفار والواحدات، كيف تفهم الحواسيب والمعالجات معنى هذه السلاسل؟

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

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

من التعريف السابق سنلاحظ أمراً هاماً: تتطلب عملية الاتصال وجود وسطٍ فيزيائيّ يتم عبره نقل البيانات والمعلومات بين أطراف عملية الاتصال، وبشكلٍ أساسيّ تُقسم أنظمة الاتصالات بهذا السياق إلى اتصالات سلكية Wire Communication واتصالات لاسلكية Wireless Communications. ضمن هذا المقال سُنركز على الاتصالات السلكية وتحديداً تلك التي تعتمد على التبادل التسلسليّ للبيانات والمعلومات.

2. حول الاتصالات التسلسلية Serial Communications

يُشير مصطلح الاتصالات التسلسلية إلى طيف واسعٍ من معايير وبروتوكولات الاتصال التي تؤمن عملية تبادل البيانات والمعلومات بين نظامين أو أكثر الإرسال التسلسليّ للبتات التي تمثل المعلومات والبيانات المطلوب تبادلها، وهذا الأمر يختلف عن الاتصال التفرعيّ الذي يتم عبره نقل عدة بتات في آنٍ واحدٍ معاً. يعود السبب الأساسيّ في اختيار الاتصالات التسلسلية لكونها أقل كلفة بكثير بالمقارنة مع الاتصالات التفرعية؛ لو أردنا نقل معلومة بعرض واحد بايت (أي 8-بت) بين نظامين عبر قناة اتصال تفرعي، يمكننا إنجاز ذلك في نفس اللحظة الزمنية عبر استخدام قناة اتصال بعرض 8-بت، أي قناة اتصال تتضمن 8 أسلاك (على الأقل)، في حين أنه يمكننا إنجاز نفس المهمة باستخدام قناة تسلسلية تتضمن سلك واحد، ولكننا سنحتاج إلى 8 دورات زمنية لإرسال (على الأقل) لإرسال هذه المعلومة.

أصبحت الاتصالات التسلسلية هي المعيار الشائع والأكثر استخداماً في أنظمة الاتصالات نظراً للتحسينات الكبيرة التي طرأت عليها، من ناحية تأمين سرعة تبادل عالي للمعلومات والتحسينات الخاصة بحماية الإشارات وضمان صحة عملية الإرسال. من الأمثلة الشهيرة على الاتصالات التفرعية الناقل التسلسلي العالمي USB، أو نظام الوسائط المتعددة عالي الدقة HDMI أو معيار RS-232 المستخدم على نطاقٍ واسع لربط اللوحات الإلكترونية مع الحواسيب، أو معايير الاتصالات التسلسلية المستخدمة في مجال الأنظمة المدمجة مثل UART, I2C, SPI و CAN.

3. تسلسلي ضد تفرعي Serial vs Parallel

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

بشكلٍ أساسيّ، توفر أنظمة الاتصالات التسلسلية أداءً أفضل من نظيراتها التفرعية فيما يتعلق بالناحيتين التاليتين:

  • انحراف الساعة Clock Skew: تُعبر هذه الظاهرة عن الأخطاء الحاصلة أثناء عملية تبادل البيانات عبر قناة اتصال متزامنة نتيجةً لوصول الإشارات بأزمنة مختلفة عن بعضها البعض. عندما نقول بإرسال 8-بت عبر قناةٍ تفرعية، يجب أن تصل كافة البتات إلى طرف المستقبل مع بعضها البعض وبنفس الوقت، أو لنقل ضمن المجال الزمني المسموح به. في حال تأخر وصول بت (أو أكثر) عن البقية فإن الرسالة المستقبلة ستكون خاطئة.
  • تداخل الإشارات Signal Corsstalk: يُعبر مصطلح تداخل الإشارات عن الظاهرة التي تحدث في أنظمة الاتصال وتبادل البيانات، عندما تقوم إحدى قنوات الاتصال بالتأثير بشكلٍ غير مرغوب به على قناةٍ أخرى بما يؤدي لتوليد إشاراتٍ متداخلة أو تشويش يسهم بالنتيجة في تشويه الإشارة المتبادلة ضمن القناة. بالمقارنة مع أنظمة الاتصالات التفرعية، تُعتبر هذه المشكلة أقل حدوثاً في أنظمة الاتصالات التسلسلية بسبب وجود عددٍ أقل من النواقل بالقرب من بعضها البعض بما يُخفض من تأثيرها المحتمل.

تم استخدام الاتصالات التسلسلية في البداية لتأمين عملية تبادل المعلومات والبيانات على مسافاتٍ بعيدة نظراً للكلفة الأقل التي توفرها والقدرة على تأمين عملية الاتصال بشكلٍ صحيح بتعقيداتٍ تقنية أقل، في حين أن الاتصالات التفرعية بقيت مستخدمة في الاتصالات على المدى القريب، أي عندما تكون المسافة بين النظامين قليلة جداً، ولكن ونظراً للتطور الكبير الذي طرأ على الاتصالات التسلسلية من ناحية سرعة تبادل المعلومات ووثوقية قناة الاتصال، أصبحت الاتصالات التسلسلية مستخدمة على نطاقٍ واسع حتى في أنظمة الاتصالات ذات المدى القريب، ويُعتبر الانتقال من معيار PCI إلى معيار PCI Express من أشهر الأمثلة على نظام اتصال تفرعيّ تم استبداله بآخر تسلسلي.

4. الاتصالات التسلسلية المتزامنة وغير المتزامنة Synchronous vs Asynchronous

عند الحديث عن معايير الاتصالات التسلسلية، فإنه يجب دوماً بين نوعين أساسيين:

  • الاتصالات التسلسلية المتزامنة Synchronous Serial Communications
  • الاتصالات التسلسلية غير المتزامنة Asynchronous Serial Communications

عندما يتم توصيف قناة اتصال تسلسلية بأنها “متزامنة Synchronous“، فهذا يعني أننا نعتمد على إشارة ساعة تتحكم بعملية إرسال البيانات بين المرسل والمستقبل، أي أن إرسال البت يتم عند كل نبضة ساعة. هذا الأمر يعني أيضاً أن إشارة الساعة مشتركة بين طرفي قناة الاتصال بما يجعلهما يعملان بنفس التردد. بالنسبة لقنوات الاتصال التسلسلية غير المتزامنة، فهي تقوم بتبادل البيانات بين طرفي الاتصال بدون وجود ساعةٍ مشتركة بينهما، أي أن المرسل والمستقبل يعملان بترددين مختلفين. الدافع الأساسيّ لاستخدام مثل هكذا معيار هو توفير الأسلاك اللازمة لنقل إشارة الساعة بين طرفي قناة الاتصال ما يعني تخفيضاً بالكلفة، ولكنها ومن ناحيةٍ أخرى تنطوي على صعوباتٍ تتمثل بضرورة توفير آلياتٍ تضمن النقل الصحيح للبيانات من المرسل إلى المستقبل.

5. مكونات نظام الاتصال التسلسلي Serial Communication Components

عند الحديث عن الاتصالات التسلسلية فإننا نميز دوماً سلكين:

  • سلك الإرسال Transmission ويُرمز له وللمغرز الموافق له بالرمز Tx، حيث يُشير إلى المغرز المستخدم من قبل الشريحة الإلكترونية أو المتحكم المصغري لإرسال بتات الاتصال التسلسلي
  • سلك الاستقبال Receiver، ويُرمز له وللمغرز الموافق له بالرمز Rxـ حيث يُشير إلى المغرز المستخدم من قبل الشريحة الإلكترونية أو المتحكم الصغري لاستقبال بتات الاتصال التسلسلي

يتكون نظام الاتصالات التسلسلي بأبسط أشكاله من سلك اتصال يربط جهاز الإرسال بجهاز الاستقبال، بالإضافة لسلك التأريض المشترك بينهما. بهذه الصورة، يعمل أحد الجهازين على أنه مُرسل فقط Transmitter ضمن قناة الاتصال، ويعمل الجهاز الآخر على أنه مستقبل فقط Receiver ضمن قناة الاتصال. من أجل تسليط الضوء على الصورة العامة، سنعتبر أنه يمكن لطرفي قناة الاتصال العمل كمرسل/مستقبل وأن قناة الاتصال غير متزامنة. بهذه الصورة يمكن تبسيط نظام الاتصالات التسلسلي غير المتزامن كما في الشكل التالي:

6. أنواع الاتصالات التسلسلية بحسب جهة الإرسال/الاستقبال

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

  • أنظمة الاتصالات التسلسلية المزدوجة بالكامل Full-Duplex

بهذا النوع من الأنظمة يمكن لطرفي قناة الاتصال العمل كمرسل/مستقبل بنفس الوقت، أي يمكن للجهاز الأول أن يرسل فيه بيانات للجهاز الثاني بنفس الوقت الذي يستقبل فيه بيانات من الجهاز الثاني.

  • أنظمة الاتصالات التسلسلية ذات الازدواج النصفي Half-Duplex

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

  • أنظمة الاتصالات التسلسلية البسيطة Simplex

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

7. معايير اتصال تسلسلي شهيرة

يوجد اليوم العديد من معايير الاتصالات التسلسلية المستخدمة في العديد من الأجهزة المحيطة بنا، وأشهر هذه المعايير:

  • RS-232 الذي يعتبر من أقدم معايير الاتصال التسلسليّ، وهو يمثل معيار مزدوج الاتصال Full-Duplex ويستخدم لربط الطرفيات مع بعضها البعض بين الأجهزة المختلفة، ولا يمكن ربط أكثر من جهازين مع بعضهما البعض على قناة الاتصال العاملة بهذا المعيار
  • الناقل التسلسلي العالمي USB؛ المستخدم في كافة الأجهزة من حولنا سواء كانت حواسيب أو هواتف ذكية أو حواسيب لوحية أو حتى ضمن السيارات الحديثة التي أصبحت تتضمن منافذ USB لتوفير خدمات شحن الهاتف وربطه بنظام السيارة.
  • إيثرنت Ethernet؛ والمستخدم على نطاقٍ واسع لتوفير الاتصالات وتبادل المعلومات ضمن شبكة الإنترنت
  • واجهة PCI-Express المستخدمة ضمن اللوحات الأم للحواسيب الشخصية وذلك لتأمين واجهة تخاطب تسلسلية فائقة السرعة مع الأقراص الصلبة والمعالجات الرسومية وغيرها. استبدل معيار PCI-Express معيار PCI الذي يعتمد مبدأ الاتصال التفرعي
  • المرسل / المستقبل التسلسلي غير المتزامن UART؛ ويمثل قناة اتصال تسلسلية تتيح تبادل المعلومات التسلسلية بين جهازين أحدهما مرسل والآخر مستقبل أو كلاهما مرسل ومستقبل بنفس الوقت.
  • واجهة الطرفيات التسلسلية SPI – Serial Peripheral Interface؛ وهو معيار اتصال تسلسلي تزامني مستخدم في مجال الاتصالات قريبة المدى، وهو يتيح الاتصال المزدوج Full-Duplex ضمن بنية قائد – مُقاد Master-Slave، بحيث يمكن ربط عدة أجهزة مقادة Multiple Slaves ليتم التحكم بها من قبل قائد واحد.
  • الناقل التسلسلي ثنائي السلك I2C – Inter Integrated Circuit؛ معيار اتصال تسلسلي متزامن مستخدم لربط الطرفيات منخفضة السرعة مع المعالجات والمتحكمات الصغرية، وهو يتميز بكونه معيار متعدد الأسياد Multi-Master، أي أنه يمكن لأي جهاز على على قناة الاتصال التخاطب مع أي جهاز آخر
  • ناقل CAN – Controller Area Network والمستخدم بشكلٍ كبير داخل السيارات لتأمين التواصل وتبادل المعلومات بين الأنظمة الإلكترونية المختلفة داخل السيارة. ناقل CAN هو ناقل تسلسلي غير متزامن ومتعدد الأسياد، ويُعرف على أنه معيار مبني على الرسالة Message-based Protocol، بمعنى أن تنظيم عملية الاتصال بين الأجهزة الموجودة على قناة الاتصال يتم عبر تحليل محتوى الرسائل

8. ملخص

  • يُحدد معيار أو بروتوكول الاتصال الطريقة التي سيتم عبرها تبادل المعلومات (البتات الرقمية) بين جهازين أو أكثر
  • تعتبر بروتوكولات الاتصال التسلسلي الأكثر استخداماً في وقتنا الحاليّ بسبب ما توفره من أداء ووثوقية عاليتين بالتوازي مع كلفة اقتصادية منخفضة
  • يعتمد الاتصال التسلسلي على إرسال البتات الرقمية واحداً تلو الآخر مع كل نبضة ساعة، في حين تقوم معايير الاتصال التفرعي بإرسال عدة بتات رقمية مع بعضها البعض في كل نبضة ساعة
  • هنالك معايير اتصال تسلسلي متزامنة أي تردد الساعة المشترك بين طرفي الاتصال، أو معايير غير متزامنة بحيث لا يوجد ساعة مشتركة بين طرفي قناة الاتصال

مقالات ذات صلة

زر الذهاب إلى الأعلى