Pergunta

Quais são as vantagens de usar ATmega32 do que outros microcontroladores?É melhor do que FOTO, BRAÇO, e 8051?

Foi útil?

Solução

Depende .. Em primeiro lugar, você precisa saber o que deseja do microprocessador.

No geral:

FOTO:

  • Arquitetura antiga. Isso significa que é caro ou lento
  • Metas apenas no mercado de baixo nível (<poucos MHz)
  • Há muito código escrito para isso

BRAÇO

  • Escalável
  • Rápido/barato

Atmga está em algum lugar entre

Outras dicas

Vantagens

  1. Ainda funciona em 5 V, então Legacy 5 V Stuff Interfaces Cleaner
  2. Embora seja capaz de 5 V, as peças mais recentes podem chegar a 1,8 V. Essa ampla gama é muito rara.
  3. Bom conjunto de instruções, taxa de transferência de instruções muito boa em comparação com outros processadores (HCS08, PIC12/16/18).
  4. Porta GCC de alta qualidade (sem compiladores de baixa qualidade!)
  5. As variantes "PA" têm bons recursos de modo de suspensão, em micro-amperes.
  6. Conjunto periférico bem arredondado
  7. Capacidade QTouch

Desvantagens

  1. Ainda 8 bits. Um braço é um cavalo de trabalho de 16/32 bits e pressionará uma boa quantidade mais dados, a velocidades de relógio muito mais altas do que em qualquer 8 bits.
  2. Custo. Pode ser caro em comparação com o HCS08 ou outros processadores de barganha de 8 bits.
  3. O GCC Toolchain tem peculiaridades, como o modelo de memória dividida e ponteiros limitados de 16 bits.
  4. Atmel não é o melhor fornecedor do planeta (pelo menos eles não são máximos ...)

Em suma, eles são muito limpos e fáceis de trabalhar com um microcontrolador de 8 bits.

Um 8051 é legado: as ferramentas são aceitáveis, a arquitetura é bizarra (funções não-reentrantes bizarras na maioria dos compiladores por padrão?).

Foto antes PIC24 também é bizarro (registro bancário) e um relógio ruim-> Taxa de transferência de instrução. Também não existe compilador de código aberto de primeira classe.

PIC32 está competindo com o ARM7TDMI e o ARM Cortex-M3, com base em um núcleo MIPS adaptado, e possui uma porta GCC (não forrada principal).

O AVR32 está competindo com o Cortex-M3 e oferece um valor muito bom, especialmente na área de baixa potência.

O MSP430 é o rei para dispositivos de ultra baixa potência e possui uma porta GCC aceitável (se você não estiver segmentando 430X).

O HCS08 é muito barato, mas baixa taxa de transferência de instrução. Os periféricos variam bastante.

O braço costumava ser um ponto de entrada de custo mais alto, mas com a introdução da arquitetura Cortex-M3, o preço está caindo em comparação com um de 8 bits. Por exemplo, a série LPC13XX é comparável a um ATMEGA32 de várias maneiras. O Luminary (Ti) tem um conjunto periférico bastante impressionante.

Acho que a família PIC (antes da versão MIPS) tem o conjunto de instruções mais doloroso de todos, o que significa que assembler é a linguagem preferida se você deseja economizar espaço, obter desempenho, ter controle, etc.

O 8051 é um pouco menos doloroso, tem mais registros, mas ainda requer algumas instruções para fazer algo útil (o que significa que você não pode compará-los com outros chips da perspectiva de MHz).Eu gosto do AVR de várias maneiras, eles abraçam a comunidade de desenvolvedores e homebrews ou, se não diretamente, existe uma família de desenvolvedores muito melhor em comparação com a concorrência.Não gosto do conjunto de instruções, mas está décadas à frente do PIC e do 8051.Eu gosto bastante do conjunto de instruções MSP430, é um dos melhores conjuntos de instruções para ensinar assembler, mas a TI não é tão amigável ao desenvolvedor, pode ser uma luta.O eZ430 estava no caminho certo, mas o goodfet é melhor porque você não deixa de funcionar em todas as outras versões do kernel.

MSP430 e ARM têm os melhores conjuntos de instruções, no que me diz respeito, o que leva a um bom montador e a boas ferramentas de compilador.Você pode encontrar ferramentas comerciais para todos os itens acima e certamente para 8051, MSP430 e ferramentas gratuitas ARM (MSP430 e ARM podem usar GCC, 8051 não pode, procure por SDCC).Por enquanto mspgcc4.sf.net e Fonte de código são o lugar para ferramentas baseadas em GCC para MSP430 e ARM. LLVM suporta ambos, consegui fazer com que o LLVM 27 vencesse o GCC mais recente em um teste de pedra seca, mas esse é um teste, o LLVM fica atrás em desempenho, mas está melhorando.

No que diz respeito a encontrar e criar compiladores cruzados gratuitos, vejo o LLVM já como o mais fácil de obter e usar e, no futuro, espero que só melhore.Infelizmente, a porta MSP430 para LLVM foi uma olhada no que eu poderia fazer em uma apresentação de PowerPoint à tarde e não uma porta séria.

Minha resposta é que depende do que você está fazendo e recomendo que você experimente todos eles.Hoje em dia, os conselhos de avaliação estão na faixa abaixo de US$ 50 e alguns na faixa inferior a US$ 30.Mesmo dentro da família ARM (ST, Atmel, Stellaris, LPC, etc.) há uma grande variedade de recursos e peculiaridades que você só encontrará se experimentá-los.Evite os primers LPCexpresso, mbed2 e STM32.Evite LPC em geral e evite Cortex-M3 em geral até que você comece a usar um ARM7.Veja SparkFun para Olimex e outras placas.Embora seja provavelmente LPC o ARMmite PRO e Arduino Pró são boas escolhas.O eZ430 é um bom começo para o MSP430, e não me lembro quem está fazendo coisas do 8051, Renasys (sp?), 8051s não são todos iguais, o espaço de registro varia de um para outro e você tem que se preparar para isso.Eu provavelmente procuraria um simulador 8051 se você quiser brincar com o 8051.

Vejo que o AVT e definitivamente o ARM continuam a dominar, gostaria de ver o MSP430 ser usado para outras coisas além de consumo super baixo.Com ARM, AVR e MSP430 você pode usar e se acostumar com as ferramentas GCC agora e no futuro, o que traz muitos benefícios, mesmo que o GCC não seja o melhor compilador do mundo, é de longe o compilador com melhor suporte.Eu evitaria compiladores e ferramentas proprietárias.Eu procuraria dispositivos que tivessem interfaces de programação não proprietárias que fossem programáveis ​​em campo, JTAG é bom, mas por exemplo o novo SWD JTAG no Cortex-M3 é ruim.A TI MSP ficou prejudicada com isso, mas alguns hackers resolveram o problema, pelo menos por enquanto.Eu realmente não tenho muito a dizer sobre o PIC e não vou tentar.Uma coisa importante a se procurar é a lógica da cola: a parte ou a família tem o IPS ou I2C ou qualquer barramento que você queira usar, você precisa de um pull up interno ou com fio ou entrada?

Alguns chips simplesmente não têm essa opção e você precisa adicionar hardware externo.Você precisa de uma interrupção, com condicionamento?ARM tende a vencer nisso porque é um núcleo usado por muitos, então cada fornecedor de ARM disponibiliza sua própria E/S para que você ainda possa viver no mundo ARM e ter muitas opções, AVR e MSP serão muito limitados por comparação.Com ARM as ferramentas serão de última geração, ARM é o processador mais usado no momento.AVR e MSP são complementos de projetos especiais, menos amplamente suportados e frágeis.Embora o ARM tenha baixo consumo de energia em comparação com a Intel em um SBC ou plataforma de computador, provavelmente não tem um consumo tão baixo de energia quanto um AVR ou MSP.Você realmente precisa olhar para o seu projeto e escolher o processador certo para o trabalho, eu não iria e não me limitaria a uma família.Por mais baratos que sejam os painéis de avaliação e quase todos possam usar ferramentas gratuitas, é apenas uma questão de dedicar algumas noites ou fins de semana para aprender cada um.Sugiro aprender mais de um AVR e mais de um microprocessador.

Nesse final do espectro, existem apenas dois fatores que fazem muita diferença. Primeiro, em quantidades menores, a única coisa que importa é qual a arquitetura adequada ao seu desenvolvimento precisa melhor. Se você já está familiarizado com o PIC, não há muito sentido em aprender AVR ou Visa Versa. Escolha uma arquitetura que você goste e classifique as opções nessa arquitetura para ver qual modelo está em suas necessidades específicas.

Em quantidade (digamos, 20 ou mais unidades), você pode se beneficiar escolhendo a plataforma certa que atende exatamente às necessidades de seus dispositivos, para manter os custos o mais baixos possível.

Em geral, as plataformas PIC e AVR são boas para dispositivos de função simples e simples, onde o ARM é usado nos casos em que você precisa de uma pilha completa do sistema operacional, como QNX ou Linux, como TCP ou tempo real com os serviços do sistema operacional.

Se você deseja a mais ampla escolha de periféricos, desempenho, ponto de preço, suporte de software e ferramentas e fornecedores, seria difícil vencer uma parte baseada em um córtex-M3 do ARM.

Mas, abordando sua pergunta diretamente, toda a faixa AVR possui uma arquitetura consistente e conjunto periférico comum do minúsculo para o Mega (não AVR32, no entanto, o que é totalmente diferente). Essa é a diferença significativa com o PIC em que, ao subir o alcance (Pic10, 12, 16, 18, 24, 32), você obtém projetos periféricos diferentes, diferentes conjuntos de instruções e precisam investir em diferentes compiladores e hardware de depuração.

O conjunto de instruções para AVR foi projetado para compilação eficiente de código C (novamente diferente da PIC).

8051 é uma arquitetura originalmente introduzida pela Intel décadas atrás, mas agora usada como núcleo para dispositivos de 8 bits de vários fornecedores. Ele possui alguns truques inteligentes, como interruptores de contexto de multitarefa eficientes por meio de seus 8 bancos de registro duplicados e um bloco de memória endereçável de bits, mas possui uma arquitetura de memória peculiar e intervalo de endereços limitados (como a maioria dos dispositivos de 8 bits). Ótimo para pequenos dispositivos bem -alvo, mas não verdadeiramente de propósito geral.

O ARM Cortex-M3 substitui essencialmente o ARM7TDMI e é um design mais limpo com arquitetura bem pensada. Requer código de inicialização mínimo de montagem e até as tabelas ISRs e vetoriais podem ser codificadas em C diretamente, sem nenhuma extensão de compilador estranho ou código de entrada/entrada de assembler. Sua técnica de banda de bits permite que toda a memória e periféricos sejam atomicamente um bit endereçável, o que é útil para E/S rápida e multithreading segura. Basicamente, ele foi projetado para permitir o código C ou C ++ no nível do sistema sem extensões de compilador não padrão. É claro que é uma arquitetura de 32 bits, por isso não possui o recurso ou limitações aritméticas de dispositivos de 8 bits. Os preços das peças de baixo custo competem com dispositivos de 8 bits de alto desempenho e sopram a maioria dos dispositivos de 16 bits da água (tornando-se 16 bits quase obsoletos).

Outra coisa importante a lembrar é que o PIC e o AVR são de fornecedores únicos, enquanto 8051 e ARM são núcleos licenciados. Cada licenciado adiciona seu próprio conjunto periférico; portanto, não há semelhança entre os fornecedores nos periféricos; portanto, o código do driver do dispositivo precisa ser porta ao alternar os fornecedores e você precisa garantir que a peça tenha os periféricos necessários. Se você projetar bem a camada do seu dispositivo, isso raramente é um problema.

Bem, não é fácil responder. Depende principalmente do que você usou antes. Se você já é usuário do AVR, é bom usar. Por outro lado, você pode encontrar fotos com recursos semelhantes, então eu diria que é principalmente preferência pessoal. Eu acho que a maioria dos braços é mais capaz do que a série Atmega32. Se você quiser bons conselhos, diga -nos para que você planeja usá -lo.

Os AVRs têm modelo de memória plana e têm ferramentas de desenvolvimento gratuitas e hardware de desenvolvimento barato está disponível para eles.

Não sei o suficiente sobre 8051 para comentar.

Ah, e se você está pensando no atmega32 original, eu diria que é uma má ideia. Em breve, será depreciado em breve, então você pode considerar modelos mais novos da série Atmega32.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top