Microchip PIC 16F / 18F
Mercado alvo
Microprocessadores baratos de 8 bits. O 16F é uma das linhas de processadores anteriores da Microchip e não é particularmente passível de programação em C / C ++ devido a:
- seu conjunto de instruções e arquitetura de memória
- a necessidade de trocar de banco
- falta de suporte para operações comuns de ponteiro
- baixo desempenho em C / C ++ devido à arquitetura
- requer tamanho de programa maior para implementar algoritmos
A série 18F é mais recente e deve ser considerada se você puder pagar pelo seu projeto. É semelhante no mercado-alvo, conjunto periférico, pacotes de IC, ferramentas de desenvolvimento e preço à série 16F. O núcleo 18F foi projetado para ser mais acessível a C e C ++, devido a:
- suporte para indireção
- bancos de RAM específicos sempre acessíveis (sem necessidade de troca de banco)
Programas
Muito fácil de programar, você pode escrever usando seu conjunto de 30 instruções de montagem ou usar um compilador C . Estes são MCUs de 8 bits. Portanto, se você quiser trabalhar com valores> 255, precisará localizar / escrever o código de adição / subtração / multiplicação / divisão de 2 bytes. Sua memória RAM possui 4 "bancos", portanto, se você escrever em assembly, precisará alternar entre acessar as variáveis armazenadas em bancos que não sejam os atuais.
Hardware
Esses MCUs funcionam muito lentamente, com uma velocidade típica de 4 MIPS e uma velocidade máxima de 20 MIPS. Eles têm alguns recursos de hardware embutidos que funcionam bem se configurados corretamente, como ADC, porta serial, porta paralela, barramento CAN, barramento I2C, barramento SPI, comparação de voltagem, EEPROM e, é claro, portas de E / S para todos os fins .
Documentação
- As folhas de dados têm todas as informações necessárias (pinagens, registros de configuração, etc.) categorizadas e bem documentadas. Um manual também explica detalhadamente os recursos.
Ferramentas de desenvolvimento
O Microchip possui uma nova ferramenta, a VDI, que facilita a configuração dos vários recursos de hardware do MCU, o que gera montagem ou código C. Melhor do que derramar sobre as folhas de dados.
A Microchip oferece seu MPLAB IDE há muitos anos e, embora o programa esteja melhorando lentamente, comparado às ferramentas de desenvolvimento de PC (Visual C ++, Eclipse / NetBeans para Java / etc), a interface do usuário é muito ruim e o software ainda é particularmente problemático. Ele também não suporta C ++, apesar do fato de que a diferença entre C e a maioria dos recursos de C ++ (excluindo alocação de memória dinâmica, funções virtuais e alguns outros recursos) é muito pequena e o C ++ incentiva a modularidade da programação. Existem fornecedores de IDE de terceiros, principalmente IAR, mas eles são caros. (A Hi-Tech foi comprada pela Microchip recentemente.)
A depuração no circuito é oferecida em algumas partes pela interface ICD da Microchip, uma interface serial de 2 pinos que pode ser acessada através dos adaptadores de depuração ICD2, ICD3 , REAL ICE , PICkit2 / 3, etc. Certifique-se de verificar se a peça escolhida possui os recursos do CDI! Os recursos de depuração são um tanto limitantes e têm "skid", onde você define um ponto de interrupção em uma instrução e o programa para algumas instruções posteriormente. No entanto, o CDI é melhor que nada.
Apoio, suporte
- As notas de aplicação descrevem código e circuito para várias aplicações comuns
- Comunidade ativa de usuários nos Fóruns do Microchip
- Site gratuito de suporte técnico, 24 horas por dia, 7 dias por semana, para o qual você envia seus problemas (tickets) e a equipe técnica responde sem custo e ainda permite que você ligue se precisar de mais ajuda
- Apresentações (seminários na web) que explicam os vários módulos e aplicativos