بررسی اجمالی I2C

I2C توسط فیلیپس در دهه 1980 توسعه یافته است و یکی از رایج ترین پروتکل های ارتباطی سریال در الکترونیک است. I2C ارتباطات بین اجزای الکترونیکی یا IC به IC را فراهم می کند، اینکه آیا اجزاء در همان PCB هستند یا از طریق یک کابل متصل شده اند. ویژگی کلیدی I2C توانایی داشتن تعداد زیادی اجزای در یک اتوبوس ارتباطی تنها با دو سیم است که باعث می شود I2C مناسب برای برنامه های کاربردی است که به سادگی نیاز دارند و هزینه کمتری نسبت به سرعت دارند.

مرور کلی پروتکل I2C

I2C یک پروتکل ارتباطی سریال است که فقط نیاز به دو خط سیگنال دارد که برای ارتباط بین تراشه ها در PCB طراحی شده است. ابتدا I2C برای ارتباط با 100 کیلوبایت طراحی شده است، اما سرعت انتقال داده ها در طول سال ها برای رسیدن به سرعت تا 3.4Mbit توسعه یافته است. پروتکل I2C به عنوان یک استاندارد رسمی ایجاد شده است که برای سازگاری خوب بین پیاده سازی I2C و سازگاری خوب عقب مانده فراهم شده است.

سیگنال های I2C

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

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

مزایا و محدودیت ها

به عنوان یک پروتکل ارتباطی، I2C دارای مزایایی است که بسیاری از آن ها انتخاب خوبی برای بسیاری از برنامه های طراحی جاسازی شده است. I2C مزایای زیر را به ارمغان می آورد:

با تمام این مزایا، I2C همچنین دارای محدودیت هایی است که ممکن است لازم باشد در اطراف آنها طراحی شود. مهمترین محدودیت های I2C عبارتند از:

برنامه های کاربردی

اتوبوس I2C یک گزینه عالی برای برنامه های کاربردی است که نیاز به هزینه کم و ساده دارد، نه سرعت بالا. برای مثال، خواندن حافظه های خاصی از حافظه، دسترسی به DAC ها و ADC ها، حسگرهای خواندن ، انتقال و کنترل اقدامات کارگردان کاربر، خواندن سنسورهای سخت افزاری و برقراری ارتباط با میکروکنترلر های متعدد، استفاده مشترک از پروتکل ارتباطات I2C است.