एंबेडेड में एसपीआई संचार प्रोटोकॉल के बारे में समझना

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





एम्बेडेड सिस्टम डिजाइनिंग में संचार एक आवश्यक भूमिका निभाता है। प्रोटोकॉल में जाने के बिना, परिधीय विस्तार अत्यधिक जटिल और उच्च शक्ति खपत है। अंतःस्थापित प्रणाली मूल रूप से परिधीय के साथ संचार करने के लिए धारावाहिक संचार का उपयोग करता है।
कई धारावाहिक संचार प्रोटोकॉल हैं, जैसे कि UART, CAN, USB, I2C और SPI संचार। धारावाहिक संचार प्रोटोकॉल है विशेषताओं में उच्च गति और कम डेटा हानि शामिल हैं। यह सिस्टम-लेवल डिजाइनिंग को आसान बनाता है, और विश्वसनीय डेटा ट्रांसफर सुनिश्चित करता है।

सीरियल डेटा कम्युनिकेशन

विद्युत-कोडित जानकारी को एक सीरियल डेटा कहा जाता है, जो प्रोटोकॉल के एक सेट के माध्यम से एक डिवाइस से दूसरे में बिट द्वारा प्रेषित होता है। एम्बेडेड सिस्टम में, कंट्रोल सेंसर और एक्चुएटर्स डेटा प्राप्त होता है या कंट्रोलर डिवाइस जैसे कि माइक्रोकंट्रोलर को प्रेषित किया जाता है ताकि डेटा का और अधिक विश्लेषण और प्रसंस्करण हो सके। जैसा कि माइक्रोकंट्रोलर डिजिटल डेटा के साथ काम करते हैं, से जानकारी एनालॉग सेंसर , एक्चुएटर्स और अन्य बाह्य उपकरणों को माइक्रोकंट्रोलर में प्रेषित करने से पहले एक बाइट (8-बिट) बाइनरी शब्द में परिवर्तित किया जाता है।




सीरियल डेटा संचार

सीरियल डेटा कम्युनिकेशन

यह धारावाहिक डेटा निश्चित घड़ी पल्स के संबंध में प्रसारित होता है। डेटा ट्रांसमिशन दर को बॉड दर के रूप में संदर्भित किया जाता है। प्रति सेकंड प्रसारित किए जाने वाले डेटा बिट्स की संख्या को बॉड दर कहा जाता है। मान लीजिए कि डेटा 12 बाइट्स का है, तो प्रत्येक बाइट को 8 बिट्स में परिवर्तित किया जाता है, ताकि डेटा ट्रांसमिशन का कुल आकार डेटा की 96 बिट्स / सेकंड (12 बाइट्स * 8 बिट प्रति बाइट) हो। यदि डेटा को हर सेकंड में एक बार प्रसारित किया जा सकता है, तो बॉड दरें 96 बिट्स / सेकंड या 96 बॉड के आसपास होती हैं। डिस्प्ले स्क्रीन हर सेकंड में एक बार डेटा वैल्यू को रिफ्रेश करती है।



सीरियल पेरिफेरल इंटरफेस बेसिक्स

एसपीआई संचार धारावाहिक परिधीय इंटरफ़ेस के लिए खड़ा है संचार प्रोटोकॉल , जो मोटोरोला द्वारा 1972 में विकसित किया गया था। एसपीआई इंटरफेस पीआईसी, एवीआर, और जैसे लोकप्रिय संचार नियंत्रकों पर उपलब्ध है एआरएम नियंत्रक , आदि इसमें समकालिक धारावाहिक संचार डेटा लिंक है जो पूर्ण द्वैध में संचालित होता है, जिसका अर्थ है कि डेटा सिग्नल दोनों दिशाओं को एक साथ ले जाते हैं।

SPI प्रोटोकॉल में चार तार होते हैं जैसे MISO, MOSI, CLK, SS का उपयोग मास्टर / दास संचार के लिए किया जाता है। मास्टर एक माइक्रोकंट्रोलर है, और दास सेंसर जैसे अन्य परिधीय हैं, जीएसएम मॉडम और जीपीएस मॉडेम, आदि कई दासों को एक एसपीआई सीरियल बस के माध्यम से मास्टर के लिए हस्तक्षेप किया जाता है। SPI प्रोटोकॉल मल्टी-मास्टर संचार का समर्थन नहीं करता है और इसका उपयोग सर्किट बोर्ड के भीतर थोड़ी दूरी के लिए किया जाता है।

सीरियल पेरिफेरल इंटरफेस बेसिक्स

सीरियल पेरिफेरल इंटरफेस बेसिक्स

एसपीआई लाइन्स

MISO (मास्टर इन स्लेव आउट) : MISO लाइन को एक मास्टर डिवाइस में इनपुट के रूप में और एक गुलाम डिवाइस में आउटपुट के रूप में कॉन्फ़िगर किया गया है।


MOSI (मास्टर गुलाम में) : MOSI एक मास्टर डिवाइस में एक आउटपुट के रूप में और एक स्लेव डिवाइस में एक इनपुट के रूप में कॉन्फ़िगर किया गया एक लाइन है, जिसमें डेटा आंदोलन को सिंक्रनाइज़ करने के लिए उपयोग किया जाता है।

SCK (धारावाहिक घड़ी) : यह संकेत हमेशा मास्टर और दास के बीच समकालिक डेटा हस्तांतरण के लिए मास्टर द्वारा संचालित होता है। इसका उपयोग MOSI और MISO लाइनों के माध्यम से और बाहर दोनों में डेटा आंदोलन को सिंक्रनाइज़ करने के लिए किया जाता है।

एसएस (दास चयन) और सीएस (चिप चयन) : यह संकेत गुरु द्वारा व्यक्तिगत दास / परिधीय उपकरणों का चयन करने के लिए प्रेरित किया जाता है। यह एक इनपुट लाइन है जिसका उपयोग गुलाम उपकरणों को चुनने के लिए किया जाता है।

एसपीआई सीरियल बस के साथ मास्टर गुलाम संचार

सिंगल मास्टर और सिंगल स्लेव एसपीआई कार्यान्वयन

यहां, संचार हमेशा मास्टर द्वारा शुरू किया जाता है। मास्टर डिवाइस पहले घड़ी की आवृत्ति को कॉन्फ़िगर करता है जो गुलाम डिवाइस का समर्थन करने वाली अधिकतम आवृत्ति से कम या उसके बराबर है। मास्टर तब संचार के लिए वांछित गुलाम का चयन करता है, उस विशेष गुलाम डिवाइस की चिप सेलेक्ट लाइन (एसएस) को निम्न स्थिति में ले जाकर सक्रिय करता है। मास्टर MOSI लाइन पर जानकारी उत्पन्न करता है जो मास्टर से दास तक डेटा ले जाता है।

मास्टर दास संचार

मास्टर दास संचार

एकल मास्टर और एकाधिक दास कार्यान्वयन

यह एसपीआई सीरियल बस के माध्यम से एक मास्टर और कई दासों के साथ एक एकाधिक दास विन्यास है। कई दास एसपीआई सीरियल बस के साथ मास्टर डिवाइस के समानांतर में जुड़े हुए हैं। यहां, सभी क्लॉक लाइन्स और डेटा लाइनें एक साथ जुड़ी हुई हैं, लेकिन प्रत्येक स्लेव डिवाइस से चिप सेलेक्ट पिन को मेज़र डिवाइस पर एक अलग स्लेव सेलेक्ट पिन से कनेक्ट करना होगा।

सिंगल मास्टर और कई दास

सिंगल मास्टर और कई दास

इस प्रक्रिया में, प्रत्येक गुलाम डिवाइस का नियंत्रण एक चिप चयन लाइन (एसएस) द्वारा किया जाता है। स्लेव डिवाइस को सक्रिय करने के लिए चिप सेलेक्ट पिन कम होता है और स्लेव डिवाइस को डिसेबल करने के लिए हाई जाता है।

डेटा ट्रांसफर क्रमशः मास्टर और स्लेव डिवाइस दोनों पर शिफ्ट रजिस्टरों का उपयोग करके, क्रमशः 8-बिट और 16-बिट के शब्द आकार के साथ आयोजित किया जाता है। दोनों डिवाइस एक रिंग फॉर्म में जुड़े हुए हैं ताकि Maser शिफ्ट रजिस्टर वैल्यू को MOSI लाइन के माध्यम से प्रसारित किया जाता है, और फिर स्लेव अपने शिफ्ट रजिस्टर में डेटा शिफ्ट करता है। डेटा को आमतौर पर पहले MSB के साथ शिफ्ट किया जाता है और नए LSB को एक ही रजिस्टर में शिफ्ट किया जाता है।

मास्टर और गुलाम के बीच डाटा ट्रांसफर

मास्टर और गुलाम के बीच डाटा ट्रांसफर

क्लॉक पोलारिटी एंड फेज का महत्व

आम तौर पर बढ़ते किनारों और गिरने वाले किनारों पर घड़ी के दालों के संबंध में डेटा का संचरण और रिसेप्शन किया जाता है। उन्नत माइक्रोकंट्रोलर्स में दो आवृत्तियां होती हैं: आंतरिक आवृत्ति और बाहरी आवृत्ति। SPI बाह्य उपकरणों को MISO, MOSI और SCLK लाइनों को साझा करके जोड़ा जा सकता है। बाह्य उपकरणों के विभिन्न प्रकार या गति जैसे ADC, DAC, आदि हैं, इसलिए हमें विभिन्न बाह्य उपकरणों के लिए स्थानान्तरण के बीच SPCR सेटिंग्स को बदलने की आवश्यकता है।

