UART आणि SPI चा अभ्यास करा, हे दोन महत्त्वाचे क्रमिक संवाद प्रोटोकॉल आहेत. त्यांचे सिद्धांत, फरक, अनुप्रयोग, फायदे आणि तोटे एम्बेडेड सिस्टम आणि इतर गोष्टींसाठी समजून घ्या.
क्रमिक संवाद रहस्य उलगडला: UART आणि SPI चा सखोल अभ्यास
इलेक्ट्रॉनिक्स आणि एम्बेडेड सिस्टमच्या जगात, उपकरणांना एकमेकांशी संवाद साधण्याची क्षमता अत्यंत महत्त्वाची आहे. क्रमिक संवाद मायक्रो कंट्रोलर, सेन्सर्स, पेरिफेरल्स आणि अगदी कॉम्प्युटर यांच्यात डेटा हस्तांतरित करण्यासाठी एक विश्वसनीय आणि कार्यक्षम पद्धत प्रदान करते. UART (युनिव्हर्सल एसिंक्रोनस रिसीव्हर/ट्रांसमीटर) आणि SPI (सिरीयल पेरिफेरल इंटरफेस) हे दोन सर्वात सामान्य क्रमिक संवाद प्रोटोकॉल आहेत. हे सर्वसमावेशक मार्गदर्शक UART आणि SPI या दोन्हींच्या गुंतागुंतीचा शोध घेईल, त्यांचे सिद्धांत, फरक, अनुप्रयोग, फायदे आणि तोटे यांचा अभ्यास करेल.
क्रमिक संवाद समजून घेणे
क्रमिक संवाद ही एकाच वायरवर (किंवा नियंत्रण सिग्नलसाठी काही वायर) एका वेळी एक बिट डेटा प्रसारित करण्याची एक पद्धत आहे, समांतर संवादाच्या विरुद्ध, जी एकाच वेळी अनेक वायरवर अनेक बिट्स पाठवते. कमी अंतरासाठी समांतर संवाद जलद असला तरी, क्रमिक संवाद सामान्यतः जास्त अंतरासाठी आणि वायरची संख्या कमी करणे महत्त्वाचे असते अशा परिस्थितीत अधिक श्रेयस्कर असतो. हे एम्बेडेड सिस्टमसाठी आदर्श आहे, जिथे जागा आणि खर्च अनेकदा महत्त्वपूर्ण मर्यादा असतात.
एसिंक्रोनस वि. सिंक्रोनस कम्युनिकेशन
क्रमिक संवादांचे मोठ्या प्रमाणावर दोन प्रकारांमध्ये वर्गीकरण केले जाऊ शकते: एसिंक्रोनस आणि सिंक्रोनस. UART सारख्या एसिंक्रोनस संवादाला প্রেরक आणि प्राप्तकर्ता यांच्यात सामायिक घड्याळ सिग्नलची आवश्यकता नसते. त्याऐवजी, डेटाच्या प्रत्येक बाइटला फ्रेम करण्यासाठी हे प्रारंभ आणि थांबा बिट्सवर अवलंबून असते. SPI आणि I2C सारखे सिंक्रोनस कम्युनिकेशन, उपकरणांमध्ये डेटा ट्रांसमिशन सिंक्रोनाइझ करण्यासाठी सामायिक घड्याळ सिग्नल वापरते.
UART: युनिव्हर्सल एसिंक्रोनस रिसीव्हर/ट्रांसमीटर
UART हा मोठ्या प्रमाणावर वापरला जाणारा क्रमिक संवाद प्रोटोकॉल आहे, मुख्यत्वे त्याच्या साधेपणामुळे आणि लवचिकतेमुळे. हा एक एसिंक्रोनस प्रोटोकॉल आहे, याचा अर्थ প্রেরक आणि प्राप्तकर्ता एक सामान्य घड्याळ सिग्नल सामायिक करत नाहीत. हे हार्डवेअर आवश्यकता सुलभ करते परंतु अचूक वेळ आणि पूर्व-सहमत डेटा दर (बॉड दर) आवश्यक असतो.
UART चे सिद्धांत
UART संवादात फ्रेम्समध्ये डेटा प्रसारित करणे समाविष्ट आहे, ज्यामध्ये खालील गोष्टी असतात:
- स्टार्ट बिट: नवीन डेटा फ्रेमची सुरुवात दर्शवते. हे सहसा कमी (0) सिग्नल असते.
- डेटा बिट्स: प्रसारित केला जाणारा वास्तविक डेटा, सहसा 8 बिट्स (एक बाइट), परंतु 5, 6 किंवा 7 बिट्स देखील असू शकतात.
- पॅरिटी बिट (पर्यायी): त्रुटी शोधण्यासाठी वापरले जाते. हे सम, विषम किंवा काहीही असू शकत नाही.
- स्टॉप बिट: डेटा फ्रेमचा शेवट दर्शवते. हे सहसा उच्च (1) सिग्नल असते. एक किंवा दोन स्टॉप बिट सामान्य आहेत.
यशस्वी संवादासाठी প্রেরक आणि प्राप्तकर्ता यांनी बॉड दर, डेटा बिट्स, पॅरिटी आणि स्टॉप बिट्सवर सहमत असणे आवश्यक आहे. सामान्य बॉड दरांमध्ये 9600, 115200 आणि इतर समाविष्ट आहेत. उच्च बॉड दर जलद डेटा ट्रांसमिशनला अनुमती देतो परंतु वेळेतील त्रुटींसाठी संवेदनशीलता देखील वाढवतो.
UART ॲप्लिकेशन्स
- मायक्रो कंट्रोलरला कॉम्प्युटरशी जोडणे: प्रोग्रामिंग, डीबगिंग आणि डेटा लॉगिंगसाठी मायक्रो कंट्रोलर (Arduino किंवा Raspberry Pi सारखे) आणि कॉम्प्युटर यांच्यात सिरीयल कनेक्शन स्थापित करण्यासाठी UART चा वापर केला जातो.
- GPS मॉड्यूल: अनेक GPS मॉड्यूल होस्ट मायक्रो कंट्रोलर किंवा कॉम्प्युटरला स्थान डेटा प्रसारित करण्यासाठी UART वापरतात.
- ब्लूटूथ मॉड्यूल: ब्लूटूथ मॉड्यूल अनेकदा मायक्रो कंट्रोलरसोबत कम्युनिकेशन इंटरफेस म्हणून UART वापरतात.
- सिरीयल प्रिंटर: जुने सिरीयल प्रिंटर प्रिंट कमांड आणि डेटा प्राप्त करण्यासाठी UART वापरतात.
- कन्सोल आउटपुट: एम्बेडेड सिस्टम अनेकदा डीबगिंग माहिती आणि स्टेटस मेसेज सिरीयल कन्सोलवर आउटपुट करण्यासाठी UART वापरतात.
UART चे फायदे
- साधेपणा: UART हार्डवेअर आणि सॉफ्टवेअर दोन्हीमध्ये अंमलबजावणी करणे तुलनेने सोपे आहे.
- लवचिकता: UART विविध डेटा दर, डेटा बिट लांबी आणि पॅरिटी पर्याय समर्थित करते.
- व्यापकपणे समर्थित: UART हे मोठ्या प्रमाणावर समर्थित मानक आहे, जे हार्डवेअर आणि सॉफ्टवेअर अंमलबजावणीमध्ये सहज उपलब्ध आहे.
- घड्याळ सिग्नलची आवश्यकता नाही: यामुळे आवश्यक असलेल्या वायरची संख्या कमी होते.
UART चे तोटे
- कमी गती: SPI सारख्या सिंक्रोनस प्रोटोकॉलच्या तुलनेत, UART मध्ये सामान्यतः डेटा हस्तांतरण दर कमी असतो.
- त्रुटीची शक्यता: विश्वसनीय घड्याळ सिग्नल नसल्यामुळे, UART वेळेतील त्रुटी आणि डेटा करप्शनसाठी अधिक संवेदनशील आहे. पॅरिटी बिट मदत करू शकते, तरीही ते त्रुटी-मुक्त संवादाची हमी देत नाही.
- दोन उपकरणांपर्यंत मर्यादित: UART प्रामुख्याने दोन उपकरणांदरम्यान पॉइंट-टू-पॉइंट कम्युनिकेशनसाठी डिझाइन केलेले आहे. मल्टिप्लेक्सिंग एकाच UART बसवर अनेक उपकरणांना अनुमती देऊ शकते, परंतु ते गुंतागुंत वाढवते.
UART उदाहरण: Arduino आणि सिरीयल मॉनिटर
UART चे प्रत्यक्ष उदाहरण म्हणजे Arduino IDE मध्ये सिरीयल मॉनिटर वापरणे. Arduino बोर्डमध्ये अंगभूत UART इंटरफेस आहे जो USB द्वारे कॉम्प्युटरशी संवाद साधण्यास अनुमती देतो. खालील Arduino कोड स्निपेट सिरीयल मॉनिटरला डेटा पाठवणे दर्शवते:
void setup() { Serial.begin(9600); // 9600 बॉडवर सिरीयल कम्युनिकेशन सुरू करा } void loop() { Serial.println("Hello, world!"); // "Hello, world!" मेसेज सिरीयल मॉनिटरला पाठवा delay(1000); // 1 सेकंद थांबा }
हा सोपा कोड दर सेकंदाला "Hello, world!" मेसेज सिरीयल मॉनिटरला पाठवतो. Serial.begin(9600)
फंक्शन 9600 च्या बॉड दराने UART इंटरफेस सुरू करते, जे सिरीयल मॉनिटरमधील सेटिंगशी जुळले पाहिजे.
SPI: सिरीयल पेरिफेरल इंटरफेस
SPI (सिरीयल पेरिफेरल इंटरफेस) हा एक सिंक्रोनस सिरीयल कम्युनिकेशन प्रोटोकॉल आहे जो सामान्यतः मायक्रो कंट्रोलर आणि पेरिफेरल्स दरम्यान कमी अंतराच्या संवादासाठी वापरला जातो. हे त्याच्या उच्च गती आणि तुलनेने सोप्या हार्डवेअर आवश्यकतांसाठी ओळखले जाते.
SPI चे सिद्धांत
SPI मास्टर-स्लेव्ह आर्किटेक्चर वापरते, जिथे एक उपकरण (मास्टर) कम्युनिकेशन नियंत्रित करते आणि एक किंवा अधिक उपकरणे (स्लेव्ह) मास्टरच्या कमांडला प्रतिसाद देतात. SPI बसमध्ये चार मुख्य सिग्नल असतात:
- MOSI (मास्टर आऊट स्लेव्ह इन): मास्टरकडून स्लेव्हकडे प्रसारित केलेला डेटा.
- MISO (मास्टर इन स्लेव्ह आऊट): स्लेव्हकडून मास्टरकडे प्रसारित केलेला डेटा.
- SCK (सिरीयल क्लॉक): मास्टरद्वारे व्युत्पन्न केलेला घड्याळ सिग्नल, डेटा ट्रांसमिशन सिंक्रोनाइझ करण्यासाठी वापरला जातो.
- SS/CS (स्लेव्ह सिलेक्ट/चिप सिलेक्ट): मास्टरद्वारे विशिष्ट स्लेव्ह डिव्हाइस निवडण्यासाठी वापरला जाणारा सिग्नल ज्याच्याशी संवाद साधायचा आहे. प्रत्येक स्लेव्ह डिव्हाइसमध्ये सामान्यतः स्वतःची समर्पित SS/CS लाइन असते.
घड्याळ सिग्नलसह सिंक्रोनस पद्धतीने डेटा प्रसारित केला जातो. मास्टर इच्छित स्लेव्हची SS/CS लाइन कमी करून कम्युनिकेशन सुरू करतो. त्यानंतर डेटा MOSI लाइनवर मास्टरमधून बाहेर काढला जातो आणि SCK सिग्नलच्या वाढत्या किंवा घटत्या टोकाला स्लेव्हमध्ये टाकला जातो. त्याच वेळी, डेटा स्लेव्हमधून MISO लाइनवर बाहेर काढला जातो आणि मास्टरमध्ये टाकला जातो. हे फुल-डुप्लेक्स कम्युनिकेशनला अनुमती देते, याचा अर्थ डेटा एकाच वेळी दोन्ही दिशांना प्रसारित केला जाऊ शकतो.
SPI मोड्स
SPI मध्ये ऑपरेशनचे चार मोड्स आहेत, जे दोन पॅरामीटर्सद्वारे निर्धारित केले जातात: क्लॉक पोलॅरिटी (CPOL) आणि क्लॉक फेज (CPHA). हे पॅरामीटर्स SCK सिग्नलची स्थिती निष्क्रिय असताना आणि SCK सिग्नलची धार ज्यावर डेटा सॅम्पल केला जातो आणि शिफ्ट केला जातो ते परिभाषित करतात.
- मोड 0 (CPOL=0, CPHA=0): SCK निष्क्रिय असताना कमी असतो. डेटा वाढत्या टोकाला सॅम्पल केला जातो आणि घटत्या टोकाला शिफ्ट केला जातो.
- मोड 1 (CPOL=0, CPHA=1): SCK निष्क्रिय असताना कमी असतो. डेटा घटत्या टोकाला सॅम्पल केला जातो आणि वाढत्या टोकाला शिफ्ट केला जातो.
- मोड 2 (CPOL=1, CPHA=0): SCK निष्क्रिय असताना उच्च असतो. डेटा घटत्या टोकाला सॅम्पल केला जातो आणि वाढत्या टोकाला शिफ्ट केला जातो.
- मोड 3 (CPOL=1, CPHA=1): SCK निष्क्रिय असताना उच्च असतो. डेटा वाढत्या टोकाला सॅम्पल केला जातो आणि घटत्या टोकाला शिफ्ट केला जातो.
यशस्वी संवादासाठी मास्टर आणि स्लेव्ह डिव्हाइस समान SPI मोड वापरण्यासाठी कॉन्फिगर केलेले असणे आवश्यक आहे. नसल्यास, गोंधळलेला डेटा किंवा कम्युनिकेशन अयशस्वी होईल.
SPI ॲप्लिकेशन्स
- मेमरी कार्ड (SD कार्ड, microSD कार्ड): एम्बेडेड सिस्टममध्ये मेमरी कार्ड इंटरफेस करण्यासाठी SPI चा वापर केला जातो.
- सेन्सर्स: अनेक सेन्सर्स, जसे की एक्सेलेरोमीटर, जायरोस्कोप आणि तापमान सेन्सर्स, डेटा ट्रांसमिशनसाठी SPI वापरतात.
- डिस्प्ले: LCD आणि OLED डिस्प्ले नियंत्रित करण्यासाठी SPI चा वापर केला जातो.
- ॲनालॉग-टू-डिजिटल कन्व्हर्टर (ADCs) आणि डिजिटल-टू-ॲनालॉग कन्व्हर्टर (DACs): डेटा अधिग्रहण आणि नियंत्रण ॲप्लिकेशन्ससाठी ADCs आणि DACs सोबत संवाद साधण्यासाठी SPI वापरला जातो.
- शिफ्ट रजिस्टर: मायक्रो कंट्रोलरवर उपलब्ध डिजिटल I/O पिनची संख्या वाढवण्यासाठी शिफ्ट रजिस्टर नियंत्रित करण्यासाठी SPI वापरला जाऊ शकतो.
SPI चे फायदे
- उच्च गती: SPI UART च्या तुलनेत लक्षणीयरीत्या जास्त डेटा हस्तांतरण दर देते.
- फुल-डुप्लेक्स कम्युनिकेशन: डेटा एकाच वेळी दोन्ही दिशांना प्रसारित केला जाऊ शकतो.
- एकाधिक स्लेव्ह: एकच मास्टर अनेक स्लेव्ह उपकरणांशी संवाद साधू शकतो.
- तुलनेने सोपे हार्डवेअर: SPI ला फक्त चार वायरची आवश्यकता असते (प्रत्येक स्लेव्ह डिव्हाइससाठी एक SS/CS लाइन).
SPI चे तोटे
- ॲड्रेसिंग योजना नाही: SPI स्लेव्ह डिव्हाइस निवडण्यासाठी SS/CS लाइनवर अवलंबून असते, ज्यामुळे मोठ्या संख्येने स्लेव्ह असल्यास ते त्रासदायक होऊ शकते.
- कमी अंतर: उच्च वेळेत सिग्नल कमी झाल्यामुळे SPI सामान्यतः कमी अंतरापुरता मर्यादित असतो.
- त्रुटी शोधणे नाही: SPI मध्ये अंगभूत त्रुटी शोधण्याची यंत्रणा नाही. त्रुटी तपासणी सॉफ्टवेअरमध्ये लागू करणे आवश्यक आहे.
- अधिक गुंतागुंतीची सॉफ्टवेअर अंमलबजावणी: हार्डवेअर तुलनेने सोपे असले तरी, सॉफ्टवेअरची अंमलबजावणी UART पेक्षा अधिक गुंतागुंतीची असू शकते, विशेषत: अनेक स्लेव्ह आणि वेगवेगळ्या SPI मोड्स हाताळताना.
SPI उदाहरण: एक्सेलेरोमीटरसह इंटरफेसिंग
अनेक एक्सेलेरोमीटर, जसे की लोकप्रिय ADXL345, कम्युनिकेशनसाठी SPI वापरतात. ADXL345 मधून एक्सेलरेशन डेटा वाचण्यासाठी, मायक्रो कंट्रोलरला (मास्टर म्हणून काम करून) योग्य रजिस्टर वाचण्यासाठी एक्सेलेरोमीटरला (स्लेव्ह म्हणून काम करून) कमांड पाठवणे आवश्यक आहे. खालील स्यूडोकोड प्रक्रिया दर्शवते:
- त्याची SS/CS लाइन कमी करून ADXL345 सिलेक्ट करा.
- वाचण्यासाठी रजिस्टर ॲड्रेस पाठवा (उदाहरणार्थ, X-अक्षाच्या एक्सेलरेशन डेटाचा ॲड्रेस).
- MISO लाइनमधून डेटा वाचा (X-अक्षाचे एक्सेलरेशन व्हॅल्यू).
- Y आणि Z अक्षांसाठी चरण 2 आणि 3 पुन्हा करा.
- त्याची SS/CS लाइन उच्च करून ADXL345 डिसेलेक्ट करा.
विशिष्ट कमांड आणि रजिस्टर ॲड्रेस एक्सेलेरोमीटर मॉडेलनुसार बदलतील. अचूक प्रक्रियेसाठी डेटाशीट नेहमी तपासावे.
UART वि. SPI: तुलना
UART आणि SPI मधील मुख्य फरकांचे सारणी येथे आहे:
वैशिष्ट्य | UART | SPI |
---|---|---|
कम्युनिकेशन प्रकार | एसिंक्रोनस | सिंक्रोनस |
घड्याळ सिग्नल | नाही | सामायिक घड्याळ |
वायरची संख्या | 2 (TX, RX) | 4 (MOSI, MISO, SCK, SS/CS) + प्रत्येक स्लेव्हसाठी 1 SS/CS |
डेटा दर | कमी | जास्त |
फुल-डुप्लेक्स | सामान्यतः हाफ-डुप्लेक्स (जरी कधीकधी जटिल सॉफ्टवेअरसह फुल डुप्लेक्सचे अनुकरण करू शकते) | फुल-डुप्लेक्स |
त्रुटी शोधणे | पॅरिटी बिट (पर्यायी) | नाही (सॉफ्टवेअर अंमलबजावणी आवश्यक आहे) |
उपकरणांची संख्या | 2 (पॉइंट-टू-पॉइंट) | एकाधिक (मास्टर-स्लेव्ह) |
गुंतागुंत | सोपे | अधिक गुंतागुंतीचे |
अंतर | जास्त | कमी |
योग्य प्रोटोकॉल निवडणे
UART आणि SPI मधील निवड विशिष्ट ॲप्लिकेशन आवश्यकतांवर अवलंबून असते. खालील घटकांचा विचार करा:- डेटा दर: जर उच्च-गती डेटा हस्तांतरण आवश्यक असेल, तर SPI हा सामान्यतः चांगला पर्याय आहे.
- अंतर: जास्त अंतरासाठी, UART अधिक योग्य आहे.
- उपकरणांची संख्या: जर अनेक उपकरणांना एकाच मास्टरशी संवाद साधण्याची आवश्यकता असेल, तर SPI ला प्राधान्य दिले जाते.
- गुंतागुंत: जर साधेपणाला प्राधान्य असेल, तर UART लागू करणे सोपे आहे.
- त्रुटी शोधणे: त्रुटी शोधणे महत्वाचे असल्यास, पॅरिटी बिटसह UART वापरण्याचा किंवा SPI साठी सॉफ्टवेअरमध्ये त्रुटी तपासणी लागू करण्याचा विचार करा.
- उपलब्ध हार्डवेअर: काही मायक्रो कंट्रोलरमध्ये एका प्रोटोकॉलसाठी मर्यादित समर्थन असू शकते. तुमचा निर्णय घेताना उपलब्ध हार्डवेअर संसाधनांचा विचार करा.
उदाहरणार्थ, एका साध्या सेन्सर ॲप्लिकेशनमध्ये जेथे मायक्रो कंट्रोलरला कमी अंतरावर एकाच सेन्सरमधून डेटा वाचण्याची आवश्यकता असते, तेथे SPI त्याच्या उच्च गतीमुळे अधिक चांगला पर्याय असू शकतो. तथापि, जर मायक्रो कंट्रोलरला डीबगिंगच्या उद्देशाने जास्त अंतरावर कॉम्प्युटरशी संवाद साधण्याची आवश्यकता असेल, तर UART अधिक योग्य असेल.
प्रगत विचार
I2C (इंटर-इंटिग्रेटेड सर्किट)
हा लेख UART आणि SPI वर केंद्रित असताना, I2C (इंटर-इंटिग्रेटेड सर्किट) चा आणखी एक सामान्य क्रमिक संवाद प्रोटोकॉल म्हणून उल्लेख करणे महत्त्वाचे आहे. I2C हा दोन-वायर प्रोटोकॉल आहे जो एकाच बसवर अनेक मास्टर आणि स्लेव्ह उपकरणांना समर्थन देतो. हे अनेकदा सर्किट बोर्डवरील इंटिग्रेटेड सर्किट दरम्यान संवादासाठी वापरले जाते. SPI च्या विपरीत, I2C ॲड्रेसिंग वापरते, ज्यामुळे उपकरणांचे मोठे नेटवर्क सोपे होते.
TTL वि. RS-232
UART सोबत काम करताना, TTL (ट्रांजिस्टर-ट्रांजिस्टर लॉजिक) आणि RS-232 व्होल्टेज पातळीतील फरक समजून घेणे महत्त्वाचे आहे. TTL लॉजिक अनुक्रमे लॉजिकल लो आणि हाय दर्शविण्यासाठी 0V आणि 5V (किंवा 3.3V) वापरते. दुसरीकडे, RS-232, ±12V चा व्होल्टेज वापरते. TTL UART ला RS-232 UART शी थेट जोडल्यास उपकरणांचे नुकसान होऊ शकते. TTL आणि RS-232 व्होल्टेज पातळी दरम्यान रूपांतरण करण्यासाठी लेवल शिफ्टरची (जसे की MAX232 चिप) आवश्यकता आहे.
त्रुटी हाताळणे
UART आणि SPI मध्ये मर्यादित त्रुटी शोधण्याची यंत्रणा असल्याने, सॉफ्टवेअरमध्ये त्रुटी हाताळणी लागू करणे महत्त्वाचे आहे. सामान्य तंत्रांमध्ये चेकसम, सायक्लिक रिडंडंसी चेक (CRCs) आणि टाइमआउट यंत्रणा यांचा समावेश होतो.
निष्कर्ष
UART आणि SPI हे एम्बेडेड सिस्टम आणि त्याहूनही अधिक महत्त्वाचे क्रमिक संवाद प्रोटोकॉल आहेत. UART साधेपणा आणि लवचिकता देते, ज्यामुळे मायक्रो कंट्रोलरला कॉम्प्युटर आणि इतर उपकरणांशी जास्त अंतरावर जोडणे योग्य होते. SPI कमी अंतराच्या ॲप्लिकेशन्ससाठी उच्च-गती कम्युनिकेशन प्रदान करते, जसे की सेन्सर्स, मेमरी कार्ड आणि डिस्प्लेसह इंटरफेसिंग. प्रत्येक प्रोटोकॉलचे सिद्धांत, फायदे आणि तोटे समजून घेतल्याने तुम्हाला तुमची पुढील एम्बेडेड सिस्टम किंवा इलेक्ट्रॉनिक प्रोजेक्ट डिझाइन करताना माहितीपूर्ण निर्णय घेण्यास अनुमती मिळते. तंत्रज्ञान जसजसे पुढे जाईल, तसतसे या क्रमिक संवाद पद्धतींचे ॲप्लिकेशन वाढत जाईल. सतत अनुकूलता आणि शिक्षण अभियंते आणि हौशी व्यक्ती दोघांनाही या प्रोटोकॉलचा पुरेपूर उपयोग करण्यास सक्षम करेल.