Tartalomjegyzék:

Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP: 9 lépés (képekkel)
Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP: 9 lépés (képekkel)

Videó: Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP: 9 lépés (képekkel)

Videó: Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP: 9 lépés (képekkel)
Videó: #001 Bevezetés - ATtiny Programozási Segédlet | ATtiny Programming Tutorial 2024, Július
Anonim
Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP
Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP
Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP
Az ATTiny85, ATTiny84 és ATMega328P programozása: Arduino mint ISP

Előszó

Nemrégiben kifejlesztettem néhány ESP8266 alapú IoT projektet, és azt tapasztaltam, hogy a központi processzor nehezen tudja elvégezni az összes olyan feladatot, amelyre szükségem volt, hogy kezeljem, ezért úgy döntöttem, hogy a kevésbé fontos tevékenységek egy részét elosztom egy másik mikrokontrollernek. így felszabadítva az ESP8266 -ot, hogy folytathassa IoT -eszközét.

Tekintettel arra, hogy a projektemet a lehető legszélesebb közönségnek akartam közzétenni, úgy döntöttem, hogy az Arduino IDE -t választom fejlesztési platformként, mivel ilyen széles körben támogatott közössége van.

Tervezési korlátozások

Annak érdekében, hogy a céleszközök ésszerű terjedését lehetővé tegyék, lehetővé téve a megfelelő mikrokontroller kiválasztását az adott alkalmazáshoz, a következő Atmel alkatrészekre támaszkodtam; ATMega328P, ATTiny84 és ATTiny85. A szükséges programozó összetettségének korlátozása érdekében korlátoztam az óra kiválasztását minden eszköznél belső, és 16 MHz -es külsőt csak az ATMega328P és ATTiny84 készülékeknél.

A következőkben az Arduino programozásával kapcsolatos megjegyzések gyűjteménye és annak leírása, hogyan állítottam össze egy egyszerű Arduino Uno alapú programozót ezekhez az eszközökhöz (képek fent).

Milyen alkatrészekre van szükségem?

A programozó elkészítéséhez a következő alkatrészekre lesz szüksége

  1. 1 kedvezmény Arduino Uno
  2. 2 ki 28 tűs Zero Insertion Force (ZIF) DIP foglalat (ATMega328P, ATTiny85, ATTiny84 tartására)
  3. 1 db Arduino prototípuspajzs (itt kaptam az enyémet;
  4. 2 db 5 mm -es LED
  5. 2 db 1K ellenállás
  6. 1 off 10K ellenállás
  7. 4 db 22pF kerámia kondenzátor
  8. 2 db 16MHz -es kristály
  9. 3 db 0,1uF kerámia kondenzátor
  10. 1 off 47uF elektrolit kondenzátor
  11. 1 db 10uF elektrolit kondenzátor
  12. Különböző hosszúságú huzal tekercselő huzal.

Milyen szoftverre van szükségem?

Arduino IDE 1.6.9

Milyen készségekre van szükségem?

  1. Az Arduino IDE ismerete
  2. Némi ismerete az elektronikáról és a forrasztásról
  3. Nagyon sok kézügyesség
  4. Türelem és jó látás

Érintett témák

  1. Általános bevezetés az Atmel mikrovezérlők programozásához
  2. ISP vagy Bootloader: Az egész egy kicsit zavaros
  3. Áramkör áttekintés
  4. A programozó beállítása
  5. Az Arduino internetszolgáltató programozójának használata
  6. Kód fejlesztése a célrendszeren
  7. Gotchas
  8. Következtetés
  9. Felhasznált hivatkozások

Jogi nyilatkozat

Mint mindig, ezeket az utasításokat saját felelősségére használja, és azok nem támogatottak

1. lépés: Általános bevezetés az Atmel mikrovezérlők programozásáról

Általános bevezetés az Atmel mikrovezérlők programozásáról
Általános bevezetés az Atmel mikrovezérlők programozásáról
Általános bevezetés az Atmel mikrovezérlők programozásáról
Általános bevezetés az Atmel mikrovezérlők programozásáról
Általános bevezetés az Atmel mikrovezérlők programozásáról
Általános bevezetés az Atmel mikrovezérlők programozásáról

Az Atmel mikrokontrollerek programozására két módszer áll rendelkezésre;

  1. A rendszerprogramozásban (ISP),
  2. Önprogramozás (rendszerbetöltőn keresztül).

Az előbbi módszer (1) közvetlenül az SPI interfészen keresztül programozza a mikrokontrollert, miután először visszaállította a készüléket. Hacsak másképp nem írják elő, akkor egy lefordított végrehajtható forrásprogramot fokozatosan írnak az eszközre a kódmemóriába, ahonnan indításkor végrehajtják. Sok internetszolgáltató képes Atmel eszközök programozására, ezek közül néhány (1. kép); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. A 2. kép azt mutatja, hogy az internetszolgáltató hogyan csatlakozik az ATMega328P -hez (furcsán megjelölt ICSP) az Arduino Uno R3 táblán (a 3. képen látható az internetszolgáltató csapja). Lehetőség van egy Atmel mikrokontroller programozására is az SPI interfészén keresztül, Arduino Uno internetszolgáltatóként (4. kép), itt az Unot használják ATMega328P programozására.

Az utóbbi módszer (2) egy kis kódcsonkot használ, amelyet „bootloader” néven ismerünk, és amely állandóan a végrehajtható kódmemóriában található (általában zárolva, hogy megakadályozzák a véletlen felülírást). Ez a kód először a bekapcsoláskor vagy az eszköz visszaállításakor kerül végrehajtásra, és lehetővé teszi a mikrokontroller számára, hogy újraprogramozza magát új kóddal, amelyet az interfészein keresztül kapott, önmagától külső forrásból. A rendszerbetöltő módszert az Arduino IDE használja a számítógép USB-portjaként leképezett Arduinos újraprogramozására (vagy MAC, Linux box stb., 6. kép), és az Arduino Uno esetén az Atmel eszközzel kommunikál soros interfész az ATMega328P 2. és 3. IC -n. Az Arduino Uno (eltávolítva az ATMega328P mikrovezérlővel) használható az ATMega328P programozására a rendszerbetöltő módszerrel, amely hatékonyan működik USB -soros adapter eszközként (7. kép).

Mi az USB -soros adapter?

Az USB-soros adapter olyan hardver, amely a számítógép USB-portjához csatlakozik, és úgy néz ki, mint egy soros port (örökség a korábbi időkből, amikor a számítógépek EIA-232, V24 vagy RS232 néven ismert soros kommunikációs szabványt használtak), amely lehetővé teszi, hogy soros adatokat küldhet és fogadhat a mikrokontroller azonos elektromos szintjein. Ha az Eszközök -> Port -> COMx lehetőséget választja az Arduino IDE -ből, akkor csatlakoztatja/illeszti a számítógépet az Arduino -hoz.

Az ilyen eszközöket néha FTDI-nek (8. kép, ami valójában márkanév) vagy CH340G-nek vagy másnak nevezik, vagy CH340G, stb. lent.

Az egyértelműség kedvéért a 9. kép azonosítja a két Atmel eszközt és a hozzájuk tartozó ISP csatlakozókat az Arduino Uno R3 készüléken.

1. megjegyzés: Ha az FTDI eszköz útvonalát választja, győződjön meg arról, hogy jó hírű eladótól vásárol, mivel sok olcsó hamisított eszköz volt a piacon, amelyek meghibásodtak a Windows frissítésének alkalmazásakor.

Ajánlott: