- Comece com o requisito do projeto
- Veja os parâmetros apresentados
- Tensão de trabalho
- Conectores Alvo
- Interfaces Avançadas
- Ambiente de desenvolvimento
- Preço e disponibilidade
- Outras características
- Conclusão
Quando se trata de escolher um microcontrolador, é realmente uma tarefa confusa, pois existem vários microcontroladores disponíveis no mercado com as mesmas especificações. Portanto, cada parâmetro se torna importante quando se trata de selecionar um microcontrolador. Aqui, estamos comparando dois microcontroladores mais comumente usados - Microcontrolador PIC e Microcontrolador AVR. Aqui, eles são comparados em vários níveis, o que será útil na seleção do microcontrolador para o seu projeto.
Comece com o requisito do projeto
Reúna todas as informações sobre o seu projeto a ser iniciado antes de começar a escolher qualquer microcontrolador. É muito importante que as informações sejam coletadas o máximo possível, pois isso teria um papel importante na escolha do microcontrolador certo.
- Reúna informações do projeto, como Tamanho do Projeto
- Número de periféricos e sensores usados
- Requisito de energia
- Orçamento do Projeto
- Requisitos de interfaces (como USB, SPI, I2C, UART etc),
- Faça um diagrama de blocos de hardware básico,)
- Liste quantos GPIO são necessários
- Entradas analógicas para digitais (ADCs)
- PWMs
- Selecione a arquitetura necessária, ou seja (8 bits, 16 bits, 32 bits)
- Reconhecer os requisitos de memória do projeto (RAM, Flash etc)
Veja os parâmetros apresentados
Quando todas as informações estiverem reunidas, é o momento certo de escolher o microcontrolador. Neste artigo, as duas marcas de microcontroladores concorrentes PIC e AVR serão comparadas em diversos parâmetros. Dependendo da necessidade do projeto para comparar os dois, observe os seguintes parâmetros, como,
- Frequência: velocidade na qual o microcontrolador irá operar
- Número de pinos de E / S: portas e pinos necessários
- RAM: Todas as variáveis e matrizes declaradas (DATA) na maioria dos MCUs
- Memória Flash: qualquer código que você escrever vai aqui após a compilação
- Interfaces avançadas: interfaces avançadas como USB, CAN e Ethernet.
- Tensão de trabalho: Tensão de trabalho do MCU, como 5V, 3,3V ou baixa tensão.
- Conectores alvo: Os conectores para facilitar o projeto e o tamanho do circuito.
A maioria dos parâmetros são semelhantes em PIC e AVR, mas existem alguns parâmetros que certamente diferem quando comparados.
Tensão de trabalho
Com mais produtos operados por bateria, o PIC e o AVR conseguiram melhorar para as operações de baixa tensão. AVR são mais conhecidos pela operação de baixa tensão do que as séries PIC mais antigas, como PIC16F e PIC18F, porque essas séries PIC usavam o método de apagamento de chip que precisa de pelo menos 4,5 V para operar, e abaixo de 4,5 V os programadores PIC têm que usar o algoritmo de apagamento de linha que não pode apagar o dispositivo bloqueado. No entanto, este não é o caso do AVR.
AVR melhorou e lançou as variantes P (pico-power) mais recentes, como o ATmega328P, que são de consumo extremamente baixo. Além disso, o atual ATtiny1634 melhorou e vem com modos de hibernação para reduzir o consumo de energia quando o brownout é usado, o que é muito útil em dispositivos alimentados por bateria.
A conclusão é que o AVR estava focado em baixa tensão anteriormente, mas o PIC agora foi transformado para a operação em baixa tensão e lançou alguns produtos baseados em picPower.
Conectores Alvo
Os conectores de destino são muito importantes quando se trata de design e desenvolvimento. O AVR definiu interfaces ISP de 6 e 10 vias, o que o torna fácil de usar, ao passo que o PIC não o tem, então os programadores PIC vêm com terminais móveis ou soquetes RJ11 que são difíceis de encaixar no circuito.
A conclusão é que o AVR simplificou em termos de projeto e desenvolvimento de circuito com os conectores alvo, enquanto o PIC ainda precisa corrigir isso.
Interfaces Avançadas
Em termos de interfaces avançadas, o PIC é seguramente a opção, visto que tem o seu lugar com funcionalidades avançadas como USB, CAN e Ethernet, o que não é o caso do AVR. No entanto, pode-se usar chips externos, como FTDI USB para chips seriais, controladores Microchip Ethernet ou chips Philips CAN.
A conclusão é que o PIC certamente possui as interfaces avançadas do AVR.
Ambiente de desenvolvimento
Além disso, existem características importantes que tornam os dois microcontroladores diferentes um do outro. A facilidade do ambiente de desenvolvimento é muito importante. Abaixo estão alguns parâmetros importantes que explicam a facilidade do ambiente de desenvolvimento:
- IDE de desenvolvimento
- Compiladores C
- Montadores
IDE de desenvolvimento:
Tanto o PIC quanto o AVR vêm com seus próprios IDEs de desenvolvimento . O desenvolvimento do PIC é feito no MPLAB X, que é conhecido por ser o IDE estável e simples em comparação com o Atmel Studio7 do AVR, que tem 750 MB de tamanho e é um pouco desajeitado com mais recursos adicionais, o que o torna difícil e complicado para entusiastas eletrônicos iniciantes.
O PIC pode ser programado através de ferramentas de microchips PicKit3 e MPLAB X . O AVR é programado usando ferramentas como JTAGICE e AtmelStudio7. No entanto, os usuários estão mudando para as versões mais antigas do AVR Studio, como 4.18 com service pack3, pois ele é executado muito mais rápido e possui recursos básicos para desenvolvimento.
A conclusão é que o PIC MPLAB X é um pouco mais rápido e amigável do que o AtmelStudio7.
Compiladores C:
Tanto o PIC quanto o AVR vêm com compiladores XC8 e WINAVR C, respectivamente. O PIC comprou a Hi-tech e lançou seu próprio compilador XC8. Isto está completamente integrado no MPLAB X e funciona bem. Mas o WINAVR é ANSI C baseado no compilador GCC, o que facilita a portabilidade do código e o uso de bibliotecas padrão. A versão gratuita limitada de 4 KB do Compilador IAR C oferece uma amostra de compiladores profissionais que custam muito. Como o AVR foi projetado para C no início, a saída do código é pequena e rápida.
O PIC tem muitos recursos que o tornam bem em comparação com o AVR, mas seu código se torna maior por causa da estrutura do PIC. A versão paga está disponível com mais otimização, porém a versão gratuita não é bem otimizada.
A conclusão é que o WINAVR é bom e rápido em termos de compiladores do que o PIC XC8.
Montadores:
Com três registradores de ponteiro de 16 bits que simplificam o endereçamento e as operações de palavra, a linguagem assembly do AVR é muito fácil com muitas instruções e a capacidade de usar todos os 32 registradores como acumulador. Considerando que o montador PIC não está muito bem com tudo forçado a operar através do acumulador, obriga a usar a comutação de banco o tempo todo para acessar todos os registros de funções especiais. Embora o MPLAB inclua macros para simplificar a troca de banco, é tedioso e demorado.
Também a falta de instruções de desvio, apenas pule e GOTO, o que força em estruturas complicadas e um código um pouco confuso. A série PIC tem algumas séries de microcontroladores muito mais rápidas, mas novamente limitada a um acumulador.
A conclusão é que, embora alguns dos microcontroladores PIC sejam mais rápidos, é melhor trabalhar com AVR em termos de montadores.
Preço e disponibilidade
Falando em termos de preço, o PIC e o AVR são muito semelhantes. Ambos estão disponíveis principalmente no mesmo preço. Em termos de disponibilidade, o PIC conseguiu entregar os produtos no prazo estipulado em comparação com o AVR, pois a Microchip sempre teve política de prazos de entrega curtos. A Atmel passou por alguns momentos difíceis porque sua ampla gama de produtos significa que os AVRs são uma pequena parte de seus negócios, então outros mercados podem ter prioridade sobre os AVRs para capacidade de produção. Portanto, é aconselhável usar o PIC em termos de cronogramas de entrega, enquanto o AVR pode ser crítico para a produção. As peças do microchip tendem a estar mais facilmente disponíveis, especialmente em pequenas quantidades.
Outras características
O PIC e o AVR estão disponíveis em vários pacotes. O PIC lança mais versões do que o AVR. Esta implementação de versão pode ter prós e contras, dependendo dos aplicativos, como mais versões criam confusão na seleção do modelo adequado, mas ao mesmo tempo fornece melhor flexibilidade. A última versão do PIC e do AVR é de baixa potência e opera em uma variedade de faixas de tensão. Os relógios e temporizadores PIC são mais precisos, mas em termos de velocidade o PIC e o AVR são praticamente os mesmos.
O Atmel Studio 7 adicionou arquivos ELF de produção, que incluem EEPROM, Flash e dados de fusão em um arquivo. Considerando que o AVR integrou dados de fusíveis em seu formato de arquivo hexadecimal, para que o fusível possa ser definido em código. Isso permite a transferência do projeto para a produção mais fácil para o PIC.
Conclusão
PIC e AVR são dispositivos de baixo custo excelentes que não só podem ser usados em indústrias, mas também uma escolha popular entre estudantes e amadores. Ambos são amplamente utilizados e têm boas redes (fóruns, exemplos de código) com presença online ativa. Ambos têm bom alcance e suporte para a comunidade e ambos estão disponíveis em tamanhos e formatos amplos com periféricos centrais independentes. A Microchip assumiu o controle da Atmel e agora cuida do AVR e do PIC. No final, fica bem claro que aprender microcontrolador é como aprender linguagens de programação, pois aprender outra será muito mais fácil depois que você aprender uma.
É indiferente dizer que quem ganha, mas em quase todos os ramos da engenharia, não existe uma palavra como “melhor” enquanto que “Mais apropriado para aplicação” é uma frase adequada. Tudo depende dos requisitos de um determinado produto, método de desenvolvimento e processo de fabricação. Portanto, dependendo do projeto, pode-se escolher um microcontrolador adequado entre PIC e AVR.