ఎంబెడెడ్‌లోని ఎస్పీఐ కమ్యూనికేషన్ ప్రోటోకాల్ గురించి అర్థం చేసుకోవడం

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఎంబెడెడ్ సిస్టమ్ డిజైనింగ్‌లో కమ్యూనికేషన్ ముఖ్యమైన పాత్ర పోషిస్తుంది. ప్రోటోకాల్‌లకు వెళ్లకుండా, పరిధీయ విస్తరణ చాలా క్లిష్టంగా ఉంటుంది మరియు అధిక శక్తిని తీసుకుంటుంది. ది పొందుపర్చిన వ్యవస్థ ప్రాథమికంగా పెరిఫెరల్స్‌తో కమ్యూనికేట్ చేయడానికి సీరియల్ కమ్యూనికేషన్‌ను ఉపయోగిస్తుంది.
UART, CAN, USB, I2C మరియు SPI కమ్యూనికేషన్ వంటి అనేక సీరియల్ కమ్యూనికేషన్ ప్రోటోకాల్‌లు ఉన్నాయి. సీరియల్ కమ్యూనికేషన్ ప్రోటోకాల్ లక్షణాలు అధిక వేగం మరియు తక్కువ డేటా నష్టం. ఇది సిస్టమ్-స్థాయి డిజైనింగ్‌ను సులభతరం చేస్తుంది మరియు నమ్మదగిన డేటా బదిలీని నిర్ధారిస్తుంది.

సీరియల్ డేటా కమ్యూనికేషన్

ఎలక్ట్రికల్-కోడెడ్ సమాచారాన్ని సీరియల్ డేటా అంటారు, ఇది ప్రోటోకాల్స్ సమితి ద్వారా ఒక పరికరం నుండి మరొక పరికరానికి బిట్ ద్వారా ప్రసారం చేయబడుతుంది. ఎంబెడెడ్ సిస్టమ్‌లో, కంట్రోల్ సెన్సార్లు మరియు యాక్యుయేటర్స్ డేటా మైక్రోకంట్రోలర్‌ల వంటి కంట్రోలర్ పరికరాలకు స్వీకరించబడుతుంది లేదా ప్రసారం చేయబడుతుంది, తద్వారా డేటా మరింత విశ్లేషించబడుతుంది మరియు ప్రాసెస్ చేయబడుతుంది. మైక్రోకంట్రోలర్లు డిజిటల్ డేటాతో పనిచేస్తున్నప్పుడు, నుండి సమాచారం అనలాగ్ సెన్సార్లు , యాక్యుయేటర్లు మరియు ఇతర పెరిఫెరల్స్ మైక్రోకంట్రోలర్‌కు ప్రసారం చేయడానికి ముందు ఒక బైట్ (8-బిట్) బైనరీ పదంగా మార్చబడతాయి.




సీరియల్ డేటా కమ్యూనికేషన్

సీరియల్ డేటా కమ్యూనికేషన్

ఈ సీరియల్ డేటా కొన్ని గడియారపు పల్స్‌కు సంబంధించి ప్రసారం చేయబడుతుంది. డేటా ట్రాన్స్మిషన్ రేటును బాడ్ రేటుగా సూచిస్తారు. సెకనుకు ప్రసారం చేయగల డేటా బిట్ల సంఖ్యను బాడ్ రేట్ అంటారు. డేటా 12 బైట్లని అనుకుందాం, అప్పుడు ప్రతి బైట్ 8 బిట్స్‌గా మార్చబడుతుంది, తద్వారా డేటా ట్రాన్స్మిషన్ యొక్క మొత్తం పరిమాణం డేటా యొక్క 96 బిట్స్ / సెకన్లు (ఒక బైట్‌కు 12 బైట్లు * 8 బిట్స్). ప్రతి సెకనుకు ఒకసారి డేటాను ప్రసారం చేయగలిగితే, బాడ్ రేట్లు 96 బిట్స్ / సెకను లేదా 96 బాడ్. డిస్ప్లే స్క్రీన్ ప్రతి సెకనుకు ఒకసారి డేటా విలువను రిఫ్రెష్ చేస్తుంది.



సీరియల్ పెరిఫెరల్ ఇంటర్ఫేస్ బేసిక్స్

SPI కమ్యూనికేషన్ అంటే సీరియల్ పెరిఫెరల్ ఇంటర్ఫేస్ కమ్యూనికేషన్ ప్రోటోకాల్ , దీనిని 1972 లో మోటరోలా అభివృద్ధి చేసింది. పిఐసి, ఎవిఆర్ మరియు ప్రముఖ కమ్యూనికేషన్ కంట్రోలర్లలో ఎస్పిఐ ఇంటర్ఫేస్ అందుబాటులో ఉంది. ARM నియంత్రిక , మొదలైనవి. ఇది పూర్తి డ్యూప్లెక్స్‌లో పనిచేసే సింక్రోనస్ సీరియల్ కమ్యూనికేషన్ డేటా లింక్‌ను కలిగి ఉంది, అంటే డేటా సిగ్నల్స్ రెండు దిశలను ఒకేసారి తీసుకువెళతాయి.

SPI ప్రోటోకాల్ మాస్టర్ / స్లేవ్ కమ్యూనికేషన్ కోసం ఉపయోగించే MISO, MOSI, CLK, SS వంటి నాలుగు వైర్లను కలిగి ఉంటుంది. మాస్టర్ మైక్రోకంట్రోలర్, మరియు బానిసలు సెన్సార్లు వంటి ఇతర పెరిఫెరల్స్, GSM మోడెమ్ మరియు GPS మోడెమ్, మొదలైనవి. బహుళ బానిసలు ఒక SPI సీరియల్ బస్సు ద్వారా మాస్టర్‌కు అనుసంధానించబడతారు. SPI ప్రోటోకాల్ మల్టీ-మాస్టర్ కమ్యూనికేషన్‌కు మద్దతు ఇవ్వదు మరియు ఇది సర్క్యూట్ బోర్డ్‌లో కొద్ది దూరం కోసం ఉపయోగించబడుతుంది.

సీరియల్ పెరిఫెరల్ ఇంటర్ఫేస్ బేసిక్స్

సీరియల్ పెరిఫెరల్ ఇంటర్ఫేస్ బేసిక్స్

SPI లైన్స్

MISO (మాస్టర్ ఇన్ స్లేవ్ అవుట్) : MISO లైన్ మాస్టర్ పరికరంలో ఇన్‌పుట్‌గా మరియు బానిస పరికరంలో అవుట్‌పుట్‌గా కాన్ఫిగర్ చేయబడింది.


మోసి (మాస్టర్ అవుట్ స్లేవ్ ఇన్) : MOSI అనేది మాస్టర్ పరికరంలో అవుట్‌పుట్‌గా మరియు బానిస పరికరంలో ఇన్‌పుట్‌గా కాన్ఫిగర్ చేయబడిన పంక్తి, దీనిలో డేటా కదలికను సమకాలీకరించడానికి ఉపయోగిస్తారు.

SCK (సీరియల్ క్లాక్) : మాస్టర్ మరియు బానిసల మధ్య సమకాలిక డేటా బదిలీ కోసం ఈ సిగ్నల్ ఎల్లప్పుడూ మాస్టర్ చేత నడపబడుతుంది. MOSI మరియు MISO పంక్తుల ద్వారా డేటా కదలికను లోపలికి మరియు వెలుపల సమకాలీకరించడానికి ఇది ఉపయోగించబడుతుంది.

ఎస్ఎస్ (స్లేవ్ సెలెక్ట్) మరియు సిఎస్ (చిప్ సెలెక్ట్) : వ్యక్తిగత సిగ్నల్ / పెరిఫెరల్ పరికరాలను ఎంచుకోవడానికి ఈ సిగ్నల్ మాస్టర్ చేత నడపబడుతుంది. ఇది బానిస పరికరాలను ఎంచుకోవడానికి ఉపయోగించే ఇన్పుట్ లైన్.

SPI సీరియల్ బస్‌తో మాస్టర్ స్లేవ్ కమ్యూనికేషన్

సింగిల్ మాస్టర్ మరియు సింగిల్ స్లేవ్ SPI అమలు

ఇక్కడ, కమ్యూనికేషన్ ఎల్లప్పుడూ మాస్టర్ చేత ప్రారంభించబడుతుంది. మాస్టర్ పరికరం మొదట గడియార ఫ్రీక్వెన్సీని కాన్ఫిగర్ చేస్తుంది, ఇది బానిస పరికరం మద్దతిచ్చే గరిష్ట పౌన frequency పున్యం కంటే తక్కువ లేదా సమానం. మాస్టర్ ఆ బానిస పరికరం యొక్క చిప్ సెలెక్ట్ లైన్ (ఎస్ఎస్) ను తక్కువ స్థితికి మరియు చురుకుగా లాగడం ద్వారా కమ్యూనికేషన్ కోసం కావలసిన బానిసను ఎన్నుకుంటాడు. మాస్టర్ నుండి బానిస వరకు డేటాను తీసుకువెళ్ళే మోసి లైన్‌కు మాస్టర్ సమాచారాన్ని ఉత్పత్తి చేస్తుంది.

