انتقل إلى المحتوى

通信协议 - SPI

SPI (Serial Peripheral Interface) هو بروتوكول اتصال ثنائي الاتجاه، متزامن، تسلسلي، رئيسي/عبد، حافلة ، وسرعة نقل البيانات فيه تبلغ 8 ميجابت في الثانية. يمكن أن يكون لديك جهاز رئيسي واحد فقط في SPI ، ويمكن توصيل جهاز أو أكثر كعبيد. عند توصيل عدة أجهزة ، يجب استخدام دبوس التحديد (chip select ، CS).

دبابيس SPI

  • SCLK (ساعة متسلسلة): إشارة ساعة موجهة بواسطة الجهاز الرئيسي ، وهي مدخل للجهاز الفرعي. يتم تخزين إشارات SDO و SDI بناءً على إشارة الساعة SCLK. يتم نقل بت واحد في كل دورة ساعة ، لذلك يكون معدل النقل مساويًا لتردد الساعة الذي يولده الجهاز الرئيسي.
  • SDI/SDO (بيانات متسلسلة في / بيانات متسلسلة خارج): يصف اتجاه تدفق البيانات بالنسبة للجهاز الرئيسي ، ولكن في أغلب الأحيان يظهر MOSI (الماستر يخرج العبد يدخل) و MISO (الماستر يدخل العبد يخرج) على اللوحة. على سبيل المثال ، يكون SDO هو MOSI على الجهاز الرئيسي و MISO على العبد ، بينما يكون SDI هو MISO على الجهاز الرئيسي و MOSI على العبد. في توبولوجيا سلسلة الزهور ، يتصل جهاز A MISO بجهاز B MISO.
  • CS/SS (تحديد الرقاقة / تحديد العبد): يتم توجيهه بواسطة الجهاز الرئيسي ، ويستخدم لتحديد أولوية الاتصال على حافلة SPI. عندما يكون الخط CS منخفضًا ، يتم تنشيط اتصال SPI. يكون CS فعالًا عندما يكون على مستوى منخفض.

عملية تخزين البيانات في SPI

  • يتم تخزين بيانات SPI عند حافة صعودية أو هبوطية لـ SCLK.
  • يُشار إلى الحافة التي يتم فيها تخزين البيانات بأنها الحافة الحرجة.
  • على سبيل المثال ، يُمثل الشكل الأيسر فيما يلي تخزين البت المنطقي 1 في حافة صعودية ، بينما يُمثل الشكل الأيمن تخزين البت المنطقي 0 في حافة هبوطية.

مثال على قراءة SPI

  1. الحافة الحرجة هي حافة صعودية.
  2. الجهاز الرئيسي يُخرج البيانات إلى العبد (SDI على العبد).
  3. يتم سحب دبوس CS إلى 0 فولت لتنشيط اتصال SPI.
  4. يتم نقل البيانات بترتيب من البت الأعلى (MSB) إلى البت الأدنى (LSB) عند حافة صعودية لـ SCLK.
  5. البيانات المنقولة: 1011001

الحافة الحرجة في SPI

  • \(t_{SU}\) (زمن الإعداد): يحدد بعد متى يجب أن تكون البيانات على SDI ثابتة ومستقرة قبل حدوث الحافة الحرجة.
  • \(t_{HO}\) (زمن الاحتفاظ): يحدد مدة يجب أن يتم الاحتفاظ بالبيانات على SDI بعد حدوث الحافة الحرجة.
  • \(t_{DO}\) (زمن التأخير): يحدد تأخير البيانات الصالحة على SDO بعد حدوث الحافة الحرجة.

أنماط نقل SPI (4 أنماط)

  • CPOL (القطبية الساعة): قطبية الساعة في حالة الخمول (عند عدم نقل البيانات) ، 0 يعني مستوى منخفض ، 1 يعني مستوى عالي.
  • CPHA (المرحلة الساعة): يحدد متى يتم تخزين البيانات في الحافة الصعودية أو الهبوطية. 0 يعني تخزينها في الحافة الأولى التي تتغير فيها الإشارة ، 1 يعني تخزينها في الحافة الثانية التي تتغير فيها الإشارة.
رقم النمط CPOL (القطبية الساعة) CPHA (المرحلة الساعة) الحافة الحرجة
0 0 (مستوى منخفض) 0 (تخزين في الحافة الأولى) صعودية
1 0 (مستوى منخفض) 1 (تخزين في الحافة الثانية) هبوطية
2 1 (مستوى عالي) 0 (تخزين في الحافة الأولى) هبوطية
3 1 (مستوى عالي) 1 (تخزين في الحافة الثانية) صعودية

سلسلة الأقحوان (Daisy Chain)

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

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

مزايا وعيوب SPI

المزايا:

  • اتصال ثنائي الاتجاه
  • تشغيل بوصلة ، يمكن توفير تكامل إشارة جيد وسرعة عالية
  • بروتوكول مرن ، ليس مقتصرًا على بايت واحد بحجم 8 بت
  • تصميم أجهزة بسيط
    • لا حاجة لمقاومات السحب ، وبالتالي استهلاك طاقة أقل
    • لا يوجد آلية تحكيم أو أنماط فشل ذات الصلة
    • لا يحتاج الجهاز الفرعي إلى ساعة (توفرها الجهاز الرئيسي)
    • لا يحتاج الجهاز الفرعي إلى عنوان منفصل
    • لا حاجة لمرسل/مستقبل
    • الإشارات ذات اتجاه واحد ، سهلة العزل الكهربائي
  • لا يوجد حد أقصى لسرعة الساعة

العيوب:

  • يستخدم عددًا أكبر من الأرجل مقارنة بـ I2C
  • الأجهزة الفرعية غير قادرة على الاستجابة بشكل مادي
  • لا يوجد آلية لفحص الأخطاء مثل البت الزوجي/الفردي في UART
  • يمكن أن يكون هناك مضيف واحد فقط
  • المواصفات غير موحدة ، لا يمكن التحقق من التوافق
  • المسافة النسبية للنقل أقصر (بالمقارنة مع CAN و RS232 و RS485 وما إلى ذلك)

المراجع والشكر

  • "Analog Engineer’s Pocket Reference"

تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.