quinta-feira, dezembro 06, 2012

JY-MCU Minimum AVR System Board - Introdução

É impressionante como cresceu a quantidade de itens que se encontra na DealExtreme quando se procura por "Arduino". Neste exato momento são 1132 itens! Garimpando um pouco encontra-se alguns itens muito curiosos como esta placa de microcontrolador por menos de US$11.



Parte dos "atrativos" das traquitanas da DX é descobrir o que são os itens e como usá-los. É um trabalho investigativo que começa nos comentários e avaliações do item, passa por buscas imaginativas na internet e deságua em testes práticos para sanar as dúvidas.

Afinal, o que é a "JY-MCU Minimum AVR System Board"?  Como o nome sugere, é uma placa básica para estudo estudo dos microcontroladores AVR. No caso, um ATmega32 (sobre o qual tem muita informação no site da Atmel). Não é uma placa compatível com o hardware e software do Arduino, mas tem uma série de recursos interessantes. O esquema da placa (encontrado em algum canto da internet que eu já esqueci) está nos arquivos do blog com o nome "JY_Mega32_Esquema.pdf".

O primeiro ponto, digamos curioso, é o clock. Com uma lupa (ou clicando na foto acima) podemos conferir que o cristal é de 16MHz e o microcontrolador é o ATmega32L-A8U, cujo datasheet informa que a velocidade máxima é 8MHz. Meus testes confirmaram que temos aqui mais um overclock descarado.

O ATmega32 é um microcontrolador bem competente da série AVR, com características semelhantes ao do ATmega328 usado no Arduino. É um pouco mais limitado em alguns aspectos, mas tem uma interface padrão JTAG para programação e depuração, que não existe no 328.

A placa possui 8 LEDs e 4 botões ligados a saídas e entradas digitais, além de um LED de alimentação e um botão de reset. Um conector "espeto" permite a conexão à maioria dos pinos do microcontrolador, possibilitando o uso da placa como "cérebro" de um projeto.

A programação padrão SPI, que usei até agora nos meus projetos com AVR, está disponível através de um conector não padrão. Um segundo conector permite a programação e depuração JTAG.

Mais curioso, e útil, é um conector mini USB. O ATmega32 não possui suporte de hardware a USB e nenhum conversor externo é usado para isto. A placa utiliza um esquema como o que já vimos aqui e aqui para permitir implementar USB por firmware. O bootloader que vem gravado no ATmega  implementa um dispositivo USB do tipo HID (Human Interface Device). Este bootloader provavelmente é baseado neste projeto. O Windows já vem com os drivers necessários para os dispositivos HID, portanto você precisa comente do utilitário bootloadHID. Tem só uma pegadinha: para ativar o bootloader você precisa dar reset com o botão S4 apertado.

Nos próximos posts vamos fazer algumas experiências com esta placa.

Nenhum comentário: