تلکامپ - فرخ کریمی

تلکامپ : وب سایت تخصصی تکنولوژی برق، الکترونیک، کامپیوتر، هوش مصنوعی و علوم اعصاب

تلکامپ - فرخ کریمی

تلکامپ : وب سایت تخصصی تکنولوژی برق، الکترونیک، کامپیوتر، هوش مصنوعی و علوم اعصاب

تلکامپ - وب سایت تخصصی تکنولوژی برق

- زکات علم نشر آن است \
- لطفا برای استفاده بهتر از مطالب سایت از طبقه بندی موضوعی سمت راست و منوی بالای صفحه استفاده کنید \
- بهای استفاده از مطالب این سایت صلوات بر محمد و آل محمد (ص)



در سایت تلکامپ
در كل اينترنت
بایگانی

ابزار نظر سنجی

تقویم شمسی

کانال تلگرام تلکامپ

آخرین نظرات
سه شنبه, ۱۲ اسفند ۱۳۹۳، ۰۱:۰۷ ب.ظ

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

I2c[1] یک پروتکل ارتباطی سریال بین مدارات مجتمع می باشد. همچنین نام دیگر آن TWI[2] می باشد. از این پروتکل برای ارتباط  میکروکنترلر و وسایل جانبی نظیر حافظه ها ، سنسورها و ... استفاده می شود. با این ارتباط می توان تا 128 دستگاه مختلف را از طریق دو خط گذرگاه با هم شبکه بندی کرد که برای جلوگیری از تداخل دستگاه ها با هم، به هر دستگاه یک آدرس منحصر به فرد اختصاص داده  می شود. یکی از این خطوط برای پالس[3] ساعت و دیگری برای داده[4] می باشد. قابل ذکر است که هر یک از این خطوط باید از طریق یک مقاومت بالا کش[5] به منبع تغذیه متصل شوند. هر دستگاهی که از طریق این پروتکل کار می کند یک آدرس 7 بیتی منحصر به فرد دارد که 4 بیت بالا ثابت بوده و نشان دهنده نوع وسیله هستند به عنوان مثال کد 1010 نشان دهنده EEPROM می باشد. سه بیت کم ارزش، آدرس دستگاه جانبی می باشد. همانطور که گفته شد با این نوع آدرس دهی می توان تا هشت وسیله یکسان و 128 وسیله جانبی را از طریق یک پورت I2C به میکروکنترلر وصل کرد...

در i2c دستگاهی که اطلاعات را میفرستد Master و دستگاهی که اطلاعات را میگیرد Slave نامیده میشود. Master با فرستادن یک سیگنال بر روی خط SDA انتقال اطلاعات را آغاز و با فرستادن سیگنالی دیگر بر روی همین خط انتقال اطلاعات را متوقف می کند. در هنگام ارسال سیگنالهای Start و Stop سیگنال SCL یک میباشد. هنگامی که Master انتقال اطلاعات را آغاز کرد بایت Device address  را در Slave مینویسد. Slave یک بیت Acknowledge بعد از دریافت اطلاعات خواهد فرستاد که مشخص کننده ایجاد ارتباط صحیح بین Master و Slave می باشد.

برای راه اندازی پروتکل i2c باید پایه های SCL و SDA را در مترجم به پردازنده اختصاص دهیم و نرخ ارسال اطلاعات[6] را مشخص کنیم. در نهایت در نرم باید تابع i2c_init را در برنامه فراخوانی کنیم.



[1]  Inter-Integration Circuit

[2]  Two Wire Interface

[3]  SCL : Serial Clock

[4]  SDA : Serial Data

[5]  Pull Up

[6]  Bit Rate

موافقین ۰ مخالفین ۰ ۹۳/۱۲/۱۲
تلکامپ - الکترونیک و کامپیوتر

I2C

نظرات (۱)

عالیییی ممنونم 

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

ابزار هدایت به بالای صفحه