جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > مبانی پروتکل ارتباطی I2C

مبانی پروتکل ارتباطی I2C

اردیبهشت 18, 1397
ارسال شده توسط mjavad
پروژه، پروژه های رایگان، دسته‌بندی نشده
مبانی پروتکل ارتباطی 12C

به نام خدا

مبانی پروتکل ارتباطی 12C

مبانی پروتکل ارتباطی 12C

 

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

مبانی پروتکل ارتباطی 12C

 

چگونگی کار کرد

در I2C داده ها به صورت پیام هایی فرستاده شده و پیام ها نیز خود به چند بخش تقسیم می شوند. هر پیام شامل یک بخش آدرس بوده، که همان آدرس باینری مربوط به اسلیو است. یک یا دو بخش مربوط به داده نیز در پیام های ارسالی وجود دارد. پیام همچنین شامل شرایط اولیه و پایانی، بیت های read/write و بیت های ACK / NACK بین هربخش از پیام می شود.

 

مبانی پروتکل ارتباطی 12C

SDA (Serial Data) =   ارسال و دریافت داده بین مستر و اسلیو

SCL (Serial Clock) =   حامل سیگنال کلاک

I2C یک پروتکل ارتباطی سریال می باشد، لذا داده ها به صورت بیت به بیت از طریق خط SDA منتقل خواهند شد.

همانند SPI، پروتکل I2C نیز به صورت همزمان می باشد، لذا بیت های خروجی با بیت های نمونه توسط سیگنال کلاک همزمان می باشند. سیگنال کلاک توسط مستر کنترل می شود.

 

 

بعد از این که فریم آدرس ارسال شد، ارسال داده می‌تواند شروع شود. مستر به تولید پالس کلاک با وقفه‌های منظم ادامه می‌دهد، و بسته به بیت R/W داده توسط مستر یا اسلیو روی SDA قرار داده‌ می‌شود. بخش داده همیشه شامل 8 بیت بوده و بیت های باارزش تر(MSB) در ابتدا فرستاده می شوند. این بخش ها بلافاصله با بیت ACK / NACK همراه شده تا تشخیص داده شود، که داده به درستی دریافت شده است. بیت ACK قبل از اینکه داده بعدی ارسال گردد، باید توسط مستر  و یا اسلیو دریافت شود ( بستگی دارد به اینکه کدام یک داده را ارسال کرده باشند).بعد از ارسال تمامی بخش های پیام، مستر می تواند شرایط توقف را به اسلیو ارسال کند تا انتقال اطلاعات متوقف شود. شرایط پایانی در واقع تغییر ولتاژ خط SDA از حالت low به high، بعد از تغییر خط SCL به همین صورت و باقی ماندن در وضعیت high می باشد.

.

مراحل ارسال داده

 

مستر به تمامیه اسلیو های متصل شرایط شروع را می فرستد . در شکل زیر می توانید مشاهده کنید :

مبانی پروتکل ارتباطی 12C

 

مستر به هر اسلیو 7 یا 10 بیت آدرس اسلیوی که میخواهد متصل شود را می فرستد.

 

 

مبانی پروتکل ارتباطی 12C

 

هر اسلیو آدرس فرستاده شده از مستر را با آدرس خود مقایسه می کند. اگر آدرس ها مطابقت داشتند اسلیو یک بیت ACK از طریق خط sda باز می گرداند.

 

مبانی پروتکل ارتباطی 12C

 

مسرت دیتا فریم را ارسال و یا دریافت می کند

مبانی پروتکل ارتباطی 12C

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

 

مبانی پروتکل ارتباطی 12C

برای توقف انتقال داده ها، مستر شرایط توقف را به اسلیو ارسال می کند، به این صورت که ابتدا خط SCL و سپس خط SDA را از حالت low به حالت high تغییر می دهد.

 

مبانی پروتکل ارتباطی 12C

استفاده از یک مستر برای کنترل چند اسلیو

به دلیل اینکه 12C از آدرس دهی استفاده می کند ، چند اسلیو را می توان با استفاده از یک مستر کنترل کرد.

 

 

مبانی پروتکل ارتباطی 12C

 

استفاده از چند مستر برای کنترل چند اسلیو

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

 

 

مبانی پروتکل ارتباطی 12C

 

مزایا:

  • استفاده از دو سیم
  • پشتیبانی کردن از چند مستر و چند اسلیو
  • اطلاع از انتقال صحیح داده ها توسط بیت های ACK/NACK
  • ساختار سخت افزاری ساده تر نسبت به روش UART

معایب:

  • سرعت پایین تر انتقال اطلاعات نسبت به روش SPI
  • حداکثر طول داده 8 بیت می باشد.
  • تجهیزات سخت افزاری مشکل تر برای پیاده سازی نسبت به روش SPI
برچسب ها: i2c چیستآوات روبوالکترونیکپروژه های الکترونیکپروژه های رباتیکرباتیکشرح مبانی پروتکل ارتباطی 12Cمبانی پروتکل ارتباطی 12C
قبلی آموزش ساخت مدار فلزیاب با استفاده از آی سی 555
بعدی پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

کنترل PID با آردوینو و دو موتور براشلس

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

آرمان آوات روبو نه تنها تغییر اکنون و تعریف آینده آموزش عملی و کاربردی در ایران، بلکه توسعه همین تغییر به کل دنیا است. نسخه بین المللی آوات روبو، هم اکنون در حال برنامه ریزی است و کارهای اولیه آن برای فعالیت در یوتیوب و یک سایت انگلیسی در حال انجام است.

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.