متوسط⏱ 13 دقیقه مطالعه

SPI یک پروتکل ارتباطی سریع‌تر از I2C است که از ۴ سیم استفاده می‌کند: MOSI (خروجی داده مستر)، MISO (ورودی داده مستر)، SCK (ساعت) و CS/SS (انتخاب چیپ). به‌دلیل سرعت بالا، برای نمایشگرهای TFT، کارت‌های SD و برخی حسگرهای دقیق استفاده می‌شود.

مقایسهٔ سریع I2C و SPI

  • I2C: دو سیم، آدرس‌دهی نرم‌افزاری، کندتر، مناسب چند قطعهٔ کم‌سرعت
  • SPI: حداقل چهار سیم، انتخاب سخت‌افزاری با CS، سریع‌تر، مناسب نمایشگر و حافظه
PYTHON
from machine import Pin, SPI

spi = SPI(1, baudrate=10_000_000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
cs = Pin(5, Pin.OUT)

cs.value(0)               # فعال‌سازی دستگاه
spi.write(bytes([0x01, 0x02, 0x03]))
cs.value(1)               # غیرفعال کردن دستگاه

print("داده از طریق SPI ارسال شد")
ℹ️ اطلاعات

هر دستگاه SPI روی گذرگاه معمولاً یک پایهٔ CS اختصاصی دارد؛ برای افزودن چند دستگاه، هر کدام باید CS جداگانه داشته باشند.

نمونهٔ ارتباط از طریق گذرگاه سریع (برای تمرین SPI، دیاگرام Wokwi را با یک قطعهٔ SPI جایگزین کنید) باز کردن در Wokwi ↗

این یک شبیه‌سازی واقعی و قابل اجراست؛ روی دکمه پخش (▶) در Wokwi بزنید تا کد روی برد مجازی ESP32 اجرا شود.

🛠️ کارگاه عملی

کارگاه عملی: مستندات یک نمایشگر TFT مبتنی بر SPI (مثل ST7735) را بررسی کنید و پایه‌های آن را با نقشهٔ بالا مقایسه کنید.

❓ کدام سیم در SPI مسئول انتخاب دستگاه موردنظر روی گذرگاه است؟
طراحی و توسعه: امین شیخ نجدیglcd.ir