बिट बैंगिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Confuse|बिट  ट्वीड्लिंग }}
{{Confuse|बिट  ट्वीड्लिंग }}


[[कंप्यूटर इंजीनियरिंग]] और [[ विद्युत अभियन्त्रण ]] में, बिट बैंगिंग एक "कला का शब्द" है जो किसी भी [[डेटा ट्रांसमिशन|डेटा प्रसारण]] की विधि के लिए उपयोग की जाती है जिसमें सॉफ़्टवेयर विशेष हार्डवेयर के स्थान पर प्रेषित संकेतों को उत्पन्न करने या प्राप्त संकेतों को प्रोसेस करने के लिए उपयोग करता है। सॉफ्टवेयर सीधे [[जीपीआईओ]] (जैसे, एक [[ microcontroller |माइक्रोकंट्रोलर]] पर पिन) के स्थितियों को सेट और [[ नमूनाकरण (सिग्नल प्रोसेसिंग) ]] करता है, और संकेतों के सभी टाइमिंग आवश्यकताओं और प्रोटोकॉल क्रमबद्धता का जिम्मा सॉफ़्टवेयर को होता है। बिट बैंगिंग के विपरीत, समर्पित हार्डवेयर (जैसे, [[UART]], [[क्रमानुसार बाह्य इंटरफ़ेस]], I²C) इन आवश्यकताओं को पूरा करता है और, यदि आवश्यक हो, तो सॉफ़्टवेयर समय की आवश्यकताओं को शिथिल करने के लिए [[डेटा बफर]] प्रदान करता है। बिट बैंगिंग को बहुत कम लागत पर लागू किया जा सकता है, और आमतौर पर कुछ [[ अंतः स्थापित प्रणालियाँ ]] में इसका उपयोग किया जाता है।<ref name="Predko_2000"/>
[[कंप्यूटर इंजीनियरिंग]] और [[ विद्युत अभियन्त्रण |विद्युत अभियन्त्रण]] में, बिट बैंगिंग एक "कला का शब्द" है जो किसी भी [[डेटा ट्रांसमिशन|डेटा प्रसारण]] की विधि के लिए उपयोग की जाती है जिसमें सॉफ़्टवेयर विशेष हार्डवेयर के स्थान पर प्रेषित संकेतों को उत्पन्न करने या प्राप्त संकेतों को प्रोसेस करने के लिए उपयोग करता है। सॉफ्टवेयर सीधे [[जीपीआईओ]] (जैसे, एक [[ microcontroller |माइक्रोकंट्रोलर]] पर पिन) के स्थितियों को सेट और [[ नमूनाकरण (सिग्नल प्रोसेसिंग) |नमूनाकरण (सिग्नल प्रोसेसिंग)]] करता है, और संकेतों के सभी टाइमिंग आवश्यकताओं और प्रोटोकॉल क्रमबद्धता का जिम्मा सॉफ़्टवेयर को होता है। बिट बैंगिंग के विपरीत, समर्पित हार्डवेयर (जैसे, [[UART]], [[क्रमानुसार बाह्य इंटरफ़ेस]], I²C) इन आवश्यकताओं को पूरा करता है और, यदि आवश्यक हो, तो सॉफ़्टवेयर समय की आवश्यकताओं को शिथिल करने के लिए [[डेटा बफर]] प्रदान करता है। बिट बैंगिंग को बहुत कम लागत पर लागू किया जा सकता है, और सामान्यतः कुछ [[ अंतः स्थापित प्रणालियाँ |अंतः स्थापित प्रणालियाँ]] में इसका उपयोग किया जाता है।<ref name="Predko_2000"/>


बिट बैंगिंग एक उपकरण को न्यूनतम या कोई हार्डवेयर परिवर्तन के साथ विभिन्न प्रोटोकॉल को लागू करने की अनुमति देता है। कुछ मामलों में, नए, तेज़ प्रोसेसर्स द्वारा बिट बैंगिंग को संभव बनाया जाता है क्योंकि नवीनतम हार्डवेयर आपसी संचार प्रोटोकॉलों को बनाए जाने के समय की हार्डवेयर की तुलना में बहुत तेज़ी से काम करता है।
बिट बैंगिंग एक उपकरण को न्यूनतम या कोई हार्डवेयर परिवर्तन के साथ विभिन्न प्रोटोकॉल को लागू करने की अनुमति देता है। कुछ स्थितियों में, नए, तेज़ प्रोसेसर्स द्वारा बिट बैंगिंग को संभव बनाया जाता है क्योंकि नवीनतम हार्डवेयर आपसी संचार प्रोटोकॉलों को बनाए जाने के समय की हार्डवेयर की समानता में बहुत तेज़ी से काम करता है।


== सी कोड उदाहरण ==
== सी कोड उदाहरण ==
Line 46: Line 46:


== विचार ==
== विचार ==
बिट बैंगिंग का उपयोग करने या न करने का सवाल एक वजन, प्रदर्शन और विश्वसनीयता के बीच एक बदले हुए निर्णय है, और दूसरी ओर हार्डवेयर विकल्प की उपलब्धता पर निर्भर करता है। सॉफ़्टवेयर उत्पन्नित करने की प्रक्रिया, विशेष हार्डवेयर के समर्थन की तुलना में, अधिक प्रोसेसिंग पावर का उपयोग करती है। माइक्रोकंट्रोलर अपना अधिकांश समय अन्य कार्यों की कीमत पर, पिनों को और उनसे नमूने भेजने या प्राप्त करने में व्यतीत करता है। उत्पादित सिग्नल में आमतौर पर अधिक घबराहट या [[गड़बड़]]ियां होती हैं, खासकर अगर प्रोसेसर संचार करते समय अन्य कार्यों को भी निष्पादित कर रहा हो। हालाँकि, यदि बिट-बैंगिंग सॉफ़्टवेयर सिग्नल द्वारा बाधित-चालित है, तो यह मामूली महत्व का हो सकता है, विशेष रूप से यदि RTS, CTS या DCD [[डेटा वाहक का पता लगाना]] जैसे नियंत्रण संकेत उपलब्ध हैं। विशिष्ट हार्डवेयर समर्थन उपलब्ध नहीं होने या अधिक महंगे माइक्रोकंट्रोलर की आवश्यकता होने पर सॉफ़्टवेयर में कार्यान्वयन एक समाधान हो सकता है।
बिट बैंगिंग का उपयोग करने या न करने का सवाल एक वजन, प्रदर्शन और विश्वसनीयता के बीच एक बदले हुए निर्णय है, और दूसरी ओर हार्डवेयर विकल्प की उपलब्धता पर निर्भर करता है। सॉफ़्टवेयर उत्पन्नित करने की प्रक्रिया, विशेष हार्डवेयर के समर्थन की समानता में, अधिक प्रोसेसिंग पावर का उपयोग करती है। माइक्रोकंट्रोलर अपना अधिकांश समय अन्य कार्यों की मूल्य पर, पिनों को और उनसे नमूने भेजने या प्राप्त करने में व्यतीत करता है। उत्पादित सिग्नल में सामान्यतः अधिक घबराहट या [[गड़बड़]]यां होती हैं, विशेषकर यदि प्रोसेसर संचार करते समय अन्य कार्यों को भी निष्पादित कर रहा हो। चूँकि , यदि बिट-बैंगिंग सॉफ़्टवेयर सिग्नल द्वारा बाधित-चालित है, तो यह सामान्य महत्व का हो सकता है, विशेष रूप से यदि RTS, CTS या DCD [[डेटा वाहक का पता लगाना]] जैसे नियंत्रण संकेत उपलब्ध हैं। विशिष्ट हार्डवेयर समर्थन उपलब्ध नहीं होने या अधिक महंगे माइक्रोकंट्रोलर की आवश्यकता होने पर सॉफ़्टवेयर में कार्यान्वयन एक समाधान हो सकता है।


== यह भी देखें ==
== यह भी देखें ==
Line 58: Line 58:
* [[FTDI]], USB से सीरियल कन्वर्टर चिप्स की एक श्रृंखला भी बिट बैंग मोड का समर्थन करती है
* [[FTDI]], USB से सीरियल कन्वर्टर चिप्स की एक श्रृंखला भी बिट बैंग मोड का समर्थन करती है
* [[2MGUI]] (सिरियाको गार्सिया डी सेलिस द्वारा एक डॉस ड्राइवर सामान्य फ्लॉपी नियंत्रक तर्क को दरकिनार करते हुए गैर-मानक अल्ट्रा-उच्च क्षमता वाले फ्लॉपी डिस्क प्रारूपों का समर्थन करने के लिए बिट-बैंगिंग का उपयोग करता है, अमिगा फ्लॉपी के लिए एक समान कार्यक्रम विन्सेंट जोगुइन का डिस्क2एफडीआई है)
* [[2MGUI]] (सिरियाको गार्सिया डी सेलिस द्वारा एक डॉस ड्राइवर सामान्य फ्लॉपी नियंत्रक तर्क को दरकिनार करते हुए गैर-मानक अल्ट्रा-उच्च क्षमता वाले फ्लॉपी डिस्क प्रारूपों का समर्थन करने के लिए बिट-बैंगिंग का उपयोग करता है, अमिगा फ्लॉपी के लिए एक समान कार्यक्रम विन्सेंट जोगुइन का डिस्क2एफडीआई है)
* [[ आभासी मशीन ]] (वीएम) (वास्तविक हार्डवेयर नियंत्रकों का अनुकरण करने वाले वर्चुअल डिवाइस ड्राइवरों को लागू करने में कभी-कभी बिट बैंगिंग जैसी प्रोग्रामिंग तकनीकों का उपयोग करना शामिल होता है)
* [[ आभासी मशीन | आभासी मशीन]] (वीएम) (वास्तविक हार्डवेयर नियंत्रकों का अनुकरण करने वाले वर्चुअल डिवाइस ड्राइवरों को लागू करने में कभी-कभी बिट बैंगिंग जैसी प्रोग्रामिंग तकनीकों का उपयोग करना सम्मलित होता है)
* [[सॉफ्टवेयर-परिभाषित रेडियो]] (एसडीआर)
* [[सॉफ्टवेयर-परिभाषित रेडियो]] (एसडीआर)
* [[मतदान (कंप्यूटर विज्ञान)]]
* [[मतदान (कंप्यूटर विज्ञान)]]

Revision as of 12:54, 18 May 2023

कंप्यूटर इंजीनियरिंग और विद्युत अभियन्त्रण में, बिट बैंगिंग एक "कला का शब्द" है जो किसी भी डेटा प्रसारण की विधि के लिए उपयोग की जाती है जिसमें सॉफ़्टवेयर विशेष हार्डवेयर के स्थान पर प्रेषित संकेतों को उत्पन्न करने या प्राप्त संकेतों को प्रोसेस करने के लिए उपयोग करता है। सॉफ्टवेयर सीधे जीपीआईओ (जैसे, एक माइक्रोकंट्रोलर पर पिन) के स्थितियों को सेट और नमूनाकरण (सिग्नल प्रोसेसिंग) करता है, और संकेतों के सभी टाइमिंग आवश्यकताओं और प्रोटोकॉल क्रमबद्धता का जिम्मा सॉफ़्टवेयर को होता है। बिट बैंगिंग के विपरीत, समर्पित हार्डवेयर (जैसे, UART, क्रमानुसार बाह्य इंटरफ़ेस, I²C) इन आवश्यकताओं को पूरा करता है और, यदि आवश्यक हो, तो सॉफ़्टवेयर समय की आवश्यकताओं को शिथिल करने के लिए डेटा बफर प्रदान करता है। बिट बैंगिंग को बहुत कम लागत पर लागू किया जा सकता है, और सामान्यतः कुछ अंतः स्थापित प्रणालियाँ में इसका उपयोग किया जाता है।[1]

बिट बैंगिंग एक उपकरण को न्यूनतम या कोई हार्डवेयर परिवर्तन के साथ विभिन्न प्रोटोकॉल को लागू करने की अनुमति देता है। कुछ स्थितियों में, नए, तेज़ प्रोसेसर्स द्वारा बिट बैंगिंग को संभव बनाया जाता है क्योंकि नवीनतम हार्डवेयर आपसी संचार प्रोटोकॉलों को बनाए जाने के समय की हार्डवेयर की समानता में बहुत तेज़ी से काम करता है।

सी कोड उदाहरण

निम्नलिखित सी (प्रोग्रामिंग भाषा) कोड उदाहरण एक सीरियल पेरिफेरल इंटरफेस बस पर डेटा का एक बाइट प्रसारित करता है।

// transmit byte serially, MSB first
void send_8bit_serial_data(unsigned char data)
{
   int i;

   // select device (active low)
   output_low(SD_CS);

   // send bits 7..0
   for (i = 0; i < 8; i++)
   {
       // consider leftmost bit
       // set line high if bit is 1, low if bit is 0
       if (data & 0x80)
           output_high(SD_DI);
       else
           output_low(SD_DI);

       // pulse the clock state to indicate that bit value should be read
       output_low(SD_CLK);
       delay();
       output_high(SD_CLK);

       // shift byte left so next bit will be leftmost
       data <<= 1;
   }

   // deselect device
   output_high(SD_CS);
}


विचार

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

यह भी देखें

संदर्भ

  1. Predko, Michael (2000). Programming and customizing PICmicro microcontrollers (2nd ed.). McGraw-Hill Professional. pp. 10–12. ISBN 978-0-07-136172-9.


बाहरी संबंध

Asynchronous serial (RS-232)
I²C bus
SPI bus