एसपीसीआर रजिस्टर

एसपीसीआर रजिस्टर

एसपीआई बस एक घड़ी ध्रुवीयता (सीपीओएल) और घड़ी चरण (सीपीएचए) के साथ 4 अलग-अलग हस्तांतरण मोडों में से एक में काम करती है जो कि उपयोग किए जाने वाले घड़ी प्रारूप को परिभाषित करती है। घड़ी की ध्रुवता और चरण घड़ी की दर इस बात पर निर्भर करती है कि आप किस परिधीय उपकरण को मास्टर के साथ संवाद करने की कोशिश कर रहे हैं।
CPHA = 0, CPOL = 0: पहला बिट निम्न संकेत के रूप में शुरू होता है - डेटा को बढ़ते हुए किनारे पर नमूना किया जाता है और गिरने वाले किनारे पर डेटा बदल जाता है।

CPHA = 0, CPOL = 1: पहली बिट कम घड़ी के साथ शुरू होती है - डेटा को गिरने वाले किनारे पर नमूना लिया जाता है और बढ़ते किनारे पर डेटा बदल जाता है।

CPHA = 1, CPOL = 0: पहली बिट एक उच्च घड़ी के साथ शुरू होती है - डेटा को गिरने वाले किनारे पर नमूना लिया जाता है और बढ़ते किनारे पर डेटा बदल जाता है।

CPHA = 1, CPOL = 1: पहली बिट एक उच्च घड़ी के साथ शुरू होती है - डेटा को बढ़ते किनारे पर नमूना लिया जाता है, और डेटा गिरने के किनारे पर बदल जाता है।

एसपीआई बस का समय

एसपीआई बस का समय

एसपीआई संचार प्रोटोकॉल

कई माइक्रोकंट्रोलर्स में इनबिल्ट एसपीआई प्रोटोकॉल होते हैं जो भेजने और प्राप्त करने वाले सभी डेटा को संभालते हैं। कोई भी डेटा मोड ऑपरेशन (R / W) SPI प्रोटोकॉल के नियंत्रण और स्थिति रजिस्टर द्वारा नियंत्रित किया जाता है। यहां, आप SPI प्रोटोकॉल के माध्यम से PIC16f877a माइक्रोकंट्रोलर को EEPROM इंटरफ़ेस देख सकते हैं।

यहाँ, 25LC104 EEROM एक 131072 बाइट्स मेमोरी है जिसमें माइक्रोकंट्रोलर डेटा के दो बाइट्स को स्थानांतरित करता है। EEROM मेमोरी एक एसपीआई सीरियल बस के माध्यम से। इस इंटरफेसिंग का कार्यक्रम नीचे दिया गया है।

एसपीआई सीरियल बस के माध्यम से मास्टर टू स्लेव संचार

एसपीआई सीरियल बस के माध्यम से मास्टर टू स्लेव संचार

#शामिल
एसएस एसएस = आरसी ^ 2
Sbit SCK = RC ^ 3
Sdi sdi = RC ^ 4
एसडीओ एसडीओ = आरसी ^ 5
शून्य को प्रारंभ करें EEROM ()
शून्य मुख्य ()
{{
SSPSPAT = 0x00
SSPCON = 0x31
एसएमपी = 0
SCK = 0
एसडीओ = ०
एसएस = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
एसएस = ०
}

एसपीआई प्रोटोकॉल के लाभ

  • यह एक पूर्ण द्वैध संचार है।
  • यह हाई-स्पीड डेटा बस 10MHz है।
  • यह स्थानांतरित करते समय 8 बिट्स तक सीमित नहीं है
  • SPI के माध्यम से हार्डवेयर इंटरफेसिंग सरल है।
  • दास एक मास्टर घड़ी का उपयोग करता है और इसके लिए कीमती दोलक की आवश्यकता नहीं होती है।

यह सब SPI संचार और इसके बारे में है एक माइक्रोकंट्रोलर के साथ इंटरफेस । हम इस लेख के लिए आपकी गहरी रुचि और ध्यान की सराहना करते हैं और इसलिए इस लेख पर आपके दृष्टिकोण की आशा करते हैं। इसके अलावा, किसी भी इंटरफेसिंग कोडिंग और सहायता के लिए, आप हमें नीचे टिप्पणी करके पूछ सकते हैं।

फ़ोटो क्रेडिट:

  • द्वारा सीरियल डेटा संचार Glowscotland
  • सीरियल पेरीफेरल इंटरफ़ेस बेसिक्स द्वारा नी
  • एकल मास्टर और कई दास द्वारा खा
  • मास्टर और गुलाम के बीच डाटा ट्रांसफर अभियंता
  • द्वारा एसपीआई बस का समय अधिकतम किया गया