Menu

arduino_2_ptb

Convertendo o HC6800EM3 em um Arduino (Parte 2)

Objetivo

Neste post, vou dar sequência ao tema iniciado no meu post anterior, no qual pretendo instalar um bootloader de Arduino, devidamente adaptado e tornar o meu kit de desenvolvimento chinês em uma plataforma compatível com a IDE do Arduino.

Pré-requisitos

Para a realização desta tarefa será necessário os seguintes pré-requisitos:

  • IDE do Arduino versão 1.0.5 instalada (não testei com outra versão, mas é provável que funcione com outras versões normalmente);
  • µC ATMega162V;
  • Gravador AVRISP ou equivalente, ou FT232R Breakout board (opção para o meu caso, que não possuo uma gravador AVR e tinha uma plaquinha dessas "sobrando");
  • Breadboard com Jumpers;
  • Cristal de 7,3728 MHz (infelizmente não possuo um cristal de 8 MHz no momento -- melhoria que ainda farei em breve);
  • Pacote de integração HC6800EM3 no Arduino.

Instalação do Pacote de Integração

Para facilitar a integração com a IDE do Arduino estou desenvolvendo um pacote que instala todos os elementos necessários para a integração do kit HC6800EM3 com a IDE do Arduino. No momento desta publicação a versão deste pacote é ainda a 0.1, pois ainda não permite compilar os sketches devido as diferenças do µC que causam erros de compilação, mas já serve para gravar o Bootloader no ATmega162V.

Download do Programa Instalador

Faça do download do Instala_hc6800em3_para_Arduino.exe no link fornecido. Este pacote é muito pequeno pois são poucos arquivos instalados.

Instalação do Pacote

Rode o instalador Instala_hc6800em3_para_Arduino.exe a partir da pasta de download. A seguinte tela deve ser apresentada:

Nota: Se estiver com medo e desejar mais informação sobre o que este instalador faz, veja o pequeno apêndice abaixo.

Avance a instalação, para obter a seguinte tela:

Nesta tela você pode escolher o que vai ser instalado. Se você não tem a placa FT232R breakout ou equivalente, desmarque a opção Configurar gravador FT232RL. Entretanto é importante lembrar que para seguir este tutorial será necessário algum dispositivo para gravação de bootloader, que pode ser um AVRISP, uma placa Arduino devidamente configurada, ou uma das diversas opções existentes no mercado.
Prossiga a instalação. O instalador realiza as tarefas rapidamente e apresenta a tela final:

Com esta etapa finalizamos a instalação do software necessário. No passo seguinte faremos um circuito para a gravação do bootloader.

Circuito para Gravar o ATmega162V

Nesta etapa será necessário utilizar uma breadboard para montar um circuito que permitirá gravar o bootloader no nosso ATmega162V. O esquema de ligações é apresentado abaixo:

Observe que este esquema considera que utilizaremos a placa FT232R breakout para a gravação do bootloader.
Na hora de confeccionar o circuito é importante notar que a figura mostra a placa do chip FTDI "por baixo". Já o µC está desenhado na orientação habitual.
Abaixo está uma figura do meu circuito:

Gravação do Bootloader

Inicialmente vamos conectar um cabo USB na placa FT232R. Se necessário, instale o driver, conforme o manual da placa.
Verifique no gerenciador de dispositivos o numero da porta COM utilizada pela placa, como mostra a imagem obtida em meu PC:

Tomando nota do numero da porta, podemos abrir a IDE do Arduino.
Vá ao menu Tools, Board e selecione ATMega162V on HC6800EM3. Esta é uma das opções configuradas pelo instalador utilizado no início do tópico. A imagem mostra a operação:

Agora devemos selecionar o gravador ISP, como mostra a próxima imagem:

Abra o menu Tools, Serial Port e selecione a porta de comunicação conforme observado no início deste tópico (no meu caso foi a COM5).
Para gravar selecione o menu Tools e o comando Burn Bootloader para realizar a gravação do bootloader, com mostra a imagem a seguir:

Como a opção de gravador utilizada foi do tipo RS232C, que utiliza bit banging a gravação demora de 3 a 5 minutos, então é necessário um pouco de paciência.
Ao término a tela confirmando o sucesso da operação:

O Que Virá Depois

Agora temos um processador com um bootloader instalado. Este é o primeiro passo para utilizar o Arduino. No entanto existem algumas diferenças na implementação dos chips Atmel, que impedem a compilação dos programas exemplo.
Deixarei para o próximo post, quando pretend lançar a versã0 0.2 do Instala_hc6800em3_para_Arduino.exe que permitirá a execução de um programa exemplo. Claro que o objetivo deste trabalho é didático e uma das opções que o futuro instalador terá é a instalação de todos os fontes utilizados para tal feito, facilitando a compreensão.
Pelo que se pode ver com este trabalho, que qualquer placa de desenvolvimento que tiver um 80C51 em soquete PDIP40 e uma porta serial, poderá ser convertido em uma placa Arduino.


Apêndice: Insight das Operações Realizadas pelo Instalador

Pretendo fornecer uma documentação mais detalhada no futuro, sobre este pacote, entretanto se estiver curioso, este pacote realizará as seguintes alterações em seu sistema (vou colocar a informação para um Windows de 64 bits; se o seu Windows for 32 bits a pasta Program Files (x86) deverá se chamar Program Files ou Arquivos de Programas):

  • Realiza um backup de "C:\Program Files (x86)\Arduino\hardware\arduino\boards.txt" para "C:\Program Files (x86)\Arduino\hardware\arduino\boards.orig.txt";
  • Realiza um backup de "C:\Program Files (x86)\Arduino\hardware\arduino\programmers.txt" para "C:\Program Files (x86)\Arduino\hardware\arduino\programmers.orig.txt";
  • Altera "C:\Program Files (x86)\Arduino\hardware\arduino\boards.txt" para incluir informação do Kit Prechin HC6800EM3;
  • Altera "C:\Program Files (x86)\Arduino\hardware\arduino\programmers.txt" para incluir informação do gravador ISP utilizando chip USB/RS232C FTDI FT232R, conforme opção de instalação;
  • Cria a pasta "C:\Program Files (x86)\Arduino\hardware\arduino\bootloaders\hc6800em3" e instala seu conteúdo;
  • Cria a pasta "C:\Program Files (x86)\Arduino\hardware\arduino\variants\hc6800em3" e instala seu conteúdo;
  • Se desejar desfazer tudo rode o desinstalador fornecido em "C:\Program Files (x86)\Arduino\uninstall_hc6800em3.exe"

Related

Wiki: Home
Wiki: arduino_1_ptb
Wiki: arduino_2b_ptb
Wiki: arduino_3_ptb