خانه >> اینترنت اشیاء >> بافر I2C و استفاده از آن در ارتباط I2C

بافر I2C و استفاده از آن در ارتباط I2C

رابط I2C

همراهان همیشگی اکتروپای سلام ، در این مقاله میخوایم ، موارد، مزایا و کاربردهای یک بافر I2C را توضیح  بدیم . در اینجا علت استفاده ، طرز کار بافر I2C را خواهیم گفت و سپس تعدادی از بافرهای I2C رو به شما معرفی میکنیم . پس در ادامه با الکتروپای همراه باشید 🙂

از تمامی رابطهای سریالی که برای دستگاه ها  استفاده می شود، I2C مورد علاقه شخصی من است چون همانند دیگر روشهای ارتباطی سریال، توانایی کنترل بسیاری از دستگاه های دارای تنها دو خط  حتی با داشتن مسترهای متعدد را دارد ، I2C یک ابزار بسیار جذاب برای مهندس مدارهای امبدد است که تلاش می کند هزینه ها، تعداد پین ها و پیچیدگی را مدیریت کند . گاهی اوقات، محدودیت های طراحی می تواند پیاده سازی I2C را پیچیده کند. بافر I2C ابزاری است که می تواند کار ما را ساده تر کند.

نگاهی به ظرفیت گذرگاه I2C

با روش آدرس دهی 7 بیتی، به صورت تئوری 128 دستگاه میتوانند به یک باس یا گذرگاه I2C متصل شوند. اما در عمل برخی از این آدرس ها رزرو شده اند و فقط 112 موجود هستند. با طرح جدید آدرس دهی 10 بیتی،  دستگاه های بیشتری می توانند به گذرگاه I2C متصل شوند. با این حال، هر دستگاهی که به گذرگاه اضافه می شود، ظرفیت خازنی کلی را افزایش می دهد، که می تواند به طرز شگفت انگیزی بالا باشد، در حالی که ظرفیت خازن های PCB و ظرفیت خازنی دستگاه ها هم به آن اضافه میشود .

برطرف کردن محدودیت گذرگاه I2C

به منظور رعایت استاندارد I2C ، هنگامی که ظرفیت خازنی باس I2C به 400pf برسد  ،نمی توان دستگاه های بیشتری را به گذرگاه I2C  اضافه کرد . یک راه برای دور زدن محدودیت این است که یک بافر I2C به طراحی خود اضافه کنید. تصویر زیر یک باس I2C معمولی با ظرفیت خازنی مرتبط نشان می دهد.

typical I2C bus with associated bus capacitance

بافر I2C چیست ؟

هنگام کار در حالت استاندارد یا سریع، باس I2C دارای حداکثر ظرفیت اتوبوس 400pf است و در Fast Mode Plus  به 500pF افزایش می یابد. وقتی به این مقدار رسیدید اضافه کردن هر دستگاه باعث خارج شدن از استاندارد و مشخصات دستگاه ها و ماژول های I2C میشود . بافر I2C، باس I2C را به دو گذرگاه جداگانه تقسیم می کند، در حالی که هنوز اجازه می دهد دستگاه ها در دو طرف بافر و سراسر گذرگاه یا هم ارتباط برقرار کنند.

با اضافه شدن بافر I2C به گذرگاه ظرفیت خازنی گذرگاه کاهش می یابد و بافر به هر کجای باس که اضافه شده باشد از همانجا ظرفیت خازنی را تقسیم میکند به دو قسمت و دو باس جداگانه I2C . این به این معنی است که ما با داشتن مقاومت های پول آپ یکسان یک زمان کوتاه RC ثابت با منحنی بالا رونده rise time کوتاه تر از نظر زمان داریم . با نگاهی به در شکل زیر Rise Time  رو بهتر درک میکنید

Rise Time

این قابلیت یعنی کاهش زمان بالا رفتن منحنی ( rise time )  از دلایل اصلی استفاده از بافر I2C است .

 

بافر I2C در باس I2C

 

مقیاس ولتاژ استاتیک (SVO)

ماهیت دو طرفه ارتباطات I2C به این معنی است که بافرهای I2C باید از تکنیک های ویژه ای برای جلوگیری از “قفل کردن” باس I2C استفاده کنند . همانطور که در نمودار زیر دیده می شود،اگر Master  خط را low کند ، در طرف Slave هم خط Low  می شود. اگر سمت Slave هم گذرگاه رو Low کنه ، سمت Master هم Low میشه. در نتیجه وقتی Master خط رو آزاد میکنه ، سمت Slave همچنان در حال کار است . پس اگر بافر درست طراحی نشه باعث قفل شدن گذرگاه I2C میشه .

Buffers can lock up the bus if not designed correctly

یک راه حل برای این مشکل استفاده از یک مقیاس ولتاژ استاتیک (SVO) است . اساسا یک دیود Zener ولتاژ کم برای ایجاد یک ولتاژ آستانه اضافی در یک طرف بافر استفاده میشود. بنابراین، یک کنترل کننده در داخل بافر  می تواند منشا منطق پایین را تعیین کند  و از این اطلاعات برای جلوگیری از قفل شدن باس I2C استفاده کند. به طوری که یک منطق پایین در سمت SVO از بافر می تواند یا پایین زیر منطق SVO پایین یا ” بالاتر از SVO “منطق کم، بسته به اینکه آیا کم بودن منطق توسط طرف اصلی و یا طرف برده رانده شده است. بنابراین، یک کنترل کننده درون بافر می تواند منشا پایین منطق را تعیین کند و از این اطلاعات برای جلوگیری از قفل کردن استفاده کند. بافر چندگانه می تواند در طول اتوبوس به عنوان وسیله ای برای مدیریت ظرفیت استفاده شود. شما نمیتوانید فرض کنید که سطح ولتاژ SVO، حتی با استفاده از یک قسمت دقیق دقیق، یکسان است و بنابراین بایوس چندگانه باید پیکربندی شود تا اطمینان حاصل شود که دو ولتاژ SVO با یکدیگر متصل نیستند. SVO نیز باید در برابر ولتاژ ورودی دستگاه فرعی مورد بررسی قرار گیرد تا اطمینان حاصل شود که آن را به خوبی زیر آستانه 30٪ باشد. بسیاری از دستگاه ها SVO 0.5 ولت را استفاده می کنند، اما این مقدار می تواند حداقل از 0.1 ولت تا 0.6 ولت باشد.

 

مثال هایی از بافر های I2C

بافر i2c

PC9515A از Texas Instruments به عنوان یک بافر دو طرفه I2C توصیف شده است. این می تواند برای اجرای یک باس 5 ولت در کنار یک باس 3.3 ولت استفاده شود، بنابراین به عنوان یک مترجم منطقی نیز عمل می کند. در اینجا یک مثال کاربردی از صفحه داده وجود دارد:

PC9515A running with two different bus voltages

LTC4311 از Linear Tech / Analog Devices نوع دیگری از بافر I2C است. در واقع، این بخش نه به عنوان یک بافر بلکه به عنوان یک «شتاب دهنده» توصیف شده است. این به طور موازی با سایر دستگاه های در باس متصل است و مدار داخلی آن مقدار زیادی از ظرفیت باس را با تشخیص انتقال سیگنال مثبت و سپس تزریق اضافی جریان که موجب انتقال سریعتر می شود. نمودار زیر نشان می دهد که چگونه از LTC4311 استفاده می شود.

 

Diagram taken from the LTC4311 datasheet.

بافر I2C و کاربرد های صنعتی

در دنیای اتوماسیون صنعتی، سیستم های الکترونیکی اغلب کنترل فرآیندهای بسیار حساس را می کنند که نمی توانند به شکست انجام شوند. برنامه های کاربردی حیاتی نیاز به هر دو سخت افزار و نرم افزار دارند که مهم نیست چه کاری انجام دهند. این باعث شد تا سرمایه گذاری های بزرگی در سیستم های و سیستم های کنترل از دست رفته انجام شود. کاربرد دیگری از بافر های I2C ایجاد یک باس اضافی است. دو بافر، هر دو در حال بازگشت به همان مستر ، می تواند مورد استفاده قرار گیرد برای ارائه امن در مورد یک باس قفل شده و یا به خطر بیافتد. برای کاهش ریسک گذرگاه یا دستگاه، می توان یک باس I2C اضافی با دستگاه های اضافی را استفاده کرد. در زیر یک نمونه از این نوع سیستم نشان داده شده.

 

example system I2C bus with redundant devices

اساسا، Master می تواند پین EN را برای کنترل اینکه آیا گذرگاه در حال حاضر در ارتباط است و در صورت عدم شکستن، به سوئیچ غیر فعال تبدیل می شود. گذرگاه و باس ثانویه می تواند به صورت دوره ای بررسی شود تا مطمئن شود که اگر اولیه نتواند آن را ادامه دهد، آماده است. این تنظیمات این قابلیت را به یک طراحی اضافه می کند و می تواند سودمند باشد زیرا قابلیت اطمینان یک نگرانی اولی است. این پیکربندی اتوبوس های اضافی، دو گروه مستقل از دستگاه های برده را ایجاد می کند. در نتیجه، همچنین می تواند مفید باشد زمانی که یک استاد نیاز به برقراری ارتباط با بردگان در حالت های مختلف داشته باشد (مثلا بعضی از بردگان از حالت Fast Mode استفاده می کنند و دیگران در حالت استاندارد هستند).

نتیجه گیری 

این مقاله بافر I2C و کاربرد های آن را معرفی کرد. گفتیم که بافر می تواند  برای کاهش ظرفیت خازن باس I2C ، کنترل افزایش زمان، اضافه کردن دستگاه های اضافی به باس، دستگاه های رابط در ولتاژ های مختلف و یا حتی برای رابط باس استفاده می شود. درک نحوه عملکرد یک بافر و زمان استفاده از آن یک ابزار دیگر را برای جعبه ابزار مهندسی طراحی فراهم می کند. طرح های بزرگ ترکیبی از تجربه، خلاقیت و تسلط بر مبانی هستند. من امیدوارم که درک شما از I2C اکنون کمی بهتر و برطرف کردن و حل چالش های  آن  کمتر دلهره آور باشد 🙂 .

 

اگر این مطلب برای شما مفید بوده است

با ستاره های زیر امتیاز بدهید

سپاسگزارم 🙂

 

منبع :

allaboutcircuits.com

بافر I2C و استفاده از آن در ارتباط I2C
4.3 (85.71%) 7 votes

درباره ی هادی ندائی

Hadi Nedaee
هادی ندائی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هجده − 8 =

Website Security Test