02166766927 -02166703652
info@atrinelec.com تهران پاساژ امجد طبقه1 واحد 16
دوره آموزشی میکرو کنترلرهای STM32 _ معرفی SPI (بخش اول)

دوره آموزشی میکرو کنترلرهای STM32 _ معرفی SPI (بخش اول)

2018-12-19 19:37:33

جلسه سی و دوم _ معرفی SPI و بررسی نحوه برقراری ارتباط با دستگاه های دیگر

در این جلسه قصد داریم تا به معرفی پروتکل ارتباطی SPI بپردازیم و با نحوه عملکرد آن آشنا شویم. SPI مخفف Serial Peripheral Interface می باشد که یک پروتکل ارتباطی سریال سنکرون می باشد و علت سنکرون بودن آن وجود یک منبع کلاک برای ایجاد همزمانی بین Master و Slave  و تبادل اطلاعات بین آنها می باشد.

از خصوصیات بارز این پروتکل می توان به سرعت بالای انتقال اطلاعات اشاره نمود. در یک ارتباط سریال ساده یک دستگاه به عنوان Master و یک دستگاه به عنوان Slave در نظر گرفته می شود و وظیفه تامین کلاک بر عهده Master می باشد. این ارتباط قادر است تا به صورت یک شبکه پیکربندی شود که در این حالت یک دستگاه به صورت Master و چند دستگاه در حالت Slave پیکربندی می شود.

در این حالت Master در هر لحظه قادر خواهد بود تا فقط با یک Slave ارتباط برقرار کند که به این منظور باید پایه SS مربوط به Slave مورد نظر را صفر نماید.

همانطور که در تصویر بالا مشخص است وظیفه تامین کلاک برعهده Master می باشد و هر دو طرف دارای یک شیفت رجیستر می باشند که اطلاعات بصورت بیت به بیت و با اعمال کلاک به شیفت رجیستر ها جابجا می شوند. پایه SS نیز وظیفه فعال سازی واحد Slave را دارد که در دستگاه Slave این پایه به زمین متصل می شود.

پایه های مورد استفاده در این ارتباط به شرح زیر می باشند:

پایه MOSI که مخفف Master Output Slave Input می باشد و به عنوان پایه خروجی دیتا در دستگاه Master و ورودی دیتا در دستگاه Slave می باشد.

پایه MISO که مخفف Master Input Slave Output می باشد و به عنوان پایه ورودی دیتا در دستگاه Master و خروجی دیتا در دستگاه Slave  می باشد.

پایه SCK که به عنوان منبع کلاک برای شیفت رجیسترها استفاده می شود و در دستگاه Master تولید می شود به عنوان خروجی می باشد و در دستگاه Slave بصورت ورودی منبع کلاک می باشد.

پایه SS که مخفف Slave Select می باشد و برای فعال کردن دستگاه Slave مورد نظر باید این پایه را GND  نمود.

در صورتیکه بخواهیم از چند Slave استفاده کنیم مدیریت آنها توسط دستگاه Master و با کنترل پایه SS مربوط به هر دستگاه Slave می باشد. در تصویر زیر می توانید نحوه شبکه کردن دستگاه ها را در پروتکل SPI مشاهده نمایید.

                                                                

ارتباط SPI به دو طریق می تواند اطلاعات را انتقال دهد که به روش MSB First و LSB First شناخته می شوند در این شیوه مشخص می شود که در ابتدا بیت کم ارزش (LSB) ارسال شود یا بیت پر ارزش (MSB) ارسال گردد.

در کل ارتباط SPI دارای 4 حالت کاری می باشد که این حالت ها توسط دو عامل CPOL که مخفف Clock Polarity و CPHA که مخفف Clock Phase می باشند تنظیم می شوند.

CPOL حالت بیکاری پایه SCK را مشخص می کند. اگر CPOL مقدار صفر باشد به این معنیست که زمانیکه اطلاعاتی ارسال یا دریافت نمی شود این پایه در حالت صفر منطقی قرار می گیرد و در صورت یک بودن، در زمان عدم ارسال و دریافت دیتا پایه SCK در حالت یک منطقی قرار می گیرد.

CPHA مشخص می کند که هر بیت دیتا در کدام لبه پالس نمونه برداری شود. اگر CPHA صفر باشد هر بیت اطلاعات در لبه اول کلاک نمونه برداری می شود و اگر یک باشد هر بیت اطلاعات در لبه دوم کلاک نمونه برداری می شود. در تصویر زیر می توانید نحوه نمونه برداری دیتا در حالت های مختلف کاری SPI را مشاهده نمایید.

                                                                                                                                                                   

اطلاعات تکمیلی در پست بعدی می باشد.

دلتون شاد و لبتون پر خنده

                                                                                                                                                                             محمد هادی دشتی

برای مشاهده آموزش جلسه اول(معرفی هسته آرم و میکروکنترلرهای 32 بیتی شرکت ST  ) کلیک کنید.

برای مشاهده آموزش جلسه دوم( معرفی نرم افزارهای مورد نیازجهت برنامه نویسی و پروگرام  ) کلیک کنید.

برای مشاهده آموزش جلسه سوم( نحوه دانلود آخرین نسخه از نرم افزار STM32CubeMX   ) کلیک کنید.

برای مشاهده آموزش جلسه چهارم(نحوه انجام تنظیمات در نرم افزار STM32CubeMX  ) کلیک کنید.

برای مشاهده آموزش جلسه پنجم(نحوه برنامه نویسی پروژه چشمک زن با نرم افزار Keil ) کلیک کنید.

برای مشاهده آموزش جلسه ششم(نحوه تولید کد و تنظیمات در محیط STM32CubeMX و برنامه نویسی در محیط Keil برای راه اندازی کلید) کلیک کنید.

برای مشاهده آموزش جلسه هفتم(معرفی نرم افزار STM32 Flash Loader Demonstrator و نحوه دانلود برنامه و پروگرام کردن میکرو) کلیک کنید.

برای مشاهده آموزش جلسه هشتم( نحوه راه اندازی ال سی دی کاراکتری-قسمت اول) کلیک کنید.

برای مشاهده آموزش جلسه نهم( نحوه راه اندازی ال سی دی کاراکتری و آشنایی با دستورات کاربردی کتابخانه ال سی دی کاراکتری ) کلیک کنید.

برای مشاهده آموزش جلسه دهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه یازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد ADC(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه دوازدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش اول)  ) کلیک کنید.

برای مشاهده آموزش جلسه سیزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد تایمر(بخش دوم)  ) کلیک کنید.

برای مشاهده آموزش جلسه چهاردهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی(جلسه اول) ) کلیک کنید.

برای مشاهده آموزش جلسه پانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی وقفه با تحریک خارجی (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه شانزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه هفدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی سون سگمنت(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه هجدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه نوزدهم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی کانتر(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیستم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد PWM(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و دوم (دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و سوم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و چهارم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد سریال(بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و پنجم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و ششم(دوره آموزشی میکرو کنترلرهای STM32 _ راه اندازی واحد DAC(بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هفت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش اول)) کلیک کنید.

برای مشاهده آموزش جلسه بیست و هشت(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش دوم)) کلیک کنید.

برای مشاهده آموزش جلسه بیست ونهم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش سوم)) کلیک کنید.

برای مشاهده آموزش جلسه سی ام(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی منابع کلاک (بخش چهارم)) کلیک کنید.

برای مشاهده آموزش جلسه سی و یکم(دوره آموزشی میکرو کنترلرهای STM32 _ معرفی System Tick Timer) کلیک کنید.

به سبد خرید اضافه شد.
سبد خرید
Item removed. بازگرداندن