UARTs अक्सर आपको 1, 1.5 और 2 स्टॉप बिट्स के बीच चयन करने देते हैं। 1 स्टॉप बिट पेलोड दक्षता के साथ 80% (8/10) है, 2 स्टॉप बिट्स के साथ जो 72.7% (8/11) तक गिरता है। तो दूसरे स्टॉप बिट का फायदा क्या है?
UARTs अक्सर आपको 1, 1.5 और 2 स्टॉप बिट्स के बीच चयन करने देते हैं। 1 स्टॉप बिट पेलोड दक्षता के साथ 80% (8/10) है, 2 स्टॉप बिट्स के साथ जो 72.7% (8/11) तक गिरता है। तो दूसरे स्टॉप बिट का फायदा क्या है?
जवाबों:
अतिरिक्त स्टॉप बिट्स एक अतिरिक्त अतिरिक्त प्राप्त करने का प्रसंस्करण समय जोड़ने का एक उपयोगी तरीका हो सकता है, विशेष रूप से उच्च बॉड दरों और / या नरम UART का उपयोग करके, जहां प्राप्त बाइट को संसाधित करने के लिए समय की आवश्यकता होती है।
जहां गति तंग है, और आपका UART केवल 2 की शक्तियों में विभाजन अनुपात प्रदान करता है, एक अतिरिक्त स्टॉपबिट को जोड़ने से अगले सबसे कम बॉड्रेट की तुलना में गति में कम कठोर कमी देने का विकल्प हो सकता है।
मेरा मानना है कि यह एक कारण हो सकता है DMX512 मानक 2 स्टॉपबिट निर्दिष्ट करता है।
एक अन्य स्थिति जहां वे उपयोगी हो सकते हैं, यदि आपके पास बिना किसी बफरिंग या पैकिटिशन के डेटा स्ट्रीम को अग्रेषित करने वाले उपकरण हैं - नोड्स और परिमित नमूने की बारीकियों के बीच घड़ी की दरों में छोटे अंतर के कारण त्रुटियां हो सकती हैं, क्योंकि डेटा प्राप्त होता है और कई नोड्स में पीछे हट जाता है। एक श्रृंखला है, लेकिन यदि डेटा को 2 स्टॉपबिट्स के साथ भेजा जाता है और रिसीवर को एक स्टॉपबिट में सेट किया जाता है, तो यह इन त्रुटियों को समायोजित करने के लिए पर्याप्त मार्जिन जोड़ता है और कम से कम श्रृंखला के नोड्स के लिए कम से कम एक वैध स्टॉपबिट की अवधि को मज़बूती से प्राप्त करने के लिए छोड़ देता है।
मैंने एक ऐसी स्थिति का सामना भी किया है जहां एक बहुत लंबी केबल चलाने से उठने और गिरने के समय में कुछ विषमता होती है, जिसके परिणामस्वरूप अपर्याप्त स्टॉपबिट लंबाई होती है - 2 स्टॉपबिट भेजने और रिसीवर होने के लिए केवल एक को यह निर्धारित करने की आवश्यकता होती है।
लंबे समय से चले गए प्रिंटर (लगभग) सभी यांत्रिक निर्माण थे। तब भी कुछ हद तक बॉड्रेट को मानकीकृत किया गया था, इसलिए अतिरिक्त स्टॉप बिट को जोड़ने से प्रिंटर को चरित्र को प्रिंट करने के लिए कुछ अतिरिक्त समय मिलेगा। समय के पहलू अधिक स्पष्ट रूप से वापस आ गए थे। मेरे पहले प्रिंटर के लिए, एक शोर http://en.wikipedia.org/wiki/Teletype_Model_33 , मुझे कैरिज रिटर्न भेजने के बाद दो पात्रों का ठहराव सम्मिलित करना था।
दो स्टॉप बिट्स एक सिस्टम पर एक से अधिक उपयोगी होने की संभावना नहीं है, जिसमें रुके हुए समय का एक महत्वपूर्ण अनुपात होता है और जो कम शोर (कम बीईआर) वातावरण में काम कर रहा है जैसे कि उपकरणों के लिए आंतरिक या कुछ मीटर के साथ परिधीय इंटरफ़ेस में। केबल और / या बिना मॉडेम-मॉडेम चरण के।
2 स्टॉप बिट्स आपको अधिक से अधिक सिंक्रनाइज़ेशन का समय देते हैं, पात्रों के बीच प्रक्रिया करने के लिए अधिक समय और शायद, हार्डवेयर और एल्गोरिदम के आधार पर, निरंतर डेटा स्ट्रीम के दौरान सिंक्रनाइज़ेशन प्राप्त करने या प्राप्त करने का बेहतर मौका। इंटरचैकर समय आधुनिक प्रणालियों पर बहुत कम मूल्य का है जब घड़ी की गति कम थी और प्रोसेसर थ्रूपुट कम था।
यदि आपके पास एक अनिवार्य रूप से निरंतर डेटा स्ट्रीम है, तो यदि असंबद्ध है, तो कोई भी उच्च बिट स्टॉप बिट की तरह दिखाई देगा। कोई भी उच्च निम्न संक्रमण बाइट सीमा की तरह दिखाई देगा। यदि आपका रिसीवर 10 सीमा पर शुरू होता है और यह एक सच्ची शुरुआत सीमा नहीं है, तो यह केवल 50% समय की खोज की जाएगी) (यानी यदि अंतिम "स्टॉप बिट" वास्तव में कम डेटा बिट पाया जाता है और आप भी रास्ते में वास्तविक स्टॉप / स्टार्ट बाउंड्री पर छोड़ दिया है। औसतन आपके पास बाइट सीमा की 1/4 संभावना 1/0 है और झटके से स्टॉप / स्टार्ट पेयर की तरह दिख रहे हैं। ऊपर दिए गए सुझाव हैं कि यदि आप एक गलत स्टॉप चुनते हैं- जोड़ी शुरू करें तो लगभग 50% संभावना है कि आप निम्नलिखित प्रयास पर एक और एक का चयन करेंगे।
यदि आप 2 स्टॉप बिट्स (11) का उपयोग करते हैं तो एक वैध स्टॉप स्टार्ट अनुक्रम 110 है जिसमें यादृच्छिक डेटा ट्रैफ़िक में 1/8 वां मौका होता है। असंबद्ध प्रवाह में वास्तविक स्टॉप और स्टार्ट बिट्स के मिश्रण से सत्संग थोड़ा बदल जाता है, लेकिन यह अपेक्षाकृत कम संभावना है कि यदि आपको एक चक्र पर एक गलत 110 स्टॉप / स्टार्ट अनुक्रम मिलता है, तो आप वास्तविक 110 से अधिक ठोकर खाने से पहले एक और कोशिश करेंगे। अनुक्रम जो आगे होता है।
जैसा कि आप ध्यान दें, 1 स्टॉप बिट पैदावार 8/10 = 80% अधिकतम थ्रूपुट और 2 स्टॉप बिट उपज 8/11 = 72% दक्षता। उच्चारण सीमा पर थ्रूपुट में अंतर 80% / 72% = ~ 11% अधिक है। यह चरम परिस्थितियों में एक उपयोगी लाभ है, लेकिन विशाल नहीं है और यदि सर्किट न्यूनतम मूल्य के समय के लगभग 10% से अधिक निष्क्रिय है। यदि आपका सर्किट शोर है और कभी-कभी तुल्यकालन हानि का खतरा है, तो अतिरिक्त स्टॉप बिट बहुत मदद कर सकता है। लेकिन अगर आपको परवाह है कि थ्रूपुट के बारे में आप अक्सर बॉड दर (हमेशा नहीं) बढ़ा सकते हैं या पूरी तरह से तुल्यकालिक ऑपरेशन में बदल सकते हैं।
"सॉफ्ट UART" के साथ समय प्राप्त करने के बारे में mikeselectricstuff के बिंदु को बढ़ाना, एक प्राप्त आवेदन जो हमेशा जानता होगा कि डेटा कब स्वीकार करना है और मतदान के आधार पर ऐसा करना अक्सर तेज बॉड दरों को संभाल सकता है, जो एक बाधित-चालित नरम UART के साथ व्यावहारिक होगा। हालांकि, ऐसे एप्लिकेशन केवल एक बाइट के स्टॉप बिट और अगले बाइट के स्टार्ट बिट के बीच के समय में आने वाले डेटा को प्रोसेस कर सकते हैं; प्रत्येक बाइट को संसाधित करने के लिए आवश्यक समय संचार गति के लिए सीमित कारक होता है। 115,200-N-8-2 पर डेटा संसाधित करना 57,600-N-8-1 पर इसे संसाधित करने की तुलना में बहुत अधिक मांग नहीं है, लेकिन यह 80% से अधिक तेज है।
कभी-कभी कोई प्रतीत होने वाले-कम-कुशल डेटा प्रारूपों का उपयोग करके चीजों को और भी आगे बढ़ा सकता है। उदाहरण के लिए, प्रत्येक प्रत्येक बाइट को दो टुकड़ों में भेज सकता है, एक सात बिट्स के साथ और एक एक के साथ (एमएसबी एक-बिट भाग के सभी सेट हैं)। यदि कोई ऐसा करता है, यहां तक कि केवल एक स्टॉप बिट के साथ, एक बाइट-पेयर के अंत और अगले की शुरुआत के बीच अंकन के आठ बिट समय होंगे, तो इस प्रकार एक बिट दर को चार गुना अधिक धक्का देने की अनुमति देगा जितना कि एक केवल दो स्टॉप बिट्स के साथ कर सकते हैं (और आठ गुना अधिक के रूप में एक व्यक्ति के साथ क्या कर सकता है)। कई बार बाइट्स भेजने के बावजूद, डेटा दर में चार गुना वृद्धि एक बड़ी जीत होगी। इसके अलावा, हालांकि प्रत्येक प्रेषित बाइट जोड़ी को आठ बिट डेटा भेजने के लिए इस्तेमाल किया जा सकता है, जबकि 256 संभावित बाइट मानों में से केवल 130 का उपयोग एन्कोडिंग द्वारा किया जाएगा।
एक बार एक समय में इलेक्ट्रोमैकेनिकल मॉन्स्टर थे जिन्हें टेलेटिप कहा जाता था। अधिकांश एसी मोटर्स पर पावर लाइन आवृत्ति के साथ सिंक्रोनाइज़ किया गया। इस प्रकार हमेशा एक मौका था कि दो संचार मशीनों को एक ही पावर ग्रिड के लिए सिंक्रनाइज़ नहीं किया गया होगा या यहां तक कि उस मामले के लिए विभिन्न आवृत्तियों का उपयोग करके वैकल्पिक चालू पर चलाया जा सकता है।
इस प्रकार, एक धीमी मशीन को पकड़ने और सिंक से बाहर नहीं निकलने देने के लिए, दो स्टॉप बिट्स भेजे गए थे।
अन्य प्रयोजनों के लिए जैसे कि मुद्रण गाड़ी के लिए एक नई लाइन की शुरुआत में लौटने की अनुमति, एक सीआर, एलएफ प्लस दो रूबआउट भेजे गए (सभी एक 8 स्तर टेप पर छेद)।
यह केवल 110 बौड और धीमी गति से चलने वाले सर्किट के लिए प्रथागत था।
प्राप्त यांत्रिक उपकरणों की सुस्ती, अतिरिक्त स्टॉप बिट्स को जोड़ने के पीछे का कारण था, हालांकि आज डिवाइस काफी तेज हैं और अतिरिक्त स्टॉप बिट की आवश्यकता के बिना भी उच्च बॉड दरों पर काम करते हैं।