Fonte: www.makezine.com by John Teel
O blog makezine.com publicou recentemente o artigo 12 Specs to Consider When Choosing a Microcontroller for Your Product, o artigo foi escrito por John Teel, um profissional com vasta experiência no desenvolvimento de produtos voltados a sistemas embarcados, caso você queira conhecer um pouco mais sobre a história do John Teel, clique aqui. Nossa dica de leitura de hoje é esse artigo pois ele vem a acrescentar novas informações complementares ao nosso post Qual Arduino utilizar em seu projeto?, demonstra que mesmo você que ainda não é experiente no mundo da eletrônica pode atentar a simples critérios e especificações na escolha de uma plataforma Arduino, ou no caso, um microcontrolador, as mesmas que um profissional já experiente e renomado da área leva em consideração, além de trazer conceitos importantes e talvez novos para quem está ingressando agora no mundo embarcado.
No artigo, o autor descreve de forma bem sucinta as 12 especificações que o desenvolvedor deve levar em conta na escolha de um microcontrolador para seu produto, são eles:
1) Memória – Atualmente os microcontroladore disponíveis no mercado já contam com memórias RAM e Flash em sua estrutura. A Flash é uma memória não-volátil utilizada para armazenamento de programa, já a RAM é uma memória volátil para armazenamento de dados temporários. Alguns microcontroladores também incluem a memória EEPROM, responsável pelo armazenamento de dados permanentes;
2) GPIOs(Digital General Purpose Input and Output ) – São pinos utilizados para entrada e saída;
3) Entrada Analógica – A maioria dos microcontroladores possui a capacidade de ler de forma precisa tensões analógicas, os sinais analógicos são vistos pelo microcontrolador através de um conversor analógico digital(ADC);
4) Saída Analógica – Os sinais podem ser gerados pelo microcontrolador através de um conversor digital analógico(DAC) ou por um gerador de PWM, nem todos os microcontroladores possuem um DAC mas oferecem saídas PWM;
5) In Circuit Programming(ISP) – O ISP permite ao desenvolvedor programar o microcontrolador enquanto ele estiver instalado no circuito de aplicação, não existe a necessidade de removê-lo apenas para gravá-lo. Os dois protocolos mais conhecidos são JTAG e SWD;
6) Wireless – Se o seu produto necessita de interfaces sem fio, há microcontroladore especializados para esse tipo de aplicação que oferecem bluetooth, wifi, zigbee entre outros padrões wireless.
7) Comunicação Serial – Todos os microcontroladores oferecem algum tipo de comunicação serial. Os vários protocolos de comunicação serial são UART, SPI, I2C
8) UART(Universal Asynchronous Receiver Transmitter) – UART(Universal Asynchronous Receiver Transmitter) – é uma porta serial que transmite palavras digitais, tipicamente de comprimento de 7 a 8 bits, sua função é possibilitar a transmissão e a recepção de dados seriais;
9) SPI(Serial Peripheral Interface) – SPI é utilizado para comunicações seriais de curta distância entre microcontrolador e periféricos, SPI é um protocolo síncrono, ou seja, possui um clock que temporiza a comunicação, a SPI possui por padrão 4 sinais(data in, data out, clock e chip select).
10) I2C(Inter Integrated circuit) – é um barramento serial de 2 sinais, muito utilizado na comunicação entre o microcontrolador e outros chips da placa, assim como o SPI, o I2C é um protocolo síncrono. No entanto, o I2C possui um único sinal para data in e data out e ao invés de um pino de seleção de chip(Chip Selec), o I2C utiliza um único endereço para cada periférico, esse padrão de comunicação possui como vantagem utilizar apenas 2 sinais, onde o padrão SPI utiliza 4 sinais, porém, o I2C é mais lento que o SPI.
11) USB(Universal Serial Bus) – É provavelmente o padrão mais familiar, USB é um dos protocolos de comunicação serial mais rápidos, é normalmente utilizado para ligação de periféricos que necessitam de grandes quantidades de transferência de dados.
12) CAN(Controller Area Network) – É um padrão de comunicação serial desenvolvido para ser utilizado apenas em aplicações automotivas.
Após citar as 12 especificações e um breve resumo sobre o significado de cada uma, o autor descreve quatro famílias de microcontroladores notáveis, são elas: Arm Cortex – M, 8051, PIC e Atmel AVR, por fim, ele conclui o artigo dizendo que após selecionado o microcontrolador, o próximo passo é o design do circuito do microcontrolador e ligação dele com os periférios, mas essas são cenas dos próximos capítulos!
Opinião do Blog AutoCore Robótica sobre o artigo:
O artigo é bem sucinto, não traz tantos detalhes técnicos porém dá uma boa noção sobre o que significa cada especificação e vontade de buscar outras fontes para se aprofundar, eu particularmente, incluiria um outro fator que considero extremamente importante mas que o John Teel talvez não tenha considerado por ter levado em conta apenas especificações de hardware, a minha 13º especificação seria suporte do fabricante, será que o fabricante presta um bom suporte? Será que há uma vasta documentação técnica ou será que a documentação é pobre? Será que existem ides amigáveis para trabalhar com tal microcontrolador? Evaluation kits? Fica esse outro critério pra vocês leitores do blog também considerarem.
Bom pessoal, espero que vocês tenham curtido a dica de artigo de hoje! O artigo na íntegra, em inglês, você encontra aqui. Aguardo os feedbacks, até a próxima dica de artigo!