I2C: توضیحات به زبان روسی

فهرست مطالب:

I2C: توضیحات به زبان روسی
I2C: توضیحات به زبان روسی
Anonim

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

  • یک واحد کنترل "هوشمند" خاص، که در اکثر موارد یک میکروکامپیوتر تک تراشه است؛
  • قطعات عمومی مانند بافرهای LCD، RAM، پورت های I/O، EEPROM یا مبدل های داده اختصاصی؛
  • اجزای خاص از جمله تنظیم دیجیتال و مدارهای پردازش سیگنال برای سیستم‌های ویدئویی و رادیویی.

چگونه برنامه آنها را بهینه کنیم؟

شرح مختصری از رابط های uart spi i2c
شرح مختصری از رابط های uart spi i2c

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

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

مزایای کلیدی

رابط i2c
رابط i2c

حتی اگر به توضیح مختصری از رابط های UART، SPI، I2C نگاه کنید، می توانید مزایای زیر را برجسته کنید:

  • برای کار، فقط به دو خط نیاز دارید - همگام سازی و داده. سپس هر دستگاهی که به چنین گذرگاهی متصل می شود، می تواند به صورت برنامه نویسی به یک آدرس کاملاً منحصر به فرد آدرس دهی شود. در هر زمان معین، یک رابطه ساده وجود دارد که به استادان اجازه می‌دهد به عنوان فرستنده اصلی یا گیرنده اصلی عمل کنند.
  • این گذرگاه توانایی داشتن چندین استاد را به طور همزمان فراهم می کند، همه ابزارهای لازم برای تعیین برخوردها و همچنین داوری برای جلوگیری از خراب شدن داده ها در صورتی که دو یا چند استاد به طور همزمان شروع به انتقال اطلاعات کنند، فراهم می کند. در حالت استانداردفقط انتقال اطلاعات سریال 8 بیتی با سرعت حداکثر 100 کیلوبیت در ثانیه ارائه می شود و در حالت سریع می توان این آستانه را چهار برابر افزایش داد.
  • تراشه‌ها از یک فیلتر داخلی ویژه استفاده می‌کنند که به طور موثری نوسانات را سرکوب می‌کند و حداکثر یکپارچگی داده را تضمین می‌کند.
  • حداکثر تعداد ممکن تراشه‌هایی که می‌توان به یک گذرگاه متصل کرد، تنها با حداکثر ظرفیت ممکن 400 pF محدود می‌شود.

مزایا برای سازندگان

رابط i2c lcd1602
رابط i2c lcd1602

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

مزایای زیادی وجود دارد که رابط I2C را متمایز می کند. توضیحات، به ویژه، به شما امکان می دهد مزایای زیر را برای سازنده ها ببینید:

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

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

  • درجه مقاومت به اندازه کافی در برابر هرگونه تداخل در حال ظهور.
  • در نهایتمصرف برق کم.
  • وسیع ترین محدوده ولتاژ منبع تغذیه.
  • بازه دمای وسیع.

مزایا برای فن‌شناسان

شایان ذکر است که نه تنها طراحان، بلکه فن‌آوران نیز اخیراً شروع به استفاده از رابط تخصصی I2C کرده‌اند. توضیحات به زبان روسی نشان دهنده طیف نسبتاً گسترده ای از مزایایی است که این دسته از متخصصان ارائه می دهند:

  • یک گذرگاه سریال استاندارد دو سیمه با این رابط، اتصالات بین آی سی ها را به حداقل می رساند، به این معنی که پین های کمتری وجود دارد و تراک های کمتری مورد نیاز است، و PCB ها ارزان تر و بسیار کوچکتر می شوند.
  • رابط I2C کاملاً یکپارچه LCD1602 یا گزینه دیگری نیاز به رمزگشاهای آدرس و سایر منطق کوچک خارجی را کاملاً از بین می برد.
  • امکان استفاده همزمان از چندین Master در چنین اتوبوسی وجود دارد که به طور قابل توجهی سرعت تست و راه اندازی تجهیزات بعدی را افزایش می دهد، زیرا اتوبوس می تواند به یک کامپیوتر خط مونتاژ متصل شود.
  • در دسترس بودن آی سی های سازگار با این رابط در بسته های VSO، SO، و سفارشی DIL می تواند به میزان قابل توجهی مورد نیاز اندازه دستگاه را کاهش دهد.

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

نوسازی بیشتر تجهیزات و گسترش عملکردهای آن را می توان با استفاده از اتصال استاندارد به گذرگاه ریزمدار مربوطه با استفاده از رابط Arduino 2C یا هر مورد دیگری از لیست موجود انجام داد. اگر یک رام بزرگتر مورد نیاز است، تنها انتخاب یک میکروکنترلر دیگر با رام افزایش یافته کافی است. از آنجایی که تراشه های به روز شده می توانند در صورت لزوم به طور کامل جایگزین تراشه های قدیمی شوند، می توانید به راحتی ویژگی های جدید را به تجهیزات اضافه کنید یا با جدا کردن تراشه های منسوخ شده و جایگزین کردن آنها با تجهیزات جدیدتر، به راحتی عملکرد کلی آن را افزایش دهید.

ACCESS.bus

با توجه به دو سیم بودن گذرگاه و همچنین امکان آدرس دهی برنامه، یکی از ایده آل ترین پلتفرم ها برای ACCESS.bus رابط I2C است. مشخصات (توضیحات به زبان روسی در مقاله ارائه شده است) این دستگاه آن را جایگزین بسیار ارزان تری برای رابط RS-232C که قبلاً به طور فعال مورد استفاده قرار می گرفت، برای اتصال دستگاه های جانبی مختلف به رایانه ها با استفاده از یک رابط استاندارد چهار پین تبدیل می کند.

معرفی مشخصات

توضیح رابط i2c به زبان روسی
توضیح رابط i2c به زبان روسی

برای کاربردهای مدرنکنترل 8 بیتی که از میکروکنترلرها استفاده می کند، می توان معیارهای طراحی را تعیین کرد:

  • سیستم کامل عمدتاً شامل یک میکروکنترلر و سایر تجهیزات جانبی، از جمله حافظه و پورت های ورودی/خروجی مختلف است؛
  • هزینه کل ترکیب دستگاه های مختلف در یک سیستم باید تا حد امکان به حداقل برسد؛
  • سیستمی که عملکردها را کنترل می کند، نیازی به ارائه اطلاعات با سرعت بالا ندارد؛
  • بازده کل به طور مستقیم به تجهیزات انتخاب شده و همچنین ماهیت باس اتصال بستگی دارد.

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

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

مفهوم اصلی

شرح مشخصات رابط i2c به زبان روسی
شرح مشخصات رابط i2c به زبان روسی

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

در اکثر موارد، بافر LCD یک گیرنده استاندارد است و حافظه نه تنها می تواند داده های مختلف را دریافت کند، بلکه می تواند انتقال دهد. از جمله، با توجه به روند جابجایی اطلاعات، دستگاه ها را می توان به عنوان برده و استاد طبقه بندی کرد.

در این مورد، Master دستگاهی است که انتقال داده را آغاز می کند و همچنین تولید می کند.سیگنال های همگام سازی در این صورت، هر دستگاه آدرس پذیر در رابطه با آن به عنوان برده در نظر گرفته می شود.

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

تولید سیگنال ساعت به عهده استاد است و هر Master سیگنال خود را در حین انتقال داده تولید می کند و فقط در صورتی می تواند بعداً تغییر کند که توسط یک Slave کند یا یک Master دیگر در هنگام برخورد "کشیده شود"

پارامترهای عمومی

هر دو SCL و SDA خطوط دو جهته هستند که با یک مقاومت کششی به منبع تغذیه مثبت متصل می شوند. هنگامی که تایر کاملا آزاد است، هر خط در موقعیت بالایی قرار دارد. مراحل خروجی دستگاه هایی که به باس متصل می شوند باید open-drain یا open-collector باشند تا بتوان عملکرد سیمی AND را ارائه کرد.اطلاعات از طریق رابط I2C با سرعت حداکثر 400 کیلوبیت در ثانیه قابل انتقال است.حالت سریع، در حالی که سرعت استاندارد از 100 کیلوبیت بر ثانیه تجاوز نمی کند. تعداد کل دستگاه هایی که می توانند به طور همزمان به اتوبوس متصل شوند تنها به یک پارامتر بستگی دارد. این ظرفیت خط است که بیشتر از 400 pf نیست.

تأیید

توضیحات رابط i2c
توضیحات رابط i2c

تأیید یک رویه اجباری در فرآیند انتقال داده است. Master پالس همگام سازی مناسب را تولید می کند در حالی که فرستنده خط SDA را در طول این پالس همگام سازی به عنوان یک تأیید آزاد می کند. پس از آن، گیرنده باید اطمینان حاصل کند که خط SDA در طول حالت بالای ساعت در حالت پایین پایدار ثابت نگه داشته می شود. در این مورد، حتماً زمان‌های تنظیم و نگهداری را در نظر بگیرید.

در اکثر موارد، برای گیرنده آدرس‌دهی اجباری است که پس از هر بایت دریافتی، یک تصدیق ایجاد کند، به استثنای زمانی که شروع انتقال شامل یک آدرس CBUS باشد.

اگر گیرنده-slave راهی برای ارسال تایید آدرس خود نداشته باشد، خط داده باید بالا بماند و سپس master می تواند سیگنال "Stop" را صادر کند که ارسال آن را قطع می کند. تمام اطلاعات اگر آدرس تأیید شده است، اما Slave نمی تواند اطلاعات بیشتری را برای مدت طولانی دریافت کند، master نیز باید ارسال را قطع کند. برای انجام این کار، Slave بایت بعدی دریافتی را تایید نمی کند و به سادگی خط را ترک می کند.بالا، که باعث می شود استاد یک سیگنال توقف تولید کند.

اگر رویه انتقال حضور یک گیرنده اصلی را پیش بینی کرده باشد، در این صورت باید پایان ارسال را به Slave اطلاع دهد و این کار با عدم تایید آخرین بایت دریافتی انجام می شود. در این حالت، فرستنده slave بلافاصله خط داده را آزاد می کند تا Master بتواند سیگنال "Stop" را صادر کند یا سیگنال "Start" را دوباره تکرار کند.

برای بررسی اینکه آیا تجهیزات کار می کنند، می توانید مانند عکس بالا نمونه های استاندارد طرح ها را برای رابط I2C در آردوینو وارد کنید.

داوری

رابط آردوینو 2c
رابط آردوینو 2c

Masterها می توانند ارسال اطلاعات را تنها پس از آزاد شدن کامل اتوبوس آغاز کنند، اما دو یا چند استاد می توانند سیگنال شروع را در حداقل زمان نگهداری تولید کنند. این در نهایت منجر به یک سیگنال "شروع" خاص در اتوبوس می شود.

داوری روی گذرگاه SDA کار می کند در حالی که گذرگاه SCL بالا است. اگر یکی از Master ها شروع به انتقال سطح پایین روی خط داده کند، اما در عین حال دیگری بالا باشد، در این صورت ارتباط دومی به طور کامل از آن جدا می شود، زیرا حالت SDL با حالت بالای خط داخلی آن مطابقت ندارد..

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

اگر کارشناسی ارشد داوری را از دست بدهد، می تواند پالس های ساعت را در SCL تا پایان بایت صادر کند که در طی آن دسترسی از بین رفته است.

توصیه شده: