Turinys:

PIC mikrovaldiklių ICSP supratimas: 4 žingsniai (su paveikslėliais)
PIC mikrovaldiklių ICSP supratimas: 4 žingsniai (su paveikslėliais)

Video: PIC mikrovaldiklių ICSP supratimas: 4 žingsniai (su paveikslėliais)

Video: PIC mikrovaldiklių ICSP supratimas: 4 žingsniai (su paveikslėliais)
Video: Лёд, пердак и два стакана # 6 Прохождение Cuphead 2024, Liepa
Anonim
PIC mikrovaldiklių ICSP supratimas
PIC mikrovaldiklių ICSP supratimas

Mikrovaldiklių programavimas nėra sudėtingas. Sukūrus programuotoją sukuriamas puikus pirmasis elektronikos projektas. Šios instrukcijos tikslas yra paaiškinti paprastą „grandinės serijinio programavimo“metodą, naudojamą su „Microchip PIC“.

1 žingsnis: Kodėl ICSP?

Kodėl ICSP?
Kodėl ICSP?

Užprogramuoti didelį DIP (per skylę) mikroschemą yra paprasta. Įdėkite jį į programuotoją su lizdu, įrašykite ir grįžkite į programos grandinę. Išbandykite ir pakartokite.

Viskas tampa sunkiau naudojant mažesnius (ant paviršiaus montuojamus) lustus. Nėra standartinių lizdų QFN, SSOP, QFP ar net dideliems SOIC.300 paketams. Yra tikrai brangių (100 USD) klipų, kuriuos galima pritvirtinti ir užprogramuoti. Kiekvienam naudojamam lustų tipui ir kaiščių skaičiui reikalingas skirtingas spaustukas. Yra alternatyva. Jis vadinamas ICSP. ICSP reiškia „grandinės serijos programuotojas (ing?)“. Tai būdas užprogramuoti PIC, kol jis vis dar prijungtas prie programos grandinės. Teisingai, lustų keitimo nebereikia. Kodėl ICSP? 1. Nėra programavimo lizdų mažiems paketų lustams. Klipai brangūs. 2. Jo skausmas kūrimo metu perkelti žetonus į programuotoją ir iš jo. Neįmanoma montuoti ant paviršiaus montuojamų dalių.

2 žingsnis: Kas yra ICSP?

Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?
Kas yra ICSP?

Norint užprogramuoti PIC, kai yra prijungtas prie programos grandinės, reikia penkių jungčių. Pridedu 5 kontaktų antraštę prie savo plokštių, kad šis ryšys būtų greitas ir lengvas. PIC programavimo pagrindai. Norint užprogramuoti PIC, reikalingi penki ryšiai. Maitinimas, įžeminimas, programavimo įtampa, laikrodis ir duomenys.+ (Vdd)/-(Vss) Tai yra maitinimo ir įžeminimo jungtys (Vdd, Vss). Gana standartinis. Jei naudojate programuotoją su „tikruoju“įtampos lygiu (NE JDM2!), Jūsų programa gali būti paleista iš savo maitinimo šaltinio, kai užprogramuota, pašalinant šias jungtis. Vpp Tai programavimo įtampa. PIC įjungia programavimo režimą, kai ant MCLR/Vpp kaiščio dedama ~ 13 voltų (paprastai 1 kontaktas šiuolaikiniuose PIC, daugiau apie tai žemiau). Laikrodis/duomenys arba PGC/PGD Laikrodis ir duomenų eilutės naudojamos PIC rašymui ir skaitymui. programinė įranga. Paprastai tai yra tie patys kaiščiai, kaip ir PORTB6 ir PORTB7. Pratimas: žemiau esančiose nuotraukose nustatykite ICSP jungties taškus PIC. Jei PIC tinka, dėvėkite. Gaunu daug klausimų apie mano JDM2 dizainą dėl instrukcijų. Dažniausias yra „Ar jis užprogramuos PIC X? '' '' - štai kaip galite pasakyti: 1) Pažvelkite į duomenų lapą. 2) Nustatykite kaiščių, kurie turi būti prijungti programuojant, vietą (Vpp, Vdd, Vss, Data ir Clock). 3) Pažvelkite į lizdo jungtį programuotojas. Ar galite suderinti reikiamus kaiščius su programuotojo lizdu?

3 žingsnis: kaip ICSP?

Kaip ICSP?
Kaip ICSP?
Kaip ICSP?
Kaip ICSP?
Kaip ICSP?
Kaip ICSP?
Kaip ICSP?
Kaip ICSP?

Priklausomai nuo jūsų dizaino, dabar galite atlikti visus reikiamus ryšius ir užprogramuoti savo PIC. Turite žinoti keletą laimikių. ICSP dizainas yra svarbus. „Microchip“pateikia gražią PDF taikymo pastabą apie ICSP kūrimą. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744 Štai keletas patarimų ir ICSP dizaino pavyzdžių iš mano ankstesnių instrukcijų. 1 patarimas. Grėsmės lygis: Svarbu Neprijunkite nieko prie laikrodžio ir DATA kaiščiai (dažniausiai RB6 ir RB7, PGC ir PGD). Tik nedaryk to. Yra situacijų, kai labai protingi inžinerijos tipai išsisukinėja, bet to nedaro. Prie kaiščių pritvirtinti komponentai iškreipia laikrodį ir duomenų signalus, todėl bus nenuspėjamas programavimas. Be to, jei kada nors norite naudoti grandinės nuoseklų derintuvą, negalite. Patarimas Nr. 2 Grėsmės lygis: sprogstamasis Visada naudokite diodą tarp programavimo įtampos ir sistemos įtampos. Jei naudojate MCLR (pagrindinis valymas) PIC, turite pateikti tam tikrą įtampą MCLR kaištyje per 10Kish rezistorių. Tai taip pat yra kaištis, kuriam pritaikysite ~ 13 voltų, kad įeitumėte į programavimo režimą. Aš įdėjau 1n4148 (ekvivalentinį) diodą tarp rezistoriaus ir MCLR/Vpp kaiščio (kaip parodyta žemiau esančioje schemoje ir atvaizdavime). Tai palaiko programavimo įtampą „Vpp“kaištyje, neleidžiant sunaikinti kitų jūsų plokštės komponentų. 3 patarimas. Grėsmės lygis: (vėl) pavargęs Žemos įtampos programavimas trukdo jums, žmogau. Man niekada nepavyko su LVP. Niekada nemačiau, kad tai veiktų (nuosekliai) savo akimis. Tiesiog įkandkite kulką ir išleiskite 2,50 USD, kad sukurtumėte JDM2 programuotoją.

4 žingsnis: ICSP programuotojai

ICSP programuotojai
ICSP programuotojai
ICSP programuotojai
ICSP programuotojai

ICSP nereikia kitokio programavimo protokolo. Lizdas pagrįstas programuotojas jau sukuria reikiamą signalą, tačiau siunčia jį į lizdą, o ne per laidus. Dauguma lizdų programuotojų gali būti naudojami kaip ICSP, prijungiant laidus iš lizdo į programos grandinę. Pavyzdžiui, originalus JDM2 programuotojas (čia: https://www.jdm.homepage.dk/newpic.htm) gali būti naudojamas atlikite ICSP programavimą, įvesdami 5 reikalingus signalus į antraštę. Tai galima pamatyti programuotoju čia: https://www.belza.cz/digital/jdm.htm. Kad viskas būtų patogu, perdariau šį dizainą „Eagle Cad“ir prisegiau jį prie šios instrukcijos. Stebėkite tranzistoriaus orientaciją, vienas iš pėdsakų gali būti neteisingas (tai padariau daugiau nei prieš metus, nebepamenu). Panašiai mano atnaujintas JDM2 programuotojas (čia: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) gali būti naudojamas ICSP, įkišant laidus į DIP lizdus ir prijungiant juos prie tikslinio PIC. ***** JDM2 naudoja neįprastą įtampą … prijunkite ją prie grandinės BE išorinės maitinimo (ar net įžeminimo), prijungtos prie programos grandinės. Prieš prijungdami maitinimą, atjunkite ICSP jungtis. Jei to nepadarysite, tai nėra griaunanti, tačiau programavimas bus nesėkmingas ******* Kita galimybė yra (pusiau) tinkamas ICD programuotojas. ICD leidžia valdyti PIC programinės įrangos vykdymą, nustatant kodo lūžio taškus arba skaitant atminties ir prievado vertes. TLK taip pat gali animuoti kodo vykdymą, įjungti programos grandinę ir užprogramuoti PIC. Visa tai daroma per tą patį 5 kontaktų ICSP ryšį, kurį aptarėme. Čia galite pamatyti keletą ICSP klonų, kuriuos galite pasigaminti patys: https://www.icd2clone.com/wiki/Main_Page. Aš sukūriau „PiCS“(rev B) prieš kelis mėnesius ir man tai patinka.

Rekomenduojamas: