1980 ના દાયકામાં ફિલિપ્સ દ્વારા વિકસાવવામાં, આઇસીસી ઇલેક્ટ્રોનિક્સમાં સૌથી સામાન્ય સીરીયલ કોમ્યુનિકેશન પ્રોટોકોલ્સમાંનું એક બની ગયું છે. આઇસીસી ઇલેક્ટ્રોનિક કમ્પોનન્ટ્સ અથવા આઇસી ટુ આઇસી વચ્ચે સંપર્કવ્યવહાર કરે છે, કે કેમ તે ઘટકો એ જ પીસીબી પર છે અથવા કેબલ દ્વારા જોડાયેલ છે. I2C ના મુખ્ય લક્ષણ એ એક સંવાદ બસ પર માત્ર બે વાયર સાથે વિશાળ ઘટકો ધરાવવાની ક્ષમતા છે, જે સ્પષ્ટીકરણો પર I
I2C પ્રોટોકોલનું ઝાંખી
I2C એ સીરીયલ કમ્યુનિકેશન પ્રોટોકોલ છે જે ફક્ત બે સિગ્નલ લાઇનની જરૂર છે જે PCB પર ચીપ્સ વચ્ચે વાતચીત માટે ડિઝાઇન કરવામાં આવી હતી. I2C મૂળરૂપે 100 કિમી પ્રસારિત સંદેશાવ્યવહાર માટે તૈયાર કરવામાં આવી હતી, પરંતુ ઝડપથી ડેટા ટ્રાન્સમિશન મોડ્સ વિકસિત કરવામાં આવ્યા છે જેથી તે 3.4 એમબીટ સુધી ગતિ કરી શકે. I2C પ્રોટોકોલને એક અધિકૃત ધોરણ તરીકે સ્થાપિત કરવામાં આવ્યું છે, જે I2C અમલીકરણો અને સારા પછાત સુસંગતતા વચ્ચે સારી સુસંગતતા પૂરી પાડે છે.
I2C સિગ્નલો
I2C પ્રોટોકોલ I2C બસ પરના તમામ ઉપકરણો સાથે વાતચીત કરવા માટે માત્ર બે બાય-દિશા સંકેત રેખાઓનો ઉપયોગ કરે છે. વપરાયેલ બે સંકેતો છે:
- સીરીયલ ડેટા લાઇન (SDL)
- સીરીયલ ડેટા ક્લોક (એસડીસી)
આઇપીએસી સંખ્યાબંધ પેરિફેરલ્સ સાથે વાતચીત કરવા માટે માત્ર બે સિગ્નલોનો ઉપયોગ કરી શકે છે તે કારણ એ છે કે બસની વાતચીત કેવી રીતે હાથ ધરવામાં આવે છે. પ્રત્યેક I2C પ્રત્યાયન 7-બીટ (અથવા 10-બીટ) સરનામાંથી શરૂ થાય છે જે પેરિફેરલના સરનામાંને બોલાવે છે બાકીનું સંચાર સંચાર પ્રાપ્ત કરવા માટે છે. આ I2C બસ પર ઘણા બધા ઉપકરણોને સિસ્ટમની જરૂરિયાતો તરીકે મુખ્ય ઉપકરણની ભૂમિકા ભજવવાની મંજૂરી આપે છે. સંચાર અથડામણને રોકવા માટે, I2C પ્રોટોકોલમાં આર્બિટ્રેશન અને અથડામણ શોધની ક્ષમતાઓ શામેલ છે જે બસની સાથે સરળ સંચારને મંજૂરી આપે છે.
ફાયદા અને મર્યાદાઓ
કમ્યુનિકેશન પ્રોટોકોલ તરીકે, I2C ના ઘણા ફાયદા છે જે ઘણાબધા એમ્બેડેડ ડિઝાઇન એપ્લિકેશન્સ માટે સારી પસંદગી છે. I2C નીચેના લાભો લાવે છે:
- I2C માત્ર બે સંકેત રેખાઓ જરૂરી છે
- લવચીક ડેટા ટ્રાન્સમિશન દર
- બસ પરના દરેક ઉપકરણ સ્વતંત્ર સંબોધવા યોગ્ય છે
- ઉપકરણોની પાસે સરળ માસ્ટર / સ્લેવ સંબંધ છે
- I2C આર્બિટ્રેશન અને કમ્યુનિકેશન અથડામણ શોધ દ્વારા બહુવિધ મુખ્ય સંચાર હેન્ડલ કરવામાં સક્ષમ છે
- SPI કરતાં લાંબા સમય સુધી અંતર સંચાર
આ તમામ લાભો સાથે, I2C માં પણ કેટલીક મર્યાદાઓ છે જેનો આસપાસ રચવાની જરૂર પડી શકે છે. સૌથી મહત્વપૂર્ણ I2C મર્યાદાઓ સમાવેશ થાય છે:
- ફક્ત 7 બીટ્સ (અથવા 10-બીટ્સ) ડિવાઇસ એડ્રેસિંગ માટે ઉપલબ્ધ હોવાથી, તે જ બસ પરનાં ડિવાઇસ એ જ સરનામાંને શેર કરી શકે છે. કેટલાક ઉપકરણો સરનામાંના છેલ્લા કેટલાક બીટ્સને રૂપરેખાંકિત કરવા સક્ષમ છે, પરંતુ તે હજુ પણ સમાન બસ પરના ઉપકરણોની મર્યાદા લાદે છે.
- માત્ર થોડા મર્યાદિત સંચાર ગતિ ઉપલબ્ધ છે અને ઘણા ઉપકરણો પ્રસારણ ઉચ્ચ ઝડપે સપોર્ટ કરતા નથી. બસ પરની દરેક ઝડપ માટે આંશિક ટેમ્પલેટને આંશિક પ્રસારણોને પકડવાથી ધીમા ઉપકરણો અટકાવવા માટે જરૂરી છે કે જે ઓપરેશનલ અવરોધોમાં પરિણમશે.
- I2C બસની વહેંચાયેલ પ્રકૃતિ બસમાં અટકી જઇ શકે છે જ્યારે બસમાં એક જ ઉપકરણ ઓપરેટિંગ અટકે છે. બસની શક્તિને સાયકલ ચલાવીને બસને પુન: શરૂ કરવા અને યોગ્ય કામગીરી પુનઃસ્થાપિત કરી શકાય છે.
- ઉપકરણો તેમના સંદેશાવ્યવહારની ઝડપને સેટ કરી શકે છે, તેથી ધીમી ઓપરેશનલ ડિવાઇસ ઝડપી સ્પીડ ડિવાઇસના સંચાલનમાં વિલંબ કરી શકે છે.
- સંચાર રેખાઓના ઓપન-ડ્રેઇન ટૉપોલોજીને કારણે અન્ય સીરીયલ સંચાર બસોની સરખામણીમાં I2C વધુ પાવર ખેંચે છે.
- I2C બસની મર્યાદાઓ સામાન્ય રીતે બસ પર લગભગ ડઝન જેટલા ઉપકરણો માટે ઉપકરણોની સંખ્યાને મર્યાદિત કરે છે.
એપ્લિકેશન્સ
I2C બસ એવા કાર્યક્રમો માટે ઉત્તમ વિકલ્પ છે, જે ઉચ્ચ ગતિના બદલે ઓછા ખર્ચ અને સરળ અમલીકરણની જરૂર છે. ઉદાહરણ તરીકે, ચોક્કસ મેમરી આઇસીસમાં વાંચવું , ડી.સી.એસ. અને એડીસીઝનો ઉપયોગ કરવો, સેન્સર્સનું વાંચન કરવું , વપરાશકર્તા દ્વારા સંચાલિત ક્રિયાઓનું પ્રસારણ કરવું અને નિયંત્રણ કરવું, હાર્ડવેર સેન્સર્સનું વાંચન કરવું અને બહુવિધ માઇક્રોકન્ટ્રોલર્સ સાથે વાતચીત કરવી I2C કોમ્યુનિકેશન પ્રોટોકોલના સામાન્ય ઉપયોગો છે.