Բովանդակություն:

Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP: 9 քայլ (նկարներով)
Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP: 9 քայլ (նկարներով)

Video: Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP: 9 քայլ (նկարներով)

Video: Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP: 9 քայլ (նկարներով)
Video: Tokens in C / C++ - Keywords | Strings | Identifiers | Constants | Operators | Special Symbols 2024, Հուլիսի
Anonim
Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP
Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP
Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP
Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP

Առաջաբանը

Վերջերս ես մշակում էի մի քանի ESP8266 IoT նախագծեր և պարզեցի, որ հիմնական պրոցեսորը պայքարում էր իր առջև դրված բոլոր առաջադրանքները կատարելու համար, ուստի որոշեցի որոշ ավելի քիչ կարևոր գործողություններ բաշխել տարբեր միկրոկոնտրոլերների վրա: այս կերպ ազատելով ESP8266- ը ՝ շարունակելու IoT սարք լինելու իր աշխատանքը:

Հաշվի առնելով, որ ցանկանում էի իմ նախագիծը հրապարակել հնարավորինս լայն լսարանի համար, ես նախընտրեցի օգտագործել Arduino IDE- ն որպես ընտրության զարգացման հարթակ, քանի որ այն ունի այդքան լայնորեն աջակցվող համայնք:

Դիզայնի սահմանափակումներ

Թիրախային սարքերի ողջամիտ տարածում ապահովելու համար, որը թույլ է տալիս ընտրել համապատասխան միկրոկոնտրոլերը ձեռքի կիրառման համար, ես որոշեցի Atmel- ի հետևյալ մասերը. ATMega328P, ATTiny84 և ATTiny85: Անհրաժեշտ ծրագրավորողի բարդությունը սահմանափակելու համար ես սահմանափակեցի ժամացույցի ընտրությունը բոլոր սարքերի համար ներքին և 16 ՄՀց արտաքին միայն ATMega328P- ի և ATTiny84- ի համար:

Ստորև բերված է Arduino- ի հետ ծրագրավորման վերաբերյալ գրառումների հավաքածու և նկարագրություն, թե ինչպես եմ հավաքել Arduino Uno- ի վրա հիմնված պարզ ծրագրավորող այս սարքերի համար (նկարներ վերևում):

Ի՞նչ մասեր են ինձ պետք:

Buildրագրավորող կառուցելու համար կպահանջվեն հետևյալ մասերը

  1. 1 զեղչ Arduino Uno- ի համար
  2. 2 անջատված 28 փին Zero Insertion Force (ZIF) DIP վարդակներ (պահելու համար ATMega328P, ATTiny85, ATTiny84)
  3. 1 զեղչ Arduino նախատիպի վահան (ես իմն այստեղ եմ ստացել;
  4. 2 անջատված 5 մմ LED
  5. 2 անջատված 1K դիմադրություն
  6. 1 -ից 10K դիմադրություն
  7. 4 անջատված 22pF կերամիկական կոնդենսատորներ
  8. 2 անջատված 16 ՄՀց բյուրեղներով
  9. 3 զեղչ 0.1uF կերամիկական կոնդենսատորներ
  10. 1 off 47uF էլեկտրոլիտիկ կոնդենսատոր
  11. 1 off 10uF էլեկտրոլիտիկ կոնդենսատոր
  12. Տարբեր երկարությունների մետաղալար փաթաթող մետաղալար:

Ինչ ծրագրային ապահովման կարիք ունեմ:

Arduino IDE 1.6.9

Ի՞նչ հմտություններ են ինձ պետք:

  1. Arduino IDE- ի իմացություն
  2. Էլեկտրոնիկայի որոշ գիտելիքներ և ինչպես կպցնել
  3. Ձեռքի մեծ ճարտարություն
  4. Համբերության և լավ տեսողության բեռ

Coveredածկված թեմաներ

  1. Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման մեջ
  2. ISP կամ Bootloader. Ամեն ինչ մի փոքր շփոթեցնող է
  3. Շրջանի ակնարկ
  4. Կարգավորեք ձեր ծրագրավորողը
  5. Օգտագործելով ձեր Arduino ISP ծրագրավորողը
  6. Ձեր թիրախային համակարգի կոդի մշակում
  7. Գոտչաս
  8. Եզրակացություն
  9. Օգտագործված հղումներ

Հրաժարում

Ինչպես միշտ, դուք օգտագործում եք այս հրահանգները ձեր ռիսկով, և դրանք գալիս են չաջակցված:

Քայլ 1. Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ

Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ
Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ
Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ
Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ
Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ
Ընդհանուր ներածություն Atmel Microcontrollers ծրագրավորման վերաբերյալ

Գոյություն ունեն երկու եղանակ ՝ Atmel միկրոկոնտրոլերների ծրագրավորման համար.

  1. Համակարգային ծրագրավորում (ISP),
  2. Ինքնակազմակերպում (bootloader- ի միջոցով):

Նախկին մեթոդը (1) ուղղակիորեն ծրագրավորում է միկրոկառավարիչը SPI ինտերֆեյսի միջոցով `սարքն առաջինը վերականգնելուց հետո: Եթե այլ բան նախատեսված չէ, կազմված գործարկվող սկզբնաղբյուրը սարքի վրա աստիճանաբար գրվում է կոդի հիշողության մեջ, որտեղից այն գործարկվում է գործարկման ժամանակ: Կան բազմաթիվ ISP սարքեր, որոնք ունակ են ծրագրավորել Atmel սարքերը, որոնցից մի քանիսը (նկար 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500: Նկար 2 -ը ցույց է տալիս, թե ինչպես է ISP սարքը միանում ATMega328P- ին (տարօրինակ կերպով նշված ICSP) Arduino Uno R3 տախտակի վրա (3 -րդ նկարը տալիս է ISP- ի կապը): Հնարավոր է նաև ծրագրավորել Atmel միկրոկառավարիչ `իր SPI ինտերֆեյսի միջոցով Arduino Uno- ի միջոցով որպես ISP (նկար 4), այստեղ Uno- ն օգտագործվում է ATMega328P- ի ծրագրավորման համար:

Վերջին մեթոդը (2) օգտագործում է կոդի փոքր կոճակ, որը հայտնի է որպես «bootloader», որը մշտապես բնակվում է գործարկվող ծածկագրերի հիշողության մեջ (սովորաբար կողպված է ՝ պատահական վերաշարադրումը կանխելու համար նկ. 5): Այս կոդը առաջին հերթին կատարվում է միացման կամ սարքի վերակայման դեպքում և թույլ է տալիս միկրոկառավարիչին վերագրանցել ինքն իրեն արտաքին աղբյուրից իր ինտերֆեյսներից մեկի միջոցով ստացված նոր ծածկագրով: Բեռնիչ-բեռնման մեթոդը օգտագործվում է Arduino IDE- ի կողմից համակարգչում քարտեզագրված Arduinos- ի վերակազմակերպման համար (Կամ MAC, Linux տուփ և այլն, նկար 6), իսկ Arduino Uno- ի դեպքում հաղորդակցվում է Atmel սարքի հետ դրա միջոցով սերիական ինտերֆեյս ATMega328P- ի IC կապում 2 և 3. Նաև Arduino Uno- ն (հեռացված է ATMega328P միկրոկառավարիչը) կարող է օգտագործվել ATMega328P- ի բեռնման մեթոդի ծրագրավորման համար, որը արդյունավետորեն գործում է որպես USB սերիական ադապտեր սարք (նկար 7):

Ի՞նչ է USB- ից սերիական ադապտեր:

USB- ից սերիական ադապտեր սարքավորում է, որը միացված է ձեր համակարգիչների USB պորտին և նման է սերիական կոմպորտին (ժառանգություն ավելի վաղ ժամանակներից, երբ համակարգիչները օգտագործում էին սերիական հաղորդակցության ստանդարտը, որը հայտնի էր որպես EIA-232, V24 կամ RS232), որը թույլ է տալիս Ձեզ միկրոկոնտրոլի նույն էլեկտրական մակարդակներում սերիական տվյալներ ուղարկել և ստանալ: Երբ Arduino IDE- ից ընտրում եք Գործիքներ -> Պորտ -> COMx, ձեր համակարգիչը միացնում/միացնում եք ձեր Arduino- ին:

Նման սարքը երբեմն կոչվում է FTDI (նկար 8, որն իրականում ապրանքանիշ է) կամ CH340G և այլն: Arduino uno- ի սերիայի USB- ն ձեռք է բերվում ATMega16U2-MU (R) IC ZU4- ի միջոցով, ինչպես Arduino սխեմատիկայում: ստորեւ.

Հստակության համար 9 -ը նույնականացնում է երկու Atmel սարքերը և դրանց համապատասխան ISP միակցիչները Arduino Uno R3- ում:

Նշում 1. Եթե որոշեք գնալ FTDI սարքի երթուղով, համոզվեք, որ գնում եք հեղինակավոր վաճառողից, քանի որ շուկայում եղել են շատ էժան կեղծ սարքեր, որոնք ձախողվել են պատուհանների թարմացման կիրառման դեպքում:

Խորհուրդ ենք տալիս: