UART
بروتوكل النقل التسلسي الغير متزامن
يعتبر بروتوكول النقل التسلسي الغير متزامن UART من اشهر البروتوكولات المستخدمة في التواصل بين عدة معالجات او بين المعالج والحاسوب هذا البروتوكول غير متزامن وتختلف سرعة الارسال حسب الطرفين وامكانياتهم لدعم سرع عالية من الارسال يوجد منفذين وحيدين في هذا البروتوكول هما منفذ الارسال TX ومنفذ الاستلام RX وعند ربط جهازين مع بعض يتم توصيل الTX للجهاز الاول مع الRX للجهاز الثاني وكذلك بالنسبة لTX الجهاز الثاني ويتم ارسال البيانات على شكل تتابعي من خلال مسجل ازاحة يدفع البتات واحد تلو الاخر حيث تكون عملية ارسال بايت عن طريق fram ثابت ومتفق عليه بين الطرفين وبسرعة ثابته يحتوي كل fram
1-بت بداية الارسال
2- بتات البيانات وتكون من 5 الى 8 بتات يحددها المستخدم عن طريق مسجل معين في كل متحكم وعادتا تكون 8 بت
3- بت المساواة ويكون اما فردي او زوجي او غير موجود يستخدم للتاكد من ان البيانات قد استلمت بنجاح ويعتمد مبدء عمله على حساب عدد ال 1 في الرقم الثنائي
اذا عند استخدام هذا البروتوكول يجب ضبط كل من المرسل والمستلم على نفس التهيئة حيث توجد مسجلات معينة يتم كتابة قيم فيها طبقا لما ورد في ورقة بيانات المتحكم الدقيق datasheet ويتم تحديد في هذه المسجلات كل من سرعة الارسال band rate وعدد بتات البيانات data bits وعدد بتات التوقف stop bits ونوع بت المساواة parity bit ويتم التعرف من قبل المتحكم على ان هنالك عملية استلام للبيانات اما من خلال قراءة علم flag يشير الى وجود بيانات في مسجل الاستلام الخاص بهذا البروتوكول حيث تتم قراءة هذا العلم بشكل دوري وعندما يكون هنالك بيانات يتم استقبالها وخزنها او عن طريق تفعيل المقاطعات حيث عندما تاتي بيانات عن طريق هذا البروتوكول تتم مقاطعة عمل المعالج ومعالجة البيانات الاتية ثم بعد الانتهاء يعود المعالج لاكمال مسيرته في تنفيذ البرنامج الرئيسي
التحويل بين UART و RS232
اذا كنت لاتعرف تفاصيل بروتوكول RS232 اقرا المقالة هنا
اذا كان المتحكم 8 بت ويعمل بجهد 5 فولت فيمكن التحويل باستخدام MAX232 Chip وهنا التخطيط للدائرة المستخدمة
وعند التحويل بين RS232 وUART لمتحكم يعمل بجهد 3.3 فولت سنستخدم MAX3232 Chip
وهنا التخطيط للدائرة المستخدمة
يمكن استخدام كل من MAX232 و FT232 للتحويل من USB الى SERIAL PORT مباشرتا حيث يكون بروتوكول UART وسيط بين عملتي التحويل
صورة توضح ان ARDUINO UNO يحتوي على المتحكم ATMEGA 16U2 للتحويل من UART الى USB
صورة اخرى توضح ان ARDUINO DUEMILANOVE يحتوي FT232 للتحويل بين UART و USB
الاستخدامات
كما قلنا ان هذا البروتوكول يستخدم للتواصل مع معالجات اخرى او حاسوب شخصي مثلا لو اردنا ربط متحكم مع موديل GPS سنتستخدم هذا البروتوكول ولو اردنا برمجة متحكم عن طريق الحاسوب الشخصي سوف نستخدم هذا البروتوكول وتتم عملية ربط المتحكم الى الحاسوب عن طريق منفذ DB9 الخاص بالاتصال التسلسلي حيث يعمل في برتوكول RS232 او عن طريق منفذ USB اذا عند ربط المتحكم مع الحاسوب سنستخدم هذا البروتوكول وسنحتاج لتحويله الى USB او الى RS232التحويل بين UART و RS232
اذا كنت لاتعرف تفاصيل بروتوكول RS232 اقرا المقالة هنا
اذا كان المتحكم 8 بت ويعمل بجهد 5 فولت فيمكن التحويل باستخدام MAX232 Chip وهنا التخطيط للدائرة المستخدمة
وعند التحويل بين RS232 وUART لمتحكم يعمل بجهد 3.3 فولت سنستخدم MAX3232 Chip
وهنا التخطيط للدائرة المستخدمة
التحويل بين UART و USB
وهو المستخدم في الاردينو حيث يتم برمجة الاردينو عن طريق بروتوكول UART ومن خلال تحويله الى منفذ USB اما عن طريق CHIP خاصة مثل FT232 او عن طريق متحكم من سلسلة TINY وهنا سنوضح التخطيط لتحويليمكن استخدام كل من MAX232 و FT232 للتحويل من USB الى SERIAL PORT مباشرتا حيث يكون بروتوكول UART وسيط بين عملتي التحويل
صورة توضح ان ARDUINO UNO يحتوي على المتحكم ATMEGA 16U2 للتحويل من UART الى USB
صورة اخرى توضح ان ARDUINO DUEMILANOVE يحتوي FT232 للتحويل بين UART و USB
الف شكر لك اخي العزيز على هذه المواضيع الرائعة
ردحذفانا شخص مهتم بهذه الاشياء وخاصى الامور الامنية منها، هل يوجد كتاب تنصحني بة لتعلم هذه الامور اقصد UART و GPIO و SPI و I2C و JTAG هل يوجد كتاب يشرحها بالكامل، وهل يمكنك ان تكتب موضوع عن الBus Pirate ويوجد اداة جديدة تعتبر افضل اسمها Shikra