बाइनरी को विद्युत संकेतों में कैसे बदला जाता है?


16

मैं अभी इलेक्ट्रॉनिक्स में शुरुआत कर रहा हूं और पहले से ही रोमांचित हूं। पिछले कुछ दिनों में एक Arduino के साथ खेलने के बाद मुझे पता चला है कि बाइनरी अलग-अलग वोल्टेज का प्रतिनिधित्व है - जैसे कि + 5V का प्रतिनिधित्व करना 1और GND का प्रतिनिधित्व करना 0

मैं यह जानने की कोशिश कर रहा हूं कि कैसे, एक भौतिक स्तर पर, माइक्रोकंट्रोलर बाइनरी को इन वोल्टेज में परिवर्तित करता है। मैं कहीं भी एक विवरण खोजने के लिए नहीं कर सकते। क्या कोई भी अपना ज्ञान साझा कर सकता है या मुझे किसी ऐसी जगह / अच्छी किताब की ओर संकेत कर सकता है जो यह बताती हो कि यह कैसे काम करती है?


1
मुझे याद नहीं है कि यह कौन सा था, लेकिन इस वीडियो पर एक नज़र डालें । अच्छी सामग्री।
अब्दुल्लाह कहरामन

2
दरअसल, माइक्रो-कंट्रोलर बाइनरी को अलग-अलग वोल्टेज में परिवर्तित नहीं करता है। बाइनरी वोल्टेज है। A + 5V को "उच्च" या "1" के रूप में निरूपित किया जाता है। और 0V को "LOW" या "0" के रूप में दर्शाया गया है। जाओ और इलेक्ट्रॉनिक स्विच पर एक नज़र है, या अधिक विस्तार से; MOSFET।
अब्दुल्लाह कहरामन

आप "एनालॉग से डिजिटल" या "डिजिटल से एनालॉग" रूपांतरण के बारे में नहीं पूछ रहे हैं, है ना?
अब्दुल्लाह कहरामन

3
यह इसके बारे में दूसरे तरीके से सोचने में मदद कर सकता है। 'बाइनरी' एक तरह की प्रतीकात्मक गणितीय इकाई है जिसे हम इंसानों के साथ तर्क करना पसंद करते हैं। तर्क सर्किट अलग-अलग वोल्टेज के साथ बाइनरी का प्रतिनिधित्व कर सकते हैं। हम तर्क सर्किटों को डिजाइन करते हैं ताकि सर्किट वोल्टेज स्तर के साथ क्या करें जब हम मनुष्यों को द्विआधारी संख्याओं के रूप में व्याख्या करते हैं तो लगातार तार्किक अर्थ होगा।
जस्ट जेफ

1
@abdullahkahraman आप सही हैं, मुझे नहीं लगता कि मैं DAC के बारे में बात कर रहा हूं, जैसा कि आप कहते हैं। वीडियो के लिंक के लिए धन्यवाद, यह बहुत जानकारीपूर्ण है। और इसके अलावा, आपने मुझे MIT OCW साइट से भी परिचित कराया है, जो ऐसा लगता है कि यह सीखने के लिए एक महान संसाधन होगा। धन्यवाद!
22

जवाबों:


18

मैं केलेनजेबी के उत्तर का हिस्सा थोड़ा अलग तरीके से बनाना चाहता हूं:

बाइनरी 1 के और 0 के वोल्टेज से 5 वी और 0 वी। की तरह कोई रूपांतरण नहीं है। माइक्रोकंट्रोलर, या कोई भी भौतिक सर्किट, बस वोल्टेज पर संचालित होता है।

वे वोल्टेज हमारे सिर में बाइनरी 1 और 0 के "बाइनरी" में परिवर्तित हो जाते हैं जब हम अपने दिमाग में सरलीकृत मॉडल बनाते हैं कि सर्किट कैसे काम कर रहा है।


2
हाँ। हाँ, हाँ, हाँ, और (ओह हाँ), हाँ।
जस्ट जेफ

1
और मुझे लगता है कि एक 0 होने के लिए वोल्टेज बस 0 या एक सीमा के नीचे (<0.8v) के करीब होने की जरूरत है और एक 1 से अधिक होने की जरूरत है (कहो> 2.0v)। उपकरण के निर्माण के लिए इस्तेमाल की जाने वाली तकनीक और उसके मामले में ऑपरेटिंग आपूर्ति वोल्टेज 5v से थ्रेसहोल्ड अलग-अलग हैं।
केनी

1
सबको शुक्रीया। इसलिए एक बार कंप्यूटर चल रहा है, तो बाइनरी मशीन कोड के आसपास कोई वास्तविक पास नहीं है? बाइनरी कोड, जब फर्मवेयर के रूप में अपलोड किया जाता है, तो संभवतः मेमोरी में संग्रहीत किया जाता है, जब प्रोसेसर द्वारा 'एक्सेस' किया जाता है, जो कि बाइनरी के अनुरूप वोल्टेज के एए चक्र के साथ प्रतिक्रिया करता है? (आशा है कि यह समझ में आता है)
मैट

"अपलोड" होने के लिए, कोड पहले से ही कुछ भौतिक रूप में होना चाहिए: एक तार पर वोल्टेज, कुछ लीवर की स्थिति (या कीबोर्ड पर चाबियाँ), जो भी हो। मेमोरी में, बिट्स को संधारित्र पर आवेश के संचय के रूप में संग्रहीत किया जाता है ... जो संधारित्र पर एक वोल्टेज भी उत्पन्न करता है।
फोटॉन

1
मेरा नज़रिया है, एक स्क्रीन पर आकृतियाँ या कागज़ के एक टुकड़े पर छपी हुई रोशनी सिर्फ स्याही की स्याही या बूँदें हैं, जब तक कि हमारा दिमाग उन्हें एक या शून्य मतलब नहीं समझाता। एक वर्णमाला में छपे एक पत्र की कल्पना करें जिसे आप नहीं जानते (कहते हैं, सिरिलिक या थाई)। यह सिर्फ एक स्याही की एक बूँद है जब तक कि एक रूसी या थाई व्यक्ति इसकी व्याख्या करने के लिए नहीं आता है और यह जानता है कि यह किस ध्वनि का प्रतिनिधित्व करता है। लेकिन यह दार्शनिक भेद शायद हमें विषय से दूर कर रहा है।
फोटॉन

11

वहाँ वास्तव में एक "रूपांतरण" नहीं होता है। बाइनरी 1 एस और 0 एस अंतर्निहित वोल्टेज का एक आभासी प्रतिनिधित्व है। वास्तव में, कई प्रणालियों में एक उच्च वोल्टेज का मतलब 0 हो सकता है, जबकि एक कम वोल्टेज का मतलब होता है। 1. कुछ कारण हैं कि ऐसा क्यों किया जाता है, लेकिन शायद तब आप इस पर जल्दी से ध्यान देना चाहते हैं।

तर्क में क्या हो रहा है यह समझने के लिए, ट्रांजिस्टर में देखना सबसे अच्छा है। एक ट्रांजिस्टर का उपयोग कई चीजों के लिए किया जा सकता है, लेकिन एक साधारण स्तर पर आप इसे स्विच के रूप में मान सकते हैं। वैचारिक रूप से आप इसे दीवार पर अपने प्रकाश स्विच की तरह ही सोच सकते हैं, लेकिन भौतिक रूप से स्विच को नियंत्रित करने के बजाय इसे वर्तमान में परिवर्तन द्वारा नियंत्रित किया जाता है। आप 1 के रूप में होने वाले प्रकाश का इलाज कर सकते हैं और 0. बंद होने के कारण प्रकाश अलग-अलग तर्क तत्वों (जैसे AND, OR, NOR, आदि) को बनाने के लिए इन स्विच को अलग-अलग सेट में संयोजित करना शुरू कर सकते हैं।

मुझे पता है कि मेरा उत्तर बहुत विस्तृत नहीं है, लेकिन मुझे आशा है कि यह आपके प्रश्न का उत्तर देगा। यदि आपको अधिक स्पष्टीकरण की आवश्यकता है तो मैं और अधिक विवरण जोड़ने को तैयार रहूंगा, बस आपको अभिभूत नहीं करना है।


सभी महान जवाब के लिए धन्यवाद !! क्या मैं तब सोचना सही होगा, एक सरलीकृत स्तर पर, माइक्रोप्रोसेसर एक निश्चित घड़ी की गति से चलता है और प्रत्येक चक्र पर इन ट्रांजिस्टर के माध्यम से एक निर्देश सेट (बाइनरी मानों से संबंधित वोल्टेज) भेजता है, जो लॉजिक गेट्स के रूप में कार्य करता है। और फिर ट्रांजिस्टर संयुक्त तर्क के आधार पर एक प्रासंगिक आउटपुट का उत्पादन करते हैं (और, या, नंद आदि)?
मैट

1
सरलता से ... हाँ। यहां बहुत सारे अमूर्त परतें हैं। यहाँ एक ही उत्तर में सब कुछ समझाना मुश्किल है क्योंकि इससे पहले कि आप सबकुछ समझ सकें, अमूर्तता की बहुत सारी परतें उखड़ जाती हैं। यह आसानी से सभी को पढ़ाने के लिए कुछ कॉलेज स्तर की कक्षाएं ले सकता है। आप या तो चीजों को ले सकते हैं जैसे वे सतह पर हैं या बहुत कुछ सीखने के लिए तैयार हैं।
केलेंज्ब

धन्यवाद @kellenjb, आप वास्तव में मददगार रहे हैं। मुझे और जानने के लिए प्रोत्साहित किया जाता है!
मैट

10

संक्षिप्त उत्तर यह "परिवर्तित", वोल्टेज नहीं है कर रहे हैं बाइनरी (या इसके एक प्रतिनिधित्व)। जैसे अगर आप कुछ कागज पर एक संख्या लिखते हैं तो अंक संख्या का प्रतिनिधित्व करते हैं, या एक अबेकस पर भरोसा करते हैं कि पत्थर की स्थिति एक संख्या का प्रतिनिधित्व है।

बाइनरी एक संख्या प्रणाली है, जैसे दशमलव (या अष्टाधारी, हेक्साडेसिमल, आदि)

जबकि दशमलव (बेस -10) में 10 प्रतीक हैं (0123456789) बाइनरी (बेस -2) में केवल दो (01) हैं

किसी भी आधार में अनुक्रम 10 का अर्थ है पहली शक्ति के लिए आधार, इसलिए दशमलव 10 में 10 ^ 1 = 10 का अर्थ है, और बाइनरी में इसका मतलब 2 ^ 1 = 2. निम्नलिखित है, दशमलव में 100 का मतलब 10 ^ 2 = 100 है, और बाइनरी में इसका मतलब 2 ^ 2 = 4. और इसी तरह है।

इलेक्ट्रॉनिक्स का उपयोग करते हुए दशमलव का प्रतिनिधित्व करना संभव है लेकिन जटिल है, इसलिए उन्होंने बाइनरी को चुना जिसे सरल 0 और 1 (या चालू / बंद) द्वारा दर्शाया जा सकता है
, इस पर भिन्नताएं थीं, जैसे टर्नरी (3 राज्य) सिस्टम और निश्चित रूप से एनालॉग कंप्यूटिंग । ट्रांजिस्टर से पहले, मैकेनिकल पंच कार्ड मशीनें थीं (Google बहुत कुछ जानता है, यदि आपके पास समय है तो कुछ बहुत ही रोचक पढ़ना)
वास्तविक बाइनरी डिजिटल कंप्यूटर वास्तविक स्विच (इलेक्ट्रॉनिक रिले) के साथ बनाए गए थे। द ज़ूस ज़ेड 3 (1941) एक उदाहरण है:

Zuse Z3

इसके बाद रिले के बजाय वैक्यूम ट्यूब का उपयोग किया गया (बिना किसी चलते हुए यांत्रिक भागों के साथ तेजी से स्विच किया जा सकता है), जिसने रिले के बजाय स्विचिंग का प्रदर्शन किया। ENIAC वैक्यूम ट्यूबों के साथ किए गए एक प्रारंभिक कंप्यूटर का एक उदाहरण है।

फिर 60 के दशक में ट्रांजिस्टर पहुंचे और आईसीएस के तुरंत बाद। ट्रांजिस्टर एक ही कार्य करते हैं जो रिले / वाल्व पहले मशीनों में थे, लेकिन बहुत छोटे, तेज और कम बिजली की खपत करते थे।

बुनियादी तरीके से द्विआधारी कंप्यूटर सर्किट काम करने के पीछे वास्तविक सिद्धांत बिल्कुल नहीं बदला है, जैसे हमने गणित में संख्याओं में हेरफेर करने के तरीके को नहीं बदला है - एल्गोरिदम में सुधार होता है लेकिन बुनियादी नियम समान रहते हैं।

इसलिए यदि आप जानते हैं कि बाइनरी कैसे काम करती है, और आपके पास एक सरल सर्किट है जो 1 या 0 को दो अलग-अलग वोल्टेज स्तरों (जैसे 5 वी और 0 वी), और अन्य सरल सर्किटों के रूप में संग्रहीत करने में सक्षम है, जो कि एंड और ओआर के समान सरल तार्किक कार्य कर सकते हैं, तो आप और अधिक जटिल सामान करने के लिए उन सभी को जोड़ सकते हैं।
चूँकि ये सभी बाइनरी सर्किट सिर्फ सबसे मौलिक पर स्विच होते हैं, आप उसी चीज़ को प्राप्त कर सकते हैं जो दो राज्यों के बीच मैकेनिकल / रिले / वाल्व / ट्रांजिस्टर /?

एक संख्या को बाइनरी में संग्रहीत करने का एक उदाहरण देने के लिए, हम कहते हैं कि हमारे पास 8 स्विच हैं (वे किस प्रकार महत्वपूर्ण नहीं हैं)
A 1 को 5V द्वारा दर्शाया गया है और 0 को 0V द्वारा दर्शाया गया है।
हम 123 नंबर को स्टोर करना चाहते हैं।

दशमलव में यह 123 = (1 X 10 ^ 2) + (2 * 10 ^ 1) + (3 x 10 ^ 0)
बाइनरी में यह 01111011 = (0 x 2 ^ 7) + (1 x 2 ^ 6) है। + (1 x 2 ^ 5) + (1 x 2 ^ 4) + (1 x 2 ^ 3) + (0 x 2 ^ 2) + (1 x 2 ^ 1) + (1 x 2 ^ 0)
तो सभी हम करते हैं स्विच 0,1,3,4,5,6 से 5V और स्विच 7 और 2 से 0V पर सेट होता है। यह बाइनरी में संख्या 123 को "स्टोर" करता है। यह सेटअप "रजिस्टर" के रूप में जाना जाएगा।

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

इस साइट के साथ शुरू करने के लिए बहुत बुरा नहीं लगता है।


0

आपके द्वारा चलाए जा रहे प्रोग्राम में वोल्टेज का उपयोग किया जाता है जो लोगों और शून्य का प्रतिनिधित्व करता है। उस डिजिटल हिस्से के बारे में सब कुछ वोल्टेज या तो जमीन के करीब या आपूर्ति वोल्टेज (आपके उदाहरण में 5 वी) के करीब है। जब आप एक प्रोसेसर रजिस्टर को 0xFF से लोड करते हैं, तो आप कह सकते हैं कि आप चिप में कहीं पर 8 अलग 5Vtt सिग्नल बना रहे हैं। जब आप उस रजिस्टर मूल्य को एक कंट्रोल रजिस्टर में स्टोर करते हैं जो आउटपुट पोर्ट से संबंधित होता है, तो डिवाइस पर आउटपुट पिन 5V सिग्नल प्रोसेसर में रजिस्टर होता है फिर अन्य 5V सिग्नल पैदा करता है जो डिवाइस के बाहरी पिन से जुड़े होते हैं ।


0

वोल्टेज बाइनरी का प्रतिनिधित्व करने का एक तरीका है। यह एक काफी कुशल और व्यावहारिक रूपांतरण है जो विभिन्न ट्रांजिस्टर विन्यासों का उपयोग करके द्विआधारी तर्क को लागू करने की अनुमति देता है।

जिस तरह से बाइनरी लॉजिक आमतौर पर इलेक्ट्रॉनिक रूप से लागू किया जाता है वह CMOS ( http://en.wikipedia.org/wiki/CMOS ) तकनीक का उपयोग करके होता है , जिसमें दो MOS ट्रांजिस्टर को एक पूरक जोड़े में सीएमओएस गेट बनाने के लिए स्थापित किया जाता है। उदाहरण के लिए, या रिले के लिए TTL ( http://en.wikipedia.org/wiki/Transistor –transistor_logic) का उपयोग करते हुए बाइनरी लॉजिक के अन्य इलेक्ट्रॉनिक कार्यान्वयन हैं । लेकिन आप वास्तव में कुछ भी उपयोग कर सकते हैं, कागज, कागज रोबोट बकरियां: http://www.robives.com/category/product_tags/logic/goats । इलेक्ट्रॉनिक सीएमओएस कार्यान्वयन सिर्फ एक कुशल और व्यावहारिक होता है।

इन सरल CMOS गेट्स में से, आप अधिक जटिल लॉजिक गेट्स का निर्माण कर सकते हैं: NAND और NOR, जो मानक गेट नहीं है, वे मूल हैं। इनमें से, आप द्विआधारी तर्क, एक योजक, एक रजिस्टर फ़ाइल, मेमोरी सब कुछ बना सकते हैं। इनमें से आप एक ALU का निर्माण कर सकते हैं, सभी तरह से एक पूर्ण माइक्रोप्रोसेसर तक।

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

http://www.amazon.com/Digital-Systems-Principles-Applications-11th/dp/0135103827/ref=sr_1_1?s=books&ie=UTF8&qid=1326877355&sr=1-1

एक सीपीयू कैसे बनाया जाता है, यह समझने के लिए एक अच्छा व्यावहारिक तरीका सिर्फ वीएचडीएल और एक एफपीजीए का उपयोग करके खुद को बनाना है। आप सस्ते FPGA विकास बोर्ड प्राप्त कर सकते हैं और सॉफ्टवेयर आमतौर पर मुफ्त (प्रतिबंधित लाइसेंस के लिए) है। मेरे पास डिजीलेंट कुछ है जो काफी सस्ती हैं:

http://www.digilentinc.com/


-3

सीधे शब्दों में कहें, एक दी गई सीमा में (आमतौर पर 5 से 12 वोल्ट से) सबसे महत्वपूर्ण बिट उस सीमा के पहले भाग में 0 और दूसरे में 1 है। अगले सबसे महत्वपूर्ण बिट की गणना आगे उस आधे को दो में विभाजित करके की जाती है और जब तक कि सभी बिट की गणना नहीं की जाती है।

इसलिए, बाइनरी सिर्फ समय-समय पर मापा जाने वाले वोल्टेज को बढ़ाने और घटने के बारे में है।

यहाँ एक सरल उदाहरण है। 1V से 256V तक की सीमा में, आइए pseudocode का उपयोग करके (एनालॉग) 137 से बाइनरी (संख्यात्मक) का अनुवाद करें:

// used this way: analogToNumeric(137, 256);
function convert(var number, var length) {
    if (number > length) { return(ERROR); }
    function convert(var half, var binary) {
        if (half < 2) { return(binary); }
        elseif (number < half) {
            return(convert((half / 2), append(binary, 0)));
        } else {
            return(convert((half / 2), append(binary, 1)));
        }
    } return(convert((length / 2), list()));
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.