Índice:

Programador ATTiny HV: 4 etapas
Programador ATTiny HV: 4 etapas

Vídeo: Programador ATTiny HV: 4 etapas

Vídeo: Programador ATTiny HV: 4 etapas
Vídeo: AVR Hardware Coding Part 0: Procurement 2024, Julho
Anonim
Programador ATTiny HV
Programador ATTiny HV
Programador ATTiny HV
Programador ATTiny HV

Este instrutível é para um utilitário de programação ATTiny usando um ESP8266 e uma interface de usuário baseada em navegador. Ele segue um editor Fuse instrutível anterior para ler e configurar os fusíveis, mas agora oferece suporte para apagar, ler e gravar as memórias flash e EEPROM.

O suporte do fusível permite fazer alterações nas configurações controladas pelos 2 bytes do fusível uma atividade muito simples.

O suporte de memória permite fazer backup e restaurar o conteúdo de flash e EEPROM. Novos conteúdos de arquivos hexadecimais também podem ser gravados. Isso torna a restauração ou gravação de novos bootloaders de micronúcleo muito simples.

O dispositivo possui os seguintes recursos.

  • Servidor da Web com suporte para leitura e gravação de dados de fusíveis e uma página de editor que dá acesso fácil às opções de fusíveis
  • Apagando chip (necessário antes de escrever um novo material)
  • Leitura e gravação de dados do programa Flash de arquivos hexadecimais
  • Leitura e gravação de dados EEPROM de arquivos hexadecimais
  • Suporte para variantes ATTiny 25, 45 e 85
  • Alimentado por USB com gerador interno de 12 V para programação de alta tensão
  • Configuração de rede Wifi usando o ponto de acesso wifiManager. Navegador de acesso ao sistema de arquivamento ESP8266 SPIFFS para upload e download de arquivos
  • Atualização OTA do firmware ESP8266

Etapa 1: Componentes e ferramentas

Componentes

  • Módulo ESP-12F
  • Módulo de reforço de 5 V a 12 V
  • tomada micro USB com conector soldável
  • Capacitor de tântalo 220uF
  • Regulador xc6203 3,3 V LDO
  • Transistores MOSFET 3x n canal AO3400 1 x p-canal AO3401
  • Resistores 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • bloco de cabeçalho de pino
  • Pequeno pedaço de placa de ensaio para circuitos de suporte
  • ligar o wireEnclosure (usei uma caixa impressa em 3D em

Ferramentas

  • Ferro de solda de ponta fina
  • Pinças
  • Cortadores de arame

Etapa 2: Eletrônica

Eletrônicos
Eletrônicos

O esquema mostra que toda a energia é derivada de uma conexão USB de 5V. Um regulador fornece 3,3 V para o módulo ESP-12F. Um pequeno módulo de reforço produz os 12 V necessários para a programação de alta tensão.

O ESP GPIO fornece os 4 sinais lógicos usados na programação de alta tensão (clock, data in, data out e command in).

Um GPIO é usado para ligar e desligar um transistor MOSFET alimentado pelo trilho de 12 V por meio de um resistor de 1K. Quando o GPIO está alto, o tMOSFET está ligado e seu dreno está em 0V. Quando o GPIO é definido como baixo, o dreno sobe para 12 V, necessários para definir o modo de programação de alta tensão. Um segundo GPIO pode ser usado para abaixar os 12 V para 4 V, de forma que possa ser usado como um sinal de reinicialização convencional. Esta facilidade não é usada atualmente, mas pode ser usada para suportar a programação SPI em vez da programação de alta tensão.

Um GPIO é usado para ligar e desligar um driver de estágio MOSFET 2 para a alimentação de 5V para o ATTiny. Esse arranjo é usado para atender à especificação de que, quando o 5 V é ligado, ele tem um tempo de subida rápido. Isso não é atendido com a alimentação direta de um GPIO, particularmente com o capacitor de desacoplamento 4u7 presente na maioria dos módulos ATTiny. Um resistor de valor baixo é usado para amortecer o pico de corrente causado pela rápida ativação dos transistores MOSFET. Pode não ser necessário, mas é usado aqui para evitar quaisquer falhas que possam ser causadas por este pico de ativação.

Observe que o esquema difere um pouco da versão anterior do editor de fusíveis. Os pinos GPIO são reatribuídos para tornar a programação SPI possível, embora o software não use isso no momento. Os pinos de leitura de sinais do ATTiny têm proteção adicional para os sinais de 5 V usados.

Etapa 3: Montagem

conjunto
conjunto
conjunto
conjunto

A imagem mostra os componentes montados em um pequeno gabinete. Uma pequena placa de ensaio fica em cima do módulo ESP-12F e contém o regulador de 3,3 V e os 2 circuitos de acionamento de tensão.

O módulo de reforço de 12 V está à esquerda, obtendo sua alimentação de entrada do USB. O gabinete tem um slot para o bloco de cabeçalho de 7 pinos para permitir conexões com o ATTiny. Após a fiação e o teste, o USB e o bloco principal são presos ao gabinete com cola de resina.

Uma etiqueta pode ser impressa a partir da imagem para colar na caixa para ajudar a conectar os sinais.

Etapa 4: Software e instalação

O software para o programador está em um esboço do Arduino ATTinyHVProgrammer.ino disponível em

Ele usa uma biblioteca contendo funções básicas da web, suporte para configuração de wi-fi, atualizações OTA e acesso ao sistema de arquivamento baseado em navegador. Disponível em

A configuração do software está em um arquivo de cabeçalho BaseConfig.h. Os 2 itens a serem alterados aqui são senhas para o ponto de acesso de configuração wi-fi e uma senha para atualizações OTA.

Compile e faça upload para o ESP8266 a partir de um IDE Arduino. A configuração do IDE deve permitir uma partição SPIFFS, por exemplo, usar 2M / 2M permitirá OTA e um grande sistema de arquivamento. Outras atualizações podem então ser feitas usando OTA

Quando executado pela primeira vez, o módulo não saberá como se conectar ao wi-fi local, portanto, configurará uma rede AP de configuração. Use um telefone ou tablet para se conectar a esta rede e navegue até 192.168.4.1. Uma tela de configuração de wi-fi aparecerá e você deve selecionar a rede apropriada e inserir sua senha. O módulo irá reiniciar e conectar-se usando esta senha a partir de agora. Se estiver mudando para uma rede diferente ou alterando a senha da rede, o AP será ativado novamente, portanto, siga o mesmo procedimento. Ao entrar no software principal após conectar-se ao wi-fi, faça o upload dos arquivos na pasta de dados navegando até os módulos ip / upload. Isso permite que um arquivo seja carregado. Depois que todos os arquivos forem carregados, o acesso ao sistema de arquivamento poderá ser feito usando ip / edit. Se o ip / for acessado, o index.htm é usado e abre a tela principal do programador. Isso permite que os dados do fusível sejam vistos, editados e gravados, o chip seja apagado e o flashh e a memória EEPROM sejam lidos e gravados.

Há uma série de chamadas da web usadas para conseguir isso

  • ip / readFuses obtém dados de fusíveis atuais
  • ip / writeFuses grava novos dados de fusível
  • ip / erasechip.erases the chip
  • ip / dataOp suporta funções de memória de leitura e gravação, ele fornece os seguintes parâmetros

    • dataOp (0 = leitura, 1 = gravação)
    • dataFile (nome do arquivo hex)
    • eeprom (0 = Flash, 1 = eeprom)
    • versão (0 = 25, 1 = 45, 2 = 85)

além disso, um parâmetro AP_AUTHID pode ser definido no esboço antes da compilação. Se definido, ele deve ser inserido na página da web para permitir as operações.

ip / edit dá acesso aos arquivos; ip / firmware dá acesso a atualizações OTA.

O formato de arquivo hex é o tipo de registro Intel compatível com os produzidos pelo Arduino IDE. Se um registro de endereço inicial estiver presente, a inserção de uma instrução RJMP será acionada no local 0. Isso permite que os arquivos do carregador de inicialização do micronúcleo sejam programados em um chip apagado e funcionem. Por conveniência, arquivos hexadecimais simples consistindo de um endereço hexadecimal de 4 caracteres seguido por 16 bytes de dados hexadecimais também podem ser lidos e usados.

Recomendado: