इन-सिस्टम प्रोग्रामिंग: Difference between revisions
(Created page with "{{Short description|Embedded system programming technique}} {{Use American English|date = March 2019}} {{Use mdy dates|date = March 2019}} Image:Isp headers.svg|thumb|6- औ...") |
No edit summary |
||
Line 3: | Line 3: | ||
{{Use mdy dates|date = March 2019}} | {{Use mdy dates|date = March 2019}} | ||
[[Image:Isp headers.svg|thumb|6- और 10-पिन एवीआर आईएसपी हेडर]] | [[Image:Isp headers.svg|thumb|6- और 10-पिन एवीआर आईएसपी हेडर]] | ||
इन-सिस्टम प्रोग्रामिंग (ISP), या इन-सर्किट सीरियल प्रोग्रामिंग (ICSP) भी कहा जाता है, कुछ प्रोग्रामेबल लॉजिक डिवाइसेस, माइक्रोकंट्रोलर और अन्य एम्बेडेड डिवाइसों की क्षमता है, | '''इन-सिस्टम प्रोग्रामिंग''' (ISP), या जिसे '''इन-सर्किट सीरियल प्रोग्रामिंग''' (ICSP) भी कहा जाता है, कुछ [[प्रोग्रामेबल लॉजिक डिवाइसेस]], [[:hi:माइक्रोकंट्रोलर|माइक्रोकंट्रोलर्स]] और अन्य [[:hi:अन्तःस्थापित तंत्र|एम्बेडेड डिवाइसों]] की क्षमता है, जिन्हें चिप की आवश्यकता के बजाय एक पूर्ण सिस्टम में स्थापित करते समय प्रोग्राम किया जाता है। इसे सिस्टम में स्थापित करने से पहले प्रोग्राम किया जाना है। यह सर्किट बोर्ड पर विशेषज्ञ प्रोग्रामिंग सर्किटरी की आवश्यकता के बिना फर्मवेयर अपडेट को माइक्रोकंट्रोलर्स और संबंधित प्रोसेसर की ऑन-चिप मेमोरी में वितरित करने की अनुमति देता है, और डिज़ाइन कार्य को सरल करता है।<ref>[https://www.oreilly.com/library/view/designing-embedded-hardware/0596007558/ch01.html ''Oreilly, Designing Embedded Hardware, 2nd Edition by John Catsoulis'']</ref> | ||
प्रोग्रामिंग [[माइक्रोकंट्रोलर]] उपकरणों के लिए इन-सिस्टम प्रोग्रामिंग प्रोटोकॉल के लिए कोई मानक नहीं है। माइक्रोकंट्रोलर्स के लगभग सभी निर्माता इस सुविधा का समर्थन करते हैं, लेकिन सभी ने अपने स्वयं के प्रोटोकॉल लागू किए हैं, जो अक्सर एक ही निर्माता के विभिन्न उपकरणों के लिए भी भिन्न होते हैं। सामान्य तौर पर, आधुनिक प्रोटोकॉल उपयोग किए जाने वाले पिनों की संख्या को कम रखने की कोशिश करते हैं, आमतौर पर 2 पिनों तक है। कुछ आईएसपी इंटरफेस इसे केवल एक पिन के साथ प्राप्त करने का प्रबंधन करते हैं, अन्य एक [[जेटीएजी]] इंटरफेस को लागू करने के लिए 4 तक का उपयोग करते हैं। | |||
इन-सिस्टम प्रोग्रामिंग का प्राथमिक लाभ यह है कि यह इलेक्ट्रॉनिक उपकरणों के निर्माताओं को सिस्टम को असेंबल करने से पहले एक अलग प्रोग्रामिंग चरण की आवश्यकता के बजाय प्रोग्रामिंग और परीक्षण को एक एकल उत्पादन चरण में एकीकृत करने और पैसे बचाने की अनुमति देता है। यह निर्माताओं को किसी निर्माता या वितरक से पूर्व-प्रोग्राम किए गए चिप्स खरीदने के बजाय अपने स्वयं के सिस्टम की उत्पादन लाइन में चिप्स को प्रोग्राम करने की अनुमति दे सकता है, जिससे उत्पादन चलाने के बीच में कोड या डिज़ाइन परिवर्तन लागू करना संभव हो जाता है। दूसरा लाभ यह है कि उत्पादन हमेशा नवीनतम फर्मवेयर का उपयोग कर सकता है, और नई सुविधाओं के साथ-साथ बग फिक्स को लागू किया जा सकता है और प्री-प्रोग्राम्ड माइक्रोकंट्रोलर्स का उपयोग करते समय देरी के बिना उत्पादन में लगाया जा सकता है। | |||
आमतौर पर, आईएसपी का समर्थन करने वाले चिप्स में सिस्टम | माइक्रोकंट्रोलर्स को आमतौर पर एक मुद्रित सर्किट बोर्ड में सीधे टांका लगाया जाता है और आमतौर पर दूसरे [[कंप्यूटर]] के लिए एक बड़े बाहरी प्रोग्रामिंग केबल के लिए सर्किट्री या स्थान नहीं होता है। | ||
आमतौर पर, आईएसपी का समर्थन करने वाले चिप्स में सिस्टम के सामान्य आपूर्ति वोल्टेज से किसी भी आवश्यक प्रोग्रामिंग वोल्टेज को उत्पन्न करने के लिए आंतरिक सर्किटरी होती है, और एक सीरियल प्रोटोकॉल के माध्यम से प्रोग्रामर के साथ संवाद करती है। स्वचालित परीक्षण प्रक्रियाओं के साथ आसान एकीकरण की सुविधा के लिए, अधिकांश प्रोग्रामेबल लॉजिक डिवाइस ISP के लिए [[:hi:जेटीजी|JTAG]] प्रोटोकॉल के एक प्रकार का उपयोग करते हैं। अन्य उपकरण आमतौर पर मालिकाना प्रोटोकॉल या पुराने मानकों द्वारा परिभाषित प्रोटोकॉल का उपयोग करते हैं। मध्यम रूप से बड़े [[:hi:गोंद तर्क|ग्लू लॉजिक]] की आवश्यकता के लिए पर्याप्त जटिल प्रणालियों में, डिजाइनर गैर-जेटीएजी उपकरणों जैसे [[:hi:फ्लैश मेमोरी|फ्लैश मेमोरी]] और माइक्रोकंट्रोलर के लिए एक जेटीएजी-नियंत्रित प्रोग्रामिंग सबसिस्टम लागू कर सकते हैं, जिससे संपूर्ण प्रोग्रामिंग और परीक्षण प्रक्रिया को एक प्रोटोकॉल के नियंत्रण में पूरा किया जा सकता है। | |||
== इतिहास == | == इतिहास == | ||
1990 के दशक की शुरुआत से माइक्रोकंट्रोलर्स की वास्तुकला में एक महत्वपूर्ण तकनीकी विकास देखा गया था। सबसे पहले, उन्हें दो संभावित समाधानों में महसूस किया गया | 1990 के दशक की शुरुआत से माइक्रोकंट्रोलर्स की वास्तुकला में एक महत्वपूर्ण तकनीकी विकास देखा गया था। सबसे पहले, उन्हें दो संभावित समाधानों में महसूस किया गया: [[:hi:प्रोग्राम करने योग्य रीड-ओनली मेमोरी|ओटीपी (वन-टाइम प्रोग्रामेबल)]] या [[:hi:ईपीरोम|ईपीरॉम मेमोरी]] के साथ। इन प्रौद्योगिकियों में, स्मृति-मिटाने की प्रक्रिया के लिए पैकेज के ऊपर एक विशिष्ट विंडो के माध्यम से चिप को पराबैंगनी प्रकाश के संपर्क में लाने की आवश्यकता होती है। 1993 में [[माइक्रोचिप टेक्नोलॉजी]] ने [[:hi:EEPROM|ईईपीरोम(EEPROM) मेमोरी]] के साथ पहला माइक्रोकंट्रोलर पेश किया: PIC16C84। ईईपीरोम मेमोरी को विद्युत रूप से मिटाया जा सकता है। इस सुविधा ने पैकेज के ऊपर मिटाने वाली विंडो को हटाकर और इन-सिस्टम प्रोग्रामिंग तकनीक शुरू करके वसूली लागत को कम करने की अनुमति दी। आईएसपी फ्लैशिंग प्रक्रिया के साथ उत्पादन प्रक्रिया के अंत में सीधे बोर्ड पर प्रदर्शन किया जा सकता है। इस विकास ने प्रोग्रामिंग और कार्यात्मक परीक्षण चरण और उत्पादन वातावरणों को एकजुट करने और बोर्डों के प्रारंभिक उत्पादन को शुरू करने की संभावना दी, भले ही फर्मवेयर विकास अभी तक पूरा नहीं हुआ हो। इस तरह बग को ठीक करना या बाद में बदलाव करना संभव था। उसी वर्ष, Atmel ने फ्लैश मेमोरी के साथ पहला माइक्रोकंट्रोलर विकसित किया, प्रोग्राम के लिए आसान और तेज़ और ईईपीरोम मेमोरी की तुलना में बहुत लंबे जीवन चक्र के साथ है। | ||
ISP का समर्थन करने वाले माइक्रोकंट्रोलर आमतौर पर | आईएसपी (ISP) का समर्थन करने वाले माइक्रोकंट्रोलर आमतौर पर सीरियल संचार परिधीय द्वारा प्रोग्रामर, एक फ्लैश/ईईपीरोम मेमोरी और माइक्रोकंट्रोलर को प्रोग्राम करने के लिए आवश्यक वोल्टेज की आपूर्ति के लिए उपयोग किए जाने वाले सर्किट्री के साथ उपयोग किए जाने वाले पिन के साथ प्रदान किए जाते हैं। संचार परिधीय बदले में एक प्रोग्रामिंग परिधीय से जुड़ा होता है जो फ्लैश या ईईपीरोम मेमोरी पर काम करने के लिए कमांड प्रदान करता है। | ||
आईएसपी प्रोग्रामिंग के लिए इलेक्ट्रॉनिक बोर्ड डिजाइन करते समय प्रोग्रामिंग चरण को यथासंभव विश्वसनीय बनाने के लिए कुछ दिशानिर्देशों को ध्यान में रखना आवश्यक है। कम संख्या में पिन वाले कुछ माइक्रोकंट्रोलर प्रोग्रामिंग लाइनों को I/O लाइनों के साथ साझा करते हैं। यदि बोर्ड के डिजाइन में आवश्यक सावधानियों को ध्यान में नहीं रखा गया तो यह एक समस्या हो सकती है; डिवाइस प्रोग्रामिंग के दौरान I/O घटकों के नुकसान का सामना कर सकता है। इसके अलावा, प्रोग्रामर द्वारा घटकों के नुकसान से बचने के लिए ISP लाइनों को [[उच्च प्रतिबाधा]] सर्किटरी से जोड़ना महत्वपूर्ण है और क्योंकि माइक्रोकंट्रोलर अक्सर लाइन को पायलट करने के लिए पर्याप्त करंट की आपूर्ति नहीं कर सकता है। प्रोग्रामिंग मोड में प्रवेश करने के लिए कई माइक्रोकंट्रोलर्स को एक समर्पित रीसेट(RESET) लाइन की आवश्यकता होती है। लाइन ड्राइविंग के लिए आपूर्ति की गई वर्तमान पर ध्यान देना और रीसेट लाइन से जुड़े [[:hi:निगरानी घड़ी|वॉचडॉग]] की उपस्थिति की जांच करना आवश्यक है जो एक अवांछित रीसेट उत्पन्न कर सकता है और इसलिए, प्रोग्रामिंग विफलता का नेतृत्व कर सकता है। इसके अलावा, कुछ माइक्रोकंट्रोलर्स को प्रोग्रामिंग मोड में प्रवेश करने के लिए एक उच्च वोल्टेज की आवश्यकता होती है और इसलिए, यह जांचना आवश्यक है कि यह मान क्षीण नहीं है और यह वोल्टेज बोर्ड पर अन्य घटकों को अग्रेषित नहीं किया गया है। | |||
== औद्योगिक आवेदन == | == औद्योगिक आवेदन == | ||
इन-सिस्टम प्रोग्रामिंग प्रक्रिया उत्पाद के उत्पादन के अंतिम चरण के दौरान होती है और इसे उत्पादन | इन-सिस्टम प्रोग्रामिंग प्रक्रिया उत्पाद के उत्पादन के अंतिम चरण के दौरान होती है और इसे उत्पादन की मात्रा के आधार पर दो अलग-अलग तरीकों से किया जा सकता है। | ||
पहली विधि में, एक कनेक्टर मैन्युअल रूप से प्रोग्रामर से जुड़ा होता है। यह समाधान प्रोग्रामिंग प्रक्रिया | पहली विधि में, एक कनेक्टर मैन्युअल रूप से प्रोग्रामर से जुड़ा होता है। यह समाधान प्रोग्रामिंग प्रक्रिया में मानवीय भागीदारी की अपेक्षा करता है जिसे प्रोग्रामर को केबल के साथ इलेक्ट्रॉनिक बोर्ड से जोड़ना होता है। इसलिए, यह समाधान कम उत्पादन मात्रा के लिए है। | ||
दूसरी विधि बोर्ड पर परीक्षण बिंदुओं का उपयोग करती है। ये मुद्रित बोर्ड, या पीसीबी पर रखे गए विशिष्ट क्षेत्र हैं, जो | दूसरी विधि बोर्ड पर [[परीक्षण बिंदुओं]] का उपयोग करती है। ये मुद्रित बोर्ड, या [[:hi:प्रिन्टेड सर्किट बोर्ड|पीसीबी]] पर रखे गए विशिष्ट क्षेत्र हैं, जो बोर्ड पर कुछ इलेक्ट्रॉनिक घटकों से विद्युत रूप से जुड़े होते हैं। परीक्षण बिंदुओं का उपयोग बोर्ड पर लगे घटकों के लिए कार्यात्मक परीक्षण करने के लिए किया जाता है और चूंकि वे सीधे कुछ माइक्रोकंट्रोलर पिन से जुड़े होते हैं, वे आईएसपी के लिए बहुत प्रभावी होते हैं। मध्यम और उच्च उत्पादन मात्रा के लिए परीक्षण बिंदुओं का उपयोग करना सबसे अच्छा समाधान है क्योंकि यह असेंबली लाइन में प्रोग्रामिंग चरण को एकीकृत करने की अनुमति देता है। | ||
उत्पादन लाइनों में, | उत्पादन लाइनों में, बोर्ड को कीलों के एक बिस्तर पर रखा जाता है जिसे [[:hi:परीक्षण स्थिरता|फिक्सचर]] कहा जाता है। बाद वाले एकीकृत हैं, उत्पादन की मात्रा के आधार पर, [[एटीई - स्वचालित परीक्षण उपकरण]] कहे जाने वाले सेमीआटोमैटिक या स्वचालित परीक्षण प्रणालियों में। जुड़नार विशेष रूप से प्रत्येक बोर्ड के लिए डिज़ाइन किए गए हैं - या बोर्ड के समान कुछ मॉडलों के लिए वे डिज़ाइन किए गए थे - इसलिए ये सिस्टम वातावरण में विनिमेय हैं जहां वे एकीकृत हैं। परीक्षण प्रणाली, एक बार जब बोर्ड और स्थिरता को स्थिति में रखा जाता है, तो परीक्षण के लिए बोर्ड पर परीक्षण बिंदुओं के साथ स्थिरता की सुइयों को संपर्क में रखने के लिए एक तंत्र होता है। वह सिस्टम जो किसी आईएसपी प्रोग्रामर से जुड़ा है, या सीधे उसके अंदर एकीकृत है। इसे डिवाइस या बोर्ड पर लगे उपकरणों को प्रोग्राम करना होता है: उदाहरण के लिए, एक माइक्रोकंट्रोलर और/या एक सीरियल मेमोरी है। | ||
== माइक्रोचिप ICSP == | == माइक्रोचिप ICSP == |
Revision as of 18:18, 27 November 2022
इन-सिस्टम प्रोग्रामिंग (ISP), या जिसे इन-सर्किट सीरियल प्रोग्रामिंग (ICSP) भी कहा जाता है, कुछ प्रोग्रामेबल लॉजिक डिवाइसेस, माइक्रोकंट्रोलर्स और अन्य एम्बेडेड डिवाइसों की क्षमता है, जिन्हें चिप की आवश्यकता के बजाय एक पूर्ण सिस्टम में स्थापित करते समय प्रोग्राम किया जाता है। इसे सिस्टम में स्थापित करने से पहले प्रोग्राम किया जाना है। यह सर्किट बोर्ड पर विशेषज्ञ प्रोग्रामिंग सर्किटरी की आवश्यकता के बिना फर्मवेयर अपडेट को माइक्रोकंट्रोलर्स और संबंधित प्रोसेसर की ऑन-चिप मेमोरी में वितरित करने की अनुमति देता है, और डिज़ाइन कार्य को सरल करता है।[1]
प्रोग्रामिंग माइक्रोकंट्रोलर उपकरणों के लिए इन-सिस्टम प्रोग्रामिंग प्रोटोकॉल के लिए कोई मानक नहीं है। माइक्रोकंट्रोलर्स के लगभग सभी निर्माता इस सुविधा का समर्थन करते हैं, लेकिन सभी ने अपने स्वयं के प्रोटोकॉल लागू किए हैं, जो अक्सर एक ही निर्माता के विभिन्न उपकरणों के लिए भी भिन्न होते हैं। सामान्य तौर पर, आधुनिक प्रोटोकॉल उपयोग किए जाने वाले पिनों की संख्या को कम रखने की कोशिश करते हैं, आमतौर पर 2 पिनों तक है। कुछ आईएसपी इंटरफेस इसे केवल एक पिन के साथ प्राप्त करने का प्रबंधन करते हैं, अन्य एक जेटीएजी इंटरफेस को लागू करने के लिए 4 तक का उपयोग करते हैं।
इन-सिस्टम प्रोग्रामिंग का प्राथमिक लाभ यह है कि यह इलेक्ट्रॉनिक उपकरणों के निर्माताओं को सिस्टम को असेंबल करने से पहले एक अलग प्रोग्रामिंग चरण की आवश्यकता के बजाय प्रोग्रामिंग और परीक्षण को एक एकल उत्पादन चरण में एकीकृत करने और पैसे बचाने की अनुमति देता है। यह निर्माताओं को किसी निर्माता या वितरक से पूर्व-प्रोग्राम किए गए चिप्स खरीदने के बजाय अपने स्वयं के सिस्टम की उत्पादन लाइन में चिप्स को प्रोग्राम करने की अनुमति दे सकता है, जिससे उत्पादन चलाने के बीच में कोड या डिज़ाइन परिवर्तन लागू करना संभव हो जाता है। दूसरा लाभ यह है कि उत्पादन हमेशा नवीनतम फर्मवेयर का उपयोग कर सकता है, और नई सुविधाओं के साथ-साथ बग फिक्स को लागू किया जा सकता है और प्री-प्रोग्राम्ड माइक्रोकंट्रोलर्स का उपयोग करते समय देरी के बिना उत्पादन में लगाया जा सकता है।
माइक्रोकंट्रोलर्स को आमतौर पर एक मुद्रित सर्किट बोर्ड में सीधे टांका लगाया जाता है और आमतौर पर दूसरे कंप्यूटर के लिए एक बड़े बाहरी प्रोग्रामिंग केबल के लिए सर्किट्री या स्थान नहीं होता है।
आमतौर पर, आईएसपी का समर्थन करने वाले चिप्स में सिस्टम के सामान्य आपूर्ति वोल्टेज से किसी भी आवश्यक प्रोग्रामिंग वोल्टेज को उत्पन्न करने के लिए आंतरिक सर्किटरी होती है, और एक सीरियल प्रोटोकॉल के माध्यम से प्रोग्रामर के साथ संवाद करती है। स्वचालित परीक्षण प्रक्रियाओं के साथ आसान एकीकरण की सुविधा के लिए, अधिकांश प्रोग्रामेबल लॉजिक डिवाइस ISP के लिए JTAG प्रोटोकॉल के एक प्रकार का उपयोग करते हैं। अन्य उपकरण आमतौर पर मालिकाना प्रोटोकॉल या पुराने मानकों द्वारा परिभाषित प्रोटोकॉल का उपयोग करते हैं। मध्यम रूप से बड़े ग्लू लॉजिक की आवश्यकता के लिए पर्याप्त जटिल प्रणालियों में, डिजाइनर गैर-जेटीएजी उपकरणों जैसे फ्लैश मेमोरी और माइक्रोकंट्रोलर के लिए एक जेटीएजी-नियंत्रित प्रोग्रामिंग सबसिस्टम लागू कर सकते हैं, जिससे संपूर्ण प्रोग्रामिंग और परीक्षण प्रक्रिया को एक प्रोटोकॉल के नियंत्रण में पूरा किया जा सकता है।
इतिहास
1990 के दशक की शुरुआत से माइक्रोकंट्रोलर्स की वास्तुकला में एक महत्वपूर्ण तकनीकी विकास देखा गया था। सबसे पहले, उन्हें दो संभावित समाधानों में महसूस किया गया: ओटीपी (वन-टाइम प्रोग्रामेबल) या ईपीरॉम मेमोरी के साथ। इन प्रौद्योगिकियों में, स्मृति-मिटाने की प्रक्रिया के लिए पैकेज के ऊपर एक विशिष्ट विंडो के माध्यम से चिप को पराबैंगनी प्रकाश के संपर्क में लाने की आवश्यकता होती है। 1993 में माइक्रोचिप टेक्नोलॉजी ने ईईपीरोम(EEPROM) मेमोरी के साथ पहला माइक्रोकंट्रोलर पेश किया: PIC16C84। ईईपीरोम मेमोरी को विद्युत रूप से मिटाया जा सकता है। इस सुविधा ने पैकेज के ऊपर मिटाने वाली विंडो को हटाकर और इन-सिस्टम प्रोग्रामिंग तकनीक शुरू करके वसूली लागत को कम करने की अनुमति दी। आईएसपी फ्लैशिंग प्रक्रिया के साथ उत्पादन प्रक्रिया के अंत में सीधे बोर्ड पर प्रदर्शन किया जा सकता है। इस विकास ने प्रोग्रामिंग और कार्यात्मक परीक्षण चरण और उत्पादन वातावरणों को एकजुट करने और बोर्डों के प्रारंभिक उत्पादन को शुरू करने की संभावना दी, भले ही फर्मवेयर विकास अभी तक पूरा नहीं हुआ हो। इस तरह बग को ठीक करना या बाद में बदलाव करना संभव था। उसी वर्ष, Atmel ने फ्लैश मेमोरी के साथ पहला माइक्रोकंट्रोलर विकसित किया, प्रोग्राम के लिए आसान और तेज़ और ईईपीरोम मेमोरी की तुलना में बहुत लंबे जीवन चक्र के साथ है।
आईएसपी (ISP) का समर्थन करने वाले माइक्रोकंट्रोलर आमतौर पर सीरियल संचार परिधीय द्वारा प्रोग्रामर, एक फ्लैश/ईईपीरोम मेमोरी और माइक्रोकंट्रोलर को प्रोग्राम करने के लिए आवश्यक वोल्टेज की आपूर्ति के लिए उपयोग किए जाने वाले सर्किट्री के साथ उपयोग किए जाने वाले पिन के साथ प्रदान किए जाते हैं। संचार परिधीय बदले में एक प्रोग्रामिंग परिधीय से जुड़ा होता है जो फ्लैश या ईईपीरोम मेमोरी पर काम करने के लिए कमांड प्रदान करता है।
आईएसपी प्रोग्रामिंग के लिए इलेक्ट्रॉनिक बोर्ड डिजाइन करते समय प्रोग्रामिंग चरण को यथासंभव विश्वसनीय बनाने के लिए कुछ दिशानिर्देशों को ध्यान में रखना आवश्यक है। कम संख्या में पिन वाले कुछ माइक्रोकंट्रोलर प्रोग्रामिंग लाइनों को I/O लाइनों के साथ साझा करते हैं। यदि बोर्ड के डिजाइन में आवश्यक सावधानियों को ध्यान में नहीं रखा गया तो यह एक समस्या हो सकती है; डिवाइस प्रोग्रामिंग के दौरान I/O घटकों के नुकसान का सामना कर सकता है। इसके अलावा, प्रोग्रामर द्वारा घटकों के नुकसान से बचने के लिए ISP लाइनों को उच्च प्रतिबाधा सर्किटरी से जोड़ना महत्वपूर्ण है और क्योंकि माइक्रोकंट्रोलर अक्सर लाइन को पायलट करने के लिए पर्याप्त करंट की आपूर्ति नहीं कर सकता है। प्रोग्रामिंग मोड में प्रवेश करने के लिए कई माइक्रोकंट्रोलर्स को एक समर्पित रीसेट(RESET) लाइन की आवश्यकता होती है। लाइन ड्राइविंग के लिए आपूर्ति की गई वर्तमान पर ध्यान देना और रीसेट लाइन से जुड़े वॉचडॉग की उपस्थिति की जांच करना आवश्यक है जो एक अवांछित रीसेट उत्पन्न कर सकता है और इसलिए, प्रोग्रामिंग विफलता का नेतृत्व कर सकता है। इसके अलावा, कुछ माइक्रोकंट्रोलर्स को प्रोग्रामिंग मोड में प्रवेश करने के लिए एक उच्च वोल्टेज की आवश्यकता होती है और इसलिए, यह जांचना आवश्यक है कि यह मान क्षीण नहीं है और यह वोल्टेज बोर्ड पर अन्य घटकों को अग्रेषित नहीं किया गया है।
औद्योगिक आवेदन
इन-सिस्टम प्रोग्रामिंग प्रक्रिया उत्पाद के उत्पादन के अंतिम चरण के दौरान होती है और इसे उत्पादन की मात्रा के आधार पर दो अलग-अलग तरीकों से किया जा सकता है।
पहली विधि में, एक कनेक्टर मैन्युअल रूप से प्रोग्रामर से जुड़ा होता है। यह समाधान प्रोग्रामिंग प्रक्रिया में मानवीय भागीदारी की अपेक्षा करता है जिसे प्रोग्रामर को केबल के साथ इलेक्ट्रॉनिक बोर्ड से जोड़ना होता है। इसलिए, यह समाधान कम उत्पादन मात्रा के लिए है।
दूसरी विधि बोर्ड पर परीक्षण बिंदुओं का उपयोग करती है। ये मुद्रित बोर्ड, या पीसीबी पर रखे गए विशिष्ट क्षेत्र हैं, जो बोर्ड पर कुछ इलेक्ट्रॉनिक घटकों से विद्युत रूप से जुड़े होते हैं। परीक्षण बिंदुओं का उपयोग बोर्ड पर लगे घटकों के लिए कार्यात्मक परीक्षण करने के लिए किया जाता है और चूंकि वे सीधे कुछ माइक्रोकंट्रोलर पिन से जुड़े होते हैं, वे आईएसपी के लिए बहुत प्रभावी होते हैं। मध्यम और उच्च उत्पादन मात्रा के लिए परीक्षण बिंदुओं का उपयोग करना सबसे अच्छा समाधान है क्योंकि यह असेंबली लाइन में प्रोग्रामिंग चरण को एकीकृत करने की अनुमति देता है।
उत्पादन लाइनों में, बोर्ड को कीलों के एक बिस्तर पर रखा जाता है जिसे फिक्सचर कहा जाता है। बाद वाले एकीकृत हैं, उत्पादन की मात्रा के आधार पर, एटीई - स्वचालित परीक्षण उपकरण कहे जाने वाले सेमीआटोमैटिक या स्वचालित परीक्षण प्रणालियों में। जुड़नार विशेष रूप से प्रत्येक बोर्ड के लिए डिज़ाइन किए गए हैं - या बोर्ड के समान कुछ मॉडलों के लिए वे डिज़ाइन किए गए थे - इसलिए ये सिस्टम वातावरण में विनिमेय हैं जहां वे एकीकृत हैं। परीक्षण प्रणाली, एक बार जब बोर्ड और स्थिरता को स्थिति में रखा जाता है, तो परीक्षण के लिए बोर्ड पर परीक्षण बिंदुओं के साथ स्थिरता की सुइयों को संपर्क में रखने के लिए एक तंत्र होता है। वह सिस्टम जो किसी आईएसपी प्रोग्रामर से जुड़ा है, या सीधे उसके अंदर एकीकृत है। इसे डिवाइस या बोर्ड पर लगे उपकरणों को प्रोग्राम करना होता है: उदाहरण के लिए, एक माइक्रोकंट्रोलर और/या एक सीरियल मेमोरी है।
माइक्रोचिप ICSP
अधिकांश माइक्रोचिप माइक्रोकंट्रोलर के लिए, ICSP प्रोग्रामिंग को दो पिन, घड़ी (PGC) और डेटा (PGD) का उपयोग करके किया जाता है, जबकि एक उच्च वोल्टेज (12 & nbsp; v) VPP/MCLR पिन पर मौजूद है।कम वोल्टेज प्रोग्रामिंग (5 & nbsp; v या 3.3 & nbsp; v) उच्च वोल्टेज के साथ डिस्पेंस करता है, लेकिन I/O पिन का अनन्य उपयोग करता है।हालांकि, नए माइक्रोकंट्रोलर्स के लिए, विशेष रूप से PIC18F6XJXX/8XJXX माइक्रोकंट्रोलर परिवारों, ICSP मोड में प्रवेश करना थोड़ा अलग है।[2] ICSP प्रोग्राम/सत्यापित मोड में प्रवेश करने के लिए निम्नलिखित तीन चरणों की आवश्यकता होती है:
- वोल्टेज को संक्षेप में MCLR (मास्टर क्लियर) पिन पर लागू किया जाता है।
- PGD पर 32-बिट की कुंजी अनुक्रम प्रस्तुत किया गया है।
- वोल्टेज MCLR को फिर से लागू किया जाता है।
हार्डवेयर का एक अलग टुकड़ा, जिसे प्रोग्रामर कहा जाता है, एक तरफ एक पीसी के I/O पोर्ट से कनेक्ट करने के लिए और दूसरी तरफ PIC से कनेक्ट करने की आवश्यकता होती है। प्रत्येक प्रमुख प्रोग्रामिंग प्रकार के लिए सुविधाओं की एक सूची हैं:
- समानांतर पोर्ट - बड़े भारी केबल, अधिकांश कंप्यूटरों में केवल एक पोर्ट होता है और यह एक संलग्न प्रिंटर के साथ प्रोग्रामिंग केबल को स्वैप करने के लिए असुविधाजनक हो सकता है। 2010 की तुलना में अधिकांश लैपटॉप इस बंदरगाह का समर्थन नहीं करते हैं। समानांतर पोर्ट प्रोग्रामिंग बहुत तेज है।
- सीरियल पोर्ट (COM पोर्ट) - एक समय में सबसे लोकप्रिय विधि। सीरियल पोर्ट में आमतौर पर पर्याप्त सर्किट प्रोग्रामिंग आपूर्ति वोल्टेज की कमी होती है। अधिकांश कंप्यूटर और लैपटॉप इस बंदरगाह के लिए 2010 की कमी के समर्थन में नए हैं।
- सॉकेट (सर्किट में या बाहर) - सीपीयू को या तो सर्किट बोर्ड से हटा दिया जाना चाहिए, या एक क्लैंप को चिप -मेकिंग एक्सेस एक समस्या से जोड़ा जाना चाहिए।
- यूएसबी केबल - छोटे और हल्के वजन, वोल्टेज स्रोत के लिए समर्थन है और अधिकांश कंप्यूटरों में अतिरिक्त पोर्ट उपलब्ध हैं। प्रोग्राम किए जाने वाले सर्किट के बीच की दूरी और कंप्यूटर USB केबल की लंबाई तक सीमित है - यह आमतौर पर 180 & nbsp; सेमी से कम होना चाहिए। यह प्रोग्रामिंग उपकरणों को मशीनरी में गहराई से या अलमारियाँ एक समस्या बना सकता है।
ICSP प्रोग्रामर के कई फायदे हैं, आकार, कंप्यूटर पोर्ट उपलब्धता और बिजली स्रोत प्रमुख विशेषताएं हैं। इंटरकनेक्ट स्कीम में भिन्नता और एक माइक्रो-कंट्रोलर के आसपास के लक्ष्य सर्किट के कारण, कोई प्रोग्रामर नहीं है जो सभी 'संभावित लक्ष्य सर्किट या इंटरकनेक्ट्स के साथ काम करता है। microchip एक विस्तृत ICSP प्रोग्रामिंग गाइड प्रदान करता है[3] कई साइटें प्रोग्रामिंग और सर्किट उदाहरण प्रदान करती हैं।
PICs को पांच संकेतों का उपयोग करके प्रोग्राम किया जाता है (एक छठा पिन 'औक्स' प्रदान किया जाता है लेकिन उपयोग नहीं किया जाता है)।डेटा को दो-तार सिंक्रोनस सीरियल स्कीम का उपयोग करके स्थानांतरित किया जाता है, तीन और तार प्रोग्रामिंग और चिप पावर प्रदान करते हैं।क्लॉक सिग्नल को हमेशा प्रोग्रामर द्वारा नियंत्रित किया जाता है।
सिग्नल और पिनआउट
- वीpp - प्रोग्रामिंग मोड वोल्टेज।यह MCLR पिन, या V से जुड़ा होना चाहिएpp कुछ बड़े-पिन-काउंट पिक्स पर उपलब्ध वैकल्पिक ICSP पोर्ट का पिन।PIC को प्रोग्रामिंग मोड में डालने के लिए, यह लाइन एक निर्दिष्ट रेंज में होनी चाहिए जो PIC से PIC में भिन्न होती है।5 के लिए V pics, यह हमेशा v के ऊपर कुछ राशि हैdd, और 13.5 वी के रूप में उच्च हो सकता है। 3.3 वी केवल 18 एफजे, 24 एच, और 33 एफ श्रृंखला जैसे पिक्स प्रोग्रामिंग मोड और वी में प्रवेश करने के लिए एक विशेष हस्ताक्षर का उपयोग करते हैंpp एक डिजिटल सिग्नल है जो या तो जमीन या वीडीडी पर है।कोई नहीं हैpp वोल्टेज जो मान्य v के भीतर हैpp सभी चित्रों की सीमा।वास्तव में, न्यूनतम आवश्यक वीpp कुछ पिक्स के लिए स्तर अन्य पिक्स को नुकसान पहुंचा सकता है।
- वीdd - यह PIC के लिए सकारात्मक पावर इनपुट है।कुछ प्रोग्रामर को सर्किट द्वारा प्रदान किए जाने की आवश्यकता होती है (सर्किट को कम से कम आंशिक रूप से संचालित किया जाना चाहिए), कुछ प्रोग्रामर इस लाइन को स्वयं ड्राइव करने की उम्मीद करते हैं और सर्किट को बंद करने की आवश्यकता होती है, जबकि अन्य को किसी भी तरह से कॉन्फ़िगर किया जा सकता है (जैसे माइक्रोचिप ICD2)।एम्बेड इंक प्रोग्रामर वी को ड्राइव करने की उम्मीद करते हैंdd खुद को लाइन करें और प्रोग्रामिंग के दौरान लक्ष्य सर्किट को बंद करने की आवश्यकता होती है।
- वीss - पिक के लिए नकारात्मक पावर इनपुट और शेष संकेतों के लिए शून्य वोल्ट संदर्भ।अन्य संकेतों के वोल्टेज v के संबंध में स्पष्ट रूप से हैंss।
- ICSPCLK - सीरियल डेटा इंटरफ़ेस की क्लॉक लाइन।यह लाइन GND से v तक घूमती हैdd और हमेशा प्रोग्रामर द्वारा संचालित होता है।डेटा को गिरने वाले किनारे पर स्थानांतरित किया जाता है।
- ICSPDAT - सीरियल डेटा लाइन।सीरियल इंटरफ़ेस द्वि-दिशात्मक है, इसलिए इस लाइन को वर्तमान ऑपरेशन के आधार पर प्रोग्रामर या पीआईसी द्वारा संचालित किया जा सकता है।या तो मामले में यह लाइन GND से VDD तक घूमती है।पीजीसी के गिरने के किनारे पर थोड़ा स्थानांतरित किया जाता है।
- AUX/PGM - नए PIC कंट्रोलर कम वोल्टेज प्रोग्रामिंग (LVP) को सक्षम करने के लिए इस पिन का उपयोग करते हैं।PGM उच्च पकड़कर, माइक्रो-कंट्रोलर LVP मोड में प्रवेश करेगा।PIC माइक्रो -कंट्रोलर को LVP सक्षम के साथ भेज दिया जाता है - इसलिए यदि आप एक ब्रांड नई चिप का उपयोग करते हैं तो आप इसे LVP मोड में उपयोग कर सकते हैं।मोड को बदलने का एकमात्र तरीका उच्च वोल्टेज प्रोग्रामर का उपयोग करके है।यदि आप इस पिन से कोई कनेक्शन के साथ माइक्रो कंट्रोलर को प्रोग्राम करते हैं, तो मोड को अपरिवर्तित छोड़ दिया जाता है।
RJ11 पिनआउट
एक ICSP प्रोग्रामर के साथ पंजीकृत जैक#RJ11 | RJ11 सॉकेट्स का उपयोग करने के लिए एक उद्योग मानक माइक्रोचिप द्वारा समर्थित है।चित्रण उनके डेटा शीट में प्रदान की गई जानकारी का प्रतिनिधित्व करता है।हालांकि, भ्रम के लिए जगह है।PIC डेटा शीट एक उल्टे सॉकेट दिखाती हैं और पिनआउट का एक चित्रात्मक दृश्य प्रदान नहीं करती हैं, इसलिए यह स्पष्ट नहीं है कि सॉकेट पिन 1 के किस तरफ स्थित है।यहां प्रदान किया गया चित्रण अप्रयुक्त है, लेकिन फोन उद्योग मानक पिनआउट (RJ11 प्लग/सॉकेट को वायर्ड डेस्कटॉप फोन के लिए विकसित किया गया था) का उपयोग करता है।
संदर्भ
यह भी देखें
- डिवाइस प्रोग्रामर
श्रेणी: डिजिटल इलेक्ट्रॉनिक्स श्रेणी: माइक्रोकंट्रोलर