سیستم حفاظتی، امنیتی و رفاهی
درب های اتوماتیک
الکترونیک
سیستم های مخابراتی
سریال SPI و درگاه آن یکی از قطعات الکترونیکی در طراحی برد است که در دوره آموزش طراحی میکروکنترلرهای AVR به طور کامل بررسی می شود. SPI یک درگاه ارتباطی متداول است که توسط بسیاری از دستگاههای مختلف مورد استفاده قرار میگیرد. به عنوان مثال، ماژولهای کارت حافظه، ماژولهای کارت خوان RFID و فرستنده و گیرندههای بی سیم 2.4 گیگاهرتز همه از SPI برای برقراری ارتباط با میکروکنترلرها استفاده میکنند.
یکی از مزایای منحصر به فرد SPI این است که دادهها بدون وقفه قابل انتقال هستند. هر تعداد بیت را میتوان در یک جریان مداوم ارسال یا دریافت کرد. در درگاه سریال I2C و UART، دادهها محدود به تعداد مشخصی از بیتها به صورت بسته ارسال میشوند. شرایط شروع و متوقف کردن، آغاز و پایان هر بسته را تعریف میکند، بنابراین دادهها هنگام انتقال قطع میشوند.
دستگاههای مرتبط شده از طریق درگاه سریال SPI رابطه Slave-Master با هم دارند. Master دستگاه کنترل کننده معمولاً میکروکنترلر است، در حالی که Slave (معمولا یک سنسور ، صفحه نمایش یا تراشه حافظه) از Master دستور میگیرد. در ساده ترین پیکربندی SPI یک سیستم مستقل و یک Slave واحد است، اما یک Master میتواند بیش از یک Slave را کنترل کند (بیشتر در این مورد در زیر).
سیگنال کلاک خروجی بیتهای داده را از Master با نمونه برداری از بیتهای Slave همزمان میکند. یک بیت داده در هر چرخه کلاک منتقل میشود، بنابراین سرعت انتقال دادهها با فرکانس سیگنال کلاک مشخص میشود. ارتباطات SPI همیشه از طرف Master آغاز میشود زیرا Master پیکربندی کرده و سیگنال کلاک را تولید میکند.
هر درگاه ارتباطی که در آن دستگاهها سیگنال کلاک مشترک دارند، به عنوان همزمان شناخته میشوند. SPI یک درگاه ارتباطی همزمان است. همچنین روشهای ناهمزمان وجود دارد که از سیگنال کلاک استفاده نمیکنند. به عنوان مثال، در ارتباطات UART، هر دو طرف بر روی یک نرخ باود از پیش پیکربندی شده، تنظیم شدهاند که سرعت و زمان انتقال داده را دیکته میکند.
سیگنال کلاک در SPI با استفاده از خواص قطب و فاز کلاک قابل تغییر است. این دو خاصیت با هم کار میکنند تا زمان مشخص شدن بیتها و زمان نمونه برداری آنها مشخص شود. قطب کلاک را میتوان توسط Master تنظیم کرد تا بیتها بتوانند از آن خارج شوند و بر روی لبه بالا یا پایین چرخه کلاک نمونه برداری شوند. فاز کلاک را میتوان تنظیم کرد که خروجی و نمونه برداری در لبه اول یا لبه دوم چرخه کلاک صرف نظر از افزایش یا سقوط صورت گیرد.
Master میتواند با تنظیم خط CS / SS Slave در سطح ولتاژ پایین، انتخاب کند که با کدام یک از Slave ها صحبت کند. در حالت آماده به کار، بدون انتقال، خط انتخاب Slave در سطح ولتاژ بالا نگه داشته میشود. پین های چند CS / SS ممکن است در این Master موجود باشد که به شما امکان میدهد، چندین Slave بطور موازی سیم کشی شوند. اگر فقط یک پین CS / SS وجود داشته باشد، چندین Slave را میتوان با daisy-chaining به Master وصل کرد.
SPI را میتوان برای کار با یک Master واحد و یک Slave واحد تنظیم کرد، و میتوان آن را با چند Slave تنظیم کرد که توسط یک Master واحد کنترل میشوند. دو روش برای اتصال چندین Slave به Master وجود دارد. اگر Master دارای پینهای چند گانه انتخابی باشد، Slave را میتوانید به صورت موازی مانند این سیم کشی کنید:
اگر فقط یک پین انتخاب Slave در دسترس است، Slave میتوانند از این رو با daisy-chaining باشند:
Master دادهها را بیت بیت و بصورت سریال از طریق خط MOSI میفرستد. Slave اطلاعات ارسال شده از Master را در پین MOSI دریافت میکند. داده های ارسالی از Master به Slave معمولا ابتدا با مهمترین بیت ارسال میشوند.
Slave همچنین میتواند دادهها را از طریق خط MISO به صورت سریال به Master برگرداند. دادههای ارسال شده از Slave به Master معمولا ابتدا با حداقل بیت قابل توجهی ارسال میشوند.
1-خروجی Master سیگنال ساعت
2-سوئیچ Master پین SS/CS به حالت کم ولتاژ که Slave را فعال میکند:
3- Master هر بیت از دادهها در هر زمان به Slave در امتداد خط MOSI میفرستد. Slave بیتهای دریافتی را میخواند:
4-در صورت نیاز به پاسخ، Slave هر بیت از دادهها را در هر زمان به Master در امتداد خط MISO باز میگرداند. Master بیتهای دریافت شده را میخواند:
منبع : circuitbasics
این مقاله از سری مقالات ساخت الکترونیک می باشد جهت کسب اطلاعات بیشتر درباره میکروکنترلرهای AVR توصیه می کنیم در دوره های آموزش AVR ثبت نام کنید.
دیدگاهتان را بنویسید