Domanda

Quali sono i vantaggi dell'utilizzo ATmega32 rispetto ad altri microcontrollori?È meglio di FOTO, BRACCIO, E 8051?

È stato utile?

Soluzione

Dipende .. In primo luogo è necessario sapere cosa si vuole dal microprocessore.

In generale:

PIC:

  • Vecchia architettura. Questo significa che è sia costoso o lento
  • solo target di mercato di fascia bassa (
  • C'è un sacco di codice scritto per esso

ARM

  • Scalabile
  • Veloce / a buon mercato

Atmega sta nel mezzo

Altri suggerimenti

Vantaggi

  1. Funziona ancora a 5 V, quindi le interfacce legacy a 5 V sono più pulite
  2. Anche se supporta 5 V, le parti più recenti possono funzionare fino a 1,8 V.Questa vasta gamma è molto rara.
  3. Bel set di istruzioni, rendimento delle istruzioni molto buono rispetto ad altri processori (HCS08, PIC12/16/18).
  4. Port GCC di alta qualità (nessun compilatore proprietario scadente!)
  5. Le varianti "PA" hanno buone capacità di modalità di sospensione, in microampere.
  6. Set periferico ben arrotondato
  7. Funzionalità QTouch

Svantaggi

  1. Ancora 8 bit.Un ARM è un cavallo di battaglia a 16/32 bit e trasferirà una buona quantità di dati in più, a velocità di clock molto più elevate, rispetto a qualsiasi altro 8 bit.
  2. Costo.Può essere costoso rispetto all'HCS08 o ad altri processori a 8 bit economici.
  3. La toolchain GCC presenta peculiarità, come il modello di memoria divisa e puntatori limitati a 16 bit.
  4. Atmel non è il miglior fornitore del pianeta (almeno non sono Maxim...)

In breve, sono molto puliti e facili da usare con un microcontrollore a 8 bit.

Un 8051 è un'eredità:gli strumenti sono accettabili, l'architettura è bizzarra (idata?xdati?funzioni non rientranti nella maggior parte dei compilatori per impostazione predefinita?).

PIC prima PIC24 è anche bizzarro (registro bancario) e scarso rendimento orologio-> istruzioni.Non esiste nemmeno un compilatore C open source di prima classe.

PIC32 è in competizione con ARM7TDMI e ARM Cortex-M3, basato su un core MIPS adattato, e ha una porta GCC (non main-line).

L'AVR32 è in competizione con il Cortex-M3, e offre un buon rapporto qualità-prezzo, soprattutto nell'area a basso consumo.

MSP430 è il re dei dispositivi a bassissimo consumo e ha una porta GCC passabile (se non stai prendendo di mira 430X).

HCS08 è molto economico, ma ha una scarsa capacità di trasmissione delle istruzioni.Le periferiche variano parecchio.

ARM era un punto di ingresso dai costi più elevati, ma con l'introduzione dell'architettura Cortex-M3, il prezzo è diminuito rispetto a quello a 8 bit.Ad esempio, la serie LPC13xx è paragonabile ad un ATmega32 sotto molti aspetti.Luminary (TI) ha un set periferico piuttosto impressionante.

I trovare la famiglia PIC (prima della versione MIPS) per avere più set di istruzioni doloroso di tutti, il che significa assembler è il linguaggio della scelta se si vuole spazio conservare, ottenere le prestazioni, avere il controllo, ecc

Il 8051 è un po 'meno dolorosa, più registri, ma prende ancora una manciata di istruzioni per fare qualcosa di utile (cioè non è possibile confrontare questi per altri chip dal punto di vista MHz). Mi piace AVR in molti modi, si abbracciano la comunità homebrew e sviluppatore, o se non direttamente c'è una migliore famiglia di sviluppatori là fuori rispetto alla concorrenza. Non mi piace il set di istruzioni, ma è decenni a venire del PIC e 8051. Mi piace l'istruzione MSP430 messo un bel po ', è uno dei migliori set di istruzioni per l'insegnamento assemblatore, TI non è come sviluppatore se amichevole, può essere una lotta. L'eZ430 era sulla strada giusta, ma il goodfet è meglio, come non lo avete non riuscendo a lavorare ogni altra versione del kernel.

MSP430 e ARM hanno le migliori istruzioni set, per quanto mi riguarda che porta a buoni assembler e buoni strumenti di compilazione. È possibile trovare strumenti commerciali per tutto quanto sopra e certamente per 8051, MSP430, e ARM strumenti gratuiti (MSP430 e ARM possono utilizzare GCC, 8051 non può, cercare SDCC ). Per ora mspgcc4.sf.net e CodeSourcery sono il luogo per gli strumenti GCC based per MSP430 e ARM. LLVM supporta sia, sono stato in grado di ottenere LLVM 27 per battere l'ultimo GCC in un prova Dhrystone , ma questo è un test, percorsi LLVM dietro in termini di prestazioni, ma sta migliorando.

Per quanto riguarda la ricerca e la creazione di compilatori cross liberi vedo LLVM già come il più facile da ottenere e l'uso e per il futuro si spera solo migliorare. Purtroppo il porto MSP430 per LLVM era uno sguardo che cosa potrei fare in una presentazione PowerPoint pomeriggio e non una porta serio.

La mia risposta è che dipende da quello che stai facendo, e vi consiglio di provare tutti loro. In questi giorni le schede di valutazione sono nel sotto US $ 50 range e un po 'nel sotto US $ 30 range. Anche all'interno della famiglia ARM ( ST , Atmel, Stellaris, LPC, ecc) c'è un ampia veriety di caratteristiche e peculiarità che si trova solo se si tenta di loro. Evitare il LPCexpresso, mbed2 e primer STM32. Evitare LPC, in generale, e di evitare Cortex-M3, in generale, fino a quando si è tagliata i denti su un ARM7. Guardate SparkFun per Olimex e altre schede. Anche se è probabilmente LPC ARMmite PRO e Arduino Pro sono buone scelte. L'eZ430 è un buon inizio MSP430, e non mi ricordo chi sta facendo 8051 roba, Renasys (sp?), 8051s non sono tutti uguali, lo spazio registro varia da uno all'altro e si deve preparare per questo. Io probabilmente cercare un simulatore di 8051 se si vuole giocare con il 8051.

Vedo AVT e sicuramente ARM continua a dominare, mi piacerebbe vedere il MSP430 essere usato per altre cose che solo super bassa potenza. Con ARM, AVR, e MSP430 è possibile utilizzare e abituarsi a strumenti GCC ora e in futuro, che ha un sacco di vantaggi, anche se GCC non è il migliore compilatore al mondo, è di gran lunga il migliore compilatore supportato. Vorrei evitare di compilatori e strumenti proprietari. Vorrei cercare i dispositivi che hanno interfacce di programmazione non proprietarie che sono programmabili sul campo, JTAG è buono, ma per esempio il nuovo SWD JTAG su Cortex-M3 è male. TI MSP è stato ferito da questo, ma un po 'di hacking ha risolto questo, almeno per ora. Io davvero non ho molto buono da dire su PIC e non proverà. una grande cosa da cercare è la logica di colla, fa la parte o la famiglia hanno il SPI o I2C o quello che volete bus uso, avete bisogno di un tiro interna fino o cablata o ingresso?

Alcuni chip semplicemente non hanno questa opzione e si deve aggiungere hardware esterno. Avete bisogno di un interrupt, con il condizionamento? ARM tende a vincere su questo perché è un nucleo utilizzato da molti in modo da ciascun fornitore ARM mette il proprio I / O là fuori in modo da poter ancora vivere nel mondo ARM e hanno molte scelte, AVR e MSP intenzione di essere molto limitata da confronto. Con ARM gli strumenti stanno per essere stato dell'arte, ARM è la più processore utilizzato al momento. AVR e MSP sono addons progetto speciali, meno ampiamente supportati e fragili. Anche se ARM è bassa potenza rispetto a Intel su un SBC piattaforma di computer o, è probabile non come bassa potenza come AVR o MSP. Hai davvero bisogno di guardare il vostro progetto e scegliere il processore giusto per il lavoro, non lo farei e non mi limito ad una sola famiglia. Con a buon mercato come le schede di valutazione sono, e quasi tutti possono utilizzare strumenti gratuiti, è solo una questione di mettere in un paio di notti o fine settimana per imparare ogni. Suggerisco di imparare più di un AVR, e imparare più di un microprocessore.

A questo fine dello spettro, ci sono solo veramente due fattori che fanno molta differenza. In primo luogo, in quantità minori, l'unica cosa che conta a tutti è che l'architettura si adatta alle vostre esigenze di sviluppo migliore. Se sei già familiarità con PIC, non c'è molto senso di apprendimento avr, o viceversa. Scegliere un'architettura che ti piace, poi ordinare attraverso le opzioni che l'architettura per vedere quale modello è all'altezza delle vostre particolari esigenze.

In quantità (ad esempio, 20 o più unità), si potrebbe beneficiare scegliendo proprio la giusta piattaforma che corrisponde esattamente le esigenze dei vostri dispositivi, per mantenere i costi più bassi possibile.

In generale, Pic e le piattaforme di AVR sono buoni per semplici, dispositivi monofunzione, dove, come braccio viene utilizzato nei casi in cui è necessario uno stack sistema operativo completo come QNX o Linux per le cose come TCP o tempo reale con i servizi del sistema operativo.

Se si desidera che la più ampia scelta di periferiche, prestazioni, prezzo-point, software e strumenti di supporto, e fornitori che sarebbe stato difficile da battere una parte a base ARM Cortex-M3.

Ma affrontare la tua domanda direttamente l'intera gamma AVR ha un'architettura coerente e set di periferiche comuni dal piccolo al Mega (non AVR32 però che è completamente diverso). Questa è la differenza significativa con PIC in cui quando si sposta la gamma (PIC10, 12, 16, 18, 24, 32), si ottiene diversi disegni periferici, diversi set di istruzioni, e hanno bisogno di investire in diversi compilatori e debug hardware.

Il set di istruzioni per AVR è stato progettato per il codice di compilazione efficiente C (di nuovo a differenza PIC).

8051 è un'architettura originariamente introdotta da Intel decenni fa, ma ora è usato come nucleo per 8 dispositivi bit da un certo numero di fornitori. Essa ha alcuni trucchi intelligenti come contesto multitasking efficiente interruttori con le sue 8 banchi di registri duplicati, e un blocco di bit di memoria indirizzabile, ma ha un'architettura di memoria eccentrico e intervallo di indirizzi limitato (come la maggior parte dei dispositivi 8 bit). Grande per dispositivi di piccole dimensioni ben mirate, ma non veramente scopo generale.

ARM Cortex-M3 sostanza sostituisce ARM7TDMI, ed è un disegno pulito con un'architettura ben pensato. Si richiede il codice di avviamento assemblatore minimo e persino ISR e tabelle vettore può essere codificato in C direttamente senza alcuna estensione del compilatore strani o ingresso assemblatore / codice di uscita. La sua tecnica bitbanding permette tutta la memoria e le periferiche ad essere atomicamente po indirizzabile, che è utile per I / O veloci e multithreading sicura. Fondamentalmente è progettato per consentire il codice C o C ++ a livello del sistema senza estensioni compilatore non standard. Ovviamente è un'architettura a 32 bit, per cui non ha la risorsa o limitazioni aritmetica dei dispositivi 8 bit. I prezzi per le parti di fascia bassa in concorrenza con elevate prestazioni dispositivi 8 bit, e soffiare maggior parte dei dispositivi a 16 bit fuori dall'acqua (16 bit rendendo quasi obsoleto).

Un altra cosa fondamentale da ricordare è che PIC e AVR sono da singoli fornitori, mentre il 8051 e sono concessi in licenza ARM core. Ogni licenziatario aggiunge il proprio set di periferiche, quindi non c'è comunanza tra i fornitori sulle periferiche, in modo da esigenze di codice dei driver di periferica porting quando si passa fornitori, ed è necessario per garantire la parte ha le periferiche di cui hai bisogno. Se si progetta bene il vostro livello di dispositivo, questa è raramente più di un problema.

Beh, non è facile rispondere. Dipende in gran parte su ciò che è stato utilizzato in precedenza. Se sei già utente AVR, allora è buono da usare. D'altra parte si possono trovare PIC con funzionalità simili, quindi mi piacerebbe dire che è la preferenza per lo più personale. Penso che la maggior parte braccia sono più capaci di ATmega32 serie. Se si desidera un buon consiglio, dirci cosa si prevede di utilizzare per.

AVR hanno modello di memoria piana e disporre di strumenti di sviluppo gratuiti e hardware di sviluppo economico è disponibile per loro.

Non so abbastanza di 8051 per un commento.

Oh, e se stai pensando di ATmega32 originali, direi che è una cattiva idea. E 'intenzione di essere deprecato presto, quindi si può prendere in considerazione modelli più recenti della serie ATmega32.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top