1980 వ దశకంలో ఫిలిప్స్ అభివృద్ధి చేసిన, ఎలక్ట్రానిక్స్లో I2C అత్యంత సాధారణ సీరియల్ కమ్యూనికేషన్ ప్రోటోకాల్స్లో ఒకటిగా మారింది. I2C ఎలక్ట్రానిక్ కాంపోనెంట్లను లేదా ఐసికి IC కు కమ్యూనికేషన్లను ప్రారంభిస్తుంది, భాగాలు అదే PCB లో ఉన్నా లేదా ఒక కేబుల్ ద్వారా కనెక్ట్ చేయబడినాయి. I2C యొక్క ముఖ్య లక్షణం ఒకే కమ్యూనికేషన్ బస్లో ఒకే సంఖ్యలో రెండు వైర్లతో కూడిన భాగాలు, I2C పరిపూర్ణ సరళత మరియు తక్కువ ఖర్చుతో డిమాండ్ చేసిన అప్లికేషన్లకు I2C పరిపూర్ణతను కలిగి ఉండే సామర్ధ్యం.
I2C ప్రోటోకాల్ యొక్క అవలోకనం
I2C అనేది ఒక సీరియల్ కమ్యూనికేషన్ ప్రోటోకాల్, ఇది కేవలం PCB పై చిప్స్ మధ్య కమ్యూనికేషన్ కోసం రూపొందించబడిన రెండు సిగ్నల్ లైన్లు అవసరం. I2C వాస్తవానికి 100kbps కమ్యూనికేషన్ కోసం రూపొందించబడింది, అయితే 3.4Mbit వరకు వేగాలను సాధించడానికి సంవత్సరాలలో వేగంగా డేటా ప్రసార రీతులు అభివృద్ధి చేయబడ్డాయి. I2C ప్రోటోకాల్ ఒక అధికారిక ప్రమాణంగా స్థాపించబడింది, ఇది I2C అమలులో మంచి అనుకూలతకు మరియు మంచి వెనుకబడి ఉన్న అనుకూలతను అందిస్తుంది.
I2C సిగ్నల్స్
I2C ప్రోటోకాల్ I2C బస్సులో అన్ని పరికరాలతో సంభాషించడానికి రెండు ద్వి-దిశాత్మక సిగ్నల్ లైన్లను మాత్రమే ఉపయోగిస్తుంది. ఉపయోగించిన రెండు సంకేతాలు:
- సీరియల్ డేటా లైన్ (SDL)
- సీరియల్ డేటా క్లాక్ (SDC)
I2C బెర్లిన్తో సంభాషణ ఎలా నిర్వహించబడుతుందనే దానిలో కొన్ని పెర్ఫార్ఫిల్స్తో కమ్యూనికేషన్కు రెండు సంకేతాలను మాత్రమే ఉపయోగించవచ్చు. ప్రతి I2C సమాచార ప్రసారం, బయటి భాగపు చిరునామాను పిలిచే ఒక 7-బిట్ (లేదా 10-బిట్) చిరునామాతో సంభాషణను పొందటానికి ఉద్దేశించినది. ఇది సిస్టమ్ యొక్క అవసరాల యొక్క అవసరాలకు అనుగుణంగా I2C బస్ లో మాస్టర్ పరికర పాత్రను నిర్వహించడానికి పలు పరికరాలను అనుమతిస్తుంది. సంభాషణ ప్రమాదాలను నివారించడానికి, I2C ప్రోటోకాల్ బస్లో మృదువైన సంభాషణను అనుమతించే మధ్యవర్తిత్వ మరియు తాకిడి గుర్తింపు సామర్థ్యాలను కలిగి ఉంటుంది.
ప్రయోజనాలు మరియు పరిమితులు
ఒక కమ్యూనికేషన్ ప్రోటోకాల్ వలె, I2C అనేక ఎంబెడెడ్ డిజైన్ అనువర్తనాలకు ఒక మంచి ఎంపిక చేసే ప్రయోజనాలు చాలా ఉన్నాయి. I2C క్రింది ప్రయోజనాలను అందిస్తుంది:
- I2C మాత్రమే రెండు సిగ్నల్ లైన్లు అవసరం
- ఫ్లెక్సిబుల్ డేటా ప్రసార రేట్లు
- బస్సులో ఉన్న ప్రతి పరికరం స్వతంత్రంగా అడ్రస్ చేయగలదు
- పరికరాలను సాధారణ మాస్టర్ / బానిస సంబంధం కలిగి ఉంటాయి
- మధ్యవర్తిత్వం మరియు కమ్యూనికేషన్ ఖండించు గుర్తింపును అందించడం ద్వారా బహుళ మాస్టర్ సమాచార నిర్వహణను I2C సామర్ధ్యం కలిగి ఉంటుంది
- SPI కన్నా పొడవాటి దూర సమాచార ప్రసారం
ఈ ప్రయోజనాలు అన్నింటికీ, I2C కూడా కొన్ని పరిమితులను కలిగి ఉంది, అది చుట్టూ రూపొందించాల్సిన అవసరం ఉంది. అతి ముఖ్యమైన I2C పరిమితులు:
- పరికరం చిరునామాకు 7-బిట్లు (లేదా 10-బిట్లు) మాత్రమే అందుబాటులో ఉన్నాయి కాబట్టి, అదే బస్సులో ఉన్న పరికరాలు ఒకే చిరునామాను పంచుకోవచ్చు. కొన్ని పరికరములు గత కొన్ని బిట్స్ చిరునామాను ఆకృతీకరించగలవు, కాని ఇది ఇప్పటికీ అదే బస్సులో పరికరాల పరిమితిని విధిస్తుంది.
- కొద్ది పరిమిత కమ్యూనికేషన్ వేగాలు మాత్రమే అందుబాటులో ఉన్నాయి మరియు అనేక పరికరాలు ప్రసార వేగం కంటే ఎక్కువ మద్దతు ఇవ్వవు. బస్సులో ప్రతి వేగం యొక్క పాక్షిక మద్దతు ఆపరేటింగ్ గ్లిచ్చెస్ ఫలితంగా పాక్షిక ప్రసారాలను పట్టుకోకుండా నెమ్మదిగా పరికరాలు నిరోధించడానికి అవసరం.
- I2C బస్ యొక్క పంచబడ్డ స్వభావం బస్సులో ఒకే పరికరం పనిచేయడం ఆపేటప్పుడు మొత్తం బస్సులో ఉండిపోతుంది. బస్సును పునఃప్రారంభించడానికి మరియు సరైన ఆపరేషన్ను పునరుద్ధరించడానికి బస్సుకి శక్తిని సైక్లింగ్ చేయడం ఉపయోగించవచ్చు.
- పరికరాలను వారి కమ్యూనికేషన్ వేగాన్ని అమర్చడం వలన, నెమ్మదిగా పనిచేసే పరికరాలను వేగంగా వేగవంతమైన పరికరాల ఆపరేషన్ను ఆలస్యం చేయవచ్చు.
- కమ్యూనికేషన్ మార్గాల ఓపెన్-కాలువ టోపోలాజీ కారణంగా ఇతర సీరియల్ కమ్యూనికేషన్ బస్ల కంటే I2C అధిక శక్తిని కలిగి ఉంది.
- I2C బస్సు యొక్క పరిమితులు సాధారణంగా డజను పరికరాల చుట్టూ బస్సులో ఉన్న పరికరాల సంఖ్యను పరిమితం చేస్తాయి.
అప్లికేషన్స్
I2C బస్ అధిక వేగం కంటే తక్కువ వ్యయం మరియు సాధారణ అమలు అవసరమైన అనువర్తనాల కోసం గొప్ప ఎంపిక. ఉదాహరణకు, DAC లు మరియు ADC లను యాక్సెస్ చేస్తూ, సెన్సార్లను చదవడం , వినియోగదారుని దర్శకత్వం వహించిన చర్యలు, హార్డ్వేర్ సెన్సార్లను చదవడం మరియు బహుళ మైక్రోకంట్రోలర్లతో కమ్యూనికేట్ చేయడం వంటివి I2C కమ్యూనికేషన్ ప్రోటోకాల్ యొక్క సాధారణ ఉపయోగాలు.