بروتوكول الاتصالات اردوينو

Brwtwkwl Alatsalat Ardwynw



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

بروتوكولات الاتصالات اردوينو

باستخدام بروتوكولات الاتصال ، يمكننا إرسال واستقبال بيانات أي جهاز استشعار في Arduino.

يمكن لبعض المستشعرات البسيطة مثل الأشعة تحت الحمراء (IR) التواصل مباشرة مع Arduino ولكن بعض المستشعرات المعقدة مثل وحدة Wi-Fi ووحدة بطاقة SD والجيروسكوب لا يمكنها الاتصال مباشرة مع Arduino بدون أي بروتوكولات اتصال. لذلك ، هذا هو السبب في أن هذه البروتوكولات جزء لا يتجزأ من اتصالات Arduino.







يحتوي Arduino على العديد من الأجهزة الطرفية المرفقة به ؛ من بينها ثلاثة ملحقات اتصال مستخدمة في لوحات Arduino.



بروتوكولات الاتصالات اردوينو

يتم توحيد الاتصال بين الأجهزة الإلكترونية المختلفة مثل Arduino بين هذه البروتوكولات الثلاثة ؛ تمكن المصممين من التواصل بين الأجهزة المختلفة بسهولة دون أي مشاكل في التوافق. العمل على هذه البروتوكولات الثلاثة هو نفسه لأنها تخدم نفس الغرض من الاتصال ، لكنها تختلف في التنفيذ داخل الدائرة. يتم مناقشة المزيد من الوصف لهذه البروتوكولات أدناه.







UART

يُعرف UART باسم جهاز استقبال عالمي غير متزامن. UART هو بروتوكول اتصال تسلسلي مما يعني أن بتات البيانات يتم نقلها في شكل تسلسلي واحدًا تلو الآخر. لإعداد اتصال UART نحتاج إلى سطرين. أحدهما هو دبوس Tx (D1) بلوحة Arduino والثاني هو دبوس Rx (D0) بلوحة Arduino. Tx pin مخصص لنقل البيانات إلى الأجهزة ويستخدم Rx pin لتلقي البيانات. تحتوي لوحات Arduino المختلفة على دبابيس UART متعددة.

اردوينو رقم التعريف الشخصي UART دبوس
D1 TX
د 0 آر إكس

لإنشاء اتصال تسلسلي باستخدام منفذ UART ، نحتاج إلى توصيل جهازين في التكوين الموضح أدناه:



في Arduino Uno ، يتم تخصيص منفذ تسلسلي واحد للاتصال والذي يشار إليه عادةً باسم منفذ USB. كما يوحي الاسم Universal Serial Bus ، فهو منفذ تسلسلي. باستخدام منفذ USB ، يمكن لـ Arduino إنشاء اتصال مع أجهزة الكمبيوتر. منفذ USB متصل بدبابيس Tx و Rx من Arduino. باستخدام هذه المسامير ، يمكننا توصيل أي جهاز خارجي بخلاف الكمبيوتر عبر USB. يوفر Arduino IDE مكتبة SoftwareSerial (SoftwareSerial.h) الذي يسمح للمستخدمين باستخدام دبابيس GPIO كدبابيس Serial Tx و Rx.

  • UART سهل التشغيل مع Arduino
  • لا تحتاج UART إلى أي إشارة على مدار الساعة
  • يجب ضبط سرعة البث بالباود في حدود 10٪ من أجهزة الاتصال لمنع فقدان البيانات
  • لا يمكن استخدام أجهزة متعددة مع Arduino في تكوين Master Slave مع UART
  • UART هو نصف مزدوج ، مما يعني أن الأجهزة لا يمكنها إرسال واستقبال البيانات في نفس الوقت
  • يمكن لجهازين فقط في وقت واحد الاتصال ببروتوكول UART

الواجهة الطرفية التسلسلية (SPI)

SPI هو اختصار للواجهة الطرفية التسلسلية المصممة خصيصًا لوحدات التحكم الدقيقة للتواصل معها. يعمل SPI في وضع الازدواج الكامل مما يعني أنه يمكن لـ SPI إرسال واستقبال البيانات في وقت واحد. عند مقارنته مع UART و I2C ، فهو أسرع جهاز اتصال طرفي في لوحات Arduino. يتم استخدامه بشكل شائع عند الحاجة إلى معدل بيانات مرتفع كما هو الحال في شاشة LCD وتطبيقات بطاقة Micro SD.

تم تحديد دبابيس SPI الرقمية على Arduino مسبقًا. بالنسبة إلى Arduino Uno SPI pin ، يكون تكوين دبوس كما يلي:

خط SPI GPIO دبوس رأس ICSP
SCK 13 3
ميسو 12 1
دخان أحد عشر 4
SS 10 -
  • MOSI تعني إتقان الرقيق في ، MOSI هو خط نقل البيانات من السيد إلى العبد.
  • SCK هو خط الساعة الذي يحدد سرعة الإرسال وخصائص بداية النهاية.
  • SS لتقف على تحديد الرقيق ؛ يسمح خط SS لـ Master بتحديد جهاز تابع معين عند التشغيل في تكوين تابع متعدد.
  • MISO لتقف على ماجستير في العبودية ؛ MISO هو خط نقل تابع إلى رئيسي للبيانات.

يعد تكوين Master-Slave أحد السمات الرئيسية لبروتوكول SPI. يمكن تعريف استخدام جهاز SPI واحد على أنه Master للتحكم في العديد من الأجهزة التابعة. يتحكم Master بشكل كامل في الأجهزة التابعة من خلال بروتوكول SPI.

SPI هو بروتوكول متزامن ، مما يعني أن الاتصال مرتبط بإشارة ساعة مشتركة بين Master و Slave. يمكن لـ SPI التحكم في أجهزة متعددة مثل Slave عبر خط إرسال واستقبال واحد. جميع العبيد متصلون بالسيد باستخدام مشترك ميسو تلقي الخط مع دخان خط إرسال مشترك واحد. SCK هو أيضًا خط الساعة المشترك بين أجهزة Master و Slave. الاختلاف الوحيد في الأجهزة التابعة هو أنه يتم التحكم في كل جهاز تابع من خلال منفصلة SS حدد الخط. هذا يعني أن كل تابع يحتاج إلى دبوس GPIO إضافي من لوحة Arduino والذي سيعمل كخط محدد لجهاز Slave المحدد.

بعض النقاط البارزة الرئيسية لبروتوكول SPI مذكورة أدناه:

  • SPI هو أسرع بروتوكول من I2C و UART
  • لا توجد بتات بدء وإيقاف مطلوبة كما هو الحال في UART مما يعني أن نقل البيانات المستمر ممكن
  • يمكن معالجة الرقيق بسهولة بسبب تكوين Master Slave البسيط
  • لكل تابع يتم احتلال دبوس إضافي على لوحة Arduino. عمليًا ، يمكن لـ 1 Master التحكم في 4 أجهزة تابعة
  • إقرار البيانات مفقود مثل استخدامه في UART
  • التكوين الرئيسي المتعدد غير ممكن

بروتوكول الاتصالات I2C

Inter Integrated Circuit (I2C) هو بروتوكول اتصال آخر تستخدمه لوحات Arduino. I2C هو البروتوكول الأكثر صعوبة وتعقيدًا في التنفيذ مع Arduino والأجهزة الأخرى. على الرغم من تعقيده ، فإنه يوفر ميزات متعددة مفقودة في بروتوكولات أخرى مثل تكوينات Master و Multi Slaves. يسمح I2C بتوصيل ما يصل إلى 128 جهازًا بلوحة Arduino الرئيسية. هذا ممكن فقط لأن I2C تشترك في سلك واحد بين جميع الأجهزة التابعة. يستخدم I2C في Arduino نظام عنوان ، مما يعني أنه قبل إرسال البيانات إلى جهاز Slave ، يجب على Arduino تحديد جهاز Slave أولاً عن طريق إرسال عنوان فريد. تستخدم I2C سلكين فقط لتقليل عدد أطراف Arduino بشكل عام ، ولكن الجانب السيئ لها هو أن I2C أبطأ من بروتوكول SPI.

اردوينو دبوس التناظرية I2C دبوس
A4 SDA
A5 SCL

على مستوى الأجهزة ، يقتصر I2C على سلكين فقط ، أحدهما لخط البيانات المعروف باسم SDA (البيانات التسلسلية) والثاني لخط الساعة SCL (الساعة التسلسلية). في حالة الخمول يتم سحب كل من SDA و SCL عالياً. عندما يلزم نقل البيانات ، يتم سحب هذه الخطوط منخفضة باستخدام دوائر MOSFET. باستخدام I2C في المشاريع ، من الضروري استخدام مقاومات سحب تصل قيمتها عادة إلى 4.7Kohm. تضمن مقاومات السحب هذه بقاء خطوط SDA و SCL عالية في بداية الخمول.

بعض الملامح الرئيسية لبروتوكولات I2C هي:

  • عدد المسامير المطلوبة منخفض جدًا
  • يمكن توصيل أجهزة Master Slaves المتعددة
  • يستخدم فقط سلكين
  • السرعة أبطأ مقارنة بـ SPI بسبب سحب المقاومات
  • تحتاج المقاومات إلى مساحة أكبر في الدائرة
  • زيادة تعقيد المشروع مع زيادة عدد الأجهزة

مقارنة بين UART و I2C و SPI

بروتوكول UART SPI 2 ج
سرعة أبطأ أسرع أسرع من UART
عدد الأجهزة ما يصل الى 2 4 أجهزة ما يصل إلى 128 جهازًا
الأسلاك المطلوبة 2 (TX ، Rx) 4 (SCK ، سموكي ، عيون ، SS) 2 (SDA ، SCL)
وضع الازدواج وضع الازدواج الكامل وضع الازدواج الكامل نصف المزدوجة
عدد السيد والعبيد ممكن سيد واحد - عبد واحد سيد واحد متعدد العبيد سادة متعددة - عبيد متعددون
تعقيد بسيط يمكن بسهولة التحكم في أجهزة متعددة معقدة مع زيادة في الأجهزة
بت شكر وتقدير لا لا نعم

استنتاج

في هذه المقالة ، قمنا بتغطية مقارنة شاملة لجميع البروتوكولات الثلاثة UART و SPI و I2C المستخدمة في Arduino. تعد معرفة جميع البروتوكولات أمرًا مهمًا لأنها توفر فرصًا لا حصر لها لدمج أجهزة متعددة. سيوفر فهم جميع الأجهزة الطرفية للاتصالات الوقت ويساعد على تحسين المشاريع وفقًا للبروتوكول الصحيح.