- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
پروتکل ارتباطی SPI چیست؟ گذرگاه ارتباط جانبی سریال
گذرگاه ارتباط جانبی سریال (به انگلیسی Serial Peripheral Interface) که به اختصار SPI گفته میشود، یک پیوند داده سریال هماهنگ است که توسط شرکت موتورولا نامگذاری شده و در حالت کاملاً دوطرفه فعالیت میکند. پروتکل ارتباطی SPI در فاصلههای کوتاه و دارای یک کاربر مانند سامانههای مخفی، حسگرها و کارتهای SD کاربرد دارد. در این نوشته از بلاگ بهنام رباتیک قصد داریم به تفصیل، به سؤال پروتکل SPI چیست پاسخ دهیم؛ پس با ما همراه باشید.
آیا تا به حال فکر کردهاید هنگامی که یک میکروکنترلر را به سنسور، صفحه نمایش یا دیگر ماژولها وصل میکنید، چگونه دو دستگاه با یکدیگر ارتباط برقرار میکنند؟ و یا آنها دقیقاً چه چیزی را انتقال میدهند؟
ارتباط بین دستگاههای الکترونیکی مانند ارتباط بین انسانهاست. هر دو طرف باید با یک زبان یکسان صحبت کنند. در الکترونیک، این زبانها پروتکل ارتباطی نامیده میشوند.
خوشبختانه برای استفاده آسان و کاربردی از دنیای الکترونیک، پروتکلهای ارتباطی از قبل تعریف و تدوین شدهاند که مهمترین و مشهورترین آنها عبارتند از ارتباط سریال SPI، رابط I2C و پروتکل UART.
البته ابتدا، ما با برخی از مفاهیم پایه در ارتباطات الکترونیکی شروع میکنیم و سپس با جزئیات توضیح میدهیم که پروتکل SPI چگونه کار میکند.
SPI، I2C و UART نسبت به پروتکلهایی مانند USB، Ethernet، بلوتوث و Wi-Fi بسیار سادهتر هستند اما از سختافزار و منابع سیستم استفاده میکنند. این پروتکلها برای اتصال بین میکروکنترلرها و سنسورها، ایدهآل هستند زیرا در آن مقدار زیادی از اطلاعات با سرعت بالا انتقال داده نمیشوند.
ارتباطهای سریال و موازی
دستگاههای الکترونیکی با فرستادن بیت دادهها از طریق سیمهایی که از لحاظ فیزیکی بین دستگاهها متصل هستند، با یکدیگر ارتباط برقرار میکنند. هر بیت مانند یک حرف در یک کلمه است. برای مثال، به جای 32 حرف در الفبای فارسی، بیتهای باینری میتوانند مقدار 1 یا 0 داشته باشند. بیتها با تغییرات سریع در ولتاژ از یک میکروکنترلر به یک میکروکنترلر دیگر منتقل میشوند. در یک سیستم که با ولتاژ 5 ولت عمل میکند، بیت 0 به عنوان یک پالس کوتاه 0 ولت و بیت 1 با یک پالس کوتاه 5 ولت ارتباط برقرار میکند.
بیتهای دادهها میتوانند به صورت موازی یا سریال منتقل شوند. در ارتباط موازی، بیت دادهها همه در همان زمان و هر یک از طریق سیم جداگانه فرستاده خواهند شد. در ارتباطات سریال، بیتها یک به یک از طریق سیم تک ارسال میشوند.
معرفی پروتکل ارتباط سریال SPI
پروتکل SPI یک پروتکل ارتباطی مشترک است که توسط بسیاری از دستگاههای مختلف استفاده میشود. به عنوان مثال، ماژولهای کارت SD، ماژولهای کارتخوان RFID و فرستنده یا گیرندههای بیسیم 2.4 گیگاهرتز از پروتکل SPI برای ارتباط با میکروکنترلرها استفاده میکنند.
یکی از مزایای منحصر به فرد پروتکل SPI این است که دادهها بدون وقفه منتقل میشوند. هر تعداد بیت را میتوان در جریان پیوسته ارسال یا دریافت کرد. با I2C و UART، دادهها در بستهها ارسال میشوند و محدود به تعداد مشخصی از بیتها هستند که هر بسته دارای یک بیت شروع و یک بیت پایان میباشد. بنابراین دادهها در هنگام انتقال متوقف میشوند.
دستگاههایی که از طریق SPI ارتباط برقرار میکنند، در یک رابطه سرپرستی قرار دارند. فرستنده دستگاه کنترل معمولاً یک میکروکنترلر است در حالی که گیرنده (معمولاً یک سنسور، صفحه نمایش یا تراشه حافظه) دستورالعمل را از مستر دریافت میکند.
سادهترین پیکربندی پروتکل SPI یک سیستم دارای فرستنده و گیرنده میباشد که هر فرستنده میتواند چند گیرنده را کنترل کند. به فرستندهها در اصطلاح مستر (Master) و به گیرندهها اسلیو (Slave) میگویند.
توضیحات پایهها در پروتکل ارتباطی SPI
MOSI (مخفف Master Output/Slave Input) خطی برای ارسال دیتا از فرستنده به گیرنده
MISO (مخفف Master Input/Slave Output) خطی برای ارسال دیتا از گیرنده به فرستنده
SCLK خطی برای کلاک سیگنال
SS و CS (Slave Select و Chip Select) برای انتخاب
انتقال داده از فرستنده به گیرنده
در پروتکل SPI، فرستنده اطلاعات را به صورت بیت به بیت و از طریق خط MOSI ارسال میکند. گیرنده اطلاعاتی را که از مستر در پین MOSI فرستاده شده دریافت مینماید. اسلیو همچنین، قادرست تا اطلاعات را از طریق خط MISO در سریال ارسال کند. دادههای فرستاده شده از اسلیو به مستر معمولاً با کمترین مقدار بیت اول ارسال میشوند.
یک فرستنده و چند گیرنده
پروتکل SPI را میتوان برای کار با یک فرستنده اطلاعات و یک گیرنده استفاده کرد. به علاوه، میتوان آن را با بردهای چندگانه کنترل شده توسط یک فرستنده تنظیم نمود. دو راه برای اتصال گیرندهها به فرستنده وجود دارد. اگر فرستنده دارای پینهای انتخابی چندگانه است، اسلیوها میتوانند به صورت موازی سیمکشی شوند.
مزایای پروتکل SPI
بدون شروع و متوقف کردن بیت، دادهها را میتوان بدون وقفه به طور مداوم جریان داد.
هیچ سیستم پیچیده اداری اسلیو مانند I2C وجود ندارد.
نرخ انتقال داده بالاتر از I2C (تقریباً دو برابر سریعتر)
امکان ارسال و دریافت همزمان دادهها
پروتکل چیست؟
پروتکل به صورت عامیانه به معنای آداب و رسوم است. اصولاً هنگامی که بحث پروتکل مطرح میشود، صحبت از ارتباط بین یک هویت و هویت دیگری است. از این رو، دنیای دیجیتال پر از سختافزار و نرمافزارهای مختلف میباشد که هر کدام یک هویتی برای خود دارند و برای ارتباط با یکدیگر نیاز به یک پروتکل یا آداب و رسوم دارند.
ارتباط سریال و موازی چیست؟
دستگاههای الکترونیکی برای برقراری ارتباط با یکدیگر، از پالسهای صفر و یک استفاده میکنند. برای فرستادن این پالسها دو روش وجود دارد؛ یا اینکه همه صفر و یکها را همزمان به صورت موازی از یک دستگاه به دستگاه دیگر بفرستیم و یا اینکه آنها را به صورت سریالی و پشت سر هم از یک دستگاه به دستگاه دیگر ارسال کنیم.