1980-এর দশকে ফিলিপস দ্বারা বিকাশ করা হয়, আইটিইউ ইলেকট্রনিক্সের সর্বাধিক সাধারণ সিরিয়াল যোগাযোগ প্রোটোকলগুলির মধ্যে একটি হয়ে উঠেছে। I2C বৈদ্যুতিন উপাদান বা আইসি থেকে আইসি পর্যন্ত যোগাযোগ সক্ষম করে, উপাদান একই পিসিবি বা একটি তারের মাধ্যমে সংযুক্ত কিনা। আইইউ 2 এর মূল বৈশিষ্ট্যটি কেবলমাত্র দুটি তারের সাথে একটি একক যোগাযোগ বাসে বিপুল সংখ্যক উপাদান থাকতে পারে যা অ্যাপ্লিকেশনগুলির জন্য আইটি 2 সিটি নিখুঁত করে তোলে যা সহজে গতি এবং গতির চেয়ে কম খরচে।
আইইউটি প্রোটোকল
I2C একটি সিরিয়াল যোগাযোগ প্রোটোকল যা শুধুমাত্র দুটি সংকেত লাইন প্রয়োজন। এটি একটি পিসিবি উপর চিপস মধ্যে যোগাযোগের জন্য ডিজাইন করা হয়েছে। আইটিটিটি মূলত 100 কেবিপিএস যোগাযোগের জন্য ডিজাইন করা হয়েছিল তবে দ্রুত ডেটা ট্রান্সমিশন মোডগুলি 3.4 মিবিটের গতি অর্জনের জন্য বিকাশ করা হয়েছে। I2C প্রোটোকলটি একটি সরকারী মান হিসাবে প্রতিষ্ঠিত হয়েছে, যা I2C বাস্তবায়ন এবং ভাল পশ্চাদপট সামঞ্জস্যের মধ্যে ভাল সামঞ্জস্যের জন্য সরবরাহ করে।
I2C সংকেত
I2C প্রোটোকলটি আইটি 2২ বাসের সমস্ত ডিভাইসের সাথে যোগাযোগ করার জন্য কেবল দুটি দ্বি-নির্দেশক সংকেত লাইন ব্যবহার করে। ব্যবহৃত দুটি সংকেত:
- সিরিয়াল ডাটা লাইন (এসডিএল)
- সিরিয়াল ডেটা ক্লক (এসডিসি)
কয়েকটি পেরিফেরালের সাথে যোগাযোগ করার জন্য I2C শুধুমাত্র দুটি সংকেত ব্যবহার করতে পারে সেটি হল বাসের সাথে যোগাযোগ পরিচালনা করা। প্রতিটি I2C যোগাযোগ 7-বিট (বা 10-বিট) ঠিকানা দিয়ে শুরু হয় যা পেরিফেরালের ঠিকানাটি কল করে, বাকি যোগাযোগটি যোগাযোগ গ্রহণের উদ্দেশ্যে হয়। এই সিস্টেম dictate প্রয়োজন হিসাবে মাস্টার ডিভাইস ভূমিকা পালন করতে I2C বাসের একাধিক ডিভাইসের অনুমতি দেয়। যোগাযোগ সংঘর্ষ প্রতিরোধ করার জন্য, I2C প্রোটোকলটিতে সালিসি এবং সংঘর্ষ সনাক্তকরণ ক্ষমতা রয়েছে যা বাস বরাবর মসৃণ যোগাযোগের অনুমতি দেয়।
উপকারিতা এবং সীমাবদ্ধতা
একটি যোগাযোগ প্রোটোকল হিসাবে, I2C অনেকগুলি এমবেডেড ডিজাইন অ্যাপ্লিকেশনের জন্য একটি ভাল পছন্দ করে এমন অনেক সুবিধা রয়েছে। I2C নিম্নলিখিত সুবিধা দেয়:
- I2C শুধুমাত্র দুটি সংকেত লাইন প্রয়োজন
- নমনীয় তথ্য সংক্রমণ হার
- বাসের প্রতিটি ডিভাইস স্বাধীনভাবে ঠিকানাযোগ্য
- ডিভাইস একটি সহজ মাস্টার / স্লেভ সম্পর্ক আছে
- I2C সালিসি এবং যোগাযোগ সংঘর্ষ সনাক্তকরণ প্রদান করে একাধিক মাস্টার যোগাযোগ পরিচালনা করতে সক্ষম
- SPI তুলনায় দীর্ঘ দূরত্ব যোগাযোগ
এই সমস্ত সুবিধার সাথে, I2C এছাড়াও কিছু সীমাবদ্ধতা আছে যা প্রায় ডিজাইন করা প্রয়োজন হতে পারে। সবচেয়ে গুরুত্বপূর্ণ I2C সীমাবদ্ধতা অন্তর্ভুক্ত:
- যেহেতু ডিভাইস অ্যাড্রেসিংয়ের জন্য শুধুমাত্র 7-বিট (বা 10-বিট) পাওয়া যায়, তাই একই বাসের ডিভাইস একই ঠিকানা ভাগ করতে পারে। কিছু ডিভাইস ঠিকানাটির শেষ কয়েকটি বিট কনফিগার করতে সক্ষম, তবে এটি এখনও একই বাসে ডিভাইসগুলির সীমাবদ্ধতা প্রযোজ্য করে।
- শুধুমাত্র কয়েকটি সীমিত যোগাযোগ গতি পাওয়া যায় এবং অনেক ডিভাইস উচ্চ গতিতে সংক্রমণ সমর্থন করে না। বাসের প্রতিটি গতির জন্য আংশিক সহায়তাটি ধীর ডিভাইসগুলিকে আংশিক ট্রান্সমিশনগুলি ধরতে বাধা দেয় যা কার্যক্ষম ক্রিয়াকলাপের ফলস্বরূপ হবে।
- আইটিইউ বাসের ভাগকৃত প্রকৃতির ফলে বাসের একক ডিভাইস অপারেটিং বন্ধ হয়ে গেলে সমগ্র বাসটি ঝুলন্ত হতে পারে। বাসটি পুনরায় চালু করতে এবং সঠিক অপারেশন পুনঃস্থাপন করার জন্য বাসে সাইকেল চালানো যেতে পারে।
- যেহেতু ডিভাইসগুলি তাদের যোগাযোগের গতি সেট করতে পারে, তাই ধীর গতির ক্রিয়াকলাপ ডিভাইসগুলি দ্রুত গতির ডিভাইসগুলির অপারেশন বিলম্বিত করতে পারে।
- যোগাযোগ লাইনগুলির খোলা-ড্রেন টোপোলজি কারণে আইটি2C আরও সিরিয়াল যোগাযোগের বুসগুলির তুলনায় আরও বেশি শক্তি নেয়।
- আইসিটি বাসের সীমাবদ্ধতা সাধারণত বাসের প্রায় ডজন ডজন ডিভাইসে ডিভাইসের সীমা সীমাবদ্ধ করে।
অ্যাপ্লিকেশন
আইটি2C বাস অ্যাপ্লিকেশনগুলির জন্য একটি দুর্দান্ত বিকল্প যা উচ্চ গতির চেয়ে কম খরচে এবং সহজ বাস্তবায়ন প্রয়োজন। উদাহরণস্বরূপ, নির্দিষ্ট মেমরি আইসি পড়ছে, DACs এবং ADC অ্যাক্সেস, রিডিং সেন্সর, ব্যবহারকারী-পরিচালিত কর্মগুলি প্রেরণ এবং নিয়ন্ত্রণ করা, হার্ডওয়্যার সেন্সর পড়া এবং একাধিক মাইক্রোকন্ট্রোলারগুলির সাথে যোগাযোগ করা I2C যোগাযোগ প্রোটোকলের সাধারণ ব্যবহার।