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

VUSBTiny AVR SPI ծրագրավորող ՝ 3 քայլ
VUSBTiny AVR SPI ծրագրավորող ՝ 3 քայլ

Video: VUSBTiny AVR SPI ծրագրավորող ՝ 3 քայլ

Video: VUSBTiny AVR SPI ծրագրավորող ՝ 3 քայլ
Video: VUSBTINY AVR Programmer 2024, Նոյեմբեր
Anonim
VUSBTiny AVR SPI ծրագրավորող
VUSBTiny AVR SPI ծրագրավորող

usbtiny isp ծրագրավորող կատարելուց և այն 6 ամիս օգտագործելուց հետո, ես նայում էի, թե ինչպես պատրաստել ևս մեկը ՝ շրջելու համար: Ինձ դուր է գալիս usbtiny isp դիզայնի պարզությունը, բայց կցանկանայի այն էլ ավելի փոքրացնել և ավելի քիչ մասեր վերցնել: Սկզբնական դիզայնի մեջ մի բան, որ ես ուզում եմ փոխել, դա ժամացույցի բյուրեղի օգտագործումը վերացնելն է: Իմ գտած լուծումն այն է, որ v-usb վարորդներն աջակցում են 16.5 ՄՀց ներքին տատանումներին attiny25/45/85 սարքերում: Այսպիսով, ես սկսում եմ այս նախագիծը, որպեսզի usbtiny isp- ն v-usb- ով աշխատի usb կապի համար: անմիջական առավելություններն այն են, որ այն խնայում է տարածքը և ունի ավելի քիչ բաղադրիչների քանակ (ոչ ավելի բյուրեղներ): արձանագրություն Atmel ATtiny միկրոկոնտրոլերների համար: Իհարկե, այն կաշխատի նաեւ ATmega սերիայի վրա: Theրագիրը գրված է 12 ՄՀց հաճախականությամբ AVR- ի համար: Այս հաճախականությամբ USB ավտոբուսի յուրաքանչյուր բիթ տևում է ժամացույցի 8 ցիկլ, և շատ խորամանկությամբ հնարավոր է ծրագրային ապահովմամբ վերծանել և կոդավորել USB ալիքների ձևերը: USB- ի վարորդին անհրաժեշտ է մոտավորապես 1250 -ից 1350 բայթ ֆլեշ տարածք (առանց ընտրովի նույնականացման տողերի) `կախված կազմաձևից և կազմողի տարբերակից, և 46 բայթ RAM (բացառությամբ տուփի տարածքի): C ինտերֆեյսը բաղկացած է 3-ից 5 գործառույթներից ՝ կախված կազմաձևից: AVR միկրոկոնտրոլերներ, ինչը հնարավորություն է տալիս կառուցել USB սարքավորում գրեթե ցանկացած AVR միկրոկոնտրոլերի միջոցով, որը չի պահանջում որևէ լրացուցիչ չիպ: շինարարության և օգտագործման վերաբերյալ տեսանյութ

Քայլ 1: Առանձնահատկություններ և մասեր

Առանձնահատկություններ և մասեր
Առանձնահատկություններ և մասեր

* ծրագրավորման տրամաբանություն usbtiny isp- ից, հասուն avr-dude աջակցություն * փոքր ոտնահետք * նվազագույն բաղադրիչներ * լիազորություններ թիրախային սարք, նշեք, որ io գծերը դեպի թիրախային mcus պաշտպանված չեն: Դուք կարող եք ավելացնել 1k-2k դիմադրիչներ SCK- ին և MOSI- ին և պաշտպանել հնարավոր սխալ կապերից հղումներ, որոնք հիմնված են v-usb- ում գտնված աշխատանքների վրա https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all: nl/~ dicks/avr/usbtiny/մասերի ցուցակ * attiny45/85 (85 -ն ավելի հեշտ է հասնել) * 3.6 վ զեներային դիոդներ (1n747, BZX79,..խուսափեք 1W տեսակներից) * 68 օհմ դիմադրություն x 2 * 1.5K դիմադրություն * մինի տախտակ 170 կապի կետ * USB մալուխ (դոլարի խանութ usb տպիչի մալուխը լավ է) * 1k/2k դիմադրություններ io գծերի պաշտպանության համար (ըստ ցանկության) պահանջվում են գործիքներ * աշխատող avr ծրագրավորող (այո, դա բռնելու համար անհրաժեշտ է 22, մեզ անհրաժեշտ է մեկը) * աշխատանքային avr ծրագրավորման միջավայր

Քայլ 2. Գրատախտակի դասավորություն, սխեմատիկ և շինարարություն

Գրատախտակի դասավորություն, սխեմատիկ և շինարարություն
Գրատախտակի դասավորություն, սխեմատիկ և շինարարություն
Գրատախտակի դասավորություն, սխեմատիկ և շինարարություն
Գրատախտակի դասավորություն, սխեմատիկ և շինարարություն

շինարարություն

* հետևեք տախտակի դասավորությանը, այն չի պարունակում բաղադրիչներ, 3 ռեզիստոր, 2 դիոդ, 1 գլխարկ, գումարած 8 պին մկու: * ձեռք բերեք դոլարի խանութ usb տպիչի մալուխը, որը կտրում է տպիչի ծայրը, կլինեն 4 բացված մետաղալարեր, ամրացրեք դրանք և դրանք դարձրեք 4 կապանի արական վերնագիր: խորհրդակցեք սխեմայի հետ `դասավորության և կապի նշանակման համար (J1): * զգույշ եղեք դիոդի բևեռայնության համար:

կառուցել և լուսավորել նախագիծը

նախագիծը կառուցվել է linux ubuntu լուսավոր տուփի մեջ ՝ avr-gcc գործիքաշղթայով: Ենթադրվում է, որ դուք արդեն ունեք նման միջավայր, կամ կարող եք ինտերնետից պարզել, թե ինչպես ստեղծել այն: աղբյուրի կոդերը gnu gpl v2 են ՝ լիցենզավորված ժառանգությունից:

աղբյուրի կոդը հետևում է v-usb- ի կողմից առաջարկված պայմանագրին, կարող եք ներբեռնել սկզբնական փաթեթը vusbtiny.tgz և անխտիր ծրագրի գրացուցակում: Ձեր աղբյուրի գրացուցակում կա main.c, որը փոփոխված usbtiny ծրագրավորողի իմ տարբերակն է: և usbdrv ենթաօրենսդրական գրացուցակ, որը պարունակում է v-usb շերտը: Խնդրում ենք պահպանել վերը նշված երկու նախագծերի լիցենզավորման ժամկետը `դա կառուցելիս: ծրագրավորողի տրամաբանության իմ աղբյուրը հիմնված է Դիկ Սթրիֆլենդի տարբերակի և ոչ թե լեյադա տարբերակի վրա (չնայած դրանք գրեթե նույնն են):

նրանց համար, ովքեր չունեն կառուցելու չափազանց շղթա, կարող եք օգտագործել հետևյալ երկուական տվյալները

կտտացրեք vusbtiny.hex- ին ներբեռնելու համար

և օգտագործեք avrdude- ը `որոնվածը բռնկելու համար

avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex

(եթե ձեր սարքը փոքր 85 է, փոխարինեք -p t45 w/ -p t85)

աղբյուրը կարելի է ներբեռնել այստեղ, կտտացրեք vusbtiny.tgz- ին ներբեռնելու համար

հեռացնել սկզբնական փաթեթը ձեր աշխատանքային գրացուցակում

tar -zxvf vusbtiny.tgz

* արեք cd vsubtiny ՝ vusbtiny աշխատանքային գրացուցակի վերածելու համար * թիրախային սարքի համար կազմեք ֆայլ ՝ ըստ չիպի, որը դուք կօգտագործեք: այսինքն ՝ PROGRAMMER_MCU = t45 կամ t85 * կատարեք * կցեք ձեր նախընտրած ISP ծրագրավորողին * փոփոխեք makefile- ը և անհրաժեշտության դեպքում փոխեք ձեր avrdude պարամետրերը: բաժնետոմսը ենթադրում է USBTiny ծրագրավորող: այսինքն AVRDUDE_PROGRAMMERID = usbtiny * ֆլեշ որոնվածը make install- ի միջոցով

որոնվածը թարթելուց հետո, մենք պետք է պատշաճ կերպով տեղադրենք ապահովիչը, այս նախագծում մենք օգտագործում ենք PIN 1 վերականգնումը որպես io

* ppl ժամացույց, որն օգտագործվում է ինչպես պահանջվում է v-usb շերտի կողմից USB ժամանակի համար

avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m

այս պարամետրը անջատում է 5V SPI- ի միջոցով հետագա ծրագրավորումը, քանի որ մեզ io- ի համար անհրաժեշտ է RESET pin (pin1): ապահովիչը վերականգնելու համար ձեզ հարկավոր կլինի մուտք դեպի HVSP ծրագրավորող:

Քայլ 3: Օգտագործում և կիրառում

Օգտագործում և կիրառում
Օգտագործում և կիրառում
Օգտագործում և կիրառում
Օգտագործում և կիրառում
Օգտագործում և կիրառում
Օգտագործում և կիրառում

ուղիղ թարթում տախտակի վրա

եթե vusbtiny- ն օգտագործում եք 8 փին AVR սարքեր բռնկելու համար, կարող եք պարզապես սեղմել ձեր նպատակային սարքը ծրագրավորող սարքի վերևում: ծրագրավորողը նախագծված էր այնպես, որ ծրագրավորման կապերը համընկնում էին թիրախների հետ: Այնուամենայնիվ, կա մեկ հնարք, դուք պետք է մեկուսացնեք ծրագրավորող mcu- ի 2 և 3 կապերը, քանի որ դրանք համակարգչին միացնող USB D+ և D- կապերն են: Ես դրան հասնելու համար օգտագործում եմ սկոտչե ժապավեն, դա կարող եք տեսնել լուսանկարներում: ստորև ցույց է տալիս tiny13v- ն, որը «ձիավարում» է tiny45- ով, պատրաստ է որոնվածը ստանալու համար:

ISP- ն թարթում է jumper- ի միջոցով

ISP- ի միջոցով (համակարգային ծրագրավորում) նպատակային սխեման ծրագրավորելու համար ձեզ անհրաժեշտ է ISP մալուխ: այստեղ ես չեմ օգտագործում ստանդարտ 2x3 կամ 2x5 փին վերնագրեր: փոխարենը ես օգտագործում եմ 1x6 թռիչք, որն ավելի հարմար է տախտակի համար, կարող եք կազմել 2x3 կամ 2x5 փին վերնագիր ՝ դրանք քարտեզագրելով J2- ի վրա, ինչպես ցույց է տրված տախտակի դասավորության և սխեմաների վրա: հետևյալ լուսանկարը ցույց է տալիս մի փոքրիկ 2313 -ը, որը պատրաստ է փայլել ISP- ի միջոցով:

անսարքությունների վերացում

* չի՞ կարելի բռնել որոնվածը: ստուգեք ձեր բնօրինակը ծրագրավորողին, գուցե անհրաժեշտ լինի avdude- ում -B դրոշի միջոցով հարմարեցնել ժամանակը: փորձեք կարդալ 1 -ին չիպը, կարող է վատ ապահովիչ լինել, գուցե ձեր չիպին անհրաժեշտ է արտաքին ժամացույցի ազդանշան: գուցե անհրաժեշտ լինի ձեր չիպը վերականգնել կանխադրված 1 -ին: * ստուգեք կապերը * եթե օգտագործում եք տարբեր io կապեր, ստուգեք ծածկագիրը և միացումները * կարող եք փոխարինել zener դիոդներ w/ 500mw, 400mw տեսակներ * կարող եք փորձել նվազեցնել R3 արժեքը մինչև 1.2K կամ ավելի քիչ * դուք, ամենայն հավանականությամբ, կհանդիպեք ժամանակի ժամանակային խնդիրների հետ, փորձեք -B դրոշի avrdude, ունենալ ավելի կարճ USB մալուխ, ամեն ինչ օգնում է

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