در دنیای صنعتی امروز ، انتقال دیتا به عنوان یکی از مهمترین بخشهای پروسه های کنترلی شناخته شده است و طراحان در تلاش برای بوجود آمدن پروتکل های جدیدی با ایمنی ، صحت و سرعت بالا در انتقال دیتا هستند. در این مقاله ، در ابتدا به معرفی تبادل دیتا (Data Communication) پرداخته و برخی از مباحث کلیدی آن از جمله ارتباط سریال و موازی ، فزستنده و گیرنده ، اتصالات و تبادل شفاف ، ساختار Master-Slave ، سرعت انتقال ، مدوله سازی ، Handshaking را مختصراً توضیح می دهیم. سپس به قسمت اصلی مقاله ، معرفی پروتکل I2C می پردازیم . این پروتکل توسط شرکت فیلیپس در دهه 1980 جهت ارتباط دستگاههای TV با پردازشگر ابداع شده است. که بدلیل سادگی و سرعت مناسب آن مورد توجه دیگر سازندگان قطعات الکترونیک قرار گرفت و هم اکنون به عنوان یکی از پروتکل های کاربردی در صنعت شناخته شده است. در این مقاله به جزئیات فنی این پروتکل و کاربردهای آن در بخشهای مختلف پرداخته ایم.
کلمات کلیدی :
I2C ، میکروکنترلر، همزمان سازی، SDA ، SCL ، Handshaking ، Baud rate ، DTE ، DCE ، Master ، Slave ، OSI ، Wired-AND ، open-collector ، open-drain ، current-source ، Arbitration ، Acknowledge ، RS-232 ، SERVO ، Hub ، Repeater ، Extender ، GPIO ، Multiplexer ، LED
چگونه تبادل دیتا انجام می پذیرد؟
هدف از تبادل دیتا ، انتقال دیت بین 2 یا تعداد بیشتری واحد می باشد. به عنوان یک اصل ، آنها می توانند کاراکتر، دستورات باشند که نیاز به نمایش دارند.ساده ترین سطح زبان کامپیوتر ، کاراکترهای باینری است که شامل 7 یا 8 ، عدد صفر یا یک می باشد. اکثر کامپیوترها با این سطح کار می کنند.
تبادل دیتا اساساً با صفر و یک صورت می گیرد.
یکی از استانداردهای معمول در کامپیوترها ، استاندارد ASCII می باشد که شامل 128 کاراکتر است که هر کدام از آنها از 7 بیت تشکیل شده است. باید توجه داشت که ارتباطات در داخل کامپیوتر با سرعت زیادی انجام می شود و برای ارتباط با محیط خارج باید ارتباطات همزمان شوند و همچنین باید صحت تبادل دیتا ، کنترل شود.
استانداردهای مختلفی از ASCII وجود دارد. به عنوان مثال Extended ASCII که از هشتمین بیت نیز برای انتقال data استفاده می کند.
یک بیت در هر زمان یا یک بایت بطور کامل
دو روش برای انتقال دیتا وجود دارد :
1- سریال
2- موازی
در انتقال موازی ، برای هر بیت یک مسیر در نظر گرفته شده است. بنابراین کاراکترها می توانند بطور همزمان ارسال شوند. با توجه به این مزیت، که سرعت بالای انتقال است این روش در سیستمهای ارتباطی کوتاه مورد استفاده قرار می گیرد.
در مقابل ، در روش سریال هر بیت در هر لحظه فرستاده می شود. بنابراین پروتکل ارتباطی ، باید بتواند برای مقصد ، ابتدا و انتها را مشخص کند. علاوه بر این، سرعت انتقال نیز با واحد bit/s معرفی می شود.
یک کاراکتر در یک زمان یا یک جمله کامل
ما دو روش برای انتقال سریال داریم :
- انتقال غیر همزمان (Asynchronous)
- انتقال همزمان (synchronous)
در انتقال غیر همزمان ، ترانسمیتر، کاراکترها را در یک لحظه با بیت start و stop می فرستد. و گیرنده هر بیت start را که دریافت می کند، بقیه بیتها را به عنوان کاراکتر تفسیر می کند. و بیت stop گیرنده را ریست می کند. در حدود 90 تا 95 درصد از انتقال نوع سریال data بصورت غیر همزمان است.
در انتقال همزمان همه پیام ها در یک لحظه فرستاده می شود. سرعت انتقال توسط خط clock بر روی یک سیم جداگانه یا بصورت مدوله شده بر روی سیگنال دیتا ، تعیین می شود. عیب روش غیر همزمان در مقابل روش همزمان این است که حدود 20 الی 25 درصد پیغام شامل بیتهای پریتی می باشد.
فرستنده و گیرنده
در مبحث تبادل دیتا ، سخت افزارهایی با نام فرستنده و گیرنده وجود دارد. مانند PC و ربات که می توانند هم به عنوان گیرنده و هم به صورت فرستنده در یک زمان عمل کنند.
این انتقال به سه روش می تواند انجام شود:
- simplex : انتقال دیتا تنها یک طرفه است و از جانب فرستنده به گیرنده ، روی یک line می باشد.
- Half duplex : انتقال دیتا ، به صورت دو طرفه می باشد ولی نه بصورت همزمان بلکه روی دو line جداگانه انجام می پذیرد.
- Full duplex : انتقال دیتا ، به صورت دو طرفه ، همزمان روی یک line انجام می پذیرد.(مانند انتقال دیتا در مکالمات تلفنی)
اتصال صحیح :
DTE(data terminal equipment) و DCE(data communication equipment) از جمله اصطلاحاتی است که در تبادل دیتا وجود دارد. کامپیوترها و ترمینالها معمولاً DTE هستند، مودم و سخت افزارهای ارتباطی معمولاً DCE هستند در حالی که تجهیزات دیگری تظیر مولتی پلکسرها و پرینترها می توانند هم DTE و هم و هم DCE باشند. در DTE پینهای استفاده شده برای انتقال و دریافت دیتا متفاوت با پینهای کانکتور DCE می باشند. بدین ترتیب می توان DTE را مستقیماً به DCE متصل کرد. در صورتی که دو DCE را به هم متصل کنیم مجبوریم که فرمت اتصال را تغییر دهیم تا خط TD(Transmit Data) بر خط RD(receive data) منطبق شود.
تبادل شفاف (transparent communication)
در سیستمهای کامپیوتری که بوسیله تعدادی مودم با هم شبکه شده اند از ارتباط شفاف استفاده می کند. شفافیت به معنای این است که همه واحدها همه پیغامها را می شنوند.
ساختار Master-Slave
بخش گسترده ای از شبکه های صنعتی از این ساختار استفاده می کنند بدین صورت که چندین Master پیغام ها را بطور متناوب به Slaveهایی که پاسخ می دهند می فرستد. این توالی را polling می نامند. در این سیستم هر Slave آدرس مخصوص به خود را دارد.
Master فرمان خود را به همراه آدرس Slave مورد نظر می فرستد. Slave مورد نظر پس از تشخیص آدرس ، فرمان را انجام داده و در بعضی مواقع سنگنال تاییدی برای master می فرستد تا به کار خود ادامه دهد.
ساختار و شکل آدرس و پیغام بستگی به نوع پروتکل ارتباطی که استفاده می شود، دارد. پیغامی که برای همه slave ها فرستاده می شود پیغام broadcast نامیده می شود. این می تواند پیغامی باشد که توسط master به تمامی slave ها دستور داده می شود که آن وظیفه را انجام می دهند. به عنوان مثال می توان plc های کنترل کننده آژیر را نام برد. درهنگام خطر همه آژیرها باید به صدا درآیند بنابراین یک پیغام broadcast باید فرستاده شود.
سرعت انتقال:
همواره بهینه ترین سرعت ، بیشترین سرعت نیست بلکه باید خطای انتقال و ارتباطات را نیز در نظر گفت.نوع کابل و فاصله سرعت بهینه را تعیین می کند.در این صورت ما به امنیت بالا و قابل اطمینان در انتقال دیتا دست می یابیم .
برای انتقال دیتا دیجیتال به وسیله سیم های مسی باید در ابتدا تغییر شکل پیدا کند.
کابل ارتباطی سبب تضعیف و متغیرشدن سیگنال می شوند که در سرعتهای بالا این اثرها می تواند بحرانی باشند.
دو اصطلاح که در این مبحث وجود دارد bit/s و baud rate می باشند. سرعت انتقال با bit/s اندازه گیری می شود. بطور تقریبی برای انتقال هر کاراکتر 10 بیت نیاز است بنابراین می تواند با سرعت 9600 bit/s تقریباً 960 کاراکتر را در ثانیه انتقال داد.
برای تغییر شکل سیگنال پیش از فرستادن به شبکه از مودم استفاده می شود. مودم ، سیگنال و baud rate را تغییر می دهد. Baud rate تعیین می کند سیگنال در هر ثانیه چند بار تغییر شکل پیدا می کند (مدوله می شود). هر تغییر شکل در سیگنال در واقع ایجاد بسته ای است که در طول خط به سوی مودم گیرنده فرستاده می شود و در آنجا کدگشایی شده و دوبار اطلاعات به دیجیتال تبدیل می شود.
در مودمهای short-haul (برای مسیرهای کوتاه) سیگنال تغییر شکل پیدا نمی کند و همان چیزی که فرستاده می شود در مودم گیرنده دریافت می شود و به صورت Transparent ارتباط برقرار می کنند.
مودمهای PTT مانند مودمهای short-haul عمل می کنند با این تفاوت که بافری دارند که دیتا را قبل از فرستادن ذخیره می کند. با توجه به baud rate میزان سرعت انتقال دیتا مشخص می شود به عنوان مثال اگر مودم بتواند با 1400 baud کار کند و در هر انتقال 4 بیت داشته باشیم باید سرعت انتقال 9600 bit/s باشد.
مدوله سازی :
سیگنالهای دیتا باید برای انتقال دیتا در انواع کابلها ، تغییر شکل پیدا کرده و سازگار شوند.سطح های دیجیتال برای کابل انتخابی مورد نظر به فرمی قابل خواندن تغییر داده شود.
سه نوع مدوله سازی وجود دارد:
1- مدوله سازی فرکانس:
فرکانسهای مختلفی برای انتقال سطوح دیجیتال 0 و 1 استفاده می شود .
2- مدوله سازی فاز:
برای انتقال سطوح دیجیتال 0 و 1 ازشیفت فازی ناگهانی سیگنال سینوسی حامل استفاده می کند.این روش معمول در مودمهای PTT در شبکه های ارتباطی راه دور استفاده می شود.
3- مدوله سازی دامنه :
ازقدرت ودامنه سیگنال ارسالی برای نشان دادن سطح 1و0 استفاده می کند.
4- مدوله سازی دامنه و فاز:
ترکیبی است که اجازه انتقال بیتهای بیشتری در هر baud را میدهد.
شامل 37 صفحه فایل word قابل ویرایش
دانلود تحقیق I2C Protocol ویژگی ها و کاربردهای آن در صنعت