سفارش تبلیغ
صبا ویژن
هر که ما اهل بیت را دوست بدارد و محبّتما در دلش تحقّق یابد، چشمه های حکمت بر زبانش جاریمی شود. [امام صادق علیه السلام]
 
چهارشنبه 95 شهریور 31 , ساعت 6:16 صبح

 

برای دریافت پروژه اینجا کلیک کنید

 دانلود بررسی کاربرها و ویژگی های I2C Protocol در صنایع با word دارای 33 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد دانلود بررسی کاربرها و ویژگی های I2C Protocol در صنایع با word  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

 

 

بخشی از فهرست مطالب پروژه دانلود بررسی کاربرها و ویژگی های I2C Protocol در صنایع با word

چکیده

چگونه تبادل دیتا انجام می پذیرد؟

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

یک کاراکتر در یک زمان یا یک جمله کامل

فرستنده و گیرنده

اتصال صحیح

تبادل شفاف (transparent communication)

ساختار Master-Slave

Handshaking

Handshaking نرم افزاری

Handshaking سخت افزاری

مدل سیستمهای باز open systems model

تاریخچه I2C

مزایای باس برای طراح

مزایای باس I2C برای تولید کنندگان

سخت افزار باس I2C

مساله داوری و حاکمیت یک Master

آدرس دهی

آدرس دهی   بیتی

آدرس دهی    بیتی

تحولات در Fast-mode

تحولات در High Speed-mode (HS-mode)

فرمت ارسال داده های سریال در HS-mode

کاربردهای  I2C

I2C وRS-

Extender , Repeater & Hub

I2C general purpose I/O Expanders

ارتباط باس موازی با I2C Controller

I2C Device for LED Display Control

سایر کاربردها

مراجع

 


مقدمه
هدف از تبادل دیتا ، انتقال دیت بین 2 یا تعداد بیشتری واحد می باشد. به عنوان یک اصل ، آنها می توانند کاراکتر، دستورات باشند که نیاز به نمایش دارند.ساده ترین سطح زبان کامپیوتر ، کاراکترهای باینری است که شامل 7 یا 8 ، عدد صفر یا یک می باشد. اکثر کامپیوترها با این سطح کار می کنند.
تبادل دیتا اساساً با صفر و یک صورت می گیرد.
یکی از استانداردهای معمول در کامپیوترها ، استاندارد ASCII می باشد که شامل 128 کاراکتر است که هر کدام از آنها از 7 بیت تشکیل شده است. باید توجه داشت که ارتباطات در داخل کامپیوتر با سرعت زیادی انجام می شود و برای ارتباط با محیط خارج باید ارتباطات همزمان شوند و همچنین باید صحت تبادل دیتا ، کنترل شود.
استانداردهای مختلفی از ASCII وجود دارد. به عنوان مثال Extended ASCII که از هشتمین بیت نیز برای انتقال data استفاده می کند.
یک بیت در هر زمان یا یک بایت بطور کامل
دو روش برای انتقال دیتا وجود دارد :

1-  سریال
2-  موازی

در انتقال موازی ، برای هر بیت یک مسیر در نظر گرفته شده است. بنابراین کاراکترها می توانند بطور همزمان ارسال شوند. با توجه به این مزیت، که سرعت بالای انتقال است این روش در سیستمهای ارتباطی کوتاه مورد استفاده قرار می گیرد.
در مقابل ، در روش سریال هر بیت در هر لحظه فرستاده می شود. بنابراین پروتکل ارتباطی ، باید بتواند برای مقصد ، ابتدا و انتها را مشخص کند. علاوه بر این، سرعت انتقال نیز با واحد bit/s معرفی می شود.
 
یک کاراکتر در یک زمان یا یک جمله کامل
ما دو روش برای انتقال سریال داریم :
1-    انتقال غیر همزمان (Asynchronous)
2-    انتقال همزمان (synchronous)
در انتقال غیر همزمان ، ترانسمیتر، کاراکترها را در یک لحظه با بیت start و stop می فرستد. و گیرنده هر بیت start را که دریافت می کند، بقیه بیتها را به عنوان کاراکتر تفسیر می کند. و بیت stop گیرنده را ریست می کند. در حدود 90 تا 95 درصد از انتقال نوع سریال data بصورت غیر همزمان است.
در انتقال همزمان همه پیام ها در یک لحظه فرستاده می شود. سرعت انتقال توسط خط clock بر روی یک سیم جداگانه یا بصورت مدوله شده بر روی سیگنال دیتا ، تعیین می شود. عیب روش غیر همزمان در مقابل روش همزمان این است که حدود 20 الی 25 درصد پیغام شامل بیتهای پریتی می باشد.
 
فرستنده و گیرنده
در مبحث تبادل دیتا ، سخت افزارهایی با نام فرستنده و گیرنده وجود دارد. مانند PC و ربات که می توانند هم به عنوان گیرنده و هم به صورت فرستنده در یک زمان عمل کنند.
این انتقال به سه روش می تواند انجام شود:
1-    simplex : انتقال دیتا تنها یک طرفه است و از جانب فرستنده به گیرنده ، روی یک line می باشد.
2-    Half duplex : انتقال دیتا ، به صورت دو طرفه می باشد ولی نه بصورت همزمان بلکه روی دو line جداگانه انجام می پذیرد.
3-    Full duplex : انتقال دیتا ، به صورت دو طرفه ، همزمان روی یک line انجام می پذیرد.(مانند انتقال دیتا در مکالمات تلفنی)
 
اتصال صحیح :
DTE(data terminal equipment) و DCE(data communication equipment) از جمله اصطلاحاتی است که در تبادل دیتا وجود دارد. کامپیوترها و ترمینالها معمولاً DTE هستند، مودم و سخت افزارهای ارتباطی معمولاً DCE هستند در حالی که تجهیزات دیگری تظیر مولتی پلکسرها و پرینترها می توانند هم DTE و هم  و هم DCE باشند. در DTE پینهای استفاده شده برای انتقال و دریافت دیتا متفاوت با پینهای کانکتور DCE می باشند. بدین ترتیب می توان DTE را مستقیماً به DCE متصل کرد. در صورتی که دو DCE را به هم متصل کنیم مجبوریم که فرمت اتصال را تغییر دهیم تا خط TD(Transmit Data) بر خط RD(receive data) منطبق شود.
 
تبادل شفاف (transparent communication)
در سیستمهای کامپیوتری که بوسیله تعدادی مودم با هم شبکه شده اند از ارتباط شفاف استفاده می کند. شفافیت به معنای این است که همه واحدها همه پیغامها را می شنوند.

ساختار Master-Slave
بخش گسترده ای از شبکه های صنعتی از این ساختار استفاده می کنند بدین صورت که چندین Master پیغام ها را بطور متناوب به Slaveهایی که پاسخ می دهند می فرستد. این توالی را polling می نامند. در این سیستم هر Slave آدرس مخصوص به خود را دارد.
Master فرمان خود را به همراه آدرس Slave مورد نظر می فرستد. Slave مورد نظر پس از تشخیص آدرس ، فرمان را انجام داده و در بعضی مواقع سنگنال تاییدی برای master  می فرستد تا به کار خود ادامه دهد.
ساختار و شکل آدرس و پیغام بستگی به نوع پروتکل ارتباطی که استفاده می شود، دارد. پیغامی که برای همه slave  ها فرستاده می شود پیغام broadcast  نامیده می شود. این می تواند پیغامی باشد که توسط master  به تمامی slave  ها دستور داده می شود که آن وظیفه را انجام می دهند. به عنوان مثال می توان plc  های کنترل کننده آژیر را نام برد. درهنگام خطر همه آژیرها باید به صدا درآیند بنابراین یک پیغام broadcast  باید فرستاده شود.
سرعت انتقال:
همواره بهینه ترین سرعت ، بیشترین سرعت نیست بلکه باید خطای انتقال و ارتباطات را نیز در نظر گفت.نوع کابل و فاصله سرعت بهینه را تعیین می کند.در این صورت ما به امنیت بالا و قابل اطمینان در انتقال دیتا دست می یابیم .
برای انتقال دیتا دیجیتال به وسیله سیم های مسی باید در ابتدا تغییر شکل پیدا کند.
کابل ارتباطی سبب تضعیف و متغیرشدن سیگنال می شوند که در سرعتهای بالا این اثرها می تواند بحرانی باشند.
دو اصطلاح که در این مبحث وجود دارد bit/s و baud rate می باشند. سرعت انتقال با bit/s اندازه گیری می شود. بطور تقریبی برای انتقال هر کاراکتر 10 بیت نیاز است بنابراین می تواند با سرعت 9600 bit/s تقریباً 960 کاراکتر را در ثانیه انتقال داد.
برای تغییر شکل سیگنال پیش از فرستادن به شبکه از مودم استفاده می شود. مودم ، سیگنال و baud rate را تغییر می دهد.  Baud rate تعیین می کند سیگنال در هر ثانیه چند بار تغییر شکل پیدا می کند (مدوله می شود). هر تغییر شکل در سیگنال در واقع ایجاد بسته ای است که در طول خط به سوی مودم گیرنده فرستاده می شود و در آنجا کدگشایی شده و دوبار اطلاعات به دیجیتال تبدیل می شود.
 
در مودمهای short-haul (برای مسیرهای کوتاه) سیگنال تغییر شکل پیدا نمی کند و همان چیزی که فرستاده می شود در مودم گیرنده دریافت می شود و به صورت Transparent ارتباط برقرار می کنند.
مودمهای PTT مانند مودمهای short-haul عمل می کنند با این تفاوت که بافری دارند که دیتا را قبل از فرستادن ذخیره می کند. با توجه به baud rate میزان سرعت انتقال دیتا مشخص می شود به عنوان مثال اگر مودم بتواند با 1400 baud   کار کند و در هر انتقال 4 بیت داشته باشیم باید سرعت انتقال 9600 bit/s باشد.
مدوله سازی :
سیگنالهای دیتا باید برای انتقال دیتا در انواع کابلها ، تغییر شکل پیدا کرده و سازگار شوند.سطح های دیجیتال برای کابل انتخابی مورد نظر به فرمی قابل خواندن تغییر داده شود.
سه نوع مدوله سازی وجود دارد:
1- مدوله سازی فرکانس:
فرکانسهای مختلفی برای انتقال سطوح دیجیتال 0 و 1 استفاده می شود .
2- مدوله سازی فاز:
برای انتقال سطوح دیجیتال 0 و 1 ازشیفت فازی ناگهانی سیگنال سینوسی حامل استفاده می کند.این روش معمول در مودمهای  PTT  در شبکه های ارتباطی راه دور استفاده می شود.
3- مدوله سازی دامنه :
ازقدرت ودامنه سیگنال ارسالی برای نشان دادن سطح 1و0 استفاده می کند.
4- مدوله سازی دامنه و فاز:
ترکیبی است که اجازه انتقال بیتهای بیشتری در هر baud  را میدهد.
 
Handshaking 
Handshaking روشی برای تجهیزات ارتباط دیتا است تا بتوانند جریان دیتا بین دستگاه هایی که به شبکه متصل هستندرا کنترل کند. به خصوص در مواردی که یکی از دستگاه ها نسبت به بقیه کندتر باشند.
دونوع Handshaking وجوددارد:  نرم افزاری و سخت افزاری .
زمانی را در نظر بگیرید که بین کامپیوتر و پرینتر ارتباط بر قرار کرده اید . حال اگر بخواهید اطلاعات را با سرعت بیشتری از آ نچه پرینتر چاب میکند،بفرستید.دستگاه پرینتر این قابلیت را دارد که اطلاعات اضافی را در یک بافر ذخیره کند.در اینجا هنگامی که بافر پر می شود با  Handshaking نرم افزاری یا سخت افزاری ، کامپیوتر را از این مساله آگاه کرد.
مثال دیگر در استفاده از مودم می باشد . سرعت دیتا بین کامپیوتر و مودم معمولا بیشتر از ان است که خطوط تلفن پشتیبانی می کند بنابراین مودم باید از این روش استفاده کند تا به کامپیوتر اطلاع دهد با سرعت کمتری دیتا را انتقال دهد.
Handshaking نرم افزاری :
درمثال پرینتر با این روش وقتی بافر پر می شود کاراکتری را برای کامپیوتر ارسال میکند(Xoff ).وقتی که بافر خالی شد کاراکتری برای کامپیوتر ارسال می شود(Xon) تا انتقال دیتا ادمه پیدا کند.کاراکترهای معمولی که در این پروتکل استفاده می شوند شماره 17 اسکی(Xon) وشماره 19 اسکی (Xoff) می باشد.
 
Handshaking سخت افزاری:
به جای استفاده از کارکترهای اضافی در جریان دیتا،پروتکل RS-232  خطوط سخت افزاری اضافی بدین منظور در نظر گرفته است. رایج ترین خطوط استفاده شده RTS(Requet to send) و CTS(Clear to Send)  می باشند.به عنوان نمونه وقتی که کامپیوتر می خواهد با یک مودم ارتباط بر قرار کند:
1-    اگر کامپیوتر بخواهددیتا را انتقال دهدخط RTS  را از 3+ به 15+ افزایش می دهد.(دیتا انتقال نیافته است)
2-    مودم تغییردر خط  RTS را تشخیص داده وهنگامی که آماده دریافت دیتا است خط CTS  را تغییر می دهد.
3-    کامپیوترمنتظر میماندکه اگر خط CTS  به سطح بالا تغییرکرد دیتا را انتقال دهد.
درهر نقطه ای که خطCTS  افت کند کامپیوتر انتقال دیتا را متوقف می کند.
خط سخت افزاری که غالبا برای پرینترهای سریال فوری استفاده می شودخط DTR  است که به کامپیوتر اطلاع می دهد انتقال دیتا را به دلیل نبودن کاغذ متوقف کند.
سیگنالهای سخت افزاری تنها برای روش Handshaking استفاده نمی شوند بلکه کاربردهای دیگری نیز می توانند داشته باشند.هنگامی که دوقطعه از یک دستگاه به طور ویژه ای ترکیب شده و سوئیچ خط انجام می پذیردبرای اطمینان از اینکه هر قطعه سیگنال صحیح را درزمان صحیح دریافت کرده استفاده از این روش کارگشا می باشد.
 
مدل سیستمهای باز open systems model
در تبادل دیتای دیجیتال ، سیم بندی بین دو یا چند وسیله یکی از اولین گامها در برپایی یک شبکه است. همانند این تجهیزات سخت افزاری ، نرم افزار نیز باید آدرس دهی شود. مدل مرجع OSI شامل هفت لایه زیر می باشد:
-    لایه 1 (لایه فیزیکی) : تعریف الکتریکی و مکانیکی سیستم
-    لایه 2 (لایه پیوند دیتا data link) : قالب بندی و قالب تصحیح خطای دیتا
-    لایه 3 (لایه شبکه) : فرستادن بهینه پیغامها از یک شبکه به شبکه دیگر
-    لایه 4 (لایه ارسال) : کانالی برای ارسال پیغامها از یک فرآیند کاربردی به دیگری
-    لایه 5 (لایه دیدار Session layer) : سازمان دهی و همزمان سازی تبادل دیتا
-    لایه 6 (لایه ارائه Presentation) : قالب دیتا و یا دوباره ارائه دادن
-    لایه 7 (لایه کاربردی) : ارسال فایل ، تبادل پیغامها
 
مدل OSI به صورت مجموعه ای از وجودهایی همانند یک برنامه نرم افزاری که در هر یک از هفت لایه قرار داده شده اند قابل تصویر است. این یک قالب کاری کلی را برای تولیدکننده فراهم می آورد که راه حلهای ارتباطی خود که شامل لینکهای ارتباطی سخت افزاری و پروتکلهاست را به صورت بسته (package) درآورد.
در دنیای ابزار دقیق ، این مدل OSI به صورت زیر ساده می گردد:
-    لایه 1 : لایه فیزیکی
-    لایه 2 : لایه پیوند دیتا
-    لایه 3 : لایه کاربردی

این عمل به صورت ارزشمندی عملکرد یک سیستم کلی را ساده می کند. شما توجه خواهید داشت که یک لایه دیگر در بالای دیگر لایه ها به آن اشاره شده که لایه کاربر (User layer) نامیده شده است.

این لایه یک بخش از مدل OSI نیست ولی بخش مهمی از یک سیستم کلی است.
مثالهایی از چگونگی کاربرد این لایه ها عبارتند از:
-    RS-232 و RS-485 مثالهایی از لایه فیزیکی هستند.
-    پروتکل Modbus مثالی از لایه پیوند دیتاست.
-    Ethernet شامل لایه های فیزیکی و پیوند دیتاست.
-    پروتکل ابزار دقیق هوشمند HART شامل هر سه لایه فیزیکی ، پیوند دیتا و کاربردی است.
-    Profibus و Foundation Profibus شامل هر سه لایه فوق است.

تاریخچه I2C  :
پروتکل I2C در اوایل دهه 1980 توسط شرکت Philips ابداع گردید که هدف ابتدایی آن فراهم کردن راهی ساده جهت ارتباط یک CPU با تراشه های جانبی در یک دستگاه تلویزیون بود زیرا باسهای سابق و موجود دارای تعداد خطوط زیاد بود که سبب ازدحام در PCB مربوطه می گردید.
I2C طبق تعریف شرکت فیلیپس مخفف Inter-IC   می باشد که بیانگر هدف آن یعنی فراهم آوردن یک لینک ارتباطی بین مدارات مجتمع می باشد.
امروزه این پروتکل به صورت عمومی در صنعت پذیرفته شده است و کاربرد آن از سطح تجهیزات صوتی و تصویری نیز فراتر رفته است. به گونه ای که امروزه در بیش از 1000نوع IC مختلف به کار گرفته شده است .

مزایای باس برای طراح :
پروتکل I2C سبب سهولت و سرعت در طراحی مدارات می گردد زیرا :
1-    بلوک دیاگرام عملیاتی کاملا" با IC  های واقعی مطابقت دارد  و طراح به سرعت می تواند به شماتیک نهایی دست پیدا کند.
2-    نیاز به طراحی رابط(interface) اضافی ندارد زیرا به صورتخدon-chip  وجود دارد و محاسبات مربوط به تطبیق امپدانس و ... حذف می گردد .
3-    هم از لحاظ نرم افزاری و هم سخت افزاری قابل کنترل می باشد .
4-    IC های مربوطه به راحتی قابل اضافه کردن و یا کم کردن می باشند.
5-    زمان طراحی نرم افزاری به دلیل وجود کتابخانه های آماده کاهش می یابد.
همچنین با توجه به تکنولوژی ساخت  آنها وسیله های سازگار با i2c دارای ویژگیهای زیر می باشد:
1-    مصرف بی نهایت کم جریان
2-    امنیت در برابر نویز بسیار خوب
3-    محدوده ولتاژ تغذیه گسترده :
 2.5 تا 5 ولت یا 2.7 تا 5.5 ولت و در وسایل جدید 2.3 تا 5.5 ولت یا 3 تا 3.6 ولت
4-    رنج گرمایی کاری گسترده :
  از 40- تا 85 درجه سانتگراد و در بعضی موارد 0 تا 70 درجه و یا 0 تا 120 درجه
مزایای باس I2C برای تولید کنندگان :
این باس دارای مزایای زیر برای تولیدکنندگان می باشد .
-    دو سیمه بودن آن سبب سادگی و کوچک شدن PCB  ها شد.
-    حذف decoder  های آدرس
-    قابلیت ارائه در بسته های  (Package) ریز و مناسب موجود می باشد.
سخت افزار باس I2C :
این باس به طور فیزیکی شامل دو خط فعال می باشد:
-    خط داده سریال (SDA) serial data line
-    خط پالس ساعت سریال (SCL) serial clock line 
این خطوط هر دو به صورت دو جهته عمل می کنند به همین دلیل می توان چند خدمات رسان Master داشت یا اینکه هر وسیله به عنوان فرستنده یا گیرنده عمل کند.
در ساخت این وسایل از تکنیک open-collector استفاده شده است. در این صورت هرگاه چند خروجی به یک سطح متصل شوند نتیجه آن سطح AND شده این چند خروجی خواهد بود. همچنین در این باس خطوط SDA و SCL از طریق مقاومتهای pull-up و یا منابع جریان به یک منبع ولتاژ مثبت متصل هستند که نتیجه آن نگه داشتن خط در سطح HIGH است.

هر چند تکنیک ارائه شده در مورد open-collector بودن و مقاومتهای pull-up  دارای مزیت wired-and  می باشد ولی این موضوع در مورد خطوط طولانی که دارای یک ظرفیت خازنی می باشند ایجاد یک ثابت زمانی RC  می گردد که برای رفع این موضوع به جای مقاومت از منابع جریان می توان استفاده کرد.

با توجه به تکنیکهای به کار گرفته شده و با توجه به امپدانس موجود در خط که باید محدود به 400pf گردد . این نوع باس در سه سرعت زیر قادر به جابجایی داده ها می باشد:
1-    حالت Standard-mode : تا حداکثر 100kbit/s
2-    حالت Fast-mode : تا حداکثر 400kbit/s
3-    حالت High Speed-mode(HS-mode) : تا حداکثر 3.4Mbit/s
همان طور که دیده می شود در حالاتی سرعت انتقال داده ها به قدری بالا می رود که ممکن است اثرات نا مطلوبی بر روی سیگنال ارسالی داشته باشد از جمله سوار شدن نویزهای سوزنی بر روی سیگنال که می تواند با توجه به منطق موجود ما را دچار مشکلات سازد.
 
برای رفع این مشکل در ابزارهایی که با سرعت بالا عمل می کنند از فیلترهای ویژه ای استفاده شده است.
همان طور که اشاره شد هر وسیله باید در این پروتکل به صورت منحصر بفرد آدرس دهی گردد که قسمتی از آدرس آن به صورت داخلی در IC موجود می باشد و قسمت دیگر آن توسط پینهای آدرس که بر روی این ICها در نظر گرفته شده تعیین می گردد.
فرضاً در ICهایی که بصورت 7 بیتی آدرس دهی می شوند معمولاً سه پایه (A0,A1,A2) موجود می باشد که اجازه می دهد   IC قابل شناسایی از یک مدل در این باس وجود داشته باشد.
فرمت انتقال داده ها:
هر بایت داده بر روی خط SDA باید 8 بیت طول داشته باشد. و همچنین هیچ محدودیتی در مورد تعداد بایتهای ارسالی توسط یک فرستنده بر روی SDA وجود ندارد.
باید توجه داشت که در هنگام انتقال داده ها زمانی که clock در سطح high است نباید خط SDA تغییر کند مگر در دو حالت که نشان دهنده حالت شروع و پایان می باشد.

بیت START : تغییر سطح منطقی SDA از high به low زمانی که clock در سطح high قرار دارد.
بیت STOP : تغییر سطح منطقی SDA از سطح low به high زمانی که clock در سطح high قرار دارد.

بعد از هر بایت ارسال شده جهت تعیین اینکه این بایت توسط گیرنده پذیرش شده است یا نه یک بیت دیگر در پالس بعدی ارسال می گردد که به Acknowledge bit معروف است. اگر در این بیت SDA در سطح high قرار بگیرد به این معنی است که پذیرش صورت نگرفته است و اگر SDA به سطح low برود به این معنی است که پذیرش صورت گرفته است.
مساله همزمان سازی پالس ساعت :
پالس ساعت توسط Master ها تولید می گردد . هر Master پالس ساعت خود را بر روی SCL قرار می دهد و با توجه به خاصیت wired-AND در این گونه باس پالس ساعت ها با هم AND شده و باعث تولید یک پالس ساعت مشترک می گردد.

مساله داوری و حاکمیت یک Master :
هر Master تنها در زمانی می تواند به باس دسترسی پیدا کند که خط SDA آزاد باشد. در اینجا نیز وجود خاصیت wired-AND باعث حل مشکل می گردد یعنی چند Master بطور همزمان داده هایشان را بر روی خط SDA به صورت سریال ارسال می دارند و با هم AND شده و بر روی باس یک دیتای واحد قرار می گیرد در اولین مکانی که خط SDA با خط داده مربوط به یک Master مطابقت نداشت آن Master خط داده سریال را در سطح یک منطقی رها می کند (حالت پیش فرض با توجه به وجود pull-up سطح high می باشد) تا بر روی کار دیگر Master ها تاثیر نداشته باشد.
 
همان طور که دیده می شود مساله Arbitration تنها در مورد حالتی معنی دارد که چند Master داشته باشیم زیرا
1-    در مورد Slave ها با توجه به اینکه در هر زمان یک Slave آدرس دهی می شود و حق دسترسی به SDA را دارد معنی نخواهد داشت.
2-    یک Master دیگر رقیبی برای دسترسی به خط SDA ندارد.

همچنین باید توجه داشت که در موارد زیر Arbitration بکار گرفته نمی شود :
•    بین وضعیت repeated Start (Sr) و بیت دیتا
•    بین وضعیت Stop و بیت دیتا
•    بین یک وضعیت repeated Start (Sr) و وضعیت Stop


آدرس دهی :
برای شناسایی هر وسیله در این پروتکل نیاز به یک آدرس داریم که در مورد هر وسیله تعدادی از بیتهای آن به صورت on-chip آدرس دهی می شود و مابقی از طریق پینهای آدرس سخت افزاری مشخص می گردد. در ابتدا آدرسی که به هر وسیله اختصاص می یافت یک آدرس 7 بیتی بود ولی با گسترش این باس و تعداد وسیله های بکار رفته در آن نیاز به آدرس دهی با تعداد بیت بالاتر احساس شد و آدرس دهی به صورت 10 بیتی بوجود آمد.

آدرس دهی 7 بیتی:
در این حالت بعد از وضعیت START(S) ، آدرس یک slave فرستاده می شود که 7 بیت طول دارد. سپس در بیت 8 جهت انتقال داده   مشخص می گردد. صفر بیانگر فرستادن داده (WRITE) و یک بیانگر درخواست دیتا (READ) می باشد. هر ارسال داده نیز با یک وضعیت STOP خاتمه می یابد. اگر master همچنان نیاز به دسترسی به باس داشته باشد از یک وضعیت شروع مجدد Repeated Start (Sr) استفاده می کند و سپس یک slave دیگر را آدرس دهی می کند، بدون اینکه ابتدا نیاز به وضعیت STOP داشته باشد.

با توجه به این نوع آدرس دهی سه حالت زیر موجود می باشد:
1-    یک master-transmitter داده هایش را به یک slave-receiver بدون اینکه جهت ارسال تغییر کند، منتقل می کند.

2-    یک master داده ها را بلافاصله بعد از اولین بایت از slave می خواند.
 
3-    حالت ترکیبی : ترکیبی از دو حالت قبل است یعنی جهت ارسال قابل تغییر است.
 

اما باید توجه داشت که در بایت اول تعدادی از آدرسها برای مقاصد خاصی ذخیره شده اند که در جدول زیر به آنها اشاره می گردد:
 
General call : برای این است که پس از شروع کار باس و ارسال این بایت تمام وسیله ها آدرسهای مربوط به خود را تنظیم کنند.
 
اگر وسیله ای نیاز به آدرسدهی داشته باشد بعد از این کد به عنوان slave-receiver عمل می کند.
اما بایت دوم دو حالت دارد:
•    هنگامی که بیت کم ارزش آن صفر باشد.
•    هنگامی که یک باشد.
در حالتی که B صفر است چند حالت داریم :
•    00000110(06H) : ریست کردن و نوشتن قسمت قابل برنامه ریزی آدرس slave بوسیله سخت افزار.
•    00000100(04H) : نوشتن قسمت قابل برنامه ریزی slave بوسیله سخت افزار. در این حالت دستگاه ریست نمی شود.
•    00000000(00H) : به عنوان بایت دوم نباید استفاده شود.
باید از باقی کدها صرف نظر کرد.
هنگامی که بیت B یک است به Hardware general call معروف است و به این معناست که توالی توسط سخت افزار مانند keyboard scanner که نمی تواند برای ارسال یک آدرس slave مورد نظر برنامه ریزی شوند ، ارسال می گردد.
هفت بیت دیگر شامل آدرس hardware master است که بوسیله یک میکروکنترلر تشخیص داده می شود. در بعضی از سیستم ها این hardware master به صورت slave-receiver عمل می کند که توسط یک master پیکربندی کننده ، آدرس slave که باید به آن داده ارسال گردد ، تعیین می شود.

Start byte : برای کاهش میزان دسترسی میکروها به این باس از این بایت استفاده می شود. ابتدا یک میکرو با سرعت کم از SDA نمونه برداری می کند تا یکی از این 7 بیت را ( که نسبت به حالت عادی زمان طولانی تری را می گیرند) تشخیص دهد. سپس سرعت نمونه برداری خود را افزایش می دهد تا بتواند داده های روی SDA را تشخیص دهد. در این حالت رویه شروع به صورت زیر است   ...

 

بخشی از منابع و مراجع پروژه دانلود بررسی کاربرها و ویژگی های I2C Protocol در صنایع با word
[1]. THE I2C-BUS SPECIFICATION - VERSION 2.1 - JANUARY 2000
[2]. I2C BUS – Quarndon Electronics Ltd. – www.quarndon.co.uk
[3]. Westermo Handbook – Industrial data communication – Edition 3.0 – westermo teleindustri AB, Sweden
[4]. And the other Internet based references, papers, eBooks, catalogs and articles.

 

برای دریافت پروژه اینجا کلیک کنید

لیست کل یادداشت های این وبلاگ