विषयसूची:

Esp8266 घड़ी और पल्स जेनरेटर: 3 कदम
Esp8266 घड़ी और पल्स जेनरेटर: 3 कदम

वीडियो: Esp8266 घड़ी और पल्स जेनरेटर: 3 कदम

वीडियो: Esp8266 घड़ी और पल्स जेनरेटर: 3 कदम
वीडियो: ESP8266 powered PentaPod 2024, जुलाई
Anonim
Esp8266 घड़ी और पल्स जेनरेटर
Esp8266 घड़ी और पल्स जेनरेटर

यह निर्देशयोग्य परीक्षण उपकरण के एक साधारण टुकड़े के लिए है; एक घड़ी और पल्स जनरेटर।

यह परीक्षण घड़ी या पल्स अनुक्रम उत्पन्न करने के लिए esp8266 पर i2S हार्डवेयर इंटरफ़ेस का उपयोग करता है। यह एक साथ रखना आसान बनाता है क्योंकि एक बुनियादी प्रणाली के लिए किसी विशेष हार्डवेयर की आवश्यकता नहीं होती है।

  • क्लॉक जेनरेशन 2Hz से 20MHz तक
  • किसी भी आवृत्ति का उपयोग किया जा सकता है
  • 160MHz बेस क्लॉक से घड़ी के डिवाइडर और बिट लंबाई के सर्वश्रेष्ठ मिलान की खोज करता है
  • आमतौर पर फ़्रीक्वेंसी के लिए 0.1% मैच से बेहतर <100KHz
  • मार्क स्पेस अनुपात चयन
  • बेहतर मार्क स्पेस हैंडलिंग पाने के लिए फ़्रीक्वेंसी मैचिंग टॉलरेंस में ढील दी जा सकती है
  • फाइलों में परिभाषा के आधार पर पल्स ट्रेन का निर्माण
  • वेब आधारित जीयूआई पीसी, फोन, टैबलेट से नियंत्रण की अनुमति देता है
  • आसान प्रारंभिक राउटर सेट करने की अनुमति देने के लिए वाईफ़ाई प्रबंधन
  • ओटीए सॉफ्टवेयर अपडेट
  • लचीला नियंत्रण देते हुए एक विशेष I2s पुस्तकालय (i2sTXcircular) का उपयोग करता है

चरण 1: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

मैंने एक 3डी प्रिंटेड बाड़े में एक यूएसबी चार्जर के साथ एक 18650 बैटरी, एक चालू / बंद स्विच, आउटपुट सिग्नल के लिए एक 3 पिन हेडर प्लग के साथ मेरा निर्माण किया।

बैटरी के बगल में इलेक्ट्रॉनिक्स रखने के लिए बाड़े में एक संकीर्ण स्लॉट है।

सिग्नल GPIO3 पिन (RX) से निकलता है। इसका सीधे उपयोग किया जा सकता है लेकिन उच्च ड्राइव क्षमता के लिए मैंने 74LVC2G34 का उपयोग करके थोड़ा बफर शामिल करना चुना। मैंने इस डिवाइस में दो बफ़र्स को और भी अधिक ड्राइव क्षमता प्रदान करने के लिए समान किया है।

सब कुछ डिवाइस में सॉफ्टवेयर में ही किया जाता है, और वेब सर्वर प्रदान करके नियंत्रण किया जाता है ताकि पीसी, फोन या टैबलेट पर एक ब्राउज़र पूर्ण नियंत्रण प्रदान करे।

चरण 2: सॉफ्टवेयर

सॉफ्टवेयर बनाने और स्थापित करने के लिए https://github.com/roberttidey/espI2sClockGen पर कोड का उपयोग करें

  • i2sTXसर्कुलर लाइब्रेरी स्थापित करें (शामिल)
  • बेस सपोर्ट लाइब्रेरी स्थापित करें (https://github.com/roberttidey/BaseSupport)
  • WifiManager लाइब्रेरी जोड़ें
  • BaseConfig.h. में पासवर्ड संपादित करें
  • Arduino वातावरण में संकलित और अपलोड करें
  • एपी से कनेक्ट करके और 192.168.4.1. पर ब्राउज़ करके वाईफाई नेटवर्क प्रबंधन सेट करें
  • एसटीए आईपी/अपलोड का उपयोग करके डेटा फ़ोल्डर से फाइलों का मूल सेट अपलोड करें
  • फिर आगे अपलोड आईपी/एडिट का उपयोग करके किया जा सकता है - सामान्य इंटरफ़ेस आईपी/पर है

यह काम किस प्रकार करता है

i2sTXcircular पुस्तकालय बफ़र्स की एक गोलाकार श्रृंखला बनाने की अनुमति देता है जो तब i2S हार्डवेयर द्वारा esp8266 पर DMA का उपयोग करके स्वचालित रूप से आउटपुट होते हैं ताकि एक बार जाने के बाद कोई सॉफ़्टवेयर ओवरहेड का उपयोग न किया जाए।

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

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

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

चरण 3: ऑपरेशन

मुख्य छवि में दिखाए गए ब्राउज़र इंटरफ़ेस द्वारा संचालन को नियंत्रित किया जाता है।

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

उन्नत बार पर क्लिक करके अधिक विवरण देखा जा सकता है।

बिट क्लॉक 160MHz के सब-मल्टीपल को दिखाता है जिसका उपयोग किया जा रहा है।

मार्क और स्पेस बिट्स दिखाते हैं कि अंकों और रिक्त स्थान का प्रतिनिधित्व करने के लिए कितने बिट्स का उपयोग किया जा रहा है।

Div1 और Div2 दो डिवाइडर दिखाते हैं जिन्हें निकटतम बिट घड़ी उत्पन्न करने के लिए चुना गया है।

आम तौर पर दो डिवाइडर चुने गए आवृत्ति के निकटतम मैच देने के लिए और उपयोग किए जाने वाले डेटा बिट्स की संख्या को अधिकतम करने के लिए चुना जाता है जो विभिन्न कर्तव्य चक्रों को अनुमति देने में अधिक लचीलापन प्रदान करने में मदद करता है। हालांकि, कभी-कभी सबसे अच्छा मैच कम बिट काउंट में परिणाम देता है जिससे कर्तव्य चक्र को बदलने के लिए बहुत कम जगह बच जाती है। सहिष्णुता% मूल्य को बदलकर डिवाइडर को इस सहिष्णुता के भीतर एक आवृत्ति देने के लिए चुना जाएगा लेकिन संभावित रूप से अधिक डेटा बिट्स का उपयोग किया जाएगा। उदाहरण के लिए सहिष्णुता को 0.5 या 1 पर सेट करने का प्रयास करें।

आप पैरामीटर की पसंद को नियंत्रित करने के लिए बिट्स प्रति शब्द संख्या भी सेट कर सकते हैं। 0 (डिफ़ॉल्ट) का अर्थ है प्रति शब्द कोई भी बिट चुनें। एक एकल संख्या (उदा. 24) का अर्थ केवल ऐसे पैरामीटर चुनना है जो इससे मेल खाते हों। आप एक सीमा (जैसे 24, 31) में भी डाल सकते हैं। यह केवल 10KHz से ऊपर के लक्ष्य Hz के लिए काम करता है, इस स्केलिंग के नीचे प्रभावी होगा ताकि संख्या गुणा हो जाए।

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

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

सिफारिश की: