Dlaczego AVR jest używany w Arduino?

Dlaczego Arduino korzysta z AVR? Rozumiem, że są to oficjalne procesory, ale nie ma powodu, dla którego kodu nie można przenieść na architekturę ARM lub Freescale poza kosztami, prawda? Pomyślałem, że jeśli jest wbudowana pamięć, migracja do tych części może być łatwa.

Widzę dużo ARM w przemyśle (wydaje się, że każdy sprzedawca wpycha je do swoich projektów) i zastanawiałem się, dlaczego nie było większego zainteresowania w świecie programistów Arduino.

Komentarze

  • Kto jest Twoim rynkiem? Jeśli ' próbujesz sprzedać coś dużego w branży, więc ' będziesz potrzebować ARM, ponieważ jeśli Atmel upadnie, ' nic nie zostało, jeśli ' ponownie używasz AVR. Dzięki ARM istnieje ' wielu innych dostawców, którzy oferują prawie drop- w zamianach. Zwiększona złożoność ARM jest mniejszym problemem w przypadku dobrych inżynierów niż w przypadku hobbystów, którzy ' nie znają podstaw. Jeśli ' sprzedaje hobbystom, krzywa uczenia się będzie zbyt stroma, moc procesora wygrała ' nie przyzwyczaić się, a SMT będzie wyimaginowanym murem. O kogo się martwisz – klientów hobbystów lub potencjalnych pracodawców? Pls. wyjaśnić.
  • Nie próbuję być obraźliwy, ale błaga o to, by je zadać. Atmel ma ponad 25 lat, mając bardzo udany rynek inny niż ARM, AVR sam w sobie jest bardzo udaną platformą. Jakie są szanse upadku takiej firmy. To brzmi jak stwierdzenie: ” Nie ' nie używaj okien, a co jeśli MicroSoft przestanie działać? ”
  • Zgadzam się z Twoimi pozostałymi dwoma punktami, a mianowicie, że jeśli masz rynek hobbystyczny, są rzadkie szanse, że pełna moc ARM zostanie wykorzystana, a SMT będzie murem.
  • Czy nie ' czy istnieje Arduino Due z SAM3XE (ARM 32 bity) uC na nim? Ponieważ mam teraz jedną w ręku …
  • Chciałbym zauważyć, że ” obecnie ” faktycznie istnieją płyty oparte na ARM, które można programować za pomocą Arduino (biblioteki i IDE). Teensy 3.2 jest tego doskonałym przykładem. sparkfun.com/products/13736

Odpowiedź

Czy kogoś w ogóle obchodzi, nad czym „pracujesz”?

Tak i nie. Pracowałem nad AVR32 dla konkretnego projektu, a środowisko programistyczne (w szczególności cykl kompilacji / programu / debugowania) jest horrendalne w porównaniu na przykład z PIC32.

Klienci nie przejmują się, z wyjątkiem kosztów i konserwacji, aw przypadku systemu podobnego do arduino programiści nie przejmują się tym, ponieważ środowisko arduino i cykl rozwoju są szybsze i lepsze niż obecna konfiguracja AVR32.

Zastanawiam się tylko, ponieważ istnieje tak silny kontyngent dla AVR w rodzinie Arduino. Rozumiem, że są to oficjalne procesory, ale nie ma powodu, dla którego kodu nie można przenieść na architekturę ARM lub Freescale poza kosztami, prawda? Pomyślałem, że o ile jest pamięć wbudowana, migracja do tych części może być łatwa.

Nie ma powodu, aby inny procesor nie można tego użyć, ale jest bardzo dobry powód, dla którego wybrali low-endowe urządzenie 8-bitowe zamiast ARM, MIPS, PowerPC itp .: Łatwość użycia.

Jeśli spojrzałeś na konfigurację nawet dla dolnych ramion, jest ona o rząd wielkości bardziej złożona (mapowanie pamięci, buforowanie itp.) niż 8-bitowy procesor. Ale co ważniejsze – w tamtym czasie nie było procesorów z ramieniem DIP, a te miały być używane i mogły być budowane przez artystów i hakerów, niekoniecznie techników elektroników i inżynierów, którzy czują się komfortowo nawet z 48-pinowym TQFP.

Powodem, dla którego AVR został wybrany zamiast PIC jest to, że PIC tak naprawdę nie ma między innymi szeroko używanego, wolnego kompilatora C o otwartym kodzie źródłowym (port SDCC nie jest jeszcze dojrzały).

Widzę dużo ARM w branży (wydaje się, że każdy sprzedawca wpycha je do swoich projektów) i zastanawiałem się, dlaczego nie ma większego zainteresowania programistą Arduino świat. Myśli?

Głównie ze względu na łatwość użycia – złożoność, łatwość lutowania, koszt i fakt, że „Nie jest to zbytnio potrzebne. Deweloperzy podoba się pomysł posiadania dużej mocy, ale pod koniec dnia wszystko, co musisz zrobić, to przesunąć kilka serw i błysnąć kilkoma światłami z niską częstotliwością FFT, 8-bitową procesor jest w porządku.

Nawet ARMS z niższej półki wychodzące w 28-pinowych pakietach są nadal SOIC, a nie DIP.

Więc AVR miał wszystkie właściwe cechy:

  • Łatwy do lutowania
  • Łatwy do zamówienia wysyłkowego na całym świecie
  • Darmowy kompilator GCC C
  • Łatwy do zrozumienia procesor oraz konfiguracja i użytkowanie urządzeń peryferyjnych
  • Tani
  • Wszechobecny – wiele osób i doświadczenie związane z rodziną AVR

W dużej mierze to nadal prawda – nie wiem o ARM w formacie dip, a adaptery sprawiają, że jest on znacznie droższy niż AVR. W większości producenci nie ” Myślę, że 32-bitowy procesor z pakietem DIP będzie bardzo opłacalny.

Komentarze

  • Jest jeden, Parallax Propeller. Ma osiem 32-bitowych procesorów na chipie i jest dostępny w pakietach DIL, QFP i QFN.
  • To jest strzał w dziesiątkę. AVR przez PIC ze względu na licencję i AVR przez ARM ze względu na prostotę oprogramowania i narzędzi oraz możliwość lutowania. W przypadku Twoich własnych projektów może to nie mieć zastosowania. Jeśli jednak chcesz stworzyć ARM-duino, spójrz na inne, podobne projekty. Nie ' nie chwytają tak jak AVR. Może to być również spowodowane środowiskiem deweloperskim Arduino.
  • Których narzędzi AVR32 używasz – używam IAR zarówno na AVR32, jak i MSP i stwierdziłem, że to środowisko jest bardzo wydajne. Koszt nie jest problemem w środowisku zawodowym – jest to mniej niż koszt tygodniowego zatrudnienia inżyniera.
  • To twierdzenie dotyczące narzędzi można przezwyciężyć – Arduino używa gcc, który ma również dostępny port AVR32 .
  • NXP ma teraz kilka rdzeni Cortex-M0 w pakiecie DIP. Myślę z rodziny LPC11xx. Wyobrażam sobie, że ich rynkiem docelowym jest wyjątkowo tania, niskiej jakości jednostronna płytka drukowana w urządzeniach.

Odpowiedź

Ponieważ wydaje się, że szukasz opinii, oto moje 0,02 $. To, czy pracuję na ARM, czy AVR, ma znaczenie (i dlatego mnie to obchodzi), głównie w oparciu o to, co próbuję zrobić . Są przypadki użycia, w których AVR ma sens, i są takie, w których działa ARM. Ogólnie rzecz biorąc, istnieje również kompromis między, powiedzmy, AVR i PIC.

Po pierwsze, chociaż Prawdopodobnie będę miał kłopoty, mówiąc to, że ” silny kontyngent z rodziny Arduino ” to mniejszość wokalna. Większość Ludzie z arduino (użytkownicy), z którymi się spotkałem, są tymi, którzy wolą traktować swój sprzęt w ten sam sposób, w jaki przygotowaliby skrypt Pythona, aby zrobić coś zabawnego, często z niższym poziomem zrozumienia zawiłości, niż by to zrobili mają kiedy „d zrobić ” z numpy i mport foo „. Chociaż sposób robienia rzeczy w Arduino ma pewne zalety, jest też wiele możliwości do krytyki.

Myślę, że warto przyjrzeć się amplitunerom AVR poza ekosystemem Arduino. Kontyngent Arduino odniósł również duże korzyści z powodów, które sprawiły, że AVR stał się czymś w rodzaju defacto standardu dla hobbystów – płaszczem, który przejmował coraz bardziej od PIC, jeszcze zanim pojawił się arduino. Bezpośrednimi konkurentami AVR byliby PIC i do pewnego stopnia MSP430, który zyskuje na popularności dzięki w dużej mierze intensywnemu marketingowi TI w połączeniu z jego narzędziami dotowania.

Ekosystem

Jak wspomniano w innych odpowiedziach, AVR to jedyna rodzina, która ma czysty, ustandaryzowany sposób na przejście od zera do świata hello za pomocą bezpłatnych narzędzi. Port avr-gcc, elementy, które tworzą łańcuch narzędzi winavr, mnóstwo schematów programistycznych o różnej złożoności i funkcjach, ale wciąż przez autorytet wywodzący się z bycia wspieranym przez avrdude sprawia, że jest to znacznie łatwiejsze niż zajmowanie się opracowaniem łańcucha narzędzi.

Ekosystem PIC to koszmar, z dowolną liczbą kompilatorów, narzędzi programistycznych, asemblerów, co czy ty. Wiele z nich nie jest ze sobą kompatybilnych. Większość z nich jest płatna. Nie wszystkie są dobre. Co ważniejsze, nie ma standardu defacto. Wolne / otwarte alternatywy (powiedzmy, SDCC) pozostawiają wiele do życzenia, ale co więcej, nie udało się uzyskać statusu standardu defacto, takiego jak avr-gcc i firma. Nawet mając opracowany łańcuch narzędzi oprogramowania, musiałbyś przynajmniej zainwestować w jakiegoś programistę. PICkit może kosztować około 20 $, ale kiedy musisz wymyślić, jak go kupić online (karty kredytowe, wysyłka międzynarodowa, kłopoty na rynku Forex), może to być przełom dla hobbystów. Nie ma dobrego, niezawodnego obwodu programującego ze standaryzacją niezbędną, aby dać nowicjuszowi odwagę do zainwestowania wysiłku i zasobów w przejście od punktu znalezienia źródła układu scalonego do punktu, w którym zaprogramowano Hello World i miga dioda LED.

MSP430 jest nieznacznie lepszy, głównie dlatego, że jest nowszy (przynajmniej pod względem popularności) – jest znacznie mniej hałasu, z którym można się zmagać. TI wysyła próbki układów scalonych do Ciebie z wydajnością, jakiej nie widziałem nigdzie indziej.mspgcc jest w porządku i istnieje nawet oprogramowanie do debugowania typu open source, którego nie jest trudno znaleźć ani skonfigurować. Problem polega jednak na tym, że nie jest on tak przyjazny hobbystom jak AVR. Nadal masz problem z programatorem, który jest droższy niż to, co musiałbyś kupić za PIC. Zasilanie 3,3 V stawia postrzeganą barierę dla ludzi przyzwyczajonych do 5v Logic. I nie skaluje się w DIP – są dostępne modele z niższej półki, ale nie wtedy, gdy dotrzesz do bardziej dopracowanych układów.

Łatwość użycia

DIP vs SMD, jak sądzę , jest ważniejszym rozróżnieniem, niż się często przypisuje. Układ scalony DIP może być używany na płytach prototypowych, płytach ogólnego przeznaczenia, niezależnie od ich nazwy w miejscu zamieszkania i tak dalej. Układ scalony SMD koniecznie wymaga cyklu produkcyjnego lub zakupu płytek adaptera, które nie zawsze są łatwe do uzyskania w wymaganym rozmiarze lub kształcie.

Jakość arkusza danych, uwagi dotyczące aplikacji i ich czytelność, także robi różnicę. Wydaje się, że Atmel radzi sobie z tym nieznacznie lepiej. Oczywiście jest to bardzo subiektywna ocena.

AVR może używać wewnętrznego RC, podczas gdy PIC często go nie ma. Wymagają kryształu, co sprawia, że jest nieco ryzykowny w połączeniu z brak pewności siebie.

AVR wydawał się również bardziej przyjazny dla programowania w systemie w porównaniu z PIC kilka lat temu, chociaż bardzo łatwo mogłem się pomylić.

AVR vs ARM

Twoje pytanie dotyczyło jednak AVR kontra ARM. Jak powiedziałem na początku, AVR i ARM zajmują różne przestrzenie w widmie. Jeśli masz coś, co możesz zrobić z AVR, to dlaczego miałbyś chcieć to zrobić z ARM? ARM są droższe, wymagają większej liczby części, zużywają więcej energii, tworzą bardziej skomplikowany kod, wymagają droższych procesów produkcyjnych. Lutowanie 100-pinowego TQFP jest droższe niż lutowanie 40-pinowego DIP / SOIC, w zależności od sposobu pomiaru Może to nie mieć miejsca, jeśli „produkujesz w dużych ilościach i używasz przyjaznych dla tego technik produkcji, ale jeśli to robisz, różnica cen stanie się jeszcze bardziej przekonująca, jeśli wybierzesz tańsze rozwiązanie.

Jako podstawowy kontroler do ogólnego hakowania w domu lub do tego, co masz, powiedziałbym, że AVR jest łatwiejszy w użyciu, ponieważ:

  • Bardziej ustandaryzowany z punktu widzenia hobbysty, więcej kod, którego mogę użyć ponownie z Internetu, ponieważ nie ma zbyt wielu odmian kompilatora i różnic między nazwami rejestrów i interfejsem API wśród członków rodziny. (Spróbuj przenieść kod LPC ARM na sprzęt ATMEL ARM, zobaczysz, o co mi chodzi)
  • Kod staje się z natury bardziej skomplikowany (tak jest. Naprawdę).
  • Toolchain tak wymaga dodatkowej pracy przy konfiguracji.
  • Ułatwia korzystanie z interfejsu. ARM generalnie sprowadziłyby cię do logiki 3v3 lub 1v8, co sprawia, że łączenie się z innymi zabawkami jest nieco problematyczne.
  • Tańsze
  • Zdobycie układu ARM w lokalnym sklepie z narzędziami nie jest dla mnie opcją gdzie mieszkam, otrzymuję AVR.

Komentarze

  • Nie ' nie przywołać żadnych PIC, poza niektórymi częściami OTP, w których bity bezpiecznika zostały wstępnie zaprogramowane w ramach testów fabrycznych (jedynym sposobem potwierdzenia, że tryb LP, XT lub HS działał, było skonfigurowanie chipa dla tego trybu), który wymagał kryształ. Niektóre wymagały zewnętrznego rezystora i nasadki do używania trybu RC i miały dość przybliżone specyfikacje dotyczące częstotliwości, którą będzie wytwarzać, ale nie ' nie przypominam sobie żadnych PIC bez opcji projektowania dla wewnętrznego lub zewnętrznego RC. Czy zapomniałem o jakimś?
  • W rzeczywistości koszt ARM / AVR jest prawie zbliżony do kosztu prania dla porównywalnych zasobów. A pakiety, które byłyby używane w warunkach produkcyjnych nie są ' t koniecznie tak różne, ponieważ prawdopodobnie byłyby to warianty QFP lub QFN jednego z nich. Wymagane obwody pomocnicze są również porównywalne.
  • @Chris: Kiedy weźmiesz pod uwagę zasoby, które zapewnia każdy chip, ' d powiedzieć, że ARM wyjdzie prawie tańszy każdego razu. To powiedziawszy, chodzi o to, że w sytuacjach, w których AVR ma sens w środowisku produkcyjnym, nie ' t potrzebujesz koni mechanicznych i / lub dzwonków i gwizdki, które ARM przynosi do stołu. Po ważeniu wykorzystanymi zasobami zamiast dostępnymi zasobami, AVR wychodzi taniej. Nie ' nie sądzę, że obwód pomocniczy jest porównywalny (1 kondensator tantalowy w porównaniu z 4 i inne podobne spirale). ARM nie jest ' t kosztowną bestią, o ile może być przesadą.
  • @supercat: Może. Muszę ' sprawdzić. Nigdy nie wydawało mi się to oczywiste, że kilka razy na to patrzyłem. Wiem, że przynajmniej niektóre dsPIC mogą wrócić do stanu wewnętrznego, jeśli ustawisz je poprawnie, ale nawet to wymagało trochę zgadywania i wygłupów, aby je odkryć. Arkusze danych mikroczipów pozostawiają wiele do życzenia, IMO, ale z drugiej strony zależy to od tego, na jakim rynku ' patrzysz.
  • @ChintalagiriShashank – ignorując inne urządzenia peryferyjne i patrząc tylko na Flash & rozmiary pamięci RAM, istnieją oferty ARM, które są dość konkurencyjne na przykład z ATMEGA328p. I nie ' nie rozpraszaj się zbytnio przez omijanie wielkich liter. Po pierwsze, tantal może mieć sens jako filtr zasilający, ale rzeczywiste nasadki obejściowe są lokalnymi zbiornikami o niższej wartości dla wymagań przełączania wysokiej częstotliwości, a więc mogą być tanią ceramiką SMT. Ponadto potrzebna jest częstotliwość przełączania zegara i I / O – przy porównywalnej częstotliwości taktowania ARM nie będzie w rzeczywistości potrzebował wszystkich zalecanych limitów obejścia.

Odpowiedź

Nadchodzi rozwój ramion – spójrz na następujące projekty.

Liść klonu

XDuino

Cortino

Illuminato

Rodzina ARM PRO

A teraz ARM w pakiecie DIP.

NXP LPC1114FN28

BASICchip

Odpowiedź

Po części powód dużego zainteresowanie społeczności Arduino polega na fizycznej standaryzacji. Choć układ fizyczny jest skomplikowany, dzięki standardowej opcji rozszerzenia programiści Arduino umożliwili ludziom wymyślanie własnych rozwiązań. Jeśli chcesz wymienić podstawową płytkę Arduino na inną, która korzysta z innego mikrokontrolera, możesz to zrobić. IIRC, ktoś już zbudował płytkę opartą na PIC, która wykorzystuje współczynnik kształtu Arduino. (Płyta PIC Ardunio nie ma tego samego rozmiaru, ale poza tym jest podobna.)

Kolejny powód sukcesu Arduino jest w swojej otwartości – większość mikrokontrolerów opartych na PIC była zamknięta; Używali zastrzeżonych implementacji sprzętowych, więc jeśli chciałeś przeprojektować płytkę, aby lepiej pasowała do określonej przestrzeni, nie miałeś szczęścia. Użyli niestandardowego oprogramowania układowego i autorskie narzędzia programistyczne, więc jeśli miałeś błędy lub chciałeś rozszerzyć możliwości, nie miałeś szczęścia.Dzięki Arduino każdy element układanki jest otwarty: możesz kupować części w dowolnym miejscu, przestawiać je według potrzeb, ulepszać lub modyfikuj oprogramowanie układowe ORAZ narzędzia programistyczne. Możesz zacząć od Arduino IDE, ale nadal możesz przejść na C lub Assembly, kiedy tylko tego potrzebujesz.

Osobiście lubię Arduino, ponieważ ma dużo rzeczy „w sam raz”: To nie jest zbyt drogie, nie jest zamknięte w zastrzeżonych narzędziach, łatwo jest zacząć, ma dużo możliwości i ma dużą społeczność użytkowników, która stale się rozwija i robi fajne rzeczy.

Komentarze

  • Podałeś bardzo dobre powody, dla których mikrokontroler hobbystów jak Arduino, ale pytanie dotyczyło ARM vs AVR. Wspomniano o Arduino ze względu na decyzję o wyborze serii mikrokontrolerów AVR do jego wdrożenia. Myślę, że pod twoim postem znajdują się bardziej odpowiednie odpowiedzi; na przykład fakt, że Atmel obsługuje swoją serię AVR kompilatorem C. Niemniej jednak dobra informacja dla kogoś, kto nie jest zaznajomiony z Arduino.

Odpowiedź

Główną zaletą uC ATmel jest że jest dostępny darmowy kompilator dla Linuksa, PC i Maca. Dodaj do tego prosty wieloplatformowy GUI i otrzymujesz darmowy system programistyczny działający na wszystkich platformach.

Koszt jest głównym czynnikiem wpływającym na płyty hobbystyczne. Ponieważ chcesz mieć cenę początkową w przedziale 30 USD, musisz mieć koszt uC nie większy niż kilka dolarów.

ARM byłby doskonałym kandydatem na płyty z wyższej półki. Wiele firm licencjonuje rdzeń ARM i dodaje urządzenia peryferyjne. Wydaje mi się, że są darmowe kompilatory dla Linuksa, PC i MAC.

Bardzo podoba mi się Freescale Coldfire do płyt z najwyższej półki. Pracowałem na tablicy do sprzętu testowego, który używał 5206e. Dodaliśmy trochę pamięci DRAM oraz przetworniki A / D i D / A o wysokiej dokładności. Było to opłacalne rozwiązanie. Nie porównywałem ostatnio Coldfire z szeroką gamą ARMów.

Niektóre 8-bitowe uC Freescale są fajne, ale nie jestem pewien, czy mają darmowe narzędzia.

Komentarze

  • Dziękuję za przydatny komentarz, ale 8 wierszy ' podpisu ' jest trochę ekstremalne, te strony oparte na stackoverflow zwykle patrzą z góry na reklamowanie własnych witryn w twoich odpowiedziach.
  • @jluciani, jeśli chcesz reklamować swoje inne witryny, umieść linki w swoim profilu , nie w Twoich odpowiedziach. W końcu Twój blog nie jest odpowiedzią na to pytanie …

Odpowiedź

Zgadzam się z pakietem DIP, nie zgadzam się, że ramiona są trudniejsze do skonfigurowania, lPCS tak, ale nie są one jedynymi dzieciakami na bloku ramienia (sam Atel).Z tego, co pamiętam i doświadczyłem, Atmel był i może nadal jest po prostu bardziej przyjazny programistom. Motyl AVR znacznie pomógł im w pozyskaniu większej liczby użytkowników do ich już sporej i zadowolonej bazy użytkowników. PIC był po prostu bolesny pod wieloma względami, narzędzia avr były tam, programowanie było proste i nie kosztowało cię znacznie więcej niż niektóre przewody i złącze z radio shack. Narzędzia są dostępne i darmowe, ale nie tak proste, jak w przypadku głównego gcc, w którym można znaleźć rozwiązania na rękę i kciuk. Na długo przed pojawieniem się arduino AVR był chipem wybieranym do projektów hobbystycznych.

W tej chwili nic nie może konkurować z ARM. W przypadku każdego innego procesora, którego dotykasz w ciągu dnia, dotykasz co najmniej kilku ARMów. W przypadku niektórych prawie wszystko, czego dotkniesz, używa ARM. Jest to naturalne dopasowanie, ponieważ 8-bitowy zabójca, może uzyskać znacznie lepszą wydajność niż 8-bitowy za ten sam rozmiar, cenę itp. Narzędzia są znacznie lepsze, zestaw instrukcji jest znacznie czystszy niż większość konkurencji, więc działa ten sam kod, który dużo szybciej itp. ponieważ każdy i ich brat mogą osadzić ARM i nie jest on zablokowany w firmie takiej jak pic, avr, msp430 istnieje szeroka gama rozwiązań i tyle różnych sposobów radzenia sobie z mikrokontrolerami z mikrokontrolerem i tablica wektorów przerwań. Niestety, bardziej popularne rozwiązanie jest najbardziej bolesne. Spróbuj sam7 lub czegoś podobnego albo stellaris. Istnieje armmite pro, który jest próbą zrobienia wtyczki arduino opartej na ramieniu lub czegoś podobnego i faktycznie lubię tę płytę.

Nie zawsze jest to procesor, który jest problemem, niektóre chipy wiedzą mogą problemy, niektórzy mają inne znane problemy. niektóre mogą nie oferować pinów IO typu open collector ze słabym podciągnięciem i musiałbyś umieścić sprzęt poza chipem, aby połączyć się z czymś, podczas gdy inny może mieć to dostępne na jednym lub wszystkich pinach. Polecam wypróbować pole, wypróbować różne firmy i rozwiązania, aby gdy chcesz mieć małą moc, możesz łatwo użyć msp430, potrzebujesz mocy obliczeniowej w małym chipie, do którego idziesz z ręką lub jeśli chcesz stworzyć otwarty projekt, na który masz nadzieję inni będą budować w swoim garażu, jeśli możesz, oprzyj je na arduino.

Najważniejsze jest to, że w przypadku Twojego pytania to naprawdę zależy od aplikacji i sposobu jej pisania oraz wydajności i zasobów, którymi jesteś zainteresowany. W ten sam sposób, w jaki gcc lub firefox będą działać na wielu różnych platformach i procesorach, z pewnością możesz napisać swoją aplikację w języku C tak, aby działała na wielu różnych mikrokontrolerach … JEŚLI … masz warstwę abstrakcji specyficzną dla mikrokontrolera, która ma koszt. jeśli mikrokontrolery mają wystarczająco podobne funkcje i funkcje, których potrzebujesz, i planujesz z wyprzedzeniem i włączasz je. Jeśli następna platforma ma wystarczającą ilość pamięci / zasobów. Bardziej interesuje Cię przenośność niż wydajność itp. Prawdopodobnie musisz to zaplanować z wyprzedzeniem. lub przynajmniej przy pierwszym przełączeniu z A na B przeprojektowujesz oprogramowanie, jeśli / kiedy następuje trzecie przejście z B na C, jest to mniej bolesne.

Komentarze

  • W tej chwili nic nie może konkurować z ARM. < – W przemyśle. W świecie hobbystów AVR jest nadal bardzo, bardzo mocny i będzie nim przez długi czas.
  • Absolutnie zgadzam się, że jeden świat AVR jest szalenie popularny, a inny świat jest tym, w którym kupujemy produkty dotyk i użycie są tam, gdzie są pieniądze, to jest coś innego. Więc dla zabawy w domu naucz się jednego, w codziennej pracy naucz się drugiego i graj przez cały dzień i całą noc.

Odpowiedz

Wiem, że powiedziałeś „inne niż koszt”, ale tak naprawdę jest to najważniejsze dla hobbystów. Nie potrzebujesz więcej niż jednego UART lub więcej niż jednego SPI na taniej, ogólnej platformie. Kiedy zaczniesz potrzebować prędkości> 20 MHz, naprawdę powinieneś spojrzeć na niestandardową konfigurację (oczywiście ymmv)

Odpowiedź

Kilka drobnych uwag, które nie zostały poruszone w innych komentarzach:

  • Arduino jest przeznaczone do projektów we / wy na małą skalę, dodając niewielką ilość inteligencji do obwodu. Są to zazwyczaj jednowątkowe urządzenia czasu rzeczywistego, w których ARM byłby bardzo zmarnowany. Istnieje oczywiście wiele opcji dla płyt ARM. , ale przypadek użycia jest zwykle inny – zazwyczaj uruchamiają się one w pełnym systemie operacyjnym.

  • Celując w ten przypadek użycia małej skali, wszystko inne staje się łatwiejsze – liczba pinów, obsługa komponenty, zużycie energii itp.

To powiedziawszy, w przypadku docelowego zastosowania Arduino nie jest to tak, jakbyś go marnował. Procesor 16 MHz jest dużym problemem dla Twojego budzika ze zintegrowanym chaserem LED (lub czymkolwiek 🙂

Odpowiedź

Arduino jest dostępny na innych procesorach. Na przykład sprawdź ChipKit firmy Microchip. To używa PIC 32.

Komentarze

  • Przepraszam Olinie, tytuł był moją błędną próbą edycji pytania, wykonaną z jego treści. Teraz powinno być bardziej poprawne.

Odpowiedź

Druga próba (oryginalny tytuł posta i pytanie z +3 lat temu zostało zmienione od czasu oryginalnej odpowiedzi):

Kura i jajko, ale szczególnie w ciągu ostatnich kilku lat (2007 ARM uruchomił architekturę Cortex-M), 32-bitowe MCU zyskały na popularności, a dostawcy byli lepsi w zapewnianiu szybszego i łatwiejszego dostępu dla społeczności EE podczas projektowania w> 8-bitowych mikroskładnikach (lepsze narzędzia sw, darmowe narzędzia, więcej przykładów …).

As Atmel wraz ze 100 innymi oferuje Cortex -M i zaktualizował swój łańcuch narzędzi, aby obsługiwał AVR do ARM, a także długotrwałą relację, ścieżkę aktualizacji Arduino podano (?). Ale pojawiają się alternatywy i wydają się obejmować alternatywne próby zdobycia udziału w „hobbystycznym” tortu: np. Mbed przez NXP / ARM, a ostatnio „CoAction Hero”,: 32-bitowa płytka ARM ARM Cortex-M3 na KickStarterze.

Ostatnia myśl, 3 lata po pierwszym pytaniu: kiedy wszyscy dostawcy oferują 32-bitowe rdzenie Cortex-M – czy Arduino może teraz faktycznie stać się innym niż Atmel?

Oryginalna odpowiedź: Alf-Egil Bogen, jeden ze współzałożycieli Atmel AVR, przygląda się niektórym przyczynom przejścia branży z 8-bitowych na 32-bitowe rdzenie ARM na swoim blogu wideo tutaj http://blog.energymicro.com/2013/04/24/avr2arm/ .

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *