तस्वीर से AVR पर स्विच करना [बंद]


14

मैंने अब तीन साल के लिए PIC16 और PIC18s के साथ काम किया है और AVR को भी जानना चाहूंगा। मेरे पास कोई विशिष्ट परियोजना नहीं है, लेकिन विभिन्न आर्किटेक्चर के साथ प्रयास करना चाहते हैं। मैं PIC और AVR पर एक संगतता रिपोर्ट प्राप्त करना चाहता हूं।

uC का सॉफ्टवेयर
मैं PIC16 और PIC18 के लिए असेंबली और C से परिचित हूं। AVR माइक्रोकंट्रोलर्स के लिए असेंबली और C वेरिएंट PIC वेरिएंट से कैसे भिन्न होते हैं? क्या बहुत अंतर हैं?

पीसी का सॉफ्टवेयर
मुझे AVR चिप्स के लिए अपने प्रोग्राम को संकलित करने और इकट्ठा करने के लिए किस सॉफ्टवेयर की आवश्यकता होगी? क्या यह मुफ़्त है और मैं इसे कहाँ से डाउनलोड कर सकता हूँ?

प्रोग्रामिंग हार्डवेयर
मैं VOTI के उपयोग किया है Wisp648 कार्यक्रम PICs के लिए, लेकिन यह बोर्ड नहीं कार्यक्रम AVRs कर सकते हैं। क्या मुझे एक प्रोग्रामर खरीदना है या क्या वेब पर कोई सर्किट उपलब्ध है जिसे मैं खुद बना सकता हूं?

UC का हार्डवेयर
PICs के लिए, मैंने PIC18F4620 का बहुत उपयोग किया है । मैं इसी तरह की सुविधाओं के साथ एक AVR के लिए देख रहा हूँ। मुझे जो सुविधाएँ पसंद हैं, वे हैं:

  • आंतरिक थरथरानवाला
  • टाइमर
  • 5V और 3.3V संस्करण
  • एडीसी
  • I2C और SPI समर्थन के साथ MSSP
  • (ई) USART
  • PWM
  • बहुत I / O पिंस
  • > = 32kB प्रोग्राम मेमोरी,> = 2kB RAM
  • डीआईपी पैकेज

क्या AVR चिप में समान विशेषताएं होंगी? पैकेज एक डील ब्रेकर है, मैं वास्तव में डीआईपी, पीडीआईपी या एसपीडीआईपी चाहता हूं। तुलनीय सुविधाओं के साथ एक AVR क्या होगा?

SPI और I2C वेरिएंट
मुझे बताया गया था कि माइक्रोचिप SPI और I2C प्रोटोकॉल पर अपने स्वयं के वेरिएंट हैं। मैं अक्सर एक PIC के साथ संयोजन में माइक्रोचिप से SPI और I2C गुलाम उपकरणों का उपयोग करता हूं। क्या मैं AVR के संयोजन में इन चिप्स (23K256, RTC, ENC28J60, ...) का उपयोग कर पाऊंगा? इसके अलावा, क्या I2C या SPI का उपयोग करके AVR और PIC चिप को लिंक करना संभव होगा?


@ लॉनहेलर माफ करना मैं स्पष्ट नहीं था, मेरे पास एक विशिष्ट परियोजना नहीं है, लेकिन विभिन्न वास्तुकला को जानने के लिए थोड़ा सा खेलना चाहते हैं।

5
यह प्रश्न बहुत व्यापक है और हमारे क्यू + ए प्रारूप के लिए एक अच्छा फिट नहीं है, लेकिन सामान्य तौर पर आप उन प्रोसेसर की डेटा शीट पढ़ते हैं जिन्हें आप उपयोग करने पर विचार कर रहे हैं। मुझे नहीं पता कि यह डार्क साइड पर कैसा है, लेकिन एटलीम में माइक्रोचिप जैसा चयनकर्ता गाइड है। किसी को भी ध्यान में रखने के लिए इन कंपनियों के पास बहुत अधिक माइक्रो हैं। मैंने 15 वर्षों में पेशेवर रूप से 100 से अधिक PIC परियोजनाओं को अच्छी तरह से किया है, लेकिन फिर भी नया चयन करते समय चयनकर्ता मार्गदर्शिका से परामर्श करें।
ओलिन लेथ्रोप

1
किस तरह के निर्देश ने AVR के उपयोग, और विकास उपकरण और इतने पर सेट किया है, आसानी से शोध किया जाता है। ये चीजें अच्छी तरह से समर्थित हैं, जैसे PIC। मैं इस मनोरंजक वीडियो की सलाह देता हूं: youtube.com/watch?v=DBftApUQ8QI
Kaz

Electronics.stackexchange.com/a/66163/8627 पर एक नज़र डालें और विंडोज के लिए लिनक्स बदलें। टूलचिन काफी हद तक समान है। समान नहीं है, लेकिन Google के लिए चीजों से भरा हुआ है।
jippie

@ जिप्पी अच्छा! जब मेरे नमूने आ गए हैं, तो मेरे बुकमार्क में सहेजा गया है :)

जवाबों:


8

uC का सॉफ्टवेयर

PIC और AVR निर्देश सेट समान हैं, लेकिन मैं असेंबली में AVR प्रोग्रामिंग शुरू नहीं करूंगा। सी में कार्यक्रम, Atmel स्टूडियो के साथ। यह gcc के AVR संस्करण के साथ पैक किया गया है, और इसमें वास्तव में एक अच्छा डिस्सेम्बलर है जो आपको आपके द्वारा लिखे गए C की लाइन दिखाता है, और इसके तहत, परिणामस्वरूप असेंबली निर्देश, बहुत आसान है। मैं WinAVR भी डाउनलोड करूंगा ।

पीसी का सॉफ्टवेयर

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

प्रोग्रामिंग हार्डवेयर

सस्ते एवीआर प्रोग्रामर के बहुत सारे हैं, जैसे कि बस समुद्री डाकू, लेकिन एक एटम आईसीएसपी प्राप्त करें । यदि आप एक से अधिक एवीआर परियोजना करने का इरादा रखते हैं तो यह पूरी तरह से अतिरिक्त खर्च के लायक है। यह USB का उपयोग करता है, और Atmel स्टूडियो के अंदर से चलाया जा सकता है।

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

एक चयनकर्ता उपकरण है , लेकिन सामान्य तौर पर, कम अंत AtMega ठेठ हार्डवेयर है:

Internal Oscillator (8 MHz)
3 Timers
2.7-5.5V Supply range
8-channel multiplexed ADC
I2C and SPI support
USART
2 PWMs that work in conjunction with the 8 bit timers

उच्च प्रदर्शन करने वाले चिप्स पर जाने से आपको अधिक टाइमर और PWM मिलेंगे। आपके पास कितनी फ्लैश मेमोरी और SRAM उपलब्ध है, यह विशेष चिप पर निर्भर करता है। AtMega के अधिकांश हिस्से पुर्जे PDIP में उपलब्ध हैं, जिनमें वास्तव में हाई पिन काउंट सामान QFP है।

SPI और I2C वेरिएंट

AVR uCs के साथ MCP I2C (AVR के लिए TWI) और SPI उपकरणों का उपयोग करना संभव है। आपको वास्तव में AVR डेटाशीट के SPI और TWI सेक्शन को ध्यानपूर्वक पढ़ने की आवश्यकता है, एक लाइन को स्किप न करें। प्रत्येक इंटरफ़ेस के लिए डेटा ऑर्डर, क्लॉक पोलारिटी आदि के लिए कई कंट्रोल रजिस्टर हैं। यह सब डेटशीट में रखा गया है, और बहुत पठनीय है। एवीआर और पीआईसी को लिंक करना कठिन नहीं होगा। जब तक आप संचार स्थापित नहीं करते, आपको बस SPI या TWI मोड के साथ खेलना होगा।


3
ATtiny, ATmega का छोटा भाई है। जब वे उन्हें प्रोग्रामिंग करने की बात आती है तो वे बहुत समान होते हैं। मेकफाइल में सिर्फ पार्ट टाइप बदलकर मैंने मेगा से छोटे तक 'पोर्टेड' सॉफ्टवेयर तैयार किया है।
जिप्पी

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

PIC कम से कम एक परिवार (PIC16, PIC18, ..) में भी करते हैं। टिप (@jippie) के लिए धन्यवाद!

यह एक महान व्याख्या है। मेरे पसंदीदा AVR चिप्स ATmega328p और ATtiny24 हैं। अन्य सामान्य पंक्तियाँ टाइनएक्स 5 और स्मॉल 2313 हैं। ये सभी डीआईपी में उपलब्ध हैं, और सभी में सटीक एसपीआई आधारित प्रोग्रामिंग इंटरफ़ेस है: आईएसपी। एक सस्ते, त्वरित शुरुआत के लिए, इस USB प्रोग्रामर को स्पार्कफुन से आज़माएं: sparkfun.com/products/9825 यह भी ध्यान देने योग्य है कि विंडोज के लिए WinAVR के रूप में जाना जाने वाला एक लोकप्रिय प्रोग्राम बंडल है: winavr.sourceforge.net आपको किसी भी प्रकार के विकास की आवश्यकता है बोर्ड, बस एक बिजली की आपूर्ति, बाईपास कैप, और शायद एक क्रिस्टल।
कर्ट ई। क्लोथियर

12

मैं PIC और AVR (और अन्य, भी) पर समान रूप से अच्छी तरह से काम करता हूं।

मुझे AVR-libc की वजह से एवीआर बहुत पसंद है । यह एक सभ्य एम्बेडेड पुस्तकालय खुला स्रोत है कि और यथोचित अच्छी तरह से प्रलेखित है ( विपरीत माइक्रोचिप के plib, लेकिन plib पूर्ण स्रोत है, जो मैं वास्तव में सराहना करता है)। AVRs नियमित पुराने gcc और gdb का उपयोग करते हैं, जिसका अर्थ है कि मेरे रास्ते में कोई आईडीआईओटी नहीं मिल रहा है। समान उपकरण विंडोज, ओएसएक्स और लिनक्स पर काम करते हैं, और मुझे अपने कूड़े के साथ अपने स्रोत के पेड़ पर यात्रा करने या प्रदूषित करने के लिए जावा और नेटबीन्स या ग्रहण के साथ 600 एमबी + आईडीई की आवश्यकता नहीं है।

प्रोग्रामिंग AVRs आमतौर पर ISP या JTAG के माध्यम से किया जाता है ( उस बारे में हाल ही में एक प्रश्न था ), और एक प्रोग्रामिंग दृष्टिकोण से, यह वास्तव में किसी भी अन्य सूक्ष्म से बहुत अलग नहीं है।

एक व्यक्तिगत दृष्टिकोण से, मैं माइक्रोचिप की डेटशीट और भाग संख्या को बहुत नापसंद करता हूं। मैंने माइक्रोचिप के साथ एम्बेडेड डिज़ाइन पर अपने दाँत काट दिए और मैं उन्हें लंबे, लंबे समय से प्यार करता था, लेकिन जब मैं इन दिनों एक माइक्रो की तलाश करता हूं तो मैं Atmel के साथ शुरू करता हूं, हालांकि वे उनकी खामियों के बिना भी हैं। (एसएएम-बीए उनके एसएएम भागों के लिए कचरा है, और मुझे उनके कारखाने समर्थन से भी कुछ परेशानी हुई है।)

जहां तक ​​उपयोग करने के लिए ... दोनों का प्रयास करें, यह कोक और पेप्सी के बीच अंतर की तरह है। वे बहुत, बहुत समान हैं और विकल्प आमतौर पर कीमत और उन उपकरणों के लिए नीचे आता है जिन्हें आप उपयोग करना पसंद करते हैं।


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

  • IDE और प्रोग्रामर के लिए, Atmel में माइक्रोचिप के समान प्रसाद हैं, बस उनकी वेबसाइट पर एक नज़र है, मुफ्त IDE डाउनलोड करें और एक प्रोग्रामर चुनें।

  • एक 18F के समान चिप ATMega328 (Arduinos में प्रयुक्त एक) की तरह कुछ हो सकता है, मेरा मानना ​​है कि उनके पास DIP पैकेज संस्करण हैं।

  • हां, I2C और SPI को एक ही काम करना चाहिए। एक AVR और PIC को जोड़ने से कोई समस्या नहीं होनी चाहिए।

डिस्क्लेमर - मैंने लंबे समय तक AVR का उपयोग नहीं किया है। मैं आजकल मुख्य रूप से PICs और ARM का उपयोग करता हूं, लेकिन मुझे पहले कभी भी SPI / I2C के साथ कुछ भी जोड़ने वाला कोई मुद्दा नहीं था, उदाहरण के लिए PIC / Atmel EEPROM / Cortex-M3 / FPGA के बीच कनेक्ट करने के लिए अक्सर SPI का उपयोग किया जाता है। एसपीआई एक बहुत ही बुनियादी प्रोटोकॉल है जो किसी भी आधुनिक माइक्रो हार्डवेयर में सक्षम होना चाहिए।
I2C थोड़ा अधिक जटिल है। मुझे अपने सिर के ऊपर से लाइसेंसिंग / नामकरण (उदाहरण के लिए 2-तार, I2C, SMBus) की कहानी याद नहीं आ रही है, लेकिन जहां तक ​​मुझे पता है, अधिकांश बाह्य बुनियादी स्तर पर संगत हैं। अधिक विस्तार के लिए विकी पृष्ठों को पढ़ें ।


Atmel का TWI (टू वायर इंटरफ़ेस) I2C के साथ संगत है। I2C को NXP (पूर्व फिलिप्स तकनीक) से लाइसेंस प्राप्त किया जा सकता है, लेकिन Atmel लाइसेंस शुल्क के आसपास काम करने में कामयाब रहा।
jippie
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.