نیرانما

وبینار آشنایی با پروتکل های ارتباطی

در بسیاری از پروژه ها در طول طراحی محصولات نیاز داریم تا سخت افزار بتواند با دنیای پیرامون ارتباط برقرار کند. به عنوان مثال در حال انجام پروژه ای هستیم تا بوسیله آن بتوانیم شدت نور محیط را تنظیم کنیم، برای انجام چنین پروژه ای نیاز هست تا سخت افزار با محیط پیرامون هم در ارتباط باشد. همانطور که میدانید پایه ای ترین راه ارتباطی میکروکنترلر با سایر دستگاه ها استفاده از I/O ها می باشد. در I/O ها از استاندارد TTL برای مشخص کردن سطح ولتاژ پایه ها استفاده می شود.

در پروژه هایی که نیاز داریم تا از دیتاهای حجیم تر و دقیق تری استفاده کنیم، از پروتکل های ارتباطی استفاده میکنیم. لازم به ذکر هست که تمامی پروتکل های ارتباطی بر پایه ی I/O  ها ساخته شده است.

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

   ۱.پروتکل های ارتباطی افزاری (Interface):

  • UART
  • SPI
  • I2C

    ۲. پروتکل های نرم افزاری:

  • IP
  • TCP
  • UDP

در این وبینار مهندس میرقاسمی پروتکل های ارتباطی را بر اساس ویژگی هایی که دارند در شش دسته تقسیم بندی کرده و به بیان ویژگی ها و کاربردهای هر یک می پردازند.

  1. نوع ارتباط پروتکل ها ۲. نوعم داده در پروتکل ها ۳. نوع کانل های ارتباطی در پروتکل ها ۴. نوعم انتقال پروتکل ها ۵. نوع همزمانی پروتکل ها ۶. سطح ولتاژ پروتکل ها

۱. دسته بندی پروتکل ها از لحاظ نوع ارتباط آنها: 

پایه ای ترین نوع ارتباط بصورت موازی و سریال می باشد. در ارتباط موازی داده ای که قصد انتقال آن را داریم در مسیر خطوط موازی برهم انتقال خواهیم داد. به عنوان مثال اگر بخواهیم ۱ بایت داده معادل ۸ بیت دیتا را انتقال دهیم در ارتباط موارزی، ۸ بیت داده را بصورت همزمان با یک کلاک انتقال میدهیم ولی در ارتباط سریال ۸ بیت دیتا را در یک خط سریال پشت سرهم ارسال میکنیم. کاملا مشخص هست که ارتباط Parallel سرعت بیشتری دارد اما باید به مزایا و معایت هم توجه کرد. برای مثال در ارتباط Parallel می بایست از ۸ سیم برای انتقال داده استفاده کرد که این روش برای فواصل طولانی توصیه نمی شود. همچنین این نوع ارتباط به علت تعداد سیم بالا نویز پذیری بالایی نسبت به سریال دارد.

کاربردها:

از ارتباط Parallel  در LCD ، CPU Bus ،…  استفاده میشود.

از ارتباط serial در انواع پروتکل های ارتباطی مانند Lan، Can، USB، SDIO،…. استفاده میشود.

پروتکل های ارتباطی

نوع ارتباط در پروتکل های ارتباطی

۲.دسته بندی پروتکل های ارتباطی از لحاظ نوع انتقال:

پروتکل ها از نظر نوع انتقال میتوانند به سه دسته یک طرفه، نیمه دو طرفه، تمام دوطرفه تقسیم شوند.

کاربردهای پروتکل ها از نظر نوع انتقال:

  • یک طرفه ( Simplex): امواج تلویزیون، امواج رادیو، ….
  • نیمه دو طرفه (Half-Duplex): پروتکل های نیمه دوطرفه برقراری ارتباط در هر دو جهت را فراهم می‌کند، اما تنها در یک جهت در یک زمان (و نه به‌طور همزمان). برای همین هنگامی که یک دستگاه شروع به گرفتن یک سیگنال می‌کند، باید تا هنگامی که فرستنده سیگنال در حال ارسالش را به پایان برساند، صبر کند و سپس پاسخ او را بدهد. برای نمونه دستگاه‌های واکی تاکی دو نفره نیمه دوطرفه هستند، که در آن شخص باید از “تمام” یا کلمه کلیدی قبلاً تعیین شده برای نشان دادن پایان انتقال استفاده کند و اطمینان حاصل کند که فقط یک طرف در یک زمان منتقل می شود، زیرا هر دو طرف برای انتقال و دریافت از یک فرکانس استفاده می کنند. نمونه های پروتکل های ارتباطی نیمه دوطرفه میتوان به پروتکل های I2C و CAN اشاره کرد.
  • تمام دو طرفه ( Full-Duplex): پروتکل های دو طرفه برقراری ارتباط در هردو جهت بصورت همزمان را فراهم می کنند .پروتکل های ارتباطی  UART، SPI، Ethernet،… از نوع دوطرفه می باشند.

 

enteghal

نوع انتقال در پروتکل های ارتباطی

۳.دسته بندی پروتکل های ارتباطی از لحاظ نوع داده:

پروتکل های ارتباطی برحسب نوع داده ای که انتقال میدهند به سه دسته تقسیم می شوند.

  • بیت (Bit): پروتکل های بیتی ساختار مشخصی ندارند، برای مثال در مخابرات رادیویی همه پروتکل ها بیتی هستند.
  • بایت ( Byte): SPI، UART، I2C،…
  • بسته ( Packet): ارتباط های شبکه ای، USB، CAN،…

پروتکل های بایتی و پکتی جز رایج ترین پروتکل های ارتباطی هستند. سوالی که به وجود می آید این هست که کدامیک از این دو پروتکل سریعتر هستند؟

در مباحث انتقال داده پارامتری داریم به نام پهنای باند خالص. در ارتباط UART برای ارسال ۸ بیت باید ۱۰ بیت ارسال شود. که اگر تناسب این دو مورد را حساب کنیم مقدار ارسالی ۸۰% بدست می آید. که به ۲ بیت اضافه سر بار میگویند.

در پروتکل های USB حداقل ۶۴ بایت هدر داریم و میتوانیم ۱۴۶۴ بایت دیتا ارسال کنیم که اگر نسبت این دو محاسبه شود ۹۸% بدست می آید. در نتیجه سرعت انتقال داده در پروتکل های پکتی بیشتر از پروتکل های بایتی است.

data

نوع داده در پروتکل های ارتباطی

۳.دسته بندی پروتکل های ارتباطی از لحاظ نوع همزمانی:

پروتکل های ارتباطی ای که فقط کانال ارتباطی دیتا دارند جزء دسته بندی غیر همزمان (Anynchronous ) و پروتکل های ارتباطی ای که علاوه بر کانال ارتباطی دیتا، سیگنال کلاک هم دارند همزمان ( Synchronous)محسوب می شوند. پروتکل های سنکرون نسبت به پروتکل های آسنکرون دارای سرعت بیشتری هستند زیرا در پروتکل های آسنکرون باید بوسیله ی بیت سینک، هدر یا فوتر همزمانی بین ارسال کننده و دریافت کننده در خود دیتا اعمال شود. در حالیکه که در پروتکل سنکرون چون کلاک داریم با هر کلاکی یک بیت ارسال میکنیم و نیازی به فریم نداریم.

پروتکل های ارتباطی

نوع همزمانی در پروتکل های ارتباطی

در ادامه این وبینار مهندس میرقاسمی به مقایسه و تحلیل پروتکل های ارتباطی پرکاربرد از جمله USART، SPI، SDIO،Ethernet ،CAN، I2C،USB و… می پردازند.

برای شرکت در دوره غیر حضوری میکروکنترلر ARMSTM32 پیشرفته کلیک نمایید.

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا