Índice:
- Etapa 1: Recursos e peças
- Etapa 2: Layout da placa de ensaio, esquemático e construção
- Etapa 3: uso e aplicação
Vídeo: Programador VUSBTiny AVR SPI: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
depois de fazer um programador ISP usbtiny e usá-lo por 6 meses, eu estava pensando em fazer outro para transportar. Gosto da simplicidade do design usbtiny do ISP, mas gostaria de torná-lo ainda menor e com menos peças. uma coisa no design original que quero alterar é eliminar o uso de cristal de relógio. uma solução que encontrei é que os drivers v-usb suportam o oscilador interno de 16,5 MHz em dispositivos attiny25 / 45/85. então eu iniciei este projeto para que o usbtiny isp empregasse v-usb para comunicação usb. os benefícios imediatos é que ele economiza espaço e tem menos contagens de componentes (sem mais cristais).usbtiny description from https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny é uma implementação de software do USB de baixa velocidade protocolo para os microcontroladores Atmel ATtiny. Claro, também funcionará na série ATmega. O software foi escrito para um AVR com clock de 12 MHz. Nessa frequência, cada bit no barramento USB leva 8 ciclos de clock e, com muitos truques, é possível decodificar e codificar as formas de onda USB por software. O driver USB precisa de aproximadamente 1250 a 1350 bytes de espaço flash (excluindo as strings de identificação opcionais), dependendo da configuração e da versão do compilador, e 46 bytes de RAM (excluindo o espaço da pilha). A interface C consiste em 3 a 5 funções, dependendo da descrição de configuration.vusb de https://www.obdev.at/products/vusb/ V-USB é uma implementação somente de software de um dispositivo USB de baixa velocidade para Atmel's Microcontroladores AVR, tornando possível construir hardware USB com quase qualquer microcontrolador AVR, não exigindo nenhum chip adicional. Vídeo sobre construção e uso
Etapa 1: Recursos e peças
* lógica de programação do usbtiny isp, suporte avr-dude maduro * pegada pequena * componentes mínimos * dispositivos de alimentação de energia observe que as linhas io para o mcus alvo não são protegidas. você pode adicionar resistores de 1k-2k a SCK e MOSI e proteger contra possíveis referências de conexões erradas com base nos trabalhos encontrados em v-usb do framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl / ~ dicks / avr / usbtiny / lista de peças * attiny45 / 85 (85 é mais fácil de encontrar) * diodos zener 3,6v (1n747, BZX79,..evitar tipos 1W) * resistor 68ohm x 2 * resistor 1,5K * mini breadboard 170 pontos de amarração * cabo usb (cabo de impressora usb de loja de dólar está bem) * resistores de 1k / 2k para proteção de linhas io (opcional) ferramentas necessárias * um programador AVr funcionando (sim, é um catch22, precisamos de um para fazer um) * ambiente de programação avr em funcionamento
Etapa 2: Layout da placa de ensaio, esquemático e construção
construção
* Siga o layout da placa de ensaio, não há que muitos componentes, 3 resistores, 2 diodos, 1 capa, mais um MCU de 8 pinos. * obter um cabo de impressora usb de loja de dólar cortado da extremidade da impressora, haverá 4 fios expostos, prenda e transforme-os em um conector macho de 4 pinos, nós o usaremos para conectar à placa de ensaio. consulte o esquema para layout e atribuição de pinos (J1). * Cuidado com a polaridade do diodo.
construindo e atualizando o projeto
o projeto foi construído em uma caixa lúcida do Linux ubuntu com o conjunto de ferramentas avr-gcc. presume-se que você já possui esse ambiente ou pode descobrir na Internet como configurá-lo. os códigos-fonte são GNU gpl v2 licenciados por herança.
o código-fonte segue uma convenção recomendada por v-usb, você pode baixar o pacote-fonte vusbtiny.tgz e descompactá-lo em um diretório de projeto. dentro de seu diretório de origem, há um main.c, que é minha versão do programador usbtiny modificado. e um subdiretório usbdrv, que contém a camada v-usb. observe o prazo de licenciamento dos dois projetos acima ao construí-lo. minha fonte sobre a lógica do programador é baseada na versão de Dick Streefland e não na versão ladyada (embora sejam quase iguais).
para aqueles que não têm um build too-chain, você pode usar o seguinte binário
clique para baixar vusbtiny.hex
e usar o avrdude para atualizar o firmware
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(se o seu dispositivo for um tiny85, substitua -p t45 por -p t85)
fonte pode ser baixada aqui clique para baixar vusbtiny.tgz
descompacte o pacote fonte em seu diretório de trabalho
tar -zxvf vusbtiny.tgz
* faça cd vsubtiny, para mudar para o diretório de trabalho vusbtiny * ajuste o makefile para o dispositivo alvo de acordo com o chip que você vai usar. isto é, PROGRAMMER_MCU = t45 ou t85 * faça um make * anexe seu programador ISP favorito * modifique makefile e mude seus parâmetros avrdude se necessário. o padrão assume o programador USBTiny. ou seja, AVRDUDE_PROGRAMMERID = usbtiny * firmware flash via make install
depois de atualizar o firmware, precisamos definir corretamente o fusível, estamos usando o pino 1 redefinido como io neste projeto
* relógio ppl usado conforme exigido pela camada v-usb para sincronismo usb * pino de redefinição desativado, pois precisamos usá-lo como io
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
esta configuração desabilita a programação adicional via 5V SPI, pois precisamos do pino RESET (pino 1) para io. você precisará de acesso a um programador HVSP para recuperar o fusível.
Etapa 3: uso e aplicação
piscando direto na placa de ensaio
se você estiver usando o vusbtiny para fazer flash em dispositivos AVR de 8 pinos, basta pressionar o dispositivo de destino na parte superior do dispositivo programador. o programador foi projetado de forma que os pinos de programação correspondam aos alvos. há um truque, porém, você precisará isolar os pinos 2 e 3 no programador mcu, pois eles são os pinos USB D + e D- que se conectam ao PC. Eu uso um corte de fita adesiva para fazer isso, você pode ver nas fotos. mostramos abaixo um tiny13v "andando" no tiny45, pronto para receber firmware.
ISP piscando via jumper
para programar um circuito de destino via ISP (programação no sistema), você precisa de um cabo ISP. aqui, não estou usando os cabeçalhos de pino 2x3 ou 2x5 padrão. em vez disso, estou usando um jumper 1x6 que é mais amigável para protoboard, você pode fazer cabeçalhos de pinos 2x3 ou 2x5 mapeando-os para J2, conforme mostrado no layout e nos esquemas da protoboard. a foto a seguir mostra um tiny2313 pronto para receber flash via ISP.
solução de problemas
* não pode fazer o flash do firmware? verifique seu programador original, pode ser necessário ajustar o tempo via sinalizador -B no avrdude. tente ler o chip primeiro, pode ser um fusível ruim, pode ser o seu chip precisa de um sinal de clock externo. você pode precisar consertar seu chip de volta ao padrão primeiro. * verifique as conexões * se usar pinos io diferentes, verifique o código e as conexões * você pode substituir os diodos zener com tipos de 500mw, 400mw * você pode tentar reduzir o valor de R3 para 1,2 K ou menos * é mais provável que você encontre problemas de temporização avrdude, tente -B bandeira da avrdude, ter um cabo USB mais curto tudo ajuda
Recomendado:
Arduino como ISP -- Queime arquivo hexadecimal em AVR -- Fusível no AVR -- Arduino como programador: 10 etapas
Arduino como ISP || Queime arquivo hexadecimal em AVR || Fusível no AVR || Arduino como programador: ……………………… ASSINAR O meu canal do YouTube para mais vídeos …….. Este artigo tem tudo a ver com arduino como ISP. Se você deseja fazer upload de um arquivo hexadecimal ou se deseja definir seu fusível em AVR, então não precisa comprar um programador, você pode fazer
Programador AVR com alta tensão: 17 etapas
AVR Programmer W / High Voltage: Este é o meu primeiro instrutível. A placa que projetei é um programador AVR. A placa combina as funções de 4 placas de protótipo separadas que construí nos últimos anos: - Um programador AVR de alta tensão, usado principalmente em dispositivos ATtiny para definir fu
Como fazer upload do código C para ِ AVR usando Arduino Uno como programador: 6 etapas
Como fazer upload do código C para ِ AVR usando Arduino Uno como programador: Olá a todos: D Aqui vou compartilhar uma maneira simples de programar qualquer chip AVR usando Arduino Uno R3 Tudo que você precisa para gravar o código em seu microcontrolador é Arduino Uno em vez de comprar específico programador que custa muito
Programador STK500 AVR barato para Atmel Studio: 7 etapas
Programador STK500 AVR barato para Atmel Studio: O Atmel Studio é uma ferramenta poderosa para fazer programas AVR, mas escrever um programa é o primeiro passo. Para usar seu programa, você deve fazer um circuito e transferir seu código para o microcontrolador. Você pode programar seu AVR no Atmel Studio usando
Programador ISP para microcontroladores AVR: 4 etapas
Programador ISP para microcontroladores AVR: Um programador microcontrolador é um dispositivo de hardware acompanhado de software que é usado para transferir o código de linguagem de máquina para o microcontrolador / EEPROM do PC. O programador ISP para microcontroladores AVR é programador serial que usa o s