PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : I2c , twi



Caspian1361
01-12-2010, 16:29
یه سوال دارم:
I2C با TWI فرق دارن؟
اینجوری که من فهمیدم I2C برای ارتباط با EEPROM و اینجور IC ها خوبه، دستوراتشم تو Codevision هست و ارتباط برقرار کردن باهاش راحته.
ولی اگه بخواهیم دو تا میکرو رو بهم وصل کنیم باید بجای I2C از TWI استفاده کنیم، که دنگ و فنگش بیشتره.
I2C یه فرقه دیگه هم داره، البته شک دارم، اگه دوستان مطمئن هستند، تایید کنند، و اون این که پایه های I2C رو میشه تو برنامه تعریف کرد و هر پایه ای رو برای این کار در نظر گرفت (این کار رو خودم عملی اجرا کردم) ولی برای TWI ظاهراً فقط باید از همون پایه هایی استفاده کنیم که SCL و SDA هستند.
آیا مطالب فوق درسته.
ممنون از همه دوستان.

fatemehjml
01-12-2010, 17:06
این دو تا تفاوتی از لحاظ پیاده سازی با همدیگه ندارن ولی ویکیپدیا یه تفاوتش رو اینطوری گفته بود:



I²C is the basis for the ACCESS.bus (You can see links before reply), the VESA (You can see links before reply) Display Data Channel (You can see links before reply) (DDC) interface, the System Management Bus (You can see links before reply) (SMBus), Power Management Bus (You can see links before reply) (PMBus)and the Intelligent Platform Management Bus (IPMB, one of the protocols of IPMI (You can see links before reply)). These implementations have differences in voltage and clock frequency ranges, and may have interrupt lines (You can see links before reply).


TWI (Two Wire Interface) or TWSI (Two-Wire Serial Interface) is essentially the same bus implemented on various system-on-chip processors from Atmel (You can see links before reply) and other vendors.[6] (You can see links before reply_note-5) Vendors use the name TWI, even though I²C is not a registered trademark. Trademark protection only exists for the respective logo (See upper right corner) and patents on I²C have now lapsed



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

af53
02-12-2010, 13:40
این دو با هم هیچ فرقی ندارند تنها فرقشون اینه که رابط twi که پایه هاش رو میکرو مشخصه بردار وقفه داره ولی وقتی بصورت نرم افزاری اجراش میکنید دیگه نمیتونید از وقفه استفاده کنید و مجبورید خودتون دائما بهش سر بزنید

agape
02-12-2010, 14:36
نه این دوتا یکی هستند !
مثل آب و ماء ، هر دو یکی هستند ، دلیل این که میشه تو کدویژن پایه های دیگه رو به عنوان twi استفاده کرد اینه که کدویژن اون ها رو به صورت نرم افزاری شبیح سازی کرده نه سخت افزاری و به همین دلیل که میتونید رو هر پایه دلخواهی ازش استفاده کنید!
مثل پورت سریال تو بیسکام که میشه هر پایه دلخواهی رو بهش اختصاص داد

Division
03-12-2010, 12:14
با سلام

تعریف کتابی :
رابط سریال دوسیمه TWI >> Two Wire Serial Interface که در برخی مواقع به آن I2C >> Inter_IC نیز می گویند (در واقع I2C یه پروتکل ارتباطی TWI است) اولین بار توسط کمپانی Philips طراحی و اجرا شد .


این واسط از طریق دو سیم SCL و SDA که یکی برای انتقال دیتا و دیگری برای انتقال پالس ساعت با وسایل جانبی ارتباط برقرار می کند .
---------------------------------------------------------------------

ولی توضیحش این مدلی میشه :
TWI یعنی دسترسی سخت افزازی به این نوع اینترفیس به صورتی که شما فقط از پایه های SDA و SCL میکرو می تونید استفاده بکنید .

I2C یعنی شما به کمک یه سری توابع آماده در کامپایلر مربوطه (که بیشتر کدویژن و بسکام مد نظر هستش) می تونید به راحتی هر پایه ای از میکرو را که خاصیت I\O رو داشته باشید رو به عنوان درگاه این نوع اینترفیس سریال تعریف کنید .
که البته این توابع با میکروکنترلرها بصورت Master و با دستگاههای جانبی بصورت Slave رفتار می کنند .

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

در آخر بازم تاکید می کنم که ارتباط TWI و I2C در حقیت یه نوع ارتباط هستن حتی نمودارهای لاجیکی یکسانی براشون رسم میشه تنها تفاوت بارز سخت افزاری و نرم افزاری بودنشون هستش .

موفق باشید .:wink:

siavosh1
28-02-2016, 18:44
در آخر بازم تاکید می کنم که ارتباط twi و i2c در حقیت یه نوع ارتباط هستن حتی نمودارهای لاجیکی یکسانی براشون رسم میشه تنها تفاوت بارز سخت افزاری و نرم افزاری بودنشون هستش .

پس اگه بگیم که i2c از twi کندتره باید درست باشه یا به عبارت دیگه i2c پالس ساعت بیشتری مصرف میکنه چون داره یک سیمولیشن برای یک کار سخت افزاری انجام میده و طبیعاتاً باید به نسبت روش سخت افزاری کندتر باشه حرف درستیه؟

mohammadne
28-02-2016, 19:34
سلام، مثل اینکه بعضی موارد در مورد I2C و TWI عکس گفته شد.
I2C رو در میکروهای سرعت پایین بخاطر بالا بودن سرعت استاندارد این پروتکل (100Khz ) فقط میشه با استفاده از پینهای سخت افزاری روی میکرو پیاده کرد در حالی که TWI رو میشه با بیت بنگ کردن هر کدوم از پینهای GPIO راه اندازی کرد. بیشتر در سنسورها و بعضی قطعات بخاطر پایین بودن تکنولوژی ساخت یا دلایل دیگه مثلا کم کردن یا زیاد کردن فرکانس کلاک یا ارسال دیتا به صورت 10 یا 14 بیتی از پروتکل استاندارد I2C استفاده نکردن و در نتیجه بجای اون از سه حرف اختصاری TWI استفاده شده،یا مثلا برخی شرکتها برای اینکه سرعت انتقال دیتا بین چند CPLD رو بالا ببرن از یه پروتکل شبیه به I2C استفاده میکنن اما چون سرعت کلاک و استاندارش فرق داره نمیشه اسمشو I2C گذاشت.