विषयसूची:
वीडियो: PIC माइक्रोकंट्रोलर्स के लिए ICSP को समझना: 4 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
प्रोग्रामिंग माइक्रोकंट्रोलर कठिन नहीं है। एक प्रोग्रामर का निर्माण एक बेहतरीन पहला इलेक्ट्रॉनिक्स प्रोजेक्ट बनाता है। इस निर्देश का लक्ष्य माइक्रोचिप PIC के साथ उपयोग की जाने वाली सरल 'इन सर्किट सीरियल प्रोग्रामिंग' विधि की व्याख्या करना है।
चरण 1: आईसीएसपी क्यों?
एक बड़ी डीआईपी (छेद के माध्यम से) चिप प्रोग्रामिंग करना आसान है। इसे सॉकेटेड प्रोग्रामर में पॉप करें, जलाएं, और एप्लिकेशन सर्किट पर वापस आएं। परीक्षण करें और दोहराएं।
छोटे (सतह माउंट) चिप्स के साथ चीजें अधिक कठिन हो जाती हैं। QFN, SSOP, QFP, या यहां तक कि बड़े SOIC.300 पैकेज के लिए कोई मानक सॉकेट नहीं हैं। वास्तव में महंगे ($ 100s) क्लिप हैं जो इन चिप्स से जुड़ सकते हैं और प्रोग्राम कर सकते हैं। आपके द्वारा उपयोग किए जाने वाले प्रत्येक चिप प्रकार और पिन काउंट के लिए एक अलग क्लिप की आवश्यकता होती है। एक विकल्प है। इसे आईसीएसपी कहते हैं। ICSP का अर्थ है 'इन सर्किट सीरियल प्रोग्रामर (आईएनजी?)'। यह एक PIC प्रोग्रामिंग का एक तरीका है जबकि यह अभी भी एप्लिकेशन सर्किट से जुड़ा हुआ है। यह सही है, कोई और चिप स्वैपिंग नहीं। आईसीएसपी क्यों? 1. छोटे पैकेज चिप्स के लिए कोई प्रोग्रामिंग सॉकेट नहीं हैं। क्लिप महंगे हैं। 2. विकास के दौरान चिप्स को प्रोग्रामर के अंदर और बाहर ले जाने में दर्द होता है। सतह माउंट भागों के लिए असंभव।
चरण 2: आईसीएसपी क्या है?
एक एप्लिकेशन सर्किट से जुड़े रहते हुए एक PIC प्रोग्राम करने के लिए पांच कनेक्शन की आवश्यकता होती है। मैं इस कनेक्शन को त्वरित और आसान बनाने के लिए अपने सर्किट बोर्ड में 5 पिन हैडर जोड़ता हूं। PIC प्रोग्रामिंग की मूल बातें। PIC को प्रोग्राम करने के लिए पांच कनेक्शन की आवश्यकता होती है। पावर, ग्राउंड, एक प्रोग्रामिंग वोल्टेज, घड़ी और डेटा। + (Vdd)/- (Vss) ये पावर और ग्राउंड कनेक्शन (Vdd, Vss) हैं। सुंदर मानक। यदि आप 'वास्तविक' वोल्टेज स्तर वाले प्रोग्रामर का उपयोग कर रहे हैं (JDM2 नहीं!), तो प्रोग्राम किए जाने पर आपका एप्लिकेशन अपनी बिजली आपूर्ति से चल सकता है, इन कनेक्शनों को समाप्त कर सकता है। Vpp यह प्रोग्रामिंग वोल्टेज है। पीआईसी प्रोग्रामिंग मोड में प्रवेश करते हैं जब एमसीएलआर/वीपीपी पिन पर ~13 वोल्ट रखा जाता है (आमतौर पर आधुनिक पीआईसी पर पिन 1, नीचे उस पर और अधिक)। घड़ी/डेटा या पीजीसी/पीजीडी पीआईसी लिखने और पढ़ने के लिए घड़ी और डेटा लाइनों का उपयोग किया जाता है फर्मवेयर। ये आमतौर पर PORTB6 और PORTB7 के समान पिन होते हैं। व्यायाम: नीचे दिए गए चित्रों में PIC पर ICSP कनेक्शन बिंदुओं की पहचान करें। अगर PIC फिट बैठता है, तो इसे पहनें। मुझे इंस्ट्रक्शंस पर मेरे JDM2 डिज़ाइन के बारे में बहुत सारे प्रश्न मिलते हैं। सबसे अक्सर होता है "क्या यह PIC X को प्रोग्राम करेगा?'"' - यहां बताया गया है कि आप कैसे बता सकते हैं: 1) डेटा शीट को देखें। नीचे दिए गए चित्र की तरह दिखने वाला 'पिन आरेख' ढूंढें। 2) पिन के स्थान की पहचान करें जिसे प्रोग्रामिंग के लिए जोड़ा जाना चाहिए (Vpp, Vdd, Vss, डेटा, और घड़ी)। 3) सॉकेट कनेक्शन को देखें प्रोग्रामर। क्या आप प्रोग्रामर पर सॉकेट के साथ आवश्यक पिन का मिलान कर सकते हैं?
चरण 3: कैसे ICSP?
अपने डिज़ाइन के आधार पर, अब आप सभी आवश्यक कनेक्शन बना सकते हैं और अपना PIC प्रोग्राम कर सकते हैं। कुछ ऐसे कैच हैं जिनके बारे में आपको पता होना चाहिए। आईसीएसपी के लिए डिजाइन महत्वपूर्ण है। माइक्रोचिप आईसीएसपी के लिए डिजाइनिंग के बारे में एक अच्छा पीडीएफ एप्लीकेशन नोट प्रदान करता है। https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744 यहां मेरे पिछले अनुदेशों से ICSP डिजाइन के कुछ सुझाव और उदाहरण दिए गए हैं। युक्ति #1, खतरे का स्तर: महत्वपूर्ण घड़ी से कुछ और न जोड़ें और डेटा पिन (आमतौर पर RB6 और RB7, PGC और PGD)। बस मत करो। ऐसी स्थितियां हैं जहां बहुत चालाक इंजीनियरिंग प्रकार इससे दूर हो जाते हैं, लेकिन ऐसा न करें। पिन से जुड़े घटक घड़ी और डेटा संकेतों को तिरछा कर देंगे, जिसके परिणामस्वरूप अप्रत्याशित प्रोग्रामिंग होगी। इसके अतिरिक्त, यदि आप कभी भी इन-सर्किट सीरियल डीबगर का उपयोग करना चाहते हैं, तो आप नहीं कर सकते। बस ऐसा मत करो।टिप #2 थ्रेट लेवल: एक्सप्लोसिवहमेशा प्रोग्रामिंग वोल्टेज और सिस्टम वोल्टेज के बीच एक डायोड का उपयोग करें। यदि पीआईसी पर एमसीएलआर (मास्टर क्लियर) का उपयोग कर रहे हैं तो आपको एमसीएलआर पिन पर 10Kish रेसिस्टर के माध्यम से कुछ वोल्टेज प्रदान करना होगा। यह वह पिन भी है जिस पर आप प्रोग्रामिंग मोड में प्रवेश करने के लिए ~13 वोल्ट लगाएंगे। मैंने रोकनेवाला और MCLR/Vpp पिन के बीच 1n4148 (समतुल्य) डायोड लगाया (जैसा कि नीचे योजनाबद्ध और प्रतिपादन में दिखाया गया है)। यह प्रोग्रामिंग वोल्टेज को वीपीपी पिन पर रखता है, आपके बोर्ड पर अन्य घटकों के विनाश को रोकता है। टिप # 3 खतरे का स्तर: (पुनः) थका हुआ कम वोल्टेज प्रोग्रामिंग आपको वापस पकड़ रहा है, यार। मैं एलवीपी के साथ कभी सफल नहीं हुआ हूं। मैंने इसे अपनी आंखों से (लगातार) काम करते हुए कभी नहीं देखा। बस गोली काटो और JDM2 प्रोग्रामर बनाने के लिए $ 2.50 खर्च करें।
चरण 4: आईसीएसपी प्रोग्रामर
ICSP को एक अलग प्रोग्रामिंग प्रोटोकॉल की आवश्यकता नहीं है। एक सॉकेट-आधारित प्रोग्रामर पहले से ही आवश्यक सिग्नलिंग उत्पन्न करता है, लेकिन इसे तारों के बजाय सॉकेट में भेजता है। अधिकांश सॉकेट प्रोग्रामर्स को सॉकेट से एप्लिकेशन सर्किट तक तारों में हेराफेरी करके ICSP के रूप में उपयोग किया जा सकता है। उदाहरण के लिए, मूल JDM2 प्रोग्रामर (यहां: https://www.jdm.homepage.dk/newpic.htm) का उपयोग किया जा सकता है हेडर में 5 आवश्यक सिग्नल लाकर ICSP प्रोग्रामिंग करें। इसे यहां प्रोग्रामर में देखा जा सकता है: https://www.belza.cz/digital/jdm.htm। चीजों को संभाल कर रखने के लिए, मैंने इस डिज़ाइन को ईगल कैड में बनाया और इसे इस निर्देश से जोड़ा। ट्रांजिस्टर ओरिएंटेशन देखें, पैरों के निशान में से एक गलत हो सकता है (मैंने इसे एक साल से अधिक समय पहले बनाया था, मुझे अब और याद नहीं है)। इसी तरह, मेरे अपडेट किए गए JDM2 प्रोग्रामर (यहां: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) का उपयोग ICSP के लिए DIP सॉकेट में तारों को चिपकाकर और उन्हें लक्ष्य PIC से जोड़कर किया जा सकता है। ***** JDM2s फंकी वोल्टेज का उपयोग करते हैं … इसे एप्लिकेशन सर्किट से जुड़ी बाहरी शक्ति (या यहां तक कि जमीन) के बिना सर्किट से कनेक्ट करें। बिजली लगाने से पहले ICSP कनेक्शन हटा दें। ऐसा करने में विफलता विनाशकारी नहीं है, लेकिन इसके परिणामस्वरूप असफल प्रोग्रामिंग ******* एक अन्य विकल्प एक (अर्ध-) उचित आईसीडी प्रोग्रामर है। ICD आपको कोड में ब्रेक पॉइंट सेट करके या मेमोरी और पोर्ट वैल्यू पढ़कर अपने PIC पर फर्मवेयर निष्पादन को नियंत्रित करने की अनुमति देता है। एक ICD कोड के निष्पादन को भी चेतन कर सकता है, एप्लिकेशन सर्किट को शक्ति प्रदान कर सकता है और PIC को प्रोग्राम कर सकता है। यह सब उसी 5 पिन आईसीएसपी कनेक्शन के माध्यम से करता है जिसकी हमने चर्चा की है। कई ICSP क्लोन जिन्हें आप स्वयं बना सकते हैं, यहाँ देखे जा सकते हैं: https://www.icd2clone.com/wiki/Main_Page। मैंने कुछ महीने पहले पीआईसीएस (रेव बी) बनाया था और इसे प्यार करता था।
सिफारिश की:
Arduino UNO के साथ ATTINY माइक्रोकंट्रोलर्स के लिए एक छोटा प्रोग्रामर: 7 कदम
Arduino UNO के साथ ATTINY माइक्रोकंट्रोलर्स के लिए एक छोटा प्रोग्रामर: वर्तमान में उनकी बहुमुखी प्रतिभा, कम कीमत के कारण ATTINY श्रृंखला माइक्रोकंट्रोलर का उपयोग करना दिलचस्प है, लेकिन यह भी तथ्य है कि उन्हें Arduino IDE जैसे वातावरण में आसानी से प्रोग्राम किया जा सकता है। Arduino मॉड्यूल के लिए डिज़ाइन किए गए प्रोग्राम हो सकते हैं आसानी से ट्रांसफर
एयर कंडीशनर के रिमोट के आईआर प्रोटोकॉल को समझना: 9 कदम (चित्रों के साथ)
एयर कंडीशनर के रिमोट के आईआर प्रोटोकॉल को समझना: मैं पिछले कुछ समय से आईआर प्रोटोकॉल के बारे में सीख रहा हूं। IR सिग्नल कैसे भेजें और प्राप्त करें। इस बिंदु पर, एसी रिमोट का आईआर प्रोटोकॉल शेष है। लगभग सभी इलेक्ट्रॉनिक्स उपकरणों (जैसे एक टीवी) के पारंपरिक रिमोट के विपरीत, जहां
माइक्रोकंट्रोलर्स के लिए एक शुरुआती गाइड: 10 कदम (चित्रों के साथ)
माइक्रोकंट्रोलर्स के लिए एक शुरुआती गाइड: रिमोट कंट्रोलर, राउटर और रोबोट सभी में क्या समान है? माइक्रोकंट्रोलर! इन दिनों, शुरुआती-अनुकूल माइक्रोकंट्रोलर का उपयोग करना आसान है और केवल एक लैपटॉप, एक यूएसबी केबल और कुछ (मुक्त) ओपन-सोर्स सॉफ़्टवेयर के साथ प्रोग्राम करना आसान है। वू हू!! आल थे
आलू बैटरी: रासायनिक और विद्युत ऊर्जा को समझना: 13 चरण (चित्रों के साथ)
आलू की बैटरी: रासायनिक और विद्युत ऊर्जा को समझना: क्या आप जानते हैं कि आप सिर्फ एक या दो आलू से एक लाइटबल्ब को बिजली दे सकते हैं? दो धातुओं के बीच रासायनिक ऊर्जा विद्युत ऊर्जा में परिवर्तित हो जाती है और आलू की सहायता से एक परिपथ बनाती है! यह एक छोटा विद्युत आवेश बनाता है जिसे
चैनल मिक्सिंग को समझना: 4 चरण (चित्रों के साथ)
चैनल मिक्सिंग को समझना: यदि आपने कभी रिमोट कंट्रोल चेसिस चलाया है, तो एक अच्छा मौका है कि आपने मिक्सिंग का उपयोग किया है, भले ही आप इसे नहीं जानते हों। विशेष रूप से, यदि आपने स्किड स्टीयरिंग का उपयोग करने वाले वाहन को नियंत्रित करने के लिए एकल जॉयस्टिक या गिम्बल का उपयोग किया है या