Conhecimento Básico sobre os AVR

Ola a todos,
Comecei agora de pouco no mundo dos AVR, pois vou precisar fazer alguns projetos mais complexos do que os meus de costume 8051 dão conta.
Me deparei com um mundo novo de termos e componentes, e gostaria da ajuda de vocês para esclarecer algumas questões, e dar algumas dicas de experiência prática, pois não disponho de tanto tempo para estar ele com calma e desvendar seus segredos.
Acho que isso ajudará também a muitos que como eu não dispõe desse tempo hábil para desvenda-lo sozinho.
Fiz uma relação do que eu entendi até o momento do mundo dos AVR! Me corrijam se eu estiver errado, e tem algumas dúvidas espalhadas pelo meio! qualquer acréscimo também é bem vindo!
AVR:
Os modelos mais usados para projetos são os de 8bits RISC, sendo:
Tiny, 2313 (20 pinos, 18 I/O) - com menor quantidade de portas e pinos
Mega, 8, 32, 128 (28 e 40 pinos, 3 a 4 portas)
Não entendi muito bem sobre os modelos Mega 48, 88, 168!! Alguém poderia complementar?!
é claro que a linha de produtos é muito mais ampla! pode ser vista neste link,
mas esses são os de fácil acesso no mercado.
Todos possuem oscilador interno, mas podem trabalhar com um externo.
Possuem PWM, timers, e entradas analógicas (com exeção do Tiny).
Podem ser programados no próprio circuito, se este tiver suporte. (ICSP)
Para gravação é necessário uma interface ICSP, que pode ser Paralela (mais simples), Serial, ou USB. Existem vários projetos na internet para a paralela e serial, mas ai depende também do programa que será usado. Eu particularmente gostei da opção do PonyProg, que possibilita a utilização da interface serial, e também da paralela. (Como a porta paralela não é isolada, é necessário botar um buffer como está no esquemático deste link.
Para programação pela Serial, Neste Link tem um esquemático bem simples, e funcional.
Ao que puder ver também, o próprio AVR Studio, faz a gravação também..
E tem ainda o AVRProg e o AVRDude! Será que alguém pode complementar sobre eles?!
Para gravar pela USB, é necessário um microcontrolador para fazer o intercambio! Nesse Projeto, é usado o Mega8 para isso. é bem completinho! Mas só é fornecido o arquivo em "hex"! Se fosse fornecido o "C" dava até pra adaptar em um Tiny e reduzir mais ainda essa placa. Alguém tem as rotinas para utilizar a USB diretamente no Microcontrolador, da maneira que é neste circuito?
Li também que para gravar os Mega, é necessário configurar os Fusiveis "Fuses", podendo até perder o componente caso não seja bem feito. O que seria isso?? Alguém pode indicar um material sobre isso, ou passar uma noção sobre isso!
Outros Termos que também me gerou certa confusão no início:
- Arduino: é uma placa de teste que faz grande sucesso pela facilidade de uso, e pelos módulos prontos. Página Oficial
- JTAG: é um método parecido com o ICSP para gravação, mas pode também ser usado para monitorar o que se passa dentro do micro-controlador em tempo real (portas, memória...). é necessário uma interface que faça essa comunicação entre o PC e o uC, pela serial ou USB, e também um software que de suporte a este método, como o próprio AVRStúdio. Não achei um projeto aberto de JTAG com USB, mas em serial tem este da Aquaticus, mas que não da suporte aos Tiny nem ao ATmega8! que pena.
Bom, isso é tudo o que sei até o momento dos AVR's, se tem alguma coisa mais que eu deva saber antes de projetar uma placa de testes, ou qualquer complemento útil nessa área, eu agradeceria!!
Grato desde já,
Fábio Luiz
Comecei agora de pouco no mundo dos AVR, pois vou precisar fazer alguns projetos mais complexos do que os meus de costume 8051 dão conta.
Me deparei com um mundo novo de termos e componentes, e gostaria da ajuda de vocês para esclarecer algumas questões, e dar algumas dicas de experiência prática, pois não disponho de tanto tempo para estar ele com calma e desvendar seus segredos.
Acho que isso ajudará também a muitos que como eu não dispõe desse tempo hábil para desvenda-lo sozinho.
Fiz uma relação do que eu entendi até o momento do mundo dos AVR! Me corrijam se eu estiver errado, e tem algumas dúvidas espalhadas pelo meio! qualquer acréscimo também é bem vindo!
AVR:
Os modelos mais usados para projetos são os de 8bits RISC, sendo:
Tiny, 2313 (20 pinos, 18 I/O) - com menor quantidade de portas e pinos
Mega, 8, 32, 128 (28 e 40 pinos, 3 a 4 portas)
Não entendi muito bem sobre os modelos Mega 48, 88, 168!! Alguém poderia complementar?!
é claro que a linha de produtos é muito mais ampla! pode ser vista neste link,
mas esses são os de fácil acesso no mercado.
Todos possuem oscilador interno, mas podem trabalhar com um externo.
Possuem PWM, timers, e entradas analógicas (com exeção do Tiny).
Podem ser programados no próprio circuito, se este tiver suporte. (ICSP)
Para gravação é necessário uma interface ICSP, que pode ser Paralela (mais simples), Serial, ou USB. Existem vários projetos na internet para a paralela e serial, mas ai depende também do programa que será usado. Eu particularmente gostei da opção do PonyProg, que possibilita a utilização da interface serial, e também da paralela. (Como a porta paralela não é isolada, é necessário botar um buffer como está no esquemático deste link.
Para programação pela Serial, Neste Link tem um esquemático bem simples, e funcional.
Ao que puder ver também, o próprio AVR Studio, faz a gravação também..
E tem ainda o AVRProg e o AVRDude! Será que alguém pode complementar sobre eles?!
Para gravar pela USB, é necessário um microcontrolador para fazer o intercambio! Nesse Projeto, é usado o Mega8 para isso. é bem completinho! Mas só é fornecido o arquivo em "hex"! Se fosse fornecido o "C" dava até pra adaptar em um Tiny e reduzir mais ainda essa placa. Alguém tem as rotinas para utilizar a USB diretamente no Microcontrolador, da maneira que é neste circuito?
Li também que para gravar os Mega, é necessário configurar os Fusiveis "Fuses", podendo até perder o componente caso não seja bem feito. O que seria isso?? Alguém pode indicar um material sobre isso, ou passar uma noção sobre isso!
Outros Termos que também me gerou certa confusão no início:
- Arduino: é uma placa de teste que faz grande sucesso pela facilidade de uso, e pelos módulos prontos. Página Oficial
- JTAG: é um método parecido com o ICSP para gravação, mas pode também ser usado para monitorar o que se passa dentro do micro-controlador em tempo real (portas, memória...). é necessário uma interface que faça essa comunicação entre o PC e o uC, pela serial ou USB, e também um software que de suporte a este método, como o próprio AVRStúdio. Não achei um projeto aberto de JTAG com USB, mas em serial tem este da Aquaticus, mas que não da suporte aos Tiny nem ao ATmega8! que pena.
Bom, isso é tudo o que sei até o momento dos AVR's, se tem alguma coisa mais que eu deva saber antes de projetar uma placa de testes, ou qualquer complemento útil nessa área, eu agradeceria!!
Grato desde já,
Fábio Luiz