مقایسه UART و I2C برای سیستمهای نهفته

شما باید بین UART و I2C بر اساس نیازهای پروژه خود را انتخاب کنید. اگه ميخواي سريع تر انتقال داده و سخت افزار ساده،

مقیاس

شما باید بین UART و I2C بر اساس نیازهای پروژه خود را انتخاب کنید. اگر شما می خواهید انتقال داده ها سریع تر و سخت افزار ساده، UART برای ارتباط مستقیم بین اجزای الکترونیکی کار می کند. I2C زمانی که نیاز به اتصال چندین بار داریدمدارهای یکپارهقدرت نگه داشت، يا استفاده کن.حسگرهاو..حافظهچيپسجدول زیر نشان می دهد که مهندس ها چگونه می توانند uart vs i2c برای سیستمهای نهفته را مقایسه کنند.:

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

حذف کلید

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

قراردادهای پایه ای

قرار

نمایش کلید

تو اغلب استفاده میکنیارتشوقتي ميخواي مستقيما دو تا اجزاي الکترونيکي وصل کني.UART به خاطر گیرنده / انتقال دهنده جهانی است.. این پروتکل با دو سیم کار می کند: یکی برای ارسال داده (TX) و یکی برای دریافت داده ها (RX). نيازي به يه سيگنال ساعت مشترک نداري هر وسیله سرعت خودش را تعیین می کند که به صورت باود می گویند، و هر دوی آنها باید هماهنگ با ارتباط برقرار کنند. داده ها با بسته هاي کوچيک سفر ميکنن هر بسته و با يه ذره ايست تموم ميشه

نکته: UART برای اتصالات ساده و نقطه بین نقطه محبوب است.میکرو کنترلرو مدارهاي يکپارکه

این ویژگی های اصلی UART است:

  1. از دو سیم استفاده می کند: TX و RX.
  2. اطلاعات بدون ساعت رو بصورت ناپذير ميفرسته
  3. اطلاعات رو با آغاز، داده ها، عکاسی و متوقف کردن بیت ها.
  4. نياز به نرخ باود
  5. می تواند از سطح ولتاژ متفاوت مانند RS-232 (12 V برای '0'، -12 V برای '1') یا RS-485 استفاده کند.

به خصوص هنگامی که به ارتباط مستقیم و مستقیم بین چیپس نیاز دارید.

نمایش سراسر I2C

I2Cمحدوده ي بين يکپارچي هست وقتی می خواهید چندین مدارهای یکپارچه مانند سنسورها یا تراشه های حافظه روی همان تخته متصل کنید از I2C استفاده کنید. I2C دو سیم استفاده می کند: SCL برای ساعت و SDA برای داده. برخلاف UART، I2C هماهنگ است. دستگاه اصلی سیگنال ساعت رو تولید میکنه و همه ی دستگاه ها این زمان رو دنبال میکنن هر دستگاه یک آدرس منحصر به فرد دارد، بنابراین می توانید به 127 دستگاه در یک اتوبوس متصل شوید.

  • آی 2 سی چندین ارباب و برده ها رو حمایت میکنه
  • ارباب ساعت رو کنترل ميکنه و برده ها رو رد ميکنه
  • داده ها از اتوبوس مشترک حرکت میکنند و به اضافه کردن اجزای بیشتری آسان می باشد.
  • I2C از سطح ولتاژ پایین تر استفاده میکنه که به قدرت کمک میکنه

شما اغلب I2C را برای پروژه هایی انتخاب می کنید که به تعدادی از سنسور یا تراشه ها نیاز دارند که با هم کار کنند. پروتکل ساده می شود که سیستم شما را مقیاس کنید و مدارهای یکپارک متفاوت را متصل کنید.

هنگامی که شما می توانید رسیدن و آی2c را مقایسه کنید، می بینید که UART برای پیوندهای ساده و مستقیم بهتر است، در حالی که I2C در سیستم های پیچیده با دستگاههای بسیاری درخشید

UART vs I2C: تفاوتهای کلیدی

سرعت

هنگامی که شما می توانید رسیدن به یک سرعت یکی از اولین چیزهایی است که متوجه می شوید. UART می تواند به نرخ اطلاعات بالا، مخصوصاً در ارتباط مستقیم بین اجزای الکترونیکی رسید. بسیاری از سیستم های نهفته استفاده از نرخ های معمولی مانند ۱۵۲۰۰ بیپس یا ۲۰۰۴۰ بی پی. برخی تراشه هایی مانند TL16C752D سرعت پشتیبانی می باشد۳ مگابیت در ثانیه.

دستگاهحداکثر میزان داده
TL16C752D۳ مگابیت در ثانیه

I2C چندین حالت سرعت پیشنهاد میکنه حالت استاندارد تا ۱۰۰ کیلومتر/ثانیه پشتیبانی می کند ، حالت سریع تا ۴۰۰ کیلوبیت/ ثانیه بالا می رود ، و حالت سرعت بالا۳.۴ بیم / ثانیه. حالت اول سرعتی می تواند ۵ بیت / ثانیه ضربه بزند، ولی به ندرت اینو ببینیدحسگريا اتصالات حافظه

حالت سرعتمیزان انتقال داده
حالت استاندارد۱۰۰ کیلوبیت/ثانیه
حالت سریع۴۰۰ کیلوبیت/ ثانیه
& جمع به حالت سریع۱ بیم / ثانیه
حالت سرعت بالا۳.۴ بیم / ثانیه
حالت ابتدای سریع۵ مئیت/ ثانیه
میل

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

مصرف برق

وقتی سیستم های طراحی شده رو با سنسور یا تراشه های حافظه طراحی میکنی I2C از سطح ولتاژ پایین تر استفاده می کند و ویژگی های ذخیره قدرت را پشتیبانی می کند. شما اغلب I2C در دستگاه های باطری را می بینید چون به شما کمک می کند انرژی را ذخیره کنید. UART می تواند از ولتاژ بالاتر استفاده کند، مانند RS-232، که می تواند استفاده از قدرت را افزایش دهد. اگه ميخواي دوتا چيپس وصل کني و نگران زندگي باطري نباشي، "يوارت" خوب کار ميکنه. اگر شما یک سیستم با تعداد زیادی از حسگرهای قدرت پایین بسازید، I2C انتخاب بهتری است.

پیچیدگی سخت افزار

شما باید درباره ی سیم گیری و شماره ی پین فکر کنید وقتی که اوورت در برابر آی2c مقایسه می کنید. هر دو پروتکل از دو سیم استفاده میکنن ولی روشی که تو وصل میکنی متفاوته

ویژهارتشI2C
شمارش پین۲) تکس و Rx (۲ (SDA و SCL )
پیچیدگی سیمساده ، نقطه به نقطهپیچیده با دستگاههای چندگانه و نشانی
  • UART از سیستم دو سیم (Tx و Rx) برای ارتباط مستقیم بین دو اجزای الکترونیکی استفاده می کند.
  • I2C همچنین از دو سیم (SDA و SCL) استفاده می کند. هر دستگاهی به یک آدرس منحصر به فرد نیاز دارد که پیچیدگی اضافه می کند.

راهنمایی: اگر می خواهید سیم ساده بین دو چیپس راحت تر است. اگر برنامه ریزی کنید که چندین سنسور یا چیپس حافظه را متصل کنید I2C به شما کمک می کند که اتصالات را مدیریت کنید ولي شما بايد سيم هاي پيچيده تر و آدرس رو کنترل کنيد

مقیاس پذیری

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

  • واسه ارتباط 1:1 بهتره شما می توانید از RS232 تا 50 فوت در بار 19200 باد استفاده کنید، اما اضافه کردن دستگاه های بیشتری سخت است.
  • I2C از نشانی ۷ بیتی استفاده می کند ، بنابراین می توانید متصل شویدتا 127 دستگاه...تو يه اتوبوس عدد واقعی بستگی به ظرفیت اتوبوس و پشتیبانی دستگاه دارد.
قراردستگاههای بیشینه پشتیبانی می شودیادداشتها
ارتش۲) نقطه به نقطه (افزودن دستگاههای بیشتری پیچیدگی را افزایش می دهد
I2Cتا 127محدود با فضای آدرس و ظرفیت اتوبوس

دستگیری: اگر شما نیاز دارید که تعدادی حسگر ها یا تراشه های حافظه را به هم متصل کنید، I2C انتخاب بهتری است. برای پیوندهای ساده و مستقیم بین دو مدار یکپارچه، UART برای استفاده آسان تر است.

،وقتي که شما اُوِرِت و آي 2c مقايسه کنيد هميشه پروتکل با نياز هاي سيستمتون تطبيق ميده سرعت، قدرت، پیچیدگی سخت افزار و مقیاس پذیری همگی تاثیر گذاشتن اجزای الکترونیکی و مدارهای یکپارکتان را با هم کار می کنند.

روش های ارتباطی

نقطه به نقطه

شما اغلب از ارتباط نقطه به نقطه استفاده می کنید وقتی که مستقیماً دو اجزای الکترونیکی وصل می کنید. اوهار اين تنظيمات رو ساده مي کنه شما فقط دو سیم نیاز دارید و نباید نگران آدرس های دستگاه باشید. این روش برای پیوندهای ابتدایی بین میکرو کنترلر ها به خوبی کار میکنهمدارهای یکپاره. شما کمتر از بالا و دسترسی گسترده ای هستید که به شما کمک می کند که ارتباطات قابل اطمینان را سریع بسازید

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

این یک میز است که مزیت ها و ضعیف ها را نشان می دهداستفاده از ارتباطات نقطه به نقطه با UART و I2C:

قرارسود هاضرر
ارتشپیاده سازی ساده
دسترسی گسترده
.3
فاصله محدودی
2. تابعیت محدوده
بدون نشانی
I2C1. نشانی
2. آشکارسازی خطا
قابل گسترده
سرعت محدوده
فاصله محدودی
پیچیدگی ۳

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

دستگاه چندگانه

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

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

هنگامی که از I2C برای ارتباط چند دستگاه استفاده می کنید، با برخی از چالش هایی روبرو می شوید:

شما باید در مورد این فاکتورها فکر کنید هنگامی که بین uart vs I2c برای اتصال چندین اجزای الکترونیکی و مدارهای یکپارچه انتخاب می کنید. I2C به شما کنترل و اعتماد بهتر میده ولی شما باید پیچیدگی اضافه رو مدیریت کنید.

مورد استفادها

استفاده

چه زمانی استفاده می شود

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

اينم چندتاييمورد استفاده معمولی برای UART در سیستمهای نهفته:

حالت استفادهتوصیف
ارتباط میکرو کنترلرشما می توانید داده های بین میکرو کنترل ها و دستگاه های پوری در رباتیک و اتوماتیک عوض کنید.
پیمانه های ارتباط بی سیمUART به شما اجازه می دهد که پیمانه هایی مانند Zigbee یا LoRa برای انتقال داده بی سیم متصل شوید.
پیمانه های GPSشما از UART برای گرفتن داده های محل از ماژول های جی پی اس به میکروک کنترلر خود استفاده می کنید.
ارتباط بلوتوتUART میکرو کنترلگرها به ماژول های بلوتوث را برای کنترل بی سیم متصل می کند.
برنامه نویسی ریز کنترل هاییبا استفاده از رابطه های UART را آپلود می کنید.
خودکار صنعتیUART تحت کنترل و کنترل زمان واقعی در سیستم های صنعتی را قادر می سازد.
درشت هوشمندیشما اطلاعات مصرف بین متر باهوش و میکرو کنترلر ها میفرستید.
واسط انسان و ماشین (HMI)UART میکرو کنترلر ها را برای نمایش واسطه های کاربر متصل می کند.
الکترونیک خودروییشما ارتباطات بین میکرو کنترل کننده ها و سنسورها در ماشین ها را آسان می سازید
ارتباط متوالیUART برای انتقال داده های بین کامپیوترها و پوریفر ها پشتیبانی می کند.

نکته: اگر پروژه شما به سریع اتصال ساده بین دو دستگاه نیاز دارد، UART راه حلی را به شما می دهد.

زمانی استفاده I2C

هنگامی که می خواهید چندین مؤلفه الکترونیکی یا متصل شودمدارهای یکپارهتوي همون تخته.I2C به خوبی برای ارتباط دوری کوتاه کار می کندمخصوصا بر روی تخته مدار چاپ شده (PCBs) یا بین ماژولهایی که نزدیک نشستند. پروتکل فقط دو سیم استفاده میکنه که طراحیتون رو ساده نگه میداره و هزینه های کمتری میکنه تو قدرت رو ذخیره میکنی و انتخاب هوشمندانه ای برای دستگاه های باطری تبدیل میکنی

I2C به شما کمک می کند تا سنسور ها، EEPROM و نمایش های کوچک به میکروک کنترلر شما متصل شوید. می توانید به 127 دستگاه اضافه کنید، هر کدام با آدرس منحصر به فرد است. بسیاری از پلتگاه هایی مانند Arduino و راسپبری پی، از لحاظ اصلی I2C حمایت می کنند، بنابراین شما می توانید سریع ساخت پروژه ها را شروع کنید. شما اغلب از I2C در سیستم هایی استفاده می کنید که به چند سنسور یا تراشه های حافظه احتیاج دارند که با هم کار می کنند.

توجه: I2C برای طراحی قابل مقیاس ایده است که شما نیاز به بسیاری از مدارهای یکپارچه یا اجزای الکترونیکی با سیم کمتری متصل شوند.

محدودها

چالش هایی

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

  • طول کابل محدودهميتونه باعث اشتباهات ارتباط بشه
  • کمبود کنترل جریان درون می تواند باعث اطلاعات اضافه شده در صورتی که دستگاه دریافت شما نمی تواند ادامه دهد.
  • UART فقط دو تا دستگاه در هر لحظه پشتیبانی میکنه که باعث میشه اندازه سیستم شما سخت بشه
  • مشکلات همگام سازیاگر دستگاه ها با نرخ و تنظيمات باود
  • اشکال زدایی می تواند کند باشد. ممکن است نیاز به خروجی UART به صورت دستی بررسی کنید، که زمان می برد.

راهنمایی: می توانید اعتباری را بهبود دهیدافزودن بررسی خطامثل بررسي مهندسان اغلب برای کاهش کابل های طولانی تر می توانند از سیگنال متفاوتی مانند RS-485 برای کاهش صدا استفاده کنند.

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

چالش های I2C

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

  • مشکل سیگنال ساعت
  • در صورتی که دو دستگاه همان آدرس را به اشتراک بگذارند ممکن است رخ دهد.
  • مقاومت ها بايد ارزش درستي داشته باشن اگر نه ، ارتباط رنج می برد .
  • سر و صدا و صدا مي تونه باعث اشتباهات داده بشه
  • مشکلات کشيدن ساعت ممکنه منجر به اتمام زمان بشه
  • حشرات نظامي ميتونن ارتباطات رو به هم بزنن

نکته: شما می توانید با استفاده از ابزارها برای بررسی آدرسها و محاسبه ظرفیت بسیاری را حل کنید. بعضی از دستگاه ها به شما اجازه می دهد که آدرس ها را با وصل کردن پین ها به زمین و یا ولتاژ عوض کنید. بافرهای I2C به مدیریت ظرفیت کمک می کنند و اجازه ارتباط بین دستگاه های با سطوح ولتاژ متفاوت می دهند.

شما باید بررسی کنید که همه ی دستگاه ها همان ولتاژ و سرعت ساعت را پشتیبانی می کنند. اگر اتصالات SDA و SCL را ترکیب کنید، سیستم شما کار نمی کند. طراحی با دقت به شما کمک می کند که از این مشکلات دوری کنید و سیستم های زیبای قابل اعتماد بسازید .


تو ديدي که اوهارت بهت ميدهپیوندهای ساده ، مستقیمبین دو اجزای الکترونیکی یا مدارهای یکپارد آی 2سی به شما اجازه می دهد که تعداد زیادی از دستگاه ها را با سیم کمتر وصل کنید هر پروتکل قدرت دارد:

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

برای اتصالات سریع و ساده انتخاب کنید. I2C را برای سیستمهای قابل مقیاس انتخاب کنید. همیشه قرارداد خود را با نیازهای پروژه تان برای بهترین نتایج تطبیق کنید.

FAQ

تفاوت اصلی بین UART و I2C برای اجزای الکترونیکی چیست؟

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

می توانید از UART و I2C در یک سیستم نهفته استفاده کنید؟

بله، شما ميتونيد UART و I2C ترکيب کنيد. شما چند تا مدارهای یکپارک رو با سرعت وصل می کنید. شما از آی 2 سی برای سنسور یا تراشه های حافظه استفاده می کنید. اين تنظيمات بهت انعطاف پذير ميده

کدوم پروتکلي انرژي بيشتري در دستگاه هاي قدرت باطري ذخيره ميکنه؟

I2C از سطح ولتاژ پایین تر استفاده می کند. وقتي که حسگرها يا تراشه هاي حافظه رو وصل ميکني ولتاژ بالاتر استفاده ميکنه که استفاده از قدرت رو افزايش ميده

چند تا اجزای الکترونیکی میتونید با UART و I2C متصل شوید؟

قراردستگاههای بیشینه
ارتش2
I2Cتا 127

تو فقط دو مدار یکپارچه رو به ارتباط برقرار کنی I2C به شما اجازه می دهد تعداد زیادی از اجزای الکترونیکی اضافه کنید.

چه اتفاقي مي افته اگه دو تا دستگاه I2C همون آدرس رو به اشتراک بگذارن؟

ممکن است خطاهای ارتباطی را ببینید. ارباب نميتونه دستگاه ها رو از هم جدا کنه شما باید تنظیم کنیدنشانیهای یکتاییبرای هر مدار یکپارچه برای جلوگیری از مشکلات.

Related Articles