सीरियल एक महंगा शब्द का उपयोग करने के लिए "टाइम डिवीजन मल्टीप्लेक्स" है, जो सभी के लिए एक छाता शब्द है। इसका मतलब है कि डेटा समय के साथ फैला हुआ है, सबसे अधिक बार एक के बाद एक एकल बिट। आपके द्वारा नामकरण किए जा रहे सभी प्रोटोकॉल सीरियल प्रोटोकॉल हैं।
UARTयूनिवर्सल अतुल्यकालिक रिसीवर ट्रांसमीटर के लिए, सबसे अधिक उपयोग किए जाने वाले सीरियल प्रोटोकॉल में से एक है। यह लगभग उतना ही पुराना है जितना कि मैं हूं, और बहुत सरल हूं। अधिकांश नियंत्रकों में एक हार्डवेयर UART होता है। यह संचारण के लिए एक एकल डेटा लाइन और डेटा प्राप्त करने के लिए एक का उपयोग करता है। अधिकांश अक्सर 8-बिट डेटा स्थानांतरित किया जाता है, निम्नानुसार है: 1 स्टार्ट बिट (निम्न स्तर), 8 डेटा बिट और 1 स्टॉप बिट (उच्च स्तर)। निम्न स्तर की शुरुआत बिट और उच्च स्तर के स्टॉप बिट का मतलब है कि संचार शुरू करने के लिए हमेशा उच्च से निम्न संक्रमण होता है। यही UART का वर्णन करता है। कोई वोल्टेज स्तर नहीं है, इसलिए आप इसे 3.3 V या 5 V पर रख सकते हैं, जो भी आपके माइक्रोकंट्रोलर का उपयोग करता है। ध्यान दें कि जो माइक्रोकंट्रोलर UART के माध्यम से संचार करना चाहते हैं, उन्हें प्रसारण की गति, बिट-दर पर सहमत होना होगा, क्योंकि उनके पास केवल आरंभ करने के लिए किनारे गिरने वाले बिट्स हैं। इसे अतुल्यकालिक संचार कहा जाता है।
लंबी दूरी के संचार के लिए (जिसमें सैकड़ों मीटर नहीं होना चाहिए) 5 V UART बहुत विश्वसनीय नहीं है, इसीलिए इसे उच्च वोल्टेज में परिवर्तित किया जाता है, आमतौर पर "0" के लिए +12 V और "-12 V" के लिए 1 "। डेटा प्रारूप समान रहता है। फिर आपके पास RS-232 है (जिसे आपको वास्तव में EIA-232 कहना चाहिए, लेकिन कोई नहीं करता है।)
सार्वभौमिक निर्भरता / अतुल्यकालिक रिसीवर ट्रांसमीटर के लिए समय निर्भरता UART की बड़ी कमियों में से एक है और इसका उपयोग USART है । यह UART कर सकता है, लेकिन एक सिंक्रोनस प्रोटोकॉल भी। सिंक्रोनस में न केवल डेटा है, बल्कि एक घड़ी भी संचारित है। प्रत्येक बिट के साथ एक घड़ी पल्स रिसीवर को बताता है कि उसे उस बिट को लैच करना चाहिए। तुल्यकालिक प्रोटोकॉल को या तो एक उच्च बैंडविड्थ की आवश्यकता होती है, जैसे मैनचेस्टर एन्कोडिंग के मामले में, या घड़ी के लिए एक अतिरिक्त तार, जैसे SPI और I2C।
एसपीआई (सीरियल पेरिफेरल इंटरफ़ेस) एक और बहुत ही सरल सीरियल प्रोटोकॉल है। एक मास्टर एक घड़ी संकेत भेजता है, और प्रत्येक घड़ी पल्स पर यह एक बिट को गुलाम से बाहर स्थानांतरित करता है, और एक बिट में दास से आता है। इसलिए सिग्नल के नाम घड़ी के लिए SCK, मास्टर आउट स्लेव में MOSI और मास्टर इन स्लेव आउट के लिए MISO हैं। एसएस (स्लेव सेलेक्ट) संकेतों का उपयोग करके मास्टर बस पर एक से अधिक दास को नियंत्रित कर सकता है। कई स्लेव डिवाइसेस को एक मास्टर से कनेक्ट करने के दो तरीके हैं, एक का उल्लेख ऊपर किया गया है अर्थात स्लेव सेलेक्ट का उपयोग करके, और दूसरा डेज़ी चेनिंग है, यह कम हार्डवेयर पिन (सेलेक्ट लाइन्स) का उपयोग करता है, लेकिन सॉफ्टवेयर जटिल हो जाता है।
I2C(इंटर-इंटीग्रेटेड सर्किट, "I स्क्वेरड सी") का उच्चारण भी एक सिंक्रोनस प्रोटोकॉल है, और यह पहला है जो हम देखते हैं कि इसमें कुछ "खुफिया" है; अन्य लोगों ने विनम्रतापूर्वक बिट्स को अंदर और बाहर स्थानांतरित कर दिया, और वह था। I2C केवल 2 तारों का उपयोग करता है, एक घड़ी (SCL) के लिए और एक डेटा (SDA) के लिए। इसका मतलब है कि मास्टर और दास एक ही तार पर डेटा भेजते हैं, फिर से मास्टर द्वारा नियंत्रित किया जाता है जो घड़ी संकेत बनाता है। I2C एक विशेष उपकरण का चयन करने के लिए अलग-अलग स्लेव चयन का उपयोग नहीं करता है, लेकिन इसमें एड्रेसिंग है। मास्टर द्वारा भेजी गई पहली बाइट में 7 बिट का पता होता है (ताकि आप बस में 127 उपकरणों का उपयोग कर सकें) और एक रीड / राइट बिट, यह दर्शाता है कि अगला बाइट भी मास्टर से आएगा या नहीं। दास। प्रत्येक बाइट के बाद, बाइट के रिसेप्शन को स्वीकार करने के लिए रिसीवर को "0" भेजना होगा, जो गुरु एक 9 वीं घड़ी नाड़ी के साथ देता है। यदि मास्टर एक बाइट लिखना चाहता है, तो यही प्रक्रिया दोहराती है: मास्टर बस पर थोड़ा सा डालता है और हर बार एक घड़ी की नब्ज को संकेत देता है कि डेटा पढ़ने के लिए तैयार है। यदि मास्टर डेटा प्राप्त करना चाहता है तो यह केवल घड़ी की दाल उत्पन्न करता है। दास को ध्यान रखना पड़ता है कि घड़ी की नब्ज दिए जाने पर अगला बिट तैयार है। यह प्रोटोकॉल NXP (पूर्व में फिलिप्स) द्वारा पेटेंट कराया गया है, लाइसेंसिंग लागत को बचाने के लिए, Atmel शब्द TWI (2-वायर इंटरफ़ेस) का उपयोग करता है, जो बिल्कुल I2C के समान है, इसलिए किसी भी AVR डिवाइस में I2C नहीं होगा, लेकिन इसमें TWI होगा। यदि मास्टर डेटा प्राप्त करना चाहता है तो यह केवल घड़ी की दाल उत्पन्न करता है। दास को ध्यान रखना पड़ता है कि घड़ी की नब्ज दिए जाने पर अगला बिट तैयार है। यह प्रोटोकॉल NXP (पूर्व में फिलिप्स) द्वारा पेटेंट कराया गया है, लाइसेंसिंग लागत को बचाने के लिए, Atmel शब्द TWI (2-वायर इंटरफ़ेस) का उपयोग करता है, जो बिल्कुल I2C के समान है, इसलिए किसी भी AVR डिवाइस में I2C नहीं होगा, लेकिन इसमें TWI होगा। यदि मास्टर डेटा प्राप्त करना चाहता है तो यह केवल घड़ी की दाल उत्पन्न करता है। दास को ध्यान रखना पड़ता है कि घड़ी की नब्ज दिए जाने पर अगला बिट तैयार है। यह प्रोटोकॉल NXP (पूर्व में फिलिप्स) द्वारा पेटेंट कराया गया है, लाइसेंसिंग लागत को बचाने के लिए, Atmel शब्द TWI (2-वायर इंटरफ़ेस) का उपयोग करता है, जो बिल्कुल I2C के समान है, इसलिए किसी भी AVR डिवाइस में I2C नहीं होगा, लेकिन इसमें TWI होगा।
एक ही तार पर दो या अधिक संकेतों से टकराव हो सकता है, और अगर एक डिवाइस "1" भेजता है तो दूसरा एक "0" भेजता है, तो आपको समस्या होगी। इसलिए बस तार-रहित है: दो प्रतिरोधक बस को उच्च स्तर तक खींचते हैं, और उपकरण केवल निम्न स्तर भेजते हैं। यदि वे उच्च स्तर पर भेजना चाहते हैं तो वे बस को छोड़ देते हैं।
TTL (ट्रांजिस्टर ट्रांजिस्टर लॉजिक) एक प्रोटोकॉल नहीं है। यह डिजिटल तर्क के लिए एक पुरानी तकनीक है, लेकिन नाम का उपयोग अक्सर 5 वी आपूर्ति वोल्टेज को संदर्भित करने के लिए किया जाता है, जिसे अक्सर गलत तरीके से UART कहा जाना चाहिए।
इनमें से प्रत्येक के बारे में आप एक किताब लिख सकते हैं, और ऐसा लगता है कि मैं अपने रास्ते पर अच्छी तरह से चल रहा हूँ। यह सिर्फ एक बहुत ही संक्षिप्त अवलोकन है, हमें बताएं कि क्या कुछ चीजों के स्पष्टीकरण की आवश्यकता है।