कंप्यूटर से एकल-चैनल तर्क विश्लेषक। चीन से तर्क विश्लेषक का शोधन

Arduino एक अद्वितीय माइक्रोकंट्रोलर है जो आपको केवल इंजीनियर की कल्पना से सीमित कोई भी उपकरण बनाने की अनुमति देता है। आज हम इन परियोजनाओं में से एक के बारे में बात करेंगे और Arduino पर एंटीना विश्लेषक का विश्लेषण करेंगे, साथ ही उन सभी बारीकियों का भी विश्लेषण करेंगे जिनसे आपको सोल्डरिंग और प्रोग्रामिंग करते समय निपटना होगा।

वास्तव में, Arduino पर एक स्पेक्ट्रम विश्लेषक एक काफी सरल परियोजना है, लेकिन शुरुआती लोगों और जो जोड़ना चाहते हैं उनके लिए आदर्श है यह डिवाइसआपके टूलकिट के लिए. आइए देखें कि Arduino पर एक तर्क विश्लेषक क्या है, और इसे डिजाइन और सोल्डरिंग करते समय कौन से नुकसान आपका इंतजार कर रहे हैं।

Arduino MK पर आधारित लॉजिक एनालाइज़र सर्किट

सबसे पहले हमें यह डिज़ाइन करना होगा कि हम क्या सोल्डर करेंगे। लॉजिक एनालाइज़र एक सरल उपकरण है जिसका पूरा काम बिजली के अनुप्रयोग के माध्यम से प्रसारित बाइनरी कोड (डिजिटल सिग्नल) को पढ़ना और उसका विश्लेषण करना है।

दूसरे शब्दों में, डिवाइस को आपूर्ति किया गया प्रत्येक 5 वोल्ट एक है, इसकी अनुपस्थिति शून्य है। इस बाइनरी कोड का उपयोग डेटा एन्कोडिंग और कई उपकरणों में किया जाता है, जिनमें Arduino पर आधारित उपकरण भी शामिल हैं। पढ़ना, एक नियम के रूप में, एक से शुरू होता है। और अपने प्रोजेक्ट को बाइनरी एन्कोडिंग के साथ जांचने के लिए, आपको एक तर्क विश्लेषक की आवश्यकता होगी।

सबसे आसान तरीका डिवाइस को I2C बस पर आज़माना है, जिसका उपयोग आज तक अधिकांश इलेक्ट्रॉनिक उपकरणों में किया जाता है। यह समझने के लिए कि हमें क्या डिज़ाइन करने की आवश्यकता है, आइए डिवाइस की मुख्य विशेषताओं पर नज़र डालें:

  1. आने वाले संकेतों के तार्किक विश्लेषण के लिए 4 चैनल।
  2. सिग्नल आवृत्तियों की परिवर्तनशीलता 400 kHz तक है; यह रेंज विशेष उपकरणों को छोड़कर अधिकांश आधुनिक उपकरणों को कवर करेगी।
  3. इनपुट वोल्टेज +5 वोल्ट तक होना चाहिए, जैसा कि पहले ही बताया गया है, यह एक इकाई (सिग्नल उपस्थिति) के रूप में लिया गया मानक है।
  4. जानकारी प्रदर्शित करने के लिए एलईडी डिस्प्ले। विशेष रूप से परिष्कृत प्रोग्रामर कुछ एलईडी खरीद सकते हैं और अपनी जरूरत के विकर्ण का अपना डिस्प्ले बना सकते हैं, लेकिन बाकी सभी के लिए, ऐसे डिवाइस के लिए सॉफ्टवेयर लिखना बहुत श्रम-गहन होगा और एक अनावश्यक कदम साबित होगा। इसलिए, यहां हम एलसीडी डिस्प्ले वाले डिवाइस संस्करण पर विचार करेंगे।
  5. बिजली आपूर्ति के लिए 4 बैटरियां, 1.2 V पर अधिकतम वोल्टेज 4.8 वोल्ट पर.
  6. टक्कर मारना। दो किस्मों को लेने की सलाह दी जाती है - उच्च गति (3.6 एमएस प्रति सिग्नल) और कम गति (36 एस), यह समाधान आपको सिग्नल की पूरी श्रृंखला को कवर करने की अनुमति देगा।
  7. एक नियंत्रण कक्ष या बटनों की एक जोड़ी।
  8. संरचना को बन्धन के लिए कोई भी खोल। आप इसे 3-डी प्रिंटर पर प्रिंट कर सकते हैं, आप एक अनावश्यक प्लास्टिक बॉक्स ले सकते हैं या बिना किसी केस के भी ऐसा कर सकते हैं। यहां हम सलाह नहीं देंगे, डिवाइस काम करता है, चाहे शेल के साथ हो या बिना, चुनाव आपका है।

बिजली के लिए, आपको बैटरी चुनने की ज़रूरत है, क्योंकि 4 1.5 वोल्ट की बैटरी Arduino को नुकसान पहुंचा सकती हैं और बोर्ड को जला सकती हैं। एलसीडी डिस्प्ले के खतरे का तो जिक्र ही नहीं। इसलिए, कंजूसी न करें और गुणवत्ता वाले घटक लें। आख़िरकार, अंतिम उत्पाद की गुणवत्ता उसके सबसे खराब घटक के पैरामीटर के बराबर होती है।

अंतिम सर्किट में स्विच S1 जोड़ना न भूलें, जिसका उपयोग बिजली की आपूर्ति करने और डिवाइस को बंद करने के लिए किया जाएगा ताकि बैटरी आसानी से डिस्चार्ज न हो।

विशेष पुल-अप रेसिस्टर्स की भी आवश्यकता होगी, जो सिग्नल जांच उंगलियों के विद्युत चुम्बकीय क्षेत्र के कारण दिखाई देने वाले गलत डेटा को खत्म कर देगा। परिणामस्वरूप, डिजिटल इनपुट पर शोर और विरूपण न्यूनतम होगा।

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

Arduino माइक्रोकंट्रोलर पर आधारित तर्क विश्लेषक बनाने के लिए अनुशंसित परिधीय

उपरोक्त सभी से, आपने पहले ही खरीद के लिए बाह्य उपकरणों की एक मोटी सूची तैयार कर ली है, लेकिन आइए इस बिंदु को स्पष्ट करें। तर्क विश्लेषक में आपको आवश्यकता होगी:

  1. Arduino माइक्रोकंट्रोलर ही। इससे कोई फर्क नहीं पड़ता कि आप किसे चुनते हैं, यह केवल डिवाइस के अंतिम आकार को प्रभावित करेगा। किसी भी संस्करण का सॉफ़्टवेयर एक जैसा दिखता है। उपरोक्त फोटो में बोर्ड का उपयोग किया गया था।
  2. आयसीडी प्रदर्शन। यदि आपके पास कोई पुराना है पुश-बटन टेलीफोन, आप इसे हटा सकते हैं और "अपशिष्ट-मुक्त" उत्पादन स्थापित कर सकते हैं।
  3. विभिन्न क्षमताओं के प्रतिरोधक।
  4. वर्तमान सेंसर।
  5. 4 बैटरी.
  6. एक या दो एलईडी.
  7. मेमोरी कार्ड, लेकिन यह वैकल्पिक है.

इसके अलावा, आपको स्वाभाविक रूप से सोल्डरिंग आयरन, सोल्डर और अन्य सहायक उपकरण की आवश्यकता होगी। बेहतर होगा कि आप पहले से ही ऐसी जगह ढूंढ लें जहां आप यह सब इकट्ठा कर सकें। और यदि आप पहली बार सोल्डरिंग आयरन के साथ काम कर रहे हैं, तो अग्नि सुरक्षा नियमों और इसके संचालन की विशेषताओं का अध्ययन करें ताकि प्रत्येक भाग को 10 बार दोबारा सोल्डर न करना पड़े।

"तर्क विश्लेषक" परियोजना को लागू करते समय Arduino MK की प्रोग्रामिंग

Arduino की लोकप्रियता के लिए धन्यवाद, इस एमके पर तर्क विश्लेषकों के लिए पहले से ही तैयार पुस्तकालय और फ़ंक्शन मौजूद हैं। आपको बस सही को चुनना है और अपने डिवाइस के लिए प्रोग्राम कोड को फिर से लिखना है। आख़िरकार, बोर्ड, सेंसर और अन्य इनपुट सभी के लिए अलग-अलग होते हैं, और आपके डिवाइस को समस्याओं के बिना काम करने के लिए, आपको किसी और के कोड को अपनी आवश्यकताओं के अनुसार समायोजित करना होगा। यदि आप स्वयं को परेशान नहीं करना चाहते हैं और आपके पास C++ में प्रोग्रामिंग का अनुभव है, तो आप अपनी पसंद के किसी भी वातावरण का उपयोग कर सकते हैं।

उपरोक्त फोटो में सर्किट का कोड इस प्रकार हो सकता है:

/************************************** 128 गुणा 64 एलसीडी लॉजिक एनालाइज़र 6 चैनल और 3एमबी/एस बॉब द्वारा डेविस यूनिवर्सल 8 बिट ग्राफ़िक्स लाइब्रेरी का उपयोग करता है, http://code.google.com/p/u8glib/ कॉपीराइट (सी) 2012, [ईमेल सुरक्षित] सर्वाधिकार सुरक्षित। ******************************************** ****/ #शामिल "U8glib. h" // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 // U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11 , 4, 5, 6, 7, 18, 17, 16); // **** नोट **** मैंने तीन नियंत्रण पिन हटा दिए !!! U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 1, 2, 3); पूर्णांक नमूना; int इनपुट=0; int OldInput=0; पूर्णांक xpos=0; null .drawPixel (20,1); u8g.drawPixel (40,1); u8g.drawPixel (60,1); u8g.drawPixel (80,1); u8g.drawPixel (100,1); u8g.drawPixel (20, 62); u8g.drawPixel (40,62); u8g.drawPixel (60,62); u8g.drawPixel (80,62); u8g.drawPixel (100,62); ) void Draw(void) ( u8g_prepare(); DrawMarkers(); // एक सकारात्मक इनपुट इनपुट के ट्रिगर की प्रतीक्षा करें इनपुट = डिजिटल रीड (ए 0); जबकि (इनपुट! = 1) ( इनपुट = डिजिटल रीड (ए 0);) // एनालॉग डेटा को एक सरणी में इकट्ठा करें // नहीं लूप लगभग 50% तेज है! नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी ; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना =पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; नमूना=पिनसी; // सरणी से एकत्रित एनालॉग डेटा प्रदर्शित करें for(int xpos=0; xpos<128; xpos++) { u8g.drawLine (xpos, ((Sample&B00000001)*4)+4, xpos, ((Sample&B00000001)*4)+4); u8g.drawLine (xpos, ((Sample&B00000010)*2)+14, xpos, ((Sample&B00000010)*2)+14); u8g.drawLine (xpos, ((Sample&B00000100)*1)+24, xpos, ((Sample&B00000100)*1)+24); u8g.drawLine (xpos, ((Sample&B00001000)/2)+34, xpos, ((Sample&B00001000)/2)+34); u8g.drawLine (xpos, ((Sample&B00010000)/4)+44, xpos, ((Sample&B00010000)/4)+44); u8g.drawLine (xpos, ((Sample&B00100000)/8)+54, xpos, ((Sample&B00100000)/8)+54); } } void setup(void) { pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, INPUT); pinMode(A5, INPUT); // assign default color value if (u8g.getMode() == U8G_MODE_R3G3B2) u8g.setColorIndex(255); // RGB=white else if (u8g.getMode() == U8G_MODE_GRAY2BIT) u8g.setColorIndex(3); // max intensity else if (u8g.getMode() == U8G_MODE_BW) u8g.setColorIndex(1); // pixel on, black } void loop(void) { // picture loop // u8g.firstPage(); do { draw(); } while(u8g.nextPage()); // rebuild the picture after some delay delay(100); }

Arduino के साथ काम करने के लिए लाइब्रेरी डाउनलोड करना न भूलें। और यह भी ध्यान रखें कि आउटपुट एलसीडी स्क्रीन पर जाए। जब आप सॉफ़्टवेयर लिखना समाप्त कर लें, तो बस इसे एक विशेष USB एडाप्टर का उपयोग करके बोर्ड पर लोड करें।

ऐसा हो सकता है कि एलसीडी डिस्प्ले पर जानकारी प्रदर्शित होने के तरीके के कारण, आपके पास डिवाइस की पर्याप्त स्थायी मेमोरी न हो। इस मामले में, फ्लैश ड्राइव खरीदना और उसे सिस्टम से जोड़ना समझ में आता है। सौभाग्य से, यह काफी सरलता से किया जाता है, और आपको बस अपने भौतिक ड्राइव फॉर्म फैक्टर के लिए एक विशेष एडाप्टर की आवश्यकता होती है।

अक्सर घरेलू इलेक्ट्रॉनिक शिल्प में इस या उस सिग्नल को देखने की आवश्यकता होती है, और इसका डिजिटल प्रतिनिधित्व पर्याप्त है - एमके I2C के माध्यम से क्या संचारित करता है, क्या पीडब्लूएम सही ढंग से कॉन्फ़िगर किया गया है, आदि। यदि आपके पास कार्यस्थल पर एक अच्छा ऑसिलोस्कोप है, तो अपने घर के लिए इसे खरीदना बहुत महंगा है, खासकर जब इसकी आवश्यकता कभी-कभार ही पड़ती है।
हाल ही में, सस्ते (लगभग $50) लॉजिक एनालाइज़र सामने आए हैं, लेकिन एक विचार ने मुझे हमेशा उन्हें खरीदने से रोका है: बात बेहद सरल है, क्यों न इसे स्क्रैप सामग्री से स्वयं बनाया जाए?
इस लेख में मैं आपको बताऊंगा कि न्यूनतम वित्तीय लागत के साथ एक सरल तर्क विश्लेषक कैसे बनाया जाए - आपको बस Stm32F4Discotory डिबगिंग बोर्ड की आवश्यकता है।

तर्क विश्लेषक (इसके बाद एलए के रूप में संदर्भित)- डिजिटल सर्किट में सिग्नल रिकॉर्ड करने, देखने और विश्लेषण करने के लिए डिज़ाइन किया गया एक उपकरण। एक ऑसिलोस्कोप की तरह, एक एलए विश्लेषण किए जा रहे सर्किट में एक या अधिक जांच के साथ जुड़ा होता है, लेकिन एक ऑसिलोस्कोप के विपरीत, यह केवल दो सिग्नल अवस्थाओं "0" और "1" को रिकॉर्ड करता है। विमान का एक महत्वपूर्ण कार्य रिकॉर्ड किए गए संकेतों को स्वचालित रूप से समझने की क्षमता है, उदाहरण के लिए, I2C या SPI बस पर डेटा विनिमय को पार्स करना। इसके अलावा, एलए को ऑसिलोस्कोप की तुलना में बड़ी संख्या में विश्लेषण की गई रेखाओं से अलग किया जाता है: साधारण विश्लेषक में 8 से लेकर औद्योगिक नमूनों में सैकड़ों तक।
यहां वर्णित परियोजना - लॉजिकडिस्कवरी - एक एसयूएमपी-संगत तर्क विश्लेषक है, जो एक पीसी के लिए यूएसबी सेट-टॉप बॉक्स के प्रारूप में बनाया गया है। इसमें मामूली विशेषताएं हैं: 20 मेगाहर्ट्ज, 16 चैनल, 24 केबी मेमोरी। हालाँकि, यह कार्यों की एक विस्तृत श्रृंखला के लिए पर्याप्त है: यूएआरटी, आई2सी, एसपीआई लाइनों (कई मेगाहर्ट्ज़ के भीतर), समानांतर बसों, सिग्नल टाइमिंग विशेषताओं का माप आदि का विश्लेषण।

आएँ शुरू करें

तो, हमें बस इतना चाहिए:
  • विकास बोर्ड Stm32F4डिस्कवरी। मॉस्को रिटेल में 500 रूबल से, या शायद यह पहले से ही आपके डिब्बे में है? STM32F4 या STM32F2 पर आधारित कोई अन्य बोर्ड भी काम करेगा, लेकिन फिर आपको स्रोतों को सही करना होगा।
  • सर्किट से जुड़ने के लिए कई तारों का विश्लेषण किया जा रहा है।
  • उपयोग के लिए तैयार फर्मवेयर Google.Code पर उपलब्ध है। सूत्र भी मौजूद हैं.
  • इसके अलावा, आपको पीसी के लिए एक क्लाइंट की आवश्यकता है, मैं ओएलएस की अनुशंसा करता हूं।
क्लाइंट जावा में लिखा गया है, इसलिए परिणामी समाधान ओएस स्वतंत्र है। सैद्धांतिक रूप से, आप किसी भी SUMP-संगत क्लाइंट का उपयोग कर सकते हैं, लेकिन नीचे मैं इस विशेष कार्यक्रम के साथ काम करने का वर्णन करूंगा।
Stm32F4Discotory एक मिनी-यूएसबी पोर्ट द्वारा संचालित है, जिसके माध्यम से इसे फ्लैश किया जाता है। विमान के कार्यों का उपयोग करने के लिए, बोर्ड एक माइक्रो-यूएसबी पोर्ट के माध्यम से एक पीसी से जुड़ा होता है। बोर्ड को उसी पोर्ट से बिजली देने के लिए, पिनों को एक जम्पर से कनेक्ट करें PA9और 5V. PA9 सीधे माइक्रो-यूएसबी पोर्ट के Vbus से जुड़ा है, और 5V स्टेबलाइजर का इनपुट है जो बोर्ड के लिए बिजली उत्पन्न करता है। संचालन की जांच करने के लिए, पोर्ट कनेक्ट करें पीए2और पीडी0. PA2 पर एक परीक्षण सिग्नल उत्पन्न होता है, और PD0 विमान का पहला इनपुट है।

बोर्ड को पीसी द्वारा COM पोर्ट के रूप में पहचाना जाता है; लिनक्स के लिए, ड्राइवर मानक हैं और पहले से ही कर्नेल में होने चाहिए; विन के लिए, ड्राइवर ST वेबसाइट से डाउनलोड किए जाते हैं। एक बार बोर्ड की पहचान हो जाने के बाद, आप क्लाइंट लॉन्च कर सकते हैं और काम पर लग सकते हैं।
लेकिन सबसे पहले, मरहम में एक मक्खी।

प्रतिबंध

प्रोजेक्ट ओपन SUMP प्रोटोकॉल का उपयोग करता है। यह प्रोटोकॉल मूल रूप से एफपीजीए-आधारित विमानों के लिए विकसित किया गया था, और चूंकि इनपुट सिग्नल रिकॉर्ड करने और डेटा प्रवाह का विश्लेषण करने के मामले में माइक्रोकंट्रोलर अभी भी उनसे कमतर हैं, इसलिए क्लाइंट में कार्यान्वित सभी कार्य हमारे लिए उपलब्ध नहीं होंगे:
  • अधिकतम रिकॉर्डिंग आवृत्ति - 20 मेगाहर्ट्ज, मूल में 200 मेगाहर्ट्ज तक
  • आरएलई संपीड़न और शोर फ़िल्टरिंग समर्थित नहीं हैं।
  • आप मनमाने चैनल समूहों का चयन नहीं कर सकते, केवल पहला (8 चैनल), या पहला + दूसरा (16 चैनल)।
  • ट्रिगर मूल्य से नहीं, बल्कि किनारे से काम करते हैं (हालांकि, मेरी राय में, यह पहले से ही एक फायदा है)।
  • उन्नत (कॉम्प्लेक्स) ट्रिगर्स के लिए कोई समर्थन नहीं है।
क्लाइंट को कॉन्फ़िगर करते समय इन प्रतिबंधों को ध्यान में रखा जाना चाहिए। वह इन प्रतिबंधों के बारे में कुछ नहीं जानता है और आपको कोई भी सेटिंग चुनने की अनुमति देगा। इस मामले में प्राप्त परिणाम गलत होगा.

हम उपयोग करते हैं

उपयोग किए गए ओएस के आधार पर, हम क्लाइंट को run.bat या run.sh फ़ाइल के माध्यम से लॉन्च करते हैं। आप इसके पृष्ठ पर ग्राहक के कार्यों के बारे में पढ़ सकते हैं; यहां मैं पहले नमूने प्राप्त करने की प्रक्रिया और उन सेटिंग्स का वर्णन करूंगा जो प्रतिबंधों के अधीन हैं।

व्यंजक सूची में "कब्जा", किसी आइटम का चयन करना "कब्जा शुरू करो", रिकॉर्डिंग सेटिंग विंडो खोलें। फ़ील्ड में पहले पृष्ठ पर ""विश्लेषक पोर्ट"हम उस बंदरगाह का चयन करते हैं जिस पर हमारा विमान बैठता है, और कुछ भी बदलने की जरूरत नहीं है। बटन "डिवाइस मेटाडेटा दिखाएँ"आप कनेक्शन की जांच कर सकते हैं:

दूसरे पृष्ठ पर हम कैप्चर पैरामीटर दर्शाते हैं। हम पहले दो बिंदुओं को नहीं छूते,
"नमूना दर" 20 मेगाहर्ट्ज से अधिक नहीं (यदि आप अधिक निर्दिष्ट करते हैं, तो बोर्ड अभी भी 20 मेगाहर्ट्ज का उपयोग करता है, लेकिन ग्राहक सोचेगा कि निर्दिष्ट मूल्य का उपयोग किया जाता है, सामान्य तौर पर, यह बकवास होगा)।
"चैनल समूह": 0 - हम चैनलों के एक समूह का उपयोग करते हैं, ये लाइनें PD0-PD7, या 0 और 1 हैं - हम चैनलों के दो समूहों का उपयोग करते हैं - लाइनें PD0-PD15।
"रिकॉर्डिंग आकार": चैनलों के एक समूह के लिए - कोई भी मूल्य, दो समूहों के लिए - 12kB से अधिक नहीं (यदि इस क्षेत्र में गलत मान चुना गया है तो ग्राहक चेतावनी देगा)।
हम इस पृष्ठ पर चेकबॉक्स को नहीं छूते हैं, वे समर्थित नहीं हैं:

पृष्ठ "ट्रिगर"- सबसे दिलचस्प। हम केवल ट्रिगर्स को सक्षम करने के लिए पहले बॉक्स को चेक करते हैं।
"पहले/बाद का अनुपात"आपको प्रतिशत के संदर्भ में यह निर्दिष्ट करने की अनुमति देता है कि बफ़र ट्रिगर होने से पहले कितना डेटा सहेजना है। क्लिक करने के बाद "कब्जा"विमान तुरंत डेटा रिकॉर्ड करना शुरू कर देता है, इसे चक्रीय बफर में जोड़ता है, और जब ट्रिगर चालू होता है, तो यह आफ्टर फ़ील्ड में निर्दिष्ट समय के प्रतिशत की गणना करता है और डेटा को पीसी पर भेजता है।
"प्रकार"- केवल "सरल", "जटिल" - समर्थित नहीं।
"तरीका"- केवल "समानांतर"।
"नकाब"- ये वे लाइनें हैं जिन पर ट्रिगर सिग्नल गिरने का इंतजार करेगा; PD0 लाइन पर ट्रिगर करने के लिए ध्वज को शून्य स्थिति में रखें
"कीमत"- सिग्नल का वह किनारा जिस पर ट्रिगर चालू किया जाएगा। ध्वज की जाँच की जाती है - अग्रणी किनारा। अनियंत्रित - पीछे:

संचालन की जांच करने के लिए, पोर्ट PD0 और PA2 (UART परीक्षण सिग्नल इस पोर्ट पर आउटपुट होता है) को एक जम्पर से कनेक्ट करें।

बस इतना ही, क्लिक करें "कब्जा"और प्राप्त सिग्नल को देखें (Ctrl+F - अवलोकन पैमाना):

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

सुरक्षा सावधानियां

याद करना:आप सीधे माइक्रोकंट्रोलर पोर्ट से कनेक्ट होते हैं! बोर्ड पर एमके में निर्मित डायोड के अलावा कोई सुरक्षा नहीं है। इसलिए, पहले सुनिश्चित करें कि अध्ययन किए जा रहे सिग्नल का अधिकतम वोल्टेज 3.3V है, चरम मामलों में 5V है, लेकिन फिर सिग्नल स्रोत और विमान के बीच एक सुरक्षात्मक अवरोधक जोड़ने की सलाह दी जाती है।

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

0

वासिलिस सेरासिडिस एक तर्क विश्लेषक एक उपकरण है जो आपको डिजिटल सिग्नल में तार्किक 0 और 1 के अनुक्रम को देखने और विश्लेषण करने की अनुमति देता है। उदाहरण के लिए, आप TSOP-1736 IR डेमोडुलेटर रिसीवर से डिजिटल सिग्नल, MAX232 चिप के आउटपुट और इनपुट सिग्नल, साथ ही कई इलेक्ट्रॉनिक उपकरणों में I2C बस (क्लॉक लाइन और डेटा लाइन) का अध्ययन कर सकते हैं। इस लेख में हम नोकिया 5110/3110 मोबाइल फोन से एलसीडी डिस्प्ले के साथ लघु 4-चैनल लॉजिक विश्लेषक के डिज़ाइन को देखेंगे। डिज़ाइन का आधार Atmel ATmega8 माइक्रोकंट्रोलर है; इसके अतिरिक्त, कई और अलग-अलग घटकों का उपयोग किया जाता है। डिवाइस की मुख्य विशेषताएं: 4-चैनल तर्क विश्लेषक; 400 kHz तक की आवृत्ति वाले संकेतों का अध्ययन करने की क्षमता; +5 वी तक इनपुट वोल्टेज; 84 × 48 पिक्सेल के रिज़ॉल्यूशन वाला एलसीडी डिस्प्ले; 4 बैटरियों द्वारा संचालित 1.2 V, अधिकतम आपूर्ति वोल्टेज 4.8 V; मेमोरी: उच्च गति सिग्नल के लिए 3.7 एमएस से कम गति सिग्नल के लिए 36 सेकंड तक; नियंत्रण बटन; सरल डिज़ाइन. योजनाबद्ध आरेख चित्र 1 डिवाइस का एक योजनाबद्ध आरेख दिखाता है। यह तुरंत ध्यान दिया जाना चाहिए कि डिवाइस 1.2 वी के वोल्टेज के साथ 4 बैटरियों द्वारा संचालित है।
ध्यान बड़ा करने के लिए क्लिक करें!!! 1.5 V के वोल्टेज वाली 4 बैटरियों से बिजली की आपूर्ति इस डिवाइस सर्किट के लिए अस्वीकार्य है, क्योंकि 6 V का वोल्टेज माइक्रोकंट्रोलर और एलसीडी डिस्प्ले को नुकसान पहुंचा सकता है।
स्विच S1 को बिजली की आपूर्ति के लिए डिज़ाइन किया गया है। विद्युत चुम्बकीय क्षेत्रों के प्रभाव के कारण या जब उंगलियां सिग्नल जांच को छूती हैं, तो डिवाइस के डिजिटल इनपुट पर गलत डेटा की उपस्थिति को रोकने के लिए पुल-अप रेसिस्टर्स R2-R5 स्थापित किए जाते हैं। LED1 को डिवाइस के डिजिटल इनपुट पर सिग्नल की उपस्थिति को इंगित करने के लिए डिज़ाइन किया गया है और इसलिए, सिग्नल को मेमोरी में रिकॉर्ड करने की शुरुआत होती है। सर्किट नोकिया 3310/5510 मोबाइल फोन से एक एलसीडी संकेतक का उपयोग करता है, इसे 3.3 वी - 5.0 वी की आपूर्ति वोल्टेज के साथ संचालित करने के लिए डिज़ाइन किया गया है, हालांकि, डिस्प्ले बैकलाइट के लिए अधिकतम वोल्टेज 3.3 वी है, इसलिए सर्किट में तीन 1N4007 शामिल हैं डिस्प्ले बैकलाइट पावर लाइन के माध्यम से श्रृंखला (D1-D3) में जुड़े डायोड। डायोड के लिए धन्यवाद, वोल्टेज 2.7 V तक गिर जाएगा और यह बैकलाइट को बिजली देने के लिए पर्याप्त होगा। डेटा कैप्चर प्रक्रिया और सॉफ्टवेयर यह ध्यान दिया जाना चाहिए कि लेखक ने माइक्रोकंट्रोलर फर्मवेयर के दो संस्करण तैयार किए हैं। प्रारंभ में, तर्क विश्लेषक के संस्करण 1.00 के लिए, एकीकृत विकास वातावरण एवीआर स्टूडियो 4.18 का उपयोग किया गया था, लेकिन फिर लेखक ने एवीआर स्टूडियो 5 - संस्करण 1.01 के लिए स्रोत कोड को फिर से संकलित किया। विकास परिवेश के संस्करण 5 के लिए पुन: संकलन और डिवाइस के आगे के परीक्षण के बाद, कैप्चर किए गए सिग्नल की स्थिरता में सुधार देखा गया। सिग्नल को आंतरिक रैम मेमोरी बफ़र में रिकॉर्ड किया जाता है, जिसे 290 नमूनों के लिए डिज़ाइन किया गया है। डेटा बफ़र 870 बाइट्स (माइक्रोकंट्रोलर प्रोग्राम के संस्करण 1 के लिए) द्वारा बनता है, जिसमें से 2 बाइट्स काउंटर के लिए और 1 बाइट इनपुट चैनल के बारे में सूचित करने के लिए उपयोग किया जाता है। संस्करण 1.01 में, डेटा कैप्चर गति को बढ़ाने के लिए डेटा बफ़र को 256×3=768 बाइट्स तक कम कर दिया गया था, क्योंकि बफ़र आकार चर 16-बिट के बजाय 8-बिट है, जिसका उपयोग सॉफ़्टवेयर के पहले संस्करण में किया गया था। बिजली लागू होने के बाद, माइक्रोकंट्रोलर डिवाइस के 4 इनपुट में से किसी एक पर पल्स वेटिंग मोड में चला जाता है। जब एक इनपुट पल्स का पता चलता है, तो माइक्रोकंट्रोलर 4 इनपुट में से किसी एक पर अगली पल्स आने तक का समय गिनना शुरू कर देता है। नमूना अवधि 16-बिट चर "काउंटर" में संग्रहीत है। इस वेरिएबल के ओवरफ्लो होने के बाद, 4 इनपुट की स्थिति और काउंटर वैल्यू के बारे में जानकारी एक बफर में संग्रहीत की जाती है और इसके पते का मूल्य तीन (काउंटर के लिए 2 बाइट्स और इनपुट लाइन के बारे में जानकारी के लिए 1 बाइट) बढ़ जाता है। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि माइक्रोकंट्रोलर पूरे बफर (870/3=290 नमूने या पल्स) को भर नहीं देता। माइक्रोकंट्रोलर मेमोरी में सिग्नल रिकॉर्ड करने की प्रक्रिया चित्र 2 में दिखाई गई है। बफर भरने के बाद, सभी संचित डेटा को ऑसिलोग्राम के रूप में एलसीडी डिस्प्ले पर प्रदर्शित किया जाता है। उपयोगकर्ता तरंगरूप को नियंत्रित कर सकता है - संपूर्ण सहेजे गए पल्स अनुक्रम को देखने के लिए इसे बाईं ओर (S3 बटन) या दाईं ओर (S4 बटन) ले जाएं। यदि कम गति के सिग्नल रिकॉर्ड किए गए थे, तो उपयोगकर्ता S2 बटन दबाकर स्केल को 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 या 8192 तक बदल सकता है। माइक्रोकंट्रोलर की प्रोग्रामिंग करते समय, आपको फ़्यूज़ बिट्स को चित्र के अनुसार सेट करना होगा। मुद्रित सर्किट बोर्ड का प्रकार और घटकों का स्थान

1. परिचय:

यह तार्किक विश्लेषण एटोर को एक निश्चित अवधि के साथ दालों और अनुक्रमिक प्रोटोकॉल के विभिन्न अनुक्रमों को रिकॉर्ड करने, जारी करने और विश्लेषण करने के लिए डिज़ाइन किया गया है। हार्डवेयर के लिए लिया गया FT232 पर मल्टीप्रोग्रामर

2. संक्षिप्त वर्णन

विश्लेषक में 7 इनपुट/आउटपुट चैनल हैं, जो उपयोगकर्ता के विवेक पर अध्ययन के तहत विभिन्न उपकरणों से जुड़े होते हैं।

चैनल 1-5 इनपुट/आउटपुट के अनुरूप हैं। ये चैनल चैनल सेटिंग के आधार पर आउटपुट या इनपुट हो सकते हैं। चैनल 5 को किसी कनेक्टर पर रूट नहीं किया गया है, लेकिन बोर्ड पर एक संपर्क पैड है।

चैनल 6 - केवल इनपुट। इस चैनल का उपयोग चैनल 1 के साथ संयोजन में किया जाता है और यह द्विदिश इनपुट/आउटपुट को अनुकरण करने के लिए कार्य करता है, उदाहरण के लिए, जैसे कि I2C बस में, अर्थात, प्रोटोकॉल के संचालित होने पर चैनल के प्रसारण की दिशा बदल जाती है। आउटपुट डेटा आउटपुट 3 पर जाता है, और इनपुट डेटा चैनल 6 के माध्यम से जाता है। अधिक विवरण के लिए "I2C प्रोटोकॉल कार्यान्वयन" देखें।

चैनल 7 केवल आउटपुट है. प्रोग्रामर पर यह चैनल एक शक्तिशाली 12V आउटपुट के रूप में लागू किया गया है। उदाहरण के लिए, नोकिया 6100 के डिस्प्ले के साथ काम करते समय इसका उपयोग बैकलाइट पावर के रूप में किया गया था (उपयोग के उदाहरण देखें)

प्रोग्राम वर्किंग विंडो के बाईं ओर विश्लेषक पोर्ट के लिए सेटिंग्स हैं - ये हैं:

  • बॉड दर (बाउडरेट)
  • चैनल उलटा (चेक करें "एन.ई.जी.''
  • बंदरगाह दिशा (बाहर में)
  • आउटपुट ऐरे का आकार (65kbit तक के आकार की अनुमति है)

प्रोग्राम विंडो के मध्य भाग में समय आरेख के रूप में चैनलों की स्थिति का एक ग्राफिकल प्रदर्शन होता है। और फ़ील्ड के निचले भाग में अतिरिक्त जानकारी होती है, जो विभिन्न चयनित विश्लेषक मोड का उपयोग करते समय बारीकियों को प्रदर्शित करती है।

प्रोग्राम फ़ील्ड के दाईं ओर सिम्युलेटेड प्रोटोकॉल के लिए नियंत्रण हैं। उपलब्ध:

  • प्रोटोकॉल चयन ड्रॉप-डाउन मेनू
  • 7 ड्रॉप-डाउन मेनू (प्रति चैनल): चैनल असाइनमेंट और प्रोटोकॉल सिग्नल चुनें
  • प्रोटोकॉल डेटा उलटा (पोर्ट व्युत्क्रमण के साथ भ्रमित न हों)
  • डेटा प्रविष्टि के लिए विंडो (प्रोटोकॉल का संख्यात्मक अनुक्रम सेट करने के लिए)

3. प्रबंधन औरडेटा इनपुट।

बाईं ओर माउस क्लिक करेंइस बिट की स्थिति को बदले बिना कर्सर को तरंगरूप पैनल पर इस स्थान पर सेट करता है।

दाएँ क्लिक करेंतरंगरूप पैनल पर, कर्सर को इस स्थान पर रखता है और इस स्थान पर बिट की स्थिति को बदलता है।

आप माउस से डेटा दर्ज करने के अलावा उसे दर्ज भी कर सकते हैं कीबोर्ड से. "0" या "1" कुंजी दबाने के बाद, कर्सर के स्थान पर क्रमशः 0 या 1 दर्ज किया जाता है। साथ ही, सुविधा के लिए, "0" बटन के फ़ंक्शन को "2" बटन पर डुप्लिकेट किया जाता है, अर्थात जब आप "2" कुंजी दबाते हैं, तो 0 दर्ज हो जाता है।

सारणी डेटा प्रविष्टि(केवल रिकार्ड के लिए)। प्रोटोकॉल अनुक्रम दशमलव (1 34 987), बाइनरी (0b100 0b101010 0b1111111111111) और हेक्साडेसिमल (0xFA 0x 12C 0x 1a 2cb) में दर्ज किया जा सकता है। डेटा को रिक्त स्थान से अलग करके दर्ज किया जाता है।डेटा प्रारूपों (123 0b1010 0x12aB) को मिश्रित करना भी संभव है।

पते में वृद्धि के बाद डेटा दर्ज किया जाता है। जब सरणी सीमा पूरी हो जाती है, तो इसका आकार बढ़ जाएगा। अधिकतम डेटा सरणी आकार - 65 kbit

फ़ाइल द्वारा डेटा दर्ज करना.फ़ाइल द्वारा डेटा दर्ज करने के लिए, आपको किसी भी एक्सटेंशन के साथ एक फ़ाइल बनानी होगी, उदाहरण के लिए, txt। निःशुल्क प्रारूप.

आप किसी फ़ाइल में संख्याओं को बिंदु, अल्पविराम या स्थान से अलग कर सकते हैं। फ़ाइल में स्पष्टीकरण अर्धविराम ";" द्वारा अलग किए गए हैं।

उदाहरण फ़ाइल सामग्री:

123 343, 234; यहां अर्धविराम के बाद स्पष्टीकरण दिए गए हैं

0x12F, 0b10101010 ; और इसी तरह।

विश्लेषक के लिए ड्राइवर.

विश्लेषक FT232R के विशेष कार्यों का उपयोग करता है, जिसके लिए आपको विशेष ड्राइवर FTD 2XX स्थापित करना होगा। नियमित COM पोर्ट स्थापित करना उपयुक्त नहीं है।उदाहरण के लिए, निर्माता से ड्राइवर लेने की सलाह दी जाती है।

4. विश्लेषक कनेक्शन:

विश्लेषक का स्वरूप चित्र 2 में दिखाया गया है।

ज 1- बिजली आपूर्ति जम्पर (वीसीसी)। इसमें 4 अवस्थाएँ हैं: 1.8V, 3V, 5V और बाहरी बिजली आपूर्ति

एक्सटी1- मिनीयूएसबी। पीसी कनेक्शन.

एक्सटी 2- विश्लेषक को परीक्षण विषय से जोड़ने के लिए इंटरफ़ेस कनेक्टर। 10 संपर्क हैं:

1 चैनल 1 (इनपुट/आउटपुट)
2 पावर आउटपुट पोर्ट (वीसीसी) (पावर जम्पर की स्थिति के आधार पर, पावर इनपुट या आउटपुट होगी)
3 सीबीयूएस 4 का उपयोग नहीं किया गया है। लेकिन आप फ़्रीक्वेंसी 6,12,24 या 48 मेगाहर्ट्ज आउटपुट कर सकते हैं (अधिक जानकारी के लिए, "सीबस का उपयोग करना" देखें)
5 चैनल 2 (इनपुट/आउटपुट)
7 चैनल 3 (इनपुट/आउटपुट)
9 चैनल 4 (इनपुट/आउटपुट)
कुल 4,6,8,10

एक्सटी3- विश्लेषक को परीक्षण विषय से जोड़ने के लिए इंटरफ़ेस कनेक्टर। 10 संपर्क हैं

1 पावर आउटपुट पोर्ट (वीसीसी) (पावर जम्पर की स्थिति के आधार पर, बिजली की आपूर्ति इनपुट या आउटपुट होगी)।
3 चैनल 3 (इनपुट/आउटपुट)
5 चैनल 4 (इनपुट/आउटपुट)
7 चैनल 6 (केवल इनपुट)
9 चैनल 7 आउटपुट 12V सिग्नल!!!
कुल 2,4,6,8,10

जे2- 2 पदों के लिए जम्पर। चैनल 6 के कार्य को बदलता है।

स्थिति 1-2 चैनल 6 को Vcc से 12V में बदलें
स्थिति 2-3 चैनल 6 को 0V से 12V में बदलें
PIC नियंत्रकों को फ्लैश करते समय एमसीएलआर सिग्नल उत्पन्न करने के लिए प्रोग्रामर में स्थिति 1-2 का उपयोग किया जाता है।

चैनल 1-5 डिफ़ॉल्ट रूप से इनपुट हैं और तीसरी स्थिति (जेड स्थिति) में हैं। जब किसी चैनल को आउटपुट पर सेट किया जाता है, तो यह केवल ट्रांसमिट करते समय ही आउटपुट होगा।

प्रत्येक चैनल में 300 ओम वर्तमान सीमित प्रतिरोधक हैं।

चैनल 6 हमेशा आउटपुट होता है। डिफ़ॉल्ट स्थिति "0" है.

5. Cbus सिग्नल का उपयोग करना (XT2 कनेक्टर पिन 3)

यह संकेत विश्लेषक में प्रदर्शित नहीं होता है क्योंकि यह है समकालिक नहींआउटपुट सिग्नल के साथ और इसकी आवृत्ति आउटपुट पल्स से अधिक होती है। डिफ़ॉल्ट रूप से सक्षम नहीं है.

इस पिन पर 6, 12, 24 और 48 मेगाहर्ट्ज की आवृत्तियों को आउटपुट किया जा सकता है। यह एक विशेष एमप्रोग उपयोगिता का उपयोग करके किया जाता है, आप ले सकते हैं

6. Cbus में फ़्रीक्वेंसी सबमिट करने के लिए क्या करना चाहिए इसका संक्षिप्त विवरण:

  1. Mprog उपयोगिता स्थापित करें.
  2. आवर्धक लेंस पर क्लिक करके, या डिवाइस->स्कैन मेनू में डिवाइस खोज का चयन करें, जिसके बाद उपयोगिता डिवाइस ढूंढती है और उसकी पीआईडी ​​आदि प्रदर्शित करती है।
  3. टूल टैब में, रीड और पार्स फ़ंक्शन का चयन करें, अर्थात, हम वर्तमान सेटिंग्स को पढ़ते हैं और इसे डिस्प्ले पर प्रदर्शित करते हैं।
  4. बुकमार्क खोलेंएफटी 232 आर (यदि यह स्वयं नहीं खुला), जिसके बाद 2 फ़ील्ड खुलते हैं।इनवर्ट आरएस 232 साइनज़ल (इससे हमें कोई सरोकार नहीं है, क्योंकि विश्लेषक प्रोग्राम इन संकेतों को अपने तरीके से प्रबंधित करता है) और क्षेत्र I/O नियंत्रण.
    I/O नियंत्रण फ़ील्ड में 4 सबमेनू C1-C4 हैं।
  5. मेनू C4 चुनें. यह वही है अतिरिक्त प्रकार्य Cbus4 सिग्नल. सभी प्रस्तावित कार्यों में से, हम CLK6, CLK12, CLK24 और CLK48 में रुचि रखते हैं। कार्यों के नाम से सब कुछ स्पष्ट होना चाहिएजे . शेष कार्यों का कोई प्रभाव नहीं पड़ता है (अधिक सटीक रूप से, उन्हें चुनते समय, इस पिन की स्थिति की भविष्यवाणी करना संभव नहीं है), क्योंकि वे COM पोर्ट मोड में काम करने के लिए डिज़ाइन किए गए हैं।
  6. FT232R के लिए चयनित फ़ंक्शन का उपयोग करने के लिए, आपको प्रोजेक्ट को सहेजना होगा (इसके बिना यह काम नहीं करेगा), यह उपयोगिता इस प्रकार लिखी गई है।
  7. प्रोजेक्ट को डिस्क पर सहेजने के बाद, आप हमारे FT232R को पुनः प्रोग्राम कर सकते हैं। बिजली का बटन सक्रिय है. इसे दबाने के बादएम प्रोग हमारी सेटिंग्स को चिप में लिखेगा।

7. अपने स्वयं के प्रोटोकॉल का वर्णन और उपयोग कैसे करें

प्रोटोकॉल विवरण बनाने के लिए, आपको अपना स्वयं का विवरण लिखना होगा आईएनआई फ़ाइल. मैं मौजूदा फ़ाइलों में से किसी एक को कॉपी करने और उसे बदलने की अनुशंसा करता हूं। आइए एक उदाहरण के रूप में SPI_9BIT फ़ाइल लें। इन फ़ाइलों में स्पष्टीकरण अलग-अलग पंक्तियों में दर्शाया जाना चाहिए!!!

फ़ाइल के इस अनुभाग में सेटिंग्स हेडर विशिष्ट प्रोटोकॉल सेटिंग्स निर्दिष्ट करता है:


;प्रोटोकॉल में पंक्तियों की संख्या. इस एक में उनमें से 4 हैं
num_lin = 4
;नीचे पंक्तियों को संख्या के अनुसार सूचीबद्ध किया गया है और उनके नाम दर्शाए गए हैं
lin1 = MOSI
lin2 = एमआईएसओ
lin3 = SCK
lin4 = एसएस
;संचरित बिट्स की संख्या
बिट्स = 18
;जोड़ना। जानकारी, यह अतिरिक्त सूचना विंडो में प्रदर्शित की जाएगी।
वारिंग = चैनल 6 हार्डवेयर में चैनल 1 से जुड़ा हुआ है। बॉड्रेट को 2 से विभाजित किया जाता है, क्योंकि घड़ी 2 घड़ी चक्रों में प्रसारित होती है
;प्रोटोकॉल हेडर. प्रोटोकॉल में प्रयुक्त अनुक्रमों का वर्णन नीचे किया जाएगा।


एसएस = एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन
SCK = N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O N O
एमओएसआई = 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8
मिसो = एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन एन

इस खंड में, बिट संख्या 0 1 2 14 34, आदि को प्रेषित बिट्स के रूप में दर्शाया गया है। प्रेषित 1 के रूप में, O (अंग्रेजी वन से) लिखें, प्रेषित 0 के रूप में, N (यानी शून्य) लिखें।

महत्वपूर्ण: प्रोटोकॉल का वर्णन करते समय, num_lin में निर्दिष्ट बिट्स की संख्या और प्रोटोकॉल अनुभाग में वर्णित बिट्स की संख्या में अंतर हो सकता है।

INI फ़ाइल को सही करने या लिखने के बाद, आपको प्रोटोकॉल.lst फ़ाइल में एक प्रविष्टि जोड़नी होगी। ताकि प्रोग्राम नए प्रोटोकॉल को ढूंढ सके और उसका उपयोग कर सके।

8. I2C बस का विश्लेषण करने के लिए विश्लेषक का उपयोग करने का एक उदाहरण

सबसे पहले, हम विश्लेषक को I2C बस से जोड़ते हैं (परीक्षण के तहत डिवाइस Wii कंसोल से एक नंचक जॉयस्टिक है), किसी बाहरी तत्व की आवश्यकता नहीं है। कनेक्शन आरेख चित्र 3 में दिखाया गया है। मुझे प्रोटोकॉल का वर्णन करने का कोई मतलब नहीं दिखता। इंटरनेट पर इस बारे में विस्तार से लिखा गया है.

जैसा कि आरेख से देखा जा सकता है, कार्यान्वयन के लिए 3 चैनलों का उपयोग किया जाता है (चैनल 1,4,5), और I2C प्रोटोकॉल दो-तार है। लब्बोलुआब यह है कि विश्लेषक के पास सिग्नल ट्रांसमिशन के दौरान बस की दिशा बदलने की क्षमता नहीं है, इसलिए इनपुट और आउटपुट सिग्नल का पृथक्करण एक ट्रांजिस्टर पर होता है (आरेख देखें)। इस प्रकार, चैनल 1 आउटपुट है: यह I2C में डेटा आउटपुट करता है। और चैनल 5 इनपुट है: यह I2C के माध्यम से डेटा प्राप्त करता है।

कॉन्फ़िगर करने के लिए, इंटरफ़ेस चयन मेनू में "I2C" चुनें और निम्नलिखित चेकबॉक्स और बटन सेट करें:

चैनल 1 एनईजी (उलटा आउटपुट) आउटपुट डेटा आउटस्डीए _आउटपुट

चैनल 4 OUTSCL क्लॉक सिग्नल

चैनल 5 IN SDA _IN इनपुट डेटा

9. बस का विश्लेषण करने के लिए विश्लेषक का उपयोग करने का एक उदाहरणएसपीआई (9अंश)

यह उदाहरण Nokia6100 से डिस्प्ले को नियंत्रित करने के लिए सीरियल प्रोटोकॉल की नकल दर्शाता है। डिस्प्ले को विश्लेषक से जोड़ने का आरेख चित्र 4 में दिखाया गया है। बाहरी तत्वों में से, डिस्प्ले को बैकलाइट करने के लिए केवल एक वर्तमान-सीमित अवरोधक की आवश्यकता होती है। एक विशेष विशेषता यह है कि एसपीआई ट्रांसमिशन हमेशा की तरह 8 बिट नहीं, बल्कि 9 है।

इस प्रोटोकॉल को संचालित करने के लिए, विश्लेषक में एक अलग 9-बिट SPI बनाया गया था।

विश्लेषक और प्रोटोकॉल संकेतों को कॉन्फ़िगर करना।

कॉन्फ़िगर करने के लिए, इंटरफ़ेस चयन मेनू में "SPI _9BIT" चुनें और निम्नलिखित चेकबॉक्स और बटन सेट करें:

चैनल 1 आउट; हम इस सिग्नल को मैन्युअल रूप से पंजीकृत करेंगे। यह रिकॉर्ड में नहीं है

चैनल 2 आउट एसएस; चिप चयन सिग्नल

चैनल 3 आउट एससीके; प्रोटोकॉल घड़ी

चैनल 4 आउट MOSI; डेटा सिग्नल

चूँकि हमारे पास कोई प्राप्त डेटा नहीं है, सभी सिग्नल आउटपुट के रूप में कॉन्फ़िगर किए गए हैं और कोई MISO प्रोटोकॉल सिग्नल का उपयोग नहीं किया जाता है।

पावर जम्पर को 3.3V स्थिति पर सेट करना भी आवश्यक है, क्योंकि डिवाइस विश्लेषक से संचालित होगा।

डिजिटल सर्किटरी को डीबग करने में एक तर्क विश्लेषक एक अनिवार्य सहायक है। आइए सैली लॉजिक एनालाइजर और इसके चीनी एनालॉग्स के साथ काम करने की बुनियादी तकनीकों पर नजर डालें।

काम के लिए हमें आवश्यकता होगी:

  • कनेक्टिंग तार (मैं इस सेट की अनुशंसा करता हूं);
  • ब्रेड बोर्ड।

1 तर्क विश्लेषक विशिष्टताएँसालेए तर्क विश्लेषक

तर्क विश्लेषक डिजिटल संकेतों के समय विश्लेषण के लिए एक उपकरण है। डिजिटल इलेक्ट्रॉनिक्स को डीबग करते समय यह एक अनिवार्य, वास्तव में अपरिहार्य उपकरण है। प्रसिद्ध निर्माताओं से मूल विश्लेषक लागत बहुत पैसा. आप ऐसा उपकरण हमारे चीनी मित्रों से पैसों में खरीद सकते हैं। इसलिए, यदि आपके पास यह अभी तक नहीं है, तो इसे खरीदना सुनिश्चित करें। इस छोटे उपकरण की क्षमताएं काफी प्रभावशाली हैं।

तालिका तर्क विश्लेषक के मुख्य मापदंडों को सूचीबद्ध करती है, कंपनी के विश्लेषक की मेरी चीनी प्रति सलाई.

2 ड्राइवर स्थापना Saleae तर्क विश्लेषक के लिए

सौभाग्य से, इस तर्क विश्लेषक के लिए - एक चीनी प्रति - मूल से ड्राइवर उपयुक्त है। आधिकारिक वेबसाइट पर जाएं, अपने लिए प्रोग्राम डाउनलोड करें ऑपरेटिंग सिस्टमऔर इसे इंस्टॉल करें. प्रोग्राम के साथ ड्राइवर स्थापित किए जाएंगे। वैसे, निर्देशों के रूप में कार्यक्रम की क्षमताओं का एक सिंहावलोकन अंग्रेजी भाषाइस आलेख के अंत में संलग्न है।

यदि आपके पास किसी अन्य कंपनी की प्रति है, उदाहरण के लिए, USBee AX Pro, तो उच्च संभावना के साथ, मूल विश्लेषक के निर्माता के ड्राइवर भी इसके लिए उपयुक्त होंगे।

3 कार्य के उदाहरणतर्क विश्लेषक के साथ

पहले प्रयोग के लिए, आइए FTD1232 चिप पर एक USB-UART कनवर्टर लें। आइए विश्लेषक को इससे कनेक्ट करें यूएसबी पोर्ट. हम चैनल 1 से 6 के पिन को USB-UART कनवर्टर के पिन से जोड़ते हैं। कुल मिलाकर, हमें केवल दो लाइनों - आरएक्स और टीएक्स में सबसे अधिक रुचि है, हम केवल उन्हीं से काम चला सकते हैं। कनवर्टर को सिस्टम में COM पोर्ट के रूप में पहचाना जाता है। आइए कोई भी टर्मिनल लॉन्च करें (उदाहरण के लिए, COM पोर्ट के साथ काम करने के लिए यहां एक अच्छा प्रोग्राम है) और पोर्ट से कनेक्ट करें।


FTD1232 चिप पर USB-UART कनवर्टर को लॉजिक एनालाइज़र से कनेक्ट करना

कार्यक्रम का शुभारंभ सालेए तर्क. यदि विश्लेषक के लिए ड्राइवर सही ढंग से स्थापित हैं, तो प्रोग्राम शीर्षक इंगित करेगा जुड़े हुए- जुड़े हुए। मान लीजिए कि हम नहीं जानते कि किस चैनल पर सिग्नल होगा और किस चैनल पर नहीं, इसलिए हम सिग्नल कैप्चर करना शुरू करने के लिए ट्रिगर सेट नहीं करेंगे। बस बड़े हरे बटन के तीरों पर क्लिक करें शुरू(शुरू करें) और इसे मैदान में डाल दें अवधि(अवधि) मान लीजिए 10 सेकंड। यह वह समय है जिसके दौरान तर्क विश्लेषक "प्रारंभ" बटन दबाने के बाद सभी 8 चैनलों से आने वाला डेटा एकत्र करेगा। हम कैप्चर शुरू करते हैं और साथ ही COM पोर्ट पर कुछ संदेश भेजते हैं। 10 सेकंड के बाद, विश्लेषक डेटा एकत्र करना समाप्त कर देगा और सिग्नल देखने के क्षेत्र में परिणाम प्रदर्शित करेगा। इस मामले में, सिग्नल केवल एक चैनल पर होगा, जो यूएसबी-यूएआरटी कनवर्टर के टीएक्स (ट्रांसमीटर) पिन से जुड़ा है।


स्पष्टता के लिए, आप कॉन्फ़िगर कर सकते हैं कूटवाचकइंटरसेप्ट किया गया डेटा. ऐसा करने के लिए, दाएं कॉलम में हम फ़ील्ड ढूंढते हैं विश्लेषक, प्लस आइकन पर क्लिक करें - "जोड़ें", प्रकार इंगित करें - एसिंक सीरियल. एक विंडो दिखाई देगी जो आपसे सेटिंग्स चुनने के लिए कहेगी। पहले फ़ील्ड में, उस चैनल का नंबर दर्ज करें जिस पर आपका डेटा है। चलो बाकी को वैसे ही छोड़ देते हैं। बटन दबाने के बाद बचाना(सहेजें), संबंधित चैनल फ़ील्ड के ऊपर नीले निशान दिखाई देंगे जो इंटरसेप्ट किए गए बाइट मान प्रदर्शित करेंगे। इस डिकोडर में गियर पर क्लिक करके, आप मानों का डिस्प्ले मोड सेट कर सकते हैं - ASCII, HEX, BIN या DEC। यदि आपने COM पोर्ट पर एक स्ट्रिंग भेजी है, तो ASCII मोड का चयन करें और आपको वह टेक्स्ट दिखाई देगा जो आपने पोर्ट पर भेजा था।


वहीं, Saleae Logic प्रोग्राम के दाहिने कॉलम में, आप इंटरसेप्ट किए गए डेटा में बुकमार्क जोड़ सकते हैं, देरी और अवधि को माप सकते हैं, सभी प्रकार के मार्कर सेट कर सकते हैं, और यहां तक ​​कि डिकोड किए गए प्रोटोकॉल के लिए डेटा भी खोज सकते हैं।

आइए इसी तरह लॉजिक एनालाइज़र को USB-RS485 कनवर्टर से कनेक्ट करें। केवल दो डेटा लाइनें हैं, इसलिए आप किसी भी चैनल के किनारे पर ट्रिगर करने के लिए एक ट्रिगर सेट कर सकते हैं: आरएस-485 प्रोटोकॉल में सिग्नल भिन्न होता है और पल्स किनारे प्रत्येक चैनल पर एक साथ दिखाई देते हैं, लेकिन एंटीफ़ेज़ में।


विश्लेषक प्रोग्राम में "प्रारंभ" बटन पर क्लिक करें। अपने टर्मिनल का उपयोग करके, हम USB-RS485 कनवर्टर से कनेक्ट होंगे और कुछ डेटा स्थानांतरित करेंगे। जब ट्रिगर चालू हो जाता है, तो प्रोग्राम डेटा एकत्र करना शुरू कर देगा और पूरा होने पर, इसे स्क्रीन पर प्रदर्शित करेगा।


Saleae Logic आपको सहेजे गए डेटा को छवियों और टेक्स्ट डेटा के रूप में निर्यात करने, प्रोग्राम सेटिंग्स, एनोटेशन और चैनल डिकोडर को सहेजने की अनुमति देता है।

इस संक्षिप्त समीक्षा में अंतिम उदाहरण सीरियल एसपीआई प्रोटोकॉल पर प्रसारित एक कैप्चर किया गया डेटा फ़्रेम है। चैनल 2 स्लेव चयन सिग्नल दिखाता है, चैनल 0 घड़ी की पल्स दिखाता है, और चैनल 1 मास्टर से स्लेव तक का वास्तविक डेटा दिखाता है।


निष्कर्ष

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

Saleae तर्क विश्लेषक के लिए प्रोग्राम का उपयोग करने के लिए निर्देश डाउनलोड करें

  • Saleae लॉजिक विश्लेषक के लिए प्रोग्राम का उपयोग करने के लिए डिपॉज़िटफ़ाइल्स.कॉम से निर्देश डाउनलोड करें
  • Saleae तर्क विश्लेषक के लिए प्रोग्राम का उपयोग करने के निर्देश File-upload.com से डाउनलोड करें
  • Saleae तर्क विश्लेषक के लिए प्रोग्राम का उपयोग करने के निर्देश Up-4ever.com से डाउनलोड करें
  • Saleae तर्क विश्लेषक के लिए प्रोग्राम का उपयोग करने के लिए निर्देश हिटफाइल.कॉम से डाउनलोड करें

विषय पर प्रकाशन