Paprasčiausias JDM programuotojas, skirtas pasyviųjų komponentų PIC. Naminis programuotojas PIC valdikliams Jdm programuotojas su išoriniu maitinimo šaltiniu

Paprasčiausias JDM programuotojas, skirtas pasyviųjų komponentų PIC. Naminis programuotojas PIC valdikliams Jdm programuotojas su išoriniu maitinimo šaltiniu

10.09.2023

Tai paprasčiausias mirksėjimo PIC šeimos valdiklių dizainas. Neabejotini privalumai – paprastumas, kompaktiškumas, maitinimas be išorinio šios klasikinės programavimo grandinės šaltinio – padarė ją labai populiarią tarp radijo mėgėjų, juolab kad grandinei jau 5 metai, o per tą laiką ji įsitvirtino kaip paprasta ir patikimas įrankis darbui su mikrovaldikliais.

Vaizdo valdiklių programuotojo schema:

Pačiai grandinei maitinimo nereikia, nes tai atlieka kompiuterio COM prievadas, per kurį valdoma mikrovaldiklio programinė įranga. Žemos įtampos programavimo režimui pakanka 5 V, tačiau gali nebūti visų keitimo galimybių (saugiklių). COM-9 prievado prijungimo jungtis buvo sumontuota tiesiai ant PIC programuotojo plokštės - pasirodė labai patogu.

Plokštę galite prijungti tiesiai prie prievado be jokių papildomų laidų. išbandytas įvairiuose kompiuteriuose ir programuojant 12F, 16F ir 18F serijų MK, parodė aukštos kokybės programinę-aparatinę įrangą. Siūloma grandinė leidžia programuoti PIC12F509, PIC16F84A, PIC16F628 mikrovaldiklius. Pavyzdžiui, neseniai, naudojant siūlomą programuotoją, mikrovaldiklį, skirtą .

Programavimui naudojama WinPic800 – viena geriausių PIC valdiklių programavimo programų. Programa leidžia atlikti PIC šeimos mikrovaldiklių operacijas: skaityti, rašyti, ištrinti, tikrinti FLASH ir EEPROM atmintį bei nustatyti konfigūracijos bitus.

Elektronikos plėtra vyksta sparčiai, o vis dažniau pagrindinis įrenginio elementas yra mikrovaldiklis. Tai atlieka didžiąją darbo dalį ir atleidžia dizainerį nuo būtinybės kurti sudėtingus schemų dizainus, taip sumažinant spausdintinės plokštės dydį iki minimumo. Kaip visi žino, mikrovaldiklį valdo jo vidinėje atmintyje įrašyta programa. Ir jei patyręs elektronikos programuotojas neturi problemų naudodamas mikrovaldiklius savo įrenginiuose, tai pradedantiesiems radijo mėgėjams bandymas įrašyti programą į valdiklį (ypač PIC) gali sukelti didelį nusivylimą, o kartais net nedidelį pirotechnikos šou. rūkymo traškučio forma.

Kaip bebūtų keista, nepaisant viso interneto didybės, informacijos apie programinę-aparatinę įrangą yra labai mažai PIC valdikliai, o medžiaga, kurią galima rasti, yra labai abejotinos kokybės. Žinoma, galima nusipirkti gamyklinį programuotoją už neadekvačią kainą ir pasiūti pagal savo skonį, bet ką daryti, jei žmogus neužsiima masine gamyba. Šiems tikslams galite surinkti paprastą ir nebrangų naminį gaminį, vadinamą JDM programuotojas pagal toliau pateiktą schemą (1 pav.):



Paveikslas Nr.1 ​​– programuotojo grandinė


Nedelsiant pateiksiu elementų sąrašą tiems, kurie tingi atidžiau pažvelgti į diagramą:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (apkarpyta). Reguliuojant šio rezistoriaus varžą, programuojant reikia pasiekti apie 13V prie kaiščio Nr.4 (VPP). Mano atveju varža yra 1,2 kOhm
  • R3 - 200 omų
  • R4, R5 – 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 – 1N4733A (stabilizavimo įtampa 5,1 V)
  • VD7 – 1N4743A (stabilizavimo įtampa 13 V)
  • C1 – 100 nF (0,1 µF)
  • C2 – 470 uF x 16 V (elektrolitinis)
  • SUB-D9F – COM prievado jungtis (MAMA arba SOCKET)
  • DIP8 lizdas – priklauso nuo naudojamo valdiklio

Diagramoje naudojamas tokių įprastų valdiklių prijungimo pavyzdys kaip PIC12F675 Ir PIC12F629, bet tai visai nereiškia, kad kitų serijų programinė įranga PIC bus neįmanoma. Norėdami parašyti programą į kito tipo valdiklį, tiesiog prijunkite programuotojo laidus pagal 2 paveikslą, kuris parodytas žemiau.



Pav. Nr. 2 – PIC valdiklio korpusų su reikiamais kaiščiais variantai


Kaip galite atspėti, mano programuotojo grandinėje naudojamas korpusas DIP8. Jei tikrai norite, galite sukurti universalų adapterį kiekvienam mikroschemos tipui ir taip gauti universalų programuotoją. Bet kadangi PIC valdikliai Dirbu retai, man to užtenka.

Nors pati grandinė yra gana paprasta ir nesukels sunkumų montuojant, ji taip pat reikalauja pagarbos. Todėl būtų malonu pagaminti spausdintinę plokštę. Po tam tikrų manipuliacijų su programa SprintLayout, PCB, grąžtas ir lygintuvas, gimė toks ruošinys (foto Nr. 3).



Nuotrauka Nr.3 - programuotojo plokštė


Atsisiųskite programos PCB šaltinį SprintLayout galite sekti šią nuorodą:
(atsisiuntimai: 680)
Jei norite, galite jį pakeisti, kad atitiktų jūsų PIC valdiklio tipą. Tiems, kurie nusprendė palikti plokštę nepakeistą, paskelbiu vaizdą iš dalių pusės, kad būtų lengviau montuoti (pav. Nr. 4).



