ईथरनेट अनुप्रयोगों को करने के लिए एक अच्छा माइक्रोकंट्रोलर क्या है? या क्या मुझे केवल ईथरनेट MAC / PHY से जुड़ने के लिए एक अच्छे ईथरनेट लाइब्रेरी की आवश्यकता है?
ईथरनेट अनुप्रयोगों को करने के लिए एक अच्छा माइक्रोकंट्रोलर क्या है? या क्या मुझे केवल ईथरनेट MAC / PHY से जुड़ने के लिए एक अच्छे ईथरनेट लाइब्रेरी की आवश्यकता है?
जवाबों:
अंतर्निहित ईथरनेट के साथ माइक्रोचिप्स PIC18s इसके लिए उत्कृष्ट हैं, बस एक मैग्जैक (या मैग्नेटिक्स में निर्मित अन्य कनेक्टर) जोड़ें और उनके टीसीपी / आईपी स्टैक को डाउनलोड करें। आप कुछ ही समय में चीजों को पिंग करेंगे। अधिक ग्रंट के लिए, PIC24 और PIC32 में SPI ईथरनेट मैक / PHY भागों में से एक के साथ चलने के लिए डिज़ाइन किए गए TCP / IP स्टैक भी हैं (ENC624J600 या ENC628J60)।
एसटी ने हाल ही में अपने एआरएम कोर्टेक्स आधारित एसटीएम 32 लाइन को ऑन-चिप ईथरनेट शामिल करने के लिए बढ़ाया, लेकिन आपको बाहरी PHY और मैग्नेटिक्स की आवश्यकता होगी। यदि आप पहले से ही PIC32 को देख रहे हैं तो यह एक विकल्प है।
टीसीपी / आईपी स्टैक होने के संबंध में, तीन परियोजनाएं हैं जिन्हें आपको देखना चाहिए:
Contiki एक खुला स्रोत है, मेमोरी-कुशल नेटवर्क एम्बेडेड सिस्टम और वायरलेस सेंसर नेटवर्क के लिए अत्यधिक पोर्टेबल, मल्टी-टास्किंग ऑपरेटिंग सिस्टम। Contiki का उपयोग कई प्रकार की परियोजनाओं के लिए किया गया है, जैसे सड़क सुरंग आग की निगरानी, घुसपैठ का पता लगाना, बाल्टिक सागर में पानी की निगरानी और निगरानी नेटवर्क में।
कॉन्टिकी को छोटी मात्रा में मेमोरी के साथ माइक्रोकंट्रोलर्स के लिए डिज़ाइन किया गया है। एक विशिष्ट कंटकी विन्यास 2 किलोबाइट रैम और 40 किलोबाइट रॉम है।
ओपन-सोर्स यूआईपी टीसीपी / आईपी स्टैक छोटे अंतर एम्बेडेड 8-बिट माइक्रोकंट्रोलर्स को टीसीपी / आईपी कनेक्टिविटी प्रदान करता है, जिसमें इंटरऑपरेबिलिटी और आरएफसी मानकों का अनुपालन होता है।
यूआईपी की तुलना में बहुत तेज लेकिन शुरुआत करने के लिए कठिन
आमतौर पर ईथरनेट को माइक्रोकंट्रोलर में नहीं बनाया जाता है। पहले आपको एक जैक की आवश्यकता होती है जो एक माइक्रोकंट्रोलर द्वारा पढ़े जाने वाले संकेतों में ईथरनेट सिग्नल को परिवर्तित कर सकता है (इसे आमतौर पर 'मैग्नेटिक्स' कहा जाता है)। फिर आपको एक टीसीपी / आईपी स्टैक की आवश्यकता होती है, और फिर उसके ऊपर आपको डीएचसीपी, डीएनएस और जो भी अन्य प्रोटोकॉल आप उपयोग करना चाहते हैं। इसलिए आपके द्वारा उपयोग किया जाने वाला वास्तविक माइक्रोकंट्रोलर पूरी तरह से मायने नहीं रखता है। यदि आपको लिनक्स पर चलने वाले एआरएम जैसे कुछ बहुत शक्तिशाली लगते हैं, तो इसके लिए विकसित करना बहुत सरल होगा, लगभग वैसा ही जैसा कि डेस्कटॉप पीसी पर चलने वाले लिनक्स पर चल रहे नेटवर्क एप्लिकेशन को लिखना। या आप एक AVR या PIC की तरह कुछ कम शक्तिशाली और सस्ते के साथ जा सकते हैं।
यदि आप सॉफ्टवेयर में संपूर्ण टीसीपी / आईपी स्टैक लागू करना चाहते हैं तो ईथरनेट और टीसीपी / आईपी काफी जटिल हो सकते हैं। एक सामान्य समाधान है कि आप Wiznet की W5100 चिप जैसी किसी चीज़ का उपयोग करें, जो आपके लिए सभी निम्न स्तर के टीसीपी / आईपी सामान को संभालती है। आप इसे एक पूर्व-निर्मित मॉड्यूल में खरीद सकते हैं जिसमें ईथरनेट कनेक्टर और बहुत सस्ते के लिए सब कुछ शामिल है, WIZ812MJ मॉड्यूल के लिए $ 20 के आसपास । आप केवल SPI का उपयोग करके इसके साथ संवाद कर सकते हैं, इसलिए यह आपके माइक्रोकंट्रोलर पर बहुत अधिक I / O पिन नहीं लेगा।
लैंट्रोनिक्स कुछ और अधिक शक्तिशाली मॉड्यूल भी प्रदान करता है जो उपयोग करने के लिए और भी सरल लगते हैं, लेकिन वे थोड़े अधिक मूल्यवान हैं (मॉडल के आधार पर $ 50- $ 100)। उदाहरण के लिए उनके XPort देखें ।
एआरएम दिन के माइक्रोकंट्रोलर हैं, और एनएक्सपी की एक विस्तृत पेशकश है। यह वेब पेज इस तिथि (2011-07-13) के अनुसार, सभी का उल्लेख करने के लिए शाब्दिक रूप से बहुत से ईथरनेट नियंत्रकों को सूचीबद्ध करता है:
17 ARM7 डिवाइस
2 ARM9 डिवाइस
16 कॉर्टेक्स-एम 3 डिवाइस
संपादित करें
मैंने इस उत्तर के लिए एआरएम लाभ चर्चा को आगे बढ़ाया ।
XMOS XC-2 किट यह करने के लिए एक दिलचस्प तरीका है। PHY के अलावा सॉफ्टवेयर में सब कुछ किया जाता है। सॉफ्टवेयर को $ 7.50 XS1-L1 चिप पर चलना चाहिए।
टीआई ल्यूमिनरी माइक्रोकंट्रोलर्स (एआरएम कॉर्टेक्स-एम 3) के बहुत सारे ऑनबोर्ड ईथरनेट मैक हैं। इसे एक बाहरी क्रिस्टल और ईथरनेट PHY (कनेक्टर + मैग्नेटिक्स) की आवश्यकता होती है।
GCC और ओपन ओसीडी (JTAG फ्लैशिंग / डिबगिंग) उन्हें अच्छी तरह से समर्थन करते हैं और वे मात्रा में काफी सस्ते हैं।
वे सस्ते हार्डवेयर भक्त भी हैं ...
http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254
Netduino प्लस ईथरनेट अनुप्रयोगों के लिए एक अच्छा 60 $ माइक्रोकंट्रोलर है। यदि आवश्यक हो तो यह सबसे Arduino ढाल भी स्वीकार कर सकता है।
केबल को कनेक्ट करने और सिग्नल कंडीशनिंग से निपटने के लिए मैं एक एमबीईडी का उपयोग करने और मैग्जैक और ईथरनेट ब्रेकआउट बोर्ड (स्पार्कफुन देखें) का उपयोग करके अपने जीवन को कितना आसान बनाना चाहता हूं, इस पर निर्भर करता है । सहयोगी मॉडल NXP LPC1768 है।
मैं अपने दूरस्थ सर्वर (यानी इंटरनेट पर) को एक डेटा भेजने में कामयाब रहा, जो एक खड़ी शुरुआत से लगभग 2 घंटे में था।
यह निर्भर करता है कि आप इसके साथ क्या करना चाहते हैं। देखने के लिए मुख्य बात यह है कि रैम की मात्रा (व्यक्तिगत संदेश का आकार सीमित कर सकती है) और यदि आप वेब पृष्ठों की सेवा करना चाहते हैं तो उसके लिए उपलब्ध संग्रहण की मात्रा। मैं एक Arduino Duemilanova http://www.arduino.cc/ - ATMega328 माइक्रो कंट्रोलर, 2Kbytes RAM का उपयोग करता हूं । यदि आप महत्वपूर्ण भंडारण चाहते हैं तो आप एक एसडी कार्ड कनेक्ट कर सकते हैं। ईथरनेट ढाल 4 समवर्ती सत्रों तक का समर्थन करेगा। जटिल पृष्ठों की सेवा करने में सक्षम होने की उम्मीद न करें, लेकिन पचुबे, ट्विटर आदि पर ठीक अपलोड करने का काम करता है।
अधिक शक्तिशाली समाधान के लिए मार्वल प्लग देखें
एक अच्छा समाधान के लिए चेकआउट tuxgraphics ।
Nanode खुला स्रोत और केवल £ 22 / $ 40 भेज दिया है। मैंने पचैब के माध्यम से घर ऊर्जा / पर्यावरण निगरानी के लिए सिर्फ दो खरीदे हैं।
साइट से 30 दूसरी पिच:
नैनोड एक खुला स्रोत अरुडिनो जैसा बोर्ड है जिसमें इन-बिल्ट वेब कनेक्टिविटी है। यह वायरलेस, वायर्ड और ईथरनेट इंटरफेस की एक श्रृंखला से जुड़ता है। यह आपको वेब आधारित सेंसर और नियंत्रण प्रणाली विकसित करने की अनुमति देता है - आपको छह एनालॉग सेंसर लाइनों और छह डिजिटल I / O लाइनों तक वेब पहुंच प्रदान करता है। यह अपने आप में एक आसान निर्माण किट है। नैनोड को हैकिंग को ध्यान में रखकर डिजाइन किया गया था।
मैंने picdem.net 2 डेवेलपमेंट कार्ड का उपयोग करके माइक्रोचिप स्टैक की कोशिश की है और मैं बिल्कुल भी संतुष्ट नहीं था, यह अनुकूलित नहीं है और अच्छी तरह से प्रलेखित नहीं है।
मुझे लगता है कि अब बाजार में सबसे अच्छा समाधान Wiznet है जिसमें पहले ईथरनेट आधारित टीसीपी / आईपी हार्डवेयर चिप है जो बहुत समय बचाता है और आपको अधिक दक्षता देता है
यह लिंक उपलब्ध सभी समाधानों की तुलना करता है और उनकी तुलना करता है:
मैं यहां पार्टी के लिए लेट हो गया हूं लेकिन मैं TI स्टेलारिस EK-LM3S6965 की सिफारिश करता हूं। यह एक ARM Cortex M3 है जिसमें PHY सहित बिल्ट-इन इथरनेट कंट्रोलर है। प्रोटोटाइपिंग के लिए मैंने उनके मूल्यांकन किट का उपयोग किया, जिसमें एक माइक्रोफ़ोन के बाह्य उपकरणों तक वायरिंग के सामान के लिए ईथरनेट जैक, छोटा ओएलईडी डिस्प्ले (डिबगिंग और बेयरबोन यूआई के लिए बढ़िया), एसडी कार्ड स्लॉट, स्पीकर, बटन, एलईडी और ब्रेकआउट हैं। आपने अपने आवेदन का वर्णन नहीं किया (यानी, किसी चीज़ के हजारों या एक-बार के शौक की परियोजना का उत्पादन करना), लेकिन मूल्य निर्धारण उचित है (~ देव बोर्ड के लिए $ 70, छोटी मात्रा में $ 12-15 केवल चिप्स के लिए) , यदि आप अपना स्वयं का फर्मवेयर करना चाहते हैं तो वे विकास पुस्तकालयों के एक ठीक सेट के साथ आते हैं या यह FreeRTOS चला सकते हैं (मेरे बोर्ड संशोधन और FreeRTOS डिस्ट्रो और एलुआ में सामान के बीच मामूली हार्डवेयर रिवेट्स के कारण पोर्टिंग का एक छोटा सा हिस्सा आवश्यक है)। आप टीसीपी / आईपी के लिए यूआईपी या एलवीआईपी का उपयोग कर सकते हैं।
AVR / Arduino और PIC कॉर्टेक्स M3 जैसे लोकप्रिय हॉबीस्ट प्रसाद की तुलना में, एक 32-बिट हिस्सा है, जो 50MHz पर चलता है, 6965 में बहुत सारे I / O फीचर्स हैं, पैसे के लिए IMO यह आश्चर्यजनक है कि यह बहुत कंप्यूटिंग शक्ति है और कैसे कई विशेषताएं आप इतने छोटे और सस्ते से बाहर निकल सकते हैं। यह विकास के पक्ष में बहुत कच्चा है, हालांकि, और आपको सी (अच्छी तरह से पता होना चाहिए, जब तक कि आप एलुआ नहीं चलाते हैं)। मैं व्यापार के लिए एक सॉफ्टवेयर डेवलपर हूं और अपना एआरएम विकास मैक पर करता हूं, इसलिए मैं डरावने / असुविधाजनक टूलचैन सेटअप से डरता नहीं हूं और डीबगिंग के लिए मेक + आर्म-एग्बी-जीसीसी + ओपनओसीडी का उपयोग करता हूं, लेकिन अगर आप एक विंडोज आदमी हैं शायद कोड संगीतकार स्टूडियो बंडल एक अच्छी शर्त होगी। मैंने एक मज़ेदार MSP430 प्रायोगिक परियोजना के लिए TI के कोड कम्पोज़र IDE का उपयोग किया और यह मेरे द्वारा ठीक था और मेरे OSX / ARM सेटअप की तुलना में आसान वर्कफ़्लो था।
पूर्ण-प्रकटीकरण, मैंने वास्तव में इस चिप के चारों ओर एक पीसीबी डिजाइन नहीं किया है जो ईथरनेट नियंत्रक का उपयोग करता है, लेकिन मैंने एक बोर्ड किया था जो ईथरनेट का उपयोग नहीं करता था और उसके साथ एक अच्छा अनुभव था, और मैंने ईथरनेट-सक्षम परियोजनाओं का उपयोग करके बनाया है मूल्यांकन बोर्ड।
यहां मूल्यांकन बोर्ड / टूल बंडलों की जांच करें
अद्यतन सितम्बर 2013
इन भागों को नए डिजाइनों के लिए अनुशंसित नहीं लगता है। वहाँ कोई स्पष्ट प्रतिस्थापन नहीं लगता है।
अद्यतन नवंबर 2013
अब एक TM4C129XNCZAD है जो मुख्य रूप से उपरोक्त भाग के लिए एक प्रतिस्थापन है - इसमें ऑनबोर्ड MAC + PHY है, यद्यपि संगत पिन नहीं - हालांकि LM3S के प्रारंभिक जीवन छूट / उपलब्धता पर मुद्दों या भ्रम के बाद बहुत से लोग इसका उपयोग करने के लिए अनिच्छुक हैं ।
यह 100% नहीं हो सकता है कि यह प्रश्न क्या पूछ रहा है, लेकिन परियोजनाओं के लिए जहां उत्पादन रन काफी कम हैं, मैंने लोगों को रास्पबेरी पाई जैसे पूर्व-निर्मित बोर्डों को एम्बेड करना शुरू कर दिया है। इसके बहुत सारे फायदे हैं:
जैसा कि मैं कहता हूं, यह हर किसी के लिए नहीं है, लेकिन कुछ परियोजनाओं के लिए यह एक अच्छा फिट हो सकता है।
उपयोग किए गए सटीक बोर्ड के संदर्भ में कुछ विकल्प हैं:
आप Wiznet W5500 एम्बेडेड MAC + PHY नियंत्रक के साथ लगभग किसी भी MCU का उपयोग कर सकते हैं , यह SPI द्वारा संचालित है। लाभ हैं: इसमें बिल्ट-इन नेटवर्क स्टैक, टीएक्स / आरएक्स बफ़र्स, न्यूनतम एमसीयू पिन, सरलीकृत प्रोग्रामिंग की आवश्यकता होती है।
मुझे सिर्फ एक और दिलचस्प विकल्प मिला - ASIX से AX88796C , इसमें MAC + PHY , 10 \ 100Mbps इथरनेट और 40MHz SPI इंटरफ़ेस ऑप्शन भी है, इसलिए यह किसी भी ARM आधारित MCU के लिए अच्छा है ।
अद्यतन: Netduino 3 पहले से ही इस चिप का उपयोग कर रहा है, यहाँ दिलचस्प विवरण हैं:
यदि आपके पास फर्मवेयर के साथ कोई अनुभव है तो मैं STM32F4Discovery बोर्ड को STM32F4DIS-EXC बोर्ड के साथ सुझाएगा। मैंने हाल ही में अपने डिवाइस के लिए एक कॉन्फ़िगरेशन वेबपेज बनाने के लिए इसका उपयोग किया था और यह काफी आसान था। ऑनलाइन एक lwIP उदाहरण परियोजना उपलब्ध है और यदि आप "makefsdata" को गूगल करते हैं, तो आपको अपनी स्वयं की HTML फ़ाइलों के लिए आवश्यक फ़ाइलों को कैसे जनरेट करना है, इसके बारे में बहुत सारी जानकारी मिलेगी। यदि आपको अधिक जानकारी की आवश्यकता हो तो मुझे संदेश दें
मुझे उस उद्देश्य के लिए (25 EUR) ओपनपिकस फ्लाईपोर्टप्रो ईथरनेट मॉड्यूल पसंद है। बस मैग्नेटिक्स के साथ एक ईथरनेट जैक जोड़ें और अपने टीसीपी / आईपी स्टैक का उपयोग करके अपना फर्मवेयर बनाएं। उनके पास एक टीएलएस कार्यान्वयन भी है:
http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html
मैंने 'क्लासिक' फ्लाईपोर्ट ईथरनेट का उपयोग करके एक प्रोजेक्ट किया और यह अब तक रॉक सॉलिड रहा है।