اقرأ في هذا المقال
- ما هو جهاز استقبال-إرسال عالمي غير متزامن UART؟
- أساسيات جهاز استقبال-إرسال عالمي غير متزامن UART
- آلية عمل جهاز UART
- خطوات الإرسال السريع في UART
- مزايا UART
- عيوب UART
في الاتصال التسلسلي يتم نقل البيانات شيئاً فشيئاً باستخدام خط أو سلك واحد، وفي الاتصال ثنائي الاتجاه يتم استخدلم سلكين لنقل البيانات التسلسلية بنجاح، واعتماداً على متطلبات التطبيق والنظام تتطلب الاتصالات التسلسلية عدداً أقل من الدوائر والأسلاك، ممّا يقلل من تكلفة التنفيذ.
ما هو جهاز استقبال-إرسال عالمي غير متزامن UART؟
جهاز استقبال-إرسال عالمي غير متزامن “UART”: هو أحد أكثر بروتوكولات الاتصال من جهاز إلى جهاز استخداماً، وهو بروتوكول اتصال للأجهزة يستخدم اتصال تسلسلي غير متزامن بسرعة قابلة للتكوين، ويعني غير متزامن عدم وجود إشارة على مدار الساعة لمزامنة بتات الإنتاج من جهاز الإرسال إلى الطرف المستقبل.
- “UART” هي اختصار لـ “Universal Asynchronous Receiver/Transmitter”.
أساسيات جهاز استقبال-إرسال عالمي غير متزامن UART:
يلعب بروتوكول الاتصال دوراً كبيراً في تنظيم الاتصال بين الأجهزة، كما تم تصميمه بطرق مختلفة بناءً على متطلبات النظام، وهذه البروتوكولات لها قاعدة محددة متفق عليها بين الأجهزة لتحقيق اتصال ناجح، حيث تُستخدم الأنظمة المضمنة والميكروكونترولر وأجهزة الكمبيوتر في الغالب “UART” كشكل من أشكال بروتوكول اتصال الأجهزة من جهاز إلى جهاز.
ومن بين بروتوكولات الاتصال المتاحة تُستخدم “UART” سلكين فقط لنهايات الإرسال والاستقبال، وعلى الرغم من كونها طريقة مستخدمة على نطاق واسع لبروتوكول اتصال الأجهزة، إلّا أنّها لم يتم تحسينها بالكامل طوال الوقت، وعادةً ما يتم تجاهل التنفيذ الصحيح لبروتوكول الإطار عند استخدام وحدة “UART” داخل وحدة التحكم الدقيقة.
عند تكوينه بشكل صحيح يمكن لـ “UART” العمل مع العديد من الأنواع المختلفة من البروتوكولات التسلسلية التي تتضمن إرسال واستقبال البيانات التسلسلية، وفي اتصال “UART” يتواصل اثنان من “UARTs” مباشرةً مع بعضهما البعض، كما يعمل “UART” المرسل بتحويل البيانات المتوازية من جهاز تحكم مثل وحدة المعالجة المركزية إلى شكل تسلسلي، وينقلها بشكل تسلسلي إلى “UART” المستقبِل، والذي يحول البيانات التسلسلية مرة أخرى إلى بيانات متوازية لجهاز الاستقبال.
هناك حاجة إلى سلكين فقط لنقل البيانات بين جهازي “UART”، وتتدفق البيانات من دبوس “Tx” الخاص بجهاز UART المرسل إلى دبوس “Rx” الخاص بجهاز “UART” المستقبِل، وتنقل “UART” البيانات بشكل غير متزامن، ممّا يعني أنّه لا توجد إشارة على مدار الساعة لمزامنة إنتاج البتات من “UART” المرسل إلى أخذ عينات من البتات بواسطة “UART” المستقبِل.
وبدلاً من إشارة الساعة يُضيف “UART” المرسل بتات البدء والإيقاف إلى حزمة البيانات التي يتم نقلها كما تُحدد هذه البتات بداية ونهاية حزمة البيانات حتى يعرف “UART” المستلم متى يبدأ في قراءة البتات وعندما يجد “UART” المستقبِل بتة البداية، فإنّه يبدأ في قراءة البتات الواردة بتردد معين يُعرف باسم معدل البث بالباود.
معدل الباود هو مقياس لسرعة نقل البيانات ومعبراً عنه بالبت في الثانية، كما يجب أن يعمل كل من “UARTs” بنفس معدل الباود تقريباً، ويمكن أن يختلف معدل البث بالباود بين “UARTs” للإرسال والاستقبال بنسبة “10%” فقط قبل أن يصبح توقيت البتات بعيداً جداً.
آلية عمل جهاز UART:
يتلقى “UART” الذي سينقل البيانات البيانات من ناقل البيانات، ويتم استخدام ناقل البيانات لإرسال البيانات إلى “UART” بواسطة جهاز آخر، مثل وحدة المعالجة المركزية أو الذاكرة أو وحدة التحكم الدقيقة ويتم نقل البيانات من ناقل البيانات إلى “UART” المرسل بشكل متوازي، وبعد أن يحصل “UART” المرسل على البيانات المتوازية من ناقل البيانات، فإنّه يضيف بت البداية وبت التكافؤ وبت التوقف، ممّا يؤدي إلى تكوين حزمة البيانات.
بعد ذلك يتم إخراج حزمة البيانات بشكل متسلسل بشكل جزئي عند دبوس “Tx”، ويقرأ “UART” المستقبِل حزمة البيانات بشكل تسلسلي عند دبوس “Rx” الخاص به، ثم يقوم “UART” المستلم بتحويل البيانات مرة أخرى إلى شكل متوازي ويزيل بت البداية وبت التكافؤ وبتات التوقف، وأخيراً ينقل “UART” المستلم حزمة البيانات بالتوازي مع مرسل البيانات على جهة المستلم.
يتم تنظيم البيانات المرسلة UART في حزم. تحتوي كل حزمة على “1 بت” بدء، و”5 بتات “إلى “9 بتات” بيانات اعتماداً على “UART”، وبت تماثل اختياري و”1 بت” أو “2 بت” توقف.
1- بت البداية:
عادةً ما يتم الاحتفاظ بخط نقل البيانات “UART” عند مستوى جهد عالٍ عندما لا يقوم بنقل البيانات، ولبدء نقل البيانات يقوم “UART” المرسل بسحب خط النقل من أعلى إلى منخفض لدورة ساعة واحدة، وعندما يجد “UART” المستقبِل انتقال الجهد العالي إلى المنخفض، يبدأ في قراءة البتات في إطار البيانات بتردد معدل البث بالباود.
2- إطار البيانات:
يحتوي إطار البيانات على البيانات الفعلية التي يتم نقلها، ويمكن أن يصل طولها إلى “5 بتات” حتى “8 بتات” إذا تم استخدام بت تماثل، وفي حالة عدم استخدام بتة تعادلية يمكن أن يبلغ طول إطار البيانات “9 بتات”، وفي معظم الحالات يتم إرسال البيانات مع البت الأقل أهمية أولاً.
3- بت التكافؤ:
يصف التكافؤ العدد المتساوي أو الغريب، وبت التكافؤ هي طريقة يستخدمها “UART” المتلقي لمعرفة ما إذا كانت أي بيانات قد تغيرت أثناء الإرسال، ويمكن تغيير البتات عن طريق الإشعاع الكهرومغناطيسي أو معدلات البث بالباود غير المتطابقة أو عمليات نقل البيانات لمسافات طويلة، وبعد أن يقرأ “UART” المستلم إطار البيانات، فإنّه يحسب عدد البتات بقيمة 1 ويتحقق ممّا إذا كان الإجمالي عدداً زوجياً أم فردياً.
إذا كانت بتة التكافؤ تساوي “0” أي تعادل زوجي، يجب أن يصل مجموع البتات “1” في إطار البيانات إلى عدد زوجي، وإذا كانت بتة التكافؤ “1” تكافؤ فردي، يجب أن يصل مجموع البتات “1” في إطار البيانات إلى رقم فردي، وعندما تطابق بت التكافؤ البيانات يعرف “UART” أنّ الإرسال كان خالياً من الأخطاء، ولكن إذا كانت بت التكافؤ تساوي “0” وكان الإجمالي فردياً أو أنّ بت التكافؤ هو 1، والإجمالي متساوٍ يعرف “UART” أنّ البتات في إطار البيانات قد تغيرت.
4- نقطة التوقف:
للإشارة إلى نهاية حزمة البيانات يقوم “UART” المرسل بتشغيل خط نقل البيانات من جهد منخفض إلى جهد عالٍ لفترتي بت على الأقل.
خطوات الإرسال السريع في UART:
- يستقبل “UART” المرسل البيانات بالتوازي من ناقل البيانات.
- تضيف “UART” للإرسال بتة البداية وبت التكافؤ وبت الإيقاف إلى إطار البيانات.
- يتم إرسال الحزمة بأكملها بشكل متسلسل من “UART” المرسل إلى “UART” المستقبِل ويقوم جهاز “UART” المتلقي بأخذ عينات من خط البيانات بمعدل البث بالباود الذي تم تكوينه مسبقاً.
- يتجاهل “UART” المستقبِل بت البداية وبت التماثل وبت التوقف من إطار البيانات.
- يبدل “UART” المستقبِل البيانات التسلسلية مرة أخرى إلى موازية وينقلها إلى ناقل البيانات على الطرف المستقبل.
مزايا UART:
- يستخدم فقط سلكين.
- لا حاجة لإشارة الساعة.
- لديه بت تماثل للسماح بفحص الأخطاء.
- يمكن تغيير هيكل حزمة البيانات طالما تم إعداد كلا الجانبين لها.
- طريقة موثقة بشكل جيد ومستخدمة على نطاق واسع.
عيوب UART:
- حجم إطار البيانات محدود بحد أقصى “9 بتات”.
- لا يدعم أنظمة رئيسية متعددة أو تابعة.
- يجب أن تكون معدلات البث بالباود لكل “UART” في حدود “10%” من بعضها البعض.