تعریف پروتکل spi
پروتکل چیست؟
آیا تا به حال فکر کرده اید هنگامی که یک میکروکنترلر را به سنسور، صفحه نمایش یا دیگر ماژول وصل می کنید، چگونه دو دستگاه با یکدیگر ارتباط برقرار میکنند؟ آنها دقیقا چه چه چیزی را انتقال میدهند؟
ارتباط بین دستگاه های الکترونیکی مانند ارتباط بین انسان ها است. هر دو طرف باید زبان یکسان صحبت کنند. در الکترونیک، این زبان ها پروتکل های ارتباطی نامیده می شوند. خوشبختانه برای استفاده آسان و کاربردی از دنیای الکترونیک، پروتکل های از قبل تعریف و تدوین شده اند . در این سری مقالات، ما مبانی سه پروتکل رایج را مطرح خواهیم کرد: رابط (SPI)، مدار (I2C) و ارتباطی (UART) انجام می شود. ابتدا، ما با برخی از مفاهیم پایه در ارتباطات الکترونیکی شروع می کنیم، سپس با جزئیات توضیح می دهیم که SPI چگونه کار می کند. در مقاله بعدی، ما درباره ارتباط UART بحث خواهیم کرد، و در مقاله سوم، ما به I2C خواهیم پرداخت. SPI، I2C و UART نسبت به پروتکل های مانند USB، Ethernet، بلوتوث و WiFi بسیار ساده تر هستند اما از سخت افزار و منابع سیستم استفاده می کنند. این پروتکل ها برای اتصال بین میکروکنترلرها و سنسورها، ایده آل هستند که در آن مقدارحجیمی از اطلاعات با سرعتی بالا انتقال داده نمیشوند
ارتباطات سریال و موازی
دستگاه های الکترونیکی با فرستادن بیت داده ها از طریق سیم هایی که از لحاظ فیزیکی بین دستگاه ها متصل هستند با یکدیگر ارتباط برقرار میکنند می کنند. هر بیت مانند یک حرف در یک کلمه است، برای مثال به جای ۳۲ حرف (در الفبای فارسی)، بیت های باینری باشد که تنها می تواند مقداری ۱ یا ۰ داشته باشند. بیت ها از یک میکروکنترلر به دیگری، با تغییرات سریع در ولتاژ منتقل می شوند. در یک سیستم که با ولتاژ ۵ ولت عمل می کند، بیت ۰ به عنوان یک پالس کوتاه ۰ ولت و بیت ۱ با یک پالس کوتاه ۵ ولت ارتباط برقرار می شود. بیت های داده می توانند بصورت موازی یا سریال منتقل شوند. در ارتباط موازی، بیت داده ها همه در همان زمان، هر یک از طریق سیم جداگانه فرستاده می شود
معرفی پروتکل SPI
پروتکل spi یک پروتکل ارتباطی مشترک است که توسط بسیاری از دستگاه های مختلف استفاده می شود. به عنوان مثال، ماژول های کارت SD، ماژول های کارت خوان RFID و فرستنده / گیرنده های بی سیم ۲.۴ گیگاهرتز از SPI برای ارتباط با میکروکنترلرها استفاده می کنند.
یکی از مزایای منحصر به فرد SPI این واقعیت است که داده ها بدون وقفه منتقل می شوند. هر تعداد بیت را می توان در جریان پیوسته ارسال یا دریافت کرد. با I2C و UART، داده ها در بسته ها ارسال می شوند و محدود به تعداد مشخصی از بیت ها هستند که هر بسته دارای یک بیت شروع و یک بیت پایان میباشد. بنابراین داده ها در هنگام انتقال متوقف می شوند.
دستگاه هایی که از طریق SPI ارتباط برقرار می کنند، در یک رابطه سرپرست قرار دارند. فرستنده دستگاه کنترل معمولا یک میکروکنترلر است، در حالی که گیرنده (معمولا یک سنسور، صفحه نمایش یا تراشه حافظه) دستورالعمل را از استاد دریافت می کند. ساده ترین پیکربندی SPI یک سیستم دارای فرستنده و گیرنده میباشد که هر فرستنده میتواند چند گیرنده را کنترل کند. به فرستنده ها در اصطلاح استاد و به گیرنده ها برده میگویند.
انتقال داده از فرستنده به گیرنده
فرستنده اطلاعات را به صورت بیت به بیت و سریال و از طریق خط MOSI ارسال میکند. گیرنده اطلاعاتی را که از استاد در پین MOSI فرستاده شده است دریافت می کند. برده همچنین می تواند اطلاعات را از طریق خط MISO در سریال ارسال کند. داده های فرستاده شده از برده به استاد معمولا با کمترین مقدار بیت اول ارسال می شود
.
یک فرستنده و چند گیرنده
spi را می توان برای کار با یک فرستنده اطلاعات و یک گیرنده استفاده کرد، و می توان آن را با برد های چندگانه کنترل شده توسط یک فرستنده تنظیم کرد. دو راه برای اتصال گیرنده ها چند به فرستنده وجود دارد. اگر فرستنده دارای پینهای انتخابی چندگانه است، بردگان میتوانند بصورت موازی به صورت زیر سیم کشی شوند
همه چیز درباره فلزیاب دیجی کالا