السبت، 17 يناير 2015

شرح بروتوكول RS232



RS232

هو بروتوكول اتصال متسلسل يستخدم للربط بين جهازين الاول  DTE والثاني DCE
DTE  مثل جهاز الكومبيوتر الشخصي وال DCE
 مثل لوحة متحكم او مودم ويمكن ربط جهازين من نوع DTE معا بواسطته


 يتم ارسال البايت على شكل اطار بيانات يخضع ارسال كل بايت الى هذا الاطار
بت الارسال تكون قيمته 0 منطقي و8 بتات تمثل البايت المرسل وبت نهاية الارسال تكون قيمته 1 منطقي وقد يكون هناك 2 بت للاشارة الى الانتهاء من الارسال وهناك بت اختياري بت التاكد يمكن وضعه في الاطار او ازالته وله نوعان الاول زوجي فان هذا البت يكون 0 منطقي عندما تكون عدد الواحدات في البايت المرسل زوجي ويكون 1 منطقي عندما يكون عدد الواحدات في البايت المرسل فردي النوع الثاني فردي يكون هذا البت 0 منطقي عندما يكون عدد الواحدات في البايت المرسل فردي ويكون 1 منطقي عندما يكون عدد الواحدات في البايت المرسل زوجي وهذا الاطار للبيانات يكون مشابه بالضبط لبروتوكول UART باختلاف التمثيل للمنطق الرقمي بين الاثنين
ان المستويات المعيارية لهذا البروتوكول تختلف تماما عن ال
TTL حيث تمثل القيم المنطقية بمدى فولتية مختلف
المستوى المنطقي 0 يمثل بقيمة جهد تتراوح من +3 الى+25 ويسمى ب
Space
المستوى المنطقي 1 يمثل بقيمة جهد تتراوح من -3 الى-25 يسمى بMark

مستوى منطقي غير معرف يتراوح من +3 الى -3
يجب ان لاتتجاوز اعلى قيمة جهد +25 او -25 نسبة للنقطة الارضية وان اعلى تيار يجب ان لايتجاوز 500 ملي امبير

 

منفذ COM في الحاسوب 

يوجد في الحاسوب منفذ تسلسلي عند ربط الحاسوب بواسطة هذا البروتوكول سنستخدم هذا المنفذ ويتكون المنفذ من 9 اجزاء 


DCD يستخدم عند ربط مودم هاتف لكشف اشارة الرنين
RXD قطب استقبال البيانات الذي سوف نستخدم عند ربط جهازين بواسطة هذا البروتوكول
TXD قطب ارسال البيانات الذي سوف نستخدمه عند ربط جهازين بواسطة هذا البروتوكول
DTR قطب تحكم يشير الى ان الطرفية الاولى جاهزة للارسال
DSR قطب تحكم يشير الى ان الطرفية الثانية اتصلت مع الاولى
RTS قطب تحكم يخبر الطرفية الثانية ان البيانات لدى الاولى جاهزة ويفعل دائرة الاستقبال لدى الثانية
CTS قطب تحكم يخبر الطرفية الاولى بانه استلم اشارة RTS وانه جاهز لاستلام البيانات
RI يستخدم في حال وجود مودم لاخبار الجهاز الرئيسي ان هناك رنين
GND قطب الجهد الارضي 

عملية الارسال والاستلام

عند انشاء عملية ارسال بدون مصافحة فالعملية سهلة جدا نقوم بوصل طرفي الجهازين حيث يوصل TXD الاول الى RXD الثاني وبالعكس ويوصل الجهد الارضي لكل من الطرفين الى بعض 


المتحكم الدقيق لايدعم هذا البروتوكول لكن يدعم بروتوكول UART الذي يشابه هذا البروتوكول في اطار نقل البيانات لكن يجب ضبط نفس الاعدادت لكلا البروتوكولين بنفس الضبط وتتم العملية برمجيا ولكن هناك اختلاف وحيد هو ان UART يعنل بالقيم المنطقية TTL اي 1 منطقي +5 فولت و0 منطقي 0 فولت ولكن بروتوكول RS232 يعمل بقيم منطقية مختلفة تماما لذا يجب التحويل بين القيمتين لتتم المسالة بصورة صحيحة ويستعمل لذلك اما درات الكترونية مخصصة لهذا الشي اسمها MAX232 او يستخدم الترانزستور كمفتاح ليؤدي عملية التحويل بين القيم الممثلة للمنطق الرقمي 


وهنا دائرة التحويل باستخدام الترانزستور 


في حالة الاتصال بين الطرفين مع مصافحة يضاف الى ربط TXD و RXD وGND ربط الطرفين RTS ,CTS حيث يربط ال RTS في الجهاز الاول مع ال CTS في الجهاز الثاني وبالعكس تتم المصافحة بان يقوم الجهاز الاولى بتفعيل القطب CTS من اجل اعلام الطرفية الثانية بانها ستقوم بالارسال فتقوم الطرفية الثانية بالرد عليها بانها جاهزة عن طريق تفعيل القطب RTS وتبدء عملية ارسال البيانات في حالة كان الجهاز الثاني مشغول ولم يفعل القطب RTS يقوم الجهاز الاول باعادة الارسال بعد فترة زمنية او انتظار الجهاز الثاني لحين ارسال تفعيل القبول

مساؤى استخدام البروتوكول

1- مناسب للربط بين نظامين System To System اكثر من كونه قابل للربط بين شريحتين Chip To Chip  او بين شريحة وحساس Chip To Sensor  
2- معدل نقل البيانات منخفض جدا من اجل مسافة طويلة
3- يحتاج الى شريحة للتحويل المنطقي RS232 To TTL عند استخدامه 
4- غير قابل للتوسعة ويمكن ربطه فقط بين خادم وحيد وقائد وحيد Single Master /Single Slave

محاسن استخدام البروتوكول 

1- بروتوكول اتصال شائع الاستخدام في كثير من التطبيقات ومعتمد من قبل الكثير من الشركات
2- مسافة اتصال طويلة نسبيا حوالي 50 قدم عند معدل ارسال منخفض 
3- مناعة ضد الضجيج بسبب الجهد المرتفع نسبيا +25 -25   للمستويات المنطقية 
4- سهل البناء والبرمجة ومتوفر برمجيا وككيان صلب 

2 التعليقات: