मैं अपने PIC18F4550 और मेरे पीसी के बीच एक संवाद बनाना चाहता हूं लेकिन मैं फंस रहा हूं कि क्या मुझे लंबी दूरी के लिए UART या USART का उपयोग करना चाहिए। जब दूसरे के बजाय एक का उपयोग करना अधिक फायदेमंद है?
मैं अपने PIC18F4550 और मेरे पीसी के बीच एक संवाद बनाना चाहता हूं लेकिन मैं फंस रहा हूं कि क्या मुझे लंबी दूरी के लिए UART या USART का उपयोग करना चाहिए। जब दूसरे के बजाय एक का उपयोग करना अधिक फायदेमंद है?
जवाबों:
आपके उद्देश्यों के लिए, UART और USART एक ही चीज हैं। UART का अर्थ है सार्वभौमिक अतुल्यकालिक रिसीवर / ट्रांसमीटर । USART में अतिरिक्त S समकालिक के लिए है । यह सिर्फ एक छोटी सी क्षमता है माइक्रोचिप ने कुछ मामलों में इसे अधिक उपयोगी बनाने के लिए मॉड्यूल दिया। वह अतिरिक्त क्षमता आपके मामले में लागू नहीं होती है।
PC COM पोर्ट केवल बात करने के लिए UART लेता है। तथ्य यह है कि USART का उपयोग एक अलग तरीके से किया जा सकता है, आपके लिए अप्रासंगिक है, सिवाय इसके कि शायद आपके पास कुछ अतिरिक्त कॉन्फ़िगरेशन बिट्स हैं जिन्हें सही तरीके से सेट किया जाना है।
संक्षिप्त उत्तर: आपके पास जो भी चिप है, उसका उपयोग करें
प्रश्न की पूरी तरह से जांच करने के लिए, यह आवश्यक है:
एक यू विविध एक तुल्यकालिक आर eceiver टी ransmitter अपने पारंपरिक "सीरियल पोर्ट" है। यह इस अर्थ में अतुल्यकालिक है कि केवल एक ही संकेत शामिल है - कोई भी घड़ी संचरित नहीं होती है, और इसके बजाय रिसीवर को एक घड़ी को पुनर्प्राप्त करना चाहिए, आमतौर पर ओवरसैंपलिंग द्वारा।
इसके विपरीत U niversal S ynchronous A सिंक्रोनस R eceiver T ransmitter UART- शैली एसिंक्रोनस मोड के साथ एक अधिक बहुमुखी डिवाइस है , लेकिन जिसे वैकल्पिक रूप से सिंक्रोनस मोड में भी संचालित करने के लिए कॉन्फ़िगर किया जा सकता है जहां एक घड़ी डेटा के साथ भेजी जाती है। क्षमता के आधार पर, इसमें सुप्रसिद्ध तुल्यकालिक धारावाहिक स्वरूपों के साथ अंतरविरोध शामिल हो सकते हैं, उदाहरण के लिए SPI या I2S।
कुछ MCUs दोनों प्रकार की परिधीय पेशकश कर सकते हैं। एक मूल अतुल्यकालिक धारावाहिक की जरूरत के लिए आप या तो चुन सकते हैं। हालाँकि आपकी पसंद पिन से प्रभावित हो सकती है, जिस पर एक परिधीय परिचालित हो सकता है, सिस्टम में अन्य आवश्यकताएं, आदि। एक फैक्ट्री रॉम बूटलोडर केवल कुछ परिधीयों पर काम कर सकता है और अन्य नहीं। बफर सपोर्ट, वर्ड लेंथ, पैरिटी सपोर्ट, कंट्रोल कंट्रोल सिग्नल आदि में भी अंतर हो सकता है और सॉफ्टवेयर इंटरफेस दोनों के बीच बिल्कुल अलग हो सकता है।
वे मूल रूप से आपके माइक्रोकंट्रोलर के लिए समान हैं।
USART सार्वभौमिक अतुल्यकालिक और तुल्यकालिक रिसीवर / ट्रांसमीटर के लिए खड़ा है। UART का अर्थ है सार्वभौमिक अतुल्यकालिक रिसीवर / ट्रांसमीटर।
अतुल्यकालिक डेटा संचरण का अधिकांश समय इस संचार प्रोटोकॉल में उपयोग किया जाएगा। सिंक्रोनस डेटा ट्रांसमिशन का उपयोग शायद ही कभी किया जाता है क्योंकि आपके पास SPI और I2C जैसे बेहतर सिंक्रोनस संचार प्रोटोकॉल हैं।
आपके माइक्रोकंट्रोलर (MCU) में एक यूनिवर्सल सिंक्रोनस / एसिंक्रोनस रिसीवर / ट्रांसमीटर (USART) है। यह कार्यात्मक इकाई एक तुल्यकालिक संचार मोड और एक अतुल्यकालिक संचार मोड का समर्थन करती है।
सिंक्रोनस मोड में, ट्रांसमीटर Tx एक CLOCK तार और एक DATA तार द्वारा रिसीवर Rx से जुड़ा होता है। एक बार CLOCK अवधि के बाद, Tx DATA पर एक और बिट भेजता है और Rx DATA से एक और बिट लेता है। स्थानांतरण का समय CLOCK द्वारा नियंत्रित होता है और इसलिए Tx और Rx दोनों के लिए जाना जाता है। तो Tx और Rx दोनों अतुल्यकालिक मोड की तुलना में उच्च बिट दर का उपयोग कर सकते हैं।
हालाँकि, एक के बजाय दो तारों / कनेक्टर पिन की आवश्यकता होती है और CLOCK और DATA के बीच अत्यधिक तिरछा या घबराना होता है, जिससे प्राप्त डेटा दूषित हो जाता है। लाइन ड्राइवरों और लाइन रिसीवर के भीतर क्लॉक और डेटा को ले जाने वाले समय को इस तिरछा को कम करने के लिए निकटता से मिलान किया जाना चाहिए। इंटरफ़ेस और दो-तार कारक लंबी दूरी पर और अधिक प्रमुख हो जाते हैं, लंबी केबल और / या कई कनेक्शन हॉप्स के साथ।
अतुल्यकालिक मोड में, ट्रांसमीटर Tx रिसीवर Rx से एक DATA तार द्वारा जुड़ा हुआ है। एक बार समय सीमा के बाद, Tx DATA पर एक और बिट भेजता है और Rx DATA से एक और बिट लेता है। ट्रांसफर टाइमिंग को टीएक्स और आरएक्स में आवृत्ति अलग-अलग ऑसिलेटर द्वारा नियंत्रित किया जाता है, जिनमें से प्रत्येक दूसरे के लिए अज्ञात है और थोड़ा अलग होगा। इसलिए समकालिक मोड की तुलना में अधिकतम विश्वसनीय बिट दर कम है।
हर नई बाइट की शुरुआत में, Rx आने वाले बिट अनुक्रम समय के लिए resynchronise करने के लिए शुरुआती STOP-START बिट संक्रमण का उपयोग करता है। यह लाइन ड्राइवरों / रिसीवरों, केबलों और कनेक्टर्स से विलंब को बिट अवधि के लिए अप्रासंगिक बनाता है, हालांकि बिट गुणवत्ता के लिए नहीं। केबलों, कनेक्टर्स और लाइन ड्राइवरों / रिसीवरों में लागत को कम करने के बजाय दो के बजाय प्रति संचार सिग्नल में केवल एक तार की आवश्यकता होती है।
तो यह आपकी स्वीकार्य लागत, आपके द्वारा की जा रही दूरी और Tx और Rx की क्षमताओं पर निर्भर करता है। आपके पीसी को केवल मानक COM पोर्ट पर एसिंक्रोनस मोड का समर्थन करने की संभावना है, सिंक्रोनस मोड के लिए एक विशेष पोर्ट (PCIe या USB, संभावना यूएसबी) की आवश्यकता होती है।