چگونه شمارش دستگاه و فاصله بر روی اجرای I2C تأثیر می گذارد
شما اغلب با چالش های I2C با اضافه کردن دستگاه های بیشتری و یا گسترش سیم بین اجزا روبرو میشید. رشد اتوبوس
شما اغلب با چالش های I2C با اضافه کردن دستگاه های بیشتری و یا گسترش سیم بین اجزا روبرو میشید. ظرفیت اتوبوس رشد میکنه وقتی شما طول کابل و دستگاه افزایش میده که سرعت I2c را محدود می کند و می تواند موجب مشکلات قابل اعتماد باشد. ظرفیت و ورودیمدارهای یکپارهو سيم هايي که سيگنال ها چقدر سفر ميکنن درگیری های نشانی گاهی رخ می دهد هنگامی که تراشه ها یک نشانی را به اشتراک می دهند ، و کششمقاومفضاي اضافي رو روي پي.بي. درباره ي سيم۲۰ پیF بر 30 ثانیهيعني بايد طول کابل زير 2.25 متر براي عمليات ثابت نگه داري
حذف کلید
- ظرفیت اتوبوس با دستگاه های بیشتری و سیم های طولانی تر افزایش می یابد. ظرفیت کل زیر 400 pF برای ارتباط I2C قابل اعتماد نگه دارید
- درگیری های آدرس می تواند تعداد دستگاه ها را در اتوبوس I2C محدود کند. استفاده از نشانیهای منحصر به فرد و نشانی ۱۰ بیتی برای اتصال دستگاههای بیشتری بدون مشکلات در نظر بگیرید.
- فاصله های طولانی تر می تواند کیفیت سیگنال را تضعیف کند. برای حفظ ارتباط قابل اعتماد در سیم های بلند استفاده کنید.
- طرح بندی PCB مناسبخيلي مهمه خط هاي آي 2 سي کوتاه نگه داريد مقاومت ها را نزديک به دستگاه ها قرار بديد و از مسير نزديک اجزاي سر و صدا براي کاهش دخالت دوري کنه
- نمایش سیستم I2Cبا ابزاري مثل تحليل پروتکل. این به تشخیص مشکلات کمک می کند و عملکرد برای اطمینان بهتری بهینه سازی می کند.
سرعت I2C: عامل کلیدی
سرعت I2c بستگی به چندین عامل مهم دارد. شما باید بفهمید که ظرفیت اتوبوس، شمارش دستگاه و فاصله فیزیکی چگونه تأثیر بگذارید. هر کدام از اینها می توانند چقدر سریع و قابل اعتماد با هم ارتباط برقرار کنند.
اتوبوس
ظرفیت اتوبوس کلی شارژ الکتریکی است که سیم ها و و دستگاه های اتوبوس شما می توانند ذخیره کنند. این مقدار رشد می کند که دستگاه های بیشتری اضافه می کنید یا از سیم های طولانی تر است. وقتی ظرفیت افزایش یابد، سیگنال های اتوبوس به آرامی بیشتر افزایش می یابد. اگه سیگنال ها خیلی آروم رشد کنن، میکرو کنترلرحسگرممکنه اونا رو بعنوان سطح منطقه معتبر شناخته نشه
- ظرفیت اتوبوس اصلاً بر افزایش زمان سیگنال در ارتباط I2c تأثیر می گذارد.
- زمان طولانی تر می تواند باعث اشتباهاتی در خواندن اطلاعات بشه.
- بیشینه تنظیم استاندارد i2cزمان افزایش: ۱۰۰ نانو ثانیه برای حالت استاندارد (100 کیلومترز) و ۳۰۰ نانو ثانیه برای حالت سریع (۴۰۰ کیلومترز).
- اگر فراتر از این زمان های افزایش داشته باشید، وسیله های شما ممکن است بیت ها را درست نشناختند.
ميتوني پيشنهاد رو ببينيحداکثر ظرفیت اتوبوس برای هر حالت سرعت در جدول زیر:
| حالت سرعت I2C | حداکثر اتوبوس |
|---|---|
| حالت استاندارد | ۴۰۰ pF |
| حالت سریع | ۴۰۰ pF |
| حالت سریع | ۵۵۰ PF |
اگر می خواهید از حالتهای سرعت بالاتر استفاده کنید، باید ظرفیت کل را پایین نگه دارید. این به معنی استفاده از سیم های کوتاه تر و دستگاه های کمتر، یا انتخاب اجزای با ظرفیت ورودی کم است. در مدارهای الکترونیکی، مخصوصاً با مدارهای یکپارچه، همیشه برگه های داده را برای مقادیر ظرفیت ورودی بررسی کنید.
شمارش دستگاه
تعداد دستگاههایی که به اتوبوس i2c متصل می کنید نیز بر سرعت i2c و اعتبار آن تأثیر می گذارد. هر وسیله مقدار کمی در اتوبوس اضافه می کند. دستگاه های بیشتری به معنای ظرفیت بیشتری که زمان افزایش سیگنال را کم می کند.
- ...ظرفیت خطوط اتوبوس را محدود می کندو تاثير قابل اعتماد رو داره
- همچنان که دستگاه های بیشتری اضافه می کنید، ارتباط پیچیده تر می شود.
- ...بیشینه سرعت i2c ۳.۴ Mb/s استاما اين فقط با چند تا دستگاه و سيم کوتاه ممکنه
- افزودن بسیاری از دستگاه ها را افزایش می کندخطر درگیری های آدرسی. هر دستگاهي بايد يه آدرس منحصر به فرد داشته باشه
- راهنمای رسمی NXP i2c به حداکثر ۴۰۰ pF توصیه می کند.
- در نظرت، ميتوني بهم ارتباط برقرار کنيتا ۱۰۰۸ دستگاه، اما در عمل، ظرفیت و آزمایش درگیری این شماره را محدود می کند.
وقتی مداری با مدارهای یکپارک طراحی میکنید، همیشه برنامه ریزی آدرس خود را برنامه ریزی کنید و ظرفیت کل را بررسی کنید. در صورتی که نیاز دارید متصل شودحسگرهايا چيپس، از چندين اتوبوس يا اتوبوس اتوبوس در نظر بگيريد.
فاصله فیزیکی
طول سیم های بین دستگاه های شما بر سرعت I2c و کیفیت سیگنالها تأثیر می گذارد. سیم های طولانی تر ظرفیت بیشتری اضافه می کنند و می تواند باعث تاخیر سیگنال شود.
هر سیگنالی که از کابل بیشتر از یک یا دو پا استفاده میکنه باید نگران ظرفیت کابل باشهقابلیت ۱۰۰ pF در هر متریبراي کابل چند راهنمايي هست این باعث می شود که اتوبوس رو سرعت کنی یا از مقاومت های پایین تری که ظرفیت اضافه رو کنترل کنید
برای تخمین زیر می توانید از جدول زیر استفاده کنیدحداکثر طول کابل برای حالتهای سرعت متفاوت:
| حالت سرعت | حداکثر طول کابلی |
|---|---|
| استاندارد | ۵۰ ثانیه |
| سرعت پایین | ۱۲ متر |
| استاندارد) ۴۰۰ کیلومتر ( | ۲ متر |
| گسترش شده با متصدی ها | تا ۱ کیلومتریت |
اگر نیاز دارید که دستگاه ها را در فاصله های طولانی متصل کنید، باید سرعت I2c را کاهش دهید و یا استفاده از افزایشگرهای مخصوص. در اکثر پروژه های الکترونیکی، سیم ها کوتاه و استفاده می کنندطرح بندی PCB مناسببه ارتباطات قابل اعتماد کمک می کند .
محدودیتهای شمارش دستگاه
هنگامی که یک شبکه I2C طراحی می کنید، باید در نظر بگیرید که چند دستگاه می توانید به یک اتوبوس متصل شوید. تعداد دستگاه ها بر روی عملکرد و هم اعتباری سیستم شما تاثیر می گذارد. دو عامل اصلی شمارش دستگاه را محدود می کنند: آموزش و مجازی.
نشانی
هر دستگاه توي اتوبوس I2C به يه آدرس منحصر بفرد نياز داره شما اين آدرس رو مي گيريد تا ارباب بتونه با هر دستگاه بدون گيج حرف بزنه I2C دو نوع نشانی را پشتیبانی می کند: ۷ بیت و ۱۰ بیت. در نظریه، آدرس 7 بیتی اجازه می دهد تا ۱۲۸ دستگاه وسیله و آدرس ۱۰ بیتی به 1024 دستگاه اجازه می دهد. با این حال شما نمی توانید از تمام این آدرس ها استفاده کنید زیرا بعضی برای عملکردهای ویژه ذخیره شده است.
I2C طول 2 آدرس را مشخص می کند، ۷ و ۱۰ بیت، که حداکثر آدرس فرضی ۱۸۲ و 1024 را می دهد، . همينطوره با این حال، آدرس های ذخیره شده فضای آدرس را محدود می کنند.
| طرحواره های نشانی | دستگاههای بیشینه | یادداشتها |
|---|---|---|
| نشانی ۷ بیت | 128 | 127 برده يک اربان |
| حد عملی | <128 | با دسترسی آدرس محدود وظرفیت اتوبوس |
در عمل شما اغلب متوجه می شوید که هر چیپ I2C فقط چند آدرس مختلف را پشتیبانی می کند. برای مثال، خیلی از حسگرهای دما یا EEPROM اجازه می دهد که شما فقط سه تا سنج آدرس را تعیین کنید پس تو ميتوني با يک اتوبوس به هشت تا تراشه همون چيپ رو وصل کني آدرس های ذخیره شده و محدودیت های چیپ تعداد دستگاه هایی که می توانید استفاده کنید را کاهش می دهد.
- هر چیپ برده I2C اغلب ۸ آدرس اتوبوس مختلف را حمایت می کند و تعداد تراشه های مشابه را در شبکه یک شبکه محدود می کند.
- آدرسهای ذخیره شده فضای آدرس موجود را کاهش می دهد.
هر دستگاه روی شبکه I2C یک آدرس ۷ بیتی انتخاب می شود، که به طور نظریه اجازه می دهد128 دستگاه برده داري. با این حال، در عمل، تعداد اغلب به دلیل محدودیت های تعداد آدرس هایی که توسط تراشه های برده های شخصی پشتیبانی می شود، کمتر است.
اگه به دستگاه بيشتري نياز داري ميتوني از حقه هاي ويژه استفاده کني بعنوان مثال می توانید استفاده کنید.EEPROM با محتویات یکتاییبرای شناسایی هر دستگاه، یا شما می توانید به پروتکل هایی مانند دالاس 1- وایر تغییر دهید، که دستگاه های زیادی روی یک اتوبوس اجازه می دهد.
برای گسترش فضای نشانی I2C یک روش شامل استفاده از EEPROM است که چند دستگاه می تواند همان آدرس I2C را به اشتراک بگیرد. هر EEPROM می تواند با محتویات منحصر به فرد برنامه ریزی شود برای شناسایی حضور آنها. برای مثال، با برنامه نویسی بایت های خاص به 0x00 برای هر دستگاه، استاد می تواند از EEPROM بخواند و تعیین کند که کدام وسیله بر اساس ارزشهای برگشته
- پروتکل دالاس 1- واير اجازه ميده که بسياري از دستگاه ها به يه اتوبوس متصل بشه را فعال سازی ارباب برای کشف شناسای منحصر به فرد برای هر دستگاه. این می تواند یک راه حل هزینه استفاده کننده با یک سیم EEPROM در دسترس با قیمت پایین باشد.
اعتباری
اعتباری این فرایند است که اتوبوس I2C شما را سازمان نگه می دارد وقتی که بیش از یک استاد سعی می کند اتوبوس را در یک زمان کنترل کند. فقط يه استاد ميتونه هر بار اطلاعات بفرسته اگر دو ارباب سریع شروع به فرستادن به عنوان خط داده ها (SDA) را نگاه می کنند تا ببینند که آیا پیام آنها با اتوبوس مطابقت دارد یا نه. اگه استاد تفاوتي رو ببينه متوقف ميشه و اجازه ميده ارباب ديگه ادامه بده.
در I2Cفرایند مجربحیاتی است که فقط یک دستگاه اصلی می تواند اتوبوس را در هر زمانی کنترل کند، که از فساد اطلاعات جلوگیری می کند. هرچند، با افزايش تعداد دستگاه ها، احتمال زيادي از شکست دادگاهي افزايش ميشه مخصوصا اگه چندين ارباب سعي کنن همزمان اطلاعات رو بدون نظارت کردن وضعيت اتوبوس
وقتي دستگاه هاي بيشتري اضافه مي کني، مخصوصا ارباب هاي بيشتري، خطر از دست دادن مجرم رشد ميکنه در صورتی که دستگاه برده دارای بد رفتار می شود و یا در صورتی که اتوبوس در طی ارتباط برقرار می شود، مشکلات می تواند رخ دهد. اين مشکلات ميتونه باعث بشه ارباب کنترل اتوبوس رو از دست بده
| دلیل از دست دادن ضایع | توصیف |
|---|---|
| نادرست رفتار دستگاه برده | دستگاه برده دارن خط SDA رو اشتباه ميکشن و باعث ميشه ارباب از دست دادگاهي رو شناسايي کنه |
| بازنشانی اتوبوس | در طی فعالیت اتوبوس عوض می شود که منجر به تعبیر اشتباه وضعیت اتوبوس توسط استاد. |
| خط SDA پایین | خط SDA که توسط برده پایین نگه می دارد در حالی که ارباب انتظار دارد بالا باشد و منجر به ضرر داشتن مجرم. |
همچنین باید مراقب ظرفیت اتوبوس و زمان بالا رفتن باشید. هر وسیله ظرفیت ورودی اضافه می کند که می تواند سیگنال ها را کم کند. اگر سیگنال ها بسیار آروم افزایش یابد، ممکن است دستگاه ها آنها را شناخته نخواهند کرد، و این می تواند بر سرعت I2c تاثیر بگذارد. جریانی که دستگاه ها می توانند ارزش های مقاومت دریافت کنند را محدود می کند، که در عملکرد کلی اتوبوس شما تاثیر می گذارد.
- اتوبوس: هر وسیله ظرفیت ورودی اضافه می کند که می تواند افزایش و سقوط سیگنال را افزایش دهد، از دستگاه ها جلوگيري از تشخيص سيگنالها
- زمان افزایش سیگنال: افزایش ظرفیت می تواند باعث افزایش زمان های افزایش سیگنال شود و تاثیر گذاری اطمینان ارتباط برقرار کند.
- بیشینۀ جریان سینک: مشخصات فعلی دستگاه ها را محدود می کند که در عملکرد کلی اتوبوس تاثیر می گذارند.
اگر شما یک شبکه ی I2C قابل اطمینان را با بسیاری از دستگاه ها می خواهید، شما باید برنامه ریزی آدرس خود را برنامه ریزی کنید، و مراقب مشکلات مثبت باشید، و حواست به اتوبوس باشه
محدودیتهای فاصله
کمال علامتی
وقتی مدارهای یکپارچه شده روی سیم های طولانی متصل می کنید، باید در مورد صداقت سیگنال فکر کنید. صداقت علامتی به این معنی است که سیگنال های الکتریکی چقدر به خوبی بین دستگاه ها سفر می کنند بدون اینکه منحرف بشن اگر فاصله فیزیکی بین دستگاه ها را افزایش دهید، می تواند چندین مشکل ظاهر شود:
- لبه های سیگنالها رو کم میکنه و کمتر تیز میشه
- تابلو مي تونه باعث زير شليک بشه که توي ولتاژ سيگنال ميشه
- انعکاس سیگنال در انتهای کابل می تواند پژوهش ایجاد کند و دستگاه دریافت کننده را گیج می کند.
- تداخل الکترومغناطیسی خارجی (EMI) از الکترونیکی نزدیکی می تواند سیگنال را به هم برساند.
اغلب وقتی از سیم های طولانی استفاده می کنید یا کابل های نزدیک موتور ، تجهیزات برق یا فرستنده های رادیویی استفاده می کنید . این مشکلات می تواند باعث خطاهای داده ها شود یا اتوبوس I2C شما غیر قابل اعتماد شود. بايد هميشه سيم هاي خودت رو چک کني و کابل ها رو تا جايي که ممکنه کوتاه نگه داري
| منبع کاهش سیگنال | توصیف |
|---|---|
| دخالت از منابع نزدیکی | اختلالات الکترونیکی، ولتاژ، سیگنال های RF و فعالیت های خانوادگی می توانند بر روی سیم های بلند I2C تاثیر بگذارند. |
| روي اتوبوس | گلیچ ها می تواند منجر به سخت افزار یا خطاهای نرم افزار شود و باعث مشکلات ارتباطی می شود. |
| تفاوت های قابلیت زمینی | تغییرات در پتانسیل زمینی به دلیل تغییرات بار می تواند خطاهای داده را معرفی کند. |
نکته : کابل های محافظت شده ومناسب کمک به کاهش دخالتیو بهبود کیفیت سیگنال
حداکثر طول قابل اعتماد
باید بدونیحداکثر طول قابل اعتماد برای ارتباط I2Cوقتي طراحي ميکني طول بستگی به سرعت I2c، کیفیت سیم و چقدر ظرفیت کنترل می باشد. اگر از مد استاندارد (۱۰ کیلوبیت/ ثانیه استفاده می کنید) معمولاً می توانید به 1.5 متری با سیم های خوب و طرح بندی رسید. مدل سریع و سرعت بالاتر به کابل های کوتاه تر نیاز دارند.
| حالت I2C | سرعت |
|---|---|
| حالت استاندارد | ۱۰۰ کیلوبیت/ثانیه |
| حالت سریع | ۴۰۰ کیلوبیت/ ثانیه |
| حالت سریع | ۱ بیم / ثانیه |
| حالت سریع | ۳.۴ بیم / ثانیه |
| حالت ارتفاعی | ۵ مئیت/ ثانیه |
شما باید ظرفیت اتوبوس زیر 400 pF نگه دارید، اما هدف برای کمتر از 200 PF نتایج بهتری می دهد. طرح بندی، کیفیت سیم و حفاظت همه ی طول به حداکثر تاثیر می گذارند. اگر به فاصله طولانی تر نیاز دارید، می توانید از متصدی های I2C یا تکرار ها استفاده کنید تا سیگنال را افزایش دهد.
- حداکثر طول قابل اطمینان برای I2C حدود 1.5 متر در شرایط ایده آل است.
- ظرفیت پایین تر و سیم های کیفیت بالا به شما کمک می کند تا به فاصله های طولانی تر برسید.
- حفاظت و طراحي با دقت از سيگنال ها در برابر دخالت محافظت ميکنه
وقتی شبکه ی آی 2C را برنامه ریزی می کنید، همیشه طول سیم و ظرفیت بررسی کنید. این به شما کمک می کند که از اشتباه های داده ها دوری کنید و ارتباطات شما را ثابت نگه می دارد.
مشکلات اعتماد
خطاهای داده
ممکنه متوجه بشيخطاهای دادهوقتی که بسیاری از دستگاه ها را متصل می کنید یا از سیم های بلند در شبکه I2C خود استفاده می کنید. اين اشتباهات ميتونه سيستم شما رو غير قابل اعتماد کنه خطاهای داده اغلب به عنوان مقادیر عجیب یا غیرمنتظره از حسگرهای شما یا نمایش داده می شوند.حافظهچيپس گاهی اوقات، بیت های اضافی در داده ها می بینید، یا داده ها در طول انتقال خراب می شوند.
خطای داده های مشترک در سیستم I2C عبارتند از:
- بیت های اضافی در داده ها ظاهر می شوند که می تواند معنی اطلاعاتی که دریافت کنید را تغییر دهد.
- فساد داده ها اتفاق ميفته وقتي سيگنال ها شکل يا زماني رو از دست ميدن
- مشکلات صداقت سیگنال در جاهایی که سر و صدای الکتریکی زیادی دارند بدتر می شوند.
برای جلوگیری از این مشکلات، می توانید از روش بازیابی خطا استفاده کنید. بسیاری از مهندسان ها زمان بندی های نگهبانی برای بازنشستگی سیستم در صورتی که گیر می شود اضافه می کنند. همچنین می توانید از میانگین برای داده های سنسور برای پالایش کردن خواندنهای بد استفاده کنید. این قدم ها کمک می کند که ارتباط I2C شما را ثابت نگه دارد، حتی هنگامی که دستگاه های زیادی یا سیم های طولانی دارید.
نکته: همیشه داده ها را برای خطاهای خود بررسی کنید و از روش های اعتباری برای گرفتن مشکلات زود استفاده کنید.
سر و صدا
سر و صدا و تداخل می تواند موجب مشکلات بزرگی برای اطمینان I2C باشد، مخصوصا در محیطهای مشغول یا صنعتی. سیم های مدار شما می توانند مانند آنتن عمل کنند و سیگنال های ناخواسته را از الکترونیکی بقیه بردارند. این می تواند به داده های گم شده یا فاسد شود.
در اینجا بعضی از منابع معمولی از سر و صدا و تداخل هستند:
- تداخل الکترو مغناطیسی (EMI)مي تونه وارد سيم هاي شما بشه و اطلاعات رو به هم برسونه کابل های محافظت شده و زمینه ی خوب به این ریسک کمک میکنه
- ظرفیت اتوبوس بالا از کابل های بلند یا بسیاری از دستگاه ها می تواند سیگنال ها را کم کند. این می تواند قوانین زمان افزایش I2C را بشکند و باعث شکستگی هایی بشه. شما می توانید از کشش های کنونی یا راننده های اتوبوس ویژه برای درست کردن این استفاده کنید.
- کراستالک اتفاق ميفته وقتي که خطوط SDA و SCL خيلي نزديک باشن از هم جدا نگه داشتن اونها رو روي PCB شما کمک ميکنه
- صداي زميني از خطوط برق مي تونه باعث قطره هاي ولتاژ بشه این کار باعث می شود دستگاه های شما ارزش های اشتباه را بخوانند. استفاده از یک زمین محکم یا انزواژ گالوانی می تواند کمک کند .
تو هميشه بايد اتوبوس آي 2 سي رو طراحي کني برنامه ريزي با دقت و انتخاب هاي خوب سيمگري کمک ميکنه این گام ها داده های شما را امن نگه می دارد و دستگاه های شما به خوبی کار می کنند، حتی هنگامی که سرعت i2c را فشار می دهید یا بسیاری را متصل می کنید.مدارهای یکپاره.
بهینه سازی اجرای I2C
طرح بندی اتوبوس
شما می توانید شبکه I2C خود را با پیروی از تمرین های پرداخت اتوبوس خوب بهبود برسانید. این گام ها کمک می کنند تا ظرفیت را کاهش دهند و سیگنال های شما را پاک نگه دارند:
- خطوط اتوبوس I2C تا حد ممکن کوتاه نگه داشت.
- مقاومت های کشیدن نزدیک دستگاه I2C خود را برای کاهش ظرفیت انگلیسی قرار دهید
- مسير از اجزاي سر و صدا و سيگنال هاي سرعت بالا رديابي ميکنه
- از یک PCB چهار سفر با یک هواپیمای زمینی اختصاص داده شده برای سیگنال I2C استفاده کنید.
- مطمئن شو که يه هواپيماي محکم براي مسير هاي بازگشت پايين داري
راهنمایی: طرح بندی دقت به شما کمک می کند تا سرعت I2c را حفظ کنید و خطای اطلاعات را کاهش می دهد.
تاریخ های کشیدن بالا
انتخاب مقاومت راستارزش کلید ارتباطات I2C قابل اعتماد است.مقدار پایین تر ، مانند 1 kΩ به 4.7 kΩسيگنال ها رو سريعتر بالا ببرن این موضوع مهم است اگر می خواهید از حالتهای سرعت بالاتر استفاده کنید. مقادیر بالاتر، مانند ۱۰ kΩ، زمان افزایش را کاهش می دهد و می تواند موجب خطا شود. شما همیشه باید ظرفیت اتوبوس، افزایش زمان و تعداد دستگاه ها را هنگام انتخاب مقادیر مقاومت در نظر بگیرید. محاسبه بهترین مقدار مقاومت برای برپایی شما کمک می کند که سرعت و اعتبار به شما تعادل می دهد.
نشانی استراتژی
می توانید از آدرس های ناسازگاری اجتناب کنید و دستگاههای بیشتری با استفاده از استفاده از استراتژی نشانی هوشمند ارتباط برقرار کنید:
- زمانی که دستگاه ها روشن می شودکه فرصت درگیری ها را کاهش می دهد.
- افزودن بسط کننده های IO خارجی برای تغییر پین نشانی دستگاه ، بنابراین می توانید با یک دستگاه صحبت کنید.
- استفاده از ثبات های شیفت برای مدیریت پین آدرس ها برای بسیاری از دستگاه ها، اجازه می دهید که تراشه های بیشتری بدون اختلافات متصل شوید.
این روش ها به شما کمک می کند که بیشتر از اتوبوس I2C خود را بیرون بیارید، مخصوصا هنگامی که با تعدادی مدارهای یکپارچه کار می کنید.
تکرار کننده ها و میانگیرها
تکرار کننده ها و مبارزه ها اجازه می دهندشبکه I2C شما در فاصله طولاني تر و وصل کردن دستگاه هاي بيشتري. برای مثال ، PCA9507ميتونه اتوبوس رو تا 18 متر در بياره. این سیگنال ها را در سیم های طولانی نگه میدارد. این دستگاه می تواند از بارهای ظرفیت بالاتری نگه دارد که تا 1400 pF در یک بندر و 400 pF بر روی دیگر پشتیبانی کند. استفاده از تکرار ها و میانفر ها به شما کمک می کند تا سرعت i2c و کیفیت سیگنال را حفظ کنید، حتی در شبکه های بزرگ یا پیچیده.
نمایش برنامه
شبکهای کوچک
شما اغلب از I2C در شبکه های کوچک استفاده میکنیدمدارهای یکپاره. این برپایی ها در پروژه هایی مانند آرایه های سنسور، ماژولهای نمایش و سیستم های کنترل ساده ظاهر می شوند. می توانید دستگاه هایی مانند سنسورهای دما، تراشه های EEPROM و ساعت های واقعی را متصل کنید. هر وسيله با آدرس منحصر به فردش ارتباط برقرار ميکنه
| نمایش برنامه | مترکهای اجرا |
|---|---|
| سیستم های نظارتی محیطی | حالتهای سرعت) استاندارد ، سریع ( |
| دستگاه های ردیابی حرکت | مصرف برق |
| ارتباط EEPROM | نرخ انتقال داده |
| ساعتهای زمان واقعی) RTC ها | دقت نگهداری زمان |
| نمایش واسطه ها) LCD ، OLED ( | سرعت ارتباطی |
| سیستم های کنترل خودکار صنعتی | زمان های پاسخ حس |
شما باید روی سرعت، استفاده قدرت و دقت داده ها تمرکز کنید برای مثال، هنگامی که سیستم نظارتی محیطی ساخته می شوید، می خواهید سنسورها سریع پاسخ دهند و داده های قابل اعتماد را بفرستند. در رابطهای نمایش، مسائل سرعت ارتباطی به دلیل احتیاج به به روزرسانی نرم دارید. می توانید شبکه خود را با انتخاب حالت سرعت درست و کوتاه نگه داشتن سیم ها بهینه سازی کنید.
نکته: در شبکه های کوچک می توانید از حالتهای I2C استاندارد یا سریع برای بیشتر کاربردها استفاده کنید. اين طراحيتون رو ساده و قابل اعتماد نگه ميداره
برپایهای فاصله طولانی
ممکن است نیاز به مدارهای یکپارچه را در فاصله طولانی تر در پروژه های صنعتی یا ساختمان خودکار متصل کنید. سیم های بلند چالش هایی مانند از دست دادن سیگنال و صدای الکتریکی رو معرفی میکنند. شما بايد ظرفيت و دخالت رو مديريت کنيد تا اطلاعاتتون رو امن نگه داريد
راه حلهای مشتری شامل:
- استفاده از متونیان I2C مثل LTC4311 برای بهبود کیفیت سیگنالو بارهاي بيشتري رو کنترل کنن
- عملیات با سرعت پایین تر برای کاهش خطاهایی که توسط زمان های افزایش سیگنال آهسته می شود.
- پياده سازي سيگنال متفاوتي براي کاهش دخالت الکترونيکي نزديکي
،توي فاصله هاي طولاني ، باهاش روبرو شديمسائل صحیح سیگنال زیرا ظرفیت و صدای الکتریکی بر پروتکل I2C تأثیر می گذارد. شما می توانید این مشکلات را با استفاده از متصدی ها، کاهش سرعت ارتباطی و محافظت از کابل های شما حل کنید. این مرحله به شما کمک می کند تا ارسال اطلاعات قابل اطمینان بین مدارهای یکپارچه شما را حفظ کند حتی وقتی که سیم ها در یک منطقه بزرگ گسترده می شوند.
نکته: همیشه برپایی خود را قبل از نصب نهایی آزمایش کنید. سیم های بلند می توانند به طور متفاوتی رفتار کنند بستگی به محیط و اجزای استفاده کنید.
شما می توانید سیستم I2C خود را با فهمیدن اینکه چگونه شمارش دستگاه و فاصله بر روی سرعت و هم اعتباری تاثیر می گذارد.
زمان افزایش و سقوط عوامل حیاتی در ارتباط I2C هستند. به عنوان مثال یک کابل طولانی تر ظرفیت را معرفی می کند که در زمان افزایش تاثیر می گذارد، که برای حفظ صداقت سیگنال ضروری است. که بهش دسترسيزمان زياد 1000 انس روي يک کابل 200 پي افمقاومت ها نبايد از 2.2 kΩ بيشتر باشند. این نشان می دهد که چگونه شمارش دستگاه و فاصله می تواند تاثیر بگذارند سرعت و اعتباری I2C.
- ظرفیت اتوبوس ، حالتهای سرعت و طرح بندی PCB همۀ همگی برای تعیین سرعت i2c با هم کار می کند.
- می توانید از ابزارهایی مانند تحلیل دهنده های پروتکل و نوسانلوسکوپ برای تشخیص مسائل استفاده کنید.
- این گامها را امتحان کنید تا سیستم شما بهینه سازی شود:
| گام قابل کنش | توصیف |
|---|---|
| استفاده از نشانی ۱۰ بیت | این کار کمک می کند که جلوگیری از مخالفت ها و مقیاس پذیری برای اعداد دستگاه های بالا بهبود برساند. |
| عمل کردن با سرعت کمیر | این کار می تواند به مدیریت ظرفیت اتوبوس برای فاصله های طولانی تر کمک کند. |
| استفاده از دستگاههای خروجی گردانندۀ بالاتر | این می تواند صداقت سیگنال را در فاصله های طولانی تر بهبود دهد. |
FAQ
چند تا دستگاه میتونید به اتوبوس I2C متصل شوید؟
شما می توانید به 128 دستگاه با آدرس 7 بیتی متصل شوید. در عمل، ظرفیت اتوبوس و مخالفت های آدرس این عدد را محدود می کند. بیشتر مدارهای یکپارچه فقط چند آدرس منحصر به فرد را پشتیبانی می کنند.
اگه از سيم هاي بلند استفاده کني
سیم های بلند ظرفیت اتوبوس افزایش میدن این زمان افزایش سیگنال را کم می کند و می تواند باعث اشتباه داده شود. شاید لازم باشد که سرعت را کاهش دهید و یا برای ارتباط قابل اعتماد استفاده کنید.
چطوري مقاومت درست رو براي آي 2 سي انتخاب ميکني؟
شما مقاومت رو بر اساس ظرفيت اتوبوس و سرعت مورد نظر انتخاب ميکنيد مقادیر پایین تر (مثل 2.2 kΩ) برای سیگنال های سریع خوب کار می کنند. همیشه خودت رو چک کنصفحه داده های مدار یکپارهبراي توصيه
ميتوني توي يه اتوبوس سرعت هاي متفاوت آي 2 سي رو قاطي کني؟
نه، همه ی دستگاه های یک اتوبوس I2C باید حالت سرعت انتخاب شده را پشتیبانی کنند. اگر دستگاهها را ترکیب کنید ، از کند ترین حالت پشتیبانی شده برای اطمینان دادن انتقال داده قابل اطمینان استفاده کنید.
اگر دو دستگاه همان آدرس I2C مشابه باشند چه کار کنید؟
برای اتصال دستگاه ها با نشانیهای تکراری I2C می توانید از یک ضربه برگرد یا سودهی I2C استفاده کنید. این به شما اجازه می دهد که چه مدار یکپارچه در هر زمانی با میکرو کنترلر ارتباط برقرار کند