మాస్టర్ స్లేవ్ కమ్యూనికేషన్

మాస్టర్ స్లేవ్ కమ్యూనికేషన్

సింగిల్ మాస్టర్ మరియు బహుళ బానిస అమలు

ఇది SPI సీరియల్ బస్సు ద్వారా ఒక మాస్టర్ మరియు బహుళ బానిసలతో బహుళ బానిస ఆకృతీకరణ. బహుళ బానిసలు మాస్టర్ పరికరానికి సమాంతరంగా SPI సీరియల్ బస్‌తో అనుసంధానించబడి ఉన్నాయి. ఇక్కడ, అన్ని గడియార పంక్తులు మరియు డేటా పంక్తులు కలిసి కనెక్ట్ చేయబడ్డాయి, అయితే ప్రతి బానిస పరికరం నుండి చిప్ సెలెక్ట్ పిన్ తప్పనిసరిగా మాజర్ పరికరంలో ప్రత్యేక బానిస ఎంపిక పిన్‌తో అనుసంధానించబడి ఉండాలి.

సింగిల్ మాస్టర్ మరియు బహుళ బానిసలు

సింగిల్ మాస్టర్ మరియు బహుళ బానిసలు

ఈ ప్రక్రియలో, ప్రతి బానిస పరికరం యొక్క నియంత్రణ చిప్ సెలెక్ట్ లైన్ (SS) చేత చేయబడుతుంది. బానిస పరికరాన్ని సక్రియం చేయడానికి చిప్ సెలెక్ట్ పిన్ తక్కువగా ఉంటుంది మరియు బానిస పరికరాన్ని నిలిపివేయడానికి అధికంగా వెళుతుంది.

ఇచ్చిన పద పరిమాణంతో వరుసగా 8-బిట్ మరియు 16-బిట్లతో మాస్టర్ మరియు స్లేవ్ పరికరాల వద్ద షిఫ్ట్ రిజిస్టర్లను ఉపయోగించడం ద్వారా డేటా బదిలీ నిర్వహించబడుతుంది. రెండు పరికరాలు రింగ్ రూపంలో అనుసంధానించబడి ఉంటాయి, తద్వారా మేజర్ షిఫ్ట్ రిజిస్టర్ విలువ మోసి లైన్ ద్వారా ప్రసారం చేయబడుతుంది, ఆపై బానిస దాని షిఫ్ట్ రిజిస్టర్‌లో డేటాను మారుస్తుంది. డేటా సాధారణంగా మొదట MSB తో మార్చబడుతుంది మరియు కొత్త LSB ని అదే రిజిస్టర్‌లోకి మారుస్తుంది.

మాస్టర్ మరియు స్లేవ్ మధ్య డేటా బదిలీ

మాస్టర్ మరియు స్లేవ్ మధ్య డేటా బదిలీ

గడియారం ధ్రువణత మరియు దశ యొక్క ప్రాముఖ్యత

సాధారణంగా పెరుగుతున్న అంచులలో మరియు పడిపోయే అంచులలో గడియారపు పప్పులకు సంబంధించి డేటా యొక్క ప్రసారం మరియు రిసెప్షన్ నిర్వహిస్తారు. అధునాతన మైక్రోకంట్రోలర్‌లకు రెండు పౌన encies పున్యాలు ఉన్నాయి: అంతర్గత పౌన frequency పున్యం మరియు బాహ్య పౌన .పున్యం. MISO, MOSI మరియు SCLK పంక్తులను పంచుకోవడం ద్వారా SPI పెరిఫెరల్స్ జోడించవచ్చు. పెరిఫెరల్స్ వేర్వేరు రకాలు లేదా ADC, DAC, వంటి వేగం కలిగి ఉంటాయి. కాబట్టి మేము బదిలీల మధ్య SPCR సెట్టింగులను వేర్వేరు పెరిఫెరల్స్కు మార్చాలి.

ఎస్పీసీఆర్ రిజిస్టర్

ఎస్పీసీఆర్ రిజిస్టర్

SPI బస్సు గడియార ధ్రువణత (CPOL) మరియు గడియార దశ (CPHA) తో 4 వేర్వేరు బదిలీ మోడ్‌లలో ఒకదానిలో పనిచేస్తుంది, ఇది ఉపయోగించాల్సిన గడియార ఆకృతిని నిర్వచిస్తుంది. గడియార ధ్రువణత మరియు దశ గడియార రేట్లు మీరు మాస్టర్‌తో కమ్యూనికేట్ చేయడానికి ప్రయత్నిస్తున్న పరిధీయ పరికరంపై ఆధారపడి ఉంటాయి.
CPHA = 0, CPOL = 0: మొదటి బిట్ తక్కువ సిగ్నల్‌గా మొదలవుతుంది - డేటా పెరుగుతున్న అంచు వద్ద నమూనా చేయబడుతుంది మరియు డేటా పడిపోయే అంచున మారుతుంది.

CPHA = 0, CPOL = 1: మొదటి బిట్ తక్కువ గడియారంతో మొదలవుతుంది - డేటా పడిపోయే అంచు వద్ద నమూనా చేయబడుతుంది మరియు డేటా పెరుగుతున్న అంచున మారుతుంది.

CPHA = 1, CPOL = 0: మొదటి బిట్ అధిక గడియారంతో మొదలవుతుంది - డేటా పడిపోయే అంచు వద్ద నమూనా చేయబడుతుంది మరియు డేటా పెరుగుతున్న అంచున మారుతుంది.

CPHA = 1, CPOL = 1: మొదటి బిట్ అధిక గడియారంతో మొదలవుతుంది - డేటా పెరుగుతున్న అంచు వద్ద నమూనా చేయబడుతుంది మరియు డేటా పడిపోయే అంచున మారుతుంది.

SPI బస్ సమయాలు

SPI బస్ సమయాలు

SPI కమ్యూనికేషన్ ప్రోటోకాల్

చాలా మైక్రోకంట్రోలర్‌లలో ఇన్‌బిల్ట్ SPI ప్రోటోకాల్‌లు ఉన్నాయి, ఇవి పంపే మరియు స్వీకరించే డేటాను నిర్వహిస్తాయి. ఏదైనా డేటా మోడ్ కార్యకలాపాలు (R / W) SPI ప్రోటోకాల్ యొక్క నియంత్రణ మరియు స్థితి రిజిస్టర్లచే నియంత్రించబడతాయి. ఇక్కడ, మీరు SPI ప్రోటోకాల్ ద్వారా PIC16f877a మైక్రోకంట్రోలర్‌కు EEPROM ఇంటర్‌ఫేస్‌ను గమనించవచ్చు.

ఇక్కడ, 25LC104 EEROM అనేది 131072 బైట్ల మెమరీ, దీనిలో మైక్రోకంట్రోలర్ రెండు బైట్ల డేటాను బదిలీ చేస్తుంది EEROM మెమరీ SPI సీరియల్ బస్సు ద్వారా. ఈ ఇంటర్‌ఫేసింగ్ కోసం ప్రోగ్రామ్ క్రింద ఇవ్వబడింది.

ఎస్పిఐ సీరియల్ బస్సు ద్వారా మాస్టర్ టు స్లేవ్ కమ్యూనికేషన్

ఎస్పిఐ సీరియల్ బస్సు ద్వారా మాస్టర్ టు స్లేవ్ కమ్యూనికేషన్

# చేర్చండి
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
EEROM () ను ప్రారంభించడం రద్దు
శూన్యం ప్రధాన ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

SPI ప్రోటోకాల్ యొక్క ప్రయోజనాలు

  • ఇది పూర్తి డ్యూప్లెక్స్ కమ్యూనికేషన్.
  • ఇది హై-స్పీడ్ డేటా బస్ 10MHz లు.
  • బదిలీ చేసేటప్పుడు ఇది 8 బిట్‌లకు పరిమితం కాదు
  • SPI ద్వారా హార్డ్‌వేర్ ఇంటర్‌ఫేసింగ్ సులభం.
  • బానిస మాస్టర్ గడియారాన్ని ఉపయోగిస్తాడు మరియు విలువైన ఓసిలేటర్లు అవసరం లేదు.

ఇదంతా SPI కమ్యూనికేషన్స్ మరియు దాని గురించి మైక్రోకంట్రోలర్‌తో ఇంటర్‌ఫేసింగ్ . ఈ వ్యాసం కోసం మీ ఆసక్తి మరియు శ్రద్ధను మేము అభినందిస్తున్నాము మరియు అందువల్ల ఈ వ్యాసంపై మీ దృక్కోణాన్ని ate హించండి. ఇంకా, ఏదైనా ఇంటర్‌ఫేసింగ్ కోడింగ్ మరియు సహాయం కోసం, మీరు క్రింద వ్యాఖ్యానించడం ద్వారా మమ్మల్ని అడగవచ్చు.

ఫోటో క్రెడిట్స్: