Kysymys:
Miksi AVR: tä käytetään Arduinossa?
Chris Gammell
2009-12-18 20:03:12 UTC
view on stackexchange narkive permalink

Miksi Arduino käyttää AVR: ää? Ymmärrän, että he ovat virallinen prosessori, mutta ei ole mitään syytä, että koodia ei voitu siirtää ARM- tai Freescale-arkkitehtuuriin lukuun ottamatta kustannuksia, eikö? Niin kauan kuin sisäistä muistia on, ajattelin, että siirtyminen näihin osiin voisi olla helppoa.

Näen teollisuudessa paljon ARM: ää (näyttää siltä, ​​että jokainen myyjä työntää yhtä muotoiluunsa) ja ihmettelin, miksi Arduinon kehittäjämaailmassa ei ollut enemmän käyttöönottoa.

Kuka on markkinasi? Jos yrität myydä jotain suurta teollisuudessa, tarvitset ARM: n, koska jos Atmel menee alle, sinulla ei ole mitään jäljellä, jos käytät AVR: ää. ARM: n avulla on paljon muita toimittajia, jotka tarjoavat lähellä pudotettavia korvaavia tuotteita. ARM: n lisääntynyt monimutkaisuus on vähemmän ongelma hyvillä insinööreillä kuin harrastajilla, jotka eivät tiedä perusteita. Jos myyt harrastajille, oppimiskäyrä on liian jyrkkä, prosessorin teho ei tottu ja SMT on kuvitteellinen tiiliseinä. Kenestä olet huolissasi harrastaja-asiakkaista tai mahdollisista työnantajista? Pls. selventää.
En yritä olla loukkaavaa, mutta kysymys herää. Atmel on yli 25-vuotias, sillä sillä on muuten erittäin menestyvät markkinat kuin ARM, AVR on itsessään erittäin menestyvä foorumi. Mitkä ovat mahdollisuudet tällaisen yrityksen laskemiseen. Tämä kuulostaa sanomalta: "Älä käytä ikkunoita, entä jos MicroSoft kaatuu?"
Olen samaa mieltä kahdesta muusta asiasta, nimittäin siitä, että jos sinulla on harrastelijamarkkinat, on harvinaista, että ARM: n koko voima hyödynnetään ja SMT on tiiliseinä.
Eikö Arduino Due -laitteessa ole SAM3XE (ARM 32-bittistä) uC: tä? Koska minulla on yksi kädessäni juuri nyt ...
Haluan huomata, että "nykyään" on todella ARM-pohjaisia levyjä, jotka voidaan ohjelmoida Arduinolla (kirjastot ja IDE).Teensy 3.2 on erinomainen esimerkki tästä.https://www.sparkfun.com/products/13736
Kymmenen vastused:
#1
+33
Adam Davis
2009-12-19 00:29:58 UTC
view on stackexchange narkive permalink

Välitäkö kukaan edes siitä, mitä kehität?

Kyllä ja ei. Olen kehittänyt AVR32-tietokonetta tietylle projektille, ja kehitysympäristö (erityisesti käännös / ohjelma / virheenkorjausjakso) on kauhea verrattuna esimerkiksi PIC32: een.

Asiakkaat eivät hoito, lukuun ottamatta kustannuksia ja ylläpitoa, ja arduino-tyyppisen järjestelmän tapauksessa ohjelmoijat eivät välitä siitä, että arduino-ympäristö ja kehitysjakso ovat harppaukseltaan parempia kuin nykyinen AVR32-asennus.

Ihmettelen vain, koska Arduino-perheessä on niin vahva AVR-joukkue. Ymmärrän, että he ovat virallinen prosessori, mutta ei ole mitään syytä, että koodia ei voida siirtää muuhun ARM- tai Freescale-arkkitehtuuriin kuin kustannuksiin, eikö? Niin kauan kuin sisäistä muistia on, ajattelin, että siirtyminen näihin osiin voi olla helppoa.

Ei ole mitään syytä toista prosessoria ei voida käytetty, mutta on erittäin hyvä syy siihen, että he ovat valinneet matalan tason 8-bittisen laitteen ARM-, MIPS-, PowerPC- jne. laitteen sijaan: Helppokäyttöinen.

Jos olet tarkastellut jopa matalat varret, se on suuruusluokkaa monimutkaisempi (muistikartoitus, välimuisti jne.) kuin 8-bittinen prosessori. Mutta vielä tärkeämpää - tuolloin ei ollut DIP-varsiprosessoreita, ja niiden piti olla tarkoitettu ja rakennettu taiteilijoiden ja hakkereiden, ei välttämättä elektronisten teknikoiden ja insinöörien, jotka tuntevat olonsa mukavaksi jopa 48-nastaisen TQFP: n kanssa.

Syy, miksi AVR valittiin PIC: n sijasta, on se, että PIC: llä ei oikeastaan ​​ole laajalti käytettyä, avoimen lähdekoodin, ilmaista C-kääntäjää, muun muassa (SDCC-portti ei ole kypsä).

Näen paljon ARM: ää teollisuudessa (näyttää siltä, ​​että jokainen myyjä työntää yhtä muotoiluunsa) ja ihmettelin, miksi Arduinon kehittäjämaailmassa ei ollut enemmän käyttöä. Ajatuksia?

Syynä on pääasiassa helppokäyttöisyys - monimutkaisuus, helppo juottaa, hinta ja se, että sille ei ole paljon tarvetta. Kehittäjät pitävät ajatuksesta saada paljon virtaa, mutta päivän päätteeksi, kun sinun tarvitsee vain siirtää joitain servoja ja välähtää joitain valoja low-end FFT: llä, 8-bittinen prosessori on hieno.

Jopa 28-nastaisissa paketeissa ilmestyvät matalan tason aivokuori-ARMS ovat edelleen SOIC, ei DIP.

AVR: llä oli siis kaikki oikeat ominaisuudet:

  • Helppo juottaa
  • helppo saada postimyynnillä ympäri maailmaa
  • ilmainen GCC C-kääntäjä
  • helppo ymmärtää prosessorin ja oheislaitteiden asetukset ja käyttö
  • halpa
  • läsnä - paljon ihmisiä ja kokemusta AVR-perheen ympärillä

Suurimmaksi osaksi tämä on totta - en tiedä ARM: ää dip-muoto, ja sovittimet tekevät siitä huomattavasti kalliimman kuin AVR. Suurimmaksi osaksi valmistajat eivät usko, että DIP-pakattu 32-bittinen prosessori tulee olemaan erittäin kannattava.

On yksi, Parallax-potkuri. Siinä on kahdeksan 32-bittistä prosessoria piirissä, ja se tulee DIL-, QFP- ja QFN-paketteina.
Tämä on paikalla. AVR yli PIC: n lisensoinnin vuoksi ja AVR yli ARM: n ohjelmistojen ja työkaluketjun sekä juottokyvyn yksinkertaisuuden vuoksi Omissa projekteissasi tämä ei välttämättä päde. Jos kuitenkin haluat kehittää ARM-duinon, tutustu muihin vastaaviin projekteihin. He eivät tartu kiinni niin kuin AVR: llä on. Tämä voi johtua myös Arduino dev -ympäristöstä.
Mitä AVR32-työkaluja käytät - Käytän IAR: ta sekä AVR32: ssa että MSP: ssä ja olen havainnut tämän ympäristön erittäin kykeneväksi. Kustannukset eivät ole ongelma ammatillisessa ympäristössä - vastaavat vähemmän kuin insinöörin palkkaamisesta viikoksi.
Tämä väite työkaluista voidaan voittaa - Arduino käyttää gcc: tä, jolla on myös käytettävissä AVR32-portti.
NXP: llä on nyt muutama Cortex-M0-varsi DIP-paketissa. Luulen LPC11xx-perheestä. Kuvittelen, että niiden kohdemarkkinat ovat erittäin halpoja, heikkolaatuisia, yksipuolisia piirilevyjä laitteissa.
#2
+17
JohnC
2009-12-18 20:25:07 UTC
view on stackexchange narkive permalink

Käsivarsien kehitys on tulossa - tutustu seuraaviin projekteihin.

Maple Leaf

XDuino

Cortino

Illuminato

ARM PRO -perhe

Ja nyt ARM DIP-paketissa.

NXP LPC1114FN28

BASICchip

#3
+16
Chintalagiri Shashank
2013-01-23 21:02:08 UTC
view on stackexchange narkive permalink

Koska näytät mielipidekyselystä, tässä on 0,02 dollaria. Olenko työskennellyt ARM: lla tai AVR: llä, on merkitystä (ja siksi välitän), lähinnä sen perusteella, mitä yritän tehdä. On käyttötapauksia, joissa AVR: llä on järkeä, ja on niitä, kun ARM tekee. Yleensä on myös kompromissi, joka tehdään esimerkiksi AVR: n ja PIC: n välillä.

Ensinnäkin, vaikka joutun todennäköisesti vaikeuksiin sanomalla tämän, "vahva joukko Arduino-perheessä" on jotain äänivähemmistöä. Suurin osa arduino folkista (käyttäjät), joita olen törmännyt, ovat sellaisia, jotka mieluummin kohtelevat laitteitaan samalla tavalla kuin he lyöisivät python-komentosarjan tekemään jotain huvittavaa, usein ymmärtäen vähemmän monimutkaisia ​​asioita kuin he olisi, kun he tekisivät "numpy import foo: sta". Vaikka Arduinon tavassa tehdä asioita on jonkin verran ansioita, siellä on myös paljon tilaa kritiikille.

Mielestäni kannattaa tarkastella AVR: itä Arduino-ekosysteemin lisäksi. Arduino-joukkue on myös hyötynyt suuresti syistä, jotka tekivät AVR: stä harrastelijoiden asioiden defacto-standardin - vaipan, jonka se on ottanut yhä enemmän PIC: ltä jo ennen kuin arduino ilmestyi. AVR: n suorat kilpailijat olisivat PIC ja jossain määrin MSP430, joka on saamassa vetovoimaa suurelta osin TI: n voimakkaan markkinointipainikkeen ja sen tukivälineiden ansiosta.

Ekosysteemi

Kuten muissa vastauksissa on mainittu, AVR on perhe, jolla on puhdas, standardoitu tapa päästä nollasta hello-maailmaan ilmaisten työkalujen avulla. Avr-gcc-portti, kappaleet, jotka tekevät winavr-työkaluketjusta, runsaasti ohjelmoijakaavioita, joiden monimutkaisuus ja ominaisuudet vaihtelevat, mutta joita avrdude-tuesta johdettu auktoriteetti sitoo, tekevät siitä paljon helpompaa kuin työkaluketjun saaminen.

PIC: n ekosysteemi on painajainen, missä on paljon kääntäjiä, ohjelmointityökaluja, kokoonpanijoita. Monet niistä eivät ole yhteensopivia keskenään. Suurin osa heistä maksetaan. Kaikki eivät ole hyviä. Vielä tärkeämpää on, että defacto-standardia ei ole. Vapaan / avoimen lähdekoodin vaihtoehdot (esimerkiksi SDCC) jättävät paljon toivomisen varaa, mutta enemmän kuin ne eivät ole saaneet defacto-standardin tilaa, kuten avr-gcc ja yritys ovat. Jopa ohjelmistotyökaluketjun kanssa, sinun on ainakin investoitava jonkinlaiseen ohjelmoijaan. PICkit voi vain maksaa noin 20 dollaria, mutta kun sinun on selvitettävä, kuinka ostaa se verkosta (luottokortit, kansainvälinen toimitus, valuuttamarkkinat), se voi olla harrastajien mielenkiintoinen sopimus. Ei ole olemassa hyvää, luotettavaa ohjelmointipiiriä, jonka standardointi olisi välttämätöntä, jotta aloittelija saa rohkeutta sijoittaa vaivaa ja resursseja siirtymiseen IC: n lähteen löytämisestä siihen pisteeseen, jossa Hello World on ohjelmoitu ja LED vilkkuu .

MSP430 on hieman parempi, lähinnä siksi, että sen uudempi (ainakin suosion kannalta) - On paljon vähemmän melua. TI toimittaa IC-näytteet sinulle tehokkuudella, jota en ole nähnyt missään muualla. mspgcc on kunnossa, ja siellä on jopa avoimen lähdekoodin virheenkorjausohjelmisto, jota ei ole vaikea löytää tai asentaa. Ongelmana on kuitenkin se, että se ei ole niin harrastajaystävällinen kuin AVR. Sinulla on edelleen ohjelmoijan ongelma, joka on kalliimpi kuin mitä sinun pitäisi ostaa PIC: lle. 3.3v-syöttöoperaatio asettaa havaitun esteen ihmisille, jotka ovat tottuneet 5v-logiikkaan. Ja se ei skaalaa DIP: ssä - Saatavana on alhaisimpia, mutta ei vasta, kun saavutat enemmän lihaksikkaita pelimerkkejä.

Helppokäyttöisyys

DIP vs. SMD on mielestäni tärkeämpi ero kuin usein hyvitetään. DIP-IC: tä voidaan käyttää leipälautalla, yleiskäyttöisillä levyillä, riippumatta siitä, mitä heille kutsutaan, missä asut ja niin edelleen. SMD-IC vaatii välttämättä valmistusajon tai sovitinlevyjen ostamisen, joita ei aina ole helppo saavuttaa haluamassasi koossa tai muodossa.

Taulukon laatu, sovellustiedot ja niiden luettavuus, myös tekee eron. Atmel näyttää tekevän siinä hieman parempaa työtä. Se on tietysti erittäin subjektiivinen arvio.

AVR: t voivat käyttää sisäistä RC: tä, kun taas PIC: t eivät usein. Ne vaativat kristallia, mikä tekee siitä hieman noppaa yhdistettynä vähäiseen luottamukseen.

AVR: t näyttivät myös ystävällisemmiltä järjestelmän sisäisen ohjelmoinnin kanssa verrattuna muutama vuosi sitten PIC-tiedostoihin, vaikka voisin helposti olla väärässä siellä.

AVR vs ARM

Kysymyksesi liittyi kuitenkin AVR vs ARM: ään. Kuten sanoin alussa, AVR ja ARM vievät eri tilat spektrissä. Jos sinulla on jotain, mitä voit tehdä AVR: llä, niin miksi haluat tehdä sen ARM: lla? ARM: t ovat kalliimpia, vaativat suurempia osamääriä, kuluttavat enemmän energiaa, tekevät monimutkaisemmasta koodista, tarvitsevat kalliimpia valmistusprosesseja. 100-nastaisen TQFP: n juotos on kalliimpaa kuin 40-nastaisen DIP / SOIC-juotos, riippuen siitä, miten mitat kustannuksia. Tämä ei välttämättä pidä paikkaansa, jos tuotat suuria määriä ja käytät sen kanssa ystävällisiä tuotantotekniikoita, mutta jos teet niin, hintaero tulee entistä pakottavammaksi menemään halvemman ratkaisun kanssa.

Ohjaimena yleiseen hakkerointiin talossa tai mitä sinulla on, sanoisin, että AVR: ää on helpompi käyttää, koska: - Harrastajien näkökulmasta standardoidumpi, enemmän koodia, jota voin käyttää uudelleen Internetistä, koska perheenjäsenten keskuudessa ei ole niin paljon kääntäjän muunnelmia ja vaihteluja rekisterinimien ja sovellusliittymän välillä. (Yritä siirtää LPC ARM -koodi ATMEL ARM -laitteistoon, näet mitä tarkoitan) - Koodista tulee luonnostaan ​​monimutkaisempi (Se tekee. Todella). - Työkaluketju vaatii lisätyötä asennukseen. - Helpottaa käyttöliittymää. ARM: t pudottavat sinut yleensä 3v3- tai 1v8-logiikkaan, mikä tekee liitännästä muihin leluihin hieman ongelmallista. - Halvempi - ARM-sirun hankkiminen paikallisesta rautakaupasta ei ole minulle vaihtoehto, missä asun, AVR: n hankkiminen on.

En muista yhtään PIC-tiedostoa lukuun ottamatta joitain OTP-osia, joissa sulakebitit oli ohjelmoitu valmiiksi osana tehtaan testausta (ainoa tapa vahvistaa, että LP-, XT- tai HS-tila toimi, oli määrittää siru kyseistä tilaa varten) se vaati kiteen. Jotkut tarvitsivat ulkoisen vastuksen ja kannen RC-tilan käyttämiseen, ja niillä oli melko karkeat tiedot taajuudestaan, jota se tuottaa, mutta en muista yhtään PIC-kuvaa ilman suunnitteluvaihtoehtoa sisäiselle tai ulkoiselle RC: lle. Olenko unohtanut mitään?
Todellisuudessa ARM / AVR-kustannukset ovat melko lähellä pesua vastaaville resursseille. Ja tuotantoympäristössä käytettävät paketit eivät välttämättä ole niin erilaisia, koska se olisi todennäköisesti jommankumman QFP- tai QFN-muunnos. Vaadittu tukipiiri on myös melko vertailukelpoinen.
@Chris: Kun otat huomioon kunkin sirun tarjoamat resurssit, sanoisin, että ARM tulee halvemmaksi melkein joka kerta. Siitä huolimatta on kyse siitä, että tilanteissa, joissa AVR: llä on merkitystä tuotantoympäristössä, sinun ei tarvitse _ hevosvoimaa ja / tai ARM: n pöydälle tuomia kelloja ja vihellyksiä. Kun painotetaan hyödynnetyillä resursseilla käytettävissä olevien resurssien sijaan, AVR tulee halvemmalla. En usko, että tukipiirit ovat vertailukelpoisia (1 tantaalikondensaattori verrattuna 4: een ja muut vastaavat spiraalit). ARM ei ole kallis peto niin paljon kuin se voi olla ylenmääräinen.
@supercat: Ehkä. Minun on tarkistettava. Minulle ei koskaan näyttänyt ilmeiseltä muutaman kerran, kun katselin sitä. Tiedän, että ainakin jotkut dsPIC-tiedostot voivat kuitenkin palata sisäisiin, jos asetat ne oikein, mutta jopa siihen kesti pieni arvaus ja huijaaminen. Mikrosirutiedotteet jättävät paljon toivomisen varaa, IMO, mutta riippuu taas siitä, mitä markkinoita katsot.
@ChintalagiriShashank - huomioimatta muita oheislaitteita ja tarkastelemalla vain flash- ja ram-kokoja, on ARM-tarjouksia, jotka ovat melko kilpailukykyisiä esimerkiksi ATMEGA328p: n kanssa. Älä myöskään häiritse ohituskorkkeja. Ensinnäkin tantaali voi olla järkevää syöttösuodattimena, mutta todelliset ohituskorkit ovat pienempiä paikallisia säiliöitä korkean taajuuden kytkentävaatimuksia varten, ja siten ne voivat olla halpoja SMT-keramiikkaa. Tarvetta ohjaa myös kello- ja I / O-kytkentätaajuus - vertailukelpoisella kellotaajuudella ARM ei todellakaan tarvitse kaikkia suositeltuja ohituskorkkeja.
No, väittäisin, että 328p on itsessään jotain AVR steroideista, mutta sitten osoitat 1280 ja ystävät. Kun se tulee siihen pisteeseen, että käytän tosiasiallisesti sellaista salamaa ja ramia (enemmänkin ram. En ole koskaan nähnyt salaman yläosaa useimmissa tapauksissa), yleensä tilanteessa, jossa käsivarsi on järkevää. Yleensä tämä piste saavutetaan aiemmin sovellusten IO-rajoitusten vuoksi. On kuitenkin paljon paikkoja, joissa käytän 48 tai 88, ja paljon kertoja, joissa attiny on houkutteleva.
#4
+12
Craig Trader
2009-12-18 23:09:41 UTC
view on stackexchange narkive permalink

Osa syystä Arduinoa kohtaan osoittamaan laajaan yhteisön kiinnostukseen on fyysinen standardointi. Niin fyysinen kuin fyysinenkin asenne on, sisällyttämällä standardoitu laajennusvaihtoehto, Arduino-kehittäjät antoivat ihmisille mahdollisuuden luoda omia ratkaisuja. Jos haluat korvata Arduino-peruskortin toisella kortilla, joka käyttää eri mikrokontrolleria, voit. IIRC, joku on jo rakentanut PIC-pohjaisen levyn, joka käyttää Arduinon muotokerrointa. ( PIC Ardunio -taululla ei ole samaa muotokerrointa, mutta se on muuten samanlainen.)

Toinen syy Arduinon menestykseen on sen avoimuus - suurin osa PIC-pohjaiset mikrokontrollerit suljettiin; He käyttivät omia laitteistototeutuksia, joten jos halusit suunnitella levyn uudelleen sopivaksi paremmin tiettyyn tilaan, sinulla ei ollut onnea. He käyttivät mukautettuja laiteohjelmistoja ja omia kehitystyökaluja, joten jos sinulla oli virheitä tai halusit laajentaa ominaisuuksia, sinulla ei ollut onnea. Arduinon avulla jokainen palapelin pala on auki: voit ostaa osia mistä tahansa, järjestää niitä tarpeen mukaan, parantaa tai muokata laiteohjelmistoa ja kehitystyökaluja. Voit aloittaa yksinkertaisesti Arduino IDE: llä, mutta voit silti siirtyä C- tai Assembly-tilaan milloin tahansa, kun sitä tarvitset.

Pidän Arduinosta henkilökohtaisesti, koska se saa paljon asioita 'aivan oikein': Se ei ole liian kallis, sitä ei ole lukittu omiin työkaluihin, se on helppo aloittaa, sillä on paljon valmiuksia ja sillä on suuri käyttäjäyhteisö, joka laajenee edelleen ja tekee siistiä asioita.

Luettelit erittäin hyvät syyt, joita mikro-ohjaajien harrastajat kuten Arduino, mutta kysymys koski ARM vs AVR. Arduino mainittiin, koska se päätti valita AVR-sarjan MCU: t sen toteuttamiseksi. Mielestäni joitain asiaankuuluvia vastauksia on viestisi alla; esimerkiksi se, että Atmel tukee AVR-sarjaansa C-kääntäjällä. Hyvää tietoa kuitenkin Arduinon tuntemattomalle henkilölle.
#5
+7
jluciani
2009-12-18 20:41:00 UTC
view on stackexchange narkive permalink

ATmel-käyttöjärjestelmän merkittävä etu on, että Linuxille, PC: lle ja Macille on ilmainen kääntäjä. Lisää tähän yksinkertainen cross-platformGUI ja sinulla on ilmainen kehitysjärjestelmä, joka toimii kaikilla alustoilla.

Kustannukset ovat tärkeä tekijä harrastelautakunnille. Koska haluat aloitushinnan olla 30 dollarin alueella, sinulla on oltava uC-hinta, joka on nimellisarvoltaan pari dollaria.

ARM olisi erinomainen ehdokas ylemmän tason levyille. Monet yritykset lisensoivat ARM-ytimen ja lisäävät oheislaitteita. Uskon, että siellä on ilmaisia ​​kääntäjiä Linuxille, PC: lle ja MAC: lle.

Pidän todella paljon Freescale Coldfirestä huippuluokan levyille. Työskentelin testilaitteiden aluksella, joka käytti 5206e: tä. Lisäsimme joitain DRAM- ja erittäin tarkkoja A / D- ja D / A-muuntimia. Se oli kustannustehokas ratkaisu. En ole viime aikoina vertaillut Coldfirea moniin erilaisiin HAR-laitteisiin.

Jotkut 8-bittisistä Freescale-käyttöjärjestelmistä ovat mukavia, mutta en ole varma, onko niissä ilmaisia ​​työkaluja.

Kiitos hyödyllisestä kommentista, mutta "allekirjoituksen" 8 riviä on hieman äärimmäinen, nämä pinoverflow-pohjaiset sivustot pyrkivät halveksimaan omien sivustojesi mainostamista vastauksissasi.
@jluciani,, jos haluat mainostaa muita verkkosivustojasi, laita linkit profiiliisi, älä vastauksiisi. Loppujen lopuksi blogisi ei ole vastaus * tähän * kysymykseen ...
#6
+5
old_timer
2010-07-20 06:28:34 UTC
view on stackexchange narkive permalink

Olen samaa mieltä dip-paketin kanssa, olen eri mieltä siitä, että aseita on vaikeampaa konfiguroida, lpcs: t ovat, mutta he eivät ole ainoa lapsi käsivarren lohkossa (itse atmel tässä asiassa). Muistan ja kokeneeni Atmel oli ja on ehkä edelleen kehittäjäystävällisempi. AVR-perhonen auttoi heitä saamaan paljon käyttäjiä jo hyvään kokoiseen ja onnelliseen käyttäjäkuntaansa. PIC oli vain tuskallinen monin tavoin, AVR-työkalut olivat siellä, ohjelmointi oli helppoa ja ei maksanut sinulle paljon enemmän kuin jotkut johdot ja liitin radiohyllystä. Työkalut ovat käytettävissä ja ilmaisia, mutta eivät yhtä helppoja kuin päälinjan gcc, josta löydät käsivarren ja peukalon ratkaisut. Kauan ennen arduinon ilmestymistä AVR oli valinta siru harrastusprojekteihin.

Mikään ei voi kilpailla ARM: n kanssa tällä hetkellä. Kaikille muille prosessoreille, joita kosketat päivässä, kosketat ainakin muutamia ARMeja. Joillekin melkein kaikki kosketuksesi käyttää ARM: ää. Se on luonnollinen sovitus, koska 8-bittinen tappaja voi saada paljon paremman suorituskyvyn kuin 8-bittinen samankokoisilla, hinnallisilla jne. Työkalut ovat paljon parempia, käskysarja on paljon puhtaampi kuin suurin osa kilpailijoistaan, joten sama koodi toimii paljon nopeammin jne. Koska kuka tahansa ja heidän veljensä voivat upottaa ARM: n, eikä sitä ole lukittu yritykseen, kuten pic, avr, msp430, on olemassa monenlaisia ​​ratkaisuja ja yhtä monta eri tapaa käsitellä mikrokontrolleri rom / ram-seoksia ja keskeytysvektoritaulukko. Valitettavasti suosituin ratkaisu on tuskallisin. Kokeile sam7: tä tai jotain sellaista tai stellaria. On olemassa armmite pro, joka on yritys tehdä käsivarsi-arduino-laajennus tai jotain lähellä sitä, ja pidän itse asiassa siitä.

Ongelma ei aina ole prosessori, jotkut sirut ovat tunteneet ongelmia, jotkut muita tunnettuja ongelmia. jotkut eivät välttämättä tarjoa avointa kerääjän io-nastaa, jolla on heikko vetovoima, ja joudut asettamaan laitteiston sirun ulkopuolelle liittymään johonkin, missä toisella voi olla käytettävissä yksi tai kaikki nastat. Suosittelen näytteen ottamista kentältä, kokeilemalla eri yrityksiä ja ratkaisuja, jotta kun haluat vähän virtaa, voit helposti käyttää msp430: ta, haluat prosessointitehon pienessä sirussa, jonka käsivarrella kädet, tai jos haluat tehdä avoimen projektin, jonka toivot toiset rakentavat autotalliinsa, perustat sen arduinolle, jos pystyt.

Kysymyksen loppu on kuitenkin se, riippuu todella sovelluksestasi ja siitä, miten kirjoitat sen, sekä suorituskyvystä ja resursseista, joita olet Kiinnostunut. Samalla tavalla kuin gcc tai Firefox toimii monilla eri alustoilla ja prosessoreilla, voit varmasti kirjoittaa C-sovelluksesi toimimaan monilla erilaisilla mikro-ohjaimilla ... IF ... sinulla on mikrokontrollerikohtainen abstraktiokerros, jolla on kustannukset. jos mikrokontrollereilla on tarpeeksi samanlaisia ​​ominaisuuksia ja niillä on tarvitsemasi ominaisuudet, aiot suunnitella eteenpäin ja sisällyttää ne. Jos seuraavalla alustalla on tarpeeksi muistia / resursseja. Sinua kiinnostaa enemmän siirrettävyys kuin suorituskyky jne. Epäilemättä sinun on suunniteltava tämä etukäteen. tai ainakin ensimmäisessä kytkennässä A: sta B: hen suunnittelet ohjelmiston uudelleen, jos / kun on kolmas siirtyminen B: stä C: hen, se on vähemmän tuskallista.

Mikään ei voi kilpailla ARM: n kanssa juuri nyt. <- Teollisuudessa. Harrastajamaailmassa AVR on edelleen todella, todella vahva ja tulee olemaan vielä pitkään.
Olen ehdottomasti samaa mieltä siitä, että yksi maailman keskiarvo on hullu suosittu, toinen maailma sattuu olemaan se, jossa ostamamme tuotteet ovat kosketuksessa ja joita käytetään, missä rahat ovat, se on jotain muuta. Joten oppia yksi hauskanpitoon kotona, oppimaan toinen päivätyösi varten ja saamaan leikkiä koko päivän ja koko yön.
#7
+4
jeremy
2009-12-18 20:17:36 UTC
view on stackexchange narkive permalink

Tiedän sanoneesi "muu kuin hinta", mutta harrastajille se on todellakin tärkeintä. Et tarvitse vain yhtä UART: ta tai useampaa kuin yhtä SPI: tä, mikä on tarkoitus olla halpa, yleinen alusta. Kun alat tarvita> 20 MHz nopeuksia, sinun pitäisi todella etsiä mukautettua asetusta (ymmv tietysti)

#8
+3
David Sainty
2013-10-22 02:09:53 UTC
view on stackexchange narkive permalink

Muutama pieni asia, jota ei ole esitetty muissa kommenteissa:

  • Arduino on tarkoitettu pienimuotoisiin I / O-projekteihin, mikä lisää pientä älykkyyttä piiriin. Ne ovat tyypillisesti yksisäikeisiä, reaaliaikaisia ​​laitteita, joissa ARM menisi hukkaan. ARM-levyille on tietysti paljon vaihtoehtoja, mutta käyttötapaus on yleensä erilainen - tyypillisesti ne käynnistyvät täysimittaiseen käyttöjärjestelmään.

  • Kohdistamalla tähän pienimuotoiseen käyttötapaukseen , kaikki muu on helpompaa - pin-numero, tukikomponentit, virrankulutus jne. slummien sitä. 16 MHz: n prosessori on paljon murhetta herätyskellollesi integroidulla LED-jahtajalla (tai mikä tahansa :)

#9
+2
Olin Lathrop
2013-04-26 17:05:09 UTC
view on stackexchange narkive permalink

Arduino on saatavana muille prosessoreille. Katso esimerkiksi Microchipin ChipKit. Se käyttää PIC 32.

Anteeksi, otsikko oli väärä yritys muokata kysymystä, joka tehtiin sen rungosta. Sen pitäisi olla oikeampi nyt.
#10
+1
EFM32
2013-04-29 16:03:00 UTC
view on stackexchange narkive permalink

Toinen yritys (+3 vuotta sitten julkaistun alkuperäisen viestin otsikkoa ja kysymystä muutettiin alkuperäisen vastauksen jälkeen):

Kana ja muna, mutta varsinkin viime vuosina (2007 ARM toi markkinoille Cortex-M -arkkitehtuurin ), 32-bittisten MCU: iden suosio on kasvanut, ja toimittajat ovat olleet parempia tarjoamaan EE-yhteisölle nopeamman ja helpomman pääsyn suunnitellessaan> 8-bittisiä mikroja (paremmat sw-työkalut, ilmaiset työkalut, lisää esimerkkejä ...). p>

Koska Atmel yhdessä 100 muun kanssa tarjoaa myös Cortex-M -laitteita ja on päivittänyt työkaluketjun tukemaan AVR: ää ARM: ksi, ja pitkäaikainen suhde, Arduino-päivityspolku annetaan (?). Mutta vaihtoehdot tulevat esiin ja näyttävät sisältävän vaihtoehtoisia yrityksiä saada se osuus "hobbyyist" kakusta: esim. mX by NXP / ARM ja äskettäin "CoAction Hero": 32-bittinen avoimen lähdekoodin ARM Cortex-M3 -kortti KickStarterilla.

Viimeinen ajatus, 3 vuotta alkuperäisen kysymyksen jälkeen: kun kaikki toimittajat tarjoavat -bittiset Cortex-M-ytimet - voisiko Arduinosta todella tulla ei-Atmel?

Alkuperäinen vastaus: Alf-Egil Bogen, yksi Atmel AVR: n perustajista, tarkastelee joitain taustoja alan siirtymisestä 8-bittisistä 32-bittisiin ARM-ytimiin videoblogissaan täällä http://blog.energymicro.com/2013/04/24/avr2arm/.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...