جدول المحتويات:

أساسيات بروتوكول الاتصال SPI: 13 خطوة
أساسيات بروتوكول الاتصال SPI: 13 خطوة

فيديو: أساسيات بروتوكول الاتصال SPI: 13 خطوة

فيديو: أساسيات بروتوكول الاتصال SPI: 13 خطوة
فيديو: ماهو : I2c - spi - Uart ⁉️ 2024, يوليو
Anonim
أساسيات بروتوكول الاتصال SPI
أساسيات بروتوكول الاتصال SPI

عند توصيل متحكم دقيق بجهاز استشعار أو شاشة عرض أو وحدة أخرى ، هل فكرت يومًا في كيفية اتصال الجهازين مع بعضهما البعض؟ ماذا يقولون بالضبط؟ كيف هم قادرون على فهم بعضهم البعض؟

الاتصال بين الأجهزة الإلكترونية مثل الاتصال بين البشر. كلا الجانبين بحاجة إلى التحدث بنفس اللغة. في الإلكترونيات ، تسمى هذه اللغات بروتوكولات الاتصال. لحسن الحظ بالنسبة لنا ، لا يوجد سوى عدد قليل من بروتوكولات الاتصال التي نحتاج إلى معرفتها عند إنشاء معظم مشاريع الإلكترونيات DIY. في هذه السلسلة من المقالات ، سنناقش أساسيات البروتوكولات الثلاثة الأكثر شيوعًا: الواجهة المحيطية التسلسلية (SPI) ، والدائرة المتكاملة (I2C) ، والاتصال العالمي غير المتزامن / المرسل (UART). أولاً ، سنبدأ ببعض المفاهيم الأساسية حول الاتصال الإلكتروني ، ثم نشرح بالتفصيل كيفية عمل SPI. في المقالة التالية ، سنناقش الاتصالات المدفوعة UART ، وفي المقالة الثالثة ، سنتعمق في I2C. تعد SPI و I2C و UART أبطأ قليلاً من البروتوكولات مثل USB و ethernet و Bluetooth و WiFi ، لكنها أكثر بساطة وتستخدم موارد أقل للأجهزة والنظام. تعد SPI و I2C و UART مثالية للاتصال بين وحدات التحكم الدقيقة وبين المتحكمات الدقيقة وأجهزة الاستشعار حيث لا يلزم نقل كميات كبيرة من البيانات عالية السرعة.

الخطوة 1: المسلسل مقابل. الاتصالات الموازية

المسلسل مقابل. الاتصالات الموازية
المسلسل مقابل. الاتصالات الموازية

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

يمكن نقل بتات البيانات إما بشكل متوازي أو تسلسلي. في الاتصال الموازي ، يتم إرسال أجزاء البيانات كلها في نفس الوقت ، كل منها عبر سلك منفصل. يوضح الرسم البياني التالي الإرسال المتوازي للحرف "C" في النظام الثنائي (01000011):

الخطوة 2:

في الاتصال التسلسلي ، يتم إرسال البتات واحدة تلو الأخرى عبر سلك واحد. يوضح الرسم البياني التالي الإرسال التسلسلي للحرف "C" في النظام الثنائي (01000011):

الخطوه 3:

صورة
صورة

الخطوة 4: مقدمة عن اتصال SPI

مقدمة في اتصال SPI
مقدمة في اتصال SPI

SPI هو بروتوكول اتصال شائع تستخدمه العديد من الأجهزة المختلفة. على سبيل المثال ، تستخدم وحدات بطاقة SD ووحدات قارئ بطاقة RFID وجهاز الإرسال / الاستقبال اللاسلكي بسرعة 2.4 جيجاهرتز SPI للتواصل مع المتحكمات الدقيقة.

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

الخطوة الخامسة:

صورة
صورة

الخطوة السادسة:

MOSI (إخراج رئيسي / إدخال تابع) - خط للسيد لإرسال البيانات إلى التابع.

MISO (إدخال رئيسي / إخراج تابع) - خط للرقيق لإرسال البيانات إلى السيد.

SCLK (الساعة) - خط لإشارة الساعة.

SS / CS (Slave Select / Chip Select) - خط للسيد ليحدد أي عبد يرسل البيانات إليه

الخطوة السابعة:

صورة
صورة

* من الناحية العملية ، فإن عدد العبيد محدود بسعة الحمل للنظام ، مما يقلل من قدرة السيد على التبديل بدقة بين مستويات الجهد.

الخطوة 8: كيف يعمل SPI

الساعة

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

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

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

حدد الرقيق

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

تعدد الرقيق SPI

يمكن إعدادها للعمل مع سيد واحد وعبد واحد ، ويمكن إعدادها مع عدة عبيد يتحكم فيها سيد واحد. هناك طريقتان لربط العديد من العبيد بالسيد. إذا كان لدى السيد عدة دبابيس تحديد تابعة ، فيمكن توصيل العبيد بالتوازي على النحو التالي:

الخطوة 9:

صورة
صورة

الخطوة 10:

MOSI و MISO

يرسل السيد البيانات إلى التابع شيئًا فشيئًا ، بالتسلسل عبر خط MOSI. يتلقى العبد البيانات المرسلة من السيد عند دبوس MOSI. عادةً ما يتم إرسال البيانات المرسلة من السيد إلى التابع مع البت الأكثر أهمية أولاً. يمكن للرقيق أيضًا إرسال البيانات مرة أخرى إلى السيد من خلال خط MISO بالتسلسل. عادةً ما يتم إرسال البيانات المرسلة من العبد إلى السيد مع بت أقل أهمية أولاً. خطوات إرسال بيانات SPI 1. يقوم السيد بإخراج إشارة الساعة:

الخطوة 11:

صورة
صورة

في حالة توفر دبوس تحديد تابع واحد فقط ، يمكن ربط العبيد بسلسلة ديزي مثل هذا:

الخطوة 12:

صورة
صورة
صورة
صورة
صورة
صورة
صورة
صورة

MOSI و MISO

يرسل السيد البيانات إلى التابع شيئًا فشيئًا ، بالتسلسل عبر خط MOSI. يتلقى العبد البيانات المرسلة من السيد عند دبوس MOSI. عادةً ما يتم إرسال البيانات المرسلة من السيد إلى التابع مع البت الأكثر أهمية أولاً.

يمكن للرقيق أيضًا إرسال البيانات مرة أخرى إلى السيد من خلال خط MISO بالتسلسل. عادةً ما يتم إرسال البيانات المرسلة من العبد إلى السيد مع بت أقل أهمية أولاً.

خطوات نقل بيانات SPI

* ملاحظة الصور مدرجة المزمار يمكنك تمييزها بسهولة

1. يقوم السيد بإخراج إشارة الساعة:

2. يقوم السيد بتحويل دبوس SS / CS إلى حالة الجهد المنخفض ، والتي تنشط التابع:

3. يرسل السيد البيانات بتة واحدة في كل مرة إلى العبد على طول خط MOSI. العبد يقرأ البتات عند استلامها:

4. إذا كانت هناك حاجة إلى استجابة ، يقوم التابع بإرجاع البيانات بتة واحدة في كل مرة إلى الرئيسي على طول خط MISO. يقرأ المعلم البتات فور استلامها:

الخطوة 13: مزايا وعيوب SPI

هناك بعض المزايا والعيوب لاستخدام SPI ، وفي حالة الاختيار بين بروتوكولات الاتصال المختلفة ، يجب أن تعرف متى تستخدم SPI وفقًا لمتطلبات مشروعك:

مزايا

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

سلبيات

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

إذا كانت لديك أي أسئلة ، فلا تتردد في طرحها في قسم التعليقات ، فنحن هنا للمساعدة. وتأكد من المتابعة

التحيات: م. جنيد

موصى به: