A placa de avaliação ATmega328P Xplained mini permite explorar os recursos do ATmega328P, o mesmo utilizado na Arduino Uno. A placa vem com um debugger integrado que é facilmente usado em conjunto com o Atmel Studio, permitindo a programação do microcontrolador e também depuração do programa durante o desenvolvimento ou testes. Além da facilidade de acesso aos pinos do microcontrolador, a placa possui footprint Arduino, permitindo o uso de shields no padrão Arduino R3. A seguir serão apresentados os detalhes de seu hardware.
Hardware da ATmega328P Xplained Mini
O hardware da placa é bem simplificado, possuindo o microcontrolador ATmega328P, 1 tecla e 1 LED para uso geral, circuito de depuração e conector USB mini. A figura 1 a seguir exibe a placa e seus detalhes:
O esquema elétrico da placa pode se baixado no site da Atmel. É disponibilizado no documento todas as informações do circuito, PCB e também o BOM da placa.
O microcontrolador alvo da placa, como dito anteriormente, é o ATmega328P, o mesmo utilizado na placa Arduino Uno. Este é um microcontrolador de 8 bits da família Atmel AVR, possui 32 KB de Flash, 2 KB de RAM e 1 KB de EEPROM. OS seus pinos são facilmente acessados na placa Xplained mini, possibilitando diversas aplicações utilizando este microcontrolador. A figura 2 exibe a ligação elétrica do ATmega328P na placa:
Conforme exibido na Figura 1, além dos pinos de acesso ao microcontrolador, inclusive no padrão Arduino R3, a placa traz também 1 tecla e um LED para uso geral. Você pode utilizar esses componentes em suas primeiras aplicações com a placa. A tecla está ligada no pino PB7 e o LED no pino PB5, conforme exibido na figura 3:
O grande diferencial dessa placa é o circuito de debugger, chamado mEBDG. O circuito é baseado no microcontrolador ATmega32U4, o mesmo da Arduino Leonardo. Com este circuito é possível programar e depurar sem a necessidade de uma ferramenta externa, como por exemplo o Atmel-ICE ou AVR ONE.
Esse circuito ajudará durante o desenvolvimento de aplicações com a ATmega328P Xplained Mini permitindo executar o código passo a passo e a inserção de breakpoints para depuração. A figura 4 exibe o diagrama elétrico desse circuito.
O circuito também possui um regulador de tensão de 3V3. É baseado no LP2985-33, um LDO de 3V3, 150 mA com baixa corrente quiescente. O circuito é apresentado na figura 5 abaixo:
Dimensões da ATmega328P Xplained Mini
A placa possui poucos componentes e dimensões reduzidas. Seu tamanho é bem próximo ao de um Arduino Uno R3. A figura 6 exibe as dimensões da ATmega328P Xplained Mini:
Conclusão
A ATmega328P Xplained Mini é uma excelente plataforma para uso do microcontrolador ATmega328P, sendo uma alternativa à plataforma Arduino UNO. Apresenta recursos de depuração, ponto que o Arduino deixa a desejar, os pinos do microcontrolador são facilmente acessados e também é possível usar shields padrão Arduino R3. O circuito de debugger integrado facilita o desenvolvimento de aplicações mais profissionais utilizando o Atmel Studio e usando o recurso de depuração. Seu tamanho reduzido facilita a criação de protótipos e validação de ideias utilizando o microcontrolador e ferramentas de desenvolvimento da Atmel.






Ola.
Saberia dizer se funciona tão bem se for usado o visual Studio ao invés do ambiente da Atmel ?
Quanto a parte de debug, teria esta placa alguma vantagem em relação ao Arduino zero que tambem possibilita o debug ?
Gostaria de adquirir uma das duas e queria saber qual a melhor em questão de debug e facilidade de encontrar ela pelo Brasil para agilizar o tempo de chegada aqui, sem que tenha que encomendar de fora e esperar meses ate chegar aqui..
Obrigado,
Jota
Olá Jota, O ambiente da Atmel é baseado no Visual Studio com recursos para os microcontroladores e ferramentas de desenvolvimento da Atmel. A interface de debug(EDBG) são parecidas em ambas, mas na Xplained é uma versão reduzida com menos recursos(mEDBG), porém ambas necessitam de uma IDE com suporte a esse recurso. É interessante notar que são plataformas diferentes, a Xplained mini apresentada nesse artigo é baseada no ATmega328P, o mesmo do Arduino UNO. Já a Arduino Zero é baseada no SAMD21, um ARM Cortex M0+ com mais recursos e arquitetura diferente. Sobre a facilidade de encontrar, acredito que as placas… Leia mais »
ah, perguntas…
1) Até quantos breakpoints podem ser utlizados ao mesmo tempo nesta plataforma?
2) Vi que tem um ICSP ligado ao debugger (na verdade, o ICSP é a interface de depuração do mEDBG). Será que é possível gravar outros AVRs que não sejam do modelo empregado na Xplained Mini?
Acredito que a quantidade de breakpoints vai depender do microcontrolador alvo. No caso está utilizando o debugWire. Ainda não testei os limites, vou verificar isso e coloco aqui.
Acredito que dê para gravar outros microcontroladores, porém tem que fazer a ligação correta dos pinos de gravação no microcontrolador externo. Um ponto que notei nessa placa é que o clock do atmega328P é fornecido pelo ATmega32U4, talvez isso influencie para gravar um micro externo. Mais um teste que vou fazer e atualizarei aqui. abraços
ótimo.
Um dos grandes problemas que eu vejo o pessoal passando com o arduino é em como depurar o código.
Dá para realizar depuração via porta serial ou algum outro método invasivo, mas já vi problemas de timing na inserção de código de debug que levava a um mal funcionamento quando o produto estava executando código release.
Agora, com o conceito apresentado na Xplained Mini, esses problemas podem ser resolvidos.
Realmente Rafael, trabalhar com arduino e sem recursos de depuração não é fácil. fazendo a depuração pela serial ou por outros métodos de verificação no hardware não é tão eficiente e pode atrapalhar no desempenho e até deixar sujeira pra o produto final.
O uso de uma ferramenta de depuração ajuda bastante no processo de desenvolvimento. Com o debugger integrado pode agilizar esse processo.