Innehållsförteckning:

ATTiny HV -programmerare: 4 steg
ATTiny HV -programmerare: 4 steg

Video: ATTiny HV -programmerare: 4 steg

Video: ATTiny HV -programmerare: 4 steg
Video: #002|Deutsch - avrdude, USBasp, Atmel Studio, Arduino IDE, fuses, lockbits, hex files ... 2024, Juli
Anonim
ATTiny HV -programmerare
ATTiny HV -programmerare
ATTiny HV -programmerare
ATTiny HV -programmerare

Detta instruerbara är för ett ATTiny -programmeringsverktyg som använder ett ESP8266 och ett webbläsarbaserat användargränssnitt. Det följer på från en tidigare instruerbar säkringsredigerare för att läsa och ställa in säkringar men stöder nu radering, läsning och skrivning av blixt- och EEPROM -minnen.

Säkringsstödet gör det möjligt att göra inställningar som styrs av de 2 säkringsbytena till en mycket enkel aktivitet.

Minnesstödet gör det möjligt att säkerhetskopiera och återställa innehållet i blixt och EEPROM. Nytt innehåll från hex -filer kan också skrivas. Detta gör det enkelt att återställa eller skriva nya mikronukleus bootloaders.

Enheten har följande funktioner.

  • Webbserver som stöder läsning och skrivning av säkringsdata och en redaktörssida som ger enkel åtkomst till säkringsalternativ
  • Radera chip (behövs innan du skriver nytt material)
  • Läsa och skriva Flash -programdata från hex -filer
  • Läsa och skriva EEPROM -data från hex -filer
  • Stöd för ATTiny 25, 45 och 85 varianter
  • USB -driven med intern 12V generator för högspänningsprogrammering
  • Wifi -nätverkskonfiguration med wifiManager åtkomstpunkt Webbläsartillgång till ESP8266 SPIFFS -arkivsystem för överföring och nedladdning av filer
  • OTA -uppdatering av ESP8266 -firmware

Steg 1: Komponenter och verktyg

Komponenter

  • ESP-12F-modul
  • 5V till 12V boost modul
  • micro USB -uttag med lödbar kontakt
  • 220uF Tantal kondensator
  • xc6203 3.3V LDO -regulator
  • MOSFET-transistorer 3x n kanal AO3400 1 x p-kanal AO3401
  • Motstånd 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • stifthuvudblock
  • Liten bit brödbräda för stödkretsar
  • haka på wireEnclosure (jag använde en 3D -tryckt låda på

Verktyg

  • Finspetslödkolv
  • Pincett
  • Avbitartång

Steg 2: Elektronik

Elektronik
Elektronik

Schemat visar att all ström kommer från en 5V USB -anslutning. En regulator ger 3.3V till ESP-12F-modulen. En liten boost -modul ger 12V som behövs för högspänningsprogrammering.

ESP GPIO ger de 4 logiska signalerna som används vid högspänningsprogrammering (klocka, data in, data ut och kommando in).

En GPIO används för att slå på och av en MOSFET -transistor som matas av 12V -skenan via ett 1K -motstånd. När GPIO är hög är tMOSFET på och dess dränering är vid 0V. När GPIO är inställd låg stiger avloppet till 12V som behövs för att ställa in högspänningsprogrammeringsläget. En andra GPIO kan användas för att sänka 12V högt ner till 4V så att den kan användas som en konventionell återställningssignal. Denna anläggning är för närvarande oanvänd men kan användas för att stödja SPI -programmering snarare än högspänningsprogrammering.

En GPIO används för att slå på och av en MOSFET 2 -stegs drivrutin för 5V -försörjningen till ATTiny. Detta arrangemang används för att uppfylla specifikationen att när 5V slås på har den en snabb stigningstid. Detta uppfylls inte för att driva försörjningen direkt från en GPIO, särskilt inte med 4u7 -avkopplingskondensatorn på de flesta ATTiny -moduler. Ett lågvärdesmotstånd används för att dämpa strömspiken som orsakas av MOSFET -transistornas snabba start. Det kanske inte behövs, men används här för att undvika eventuella misslyckanden som kan orsakas av denna start på spik.

Observera att schemat skiljer sig lite från den tidigare versionen av säkringsredigeraren. GPIO-stiften tilldelas om för att möjliggöra SPI-programmering även om programvaran inte använder detta för tillfället. Stiftläsningssignalerna från ATTiny har ytterligare skydd för de 5V-signaler som används.

Steg 3: Montering

hopsättning
hopsättning
hopsättning
hopsättning

Bilden visar komponenterna monterade i ett litet hölje. En liten brödbräda sitter ovanpå ESP-12F-modulen och innehåller 3.3V-regulatorn och de 2 spänningsdrivkretsarna.

12V boost -modulen är till vänster och får sin ingångseffekt från USB. Höljet har en plats för det 7 -poliga huvudblocket för att möjliggöra anslutningar till ATTiny. Efter anslutning och testning fästs USB- och huvudblocket på höljet med hartslim.

En etikett kan skrivas ut från bilden för att hålla fast vid rutan för att hjälpa till att ansluta signalerna.

Steg 4: Programvara och installation

Programvaran för programmeraren finns i en Arduino -skiss ATTinyHVProgrammer.ino tillgänglig på

Det använder ett bibliotek som innehåller grundläggande webbfunktioner, wifi -konfigurationsstöd, OTA -uppdateringar och webbläsarbaserad arkiveringssystemåtkomst. Detta är tillgängligt på

Konfigurationen av programvaran finns i en huvudfil BaseConfig.h. De två sakerna som ska ändras här är lösenord för åtkomstpunkten för wifi -inställning och ett lösenord för OTA -uppdateringar.

Kompilera och ladda upp till ESP8266 från en Arduino IDE. IDE -konfigurationen bör möjliggöra en SPIFFS -partion, t.ex. om 2M/2M tillåter OTA och ett stort arkiveringssystem. Ytterligare uppdateringar kan sedan göras med OTA

Vid första körningen kommer modulen inte att veta hur man ansluter till det lokala wifi så kommer att konfigurera ett konfigurations -AP -nätverk. Använd en telefon eller surfplatta för att ansluta till det här nätverket och bläddra sedan till 192.168.4.1. En wifi -konfigurationsskärm visas och du bör välja rätt nätverk och ange dess lösenord. Modulen kommer att starta om och ansluta med det här lösenordet från och med nu. Om du flyttar till ett annat nätverk eller ändrar nätverkslösenordet kommer AP att aktiveras igen så följ samma procedur. När du går in i huvudprogramvaran efter att du har anslutit till wifi laddar du upp filerna i datamappen genom att bläddra till modulerna ip/upload. Detta gör att en fil kan laddas upp. När alla filer har laddats upp kan ytterligare filsystemåtkomst göras med ip/edit. Om ip/ nås används index.htm och tar fram huvudprogrammeringsskärmen. Detta gör att säkringsdata kan ses, redigeras och skrivas, chipet kan raderas och blixt och EEPROM -minne kan läsas och skrivas.

Det finns ett antal webbsamtal som används för att uppnå detta

  • ip/readFuses får aktuell säkringsdata
  • ip/writeFuses skriver nya säkringsdata
  • ip/erasechip.seres chipet
  • ip/dataOp stöder läs- och skrivminnesfunktioner, den levererar följande parametrar

    • dataOp (0 = läs, 1 = skriv)
    • dataFile (namn på hexfil)
    • eeprom (0 = Flash, 1 = eeprom)
    • version (0 = 25, 1 = 45, 2 = 85)

Dessutom kan en AP_AUTHID -parameter definieras i skissen före kompilering. Om den är definierad måste den anges på webbsidan för att tillåta operationer.

ip/edit ger åtkomst till filerna; ip/firmware ger tillgång till OTA -uppdateringar.

Hexfilformatet är intelstilsposter kompatibla med dem som produceras av Arduino IDE. Om det finns en startadresspost kommer det att utlösa införandet av en RJMP -instruktion på plats 0. Detta gör att mikronukleus -bootloader -filer kan programmeras till ett raderat chip och att fungera. För enkelhets skull kan vanliga Hex -filer bestående av en hexadressa med 4 tecken följt av 16 hex -databyte också läsas och användas.

Rekommenderad: