Manual Técnico
Transcrição
Manual Técnico
Serial Link Comunicações & Serviços Manual Técnico Arduino Programador Supervisório Gravador de Bootloader Seriallink.com.br 2014 – Todos os direitos reservados – Página 1 de 19 Serial Link Comunicações & Serviços Sumário Manual Técnico......................................................................................................................................................1 Introdução.........................................................................................................................................................3 Características..................................................................................................................................................3 Downloads.........................................................................................................................................................3 Windows 8.........................................................................................................................................................3 Programação.....................................................................................................................................................4 AVRDUDE....................................................................................................................................................4 Exemplos...........................................................................................................................................................6 Exemplo 1 – Gravando Bootloader do Arduino UNO no ATMega328p......................................................7 Conectores Adicionais de Configuração.........................................................................................................16 JP1 – Ativação da Saída 5V......................................................................................................................16 JP3 – Saída Serial TTL..............................................................................................................................16 JP2 – Auto Programação (self-prog).........................................................................................................17 JP4 – Slow Clock.......................................................................................................................................17 Esquema Elétrico............................................................................................................................................18 Design da Placa..............................................................................................................................................19 Seriallink.com.br 2014 – Todos os direitos reservados – Página 2 de 19 Serial Link Comunicações & Serviços Introdução O Arduino Programador Supervisório é mais uma criação da Serial Link, uma ferramenta de bancada para gravar firmwares diretamente no chip! Utilizando esta placa, podemos fazer várias gravações interessantes, como: • • • Booloader do Arduino Firmwares do AVRCDC ou USBASP Programas profissionais, sem bootloader O Arduino Programador Supervisório portanto é um gravador de bootloader compatível com Arduino e pode ser utilizado para gravar os mais variados tipos de microcontroladores da linha megaAVR da Atmel. De forma resumida, temos um programador in-circuit USB para microcontroladores AVR da Atmel. Características • • • • Funciona sob múltiplas plataformas! ◦ Windows 7 e 8! ◦ MAC OSX ◦ Linux Sem controladores ou componentes adicionais, basta ligar os fios! Velocidade da comunicação SPI 5KBytes/seg. Jumper para configurar opções adicionais ◦ Slow clock (SCK) ◦ Self Programming (auto-gravação) ◦ Interface serial para depuração ◦ Ativação da saída principal de 5V Downloads A interface USB do Arduino Programador Supervisório necessita instalação de Driver para Windows, conforme link: http://www.fischl.de/usbasp/usbasp-windriver.2011-05-28.zip Linux e MAC OSX não necessitam instalação de driver. Libusb embutida nos Kernel's mais atuais. Windows 8 Material para referência da instalação do Driver: http://letsmakerobots.com/node/36841 Seriallink.com.br 2014 – Todos os direitos reservados – Página 3 de 19 Serial Link Comunicações & Serviços Programação AVRDUDE A grande vantagem desse módulo gravador de bootloader é ser compatível com a plataforma Arduino. Quando baixamos e instalamos a IDE de programação do Arduino, estamos também baixando o AVRDUDE, que é o programa responsável por literalmente carregar nossos Sketches no Arduino, via comunicação Serial. Entretanto, no Arduino Programador Supervisório, vamos utilizar diretamente o AVRDUDE para gravar via comunicação SPI, conseguindo acessar as funcionalidades mais primárias do microcontrolador! Somente através da comunicação SPI conseguiremos efetuar tarefas como: gravar na área reservada ao bootloader da memória flash, modificar fuse bits, gravar chips sem cristal, gravar linha ATTiny, etc. Neste manual vamos considerar a utilização do AVRDude que acompanha o Arduino IDE, considerando o diretório de instalação do Arduino sendo: C:\Program Files\Arduino teremos o diretório de instalação do AVRDude sendo: C:\Program Files\Arduino\hardware\tools\avr\bin Para efetuar o download da instalação da IDE do Arduino, verifique o link: http://arduino.cc/en/Main/Software#toc2 Para instruções sobre a instalação da IDE do Arduino verifique o link: http://renatoaloi.blogspot.com.br/2011/10/instalando-arduino-guia-completo.html Vamos precisar também para este exemplo, localizar o arquivo de configuração do AVRDude, considerando os caminhos de instalação citados acima, teremos o arquivo no seguinte local: C:\Program Files\Arduino\hardware\tools\avr\etc O arquivo chama avrdude.conf e precisaremos dele para carregar na hora da execução. Seriallink.com.br 2014 – Todos os direitos reservados – Página 4 de 19 Serial Link Comunicações & Serviços Vamos ver as opções que precisaremos usar. O AVRDude recebe parametros por linha de comando. Vejamos os comandos mais comuns, utilizados: Uso: avrdude [opções] Opções: -p <partno> Obrigatório, especifica o chip AVR. -b <baudrate> Configura a velocidade da Serial RS-232 -B <bitclock> Especifica o bitclock (us) da JTAG/STK500v2 -C <config-file> Especifica o local do arquivo de configuração. -c <programmer> Especifica o tipo de programador -D Desabilita a opção de apagar a memória flash. -i <delay> Atraso do ISP Clock (us) -P <port> Configura porta da conexão -F Ignora a verificação da assinatura. -e Apaga o chip. -U <memtype>:r|w|v:<filename>[:format] Operação de memória. Vários -U são permitidos, cada requisição é executada na ordem especificada. -n Não escreve nada no chip. -V Não verifica a gravação. -u Desabilita o modo-seguro, padrão quando executado em lote. -s Modo silencioso, não pergunta se os fuse bits devem retornar ao estado inicial. -t Entra no modo terminal -v Modo verboso. -v -v para mais informações. -q Modo quieto. -q -q para menos informações. -? Mostra esse texto de ajuda. Seriallink.com.br 2014 – Todos os direitos reservados – Página 5 de 19 Serial Link Comunicações & Serviços Exemplos Vamos direto fazer alguns exemplos para extrair todo o potencial desse módulo. Para executarmos os exemplos, precisamos efetuar algumas tarefas antes. Estas tarefas são as mesmas para todos os exemplos, então vamos listá-las aqui: • • • Abrir um terminal de comando (no Windows chama Command Line) Chegar até a pasta onde está o AVRDude, conforme pasta de instalação, citada mais acima, neste manual. Digitar os comandos do AVRDude. Aqui temos duas opções: ◦ Digitar os comandos diretamente na janela do terminal; ou ◦ Criar arquivos de lote para executar vários comandos de uma vez (no Windows são os arquivos .BAT) Neste manual vamos focar as instruções para os usuários do Windows, pois usuários do MAC e Linux normalmente tem mais facilidades com esse tipo de operação de linha de comando. Primeiro abra o menu do Windows e digite cmd no campo de pesquisa e tecle Enter. 3 2 1 Na janela de comando que abrir, digite o comando cd para mudar o diretório atual para o de execução do AVRDude. No caso do diretório de instalação citado neste documento, teremos que digitar o seguinte comando: cd C:\Arquivos de Programas\arduino\hardware\tools\avr\bin Seriallink.com.br 2014 – Todos os direitos reservados – Página 6 de 19 Serial Link Comunicações & Serviços Exemplo 1 – Gravando Bootloader do Arduino UNO no ATMega328p Para este primeiro exemplo vamos gravar o Bootloader do Arduino UNO no ATMega328p, utilizando um chip avulso, uma protoboard e um cristal de 16Mhz. Vamos fazer as ligações conforme a tabela abaixo. Em caso de dúvidas, consulte o diagrama de conexões mais abaixo. Tabela de conexões (Não esqueça o Cristal nos pinos 9 e 10!) Arduino Gravador Supervisório ATMega328p GND Pinos 8 e 22 +5V Pinos 7 e 20 MOSI Pino 17 RST Pino 1 SCK Pino 19 MISO Pino 18 Diagrama de Conexões Chip ATMega328p Arduino Programador Supervisório Cristal 16Mhz Seriallink.com.br 2014 – Todos os direitos reservados – Página 7 de 19 Serial Link Comunicações & Serviços Conectando na USB e Instalando Drivers Primeiro efetue o download do driver para o seu sistema operacional. Lembre-se que para MAC e Linux não precisa. http://www.fischl.de/usbasp/usbasp-windriver.2011-05-28.zip Descompacte então o arquivo ZIP e utilize o caminho da pasta quando o Windows solicitar a instalação do Driver. Neste exemplo eu descompactei a pasta no área de trabalho, ficando assim: C:\Users\Renato Aloi\Desktop\usbasp-windriver.2011-05-28 Vamos então passar para o Windows pesquisar os drivers na seguinte pasta, considerando o caminho de descompactação do ZIP, indicado acima, temos: C:\Users\Renato Aloi\Desktop\usbasp-windriver.2011-05-28\libusb_1.2.4.0 Esta pasta contém o arquivo INF necessário para que o Windows faça o resto do trabalho de instalação. Caso a instalação inicial não funcione, aparecerá a seguinte tela: Seriallink.com.br 2014 – Todos os direitos reservados – Página 8 de 19 Serial Link Comunicações & Serviços Instalação Manual do Driver Neste caso, vamos fazer a instalação manualmente, clicando no menu do Windows e depois com o botão direito do mouse no item Computador e na opção Gerenciar, conforme imagem: 2. Botão direito do mouse 3. Clique nessa opção 1. Clique aqui Seriallink.com.br 2014 – Todos os direitos reservados – Página 9 de 19 Serial Link Comunicações & Serviços Na tela que aparecer, clique em Gerenciador de Dispositivos, depois localize a entrada do USBAsp, e por fim, clique com o botão direito para aparecer o menu de contexto e clique na opção Atualizar Driver... 2. Localize a entrada do USBasp, dentro de Outros Dispositivos 3. Clique com o botão direito do mouse 1. Clique aqui 4. Clique aqui Selecione a opção Procurar software de driver no computador, na tela que aparecer, conforme segue: 1. Clique aqui Seriallink.com.br 2014 – Todos os direitos reservados – Página 10 de 19 Serial Link Comunicações & Serviços Na próxima tela, clique no botão Procurar... e encontre a pasta descompactada no Desktop, conforme fizemos na etapa anterior de descompactar o arquivo ZIP. Se você quiser, poderá digitar diretamente o caminho na caixa de texto. No meu caso o caminho ficou assim: C:\Users\Renato Aloi\Desktop\usbasp-windriver.2011-05-28 Não esqueça de ativar a opção Incluir Subpastas! 1. Clique aqui 3. Não esqueça de clicar nessa opção para ativá-la, conforme mostrado aqui 2. Clique aqui para selecionar a pasta que descompactamos Pronto! Só clicar em Avançar! Seriallink.com.br 2014 – Todos os direitos reservados – Página 11 de 19 Serial Link Comunicações & Serviços Então aparecerá a tela da imagem abaixo. Clique na opção que diz: Instalar esse software de driver mesmo assim 1. Clique aqui Ao final da instalação deverá aparecer essa mensagem: Seriallink.com.br 2014 – Todos os direitos reservados – Página 12 de 19 Serial Link Comunicações & Serviços Pronto! Seu Arduino Programador Supervisório está instalado e pronto para funcionar! Vejamos na lista de dispositivos do computador, que agora ele aparece com um ícone certo e sob o grupo libusb-win32 devices Tudo OK! Seriallink.com.br 2014 – Todos os direitos reservados – Página 13 de 19 Serial Link Comunicações & Serviços Gravando o Bootloader Agora podemos executar os comandos do AVRDude na tela de Linha de Comandos do Windows. Já vimos como abrir o console de comandos do Windows. Agora vamos ver os comandos! 1. Primeiro comando é o CD! cd C:\Arquivos de Programas\arduino\hardware\tools\avr\bin 2. Depois podemos executar o primeiro comando que é destravar o fuse bit que configura a área de bootloader, assim poderemos escrever nessa área: avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lock:w:0x3F:m 3. Configuramos então cada fuse bit com os 3 comandos na sequência: avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U hfuse:w:0xDE:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lfuse:w:0xFF:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U efuse:w:0x05:m 4. Com todos os fuse bits configurados e a área de bootloader pronta para receber gravação, vamos enviar o arquivo Intel Hex do bootloader do Arduino UNO para o chip ( Atenção! Nessa etapa precisamos do arquivo optiboot_atmega328.hex Já veremos como copiá-lo): avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U flash:w:optiboot_atmega328.hex 5. Finalmente precisamos enviar o comando para travar a área de bootloader novamente, assim: avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lock:w:0x0F:m Bom, vamos analisar algumas coisas importantes! • Repare na opção -B 100, esta opção é muito importante e não funciona sem ela! • Outra coisa a se reparar é a falta do arquivo optiboot_atmega328.hex, ele está localizado no seguinte diretório: C:\Program Files\Arduino\hardware\arduino\bootloaders\optiboot e deve ser copiado para o diretório que estamos trabalhando: cd C:\Arquivos de Programas\arduino\hardware\tools\avr\bin • Utilize o comando copy, assim: copy "C:\Program Files\Arduino\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex " "C:\Arquivos de Programas\arduino\hardware\tools\avr\bin\optiboot_atmega328.hex" Seriallink.com.br 2014 – Todos os direitos reservados – Página 14 de 19 Serial Link Comunicações & Serviços • Para executar o comando acima você precisará estar executando o CMD.exe como administrador! Clique com o botão direito do mouse na hora de abrir o programa para exibir a opção Executar como Administrador 2. Clique na opção do administrador 1. Clique com o botão direito do mouse! Arquivo de Lote BAT Copiar e colar o texto abaixo em um arquivo de texto e salvar como BurnArduinoUno.bat avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lock:w:0x3F:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U hfuse:w:0xDE:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lfuse:w:0xFF:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U efuse:w:0x05:m avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U flash:w:optiboot_atmega328.hex avrdude -C "C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -B 100 -p m328p -U lock:w:0x0F:m pause Seriallink.com.br 2014 – Todos os direitos reservados – Página 15 de 19 Serial Link Comunicações & Serviços Conectores Adicionais de Configuração O Arduino Programador Supervisório possui quatro (4) jumpers adicionais, incluidos no projeto USBASP original, mas nunca implementados. Agora estão disponíveis! Inclusive uma saída Serial! JP1 – Ativação da Saída 5V A saída 5V no padrão Borne pode ser ativada ou não através desse jumper. Por padrão ele já vem com uma capinha, ligando a saída 5V. Basta retirar a capa do jumper para desativar essa saída. JP1 configura a Saída de Alimentação 5V e GND para alimentação de dispositivos externos, que fica no conector principal de Bornes JP3 – Saída Serial TTL O JP3 é uma adição bem interessante, pois configura uma saída Serial diretamente do chip ATMega8 que roda o firmware USBASP. Através desse jumper podemos utilizar esse módulo com outras funcionalidades, ainda a serem testadas! TX RX Seriallink.com.br 2014 – Todos os direitos reservados – Página 16 de 19 Serial Link Comunicações & Serviços JP2 – Auto Programação (self-prog) Através desse jumper podemos fazer a auto-gravação do chip do módulo. Essa opção serve para atualizar o firmware do chip do módulo. Para utilizar essa opção para regravar o firmware, verifique o projeto USBAsp de Thomas Fischl no link: http://www.fischl.de/usbasp/ para obter a versão mais atual do firmware. Atualmente a versão mais nova é essa: http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz JP4 – Slow Clock Esta é uma outra opção avançada que liga ou desliga a opção de Slow SCK, utilizada apenas em situações bem específicas, a serem discutidas no fórum: http://www.seriallink.com.br/forum Seriallink.com.br 2014 – Todos os direitos reservados – Página 17 de 19 Serial Link Comunicações & Serviços Esquema Elétrico Seriallink.com.br 2014 – Todos os direitos reservados – Página 18 de 19 Serial Link Comunicações & Serviços Design da Placa Seriallink.com.br 2014 – Todos os direitos reservados – Página 19 de 19
Documentos relacionados
Manual Técnico
com ATMega16u2, você precisa verificar se a comunicação está funcionando e se a assinatura confere. Isso acontece pois os chips possuem assinaturas diferentes.
Leia mais