متوسط⏱ 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 جداگانه داشته باشند.
🛠️ کارگاه عملی
کارگاه عملی: مستندات یک نمایشگر TFT مبتنی بر SPI (مثل ST7735) را بررسی کنید و پایههای آن را با نقشهٔ بالا مقایسه کنید.
❓ کدام سیم در SPI مسئول انتخاب دستگاه موردنظر روی گذرگاه است؟
→ درس قبلی: درس ۹: پروتکل I2C و نمایشگر OLED
شروع فصل بعد: فصل ۵: شبکه و اینترنت اشیا: درس ۱۱: اتصال ESP32 به شبکه Wi-Fi ←
طراحی و توسعه: امین شیخ نجدی — glcd.ir