Մանրանկարիչ USB ծրագրավորող AVR միկրոկոնտրոլերների համար: AVRProg ծրագրավորողի ինքնուրույն հավաքում Համակարգային ծրագրավորման ինտերֆեյսի ISP

Ինչպես թատրոնն է սկսվում կախիչով, այնպես էլ միկրոկոնտրոլերների ծրագրավորումը սկսվում է լավ ծրագրավորող ընտրելով: Քանի որ ես սկսում եմ տիրապետել ATMEL-ի միկրոկոնտրոլերներին, ես ստիպված էի մանրամասն ծանոթանալ արտադրողների առաջարկածին: Նրանք առաջարկում են շատ հետաքրքիր և համեղ բաներ, միայն չափազանց բարձր գներով։ Օրինակ, մեկ քսան ոտանի միկրոկառավարիչով շարֆը՝ զույգ դիմադրություններով և դիոդներով որպես ամրագոտի, արժե «ինքնաթիռի» պես: Հետևաբար, ծագեց ծրագրավորողի ինքնահավաքման հարցը: Փորձառու ռադիոսիրողների զարգացումները երկար ուսումնասիրելուց հետո որոշվեց հավաքել լավ ապացուցված USBASP ծրագրավորող, որի ուղեղը Atmega8 միկրոկառավարիչն է (կան նաև որոնվածային տարբերակներ atmega88-ի և atmega48-ի համար): Միկրոկարգավորիչի նվազագույն լարերը թույլ են տալիս հավաքել բավականին մանրանկարիչ ծրագրավորող, որը միշտ կարող եք վերցնել ձեզ հետ, ինչպես ֆլեշ կրիչը:

Այս ծրագրավորողի հեղինակը գերմանացի Թոմաս Ֆիչլն է, նրա զարգացման էջը դիագրամներով, տպագիր տպատախտակի ֆայլերով և դրայվերներով:
Երբ որոշվեց հավաքել մանրանկարիչ ծրագրավորող, ես վերափոխեցի Atmega8 միկրոկոնտրոլերի շղթան TQFP32 փաթեթում (միկրոկարգավորիչի պինութը տարբերվում է DIP փաթեթի պինութից).

Jumper J1-ն օգտագործվում է, եթե անհրաժեշտ է 1,5 ՄՀց-ից ցածր ժամացույցի հաճախականությամբ միկրոկոնտրոլեր բռնկել: Ի դեպ, այս ցատկողը կարելի է ընդհանրապես վերացնել՝ ՄԿ-ի 25-րդ ոտքը գետնին դնելով։ Այնուհետև ծրագրավորողը միշտ կաշխատի կրճատված հաճախականությամբ: Անձամբ ես նկատեցի, որ նվազեցված արագությամբ ծրագրավորումը վայրկյանի մի մասն ավելի երկար է տևում, և, հետևաբար, հիմա ես չեմ քաշում թռչկոտիկը, այլ անընդհատ կարում եմ դրանով:
Zener դիոդները D1 և D2 օգտագործվում են ծրագրավորողի և USB ավտոբուսի միջև մակարդակները համապատասխանելու համար, այն կաշխատի առանց դրանց, բայց ոչ բոլոր համակարգիչների վրա:
Կապույտ LED-ը ցույց է տալիս, որ շղթան պատրաստ է ծրագրավորվելու, կարմիր LED-ը վառվում է ծրագրավորման ժամանակ: Ծրագրավորման կոնտակտները գտնվում են IDC-06 միակցիչի վրա, փորվածքը համապատասխանում է ATMEL ստանդարտին 6-փին ISP միակցիչի համար.

Այս միակցիչը պարունակում է կոնտակտներ ծրագրավորվող սարքերի սնուցման համար, այստեղ այն վերցված է անմիջապես համակարգչի USB պորտից, այնպես որ դուք պետք է զգույշ լինեք և խուսափեք կարճ միացումներից: Նույն միակցիչը օգտագործվում է նաև հսկիչ միկրոկոնտրոլերի ծրագրավորման համար, պարզապես միացրեք «Վերականգնել» կապանքները միակցիչի և միկրոկառավարիչի վրա (տես գծապատկերի կարմիր կետավոր գիծը): Հեղինակային սխեմայում դա արվում է ցատկողով, բայց ես տախտակը չեմ խառնել և հանել եմ այն: Մեկ որոնվածի համար բավական է պարզ մետաղալարով ցատկել: Տախտակը պարզվեց, որ երկկողմանի է, 45x18 մմ չափերով:

Ծրագրավորման միակցիչը և ծրագրավորողի արագությունը նվազեցնելու համար նախատեսված ցատկողը տեղադրված են սարքի վերջում, սա շատ հարմար է

Կառավարման միկրոկառավարիչի որոնվածը
Այսպիսով, սարքը հավաքելուց հետո ամենակարեւորը մնում է հսկիչ միկրոկառավարիչը բռնկել: Ընկերները, ովքեր դեռ ունեն LPT պորտով համակարգիչներ, հարմար են այս նպատակների համար :) Ամենապարզ հինգ լարային ծրագրավորողը AVR-ի համար
Միկրոկառավարիչը կարող է թարթվել ծրագրավորման միակցիչից՝ միացնելով միկրոկարգավորիչի (29 ոտք) Վերականգնման պտուտակներն ու միակցիչը: Որոնվածը գոյություն ունի Atmega48, Atmega8 և Atmega88 մոդելների համար: Ցանկալի է օգտագործել վերջին երկու քարերից մեկը, քանի որ Atmega48 տարբերակի աջակցությունը դադարեցվել է, և որոնվածի վերջին տարբերակը թվագրվում է 2009 թվականին: Իսկ 8-րդ և 88-րդ քարերի տարբերակները մշտապես թարմացվում են, և հեղինակը, կարծես, ծրագրում է ֆունկցիոնալության մեջ ավելացնել վրիպազերծող սարք: Մենք ստանում ենք որոնվածը գերմանական էջից: Կառավարման ծրագիրը միկրոկառավարիչում վերբեռնելու համար ես օգտագործել եմ PonyProg ծրագիրը։ Ծրագրավորելիս անհրաժեշտ է կարգավորել բյուրեղը, որպեսզի աշխատի արտաքին ժամացույցի աղբյուրից 12 ՄՀց հաճախականությամբ: Ծրագրի սքրինշոթը ապահովիչների ցատկի կարգավորումներով PonyProg-ում.

Որոնվածը թարթելուց հետո միկրոկառավարիչի 23-րդ ոտքին միացված լուսադիոդը պետք է վառվի: Սա վստահ նշան կլինի, որ ծրագրավորողը հաջողությամբ ծրագրավորվել է և պատրաստ է օգտագործման:

Վարորդի տեղադրում
Տեղադրումն իրականացվել է Windows 7 օպերացիոն համակարգով սարքի վրա և որևէ խնդիր չի առաջացել: Երբ առաջին անգամ միանում եք ձեր համակարգչին, կհայտնվի հաղորդագրություն, որը ցույց է տալիս, որ նոր սարք է հայտնաբերվել, որը հուշում է ձեզ տեղադրել վարորդ: Ընտրեք տեղադրումը նշված վայրից.

Անմիջապես կհայտնվի պատուհան, որը նախազգուշացնում է, որ տեղադրվող վարորդը չունի թվային ստորագրություն փոքր փափուկների համար.

Մենք անտեսում ենք նախազգուշացումը և շարունակում ենք տեղադրումը, կարճ դադարից հետո կհայտնվի պատուհան, որը տեղեկացնում է, որ վարորդի տեղադրման գործողությունը հաջողությամբ ավարտվել է:

Վերջ, ծրագրավորողն այժմ պատրաստ է օգտագործման:

Khazama AVR ծրագրավորող
Ծրագրավորողի հետ աշխատելու համար ես ընտրեցի Khazama AVR Programmer flasher-ը։ Հիանալի ծրագիր մինիմալիստական ​​ինտերֆեյսով:

Այն աշխատում է բոլոր հայտնի AVR միկրոկառավարիչների հետ, թույլ է տալիս թարթել ֆլեշ և eeprom, դիտել հիշողության պարունակությունը, ջնջել չիպը, ինչպես նաև փոխել ապահովիչների բիթերի կազմաձևումը: Ընդհանուր առմամբ, ամբողջովին ստանդարտ հավաքածու: Ապահովիչների կարգավորումն իրականացվում է բացվող ցուցակից ընտրելով ժամացույցի աղբյուրը, այդպիսով բյուրեղը սխալմամբ կողպելու հավանականությունը կտրուկ նվազում է: Ապահովիչները կարող են նաև փոխվել՝ ներքևի դաշտում վանդակներ դնելով, բայց չես կարող վանդակներ տեղադրել գոյություն չունեցող կոնֆիգուրացիայի վրա, և սա նույնպես մեծ պլյուս է անվտանգության առումով:

Ապահովիչները գրվում են MK հիշողության մեջ, ինչպես կարող եք կռահել, սեղմելով Գրել բոլոր կոճակը: Save կոճակը պահպանում է ընթացիկ կոնֆիգուրացիան, իսկ Load կոճակը վերադարձնում է պահպանվածը: Ճիշտ է, ես չկարողացա գտնել այս կոճակների գործնական կիրառումը: Default կոճակը նախատեսված է ստանդարտ ապահովիչների կոնֆիգուրացիան գրանցելու համար, այն, որով միկրոկառավարիչները գալիս են գործարանից (սովորաբար 1 ՄՀց ներքին RC-ից):
Ընդհանրապես, այն ամբողջ ընթացքում, երբ ես օգտագործում եմ այս ծրագրավորողը, այն իրեն դրսևորել է որպես լավագույնը կայունության և աշխատանքի արագության առումով։ Այն աշխատում էր առանց խնդիրների ինչպես հնագույն սեղանադիր համակարգչի, այնպես էլ նոր նոութբուքի վրա:

Դուք կարող եք ներբեռնել PCB ֆայլը SprintLayout-ում՝ օգտագործելով

Փոքր ծրագիր, որը ստեղծվել է Atmel AVR միկրոկառավարիչները արագ թարթելու նպատակով:

Khazama AVR Programmer հավելվածն ունի պարզ և հարմար մինիմալիստական ​​պատուհանի ինտերֆեյս: Այս ծրագրավորողը գրաֆիկական պատյան է avrdude ծրագրի համար և կատարյալ է սկսնակ ծրագրավորողների համար։ Ներկայումս Khazama AVR Programmer-ն աջակցում է AVR միկրոկառավարիչների մոտ ութսուն մոդել, որոնք պատկանում են ATmega, ATxmega, ATtiny և AT90 ընտանիքներին: Ծրագրավորողն ունի նվազագույն թվով գործառույթներ, սակայն առանձնանում է իր արագությամբ և կայունությամբ։ Ծրագիրը թույլ է տալիս՝ բեռնել բուֆերում EEPROM և FLASH հիշողության համար պահված վեցանկյուն ֆայլեր, գրել վեցանկյուն ֆայլեր EEPROM և միկրոկառավարիչի FLASH հիշողության մեջ, դիտել չիպի EEPROM և FLASH հիշողության բովանդակությունը, մաքրել կարգավորիչի հիշողությունը, փոխել FUSE և LOCK բիթերի կոնֆիգուրացիան, ստուգել EEPROM և FLASH հիշողությունը: Բոլոր գործողությունները կարող են իրականացվել կամ մենյուի կամ գործիքագոտու կոճակների միջոցով, որոնց տեսքը պատճենվում է ծրագրաշարի նմանատիպ կոճակներից:

Khazama AVR Programmer ծրագրի այլ գործառույթների շարքում հարկ է նշել. համատեքստային ակնարկների և դյուրանցումների ստեղների առկայությունը, այս հավելվածը բոլոր մյուս պատուհանների վերևում տեղադրելու հնարավորությունը, EEPROM և FLASH hex ֆայլերի դիտողի առկայությունը (առանց խմբագրում), միկրոկառավարիչների կոնֆիգուրացիայի բիթերի արժեքների վիզուալացում և վերծանում: Կարգավորելի «AutoProgram» կոճակը գործարկում է «Ծրագրի ընտրանքներ» պատուհանում նշված գործողությունների մի շարք (կանխադրված է մաքրել չիպը և գրել FLASH հիշողության մեջ): Khazama AVR Programmer-ն աշխատում է , TPI ծրագրավորումն ապահովված է: ISP ինտերֆեյսի միջոցով ծրագրավորման ժամացույցի հաճախականությունը սահմանվում է 500 Հց-ից մինչև 1,5 ՄՀց միջակայքում:

FUSE բիթերի ծրագրավորման կարգը չի պահանջում վեցանկյուն արժեքների հետ շփվել և բաղկացած է բացվող ցուցակներից անհրաժեշտ պարամետրերի ընտրությունից, ինչը նվազեցնում է միկրոկարգավորիչների սխալմամբ արգելափակման հավանականությունը: FUSE-ի բիթերը նույնպես կարող են փոխվել՝ ստուգելով ներքևի դաշտի վանդակները: Միևնույն ժամանակ, դուք չեք կարող ստուգել վանդակները գոյություն չունեցող կոնֆիգուրացիաների համար, ինչը նույնպես առավելություն է անվտանգության առումով: FUSE bits ծրագրավորման պատուհանը պարունակում է հետևյալ գործառույթները՝ ապահովիչներ գրել կարգավորիչի հիշողության մեջ, ընթացիկ կոնֆիգուրացիան պահել բուֆերում, կանչել պահպանված կոնֆիգուրացիան բուֆերից, վերականգնել ստանդարտ FUSE բիթերի կոնֆիգուրացիան, այսինքն՝ այն, որով եկել է միկրոկառավարիչը։ գործարանից։ Khazama AVR Programmer հավելվածն աշխատում է *.hex հիշողության աղբարկիչ ֆայլերով:

Հավելվածը գրել է Բեհզադ Խազամա անունով արաբ ծրագրավորողը (Իրան, Ռազավի Խորասան նահանգ, Սեբզևար քաղաք): Այս ծրագրավորողի վերջին տարբերակը թողարկվել է 2011 թվականի կեսերին:

Ծրագիրը ներկայացված է միայն անգլերենով և չունի ռուսերեն թարգմանություն։

Khazama AVR Programmer ծրագրային ապահովումն ապահովվում է Microsoft Windows ընտանիքի օպերացիոն համակարգերով՝ XP, Vista, 7, 8 (32- և 64-բիթանոց):

Ծրագրի բաշխում.անվճար

USBASP ծրագրավորող - սարք, pinout, կապ, որոնվածը

Այսօր մենք կնայենք, թե ինչպես էժան և արագ ծրագրավորել ցանկացած AVR միկրոկառավարիչ, որն աջակցում է սերիական ծրագրավորման ռեժիմին (ISP ինտերֆեյս) համակարգչի USB պորտի միջոցով: Որպես ծրագրավորող մենք կօգտագործենք շատ պարզ և հայտնի ծրագրավորող USBASPև որպես ծրագիր՝ AVRdude_Prog V3.3, որը նախատեսված է AVR MK-ի ծրագրավորման համար։

USBASP ծրագրավորող

Միկրոկառավարիչը ծրագրավորելու համար անհրաժեշտ է ունենալ երկու բան.
- ծրագրավորող
- ՄԿ-ում տվյալների գրանցման համապատասխան ծրագրակազմ
AVR-ի ամենապարզ, ամենատարածված և մանրանկարիչ ծրագրավորողներից մեկն է USBASP ծրագրավորող, ստեղծել է գերմանացի Թոմաս Ֆիշլը։
Այս ծրագրավորողի համար կան բազմաթիվ տարբեր շրջանային լուծումներ, դուք կարող եք ինքներդ հավաքել ծրագրավորողը կամ գնել այն (արժեքը 2-3 դոլար): Ինքներդ այն հավաքելիս նկատի ունեցեք, որ հավաքված ծրագրավորողին անհրաժեշտ կլինի թարթել երրորդ կողմի ծրագրավորողով:

Մենք կդիտարկենք ծրագրավորողի ամենաբարդ տարբերակը.


Ծրագրավորողի բնութագրերը.
- աշխատում է տարբեր օպերացիոն համակարգերով - Linux, Mac OS, Windows (Windows օպերացիոն համակարգի համար, որպեսզի ծրագրավորողը աշխատի, անհրաժեշտ է տեղադրել վարորդներ - հոդվածի վերջում արխիվ)
— Ծրագրավորման արագությունը մինչև (դուք կարող եք ինքներդ սահմանել ծրագրավորման արագությունը, օրինակ AVRDUDE_PROG-ում) 375 (5) կբ/վրկ
- ունի 10-փին ISP ինտերֆեյս (համապատասխանում է ICSP ստանդարտին 10-փին պինոտով)
- աջակցում է երկու ծրագրավորողի սնուցման լարման՝ 5V և 3.3V (համակարգչի ոչ բոլոր USB պորտերն են աշխատում 5 վոլտով)
- սնուցվում է համակարգչի USB պորտից, ունի ներկառուցված հոսանքի պաշտպանություն (500 մԱ ինքնավերականգնվող ապահովիչ)

Թռիչքների նպատակը.
JP1 միակցիչ— նախատեսված է ծրագրավորողի միկրոկառավարիչը թարթելու համար (ջրամեկուսացման համար անհրաժեշտ է փակել կոնտակտները)
JP2 միակցիչ- ծրագրավորողի մատակարարման լարումը - 5 վոլտ կամ 3,3 վոլտ (կանխադրված - 5 վոլտ, ինչպես լուսանկարում): Ծրագրավորվող միկրոկառավարիչը կամ այն ​​կառուցվածքը, որում այն ​​տեղադրված է, 300-400 մԱ ընթացիկ սպառմամբ, կարող է սնուցվել ծրագրավորողից, միակցիչն ունի +5V ելք (VCC):
JP3 միակցիչ- որոշում է SCK տվյալների ժամացույցի հաճախականությունը՝ բաց - բարձր հաճախականություն (375 կՀց), փակ - ցածր հաճախականություն (8 կՀց)
Ավելին JP3 միակցիչի մասին
Jumper JP3-ը նախատեսված է միկրոկոնտրոլերի վրա տվյալների գրման արագությունը նվազեցնելու համար: Եթե ​​միկրոկոնտրոլերի ժամացույցի հաճախականությունը սահմանված է ավելի քան 1,5 ՄՀց, ապա ցատկողը կարող է բաց լինել, իսկ ծրագրավորման արագությունը բարձր է: Եթե ​​ժամացույցի հաճախականությունը 1,5 ՄՀց-ից պակաս է, ապա անհրաժեշտ է կարճ միացնել ցատկող կապում - նվազեցնել ծրագրավորման արագությունը, հակառակ դեպքում հնարավոր չի լինի ծրագրավորել միկրոկառավարիչը: Օրինակ, եթե մենք ծրագրավորենք ATmega8 միկրոկառավարիչը (սկզբունքորեն, գրեթե բոլոր AVR միկրոկառավարիչները կազմաձևված են 1 ՄՀց լռելյայն ժամացույցի հաճախականության համար), որն ունի 1 ՄՀց լռելյայն ժամացույցի հաճախականություն, անհրաժեշտ կլինի փակել ցատկող կապերը (ինչպես. լուսանկարում): Հավանաբար, ավելի լավ է այս ցատկողը մշտապես փակ պահել, որպեսզի մոռանաք դրա գոյության մասին և չտանջվեք այն հարցից, թե ինչու չի թարթում միկրոկառավարիչը:

Եթե ​​դուք օգտագործում եք կայքում տեղադրվածը, ապա կարող եք մոռանալ jumper-ի մասին

Ծրագրավորողին աջակցում է հետևյալ ծրագրաշարը.
-ԱՎՐԴՈՒԴ
— AVRdude_Prog
- Bascom-AVR
— Khazama AVR Prog
- Extreme Burner AVR

Նման ծրագրավորողի հետ աշխատելը շատ պարզ է. միացրեք ծրագրավորողի համապատասխան քորոցները միկրոկառավարիչին, միացրեք այն համակարգչի USB պորտին - ծրագրավորողը պատրաստ է օգտագործման:
USBASP 10-փին ծրագրավորողի մալուխի ներդիր :


1 - MOSI - տվյալների ելք սերիական ծրագրավորման համար
2 - VCC - ելք +5 (+3.3) վոլտ համակարգչի USB պորտից ծրագրավորվող միկրոկոնտրոլերի կամ ծրագրավորվող տախտակի սնուցման համար (առավելագույն հոսանքը 200 մԱ - USB պորտը չայրելու համար)
3 - NC - չի օգտագործվում
4 - GND - ընդհանուր մետաղալար (մինուս հզորությունը)
5 - RST - միանում է միկրոկառավարիչի RESET փինին
6 - ԳՆԴ
7 - SCK - տվյալների ժամացույցի ելք
8 - ԳՆԴ
9 - MISO - տվյալների մուտքագրում սերիական ծրագրավորման համար
10 - ԳՆԴ

USBASP ծրագրավորողի համար վարորդների տեղադրում

USBASB ծրագրավորողի համար վարորդի տեղադրումը շատ պարզ է.
- միացրեք ծրագրավորողը համակարգչի USB պորտին, և սարքի կառավարիչում կհայտնվի նոր «USBasp» սարք, որի ներսում կա դեղին եռանկյուն և բացականչական նշան, ինչը նշանակում է, որ դրայվերներ չկան:
- ներբեռնեք և բացեք «USBasp-win-driver-x86-x64-ia64-v3.0.7» ֆայլը
- գործարկեք «InstallDriver» ֆայլը - ծրագրավորողի դրայվերները ավտոմատ կերպով կտեղադրվեն
- ստուգեք սարքի կառավարիչը - դեղին եռանկյունը պետք է անհետանա (եթե ոչ, աջ սեղմեք «USBasp» սարքի վրա և ընտրեք «Թարմացնել»
— ծրագրավորողը պատրաստ է օգտագործման

FUSE bits USBASP AVR ծրագրավորելիս.

«usbasp.2011-05-28» արխիվը պարունակում է հետևյալ թղթապանակները.
= BIN:
- win-driver - դրայվերներ ծրագրավորողի համար
— որոնվածը — որոնվածը Mega8, Mega88, Mega48 միկրոկառավարիչների համար
= միացում - պարզ ծրագրավորողի սխեման PDF և Cadsoft Eagle-ում

Չինացի ծրագրավորողին թարթելիս խորհուրդ եմ տալիս տեղադրել FUSE bit CKOPT: CKOPT-ը կապված է ժամացույցի առավելագույն արագության հետ: Լռելյայնորեն, CKOPT-ը զրոյացված է և ծրագրավորող միկրոկառավարիչի կայուն աշխատանքը, երբ քվարց ռեզոնատոր օգտագործելը հնարավոր է միայն մինչև 8 ՄՀց հաճախականությամբ (իսկ ծրագրավորող միկրոկոնտրոլերը գործում է 12 ՄՀց հաճախականությամբ): CKOPT FUSE բիթը սահմանելը մեծացնում է առավելագույն հաճախականությունը մինչև 16 ՄՀց: Չինացիները չեն դիպչում այս FUSE բիտին, ինչը հաճախ հանգեցնում է ծրագրավորողի ձախողման (սովորաբար համակարգը չի հայտնաբերում ծրագրավորողին):

«USBasp-win-driver-x86-x64-ia64-v3.0.7» արխիվ նախատեսված է վարորդների տեղադրման համար, ինչպես նշված է հոդվածում

(518,9 ԿԲ, 13,188 դիտում)

(10,9 ՄԲ, 24,942 դիտում)

Հոդվածում նկարագրված USBASP ծրագրավորողը, որը փայլեցրեց ծրագրի վերջին տարբերակով, փորձարկված է շահագործման մեջ, տեղադրված ցատկերներով և ցատկերներով, կարող եք գնել MirMK-SHOP առցանց խանութում:

Ծրագիրը թարմացվել է տարբերակին 08.06.2010.
Հեղինակ Յունիպրոֆանխոնջ աշխատում է բարելավելու իր ծրագիրը՝ դարձնելով այն էլ ավելի լավը: Ծրագրի տարբերակը՝ սկսած 08.06.2010 շատ ավելի լավ է կարում միկրոկոնտրոլերները: Առանց «արգելակի» վանդակի ծրագրավորման ժամանակ նկատված հաճախակի ձախողումները անցյալում են: Այն ամենը, ինչ մենք սիրում ենք UniProf-ում, մնում է տեղում:

Անկեղծ ասած, սկզբում որոշեցի օգտագործել AVRDUDE ծրագիրը թարթող միկրոկոնտրոլերների համար։ AVRDUDE-ն հզոր ծրագիր է, որն արժանի է հարգանքի. այն կարող է աշխատել հսկայական թվով ծրագրավորողների հետ, մի շարք կարգավորումներով և բավականին լայնորեն օգտագործվում է AVR միկրոկառավարիչների համար: Ծրագիրը չունի սեփական «GUI» (աշխատում է հրամանի տողից), և ես պատրաստվում էի յուրաքանչյուր որոնվածի համար խմբաքանակային ֆայլեր գրել, որպեսզի կարգավորիչը մեկ սեղմումով թարթեմ: Բայց մի փոքր մտածելուց հետո հանգեցի եզրակացության.
- ծրագիրը պետք է լինի պարզ և հասանելի, այնպես որ նույնիսկ այն մարդը, ով երբեք չի աշխատել միկրոկառավարիչների հետ, կարողանա դա հասկանալ (դե, ես այդպիսի իդեալիստ եմ :));
— փոքր էր, շարժական, իր սեփական GUI-ով, տեսողականորեն ցուցադրում էր ծրագրավորման բոլոր փուլերը և աջակցում էր բլոգում օգտագործվող միկրոկոնտրոլերներին։
Ցավոք, AVRDUDE-ն չի համապատասխանում այս պահանջներին:
Բայց մեկ այլ ծրագիր հարմար է. UniProf-ունիվերսալ ծրագրավորող AVR-ի համար. Ծրագիրն ունի որոշակի թերություններ, սակայն դրանք փոխհատուցվում են իր պարզությամբ և մատչելիությամբ: Բացի այդ, UniProf-ը կարող է աշխատել մեր LPT և COM ծրագրավորողների հետ: Հետևաբար, ես որոշեցի կատարել UniProf ծրագրի ընդհանուր գրառումը, իսկ հետագայում առանձին-առանձին կնկարագրեմ ծրագրավորումը LPT և COM պորտի միջոցով: Այսպիսով…

Հաղորդման հեղինակը Միխայիլ Նիկոլաևն է։ Ծրագիրը բավականին երկար պատմություն ունի, բայց չի կարող պարծենալ հաճախակի թարմացումներով: Միևնույն ժամանակ, ծրագիրն այնքան պարզ և հարմար է, որ այժմ չի կորցնում իր արդիականությունը նույնիսկ ավելի առաջադեմ ծրագրերի ֆոնին։

Սկսենք ծանոթանալ։
պարունակում է ծրագրի ողջ ֆունկցիոնալությունը: Պետք չէ նավարկել ցանկի միջով, ամեն ինչ արվում է մեկ սեղմումով: Ծրագիրն ունի իր օգնությունը (սեղմեք F1), որտեղ ամեն ինչ մանրամասն նկարագրված է: UniProf ինտերֆեյսը ինտուիտիվ է, բայց եկեք անցնենք պատուհանի տարրերով:
Հիմնական տարրը ԾՐԱԳՐԻ պատուհանն է: Այն (աղյուսակի բջիջներում) ցուցադրում է կարգավորիչի հիշողության բջիջների կարդացված կամ գրված արժեքները: Եթե ​​հանեք «ԾՐԱԳԻՐ» վանդակը, ապա պատուհանը կվերանա: EEPROM-ի համար կա նաև վանդակ՝ կարգավորիչի հիշողության EEPROM պատուհանը ցուցադրելու կամ թաքցնելու համար (շատ դեպքերում մեզ EEPROM պետք չէ. հանեք այն):

Կոճակների վերին շարք (ձախից աջ)

Գրեք պատուհանների բովանդակությունը (որոնվածը) կարգավորիչին:Նախ անհրաժեշտ է բեռնել որոնվածը ֆայլից պատուհանների մեջ: (եթե EEPROM վանդակը նշված է, գրված է նաև EEPROM տարածքը):

Կարգավորիչի հիշողության ստուգում (ստուգում):արկղերում գտնվող արժեքներով: Տարբերությունները նշվում են աստղանիշներով: (Ձայնագրումից հետո ստուգումն իրականացվում է ավտոմատ կերպով, ուստի ստուգման կարիք չկա):

Վերահսկիչի մաքրության ստուգում. «Մաքուր» կարգավորիչի համար հիշողության բոլոր բջիջները պարունակում են 0xFF, որը ստուգվում է:

FUSE բիթերի կարգավորում:Զգուշորեն ստուգեք տուփերը, ինչպես նկարում, որը կցված է յուրաքանչյուր որոնվածին:
Կարևոր! Նախքան FUSE-ի բիթերը թարթելը, համոզվեք, որ ստուգեք «արգելակ» վանդակը, ինչը կնվազեցնի դրանց սխալ ձայնագրման վտանգը:

Ցածր մակարդակի թիմ.Ավելի լավ է չդիպչել դրան:

Ջնջել կարգավորիչը:Յուրաքանչյուր ծրագրավորումից առաջ մաքրեք բյուրեղը:

Առաջին երեքը բացեք որոնվածի ֆայլըհամապատասխան տեսակի (ես կտեղադրեմ HEX որոնվածը) և պատուհանները լրացրեք բաց ֆայլի արժեքներով: Հաջորդ երեքը պահել ֆայլումվանդակներից ընտրված արժեքի տեսակը:

«ոսկալ»— Կարգավորիչի չափաբերման բայթերի ընթերցում: Մեզ պետք չէ.

F1- օգնություն– զանգահարեք ներկառուցված օգնություն:

Հաջորդ երկու կոճակները կարգաբերում կարգավորիչում- մեզ պետք չէ։

LPT կապում– շատ օգտակար բան նրանց համար, ովքեր արդեն տեղադրել են LPT պորտային գծեր կամ օգտագործում են այլ դիզայնի ծրագրավորող: Թույլ է տալիս նշանակել ցանկացած նավահանգիստ գծեր՝ այրվածները փոխարինելու համար:

Կոճակների տակ գտնվող վանդակները:

Դնում ենք այնպես, ինչպես նկարում է. Առաջինը ցույց է տալիս ընթերցված կամ պատրաստ գրելու բայթերը կարգավորիչին: Երկրորդը 0xFF-ը դատարկ բջիջում հարկադիր գրելու համար է: Երրորդը COM պորտի գծերի շրջումն է (ծրագրավորողի մեջ բուֆերային չիպ օգտագործելու ժամանակ): Միացված կարգավորիչի անունը կապույտ կփայլի:Հաջորդը, միացրեք/անջատեք EEPROM պատուհանը: Համակարգի հաճախականությունը ցուցադրվում է կարմիրով:
Կարևոր! Եթե ​​սեղմեք կարմիրի վրա, ծրագիրը նորից կհամաժամանակացվի կարգավորիչի հետ: Սեղմեք, ամեն դեպքում, նախքան ծրագրավորումը սկսելը:

Պատուհանի այլ տարրեր:

Այս վանդակները հեռացնում են ավելորդ կոճակները (որպեսզի չշփոթվեք): Դնում ենք այնպես, ինչպես նկարում է։

Շատ կարեւոր!Պահանջվող վանդակ: Ծրագրի հին տարբերակում որոշակի խնդիրներ կային ծրագրավորման հուսալիության հետ առանց այս վանդակի: Այս խնդիրը լուծված է ծրագրի նոր տարբերակում: Բայց եթե գրելու կամ կարդալու ժամանակ սխալներ են լինում, ծրագիրը անմիջապես ազնվորեն ընդունում է դա: Եթե ​​ունեք, ապա նշեք «արգելակ» վանդակը և ամեն ինչ կգրանցվի առանց խնդիրների: Պարզապես դանդաղեցրեք: Ապահովիչներ ձայնագրելիս «արգելակ» է պահանջվում: Պետք չէ ռիսկի դիմել։

Դուք կարող եք նշել, թե որ տարածքը պետք է այրվի. դրեք «Բոլորը»:

Ընտրելով այն նավահանգիստը, որի հետ մենք աշխատելու ենք: Եթե ​​մենք չգիտենք, թե որտեղ ենք խփել ծրագրավորողին, մենք ամեն ինչ անցնում ենք մեկ առ մեկ, մինչև ձեր կարգավորիչը լուսավորվի կապույտով:

Կան նաև «տաք ստեղներ»:

F2Ձայնագրման հետաձգման կարգավորումը, նորմալ = 6: Եթե կան սխալներ, փորձեք մեծացնել այն (էֆեկտ չի նկատվում):

F3Ցույց է տալիս աջակցվող կարգավորիչների ցանկը:

Մոխրագույն -,+Նվազեցրեք կամ ավելացրեք թվերի տառատեսակը Flash և EEPROM պատուհաններում. սա կարող է օգտակար լինել պատուհանի չափը փոխելու ժամանակ:

Էսկ- չեղարկել ընթացիկ գործողությունը:

Կան ավելի շատ, բայց ոչ շատ անհրաժեշտ - կարդացեք ներկառուցված օգնությունը:

UniProf-ը կարելի է ներբեռնել այստեղ՝
- Ծրագրավորող AVR-ի համար: Մենք նայում ենք avr.nikolaew.org-ին

P.S. Ինչևէ, ժամանակի ընթացքում մենք կօգտագործենք AVRDUDE - հզոր բան!

(Այցելել է 48,833 անգամ, 11 այցելություն այսօր)

Ծրագրավորողը հիմնված է Objective Development-ի վարորդի վրա և լիովին համատեղելի է ATMEL-ի բնօրինակ AVR910 ծրագրավորողի հետ հրամաններով: Սարքի նկարագրությունը. Ապահովիչը պաշտպանում է USB պորտի հոսանքի գծերը ծրագրավորողի սնուցման սխեմաների պատահական կարճ միացումներից: Դիոդները VD1, VD2 ուղղիչ սիլիցիում են, դրանք նախատեսված են միկրոկարգավորիչի սնուցման աղբյուրը նվազեցնելու համար մինչև 3,6 Վ: LEDs VL1 (" Ռ.Դ."), VL2 (" WR«) ազդանշան է տալիս ծրագրավորողի ընթացիկ գործողություններին և նշում կարդալու և գրելու ռեժիմները: LED VL3 (" PWR”) ցույց է տալիս, որ էլեկտրաէներգիան մատակարարվում է .

Jumper J1 - ( ՓՈՓՈԽԵԼ) օգտագործվում է կառավարման MK ծրագրավորողի նախնական ծրագրավորման համար: Երբ այն փակ է, արտաքին ծրագրավորողը միացված է ISP միակցիչին և կառավարման ծրագիրը բեռնվում է MK-ում: Հսկիչ MK ծրագրավորողը ծրագրավորելուց հետո այս jumper-ը պետք է բացվի, իսկ jumper J2 - NORMal պետք է փակվի:

Jumper J3 ՑԱԾՐ SCKիջեցնում է MK ծրագրավորողի SPI պորտի ժամացույցի հաճախականությունը մինչև ~20 կՀց: Երբ jumper-ը բաց է, SPI-ի հաճախականությունը նորմալ է, երբ այն փակ է, այն նվազում է: Դուք կարող եք թռչել թռիչքի վրա, քանի որ MK ծրագրավորողի կառավարման ծրագիրը ստուգում է PB0 գծի վիճակը ամեն անգամ, երբ մուտք է գործում SPI նավահանգիստ: Խորհուրդ չի տրվում փոխել jumper-ը, երբ աշխատում է ծրագրավորվող միկրոկոնտրոլեր գրելը/կարդալը, քանի որ դա, ամենայն հավանականությամբ, կհանգեցնի գրված/ընթերցվող տվյալների աղավաղմանը: Jumper J3-ը ներկայացվել է AVR միկրոկառավարիչների ծրագրավորումը թույլ տալու համար, որոնք ժամացույց են անում ներքին 128 կՀց հաճախականությամբ օսլիլատորից:

R10 - R14 ռեզիստորները նախատեսված են ծրագրավորողի միկրոկարգավորիչի և արտաքին սխեմաների (ծրագրավորվող միկրոկառավարիչ կամ այլ ծրագրավորող) ազդանշանի մակարդակներին համապատասխանելու համար: MK ծրագրավորողի SPI նավահանգիստի ժամացույցի հաճախականությունը J3 բաց ցատկողով 187,5 կՀց է։ Սա թույլ է տալիս կարգավորիչներին ծրագրավորել ժամացույցի արագությամբ, որը տատանվում է մոտավորապես 570 կՀց-ից ATtiny/ATmega-ի համար, 750 կՀց-ից 90S-ի համար և 7,5 ՄՀց-ից 89S-ի համար: Կարգավորիչները ծրագրավորված են 10-ից 30 վայրկյան (օգտագործելով AVRprog v.1.4 կոմունալ ծրագիրը AVR Studio փաթեթից) և ստուգումը՝ կախված FLASH հիշողության քանակից և ժամացույցի հաճախականությունից:

1 ՄՀց հաճախականությամբ քառակուսի ալիքը դուրս է գալիս ISP միակցիչի LED ելքի վրա՝ «վերակենդանացնելու» MK-ները, որոնք սխալմամբ ծրագրավորել են ժամացույցի համար պատասխանատու ապահովիչների բիթերը: Ազդանշանը ստեղծվում է անընդհատ և կախված չէ ծրագրավորողի աշխատանքային ռեժիմից: Ծրագրավորողը փորձարկվել է AVRProg v.1.4 (ներառված է AVRStudio փաթեթում), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer) ծրագրերով: Շղթայում կարգավորիչի բնականոն աշխատանքի համար անհրաժեշտ է, որ բիթերը ծրագրավորվեն (սահմանված է «0»): SPIEN, CKOPT, SUT0Եվ ԲՈԴԵՆ. Սովորաբար գործարանից եկող միկրոկոնտրոլերները, օրինակ. նորերը, մի քիչ արդեն ծրագրավորված են SPIEN. Մնացած բիթերը պետք է չծրագրավորվեն (սահմանված է «1»):

Տեղադրման և շահագործման հրահանգներ. Flash կարգավորիչը: Նոր թխած ծրագրավորողը USB-ի միջոցով միացրեք համակարգչին: Օպերացիոն համակարգը կգտնի նոր սարք՝ AVR910 USB Programmer, երբ նրան հուշում են ավտոմատ կերպով գտնել վարորդին, հրաժարվել և նշել դեպի inf ֆայլի ուղին՝ կախված ձեր համակարգչում տեղադրված օպերացիոն համակարգից:

Ֆորումը պարունակում է բոլոր ֆայլերը, ինչպես նաև մեր avr ծրագրավորողի տպագիր տպատախտակը: Այստեղ ես ձեզ ցույց կտամ AVR USB ծրագրավորողի հավաքման և պատյանում փաթեթավորելու տեխնոլոգիան: Նախ, ներբեռնեք արխիվը և պատրաստեք տպագիր տպատախտակ:

Այնուհետև մենք դրա վրա զոդում ենք բոլոր մանրամասները: Ես չկարողացա գտնել փոքր որձաքար, այնպես որ ես զոդեցի մեծը, բայց երկար ոտքերի վրա, որպեսզի հետագայում կարողանամ թեքել, որպեսզի այն չխանգարի տախտակը գործի մեջ տեղադրելուն: Հաջորդը, մենք ընտրում ենք հարմար գործ, ես ունեի պատրաստի մեկը:

Մենք տախտակը հարմարեցնում ենք գործին, կատարում ենք բոլոր չափումները, անցքեր ենք փորում և այստեղ դուք ունեք պատրաստի սարք՝ ունիվերսալ տախտակով։

Եթե ​​չկա հատուկ չափիչ սարքավորում, կարող եք ստուգել LED-ի միջոցով: LED-ը միացված է անոդով LED կապին, իսկ կաթոդը՝ ISP միակցիչի ցանկացած GND փին: Երբ հոսանք է կիրառվում, LED-ը պետք է փայլի ամբողջ ինտենսիվությամբ: Երբ դուք փակում եք քվարց տատանողի ոտքերը պինցետով, LED-ը կամ պետք է փայլի «ամբողջական ջերմությամբ», կամ չպետք է փայլի:

Առանց սխալների, ճիշտ ծրագրավորված միկրոկառավարիչով հավաքված ծրագրավորողը կազմաձևման կարիք չունի: Բայց եթե ծրագրավորվող MK-ի RESET մուտքագրումը միացված է ռեզիստորի միջոցով մատակարարման լարմանը, ապա դիմադրության արժեքը չպետք է ցածր լինի 10 կՕմ-ից, դա պայմանավորված է ծրագրավորողի միացումում վերահսկիչի սնուցման լարման և ներդրման նվազմամբ: ISP միակցիչ ավտոբուսի սահմանափակող ռեզիստորների մասին:

Քննարկեք AVR USB PROGRAMMER հոդվածը



Կիսվել