4 pav. - lenta iš montavimo pusės


Dar šiek tiek raganavimo su lituokliu ir turime paruoštą įrenginį, galintį mirksėti PIC valdiklis per COM prievadas tavo kompiuteris. Mano pastangų rezultatas, dar šiltas ir nenusiplautas nuo srauto, parodytas nuotraukoje Nr.5.



Nuotrauka Nr.5 - surinktas programuotojas


Nuo šiol pirmasis etapas pakeliui į programinę-aparatinę įrangą PIC valdiklis, atėjo pabaiga. Antrasis etapas apims programuotojo prijungimą prie kompiuterio ir darbą su programa IC-Prog.
Deja, ne visi šiuolaikiniai kompiuteriai ir nešiojamieji kompiuteriai gali dirbti su šiuo programuotoju dėl banalaus trūkumo COM prievadai, o tie, kurie yra įdiegti nešiojamuosiuose kompiuteriuose, nesuteikia programavimui būtino 12V. Taigi nusprendžiau kreiptis į savo pirmąjį PC, kuris jau seniai rinko dulkes ir laukė savo geriausios valandos (ir pagaliau padarė).
Taigi, įjunkite kompiuterį ir pirmiausia įdiekite programą IC-Prog. Jį galite atsisiųsti iš autoriaus svetainės arba iš šios nuorodos:
(atsisiuntimai: 778)
Mes prijungiame programuotoją prie COM prievadas ir paleiskite naujai įdiegtą programą. Norint tinkamai veikti, būtina atlikti daugybę manipuliacijų. Iš pradžių turite pasirinkti valdiklio tipą, kurį ketinate siūti. aš turiu tai PIC12F675. Ekrano kopijoje Nr. 6 valdiklio pasirinkimo laukas paryškintas raudonai.



Ekrano kopija Nr.6 - mikrovaldiklio tipo pasirinkimas




Ekrano kopija Nr. 7 – valdiklio įrašymo būdo nustatymas


Tame pačiame lange eikite į skirtuką Programavimas"ir pasirinkite elementą" Patikrinkite programavimo metu". Patikrinimas po programavimo gali sukelti klaidą, nes kai kuriais atvejais pati programinė įranga nustato skaitymo blokavimo saugiklius SR. Kad neapgautumėte savęs, geriau išjungti šį patikrinimą. Trumpai tariant, sekame ekrano kopiją Nr. 8.



Ekrano kopija Nr. 8 – patvirtinimo nustatymas


Tęskime darbą su šiuo langu ir eikime į skirtuką " Yra dažni“. Čia reikia nustatyti programos prioritetą ir būtinai naudoti NT/2000/XP vairuotojas (ekrano kopija Nr. 9). Kai kuriais atvejais programa gali paraginti įdiegti šią tvarkyklę ir reikės paleisti iš naujo. IC-Prog.



Ekrano kopija Nr. 9 – bendrieji nustatymai


Taigi, su šiuo langu baigėme. Dabar pereikime prie paties programuotojo nustatymų. Pasirinkite iš meniu " Nustatymai“->„Programuotojo nustatymai“ arba tiesiog paspauskite mygtuką F3. Pasirodo toks langas, parodytas ekrano kopijoje Nr. 10.



Ekrano kopija Nr. 10 – programuotojo nustatymų langas


Pirmiausia pasirinkite programuotojo tipą - JDM programuotojas. Tada nustatykite tvarkyklės naudojimo radijo mygtuką Windows. Kitas žingsnis yra pasirinkimas COM prievadas, prie kurio prijungtas jūsų programuotojas. Jei yra tik vienas, klausimų visai nekyla, bet jei yra daugiau nei vienas, įrenginių tvarkytuvėje pažiūrėkite, kuris šiuo metu naudojamas. Įvesties / išvesties delsos slankiklis skirtas rašymo ir skaitymo greičiui reguliuoti. To gali prireikti greituose kompiuteriuose ir, jei kyla problemų dėl programinės aparatinės įrangos, šį parametrą reikia padidinti. Mano atveju jis išliko lygus pagal nutylėjimą 10 ir viskas veikė gerai.

Tai skirta programai nustatyti. IC-Prog baigėsi ir galite pereiti prie pačios programinės įrangos proceso, bet pirmiausia nuskaitome duomenis iš mikrovaldiklio ir pažiūrime, kas jame parašyta. Norėdami tai padaryti, įrankių juostoje spustelėkite mikroschemos piktogramą su žalia rodykle, kaip parodyta ekrano kopijoje Nr. 11.



Ekrano kopija Nr. 11 – informacijos nuskaitymo iš mikrovaldiklio procesas


Jei mikrovaldiklis yra naujas ir anksčiau nebuvo pamirkytas, tada visos jo atminties ląstelės bus užpildytos reikšmėmis 3FFF, išskyrus patį paskutinį. Jame bus kalibravimo konstantos vertė. Tai labai svarbi ir unikali kiekvieno valdiklio vertė. Nuo jo priklauso laiko matavimo tikslumas, kurį nustato gamintojas, pasirinkdamas ir nustatydamas tą pačią konstantą. Ekrano kopija Nr. 12 rodo atminties langelį, kuriame bus saugoma konstanta nuskaitant valdiklį.



Ekrano kopija Nr. 12 – kalibravimo konstantos reikšmė


Kartoju, kad kiekvienos lusto vertė yra unikali ir neturi atitikti to, kas parodyta paveikslėlyje. Daugelis žmonių dėl nepatyrimo perrašo šią konstantą ir vėliau PIC valdiklis pradeda veikti netinkamai, jei projektas naudoja vidinio generatoriaus taktinį signalą. Patariu užsirašyti šią konstantą ir priklijuoti etiketę su jos verte tiesiai ant valdiklio. Taip išvengsite daugybės rūpesčių ateityje. Taigi, vertė užrašyta – judam toliau. Atidarome programinės įrangos failą, kuris paprastai turi plėtinį .hex. Dabar vietoj užrašų 3FFF, programavimo buferyje yra mūsų programos kodas (ekrano kopija Nr. 13).



Ekrano kopija Nr. 13 – programinė įranga įkelta į programavimo buferį


Aukščiau rašiau, kad daugelis žmonių netyčia perrašo kalibravimo konstantą. Kada tai įvyksta? Taip atsitinka, kai atidaromas programinės įrangos failas. Pastovi vertė automatiškai pasikeičia į 3FFF ir pradėjus programavimo procesą, kelio atgal nėra. Ekrano kopijoje Nr. 14 paryškinta atminties ląstelė, kurioje anksčiau buvo konstanta 3450 (prieš atidarant hex failas).

Vieną dieną nusprendžiau surinkti paprastą LC matuoklį pic16f628a ir natūralu, kad jį reikėjo kažkuo blykstyti. Anksčiau turėjau kompiuterį su fiziniu COM prievadu, bet dabar turiu tik USB ir pci-lpt-2com plokštę. Pirmiausia surinkau paprastą JDM programuotoją, tačiau, kaip paaiškėjo, jis nenorėjo dirbti nei su pci-lpt-com plokšte, nei su usb-com adapteriu (žema RS-232 signalų įtampa). Tada puoliau ieškoti usb pic programuotojų, bet ten, kaip paaiškėjo, viskas apsiribojo brangių pic18f2550/4550 naudojimu, kurių natūraliai neturėjau ir gaila naudoti tokius brangius MK, jei labai retai ką darau piko metu (man labiau patinka av- Taip, blykstyti ne bėda, jie daug pigesni, ir man atrodo, kad ant jų lengviau rašyti programas). Ilgai naršęs internete viename iš daugybės straipsnių apie EXTRA-PIC programuotoją ir įvairius jo variantus, vienas iš autorių rašė, kad extrapic veikia su bet kokiais com prievadais ir net su usb-com adapteriu.

Šio programuotojo grandinėje naudojamas max232 loginio lygio keitiklis.

Pagalvojau, kad jei naudoji usb adapterį, būtų labai kvaila konvertuoti usb į usart TTL, TTL į RS232, RS232 atgal į TTL lygius du kartus, jei gali tiesiog paimti RS232 prievado TTL signalus iš usb- usart konverterio lustas.

Taigi aš padariau. Paėmiau CH340G lustą (kuris turi visus 8 com prievado signalus) ir prijungiau jį vietoj max232. Ir štai kas atsitiko.

Mano grandinėje yra trumpiklis jp1, kuris nėra papildomame pike, jį įdiegiau, nes nežinojau, kaip TX išvestis elgsis TTL lygiu, todėl padariau galimybę jį invertuoti ant likusio laisvo NAND elementas ir, kaip paaiškėjo, jis buvo teisingas, prie TX kaiščio yra loginis, todėl įjungus VPP kaištį yra 12 voltų, bet programuojant nieko neatsitiks (nors programinėje įrangoje galite invertuoti TX) .

Surinkus plokštę, atėjo laikas išbandyti. Ir čia atėjo pagrindinis nusivylimas. Programuotojas buvo nedelsiant identifikuotas (su ic-prog programa) ir pradėjo dirbti, bet labai lėtai! Iš principo – kaip ir tikėtasi. Tada kom porto nustatymuose nustačiau didžiausią greitį (128 kilobaud) ir pradėjau testuoti visas rastas JDM programas. Dėl to „PicPgm“ pasirodė greičiausias. Mano pic16f628a buvo visiškai išjungtas (heksa, eeprom ir konfigūracija) ir patikrinimas maždaug 4–6 minutes (skaitymas yra lėtesnis nei rašymas). IcProg taip pat veikia, bet lėčiau. Programavimo klaidų nebuvo. Bandžiau ir eeprom 24c08 blykstyti, rezultatas tas pats - viskas siuva, bet labai lėtai.

Išvados: programuotojas gana paprastas, jame nėra brangių dalių (CH340 - 0,3-0,5 $, k1533la3 paprastai galima rasti tarp radijo šiukšlių), veikia bet kuriame kompiuteryje, nešiojamajame kompiuteryje (ir net planšetinius kompiuterius galite naudoti Windows 8/10). ). Suvart: labai lėtas. VPP signalui taip pat reikalingas išorinis maitinimas. Dėl to man atrodė, kad nedažnam smailių mirksėjimui tai yra lengvai kartojamas ir nebrangus variantas tiems, kurie po ranka neturi senovinio kompiuterio su reikiamais prievadais.

Čia yra gatavo įrenginio nuotrauka:

Kaip sakoma dainoje: „Aš padariau jį iš to, kas buvo“. Detalių rinkinys labai įvairus: tiek SMD, tiek DIP.

Drįstantiems kartoti grandinę, kaip usb-uart keitiklis tiks beveik bet kuris (ft232, pl2303, cp2101 ir t.t.), vietoj k1533la3 tiks k555, manau kad ir k155 serija ar užsieninis analogas 74als00, jis netgi gali veikti su loginiais NE elementais, kurių tipas yra k1533ln1. Pridedu savo spausdintinę plokštę, bet bet kas gali perbraižyti turimų elementų laidus.

Radioelementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaParduotuvėMano užrašų knygelė
IC1 ChipCH340G1 Į užrašų knygelę
IC2 ChipK1533LA31 Į užrašų knygelę
VR1 Linijinis reguliatorius

LM7812

1 Į užrašų knygelę
VR2 Linijinis reguliatorius

LM7805

1 Į užrašų knygelę
VT1 Bipolinis tranzistorius

KT502E

1 Į užrašų knygelę
VT2 Bipolinis tranzistorius

KT3102E

1 Į užrašų knygelę
VD1-VD3 Lygintuvo diodas

1N4148

2 Į užrašų knygelę
C1, C2, C5-C7 Kondensatorius100 nF5 Į užrašų knygelę
C3, C4 Kondensatorius22 pF2 Į užrašų knygelę
HL1-HL4 Šviesos diodasBet koks4 Į užrašų knygelę
R1, R3, R4 Rezistorius

1 kOhm

3

Greitai surinkti jums patinkančią grandinę ant mikrovaldiklio daugeliui radijo mėgėjų nėra problema. Tačiau daugelis žmonių, pradedančių dirbti su mikrovaldikliais, susiduria su klausimu, kaip juos užprogramuoti. Vienas iš paprasčiausių programavimo variantų yra JDM programuotojas.

Programer ProgCode v 1.0

Ši programa veikia WindowsXP. Leidžia programuoti vidutinės šeimos PIC valdiklius (PIC16Fxxx) per kompiuterio COM prievadą. Programuotojo ryšio indikatorius (viršutiniame dešiniajame lango kampe) tampa raudonas, jei nustatymuose pasirinktame prievade nėra programuotojo. Jei programuotojas yra prijungtas, programa jį aptinka ir indikatorius viršutiniame dešiniajame kampe įgauna formą, parodytą 1 paveiksle.

Kairėje programos lango pusėje yra valdymo skydelis. Šį skydelį galima sumažinti paspaudus mygtuką įrankių juostoje arba spustelėjus kairįjį lango kraštą (tai patogu, kai programos langas padidintas iki viso ekrano).

Paveikslas (ProgCode v1.0 programos ekrano kopija)


Jei į programą įkeliamas HEX failas, patartina pirmiausia valdiklių sąraše pasirinkti MK, kuriam skirta įkelta programinė įranga. Jei to nepadarysite, failas, skirtas mikrovaldikliui, kurio atmintis yra didesnė nei pasirinkta sąraše, bus iškirpta ir programos dalys bus prarastos - naudojant šią failo įkėlimo parinktį, rodomas įspėjimas.

Jei taip neatsitiks, įkėlę failą į programą galėsite pasirinkti norimą valdiklį.

SFR failo formatas

„ProgCode“ programuotojas palaiko darbą su savo failo formatu. Šie failai turi plėtinį .SFR ir leidžia saugoti papildomą informaciją apie mikrovaldikliui skirtą programą. Šiame faile saugoma informacija apie mikrovaldiklio tipą. Tai leidžia nesijaudinti dėl išankstinio MK tipo pasirinkimo nustatymuose įkeliant SFR failą.

Prievado ir protokolo nustatymai jungiant programuotoją

Įdiegę programą, pagal nutylėjimą nustatomi visi nustatymai, kurie reikalingi programuotojui dirbti su šiame puslapyje pateikta JDM grandine.
Signalo inversija aukščiau pateiktoje grandinėje reikalinga tik OutData išėjimui, nes šioje grandinėje signalą apverčia atitinkamas tranzistorius. Visuose kituose kaiščiuose inversija išjungta.



Impulso delsa gali būti lygi 0. Jo reguliavimas numatytas „ypač sudėtingiems“ valdiklių atvejams, kurių negalima mirksėti. Tas pats pasakytina ir apie įrašymo pauzės pašalpą – pagal numatytuosius nustatymus jis yra lygus nuliui. Jei padidinsite šiuos nustatymus, valdiklio programavimo laikas žymiai pailgės.

Pažymėkite žymimąjį laukelį „Patikrinti rašant“, jei reikia „skrendant“ patikrinti, ar viskas, kas parašyta į mikrovaldiklį, yra teisinga ir atitinka šaltinio failą. Jei panaikinsite šio langelio žymėjimą, patikrinimas iš viso nebus atliktas ir nebus jokių klaidų pranešimų, net jei tokių klaidų iš tikrųjų yra.
Pasirinkite prievado greitį – greitis gali būti bet koks. JDM programuotojui šis parametras neturi reikšmės.

WindowsXP naudoja informacijos, perduodamos per COM prievadus, buferį. Tai yra vadinamieji FIFO buferiai. Norint išvengti klaidų programuojant per JDM, šis mechanizmas turi būti išjungtas. Tai galite padaryti naudodami „Windows“ įrenginių tvarkytuvę.

Eikite į valdymo skydelį, tada:
Administravimas – Kompiuterių valdymas – Įrenginių tvarkytuvė

Tada pasirinkite prievadą, prie kurio prijungtas JDM programuotojas (pvz., COM1) - pažiūrėkite į ypatybes - prievado parametrų skirtukas - papildomas. Ir atžymėkite laukelį „Naudoti FIFO buferius“

Paveikslas – COM prievado nustatymas darbui su JDM programuotoju



Po to iš naujo paleiskite kompiuterį.


Vietinis projekto tyrinėtojas

Be tiesioginio valdiklių programavimo, programa suteikia patogią naršyklę projektams MK, esančią tiek vietiniuose kompiuterio aplankuose, tiek internete. Tai buvo padaryta dėl naudojimo patogumo. Dažnai reikalingi projektai yra skirtinguose aplankuose, ir jūs turite praleisti laiką, kol pateksite į reikiamą katalogą, kad galėtumėte peržiūrėti projektą. Čia galite lengvai įtraukti reikalingus aplankus į aplankų sąrašą ir peržiūrėti bet kurį projektą dviem ar trim pelės paspaudimais.

Dukart spustelėjus jį naršyklės skydelyje, bet koks failas atsidarys pačioje programoje – tai taikoma paveikslėliams, html failams, doc, rtf, djvu (su įdiegtais priedais), pdf, txt, asm. Failą taip pat galima atidaryti dukart spustelėjus naršyklėje naudojant kompiuteryje įdiegtą išorinę programą. Norėdami tai padaryti, sąraše „Failų asociacijos“ reikia įvesti norimo failo tipo plėtinį. Jei nenurodysite kelio į atidarymo programą, Windows failą programoje atidarys pagal numatytuosius nustatymus (tai patogu atidaryti ne visada aiškiai atidaromus archyvus). Jei sąraše nurodytas kelias į atidarymo programą, failas bus atidarytas nurodytoje programoje. Tokiu būdu patogu peržiūrėti tokius failus kaip SPL, LAY, DSN.

Paveikslas (ProgCode v1.0 programos naršyklės ekrano kopija)



Taip atrodo failų susiejimo nustatymų langas:




Interneto projektų naršyklė

Projekto naršyklė internete, kaip ir vietinė projekto naršyklė, leidžia greitai, keliais paspaudimais, patekti į norimą svetainę internete, peržiūrėti projektą ir, jei reikia, nedelsiant paleisti programą MK.



Jei peržiūrint projektus internete, projekto puslapyje yra nuoroda į failą su plėtiniu SFR (tai yra programos ProgCode failo formatas), tada paspaudus ant jo toks failas atsidarys naujame. programos skirtuką ir yra iš karto paruoštas mirksėti į mikrovaldiklį.
Nuorodų sąrašą galima redaguoti naudojant mygtuką „Redaguoti“. Bus atidarytas nuorodų sąrašo redagavimo langas:





Lustų programavimo proceso aprašymas

Daugumoje šiuolaikinių IC yra „flash“ atmintis, užprogramuota naudojant I2C ar panašius protokolus.
Perrašomosios atminties yra PIC, AVR ir kituose valdikliuose, atminties lustuose, pvz., 24Cxx ir panašiuose, įvairiose atminties kortelėse, tokiose kaip MMC ir SD, paprastose USB flash kortelėse, kurios jungiamos prie kompiuterio per USB jungtį.

Apsvarstykime galimybę įrašyti informaciją į mikrovaldiklio „flash“ atmintį PIC 16 F 628 A

Yra 2 eilutės DATA ir CLOCK , per kurią jis perduodamasinformacija. Linija LAIKRODIS tarnauja tiekti laikrodžio impulsus ir liniją DUOMENYS informacijai perduoti.

Norėdami perkelti 1 bitą informacijos į mikrovaldiklį, turite nustatyti 0 arba 1 (priklausomai nuo bito vertės) duomenų linijoje (DATA) ir sukurti įtampos kritimą (perėjimą nuo 1 į 0) laikrodžio linijoje ( LAIKRODIS).
Vieno bito valdikliui neužtenka. Jis laukia dar penkių, kad suvoktų šį 6 bitų pranešimą kaip komandą. Valdikliui labai patinka komandos, jos turi susidėti iš 6 bitų – tokia PIC 16 prigimtis.
Čia yra komandų, kurias gali suprasti PIC, sąrašas ir reikšmė. Komandų nėra tiek daug - šio valdiklio žodynas mažas, bet nemanykite, kad tai visiškai kvaila - yra įrenginių su mažiau komandų

„LoadConfiguration“ 000000 – įkeliama konfigūracija

„LoadDataForDataMemory“ – 000011 – Duomenų įkėlimas į duomenų atmintį (EEPROM)
"IncrementAddress" 000110 - Padidinkite kompiuterio MK adresą
„ReadDataFromProgramMemory“ 000100 – duomenų nuskaitymas iš programos atminties
„ReadDataFromDataMemory“ 000101 – duomenų nuskaitymas iš duomenų atminties (EEPROM)
„BeginProgrammingOnlyCycle“ 011000 – pradėti programavimo ciklą
„BulkEraseProgramMemory“ 001001 – Visiškas programos atminties ištrynimas
„BulkEraseDataMemory“ 001011 – visiškas duomenų atminties (EEPROM) ištrynimas

Valdiklis reaguoja į šias komandas įvairiais būdais. Įvairiais būdais, davus komandą, reikia tęsti pokalbį su juo.
Norėdami pradėti visavertį programavimo procesą, taip pat turite įjungti 12 voltų įtampą valdiklio MCLR kaiščiui, o tada įjungti maitinimo įtampą. Būtent ši įtampos tiekimo seka turi tam tikrą reikšmę. Įjungus maitinimą, jei PIC sukonfigūruotas veikti iš vidinio RC generatoriaus, jis gali pradėti vykdyti savo programą, o tai neleidžiama programuojant, nes gedimas yra neišvengiamas.
Preliminarus 12 voltų tiekimas į MCLR leidžia išvengti tokio vystymosi.
Rašant informaciją į MK programų „flash“ atmintį po komandos

„LoadDataForProgramMemory“ 000010 – duomenų įkėlimas į programos atmintį

reikia siųsti pačius duomenis į valdiklį - 16 bitų,
kurie atrodo taip:

"0xxxxxxxxxxxxxxx 0."

Šiame žodyje esantys kryželiai yra patys duomenys, o nuliai kraštuose siunčiami kaip kadras – toks yra PIC 16 standartas. Žodyje yra tik 14 reikšmingų bitų. Ši valdiklių serija turi 14 bitų komandą reprezentacijos formatas.
Pasibaigus duomenų žodžio perdavimui, PIC laukia kitos komandos.
Kadangi mūsų tikslas yra įrašyti žodį į MK programos atmintį, kita komanda turėtų būti komanda

„BeginEraseProgrammingCycle“ 001000 – pradėkite programavimo ciklą

Jį gavęs valdiklis atsijungia nuo išorinio pasaulio 6 milisekundėms, kurių reikia įrašymo procesui užbaigti.

Signalus prie mikrovaldiklio kaiščių generuoja kompiuteris, naudodamas specialias programas – programuotojus. Signalui perduoti galima naudoti COM, LPT arba USB prievadus. Tokios programos kaip PonyProg, IsProg, WinPic800 veikia su JDM programuotoju.


JDM programuotojo grandinė

Labai paprasta programuotojo grandinė parodyta paveikslėlyje. Nors ši grandinė neįgyvendina įtampos tiekimo sekos valdymo, tačiau ji yra labai paprasta ir tokią grandinę galima surinkti labai greitai, naudojant minimalų dalių kiekį.
Paveikslas (JDM programuotojo grandinė)


Vienas iš klausimų jungiant programuotoją prie kompiuterio – kaip užtikrinti selektyvią izoliaciją. Kad nebūtų pažeistas COM prievadas, jei grandinėje sutrinka. Kai kuriuose modeliuose naudojamas MAX232 IC, užtikrinantis selektyvų izoliavimą ir signalo lygio suderinimą. Šioje schemoje problema išspręsta paprasčiau – naudojant akumuliatoriaus energiją. Iš kompiuterio gaunamo signalo lygį riboja zenerio diodai VD1, VD2 ir VD3. Nepaisant JDM programavimo grandinės paprastumo, ja galima programuoti daugumą PIC mikrovaldiklių tipų.

Jungiklis tarp kaiščių COM6(DSR) ir COM7(RTS) sukurtas taip, kad programa galėtų nustatyti, ar programuotojas prijungtas prie kompiuterio.

Programuotojo išėjimų prijungimas prie konkretaus MK priklauso nuo MK tipo. Dažnai programuotojo plokštėje yra sumontuotos kelios plokštės, kurios yra skirtos konkrečiam valdiklio tipui.

Lentelėje parodyta kai kurių tipų MK kojų paskirtis programuojant.

PIC16F84 ir PIC16F84A MCU turi tą patį programavimui skirtų kontaktų išdėstymą.



Kaiščių priskyrimas PIC16Fxxx serijos mikrovaldikliams, atsižvelgiant į korpuso tipą, daugeliu atvejų yra standartinis, tačiau jei dėl to kyla abejonių, patikimiausia patikrinti konkretaus MK egzemplioriaus duomenų lapą. Kai kuriuos dokumentus galima rasti Rusijos svetainėje http://microchip.ru Visas duomenų lapų ir kitos dokumentacijos rinkinys yra PIC mikrovaldiklio gamintojo svetainėje: http://microchip.com

Projektų indeksas

Programa leidžia tiesiogiai eiti į rodyklės puslapį, pora spustelėjimų peržiūrėti norimo projekto aprašymą ir iškart paleisti programą į valdiklį.



Jei reikia paleisti valdiklį su pasirinkta programine įranga, spustelėkite SFR failą, pvz., Timer_a.sfr
Programa atsisiunčia failą iš serverio į naują skirtuką.



Po to belieka įkišti MK į programuotojo lizdą, jei tai dar nebuvo padaryta, ir spustelėti mygtuką „Rašyti viską“.
Programa įrašyta MK. Po to valdiklis įdedamas į įrenginio plokštę ir įrenginys paruoštas darbui.

Kokius pirmuosius žingsnius turėtų žengti radijo mėgėjas, nusprendęs surinkti grandinę ant mikrovaldiklio? Natūralu, kad reikalinga valdymo programa - „firmware“, taip pat programuotojas.

Ir jei su pirmuoju tašku problemų nėra - baigtą „firmware“ paprastai įkelia grandinių autoriai, tada su programuotoju viskas yra sudėtingiau.

Paruoštų USB programuotojų kaina yra gana didelė ir geriausias sprendimas būtų jį surinkti patiems. Pateikiame siūlomo įrenginio diagramą (nuotraukas galima spustelėti).

Pagrindinė dalis.

MK montavimo skydelis.

Originali diagrama buvo paimta iš LabKit.ru svetainės su autoriaus leidimu, už ką jam labai ačiū. Tai vadinamasis patentuoto PICkit2 programuotojo klonas. Kadangi įrenginio versija yra „lengva“ patentuoto PICkit2 kopija, autorius pavadino savo plėtrą PICkit-2 Lite, kuris pabrėžia tokio prietaiso surinkimo paprastumą pradedantiesiems radijo mėgėjams.

Ką gali padaryti programuotojas? Naudodami programuotoją galite mirksėti labiausiai prieinamus ir populiariausius PIC serijos MCU (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A ir kt.), taip pat 24LC serijos EEPROM atminties lustus. Be to, programuotojas gali dirbti USB-UART keitiklio režimu ir turi kai kurias loginio analizatoriaus funkcijas. Ypač svarbi programuotojo funkcija yra kai kurių MCU (pvz., PIC12F629 ir PIC12F675) integruoto RC generatoriaus kalibravimo konstantos apskaičiavimas.

Būtini pakeitimai.

Schemoje yra keletas pakeitimų, kurie būtini, kad naudojant PICkit-2 Lite programuotoją būtų galima įrašyti/ištrinti/skaityti duomenis iš 24Cxx serijos EEPROM atminties lustų.

Iš schemos pakeitimų. Pridėta jungtis nuo DD1 (RA4) 6 kaiščio iki ZIF skydelio 21 kaiščio. AUX kaištis naudojamas tik darbui su 24LC EEPROM atminties lustais (24C04, 24WC08 ir analogais). Jis perduoda duomenis, todėl programavimo skydelio diagramoje yra pažymėtas žodžiu „Data“. Programuojant mikrovaldiklius dažniausiai nenaudojamas AUX kaištis, nors jo reikia programuojant MK LVP režimu.

Taip pat buvo pridėtas 2 kOhm ištraukiamasis rezistorius, kuris yra sujungtas tarp atminties lustų SDA ir Vcc kaiščių.

Visas šias modifikacijas jau padariau spausdintinėje plokštėje, surinkęs PICkit-2 Lite pagal originalią autoriaus schemą.

24Cxx atminties lustai (24C08 ir kt.) plačiai naudojami buitinėje radijo technikoje, kartais tenka blyksėti, pavyzdžiui, remontuojant kineskopinius televizorius. Nustatymams saugoti jie naudoja 24Cxx atmintį.

LCD televizoriai naudoja kitokio tipo atmintį (flash atmintį). Aš jau kalbėjau apie tai, kaip suaktyvinti LCD televizoriaus atmintį. Jei kam įdomu, pažiūrėkit.

Dėl poreikio dirbti su 24Cxx serijos mikroschemomis teko „baigti“ programuotoją. Aš negraužiau naujos spausdintinės plokštės, tiesiog pridėjau reikiamus elementus ant spausdintinės plokštės. Taip atsitiko.

Įrenginio šerdis yra mikrovaldiklis PIC18F2550-I/SP.

Tai vienintelis įrenginio lustas. MK PIC18F2550 reikia „blyksėti“. Ši paprasta operacija daugeliui sukelia painiavą, nes iškyla vadinamoji „vištienos ir kiaušinio“ problema. Aš jums pasakysiu, kaip aš tai išsprendžiau šiek tiek vėliau.

Programuotojo surinkimo dalių sąrašas. Mobiliojoje versijoje vilkite lentelę į kairę (braukite kairėn-dešinėn), kad pamatytumėte visus jos stulpelius.

vardas Paskyrimas Įvertinimas/parametrai Prekės ženklas arba prekės tipas
Pagrindinei programuotojo daliai
Mikrovaldiklis DD1 8 bitų mikrovaldiklis PIC18F2550-I/SP
Bipoliniai tranzistoriai VT1, VT2, VT3 KT3102
VT4 KT361
Diodas VD1 KD522, 1N4148
Schottky diodas VD2 1N5817
šviesos diodai HL1, HL2 bet kokie 3 voltai, raudona Ir žaliasšvytinčios spalvos
Rezistoriai R1, R2 300 omų
R3 22 kOhm
R4 1 kOhm
R5, R6, R12 10 kOhm
R7, R8, R14 100 omų
R9, R10, R15, R16 4,7 kOhm
R11 2,7 kOhm
R13 100 kOhm
Kondensatoriai C2 0,1 μ K10-17 (keramika), importuoti analogai
C3 0,47 mikrono
Elektrolitiniai kondensatoriai C1 100uF * 6,3V K50-6, importuoti analogai
C4 47 uF * 16 V
Induktorius (droselis) L1 680 µH unifikuotas tipas EC24, CECL arba naminis
Kvarcinis rezonatorius ZQ1 20 MHz
USB lizdas XS1 tipo USB-BF
Megztinis XT1 bet kokio tipo "džemperis"
Mikrovaldiklio montavimo skydeliui (MK)
ZIF skydelis XS1 bet koks 40 kontaktų ZIF skydelis
Rezistoriai R1 2 kOhm MLT, MON (galia nuo 0,125 W ir daugiau), importuoti analogai
R2, R3, R4, R5, R6 10 kOhm

Dabar šiek tiek apie detales ir jų paskirtį.

ŽaliasŠviesos diodas HL1 užsidega, kai įjungiamas maitinimas į programuotoją ir raudona HL2 šviesos diodas šviečia, kai duomenys perduodami tarp kompiuterio ir programuotojo.

Siekiant suteikti įrenginiui universalumo ir patikimumo, naudojamas XS1 tipo „B“ (kvadratinis) USB lizdas. Kompiuteris naudoja A tipo USB lizdą. Todėl neįmanoma sumaišyti jungiamojo laido lizdų. Šis sprendimas taip pat prisideda prie įrenginio patikimumo. Jei kabelis tampa netinkamas naudoti, jį galima lengvai pakeisti nauju, nereikalaujant litavimo ar montavimo darbų.

Kaip 680 µH induktorių L1, geriau naudoti jau paruoštą (pavyzdžiui, EC24 arba CECL tipo). Bet jei nerandate gatavo produkto, galite patys pasidaryti droselį. Norėdami tai padaryti, iš CW68 tipo induktoriaus ant ferito šerdies turite suvynioti 250–300 PEL-0.1 laido apsisukimų. Verta manyti, kad dėl PWM buvimo su grįžtamuoju ryšiu nereikia nerimauti dėl induktyvumo įvertinimo tikslumo.

Įtampa aukštos įtampos programavimui (Vpp) nuo +8,5 iki 14 voltų sukuriama rakto reguliatoriumi. Jį sudaro elementai VT1, VD1, L1, C4, R4, R10, R11. PWM impulsai siunčiami iš PIC18F2550 12 kaiščio į VT1 bazę. Atsiliepimus teikia skirstytuvas R10, R11.

Norint apsaugoti grandinės elementus nuo atvirkštinės įtampos iš programavimo linijų, kai USB programuotojas naudojamas ICSP (In-Circuit Serial Programming) režimu, naudojamas VD2 diodas. VD2 yra Schottky diodas. Jis turėtų būti pasirinktas, kai įtampos kritimas P-N sandūroje yra ne didesnis kaip 0,45 volto. Taip pat VD2 diodas apsaugo elementus nuo atvirkštinės įtampos, kai programuotojas naudojamas USB-UART konvertavimo ir loginio analizatoriaus režimu.

Naudodami programuotoją tik mikrovaldiklių programavimui skydelyje (nenaudojant ICSP), galite visiškai pašalinti VD2 diodą (tai aš padariau) ir vietoj jo įdiegti trumpiklį.

Įrenginio kompaktiškumą užtikrina universali ZIF plokštė (Zero Insertion Force – be nulinių montavimo pastangų).

Jo dėka galite „įjungti“ mikrovaldiklį beveik į bet kurį DIP paketą.

Diagramoje „Mikrovaldiklio (MK) montavimo skydelis“ nurodyta, kaip skydelyje turi būti sumontuoti skirtingų korpusų mikrovaldikliai. Montuojant MK reikėtų atkreipti dėmesį į tai, kad mikrovaldiklis skydelyje būtų taip, kad lusto raktas būtų ZIF skydelio fiksavimo svirties šone.

Taip reikia įdiegti 18 kontaktų mikrovaldiklius (PIC16F84A, PIC16F628A ir kt.).

O štai 8 kontaktų mikrovaldikliai (PIC12F675, PIC12F629 ir kt.).

Jei jums reikia mirkyti mikrovaldiklį paviršiaus montavimo pakuotėje (SOIC), galite naudoti adapterį arba tiesiog prilituoti prie mikrovaldiklio 5 kaiščius, kurie paprastai reikalingi programavimui (Vpp, Clock, Data, Vcc, GND).

Baigtą spausdintinės plokštės brėžinį su visais pakeitimais rasite nuorodoje straipsnio pabaigoje. Atidarę failą „Sprint Layout 5.0“ programoje, naudodami režimą „Spausdinti“, galite ne tik atspausdinti sluoksnį su spausdintų laidininkų raštu, bet ir peržiūrėti elementų išdėstymą spausdintinėje plokštėje. Atkreipkite dėmesį į izoliuotą trumpiklį, jungiantį DD1 6 ir ZIF skydelio 21 kaiščius. Reikia atsispausdinti lentos piešinį veidrodiniame vaizde.

Galite pagaminti spausdintinę plokštę naudodami LUT metodą, taip pat spausdintinių plokščių žymeklį naudodami tsaponlak (tai aš padariau) arba „pieštuko“ metodą.

Čia yra elementų išdėstymo spausdintinėje plokštėje paveikslėlis (spustelėti).

Montuojant pirmiausia reikia lituoti džemperius iš alavuotos varinės vielos, tada montuoti žemo profilio elementus (rezistoriai, kondensatoriai, kvarcas, ISCP kaiščio jungtis), tada tranzistorius ir užprogramuotą MK. Paskutinis žingsnis yra ZIF skydelio, USB lizdo montavimas ir laidų sandarinimas izoliacijoje (džemperiai).

PIC18F2550 mikrovaldiklio „programinė įranga“.

Firmware failas - PK2V023200.hex turite įrašyti PIC18F2550I-SP MK į atmintį naudodami bet kurį programuotoją, palaikantį PIC mikrovaldiklius (pavyzdžiui, Extra-PIC). Naudojau JDM Programator JONIC PROG ir programą WinPic800.

Galite įkelti programinę įrangą į PIC18F2550 MCU naudodami tą patį patentuotą programuotoją PICkit2 arba jo naują versiją PICkit3. Natūralu, kad tai galite padaryti su naminiu PICkit-2 Lite, jei vienam iš jūsų draugų pavyko jį surinkti anksčiau nei jūs :).

Taip pat verta žinoti, kad PIC18F2550-I/SP mikrovaldiklio „firmware“ (failas PK2V023200.hex) rašomas diegiant PICkit 2 programuotojo programą aplanke kartu su pačios programos failais. Apytikslė failo PK2V023200.hex vieta - "C:\Programų failai (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Tiems, kurių kompiuteryje įdiegta 32 bitų „Windows“ versija, vietos kelias bus kitoks: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Na, o jei nepavyko išspręsti „vištienos ir kiaušinio“ problemos naudodamiesi siūlomais metodais, „AliExpress“ svetainėje galite nusipirkti paruoštą PICkit3 programuotoją. Ten kainuoja daug pigiau. Rašiau apie tai, kaip pirkti dalis ir elektroninius rinkinius „AliExpress“.

Programuotojo programinės įrangos atnaujinimas.

Pažanga nestovi vietoje ir kartas nuo karto Microchip išleidžia savo programinės įrangos atnaujinimus, įskaitant PICkit2, PICkit3 programuotoją. Natūralu, kad galime atnaujinti ir mūsų naminio PICkit-2 Lite valdymo programą. Norėdami tai padaryti, jums reikės PICkit2 programuotojo programos. Kas tai yra ir kaip juo naudotis – šiek tiek vėliau. Tuo tarpu keli žodžiai apie tai, ką reikia padaryti norint atnaujinti programinę-aparatinę įrangą.

Norėdami atnaujinti programuotojo programinę įrangą, turite uždaryti trumpiklį XT1 programuotoje, kai jis yra atjungtas nuo kompiuterio. Tada prijunkite programuotoją prie kompiuterio ir paleiskite PICkit2 programuotoją. Kai XT1 uždarytas, režimas įjungiamas įkrovos įkroviklis norėdami atsisiųsti naują programinės įrangos versiją. Tada PICkit2 programuotojo meniu „Įrankiai“ - „Atsisiųsti PICkit 2 operacinę sistemą“ atidarykite anksčiau paruoštą atnaujintos programinės įrangos šešioliktainį failą. Tada prasidės programuotojo programinės įrangos atnaujinimo procesas.

Po atnaujinimo turite atjungti programuotoją nuo kompiuterio ir pašalinti XT1 trumpiklį. Įprastu režimu trumpiklis yra atidarytas. Programuotojo programinės įrangos versiją galite sužinoti per PICkit2 programuotojo programos meniu „Pagalba“ – „Apie“.

Visa tai susiję su techninėmis problemomis. O dabar apie programinę įrangą.

Darbas su programuotoju. PICkit2 programuotojas.

Norėdami dirbti su USB programuotoju, kompiuteryje turėsime įdiegti programą PICkit2 Programmer. Ši speciali programa turi paprastą sąsają, ją lengva įdiegti ir nereikalauja specialios konfigūracijos. Verta pastebėti, kad su programuotoju galima dirbti ir naudojant MPLAB IDE kūrimo aplinką, tačiau norint pamirksėti/ištrinti/perskaityti MK užtenka paprastos programos - PICkit2 Programmer. Rekomenduoju.

Įdiegę PICkit2 programuotojo programą, surinktą USB programuotoją prijunkite prie kompiuterio. Tuo pačiu metu jis užsidegs žalias LED („maitinimas“), o operacinė sistema atpažįsta įrenginį kaip „PICkit2 mikrovaldiklio programuotojas“ ir įdiekite tvarkykles.

Paleiskite PICkit2 programuotojo programą. Programos lange turėtų pasirodyti užrašas.

Jei programuotojas neprijungtas, programos lange bus rodomas baisus pranešimas ir trumpos instrukcijos „Ką daryti? angliškai.

Jei programuotojas yra prijungtas prie kompiuterio, kuriame įdiegtas MK, programa jį aptiks paleidus ir praneš apie tai PICkit2 programuotojo lange.

Sveikiname! Pirmas žingsnis žengtas. O apie tai, kaip naudotis PICkit2 programuotojo programa, kalbėjau atskirame straipsnyje. Kitas žingsnis .

Reikalingi failai:

    PICkit2 vartotojo vadovas (rusiškai) imk arba.



© 2023 globusks.ru - Automobilių remontas ir priežiūra pradedantiesiems