Tutorial Conversor USB/Serial AVRCDC (FTDi Clone)



Tabela de conteúdo

Apresentação

Objetivo:

Montar em uma protoboard um clone do Conversor USB/Serial conhecido como FTDI, que nomeia o integrado da empresa de mesmo nome. Esse CI foi utilizado em uma Breakout Board da SparkFun conhecida pelo nome de FT232R, ou mais comumente USB/Serial Breakout.

O clone em questão utiliza um ATMega8L com encapsulamento DIP, que é fácil de trabalhar e compatível com a protoboard. O Protuino UNO utiliza essa técnica descrita neste tutorial para substituir a USB/Serial Breakout da versão anterior!

Aplicações:

Lista de Materiais

Qtde

Componente

Modelo

1

Microcontrolador

ATMega8L-PU

1

Conector & Cabo

Paralelo

1

Capacitor Cerâmico

100nF 16V

2

Capacitor Cerâmico

18pF

1

Diodo

1N4007

1

Regulador de Tensão

LM7805

1

Capacitor Eletrolítico

220uF 25V

1

Resistor

100 ohms

1

Resistor

220 ohms

2

LED 5mm

Verde

1

Cristal

12Mhz

N

Headers de Pinos

ATMega8L

1

Conector de Pinos

-

1

Fonte

9V

1

Conector Fêmea

P4

1

Conector Fêmea

USB Tipo B

N

Jumpers de Protoboard

--

1

Rabicho

USB Tipo B

Pinagem do ATMega

Arquivo:Atmega168PinMap2.png



Montagem do Cabo Paralelo

ARQUIVO: FOTO_CABO_PARALELO_FTDICLONE.PNG

O cabo acima é necessário pois precisamos gravar o firmware do conversor USB/Serial no chip ATMega8L.

Vide a tabela abaixo e siga as orientações de ligação dos fios que vão do conector DB25 (no computador) para o conector H5 (na protoboard). Não se esqueça de ligar o pino 2 ao 12 do DB25, pois esse LINK é necessário para o programa ISP-Flash Programmer 3.0 identificar o cabo paralelo ligado ao PC.

ARQUIVO: TABELA_PINAGEM_CABO_PARALELO_ICSP.PNG

Veja um exemplo de conector H5 improvisado com uma barra de pinos, na foto abaixo. Preste atenção nas marcações dos pinos, pois vamos utilizar essa seqüência mais tarde.

ARQUIVO: FOTO_CONECTOR_ICSP_FTDICLONE.PNG

Montagem do Circuito

A montagem do circuito é muito simples, bastando seguir os passos abaixo e efetuar todas as conexões conforme indicado.



Esquema Elétrico

Esquema da fonte de alimentação 5V, utilizando o LM7805:

Arquivo: conexao_tipica_lm7805.jpg

Abaixo podemos ver o esquema elétrico do Circuito de Gravação do Firmware:

Arquivo: ESQUEMA_ELETRICO_GRAVAR_FIRMWARE_FTDICLONE.GIF

Outro esquema elétrico importante é o do circuito final, o que realmente faz a função do clonada do FTDI:

Arquivo: ESQUEMA_ELETRICO_SERIAL_FTDICLONE.GIF

Fonte de 5V

Siga os passos das imagens abaixo para efetuar a montagem da fonte de alimentação que fornecerá energia para o ATMega8 durante o processo de gravação do firmware.

Utilize uma fonte de 9V com pelo menos 800mA e que tenha o conector compatível com a fonte de alimentação externa do Arduino, com plugue de 21mm e tendo o terminal central negativo.

Arquivo: FTDI_CLONE_FONTE_5V_FOTO1.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO2.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO3.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO4.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO5.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO6.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO7.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO8.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO9.PNG

Arquivo: FTDI_CLONE_FONTE_5V_FOTO10.PNG

Circuito de Gravação do Firmware

Foto

Descrição

Passo 1 - Primeiro identifique o chip ATMega8 e coloque-o na protoboard no lugar que for mais conveniente.

Passo 2 - A sua montagem deve ficar parecida com a da foto abaixo. Repare que já montei a fonte de alimentação de 5V e também o conector de 5 pinos para o cabo paralelo.

Passo 3 - Começamos então ligando o pino 20 do ATMega8 no VCC, ou seja, no positivo da rede de alimentação.

Passo 4 - Na sequência, grampeamos o pino 21 também no VCC e o 22 no GND, ou seja, no negativo do circuito.

Passo 5 - Para terminar de polarizar o ATMega8, falta ligar os pinos 7 no GND e 8 no VCC, aproveitando os pinos 20 e 22 que já estão ligados no VCC e no GND, respectivamente.

Passo 6 - O cristal de 12Mhz deve ser ligado nos pinos 9 e 10 do ATMega8, conforme foto ao lado.

Passo 7 - Coloque então os dois capacitores de 22pF, sendo um em cada perna do cristal e no GND do circuito. Vide foto.

Passo 8 - Vamos agora fazer as ligações do cabo de gravação do firmware. O último pino do conector deve ser conectado no GND, conforme foto.

Passo 9 - A sequência de ligação dos fios que vem do conector ICSP é bem tranquila, sendo o primeiro pino do conector ligado ao pino 17 do ATMega8.

Passo 10 - Veja pela foto, que exceto pelo pino 2 do conector que vai ligado ao RESET do ATMega8, no pino 1; os outros fios são em escada, ou seja, os pinos 1, 3 e 4 do conector vão ligados nos pinos 17, 18 e 19 do ATMega8, respectivamente.

Passo 11 - Agora conecte o cabo na porta paralela do PC e também no conector ICSP, conforme a foto. Preste atenção ao lado certo do cabo na hora de conectar na protoboard. Faça uma revisão geral!

Passo 12 - Ligue agora a fonte de alimentação para energizar o circuito de gravação do firmware. A parte de montagem termina por enquanto. Vamos ver como gravar o software utilizando um programador.



Circuito Final de Utilização

Foto

Descrição

Passo 1 - Depois de gravar o firmware (vide parte de gravação, mais abaixo), você vai precisar alterar o circuito para o funcionamento final, clonando o FTDI. Primeiro tire todos os fios do conector ICSP.

Passo 2 - Está na hora de soldar os fios do conector USB. Esquente o ferro de solda e solde os quatro fios do Conector USB, acompanhando esquema de ligação mais abaixo.

Passo 3 - Ligue o LED verde, sendo o catodo (lado chanfrado) no positivo do circuito, ou seja, no VCC e o anodo em uma trilha não utilizada da protoboard.

Passo 4 - Ligue então o resistor de 220 ohms do pino 5 ao 21 do ATMega8. Esse resistor é o responsável pelo pullup do pino D- do conector USB.

Passo 5 - Essa alteração agora é importante, pois vamos utilizar apenas uma trilha de alimentação, a da direita, pois esse circuito precisa ficar isolado. Ou seja, na hora da gravação do firmware, utilizamos uma fonte externa de 9V, no caso da USB, vamos utilizar a alimentação da própria USB, mas o importante é que a alimentação da USB seja utilizada apenas para o FTDI Clone. Para ligar outros componentes, utilize a fonte de 9V externa. Junto com o FTDI Clone, vc pode ligar no máximo outro ATMega ou então um LCD, mas não mais do que isso senão vai dar problema. Mude então as pernas dos capacitores de polarização do cristal, tirando elas da trilha negativa e utilizando o link para o negativo no pino 8. Vide foto.

Passo 6 - Ligue agora os fios que você soldou no Conector USB, sendo primeiro os pinos D+ e D- nos pinos 4 e 5 do ATMega8, respectivamente.

Passo 7 - Termine ligando os pinos VCC e GND do Conector USB, sendo o VCC no anodo do LED verde e o GND na trilha de GND do circuito.

Passo 8 - Para testar o funcionamento do FTDI Clone, eu montei um MAX232 para converter a saída que é TTL para RS232. Então liguei a saída do MAX232 em um PC que tem a porta serial. Ou seja, um computador com porta USB vai se comunicar com um outro computador que não tem porta USB, apenas a porta Serial DB9.

Passo 9 - Conecte o terra do circuito do MAX232 (que deve ser alimentado por outra fonte de alimentação que não seja através da USB que o FTDI Clone esteja usando) no terra do circuito do FTDI Clone. Ou seja, apesar dos dois circuitos serem alimentados por fontes diferentes, o terra entre eles precisa ser comum, conectados entre si.

Passo 10 - Como eu apenas estou enviando informações de um PC para outro, liguei apenas o TX do ATMega8, que é o pino 3 no pino 11 do MAX232. Se você quiser fazer a comunicação de volta, basta ligar do MAX232 no pino 2 do ATMega que é o RX. Já o DTS, que avisa quando o FTDI Clone vai transmitir é o pino 26 do ATMega8. Veja o esquema elétrico mais acima caso você queira conectar todos os fios da comunicação Serial, caso deseje fazer o handshaking.

Conector USB

Veja a imagem abaixo e conheça os pinos do conector fêmea USB. Mais abaixo, vide a tabela de descrições e conexões dos pinos.

Arquivo: conector_usb_protuino_uno.png

Pino USB

Descrição

Conexão Protuino UNO

USB (VCC)

Alimentação positiva (5V) da USB.

Anodo do LED verde. Trilha da banda da direita.

USB (D-)

Sinal de dados, negativo.

Pino 5 do ATMega8.

USB (D+)

Sinal de dados, positivo.

Pino 4 do ATMega8.

USB (GND)

Alimentação negativa, ou seja, terra da USB (0V).

Terra do circuito.

Gravação do Firmware

Para gravar o firmware, vc precisará do programa de gravação de microcontroladores, chamado ISP Flash Programmer v3.0, que pode ser baixado, clicando no link abaixo:

http://api.ning.com:80/files/iVhtssuWkGxARKuaCpVyF*mcn-CfEnG79AiLz2v2EuDByHbPvVCE3kgY2NA5uyQ5H42PcgtEfwwx8ELJLwUxiQ-sHLDI6UPG/ISP3v0.zip

Você precisará também do pacote de fontes e compilados do projeto CDC-232. Este projeto é baseado em uma biblioteca chamada AVR-CDC e faz uso desta para implementar um adaptador USB para Serial e também existe o CDC-IO que permite criar um conversor de USB para Porta Paralela.

Confira a Home Page do Projeto:

http://www.recursion.jp/avrcdc/

O download que você precisará como firmware deste nosso FTDI Clone é o que pode ser encontrado na página do link abaixo:

http://www.recursion.jp/avrcdc/download.html

Utilize esse link direto:

http://www.recursion.jp/avrcdc/cdc232.2010-02-28.zip

Quando descompactar o pacote, entre na pasta "mega48\default" e utilize o arquivo CDCMEGA8.HEX nos passos da instrução abaixo.

Passo 1 - Primeiro execute o ISP Programmer, mas não clique no executável dele, ao invés disso, utilize o arquivo de lote do DOS, chamado ISP-XP.BAT, caso você esteja utilizando o Windows XP. Clicar no executável do ISP Programmer, só vai funcionar no Win98 e no Win2K. Usuários de Linux devem procurar um outro Programador como o AVRDude.

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA1.PNG

Passo 2 - Quando o programa abrir, clique no botão "OPEN" para procurar pelo arquivo CDCMEGA8.HEX. O importante aqui é chegar nessa tela. Se você não conectar o cabo Paralelo de Gravação do Firmware (mostrado no início do Tutorial), o ISP Programmer reclamará, mas basta dar "OK" na tela que aparecer, conectar o cabo e continuar com a gravação.

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA2.PNG

Passo 3 - Encontre o arquivo CDCMEGA8.HEX e clique em "Abrir".

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA3.PNG

Passo 3 - De volta na tela principal, na lista de micros, escolha o ATmega8.

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA4.PNG

Passo 4 - Pronto! É só clicar em "WRITE" e esperar...

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA5.PNG

Passo 5 - Quando aparecer a tela abaixo, clique em "OK" e feche o programa. Agora você pode partir para a montagem do Circuito Final.

Arquivo: FTDI_CLONE_BURN_FIRMWARE_TELA6.PNG

Instalação do Software

Para utilizar essa versão do Protuino UNO, você precisa fazer o download do driver que criará a porta Serial no seu computador. Vamos ver nessa etapa como fazer isso.

Neste Manual estou considerando a instalação do driver no Windows XP SP3. O driver funciona para outras versões do Windows como 2K, Vista, Vista x64 e Windows 7.

Obs: No Linux não precisa instalar driver nenhum.



Download do Driver

Faça o download do driver, necessário para fazer a instalação na primeira vez que você conectar o seu Protuino UNO no PC.

Clique aqui para baixar o driver do Protuino UNO



Instalando o Driver

Passo 1 - Primeiro copie arquivo avrcdc_inf.rar (2) para a pasta de instalação do Arduino, sob o diretório Drivers (1), conforme foto abaixo.

Arquivo: protuino_uno_tela2.png

Passo 2 - Utilizando o WinRar, basta clicar com o botão direito no arquivo e selecionar a opção "Extrair aqui".

Arquivo: protuino_uno_tela3.png

Passo 3 - Abra a pasta que acabou de ser descompactada e escolha o diretório referente a sua versão do Windows. No meu caso, escolhi a pasta "XPVista7". Copie o endereço completo para a memória para utilizarmos nos próximos passos. Repare nos arquivos indicados na foto, são o INF e o SYS. Um é necessário para identificar o driver e o SYS é o driver em si.

Arquivo: protuino_uno_tela4.png

Passo 4 - Agora conecte o Protuino UNO na USB do PC. A tela a seguir deve aparecer. Selecione a opção "Instalar de uma lista ou local específico (avançado)" e clique em "Avançar".

Arquivo: protuino_uno_tela1.png

Passo 5 - Nesta tela selecione a opção "Procurar o melhor driver nestes locais" e depois marque a opção "Incluir este local na pesquisa". Apague o que tiver na caixa de texto de pesquisa e cole o endereço do local do driver, copiado na memória no Passo 3. Clique então em "Avançar".

Arquivo: protuino_uno_tela5.png

Passo 6 - A tela a seguir deve aparecer enquanto o sistema copia e instala os arquivos do driver.

Arquivo: protuino_uno_tela6.png

Passo 7 - Terminando o processo, a tela abaixo deve aparecer. Basta clicar em "Concluir".

Arquivo: protuino_uno_tela7.png

Passo 8 - No Gerenciador de Dispositivos do PC, podemos ver sob "Portas (COM & LPT)", a nossa nova porta Serial, no meu caso, a COM5.

Arquivo: protuino_uno_tela8.png