Qual é a diferença entre 8051, PIC, AVR e ARM?
Let's ver agora.
- 8051, PIC e AVR têm arquitetura de Harvard (espaços de memória separados para RAM e memória de programa). ARM tem arquitetura von Neumann (programa e RAM no mesmo espaço).
- ARM tem uma arquitetura de 16 e/ou 32 bits. Os outros são byte (8-bit) architecture.
- 8051 e PIC tem espaço de pilha limitado - limitado a 128 bytes para o 8051, e tão pouco quanto 8 palavras ou menos para o PIC. Escrever um compilador C para estas arquiteturas deve ter sido um desafio, e a escolha do compilador é limitada.
- 8051, AVR e ARM podem endereçar diretamente toda a RAM disponível. PIC só pode endereçar diretamente 256 bytes e deve usar a comutação do banco para estendê-lo, embora o uso de um compilador C esconda isso. Você ainda paga uma penalidade de velocidade no entanto.
- 8051 e PIC precisa de múltiplos ciclos de relógio por instrução. AVR e ARM executam a maioria das instruções em um único ciclo de clock.
- 8051 e AVR são suficientemente similares que um AVR pode normalmente substituir um 8051 em produtos existentes praticamente sem mudança de hardware. Alguns AVRs são feitos com pinos 8051 para serem inseridos. A polaridade Reset é a principal diferença.
- 8051 e os conjuntos de instruções AVR são diferentes mas suficientemente similares para que seja possível traduzir o assembler 8051 para o assembler AVR linha por linha (eu fiz isto). Como um 8051 leva 12 (às vezes seis) relógios por instrução e um AVR leva apenas um, você tem que modificar as rotinas críticas de tempo.
- AVR e ARM têm o melhor compilador e suporte de aplicação, incluindo compiladores GCC livres.
- Unique dos quatro, o AVR pode operar em uma ampla faixa de voltagem - 1.8V a 5V. O ARM geralmente funciona apenas a 3.3V e os outros a 5V.