AVR माइक्रोकंट्रोलर (Atmel 8) सीरियल कम्युनिकेशन USART कॉन्फ़िगरेशन

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





माइक्रोकंट्रोलर एक नियंत्रण उपकरण है जिसमें कई परिधीय जैसे RAM, ROM TIMERS, होते हैं। सीरियल डेटा संचार , आदि, जो कुछ पूर्व-निर्धारित कार्यों को करने के लिए आवश्यक हैं। आजकल, उन्नत प्रकार के माइक्रोकंट्रोलर कुछ वांछित कार्यों को करने के लिए उनकी क्षमता और व्यवहार्यता के अनुसार अनुप्रयोगों की एक विस्तृत विविधता में उपयोग किया जाता है और इन नियंत्रकों में शामिल हैं 8051, एवीआर और पीआईसी माइक्रोकंट्रोलर । इस लेख में, हम उन्नत AVR परिवार माइक्रोकंट्रोलर और इसकी प्रोग्रामिंग के बारे में जानने जा रहे हैं

एवीआर माइक्रोकंट्रोलर

AVR 1996 में Atmel Corporation द्वारा निर्मित एक प्रकार का नियंत्रक उपकरण है। AVR किसी भी चीज़ के लिए खड़ा नहीं है, यह सिर्फ एक नाम है। एवीआर माइक्रोकंट्रोलर्स में हार्वर्ड वास्तुकला शामिल है , और इसलिए, मशीन स्तर निर्देश (RISC) की कम संख्या के साथ डिवाइस बहुत तेज चलता है। AVR माइक्रोकंट्रोलर्स में अन्य माइक्रोकंट्रोलर जैसे 6-स्लीप मोड्स, इनबिल्ट एडीसी, इंटरनल ऑसिलेटर और सीरियल डेटा कम्युनिकेशन आदि की तुलना में विशेष फीचर्स होते हैं। एवीआर माइक्रोकंट्रोलर विभिन्न ऑपरेशन करने के लिए 8-बिट, 16-बिट और 32-बिट के विभिन्न कॉन्फ़िगरेशन में उपलब्ध हैं।




एवीआर माइक्रोकंट्रोलर

एवीआर माइक्रोकंट्रोलर

AVR माइक्रोकंट्रोलर में USART सीरियल डेटा कम्युनिकेशन

USART सार्वभौमिक सिंक्रोनस और अतुल्यकालिक रिसीवर और ट्रांसमीटर के लिए खड़ा है। यह दो प्रोटोकॉल का एक धारावाहिक संचार है। इस प्रोटोकॉल का उपयोग एकल तार पर घड़ी की दालों के संबंध में बिट द्वारा डेटा बिट को प्रसारित करने और प्राप्त करने के लिए किया जाता है। AVR माइक्रोकंट्रोलर दो पिन हैं: TXD और RXD, जो विशेष रूप से डेटा को प्रसारित करने और प्राप्त करने के लिए उपयोग किए जाते हैं। किसी भी AVR माइक्रोकंट्रोलर में अपनी विशेषताओं के साथ USART प्रोटोकॉल होते हैं।



AVR माइक्रोकंट्रोलर में USART संचार

AVR माइक्रोकंट्रोलर में USART संचार

AVR USART की मुख्य विशेषताएं

  • USART प्रोटोकॉल पूर्ण-द्वैध प्रोटोकॉल का समर्थन करता है।
  • यह उच्च संकल्प बॉड दर उत्पन्न करता है।
  • यह सीरियल डेटा बिट्स को 5 से 9 तक प्रसारित करने का समर्थन करता है और इसमें दो स्टॉप बिट्स होते हैं।

USART पिन कॉन्फ़िगरेशन

AVR के USART में तीन पिन होते हैं:


  • RXD: USART रिसीवर पिन (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
  • TXD: USART ट्रांसमीटर पिन (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: USART क्लॉक पिन (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

काम करने का तरीका

USART प्रोटोकॉल का AVR माइक्रोकंट्रोलर तीन मोड में काम करता है जो हैं:

  • अतुल्यकालिक सामान्य मोड
  • एसिंक्रोनस डबल स्पीड मोड
  • सिंक्रोनस मोड
काम करने का तरीका

काम करने का तरीका

अतुल्यकालिक सामान्य मोड

संचार के इस मोड में, यूबीबीआर रजिस्टर द्वारा पूर्वनिर्धारित बॉड दर द्वारा घड़ी दालों के बिना बिट द्वारा डेटा प्रसारित और प्राप्त किया जाता है।

एसिंक्रोनस डबल स्पीड मोड

संचार के इस मोड में, बॉड दर से दोगुना डेटा यूबीबीआर रजिस्टर द्वारा सेट किया जाता है और यूसीएसआरए रजिस्टर में यू 2 एक्स बिट्स सेट किया जाता है। यह डेटा संचारित करने और जल्दी से प्राप्त करने के लिए तुल्यकालिक संचार के लिए एक उच्च गति मोड है। इस प्रणाली का उपयोग किया जाता है जहां सटीक बॉड दर सेटिंग्स और सिस्टम घड़ी की आवश्यकता होती है।

सिंक्रोनस मोड

इस प्रणाली में, घड़ी पल्स के संबंध में डेटा संचारित और प्राप्त करना UCSRC रजिस्टर में UMSEL = 1 सेट किया गया है।

AVR माइक्रोकंट्रोलर में USART कॉन्फ़िगरेशन

USART को पाँच रजिस्टरों जैसे का उपयोग करके कॉन्फ़िगर किया जा सकता है तीन नियंत्रण रजिस्टर , एक डेटा रजिस्टर और बॉड-दर-चयन रजिस्टर, जैसे कि यूडीआर, यूसीएसआरए, यूसीएसआरबी, यूसीएसआरसी और यूबीआरआर।

कार्यक्रम की रचना के लिए 7 कदम

चरण 1: बॉड दर की गणना और सेट करें

USART / UART की बॉड दर UBRR रजिस्ट्रार द्वारा निर्धारित की जाती है। इस रजिस्टर का उपयोग विशिष्ट गति पर डेटा ट्रांसमिशन उत्पन्न करने के लिए किया जाता है। UBRR एक 16-बिट रजिस्टर है। चूंकि AVR 8-बिट माइक्रोकंट्रोलर है और इसके किसी भी रजिस्टर का आकार 8-बिट है। इसलिए, यहां 16-बिट UBRR रजिस्टर UBRR (H), UBRR (L) जैसे दो 8-बिट रजिस्टरों से बना है।

बॉड दर का सूत्र है

BAUD = डार्क / (16 * (UBBR + 1))

UBRR रजिस्टर का सूत्र है

UBRR = डार्क / (16 * (बीएयूडी -1))

एवीआर माइक्रोकंट्रोलर की आवृत्ति 16 मेगाहर्ट्ज = 16000000 है, हम बॉड दर को 19200Bps मान लेते हैं, फिर

UBRR = 16000000 / (16 * (19200-1))

UBRR = 16000000 / (16 * (19200-1))

UBRR = 51.099

आखिरकार बॉड रेट पता करें

BAUD = 16000000 / (16 * (51 + 1))
UBRR = 19230bps

चरण 2: डेटा मोड चयन

डेटा ट्रांसमिशन मोड, स्टार्ट बिट और स्टॉप बिट और कैरेक्टर साइज़ कंट्रोल और स्टेटस रजिस्टर UCSRC द्वारा निर्धारित किया जाता है।

डेटा मोड चयन

डेटा मोड चयन

चरण 3: डेटा ट्रांसमिशन मोड चयन

सिंक्रोनस और एसिंक्रोनस मोड का चयन नियंत्रण स्थिति रजिस्टर के यूएमएसईएल बिट द्वारा किया जाता है। यदि हम UMSEL = 0 देते हैं, तो USART एसिंक्रोनस मोड में काम करता है, अन्यथा सिंक्रोनस मोड में काम करता है।

डेटा ट्रांसमिशन मोड चयन

डेटा ट्रांसमिशन मोड चयन

चरण 4: बिट शुरू करो और बिट बंद करो

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

बिट शुरू करो और बिट बंद करो

बिट शुरू करो और बिट बंद करो

यूसीएसआरसी के यूएसबीएस बिट द्वारा स्टॉप बिट्स की संख्या का चयन किया जाता है - नियंत्रण स्थिति रजिस्टर। USBS = 0, एक स्टॉप बिट के लिए, और USBS = 1, दो स्टॉप बिट्स के लिए।

चरण 5: कैरेक्टर साइज सेट करें

मामले में के रूप में बुनियादी माइक्रोकंट्रोलर एक समय में डेटा (8-बिट्स) के बाइट को भेजना और प्राप्त करना, चाहे एवीआर माइक्रोकंट्रोलर में, हम यूसीएसआरसी रजिस्टर के यूसीएसटी बिट द्वारा प्रत्येक फ्रेम में एक डेटा फ्रेम प्रारूप चुन सकते हैं।

डेटा फ़्रेम प्रारूप

डेटा फ़्रेम प्रारूप

चरण 6: प्राप्त डेटा संग्रहीत करें

AVR माइक्रोकंट्रोलर में डेटा संचारित करने और प्राप्त करने के लिए एक UDR बफर रजिस्टर होता है। UDR एक 16-बिट बफर रजिस्टर है जिसमें 8-बिट्स (RXB) प्राप्त करने के लिए उपयोग किया जाता है और डेटा (TXB) को संचारित करने के लिए अन्य बिट्स का उपयोग किया जाता है। डेटा बफर रजिस्टर ट्रांसमिट करना, उसके स्थान पर लिखित डेटा के लिए यूडीआर रजिस्टर का गंतव्य होगा। डेटा बफर रजिस्टर प्राप्त करना यूडीआर रजिस्टर की सामग्री को वापस करेगा।

चरण 7: ट्रांसमीटर और रिसीवर सक्षम करना

प्रेषित और प्राप्त डेटा को माइक्रोकंट्रोलर के RXC और TXC पिनों द्वारा अनुमति दी जाएगी जो कि माइक्रोकंट्रोलर के UCSRA रजिस्टर द्वारा निर्धारित हैं। डेटा के लिए माइक्रोकंट्रोलर द्वारा निर्धारित यह फ्लैग बिट बिट (TXC = RXC = 1) प्राप्त करने और प्रसारित करने से पूरा होता है।

बॉड दर को दोगुना करें

हम AVR के USART संचार के हस्तांतरण दर को दोगुना कर सकते हैं माइक्रोकंट्रोलर 16 बिट्स से 8-बिट्स तक UCSRA रजिस्टर में U2X –bit द्वारा प्रभावी ढंग से। यह बिट केवल एसिंक्रोनस ऑपरेशन पर प्रभाव डालता है। यदि हम इस बिट (U2X = 1) को सेट कर सकते हैं, तो यह बाउंड दर को 16-बिट से 8-बिट तक प्रभावी ढंग से सिंक्रोनस संचार के लिए हस्तांतरण दर को दोगुना कर देगा।

यह डेटा की त्वरित प्रसंस्करण के लिए AVR माइक्रोकंट्रोलर की एक उन्नत विशेषता है।

USART कार्यक्रम

प्रत्येक माइक्रोकंट्रोलर को एक विशिष्ट IDE के साथ पूर्वनिर्धारित किया जाता है, और इस IDE के आधार पर, microcontrollers एम्बेडेड C के साथ प्रोग्राम किए जाते हैं या विधानसभा भाषा। AVR माइक्रोकंट्रोलर प्रोग्रामिंग AVR स्टूडियो द्वारा विकसित किया गया है। इसके अलावा, यदि आप के बारे में अतिरिक्त जानकारी चाहते हैं माइक्रोकंट्रोलर आधारित परियोजनाओं के निर्माण के लिए कदम , या इस विषय पर विस्तृत जानकारी के लिए, आप नीचे टिप्पणी करके हमसे संपर्क कर सकते हैं।