آموزش رزبری پای رزبری پای میکروپایتون Micropython

آموزش میکروپایتون با رزبری پای پیکو بخش هشتم: پروتکل ارتباطی SPI

getting-started-with-raspberry-pi-pico-micropython-part-eight-spi-protocol-digispark
نوشته شده توسط پریسا پوربلورچیان

بخش هشتم مجموعه آموزش میکروپایتون با برد رزبری پای پیکو Pico با شناخت پروتکل SPI در پیکو، راه اندازی و روش فراخوانی آن ادامه می‌دهیم. پروتکل SPI در سنسورها، ماژول‌ها و کالاهای مختلفی کاربرد دارد. پیش از این سنسورهای مختلفی را با این پروتکل راه اندازی کرده‌ایم. در ادامه آموزش پروتکل SPI در پیکو با مرجع تخصصی رزبری پای به زبان فارسی، دیجی اسپارک همراه باشید.

پروتکل ارتباطی SPI در برد رزبری پای پیکو - دیجی اسپارک

 


پروتکل ارتباطی SPI


پروتکل ارتباطی SPI مخفف Serial Peripheral Interface در دهه ۱۹۸۰ میلادی معرفی شد! پروتکل ارتباطی SPI یک درگاه سریال ورودی و خروجی سنکرون (همزمان) با سرعت بالا است که اجازه میدهد داده ها به صورت سریال با طول قابل تنظیم (بین ۲ تا ۱۶ بیت) و همچنین سرعت انتقال قابل تنظیم به دستگاه وارد و خارج شود. در پروتکل SPI همانند پروتکل I2C، ارتباط بین دستگاه ها به صورت MASTER و SLAVE است. تفاوت عملکرد پروتکل ارتباطی در SPI این است که فقط یکی از دیوایس ها می‌تواند به عنوان MASTER با SLAVE ها ارتباط برقرار کند.

استفاده از پروتکل ارتباطی SPI - دیجی اسپارک

 

پایه های مورد نیاز برای ارتباط SPI به صورت زیر است:

  • SCLK: سیگنالی تحت عنوان کلاک باعث همزمانی انتقال داده بین Master و Slave می‌شود. به ازای هر کلاک یک بیت داده منتقل می‌شود. این سیگنال بر روی خط SCLK تولید می‌شود. پس سرعت انتقال داده در SPI به فرکانس سیگنال کلاک تولید شده بر روی این پایه بستگی دارد. سیگنال کلاک از سمت Master تولید می‌شود.
  • MOSI: در پروتکل SPI برای نوشتن داده روی Slave و خواندن داده از آن دو خط مجزا تعریف شده است. کلمه MOSI مخفف Master Output Slave Input است. Master با استفاده از این خط داده مورد نظر را به Slave انتقال می‌دهد.
  • MISO: کلمه MISO مخفف Master Input Slave Output است. این خط برای برای انتقال داده از سمت Slave یه سمت Master از خط MOSI استفاده می‌شود.
  • SS/CS: در حالت عادی زمانی که تنها یک Slave موجود است این خط بایستی داراری سطح ولتاژ پایین باشد. اما زمانی که تعداد Slave ها از یک عدد بیشتر شود.  این خط برای انتخاب Slave مورد نظر مورد استفاده قرار میگیرد. به تعداد Slave ها های موجود بایستی از هر کدام از Slave ها یک خط SS به Master متصل شود. برای انتخاب Slave مورد نظر بایستی سطح ولتاژ خط مربوط به Slave مورد نظر را پایین و سطح ولتاژ باقی خطوط SS بالا باشد.

ماژول SPI در رزبری پای پیکو به شما امکان ارتباط با دیوایس های SPI را فراهم می‌کند. پروتکل ارتباطی SPI از معماری MASTER و SLAVE بهره برده و برای ارتباط به سه سیگنال و همان ارتباط سه سیمه نیاز داریم.

  • SCLK : Serial Clock (output from master)
  • MOSI : Master Output, Slave Input (output from master)
  • MISO : Master Input, Slave Output (output from slave)

 


پایه های پروتکل SPI در پیکو


پایه های SPI رزبری پای پیکو pico - دیجی اسپارک

در پین اوت بالا پایه هایی که با رنگ سبز و فلش سبز مشخص شده است، پایه های پروتکل SPI در پیکو هستند که مجاز به استفاده از آن ها هستیم.

 


Software SPI bus


Software SPI بر روی تمامی پین ها کار می‌کند و از کلاس machine.SoftSPI در دسترس و قابل استفاده است. روش فراخوانی به صورت زیر است.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 


Hardware SPI bus


تراشه RP2040 دارای دو باس سخت افزاری SPI است که از کلاس machine.SPI قابل دسترس است.

 

 


تست SPI با رزبری پای پیکو


برای تست پروتکل SPI در پیکو نیاز به یک سنسور با پشتیبانی از پروتکل SPI داریم. در این مثال از سنسور ADXL345 استفاده شده است که سنسور شتاب سنج سه محوره در محورهای x,y,z است. پایه های سنسور به صورت زیر است.

  • GND
  • VCC
  • CS
  • INT1
  • INT2
  • SDO
  • SDA
  • SCL

تست SPI با رزبری پای پیکو Pico میکروپایتون - دیجی اسپارک

 

در آموزش راه اندازی پروتکل SPI در پیکو اتصال سنسور به رزبری پای پیکو به صورت زیر است:

پایه های اتصال ADXL345 به پیکو با میکروپایتون - دیجی اسپارک

 

کد میکروپایتون تست پروتکل SPI با رزبری پای پیکو و سنسور ADXL345 به صورت زیر است. از نرم افزار THONNY PYTHON برای تست استفاده کنید.

 

برنامه را RUN کنید.

برنامه نویسی میکروپایتون سنسور ADXL345 رزبری پای پیکو - دیجی اسپارک

 

پروتکل SPI با برد رزبری پای پیکو سنسور ADXL345 - دیجی اسپارک

 


وسایل مورد نیاز


رزبری پای پیکو RASPBERRY PI PICO

سنسور شتاب سنج ADXL345

برد بورد

کابل فلت

راه اندازی سنسور ADXL345 با رزبری پای پیکو - دیجی اسپارک

 


جمع بندی لیدی پای


انتخاب های محدودی برای تست پروتکل SPI داریم. سنسورهایی که از این پروتکل SPI برای ارسال و دریافت دیتا استفاده می‌کنند مانند سنسورهای قطب نما، شتاب سنج از سری قطعات دیگر کاربردی تر هستند که در این آموزش فقط یک مثال برای نحوه ی تست و اجرا نوشته شده است. میکروپایتون از پروتکل ارتباطی SPI به صورت نرم افزاری و سخت افزاری استفاده میکند که در این آموزش تمامی کلاس ها آموزش داده شده است. در صورت نیاز به اجرای پروژه هایی با رزبری پای پیکو و استفاده از SPI می‌بایست از این دستورات و توابع و کلاس ها استفاده کنید.

 

چنانچه در مراحل راه اندازی برد رزبری پای پیکو Picro و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه