Jeffrey Cross
Jeffrey Cross

XLR8 प्रोजेक्ट ने Arduino Coding के साथ FPGA स्पीड को ब्लेंड किया

नया XLR8 बोर्ड

बाजार पर किसी भी संख्या में Arduino के संगत बोर्ड और क्लोन हैं। हालांकि, सबसे अधिक एक Arduino अपने आप में सक्षम है से परे थोड़ा प्रदान करते हैं। लेकिन, एक Arduino Uno जैसा दिखने के बावजूद, Alorium Technology का नया XLR8 बोर्ड (उच्चारण "Accelerate") कुछ अलग है।

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

XLR8 एक FPGA बोर्ड है, जो Altera MAX10 के आसपास स्थित है, ATmega328 के रूप में एक ही प्रोग्राम और डेटा मेमोरी स्पेस के साथ एक ATmega- संगत माइक्रोकंट्रोलर लागू करता है। अभी बोर्ड एक मानक ATmega के लिए सही है, लेकिन कम से कम सिद्धांत रूप में, ATPG को कोर Arduino Uno क्लॉक की दोगुनी से अधिक गति से चलाने के लिए FPGA पर पर्याप्त हेडरूम है।

प्रभावी रूप से, कम से कम Arduino IDE के लिए, यह बोर्ड एक Arduino Uno जैसा दिखता है। इतना है कि आप बस अपने बोर्ड प्रकार के रूप में ऊनो का चयन कर सकते हैं, फिर सामान्य रूप से यूएसबी पर अपने स्केच को संकलित और अपलोड करें।

लेकिन चीजें ठीक वैसी नहीं हैं जैसी सतह पर दिखती हैं। इसके अलावा FPGA में अलोरियम को "Xcelerator Blocks" या XBs कहा जाता है। ये कार्यक्षमता के हार्डवेयर-अनुकूलित कार्यान्वयन प्रदान करते हैं जिन्हें अन्यथा सॉफ़्टवेयर में लागू करना पड़ता है।

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

उदाहरण के लिए, फ़्लोटिंग पॉइंट गणित ब्लॉक द्वारा दिए गए त्वरण का उपयोग करने के लिए, आपको XLR8- विशिष्ट फ़ंक्शन कॉल का उपयोग करने के लिए अपना कोड परिवर्तित करना होगा। इसलिए, उदाहरण के लिए:

c = a + b;

हो जाता है,

c = xlr8FloatAdd (ए, बी);

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

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

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

मैं xlr8 बोर्ड के बारे में बात करने के लिए जेसन पेकर के साथ बैठ गया, और उसने यह कहा कि सर्वो और फ्लोटिंग पॉइंट XBs के बारे में:

हमने पहले से ही एक सर्वो ब्लॉक विकसित किया है जो मानक अरुदिनो सर्वो पुस्तकालय के साथ आम तौर पर घबराना / चिकोटी को समाप्त करता है। हमने निर्माता फेयर मिल्वौकी में एक निफ्टी सेट-अप के साथ इस कार्यक्षमता का प्रदर्शन किया, जिसमें एक RedBoard, हमारे XLR8 बोर्ड, और कुछ लेजर पॉइंटर्स शामिल थे जो सर्वो पर घुड़सवार थे जिन्होंने बहुत अच्छी साइड-बाय-साइड तुलना की थी।

सर्वो उदाहरण के बारे में अच्छी बात यह है कि दो बोर्डों पर चलने वाले रेखाचित्रों के बीच एकमात्र अंतर सर्वो पुस्तकालय शामिल है। स्केच के बाकी हिस्से बिल्कुल समान हैं, लेकिन सभी सर्वो नियंत्रण कार्य FPGA कपड़े में हार्डवेयर फ़ंक्शन कह रहे हैं।

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

हमारी हिट सूची के लिए वर्तमान में अन्य ब्लॉक विचाराधीन हैं: पीआईडी ​​कंट्रोल, नियोपिक्सल टाइमर / कंट्रोलर, मल्टीपल यूएआरटी, ऑडियो फंक्शंस और डीएसपी फ़ंक्शन।

XLR8 के साथ मेरी वास्तविक चिंता यह है कि, कम से कम शुरुआत में, Alorium केवल उन उपयोगकर्ताओं के लिए सीमित समर्थन प्रदान करेगा जो अपने स्वयं के XBs बनाना चाहते हैं। जबकि उन्होंने कहा है कि,

सड़क के नीचे, हम अपने स्वयं के XBs बनाने के लिए Verilog या VHDL और Quartus के साथ किसी भी व्यक्ति के लिए संभव बनाने के लिए पर्याप्त स्रोत कोड और प्रलेखन तक पहुंच प्रदान करने की योजना बनाते हैं।

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

XLR8 अब किकस्टार्टर पर क्राउडफंडिंग कर रहा है, और अभी भी अभियान पर जाने के लिए दो सप्ताह का समय बाकी है।

शेयर

एक टिप्पणी छोड़