آی۲‌سی

از ویکی‌پدیا، دانشنامهٔ آزاد
I۲C
I²C bus logo.svg
نوع گذرگاه داده
طراح فیلیپس امروزه به عنوان ان‌ایکس‌پی شناخته می‌شود.
تاریخ طراحی ۱۹۸۲؛ ۳۹ سال پیش (۱۹۸۲)
سیگنال داده‌ای Open-collector or Open-drain
پهنا خط داده SDA + خط کلاک SCL
پهنای باند ۰/۱ / ۰/۴ / ۱/۰ / ۳/۴ / ۵/۰ Mbit/s
(به حالت کاری بستگی دارد)
پروتکل سریال و دوطرفه (مخابرات)

پروتکل ارتباطات آی۲سی (به انگلیسی: I2C) در واقع یک گذرگاه (bus) ارتباط سریال همگام، چند پیرو (slave)، چند رهبر (master)، راه‌گزینی بسته کوچک، تک-انتهایی (به انگلیسی: signal-ended) است.[۱]

واژه‌شناسی

نام پروتکل I2C سرنام عبارت پروتکل درون مدار مجتمع (به انگلیسی: inter ic protocol) می‌باشد.[۱]

شرح

در واقع یک گذرگاه ارتباط سریال همگام، چند پیرو، چند رهبر، راه‌گزینی بسته کوچک، تک-انتهایی است که در سال ۱۹۸۲ توسط شرکت نیمه هادی‌های فیلیپس اختراع شد و مجموعه ای گسترده از وسایل با کاربردهای خاص و وسایل با مقصود عمومی را شامل می‌شود.[۲] طبق کتاب راهنما خود شرکت فیلیپس (با نام جدید npx) هدف این اختراع کاهش تعداد سیم‌های گذرگاه در نوعی معماری ابتدایی بوده و مقدمه را با طرح همین مسئله آغاز می‌کند[۲] و ایدهٔ دو کابلی بودن آی۲سی از اینجاست که با یک کابل پیرو را انتخاب کند و با کابل دیگر داده‌ها را به پیرو انتخاب شده بفرستد.

از ۱۰ اکتبر ۲۰۰۶، هیچ گونه هزینه مجوزی برای اجرای پروتکل آی۲سی لازم نیست. با این حال، برای به دست آوردن آدرس‌های آی۲سی پیرو اختصاص داده شده توسط NXP، هزینه لازم است.[۳] آی۲سی یک قرارداد سریال برای رابط TWI (رابط دو سیمه)، اتصال‌ها کم سرعت مانند ریزکنترلگرها، E۲PROM، مبدل سیگنال‌های آنالوگ به دیجیتال و مبدل دیجیتال به آنالوگ، رابط‌های I/O (خروجی/ورودی) و سایر لوازم جانبی مشابه در سیستم‌های تعبیه شده‌است.[۴]

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

مانند روش UART در آی۲سی نیز از دو سیم برای انتقال اطلاعات استفاده می‌شود. اکنون، تقریباً در تمامی شرکت‌های طراحی تراشه به کار گرفته می‌شود. آی۲سی یک گذرگاه داده محبوب است زیرا استفاده از آن ساده است، می‌تواند بیش از یک ارباب داشته باشد، فقط سرعت گذرگاه فوقانی تعریف شده‌است و برای اتصال تقریباً نامحدود دستگاه‌های آی۲سی به دو سیم با مقاومت بالاکش (Pull-Up) نیاز است. آی۲سی حتی می‌تواند از ریزکنترلگرهای آهسته‌تر با پایه‌های ورودی/خروجی برای اهداف کلی استفاده کند، زیرا آن‌ها علاوه بر توابع خواندن و نوشتن یک بایت، به ایجاد وضعیت صحیح Start و Stop نیاز دارند.[۵]

هر دستگاه پیرو ،آی۲سی به یک آدرس نیاز دارد. هر دستگاه پیرو دارای یک آدرس منحصر به فرد است. انتقال از دستگاه اصلی به صورت سریال است و به بسته‌های ۸ بیتی تقسیم می‌شود. همه این نیازمندی‌های خیلی ساده برای اجرای رابط آی۲سی حتی با ریزکنترلگرهای ارزان قیمت که هیچ کنترل‌کننده سخت‌افزاری ویژه آی۲سی ندارند، بسیار ساده موفق می‌سازد.

برای ارسال و دریافت دستورها شما فقط به ۲ پایه ورودی/خروجی و چند روال ساده I۲C نیاز دارید.

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

همانند SPI، پروتکل I۲C نیز به صورت همزمان می‌باشد، لذا بیت‌های خروجی با بیت‌های نمونه توسط سیگنال کلاک همزمان می‌باشند. سیگنال کلاک توسط رهبر کنترل می‌شود.[۶]

منابع

  1. ۱٫۰ ۱٫۱ "I²C". Wikipedia. 2021-06-20.
  2. ۲٫۰ ۲٫۱ Jean-Marc Irazabal ,Steve Blozis (24/2/2003). "i2c manual" (PDF). https://www.nxp.com/docs/en/application-note/AN10216.pdf. Check date values in: |تاریخ= (help); External link in |وبگاه= (help)
  3. «نسخه آرشیو شده» (PDF). بایگانی‌شده از اصلی (PDF) در ۱۰ ژانویه ۲۰۱۷. دریافت‌شده در ۳۰ اکتبر ۲۰۱۹.
  4. https://i2c.info
  5. https://learn.sparkfun.com/
  6. http://www.sanatbazar.com/

پیوند به بیرون