فهرست مطالب:

مبانی پروتکل ارتباط SPI: 13 مرحله
مبانی پروتکل ارتباط SPI: 13 مرحله

تصویری: مبانی پروتکل ارتباط SPI: 13 مرحله

تصویری: مبانی پروتکل ارتباط SPI: 13 مرحله
تصویری: معرفی پرتوکل I2C وSPI در تحلیل مدارات و نقشه خوانی موبایل (عیب یابی حرفه ای 2024, جولای
Anonim
مبانی پروتکل ارتباط SPI
مبانی پروتکل ارتباط SPI

وقتی میکروکنترلر را به سنسور ، صفحه نمایش یا ماژول دیگر وصل می کنید ، آیا تا به حال به نحوه صحبت این دو دستگاه با یکدیگر فکر کرده اید؟ دقیقا چه می گویند؟ چگونه می توانند یکدیگر را درک کنند؟

ارتباط بین دستگاه های الکترونیکی مانند ارتباط بین انسان ها است. هر دو طرف باید به یک زبان صحبت کنند. در الکترونیک ، به این زبانها پروتکل های ارتباطی گفته می شود. خوشبختانه برای ما ، تنها چند پروتکل ارتباطی وجود دارد که هنگام ساخت بیشتر پروژه های الکترونیکی DIY باید بدانیم. در این سری مقالات ، ما اصول اولیه سه پروتکل رایج را مورد بحث قرار می دهیم: رابط جانبی سریال (SPI) ، مدار یکپارچه (I2C) ، و ارتباطات گیرنده/فرستنده ناهمزمان جهانی (UART). ابتدا ، ما با برخی مفاهیم اساسی در مورد ارتباطات الکترونیکی شروع می کنیم ، سپس جزئیات نحوه عملکرد SPI را توضیح می دهیم. در مقاله بعدی ، ما در مورد ارتباطات مبتنی بر UART بحث می کنیم و در مقاله سوم ، به I2C می پردازیم. SPI ، I2C و UART بسیار کندتر از پروتکل هایی مانند USB ، اترنت ، بلوتوث و WiFi هستند ، اما بسیار ساده تر هستند و از سخت افزار و منابع سیستم کمتری استفاده می کنند. SPI ، I2C و UART برای ارتباط بین میکروکنترلرها و بین میکروکنترلرها و حسگرها که در آن حجم زیادی از داده ها با سرعت زیاد نیاز به انتقال ندارند ، ایده آل هستند.

مرحله 1: سریال مقابل ارتباط موازی

سریال در مقابل ارتباط موازی
سریال در مقابل ارتباط موازی

دستگاه های الکترونیکی با ارسال تکه های داده از طریق سیم هایی که بین دستگاه ها متصل هستند ، با یکدیگر صحبت می کنند. یک بیت مانند یک حرف در یک کلمه است ، مگر اینکه به جای 26 حرف (در الفبای انگلیسی) ، یک بیت دوتایی است و فقط می تواند 1 یا 0 باشد. با تغییر سریع ولتاژ ، بیت ها از یک دستگاه به دستگاه دیگر منتقل می شوند. در سیستم 5 ولت کار می کند ، یک بیت 0 به عنوان یک پالس کوتاه 0 ولت و یک بیت با یک پالس کوتاه 5 ولت ارتباط برقرار می شود.

بیت داده ها را می توان به صورت موازی یا سری منتقل کرد. در ارتباط موازی ، بیت های داده همه به طور همزمان ارسال می شوند ، هر کدام از طریق یک سیم جداگانه. نمودار زیر انتقال موازی حرف "C" را به صورت باینری (01000011) نشان می دهد:

گام 2:

در ارتباط سریال ، بیت ها یکی یکی از طریق یک سیم ارسال می شوند. نمودار زیر انتقال سریال حرف "C" را به صورت باینری (01000011) نشان می دهد:

مرحله 3:

تصویر
تصویر

مرحله 4: مقدمه ای بر ارتباط SPI

مقدمه ای بر ارتباط SPI
مقدمه ای بر ارتباط SPI

SPI یک پروتکل ارتباطی رایج است که توسط بسیاری از دستگاه های مختلف استفاده می شود. به عنوان مثال ، ماژول های کارت SD ، ماژول های کارت خوان RFID و فرستنده/گیرنده های بی سیم 2.4 گیگاهرتز همه از SPI برای ارتباط با میکروکنترلرها استفاده می کنند.

یکی از مزایای منحصر به فرد SPI این واقعیت است که می توان داده ها را بدون وقفه منتقل کرد. هر تعداد بیت را می توان در یک جریان پیوسته ارسال یا دریافت کرد. با I2C و UART ، داده ها در بسته ها ارسال می شوند که محدود به تعداد خاصی از بیت است. شرایط شروع و توقف شروع و پایان هر بسته را مشخص می کند ، بنابراین داده ها در حین انتقال قطع می شوند. دستگاههایی که از طریق SPI ارتباط برقرار می کنند در یک رابطه اصلی و برده قرار دارند. Master دستگاه کنترل کننده (معمولاً میکروکنترلر) است ، در حالی که slave (معمولاً سنسور ، نمایشگر یا تراشه حافظه) از استاد دستور می گیرد. ساده ترین پیکربندی SPI یک سیستم واحد مستقل ، تنها برده است ، اما یک استاد می تواند بیش از یک برده را کنترل کند (بیشتر در این مورد در زیر).

مرحله 5:

تصویر
تصویر

مرحله 6:

MOSI (Master Output/Slave Input) - خطی که استاد برای ارسال داده به برده ارسال می کند.

MISO (Master Input/Slave Output) - خطی است که برده برای ارسال داده به اصلی ارسال می کند.

SCLK (ساعت) - خط سیگنال ساعت.

SS/CS (Slave Select/Chip Select) - خطی که استاد برای انتخاب داده به کدام برده ارسال کند

مرحله 7:

تصویر
تصویر

*در عمل ، تعداد برده ها با ظرفیت بار سیستم محدود می شود ، که این امر توانایی جابجایی دقیق سطوح ولتاژ توسط استاد را کاهش می دهد.

مرحله 8: چگونه SPI کار می کند

ساعت

سیگنال ساعت خروجی بیت های داده از master را با نمونه برداری از بیت ها توسط slave همزمان می کند. یک بیت داده در هر چرخه ساعت منتقل می شود ، بنابراین سرعت انتقال داده با فرکانس سیگنال ساعت تعیین می شود. ارتباط SPI همیشه توسط master آغاز می شود زیرا master پیکربندی کرده و سیگنال ساعت را تولید می کند.

هرگونه پروتکل ارتباطی که در آن دستگاهها سیگنال ساعت را به اشتراک می گذارند ، همزمان نامیده می شود. SPI یک پروتکل ارتباط همزمان است. روشهای ناهمزمانی نیز وجود دارد که از سیگنال ساعت استفاده نمی کند. به عنوان مثال ، در ارتباطات UART ، هر دو طرف روی نرخ baud از پیش تنظیم شده تنظیم می شوند که سرعت و زمان انتقال داده را تعیین می کند.

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

SLAVE SELECT

با تنظیم خط CS/SS برده در سطح ولتاژ پایین ، استاد می تواند انتخاب کند که با کدام برده صحبت کند. در حالت بیکار و بدون انتقال ، خط انتخاب برده در سطح ولتاژ بالا نگه داشته می شود. ممکن است چندین پین CS/SS بر روی master موجود باشد ، که اجازه می دهد چندین برده به صورت موازی سیم کشی شوند. اگر فقط یک پین CS/SS وجود داشته باشد ، چندین برده را می توان با زنجیر دیزی به استاد وصل کرد.

SPI MULTIPLE SLAVES

می تواند راه اندازی شود تا با یک استاد و یک برده واحد کار کند ، و می تواند با چندین برده که توسط یک استاد کنترل می شوند تنظیم شود. دو راه برای اتصال چندین برده به استاد وجود دارد. اگر master دارای چندین پین انتخاب slave است ، برده ها را می توان به صورت موازی به شکل زیر سیم کشی کرد:

مرحله 9:

تصویر
تصویر

مرحله 10:

MOSI و MISO

Master داده ها را بطور بیت به بیت ، به صورت سریال از طریق خط MOSI به slave ارسال می کند. برده داده های ارسال شده از master را در پین MOSI دریافت می کند. معمولاً داده هایی که از master به slave ارسال می شود ابتدا با مهمترین بیت ارسال می شود. برده همچنین می تواند داده ها را از طریق خط MISO به صورت سریال به استاد ارسال کند. معمولاً داده هایی که از برده به master ارسال می شود ابتدا با کمترین مقدار قابل توجه ارسال می شود. مراحل انتقال داده های SPI 1. استاد خروجی سیگنال ساعت را می دهد:

مرحله 11:

تصویر
تصویر

اگر فقط یک پین منتخب برده در دسترس باشد ، برده ها را می توان به این شکل زنجیر کرد:

مرحله 12:

تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر

MOSI و MISO

Master داده ها را بطور بیت به بیت ، به صورت سریال از طریق خط MOSI به slave ارسال می کند. برده داده های ارسال شده از master را در پین MOSI دریافت می کند. معمولاً داده هایی که از master به slave ارسال می شود ابتدا با مهمترین بیت ارسال می شود.

برده همچنین می تواند داده ها را از طریق خط MISO به صورت سریال به استاد ارسال کند. معمولاً داده هایی که از برده به master ارسال می شود ابتدا با کمترین مقدار قابل توجه ارسال می شود.

مراحل انتقال داده های SPI

*توجه داشته باشید تصاویر فهرست شده Oboe شما به راحتی می توانید تشخیص دهید

1. استاد سیگنال ساعت را خروجی می دهد:

2. Master پین SS/CS را به حالت ولتاژ پایین تغییر می دهد که برده را فعال می کند:

3. استاد داده ها را یک به یک به بنده در طول خط MOSI ارسال می کند. برده هنگام دریافت بیت ها را می خواند:

4- در صورت نیاز به پاسخ ، slave داده ها را یک به یک به استاد در امتداد خط MISO باز می گرداند. استاد هنگام دریافت بیت ها را می خواند:

مرحله 13: مزایا و معایب SPI

استفاده از SPI مزایا و معایبی دارد و اگر بین پروتکل های ارتباطی مختلف انتخاب شد ، باید بدانید که چه زمانی از SPI با توجه به الزامات پروژه خود استفاده کنید:

مزایای

بدون شروع و توقف بیت ، بنابراین می توان داده ها را بدون وقفه جریان داد بدون هیچگونه سیستم پیچیده آدرس دهی مانند I2C سرعت انتقال داده بالاتر از I2C (تقریباً دو برابر سریعتر) خطوط جداگانه MISO و MOSI ، بنابراین داده ها می توانند همزمان ارسال و دریافت شوند زمان

معایب

از چهار سیم استفاده می کند (I2C و UART از دو استفاده می کنند) هیچ تصدیقی مبنی بر اینکه داده ها با موفقیت دریافت شده اند (I2C این را دارد) بدون هیچ گونه اشکال در بررسی خطا مانند بیت برابری در UART فقط به یک استاد واحد اجازه می دهد امیدوارم این مقاله درک بهتری به شما داده باشد از SPI برای آشنایی با ارتباطات UART یا قسمت سوم که در مورد پروتکل I2C بحث می کنیم ، قسمت دوم این سری را ادامه دهید.

اگر س questionsالی دارید ، می توانید آن را در بخش نظرات بپرسید ، ما اینجا هستیم تا به شما کمک کنیم. و حتما دنبال کنید

با احترام: M. Junaid

توصیه شده: