अंतःस्थापित तंत्र: सूक्ष्म-प्रक्रमक व सूक्ष्म-नियंत्रक, समयक, व्यवधान, स्मृति व I/O अंतरापृष्ठन, आँकड़ा अधिग्रहण
1. सूक्ष्म-प्रक्रमक, सूक्ष्म-नियंत्रक व उनके घटक
सूक्ष्म-प्रक्रमक चिप पर CPU है; उस पर बना तंत्र बस पर बाह्य स्मृति, I/O व समयक चिप जोड़ता है, और सामान्य अभिकलन हेतु उपयुक्त है। सूक्ष्म-नियंत्रक CPU, प्रोग्राम स्मृति (फ़्लैश), आँकड़ा स्मृति (RAM, प्रायः EEPROM), I/O द्वार, समयक/गणित्र, ADC व क्रमिक अंतरापृष्ठ एक चिप पर रखता है, और समर्पित नियंत्रण हेतु उपयुक्त है — मोटर ड्राइव, संवेदक नोड, संधि नियंत्रक। CPU में ALU, रजिस्टर, अगले निर्देश का पता रखने वाला प्रोग्राम गणित्र और पुकारों व व्यवधानों हेतु स्टैक संकेतक होता है। हार्वर्ड संरचना प्रोग्राम व आँकड़ों को पृथक् स्मृतियाँ व बसें देती है, जिससे आँकड़ा पहुँच के दौरान निर्देश लाया जा सके; वॉन न्यूमैन संरचना एक साझा करती है।
I/O द्वार रजिस्टरों में समूहित पिन हैं, प्रत्येक पिन दिशा रजिस्टर से निवेश या निर्गम नियत; निवेश रजिस्टर पढ़ना पिनों का प्रतिचयन करता है और निर्गम रजिस्टर लिखना उन्हें चलाता है। वॉचडॉग समयक प्रक्रमक को रीसेट कर देता है यदि सॉफ़्टवेयर उसे नियमित रूप से पुनः आरंभ न करे, अटके प्रोग्राम को उबारते हुए। क्रमिक अंतरापृष्ठ कम तारों में आँकड़े ले जाते हैं: UART (अतुल्यकालिक, आरंभ व समाप्ति बिट), SPI (तुल्यकालिक, पूर्ण द्वैध, घड़ी, MOSI, MISO व प्रति युक्ति एक दास-चयन) और I²C (दो खुले-अपवाह तार, SDA व SCL, पुल-अप व पता-युक्त युक्तियों सहित)।
2. समयक व गणित्र
समयक प्रणाली घड़ी से पूर्व-मापक (प्रीस्केलर) के माध्यम से घड़ी पाने वाला गणित्र है; गणित्र वही हार्डवेयर है जो बाह्य पिन से घड़ी पाता है। n-बिट समयक 2ⁿ टिकों के बाद अतिप्रवाहित होता है, और प्रत्येक टिक prescaler/f_clk तक रहता है। 64 पूर्व-मापक सहित 16 MHz पर टिक 4 μs है, अतः 8-बिट समयक प्रत्येक 256 × 4 = 1024 μs पर और 16-बिट प्रत्येक 262.144 ms पर अतिप्रवाहित होता है; 1 ms अवधि हेतु 250 टिक चाहिए। अतिप्रवाह से N टिकों की अवधि पाने हेतु समयक को 2ⁿ − N से पूर्व-भरित करें: 1 MHz पर टिकने वाला 16-बिट समयक 65536 − 10000 = 55536 से 10 ms अतिप्रवाह पाता है। तुलना इकाइयाँ गणना किसी रजिस्टर से मिलने पर घटना उठाती हैं, और PWM बनाती हैं: 8-बिट PWM में, जिसका कार्य-चक्र तुलना मान भाग 256 है, मान 64 से 25% मिलता है। ग्रहण इकाइयाँ बाह्य किनारे पर गणना को लैच करती हैं, स्पंदों का समय मापने या एनकोडर गति मापने हेतु।
3. व्यवधान संचालन
मतदान (पोलिंग) लूप में किसी युक्ति की जाँच करता है और समय व्यर्थ करता है; व्यवधान युक्ति को CPU को संकेत देने देता है। व्यवधान पर CPU वर्तमान निर्देश पूरा करता है, स्टैक पर प्रोग्राम गणित्र (व स्थिति) सहेजता है, उस स्रोत हेतु व्यवधान सदिश देखता है और उसके व्यवधान सेवा रूटीन पर कूदता है; ISR अपने प्रयुक्त रजिस्टर सहेजता है, युक्ति की सेवा करता है, ध्वज साफ़ करता है, और सहेजी अवस्था पुनः स्थापित करते हुए लौटता है। स्रोतों की प्राथमिकताएँ होती हैं, और उच्च-प्राथमिकता व्यवधान निम्न के भीतर नीडित हो सकता है। आच्छाद्य व्यवधान सॉफ़्टवेयर से अक्षम किए जा सकते हैं; अनाच्छाद्य व्यवधान नहीं, और यह विद्युत विफलता जैसी आपात स्थितियों हेतु रखा जाता है। बाह्य व्यवधान किनारा- या स्तर-प्रेरित होते हैं; विलंबता अनुरोध से ISR के प्रथम निर्देश तक का समय है।
4. स्मृति व निवेश–निर्गम अंतरापृष्ठन
2ᵏ स्थानों वाली स्मृति को k पता रेखाएँ चाहिए: 8 KB को 13, 64 KB को 16। पता-समष्टि से छोटी चिपें पता विकूटन से रखी जाती हैं: उच्च पता रेखाएँ विकूटक चलाती हैं जिसके निर्गम चिपों के चिप-चयन निवेश हैं, और निम्न रेखाएँ प्रत्येक चिप को जाती हैं। 8 KB चिपों से बनी 64 KB को 8 चिप चाहिए, प्रत्येक को 13 निम्न रेखाएँ और शीर्ष 3 रेखाएँ 3-से-8 विकूटक को। किसी चिप का पता-परास उसका आधार धन उसका आकार ऋण एक है: 8000H से आरंभ 2 KB (800H), 87FFH पर समाप्त होता है। पूर्ण विकूटन प्रत्येक पता रेखा प्रयोग करता है और प्रत्येक स्थान को एक पता देता है; आंशिक विकूटन कुछ की उपेक्षा करता है, सस्ता है, और चिप को कई प्रतिरूपी पतों पर प्रकट करता है।
I/O युक्तियों तक या तो स्मृति-प्रतिचित्रित I/O के रूप में पहुँचा जाता है, जो स्मृति-समष्टि में पते घेरती है और सामान्य लोड व स्टोर निर्देशों से प्रयुक्त होती है, या I/O-प्रतिचित्रित (पृथक्) I/O के रूप में, पृथक् द्वार-समष्टि में IN व OUT निर्देशों तथा दोनों को भिन्न करने वाली नियंत्रण रेखा सहित। क्रमिक दरें फ़्रेम से आती हैं: एक आरंभ व एक समाप्ति बिट सहित 8 आँकड़ा बिट (8N1) भेजता 9600 बॉड का UART प्रति वर्ण 10 बिट ले जाता है, अतः प्रति सेकंड 960 वर्ण।
5. आँकड़ा अधिग्रहण तंत्र
आँकड़ा अधिग्रहण तंत्र संयंत्र से प्रक्रमक तक संकेत ले जाता है: संवेदक → संकेत अनुकूलन (प्रवर्धन, फ़िल्टरन) → प्रति-उपघटन फ़िल्टर → अनुरूप बहुसंकेतक → प्रतिचयन-धारण → ADC → प्रक्रमक या स्मृति, प्रायः DMA सहित जो CPU के बिना प्रतिदर्श ले जाता है। f_s दर के एक ADC में N चैनल बहुसंकेतित करने से प्रत्येक चैनल को f_s/N मिलता है, और प्रतिचयन प्रमेय से प्रत्येक तब केवल f_s/(2N) से नीचे की आवृत्तियाँ वहन कर सकता है: 100 kS/s ADC पर आठ चैनलों को प्रत्येक 12.5 kS/s व 6.25 kHz की सीमा मिलती है। ADC का विभेदन देखा गया सबसे छोटा परिवर्तन तय करता है, और उसका रूपांतरण काल बहुसंकेतक के स्थिरीकरण सहित प्रवाह-क्षमता तय करता है।
मुख्य बिंदु
- सूक्ष्म-नियंत्रक CPU, फ़्लैश, RAM, I/O द्वार, समयक, ADC व क्रमिक द्वार एकीकृत करता है; हार्वर्ड प्रोग्राम व आँकड़ा स्मृति पृथक् करता है।
- टिक = prescaler/f_clk; n-बिट समयक 2ⁿ टिकों के बाद अतिप्रवाहित होता है; N टिकों की अवधि हेतु 2ⁿ − N से पूर्व-भरें।
- व्यवधान पर PC सहेजा जाता है और सदिश ISR चुनता है; NMI आच्छादित नहीं हो सकते; ISR छोटे व साझा चर volatile रखें।
- 2ᵏ स्थानों को k पता रेखाएँ चाहिए; उच्च रेखाएँ चिप-चयन विकूटक चलाती हैं; स्मृति-प्रतिचित्रित I/O स्मृति निर्देश प्रयोग करता है।
- UART 8N1 प्रति वर्ण 10 बिट भेजता है; f_s पर N चैनल बहुसंकेतित करने वाला DAQ प्रत्येक को f_s/N व f_s/(2N) की संकेत सीमा देता है।
अभ्यास प्रश्न (14)
उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।
हार्वर्ड संरचना में:
उत्तर देखें
उत्तर: A — प्रोग्राम व आँकड़े पृथक् बसों सहित पृथक् स्मृतियों में रहते हैं
पृथक् प्रोग्राम व आँकड़ा पथ आँकड़े पढ़ते या लिखते समय निर्देश लाने देते हैं, इसीलिए अधिकांश सूक्ष्म-नियंत्रक इसे प्रयोग करते हैं। एक स्मृति व बस साझा करना वॉन न्यूमैन संरचना है; निश्चित निर्देश लंबाई RISC का लक्षण है, हार्वर्ड का नहीं।8 KB स्मृति के प्रत्येक बाइट को संबोधित करने हेतु आवश्यक पता रेखाओं की संख्या ____ है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 13
8 KB = 8192 = 2¹³ बाइट, अतः 13 रेखाएँ। 8 रेखाएँ केवल 256 स्थान संबोधित करती हैं; 16 रेखाएँ 64 KB।एक 2 KB ROM, 8000H से आरंभ होकर 16-बिट पता-समष्टि में प्रतिचित्रित है। इसका अंतिम पता है:
उत्तर देखें
उत्तर: A — 87FFH
2 KB = 2048 = 800H स्थान, अतः अंतिम पता 8000H + 800H − 1 = 87FFH है। 8FFFH, 4 KB तक फैलेगा, 83FFH, 1 KB, और 8800H चिप के बाद का प्रथम पता है।एक सूक्ष्म-नियंत्रक 16 MHz पर चलता है और 8-बिट समयक 64 के पूर्व-मापक से घड़ी पाता है। समयक के अतिप्रवाहों के बीच का समय ____ μs है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 1024
टिक = 64/16 MHz = 4 μs, और 8-बिट समयक प्रत्येक 2⁸ = 256 टिकों पर अतिप्रवाहित होता है: 1024 μs। 255 टिक लेने पर 1020 μs आता है; 16-बिट समयक 262 144 μs लेगा।16-बिट ऊर्ध्व-गणन समयक 1 MHz (पूर्व-मापक के बाद) पर घड़ी पाता है और FFFFH से 0000H पर अतिप्रवाह पर व्यवधान देता है। प्रत्येक 10 ms पर व्यवधान पाने हेतु प्रत्येक अतिप्रवाह के बाद समयक में पुनः भरा जाने वाला मान, दशमलव में, ____ है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 55536
1 μs प्रति टिक पर 10 ms, 10 000 टिक है, और समयक 65 536 गणनाओं तक पहुँचकर अतिप्रवाहित होता है, अतः इसे 65 536 − 10 000 = 55 536 से आरंभ करें। 10 000 भरने पर 55 536 टिक, लगभग 55.5 ms, मिलेंगे।जब सूक्ष्म-नियंत्रक व्यवधान स्वीकार करता है, तो वह पहले:
उत्तर देखें
उत्तर: A — वर्तमान निर्देश पूरा करता है, प्रोग्राम गणित्र सहेजता है और व्यवधान सदिश द्वारा दिए सेवा रूटीन पर कूदता है
वापसी पता सहेजना ISR को चलने और बाधित प्रोग्राम को ठीक वहीं से पुनः आरंभ होने देता है जहाँ वह रुका। रीसेट से पुनः आरंभ वॉचडॉग करता है, व्यवधान नहीं; व्यवधान सामान्यतः केवल प्रवेश की अवधि हेतु अक्षम होते हैं, स्थायी रूप से नहीं।अनाच्छाद्य व्यवधान वह है जो:
उत्तर देखें
उत्तर: A — सॉफ़्टवेयर से अक्षम नहीं किया जा सकता
अनाच्छाद्य व्यवधान व्यवधान-सक्षम आच्छद को पार कर जाता है, अतः यह उन घटनाओं हेतु आरक्षित है जिनकी कभी उपेक्षा नहीं होनी चाहिए, जैसे आसन्न विद्युत विफलता; इसकी प्राथमिकता सामान्यतः सर्वोच्च होती है, निम्नतम नहीं।व्यवधान सेवा रूटीन लिखते समय कौन-से अच्छे व्यवहार हैं?
उत्तर देखें
उत्तर: A — ISR को छोटा रखें, भारी कार्य मुख्य लूप को सौंपें; B — मुख्य प्रोग्राम से साझा चरों को volatile घोषित करें; D — बहु-बाइट साझा चरों को मुख्य प्रोग्राम में पठन के बीच बदले जाने से बचाएँ
(A) लंबा ISR प्रत्येक अन्य व्यवधान को विलंबित करता है। (B) volatile संकलक को उस मान को संचित रखने से रोकता है जिसे ISR बदल सकता है। (C) असत्य: ISR के भीतर अवरोधक विलंब तंत्र को ठप करता है। (D) अन्यथा मुख्य लूप आधा पुराना व आधा नया मान पढ़ सकता है।एक UART 8 आँकड़ा बिट, कोई समता नहीं, एक आरंभ बिट व एक समाप्ति बिट सहित 9600 बॉड पर संचारित करता है। यह प्रति सेकंड अधिकतम ____ वर्ण भेज सकता है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 960
प्रत्येक वर्ण फ़्रेम 1 + 8 + 1 = 10 बिट है, अतः 9600/10 = प्रति सेकंड 960 वर्ण। 8 से भाग देना केवल आँकड़ा बिट गिनता है और 1200 देता है।I²C बस प्रयोग करती है:
उत्तर देखें
उत्तर: A — दो रेखाएँ, क्रमिक आँकड़ा (SDA) व क्रमिक घड़ी (SCL)
I²C पुल-अप प्रतिरोधकों सहित दो खुले-अपवाह रेखाओं पर पता-युक्त युक्तियाँ चलाती है। चार-रेखा समुच्चय SPI है; बिना घड़ी की एकल रेखा UART-जैसी अतुल्यकालिक कड़ियों का वर्णन है।स्मृति-प्रतिचित्रित I/O में:
उत्तर देखें
उत्तर: A — I/O युक्तियाँ स्मृति-समष्टि में पते घेरती हैं और सामान्य स्मृति निर्देशों से पहुँची जाती हैं
स्मृति-प्रतिचित्रित I/O युक्ति रजिस्टरों को स्मृति पते देता है, अतः प्रत्येक संबोधन विधा उन पर काम करती है, कुछ पता-समष्टि की कीमत पर। IN व OUT सहित पृथक् समष्टि I/O-प्रतिचित्रित (पृथक्) I/O है।एक आँकड़ा अधिग्रहण तंत्र 8 अनुरूप चैनलों को एक ADC में बहुसंकेतित करता है जो प्रति सेकंड 100 000 प्रतिदर्श रूपांतरित करता है, चैनलों का बारी-बारी से प्रतिचयन करते हुए। फ़िल्टर पतन की उपेक्षा करते हुए, प्रत्येक चैनल बिना उपघटन के जो उच्चतम संकेत आवृत्ति वहन कर सकता है वह ____ kHz है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 6.25
प्रत्येक चैनल का प्रतिचयन 100 000/8 = 12 500 प्रतिदर्श/s पर होता है, और प्रतिचयन प्रमेय उसके आधे से नीचे की आवृत्तियाँ अनुमत करता है: 6.25 kHz। ADC की पूर्ण दर आधी करना 50 kHz देता है और भूलता है कि चैनल उसे साझा करते हैं।सूक्ष्म-नियंत्रकों व सूक्ष्म-प्रक्रमकों की तुलना करने वाले कौन-से कथन सत्य हैं?
उत्तर देखें
उत्तर: A — सूक्ष्म-नियंत्रक CPU, स्मृति, I/O द्वार व समयक एक चिप पर एकीकृत करता है; C — सूक्ष्म-प्रक्रमक-आधारित तंत्र को बाह्य स्मृति व I/O युक्तियाँ चाहिए; D — वॉचडॉग समयक प्रक्रमक को रीसेट करता है यदि सॉफ़्टवेयर उसे पुनः आरंभ करना बंद कर दे
(A) परिभाषिक एकीकरण। (B) असत्य: यह सूक्ष्म-प्रक्रमकों का वर्णन है; सूक्ष्म-नियंत्रक समर्पित अंतःस्थापित नियंत्रण लक्षित करते हैं। (C) अकेली CPU चिप में न प्रोग्राम स्मृति है न द्वार। (D) अटका प्रोग्राम वॉचडॉग की सेवा बंद कर देता है, जो तब रीसेट विवश करता है।8-बिट PWM जनित्र अपने तुलना मान भाग 256 के बराबर कार्य-चक्र उत्पन्न करता है। 64 के तुलना मान हेतु कार्य-चक्र ____ % है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: 25
64/256 = 0.25 = 25%। फ़िल्टर या मोटर में ऐसे PWM का औसत निर्गम आपूर्ति का 25% है।