quarta-feira, março 06, 2019

ATtiny841

Já faz muito tempo desde que eu descobri o ATtiny85 e ATtiny84. Mais recentemente eu comecei a brincar com o Franzininho, que usa o ATtiny85. Uma nova versão do Franzininho está sendo testada, e o microcontrolador que ele usa é um que eu não conhecia: o ATtiny841. Neste post, vamos ver como ele se compara com os outros dois que eu examinei no passado.

Os datasheets dos três modelos pode ser baixado do site da Microchip/Atmel: ATtiny85, ATtiny84 e ATtiny841.




Vamos começar com as más notícias: o ATtiny841 está disponível somente em encapsulamento SMD. Embora exista muita gente que diga que consegue soldar SMD sem ferramentas especais (e alguns realmente conseguem), está fora do meu alcance (até eu me provar enganado). Mesmo que eu consiga soldar, o fato de ser SMD dificulta montagens em protoboard e placas padrão, que são as minhas técnicas habituais. (Para quem estiver curioso, o Franzininho com o ATtiny841 será disponibilizado já montado, o modelo atual passará a ser denominado DIY para enfatizar que pode ser montado facilmente).

Como os demais modelos, o ATtiny841 usa a CPU AVR de 8 bits. Infelizmente, o velhusco WinAVR de 2010  não suporta o ATtiny841, apesar das versões mais novas do avr-gcc o fazerem. Um lugar para encontrar uma versão mais recente, com suporte ao ATtiny841, é na IDE atual do Arduino.

A capacidade de memória é a mesma para os três modelos que estou analizando: 8K de Flash para o código, 512 bytes de Ram e 512 bytes de EEProm.

Do ponto de vista de pinos, ATtiny841 é semelhante ao ATtiny84, com 14 pinos (tem uma versão em encapsulamento de 20 pinos, mas 6 pinos não são usados). Tirando os dois pinos de alimentação, os 12 demais podem ser usados para entrada/saída digital ou como entrada analógica. O ATtiny85, com apenas 8 pinos, nos deixa limitados a 6 pinos para entrada/saída digital ou entrada analógica.

O ADC possui alguns recursos a mais, mas a resolução é a mesma dos outros modelos.O ATtiny841 possui dois comparadores analógicos, contra um dos demais.

No setor de timers, o ATtiny841 possui um de 8 bits e dois de 16 bits, contra dois de 8 bits no ATtiny85 e um de 8 bits e um de 16 bits no ATtiny84.

Onde realmente temos diferenças é no suporte a comunicação serial. O ATtimy84 e ATtiny85 possuem uma única USI (Universal Serial Interface), que suporta comunicação I2C e SPI. Já o ATtiny841 possui interfaces I2C e SPI separadas e mais duas USARTs. Quem já sofreu com as limitações da comunicação serial assíncrona feita "na mão" vai ficar muito feliz com uma USART com suporte a vários formatos e  geração e conferência de paridade.

Resumindo, o uso do ATtiny841 nos fornece o dobro dos pinos do ATtiny85 para as funções digitais e analógicas, um timer a mais e melhores capacidades de comunicação serial.

Nenhum comentário: