Download presentation
Presentation is loading. Please wait.
1
ارائه دهندگان : محسن قلعه نوئي سيد مجتبي شاکري
I2C BUS ارائه دهندگان : محسن قلعه نوئي سيد مجتبي شاکري
2
فهرست : تاريخچه منافع توليد کننده و طراح مقدمه اي بر I2C Bus سخت افزار
پروتکل ارتباطي انواع استانداردهاي I2C کاربردهاي I2C
3
تاريخچه پروتکل I2C در اوايل دهه 1980 توسط شرکت Philips ابداع گرديد.
هدف آن در ابتدا فراهم کردن راهي ساده جهت ارتباط يک CPU با تراشه هاي جانبي در يک دستگاه TV بود. I2C در حقيقت مخفف Inter IC Bus مي باشد که به منظور فراهم کردن يک لينک ارتباطي بين مدارات مجتمع مي باشد.
4
البته امروزه اين پروتکل در صنعت به صورت عمومي پذيرفته شده است و کاربرد آن از سطح تجهيزات صوتي و تصويري نيز فرا تر رفته است به گونه اي که شرکتهاي گوناگون مانند Xicor ، SGS Thomson ، Siemens،Intel ، T I ، Maxim ، Atmel و Analog Devices به روشهاي گوناگون شروع به سازگار کردن قطعات خود با اين پروتکل نمودند.
5
منافع طراح و توليد کننده
6
منافع طراح اين پروتکل سبب سهولت و سرعت در طراحي مدارات ميگردد. با اين پروتکل به راحتي مي توان نمونه اوليه را از روي بلوک دياگرام سيستم بدست آورد ، زيرا : بلوک دياگرام عملياتي کاملا با ICهاي واقعي مطابقت دارند. رابطهاي I2C به صورت on-chip وجود دارند. هم از لحاظ نرم افزاري و هم سخت افزاري قابل کنترل است.
7
ICها براحتي مي توانند به اين باس افزوده يا کم گردند.
عيب يابي و رفع آن براحتي امکان پذير است. زمان طراحي نرم افزاري نيز با استفاده از Library هايي که موجود هستند کاهش مي يابد. و بطور عمومي : مصرف بي نهايت کم جريان امنيت در برابر نويز بسيار بالا محدوده وسيع ولتاژ تغذيه رنج وسيع گرمايي
8
منافع توليد کننده علاوه بر منافع ذکر شده براي طراح مي توان به منافع زير براي توليد کننده نيز اشاره کرد : دو سيمه بودن آن سبب سادگي و کوچک شدن PCBها گرديد. حذف Decoderهاي آدرس. قابليت ارائه در Packageهاي کوچک.
9
خلاصه اي بر I2C و مشخصات کلي آن
10
مقدمه : اين باس بطور فيزيکي دو خط فعال زير را دارا مي باشد:
Serial Data line (SDA) Serial Clock line (SCL) در اين باس هر قطعه متصل به باس داراي آدرس يکتاست که هر کدام مي توانند به صورت گيرنده يا فرستنده و يا هر دو عمل کنند. همچنين در اين باس مي توان يک يا چند Master داشت.
13
در حالت چند Master بودن در اين پروتکل دو بحث زير مطرح مي باشد:
Arbitration : فرآيند انتخاب يک Master براي استفاده از Bus . Synchronization : همزمان سازي clock براي دو يا چند دستگاه متفاوت که به يک باس متصل مي باشد.
14
Bus Hardware اين نوع باس داراي خطوط SDA و SCL به صورت دو جهته مي باشد. به همين خاطر مي توان به صورت داخلي يا خارجي آنها را درايو کرد. براي جلوگيري از تاثير نامطلوب قطعات معيوب بر روي باس از تکنيکهاي open-drain output و open-collector output استفاده مي شود.
15
در اين باس خطوط SDA و SCL از طريق مقاومتهاي pull-up ويا current-source ها به يک منبع ولتاژ مثبت متصل مي باشند. در اين صورت هنگامي که چيزي بر روي خط اتفاق نمي افتد اين خطوط در وضعيت منطقي HIGH قرار دارند.
17
هر چند که تکنيک ذکر شده (open-collector) داراي مزيت ارائه شده بود ولي اگر باس طولاني شود تاثيراتي بر روي سرعت انتقال داده ها مي گذارد. خطوط طولاني سبب ايجاد يک ظرفيت خازني مي گردد که با يک مقاومت pull-up پسيو يک ثابت زماني RC توليد مي گردد که بر روي شکل سيگنال تاثير خواهد گذاشت.
19
همچنين در سرعتهاي زياد ممکن است نويزهاي سوزني بر روي سيگنال ظاهر گردد که با توجه به منطق موجود ممکن است ايجاد خطا کند.
20
داده ها بر روي اين باس با سرعتهاي زير قابل جابجايي مي باشند:
Standard-mode: حداکثر 100 Kbit/s ّFast-mode: حداکثر 400 Kbit/s High Speed-mode : حداکثر 3.4 Mbit/s محدوديت امپدانسي خط نيز 400 pf مي باشد.
21
مشخصات کلي رنج فرکانسي : رنج تغذيه : رنج دمايي:
بسته به نوع آن تا 3.4 Mbit/s نيز کار مي کند. رنج تغذيه : 2.5 تا 5.5 ولت يا 2.7 تا 5.5 ولت و با وسايل جديد 2.3 تا 5.5 ولت و يا 3 تا 3.6 ولت رنج دمايي: از 40- تا 85 درجه سانتيگراد و در بعضي موارد 0 تا 70 يا 0 تا 120 درجه سانتيگراد
22
پينهاي آدرس سخت افزاري:
معمولا سه پايه (A0, A1, A2) تهيه شده که اجازه مي دهد 8 نوع از يک IC در يک باس موجود باشد و تنها با آدرس دهي از هم متمايز گردند. Packageهاي ارائه شده: قبلا در انواع DIP ، SOP ، SSOP ارائه مي شدند. وسايل جديد فقط در packageهاي SOP و TSSOP و يا همراه وسايل ديگر در TSOP و MLP ارائه مي شوند.
23
پروتکل انتقال داده در I2C BUS
24
انتقال بيت : تعيين اعتبار يک Bit :
با توجه به تکنولوژي وسايل مرتبط با I2C سطوح صفر و يک منطقي ثابت نيستند و وابسته به سطح تغذيه VDD ميباشد. هر پالس ساعت نيز براي انتقال يک بيت توسط Master توليد مي گردد. تعيين اعتبار يک Bit : سطوح HIGH يا LOW براي SDA تنها زماني مي تواند تغيير کند که SCL در سطح LOW باشد.
26
وضعيتهاي Start و Stop : يک تغيير وضعيت از سطح high به low بر روي SDA وقتي که SCL در سطح high است به عنوان وضعيت START شناخته مي شود. يک تغيير وضعيت از سطح low به high بر روي SDA وقتي که SCL در سطح high است به عنوان وضعيت STOP شناخته مي شود. وضعيت Start و Stop هميشه بوسيله Master توليد مي شود.
27
Start The chip issuing the Start condition first pulls the SDA (data) line low. and next pulls the SCL (clock) line low. Stop The Bus MASTER first releases the SCL and then the SDA line.
28
تشخيص وضعيتهاي Start و Stop :
ميکروکنترلر هايي که اين گونه سخت افزار را ندارند بايد از SDA حداقل 2 بار در هر پالس ساعت نمونه برداري کنند تا بتوانند اين تغييرات را حس کنند.
29
توليد پالس ساعت و مسئله Arbitration
30
همه Master ها پالس ساعت خودشان را به منظور ارسال داده ها بر روي SDA توليد مي کنند.
اما چون تنها يک خط براي clock وجود دارد بايستي از يک حالت منطقي براي همزمان سازي clock چند Master استفاده نمود. همزمان سازي با استفاده از خاصيت wired-AND رابطهاي I2C بر روي SCL انجام مي گردد.
32
Arbitration يک Master تنها زماني مي تواند داده هايش را بر روي SDA ارسال کند که اين خط آزاد باشد. همچنين در هر زمان تنها يک Master مي تواند بر روي باس داده بفرستد. Arbitration بر روي خط داده تنها زماني که پالس ساعت High مي باشد اتفاق مي افتد. در اينجا نيز از خاصيت wired-AND وسايل متصل به خط استفاده مي شود.
33
بدين صورت هنگامي که يک Master سطح High را ارسال مي کند در حالي که ديگر Master ها سطح low را بر روي SDA مي فرستند سبب ميشود که سطح خروجي داده قطع شود. اين وضعيت مي تواند براي چندين بيت متوالي ادامه داشته باشد. هنگامي که يک Master حاکميت خود بر باس را از دست مي دهد آن را رها مي کند يعني باس را در سطح High رها مي کند تا تاثيري بر کار ديگر Masterها نداشته باشد.
35
استفاده از همزمان سازي پالس ساعت به عنوان handshake
يک receiver ممکن است در هر دو سطح بايتي يا بيتي اطلاعات را دريافت کند ولي نياز به زمان بيشتري دارد تا يک بايت را ذخيره کند يا يک بايت جديد را براي ارسال فراهم کند. در سطح بايتي slave ها مي توانند SCL را بعد از دريافت ديتا low نگه دارند تا master به حالت انتظار وارد شود. در سطح بيتي نيز يک ميکرو کنترلر مي تواند سطح low براي پالس ساعت باس را افزايش دهد تا سرعت را کاهش دهد. Hs-mode تنها در سطح بايتي موجود است.
36
آدرسدهي به صورت 7 بيتي
37
غير از حالتي که به general call معروف است هميشه بعد از START هفت بيت خواهيم داشت که مشخص کننده آدرس slave مورد نظر است بعد از آن نيز يک بيت کم ارزش ديگر خواهيم داشت که بيانگر جهت پيغام است : صفر باشد : حالت write است. يک باشد : حالت read است.
40
آدرس يک slave از دو قسمت ثابت و قابل برنامه ريزي تشکيل شده است که سبب مي شود چندين دستگاه يکسان در يک باس داشته باشيم. قسمت قابل برنامه ريزي مشخص کننده حداکثر اين دستگاهها مي باشد که اين نيز به نوبه خود به حداکثر پين در دسترس بستگي دارد. بايد توجه داشت که دو دسته از آدرسهاي (0000XXX (1111XXX , براي مقاصد خاص نگه داشته شده اند.
42
ترکيب هاي مختلف براي آدرس دهي
43
General call address از اين حالت براي آدرسدهي تمامي وسايل متصل به باس I2C استفاده مي شود. اگر وسيله اي نياز به آدرسدهي داشته باشد بعد از اين کد به عنوان slave-receiver عمل مي کند. اما بايت دوم دو حالت دارد: هنگامي که بيت کم ارزش آن صفر باشد. هنگامي که يک باشد.
45
بايت START ميکرو ها مي توانند با باس به دو صورت ارتباط داشته باشند:
به کمک رابط هاي on-chip براي ارتباط با I2C از طريق نرم افزار. يک ميکرو اساساً بايستي به باس دسترسي داشته باشد، تعداد دسترسي هاي کمتر سبب مي شود که بهتر بتواند کارهاي داخلي خودش را انجام دهد.
46
در اين موارد مي توان روال شروع را ابتدا ارسال کرد که زمان بيشتري نسبت به حالت عادي طول مي کشد.
ميکروکنترلر ديگر با سرعت کم از SDA نمونه برداري مي کند تا اينکه يکي از هفت بيت صفر ارسالي در اين روال را تشخيص دهد سپس شروع به نمونه برداري با سرعت بالا مي کند تا وضعيت Sr را بمنظور همزمان سازي مجدد تشخيص دهد.
48
تحولات در I2C
49
توسعه خصوصيات باس: به دو دليل زير نياز به توسعه از حالت استاندارد احساس گرديد: ابزارهاي جديد نياز به سرعتهاي بالاتر داشتند. حداکثر 112 حالت آدرسدهي در حالت 7 بيتي بسيار کم بود. بنابراين تحولات زير صورت گرفت: ايجاد Fast-mode ايجاد Hs-mode آدرسدهي 10 بيتي
50
Fast-mode : زمان بندي سيگنالهاي SDA و SCL تطبيق داده شد.
در ورودي آنها در SDA و SCL سيستم حذف نويز سوزني و Schmitt trigger را تعبيه کردند. اگر تغذيه قطع شود پينهاي ورودي و خروجي شناور شده و بر روي خط تاثيري ندارند.
51
دستگاههاي pull-up خارجي بايد با زمان خيز براي اين باس تطبيق داده شود.
براي کمتر از 200 pf مي توان از pull-up هاي مقاومتي استفاده کرد و براي بيشتر از آن از منابع جريان ( حداکثر 3 mA ) يا مدارات مقاومتي سوئيچينگ استفاده کرد.
53
Hs-mode : داراي يک بافر خروجي open-drain براي سيگنال SDAH و ترکيبي ازمدارات open-drain pull-down، pull-up و current-source بر روي خروجي SCLH است که زمان خيز را براي SCLH کاهش مي دهد. البته در هر لحظه فقط منبع جريان يک Master فعال است.
54
Arbitration و همزمان سازي clock وجود ندارد.
Masterها در اين مد سيگنال ساعت سريال را با نسبت 1 به 2 براي سطح high به low توليد مي کنند که زمانبندي را کاهش مي دهد. داراي پلهاي داخلي هستند که براي اتصال SDAH و SCLH به SDA و SCL در Fast-mode استفاده مي شود.
56
فرمت ارسال داده هاي سريال در Hs-mode
وضعيت Start (S) کد Master به صورت 8 بيتي (00001XXX) بيت not-Acknowledge
58
Hs-mode devices at lower speed
در اين حالت اين ابزارها در Fast-mode به کار خود ادامه مي دهند و از همان پينهاي SDAH و SCLH براي اين منظور استفاده مي شود و پينهاي SDA و SCL (در صورت وجود) براي ديگر کاربردها استفاده مي شود.
60
Mixed speed modes on one serial bus
در اين حالت از پلهاي داخلي و پايه هاي SDA و SCL در وسايل High speed استفاده مي شود.
62
آدرسدهي 10 بيتي
63
حالت 1111XXX براي اين مقصود رزرو شده است .
اما باز هم تنها حالت 11110XX استفاده مي شود و حالت 11111XX براي مقاصد آتي رزرو شده است. بيت دوم نيز مانند حالت 7 بيتي شامل هفت بيت آدرس و يک بيت Read/Write مي باشد. شکلهاي آتي حالات مختلف آدرسدهي 10 بيتي را نشان مي دهند.
69
کاربردهاي I2C
70
ميکروکنترلرها شرکت فيليپس پايه و اساس ميکرو هاي خود را بر معماري 80c51 بنا نهاده است. با توجه به ساختار کوچک و ارزان اين تراشه مي توان از آن در اکثر سيستم هاي کنترلي ارزان قيمت استفاده کرد. شرکت مذکور تراشه هايي در کاربردهاي متنوع ارائه داده است.
71
در مجموع اين تراشه ها شامل
ROM(OTP/Flash) و RAM قابل افزايش ، پورت I2C ، I/O گسترده ، ADC و... مي باشند.
73
حافظه هاي قابل برنامه ريزي در قالب هاي مختلفي ارائه مي شوند نظير:
ISP (In-System Programmable) IAP (In-Application Programmable) OTP (One Time Programmable) MTP (Multi Time Programmable)
74
ليست ميکروهاي فيليپس سازگار با I2C
تعدادي هم پروتکل CANBus را پشتيباني مي کنند مانند : 87C591 ليست ميکروهاي فيليپس سازگار با I2C
75
ميکروکنترلر80C552 (PLCC-68)
76
CS6208 براي کاربردهاي شبکه با I2C Interface بمنظور پياده سازي شبکه هاي Master/Slave
77
ADUC831 Micro converter 12 بيت ADC/DAC 62KB Flash memory
78
ارتباط I2C با RS232
79
مثال : استفاده از ميکروهاي AT89C2051/AT89C4051
در ارتباط با قطعاتي با رابط I2C
81
RS232 & I2C servo control IC
82
Extender , Repeater & Hub
از جمله : PCA , PCA9518 , P82B715 , P82B96 که مزاياي زير را دارا هستند : اجازه مي دهند که امپدانس خط بيشتر از 400pf گردد. طولاني شدن خط امکان وجود منابع و سطوح منطقي ولتاژ مختلف در يک سيستم
83
امکان ايزولاسيون نوري براي ايمني بيشتر
قرار دادن کارتهاي بدون منبع تغذيه به خط فعال I2C ايزوله کردن قسمتهايي از سيستم که منبع تغذيه آنها به دلايلي قطع مي شود.
84
مثال 1 -
86
مثال 2 :
87
مثال 3 : I2C Hot swap Buffer
89
مثال 4 : استفاده از کابل USB براي انتقال اطلاعات با رابط I2C
I2C Bus Extenders
91
I2C general purpose I/O Expanders
92
ارتباط باس موازي با I2C Controller
93
Multiplexed/Latched I2C EEPROM
95
مثال :
96
I2C Device for LED Display Control
Same as : PCA , PCA , SAA1064
98
مثال 1 : استفاده از PCA955X
99
براي LED دو پايه
100
براي LED سه پايه
101
مثال 2 : Blinkers
102
LED Dimmers
103
ايجاد طيف رنگي بوسيله PCA953X
104
Sensors LM75A (digital temperature sensor and thermal watch-dog)
106
LM82 : Remote diode & local digital temperature sensor with 2 wire interface
107
AD7416 : temperature sensor
108
CMOS Sensor-MB86S02A
110
Application Note Automated linearization of sensor circuits
111
کاربردهاي متنوع
112
Server Management Card
115
Motorola handheld computer
117
I2C 2002-1 Evaluation Board kit
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.