Ntv pic programator za mikrokontrolere jdm kompatibilne recenzije. Domaći programator za PIC kontrolere

Koje prve korake bi radio amater trebao poduzeti ako odluči sklopiti kolo na mikrokontroleru? Naravno, potreban je kontrolni program - "firmware", kao i programator.

A ako nema problema s prvom točkom - gotovi "firmver" obično učitavaju autori sklopova, onda su s programatorom stvari složenije.

Cijena gotovih USB programatora je prilično visoka i najbolje rješenje sami ćete ga sastaviti. Evo dijagrama predloženog uređaja (slike se mogu kliknuti).

Glavni dio.

MK instalacioni panel.

Originalni dijagram je preuzet sa web stranice LabKit.ru uz dozvolu autora, na čemu mu veliko hvala. Ovo je takozvani klon vlasničkog PICkit2 programatora. Budući da je verzija uređaja "lagana" kopija vlasničkog PICkit2, autor je svoj razvoj nazvao PICkit-2 Lite, što naglašava jednostavnost montaže takvog uređaja za početnike radio-amatere.

Šta može programer? Koristeći programator, možete flešovati najlakše dostupne i popularne MCU serije PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A, itd.), kao i memorijske čipove serije 24LC EEPROM. Osim toga, programator može raditi u USB-UART konverter modu i ima neke od funkcija logičkog analizatora. Posebno važna funkcija koju programator ima je izračunavanje konstante kalibracije ugrađenog RC generatora nekih MCU-a (na primjer, kao što su PIC12F629 i PIC12F675).

Neophodne promjene.

Postoje neke promjene u kolu koje su neophodne kako bi pomoću PICkit-2 Lite programatora bilo moguće pisati/brisati/čitati podatke sa EEPROM memorijskih čipova serije 24Cxx.

Od izmjena koje su napravljene na šemi. Dodata veza od pina 6 na DD1 (RA4) do pina 21 na ZIF panelu. AUX pin se koristi isključivo za rad sa 24LC EEPROM memorijskim čipovima (24C04, 24WC08 i analozi). On prenosi podatke, zbog čega je na dijagramu panela za programiranje označen riječju „Podaci“. Prilikom programiranja mikrokontrolera, AUX pin se obično ne koristi, iako je potreban kada se MK programiraju u LVP modu.

Dodan je i 2 kOhm pull-up otpornik, koji je povezan između SDA i Vcc pinova memorijskih čipova.

Sve ove modifikacije sam već napravio na štampanoj ploči, nakon sklapanja PICkit-2 Lite prema originalnom dijagramu autora.

Memorijski čipovi 24Cxx (24C08 itd.) se naširoko koriste u kućnoj radio opremi, a ponekad se moraju flešovati, na primjer, prilikom popravke CRT televizora. Oni koriste 24Cxx memoriju za pohranjivanje postavki.

LCD televizori koriste drugu vrstu memorije (Flash memorija). Već sam govorio o tome kako flešovati memoriju LCD televizora. Ako je neko zainteresovan neka pogleda.

Zbog potrebe rada sa mikro krugovima serije 24Cxx, morao sam da "doradim" programator. Otrovaj novu štampana ploča Nisam, samo sam dodao potrebne elemente na štampanu ploču. Evo šta se desilo.

Jezgro uređaja je mikrokontroler PIC18F2550-I/SP.

Ovo je jedini čip u uređaju. MK PIC18F2550 treba “flešovati”. Ova jednostavna operacija izaziva zabunu kod mnogih, jer se javlja takozvani problem "kokoške i jaja". Reći ću vam kako sam to riješio malo kasnije.

Spisak delova za sastavljanje programatora. U mobilnoj verziji, povucite tabelu ulijevo (prevucite lijevo-desno) da vidite sve njene kolone.

Ime Oznaka Ocjena/Parametri Brend ili vrsta artikla
Za glavni dio programatora
Mikrokontroler DD1 8-bitni mikrokontroler PIC18F2550-I/SP
Bipolarni tranzistori VT1, VT2, VT3 KT3102
VT4 KT361
Diode VD1 KD522, 1N4148
Schottky dioda VD2 1N5817
LED diode HL1, HL2 bilo koja 3 volta, crvena I zeleno boje sjaja
Otpornici R1, R2 300 Ohm
R3 22 kOhm
R4 1 kOhm
R5, R6, R12 10 kOhm
R7, R8, R14 100 Ohm
R9, R10, R15, R16 4,7 kOhm
R11 2,7 kOhm
R13 100 kOhm
Kondenzatori C2 0,1 μ K10-17 (keramika), uvozni analozi
C3 0,47 mikrona
Elektrolitički kondenzatori C1 100uF * 6.3V K50-6, uvozni analozi
C4 47 uF * 16 V
Induktor (prigušnica) L1 680 µH unificiranog tipa EC24, CECL ili domaće izrade
Kvarcni rezonator ZQ1 20 MHz
USB utičnica XS1 USB-BF tip
Jumper XT1 bilo koja vrsta "skakača"
Za instalacijsku ploču mikrokontrolera (MK)
ZIF panel XS1 bilo koji 40-pinski ZIF panel
Otpornici R1 2 kOhm MLT, MON (snaga od 0,125 W i više), uvozni analozi
R2, R3, R4, R5, R6 10 kOhm

Sada malo o detaljima i njihovoj svrsi.

Zeleno LED HL1 svijetli kada se programator uključi i crvena HL2 LED emituje kada se podaci prenose između računara i programatora.

Kako bi se uređaju dala svestranost i pouzdanost, koristi se XS1 tip “B” (kvadrat) USB utičnica. Računar koristi USB utičnicu tipa A. Stoga je nemoguće pomiješati utičnice priključnog kabela. Ovo rješenje također doprinosi pouzdanosti uređaja. Ako kabel postane neupotrebljiv, može se lako zamijeniti novim bez pribjegavanja lemljenju ili instalacijskim radovima.

Kao induktor L1 od 680 µH, bolje je koristiti gotovu (na primjer, tipovi EC24 ili CECL). Ali ako ne možete pronaći gotov proizvod, možete sami napraviti gas. Da biste to učinili, trebate namotati 250 - 300 zavoja žice PEL-0,1 na feritnu jezgru iz induktora tipa CW68. Vrijedno je uzeti u obzir da zbog prisutnosti PWM-a sa povratnom spregom, nema potrebe brinuti o točnosti ocjene induktivnosti.

Napon za visokonaponsko programiranje (Vpp) od +8,5 do 14 volti kreira ključ regulator. Uključuje elemente VT1, VD1, L1, C4, R4, R10, R11. PWM impulsi se šalju sa pina 12 PIC18F2550 na VT1 bazu. Povratnu vezu daje razdjelnik R10, R11.

Za zaštitu elemenata kola od obrnutog napona sa linija za programiranje kada se koristi USB programator u ICSP (In-Circuit Serial Programming) modu, koristi se VD2 dioda. VD2 je Šotkijeva dioda. Treba ga odabrati sa padom napona od P-N spoj ne više od 0,45 volti. Također, VD2 dioda štiti elemente od obrnutog napona kada se programator koristi u USB-UART konverziji i načinu logičkog analizatora.

Kada koristite programator isključivo za programiranje mikrokontrolera u panelu (bez korištenja ICSP-a), možete potpuno eliminirati VD2 diodu (to sam ja radio) i umjesto nje instalirati kratkospojnik.

Kompaktnost uređaja čini univerzalni ZIF panel (Zero Insertion Force - bez napora ugradnje).

Zahvaljujući njemu, mikrokontroler možete "uvezati" u gotovo svaki DIP paket.

Dijagram “Instalacioni panel mikrokontrolera (MK)” pokazuje kako bi mikrokontroleri sa različitim kućištima trebali biti instalirani u panel. Prilikom ugradnje MK-a treba obratiti pažnju na to da je mikrokontroler u panelu postavljen tako da je ključ na mikrokolu sa strane poluge za zaključavanje ZIF panela.

Ovako trebate instalirati 18-pinske mikrokontrolere (PIC16F84A, PIC16F628A, itd.).

A evo i 8-pinskih mikrokontrolera (PIC12F675, PIC12F629, itd.).

Ako trebate flešovati mikrokontroler u paketu za površinsku montažu (SOIC), možete koristiti adapter ili jednostavno zalemiti 5 pinova na mikrokontroler koji su obično potrebni za programiranje (Vpp, Clock, Data, Vcc, GND).

Gotov crtež štampane ploče sa svim izmenama možete pronaći na linku na kraju članka. Otvaranjem datoteke u programu Sprint Layout 5.0, koristeći režim “Print”, možete ne samo odštampati sloj sa uzorkom odštampanih provodnika, već i pogledati pozicioniranje elemenata na štampanoj ploči. Obratite pažnju na izolovani kratkospojnik koji povezuje pin 6 DD1 i pin 21 ZIF panela. Morate odštampati crtež ploče u ogledalu.

Možete napraviti štampanu ploču metodom LUT, kao i markerom za štampane ploče, tsaponlakom (ovo sam ja radio) ili metodom "olovka".

Evo slike pozicioniranja elemenata na štampanoj ploči (koja se može kliknuti).

Prilikom ugradnje, prvi korak je lemljenje kratkospojnika od kalajisane bakarne žice, zatim ugradnja niskoprofilnih elemenata (otpornici, kondenzatori, kvarc, ISCP pin konektor), zatim tranzistori i programirani MK. Posljednji korak je ugradnja ZIF panela, USB utičnice i zaptivanje žica u izolaciju (džampere).

"Firmware" mikrokontrolera PIC18F2550.

Firmware fajl - PK2V023200.hex morate zapisati PIC18F2550I-SP MK u memoriju koristeći bilo koji programator koji podržava PIC mikrokontrolere (na primjer, Extra-PIC). Koristio sam JDM programator JONIC PROG i program WinPic800.

Možete učitati firmver na PIC18F2550 MCU koristeći isti vlasnički programator PICkit2 ili njegovu novu verziju PICkit3. Naravno, ovo možete učiniti i sa domaćim PICkit-2 Lite, ako je neko od vaših prijatelja uspio da ga sastavi prije vas :).

Takođe je vredno znati da je „firmver“ mikrokontrolera PIC18F2550-I/SP (datoteka PK2V023200.hex) se zapisuje prilikom instaliranja programa PICkit 2 Programmer u folder zajedno sa datotekama samog programa. Približna lokacija datoteke PK2V023200.hex - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Za one koji imaju instaliranu 32-bitnu verziju Windows-a na svom računaru, putanja lokacije će biti drugačija: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Pa, ako niste mogli riješiti problem "kokoške i jaja" pomoću predloženih metoda, onda možete kupiti gotov PICkit3 programator na web stranici AliExpress. Tamo košta mnogo jeftinije. Pisao sam o tome kako kupiti dijelove i elektronske komplete na AliExpressu.

Ažuriranje firmvera programatora.

Napredak ne miruje i Microchip s vremena na vrijeme objavljuje ažuriranja za svoj softver, uključujući programator PICkit2, PICkit3. Naravno, možemo ažurirati i kontrolni program našeg domaćeg PICkit-2 Lite. Za ovo će vam trebati program PICkit2 Programmer. Šta je to i kako ga koristiti - malo kasnije. U međuvremenu, nekoliko riječi o tome šta treba učiniti da se ažurira firmver.

Da biste ažurirali softver programatora, morate zatvoriti kratkospojnik XT1 na programatoru kada je isključen sa računara. Zatim povežite programator sa računarom i pokrenite PICkit2 Programmer. Kada je XT1 zatvoren, režim se aktivira bootloader da preuzmete novu verziju firmvera. Zatim u PICkit2 Programatoru, kroz meni “Alati” - “Preuzmi PICkit 2 operativni sistem”, otvorite prethodno pripremljenu hex datoteku ažuriranog firmvera. Zatim će se dogoditi proces ažuriranja softvera programera.

Nakon ažuriranja, potrebno je da isključite programator sa računara i uklonite kratkospojnik XT1. U normalnom načinu rada kratkospojnik je otvoren. Verziju softvera programatora možete saznati preko menija "Pomoć" - "O" u programu PICkit2 Programmer.

Sve se radi o tehničkim problemima. A sada o softveru.

Rad sa programatorom. PICkit2 Programer.

Da bismo radili sa USB programatorom, moraćemo da instaliramo program PICkit2 Programmer na računar. Ovaj specijalni program ima jednostavno sučelje, lako se instalira i ne zahtijeva posebnu konfiguraciju. Vrijedi napomenuti da možete raditi sa programatorom koristeći MPLAB IDE razvojno okruženje, ali za flešovanje/brisanje/čitanje MK-a dovoljan je jednostavan program - PICkit2 Programmer. preporučujem.

Nakon instaliranja programa PICkit2 Programmer, povežite sklopljeni USB programator na računar. Istovremeno će se upaliti zeleno LED ("napajanje"), i operativni sistem prepoznaje uređaj kao "PICkit2 programator mikrokontrolera" i instalirajte drajvere.

Pokrenite program PICkit2 Programmer. U prozoru programa bi se trebao pojaviti natpis.

Ako programator nije povezan, u prozoru programa će se prikazati zastrašujuća poruka i kratka uputstva „Šta da radim?“ na engleskom.

Ako je programator povezan sa računarom sa instaliranim MK programom, program će ga detektovati kada se pokrene i obavestiće nas o tome u prozoru PICkit2 programatora.

Čestitamo! Prvi korak je napravljen. O tome kako koristiti program PICkit2 Programmer sam govorio u posebnom članku. Sledeći korak.

Potrebni fajlovi:

    PICkit2 korisnički priručnik (ruski) uzmi ili.

Brzo sastavljanje kola koje volite na mikrokontroleru nije problem za mnoge radio-amatere. Ali mnogi ljudi koji počinju raditi s mikrokontrolerima suočavaju se s pitanjem kako ih programirati. Jedan od najvecih jednostavne opcije programmers je JDM programer.

Programmer ProgCode v 1.0

Ovaj program radi na WindowsXP-u. Omogućava programiranje PIC kontrolera srednje porodice (PIC16Fxxx) preko COM porta računara. Indikator veze programatora (desno gornji ugao prozor) ako na portu odabranom u postavkama nema programatora, on postaje crven. Ako je programator povezan, program ga detektuje i indikator u gornjem desnom uglu poprima oblik prikazan na slici 1.

Na lijevoj strani prozora programa nalazi se kontrolni panel. Ovaj panel se može minimizirati klikom na dugme na traci sa alatkama ili klikom na levu ivicu prozora (ovo je zgodno kada je prozor programa uvećan na ceo ekran).

Slika (snimak ekrana programa ProgCode v1.0)


Ako je HEX datoteka učitana u program, tada je preporučljivo na popisu kontrolera prvo odabrati MK za koji je učitani firmver dizajniran. Ako se to ne učini, tada će datoteka dizajnirana za mikrokontroler s memorijom većom od one koja je odabrana na listi biti odsječena i dijelovi programa će biti izgubljeni - uz ovu opciju za učitavanje datoteke, prikazuje se upozorenje.

Ako se to ne dogodi, tada možete odabrati željeni kontroler nakon učitavanja datoteke u program.

SFR format datoteke

Programer ProgCode podržava rad sa sopstvenim formatom datoteke. Ove datoteke imaju ekstenziju .SFR i omogućavaju vam da ih pohranite dodatne informacije o programu dizajniranom za mikrokontroler. Ova datoteka pohranjuje informacije o tipu mikrokontrolera. Ovo vam omogućava da ne brinete o prethodnom odabiru tipa MK u postavkama prilikom učitavanja SFR datoteke.

Postavke porta i protokola prilikom povezivanja programatora

Nakon instaliranja programa, po defaultu su postavljene sve postavke koje su potrebne da bi programator radio sa JDM kolom date na ovoj stranici.
Inverzija signala u gornjem kolu je potrebna samo za izlaz OutData, budući da se u ovom kolu signal invertuje odgovarajućim tranzistorom. Na svim ostalim pinovima, inverzija je onemogućena.



Kašnjenje impulsa može biti jednako 0. Njegovo podešavanje je predviđeno za “posebno teške” instance kontrolera koji se ne mogu treptati. Isto važi i za premiju za pauzu snimanja - ona je podrazumevano nula. Ako povećate ove postavke, vrijeme programiranja kontrolera će se značajno povećati.

Potvrdni okvir „provjeri pri pisanju“ treba označiti ako trebate „u hodu“ provjeriti sve što je zapisano u mikrokontroler da li je ispravno i usklađeno sa izvornim fajlom. Ako poništite ovaj okvir, provjera se uopće neće izvršiti i neće biti poruka o grešci, čak i ako takve greške zaista postoje.
Odaberite brzinu porta - brzina može biti bilo koja. Za JDM programera ovaj parametar nema značenje.

WindowsXP koristi baferovanje informacija koje se prenose preko COM portova. To su takozvani FIFO baferi. Da biste izbjegli greške prilikom programiranja preko JDM-a, ovaj mehanizam mora biti onemogućen. To možete učiniti u Windows upravitelju uređaja.

Idite na kontrolnu tablu, a zatim:
Administracija - Upravljanje računarom - Upravljač uređajima

Zatim odaberite port na koji je JDM programator povezan (na primjer COM1) - pogledajte svojstva - kartica parametara porta - dodatno. I poništite okvir "Koristi FIFO bafere"

Slika - Podešavanje COM porta za rad sa JDM programatorom



Nakon toga, ponovo pokrenite računar.


Lokalni Project Explorer

Pored direktnog programiranja kontrolera, program pruža zgodan pretraživač za projekte na MK-u, koji se nalazi i na lokalnim računarskim fasciklama i na Internetu. Ovo je urađeno radi lakšeg korištenja. Često su projekti koji su vam potrebni u različitim fasciklama i morate potrošiti vreme da dođete do pravog direktorijuma da biste videli projekat. Ovdje možete jednostavno dodati potrebne mape na listu mapa i pregledati bilo koji projekat sa dva ili tri klika mišem.

Kada dvaput kliknete na njega u panelu pretraživača, otvorit će se bilo koja datoteka u samom programu - ovo se odnosi na slike, html datoteke, doc, rtf, djvu (sa instaliranim dodacima), pdf, txt, asm. Datoteka se takođe može otvoriti dvostrukim klikom u pretraživaču pomoću eksternog programa instaliranog na računaru. Da biste to učinili, ekstenzija željenog tipa datoteke mora biti registrirana na listi "Asocijacije datoteka". Ako ne navedete putanju do programa za otvaranje, Windows će po defaultu otvoriti datoteku u programu (ovo je zgodno za otvaranje arhiva koje nisu uvijek jasno otvorene). Ako je putanja do programa za otvaranje navedena na listi, datoteka će se otvoriti u navedenom programu. Na ovaj način je zgodno gledati fajlove poput SPL, LAY, DSN.

Slika (snimak ekrana preglednika programa ProgCode v1.0)



Ovako izgleda prozor postavki asocijacije datoteka:




Internet Project Browser

Preglednik projekta na Internetu, baš kao i lokalni preglednik projekta, omogućava vam da brzo odete na željenu stranicu na Internetu sa nekoliko klikova, pregledate projekat i, ako je potrebno, odmah flešujete program u MK.



Prilikom pregleda projekata na Internetu, ako na stranici projekta postoji veza do datoteke sa ekstenzijom SFR (ovo je format datoteke programa ProgCode), onda kada kliknete na nju, takva datoteka će se otvoriti u novom programska kartica i odmah je spremna za flešovanje u mikrokontroler.
Lista linkova se može uređivati ​​pomoću dugmeta "Uredi". Ovo će otvoriti prozor za uređivanje liste linkova:





Opis procesa programiranja čipa

Većina modernih IC-a sadrži flash memoriju koja je programirana korištenjem I2C ili sličnih protokola.
Prepisiva memorija se nalazi u PIC, AVR i drugim kontrolerima, memorijskim čipovima kao što je 24Cxx i sličnim, raznim memorijskim karticama poput MMC i SD, običnim USB fleš karticama koje se na računar povezuju preko USB konektora.

Razmotrimo upisivanje informacija u fleš memoriju mikrokontrolera PIC 16 F 628 A

Postoje 2 reda PODACI i SAT , preko koje se prenosiinformacije. Linija CLOCK služi za snabdevanje taktnim impulsima i linijom PODACI za prenos informacija.

Da biste prenijeli 1 bit informacije u mikrokontroler, trebate postaviti 0 ili 1 (ovisno o vrijednosti bita) na liniji podataka (DATA) i stvoriti pad napona (prijelaz sa 1 na 0) na liniji sata ( SAT).
Jedan bit za kontroler nije dovoljan. Čeka još pet da bi ovu 6-bitnu poruku shvatio kao naredbu. Kontroler jako voli komande, a one se moraju sastojati od 6 bita - takva je priroda PIC 16.
Evo liste i značenja naredbi koje PIC može razumjeti. Nema toliko naredbi - vokabular ovog kontrolera je mali, ali nemojte misliti da je potpuno glup - postoje uređaji s manje naredbi

"LoadConfiguration" 000000 - Učitavanje konfiguracije

"LoadDataForDataMemory" - 000011 - Učitavanje podataka u memoriju podataka (EEPROM)
"IncrementAddress" 000110 - Povećajte adresu PC MK
"ReadDataFromProgramMemory" 000100 - Čitanje podataka iz programske memorije
"ReadDataFromDataMemory" 000101 - Čitanje podataka iz memorije podataka (EEPROM)
"BeginProgrammingOnlyCycle" 011000 - Pokreni ciklus programiranja
"BulkEraseProgramMemory" 001001 - Potpuno brisanje programske memorije
"BulkEraseDataMemory" 001011 - Potpuno brisanje memorije podataka (EEPROM)

Kontrolor reagira na ove komande na različite načine. Na različite načine, nakon izdavanja naredbe, trebate nastaviti razgovor s njim.
Da biste započeli punopravni proces programiranja, također morate primijeniti napon od 12 volti na MCLR pin kontrolera, a zatim na njega primijeniti napon napajanja. U ovom slijedu napajanja naponom postoji određeno značenje. Nakon uključivanja napajanja, ako je PIC konfiguriran da radi sa internog RC oscilatora, može početi izvršavati vlastiti program, što nije dozvoljeno prilikom programiranja, jer je kvar neizbježan.
Preliminarno napajanje MCLR-a od 12 volti omogućava vam da izbjegnete takav razvoj događaja.
Prilikom upisivanja informacija u fleš memoriju MK programa nakon naredbe

"LoadDataForProgramMemory" 000010 - Učitavanje podataka u programsku memoriju

potrebno je slati same podatke u kontroler - 16 bita,
koji izgledaju ovako:

“0xxxxxxxxxxxxxx 0.”

Krstići u ovoj riječi su sami podaci, a nule na rubovima se šalju kao okvir - ovo je standard za PIC 16. Postoji samo 14 značajnih bitova u riječi. Ova serija kontrolera ima 14-bitnu komandu format reprezentacije.
Nakon što je prijenos riječi podataka završen, PIC čeka sljedeću komandu.
Pošto je naš cilj da upišemo riječ u programsku memoriju MK-a, sljedeća komanda bi trebala biti komanda

"BeginEraseProgrammingCycle" 001000 - Započni ciklus programiranja

Nakon što ga primi, kontroler se isključuje iz vanjskog svijeta na 6 milisekundi, što mu je potrebno da završi proces snimanja.

Signale na pinovima mikrokontrolera generiše računar pomoću posebnih programa - programatora. COM, LPT ili USB portovi se mogu koristiti za prijenos signala. Programi kao što su PonyProg, IsProg, WinPic800 rade sa JDM programatorom.


JDM programatorsko kolo

Veoma jednostavno kolo programator je prikazan na slici. Iako ovo kolo ne implementira kontrolu sekvence napajanja naponom, vrlo je jednostavno i moguće je vrlo brzo sastaviti takav sklop, koristeći minimum dijelova.
Slika (JDM programatorsko kolo)


Jedno od pitanja kada se programator povezuje sa računarom je kako osigurati selektivnu izolaciju. Da biste izbjegli oštećenje COM porta u slučaju kvara u kolu. Neki dizajni koriste MAX232 IC, koji pruža selektivnu izolaciju i usklađivanje nivoa signala. U ovoj shemi problem se rješava jednostavnije - korištenjem baterije. Nivo signala koji dolazi iz računara je ograničen zener diodama VD1, VD2 i VD3. Uprkos jednostavnosti JDM programskog kola, može se koristiti za programiranje većine tipova PIC mikrokontrolera.

Džamper između pinova COM6(DSR) i COM7(RTS) je dizajniran tako da program može utvrditi da je programator povezan sa računarom.

Povezivanje izlaza programatora na određeni MK zavisi od tipa MK-a. Često se na ploču programatora montira nekoliko panela koji su dizajnirani za određeni tip kontrolera.

U tabeli je prikazana namena nogu nekih tipova MK tokom programiranja.

MCU PIC16F84 i PIC16F84A imaju isti raspored pinova namijenjenih za programiranje.



Dodjela pinova za mikrokontrolere serije PIC16Fxxx, ovisno o vrsti kućišta, u većini je slučajeva standardna, ali ako postoji bilo kakva sumnja u to, onda je najpouzdanije provjeriti datasheet za konkretan primjerak MK-a. Dio dokumentacije je dostupan na ruskoj web stranici http://microchip.ru Kompletna zbirka podataka i druge dokumentacije nalazi se na web stranici proizvođača PIC mikrokontrolera: http://microchip.com

Indeks projekata

Program vam omogućava da direktno odete na indeksnu stranicu, pogledate opis željenog projekta u nekoliko klikova i odmah ubacite program u kontroler.



Ako trebate flešovati kontroler sa odabranim firmverom, kliknite na SFR datoteku, na primjer Timer_a.sfr
Program preuzima datoteku sa servera na novu karticu.



Nakon toga, ostaje samo da ubacite MK u socket programatora, ako to već nije učinjeno, i kliknite na dugme "Napiši sve".
Program se snima u MK. Nakon toga, kontroler se ubacuje u ploču uređaja i uređaj je spreman za rad.

Jednog dana sam odlučio da sastavim jednostavan LC mjerač za pic16f628a i prirodno je morao biti nečim bljesnut. Ranije sam imao kompjuter sa fizičkim COM portom, ali sada imam samo USB i pci-lpt-2com ploču. Za početak sam sastavio jednostavan JDM programator, ali kako se ispostavilo, nije htio raditi ni s pci-lpt-com pločom ni s usb-com adapterom (nizak napon RS-232 signala). Onda sam požurio da tražim usb pic programatore, ali tamo je, kako se ispostavilo, sve bilo ograničeno na upotrebu skupih pic18f2550/4550, koje prirodno nisam imao, a šteta je koristiti tako skupe MK-ove ako sam jako retko radim nešto na vrhuncu (više volim av- Da, flešovanje nije problem, mnogo su jeftinije, a čini mi se da je lakše pisati programe na njima). Nakon dugog kopanja po internetu u jednom od brojnih članaka o EXTRA-PIC programatoru i njegovim raznim varijantama, jedan od autora je napisao da extrapic radi sa bilo kojim com portovima, pa čak i usb-com adapterom.

Kolo ovog programatora koristi pretvarač logičkog nivoa max232.

Mislio sam da ako koristite usb adapter, bilo bi jako glupo dvaput konvertovati usb u usart TTL, TTL u RS232, RS232 nazad na TTL nivoe, ako možete samo uzeti TTL signale RS232 porta sa usb- usart konvertorski čip.

Tako sam i uradio. Uzeo sam CH340G čip (koji ima svih 8 com port signala) i spojio ga umjesto max232. I evo šta se desilo.

U mom kolu postoji kratkospojnik jp1 koji nije u ekstra piku, instalirao sam ga jer nisam znao kako će se TX izlaz ponašati na TTL nivou, pa sam omogućio da ga invertujem na preostali slobodni NAND element i, kako se ispostavilo, bio sam u pravu postoji jedan logičan na TX pinu, pa prema tome postoji 12 volti na VPP pinu kada je uključen, ali ništa se neće dogoditi tokom programiranja (iako možete invertirati TX u softveru) .

Nakon sklapanja ploče, došlo je vrijeme za testiranje. I tu je došlo glavno razočarenje. Programer je odmah identifikovan (sa programom ic-prog) i počeo je da radi, ali veoma sporo! U principu - očekivano. Zatim sam u postavkama com porta podesio maksimalnu brzinu (128 kilobauda) i počeo testirati sve pronađene programe za JDM. Kao rezultat toga, PicPgm se pokazao najbržim. Moj pic16f628a je potpuno flešovao (hex, eeprom i config) plus verifikacija oko 4-6 minuta (čitanje je sporije od pisanja). IcProg također radi, ali sporije. Nije bilo programskih grešaka. Probao sam i da flešujem eeprom 24c08, rezultat je isti - sve se šije, ali vrlo sporo.

Zaključci: programator je prilično jednostavan, ne sadrži skupe dijelove (CH340 - 0,3-0,5 $, k1533la3 se uglavnom može naći među radio smećem), radi na bilo kojem računaru, laptopu (a čak možete koristiti tablete na Windows 8/10 ). Protiv: vrlo je spor. Takođe zahteva eksterno napajanje za VPP signal. Kao rezultat toga, činilo mi se da je za rijetko treperenje vrhova ovo lako ponoviti i jeftina opcija za one koji nemaju drevni računar s potrebnim portovima pri ruci.

Evo fotografije gotovog uređaja:

Kao što pesma kaže, „Napravio sam ga od onoga što je bilo“. Set dijelova je vrlo raznolik: i SMD i DIP.

Za one koji se usude ponoviti krug, gotovo svaki će biti prikladan kao usb-uart pretvarač (ft232, pl2303, cp2101, itd.), umjesto k1533la3, k555 će biti prikladan, mislim čak i serija k155 ili strani analog 74als00 , može čak raditi sa logičkim NE elementima tipa k1533ln1. Pričvršćujem vlastitu štampanu ploču, ali svako može tamo precrtati ožičenje za elemente koji su bili dostupni.

Spisak radioelemenata

Oznaka Tip Denominacija Količina NapomenaShopMoja beležnica
IC1 ČipCH340G1 U notes
IC2 ČipK1533LA31 U notes
VR1 Linearni regulator

LM7812

1 U notes
VR2 Linearni regulator

LM7805

1 U notes
VT1 Bipolarni tranzistor

KT502E

1 U notes
VT2 Bipolarni tranzistor

KT3102E

1 U notes
VD1-VD3 Ispravljačka dioda

1N4148

2 U notes
C1, C2, C5-C7 Kondenzator100 nF5 U notes
C3, C4 Kondenzator22 pF2 U notes
HL1-HL4 LEDBilo koji4 U notes
R1, R3, R4 Otpornik

1 kOhm

3

Predloženi programator je zasnovan na publikaciji iz časopisa “Radio” br. 2, 2004, “Programiranje modernog PIC16, PIC12 na PonyProgu”. Ovo je moj prvi programer koji sam koristio za flešovanje PIC čipova kod kuće. Programator je pojednostavljena verzija JDM programatora, originalno kolo ima RS-232 u TTL pretvarač u obliku MAX232 čipa, univerzalniji je, ali ga ne možete sastaviti "na koljenima". Ovo kolo uopće nema niti jednu aktivnu komponentu, ne sadrži oskudne dijelove i vrlo je jednostavno sastaviti bez upotrebe tiskane ploče.

Rice. 1: Šematski dijagram programer

Opis rada kola
Kolo programatora je prikazano na sl. 1. Otpornici u krugovima CLK (taktiranje), DATA (informacije), Upp (programski napon) služe za ograničavanje protoka struje. PIC kontroleri su zaštićeni od kvara ugrađenim zener diodama, tako da postoji određena kompatibilnost između TTL i RS-232 logike. Predstavljeni krug sadrži diode VD1, VD2, koje "uzimaju" pozitivni napon iz COM porta u odnosu na pin 5 i prenose ga na napajanje kontrolera, zahvaljujući čemu je u nekim slučajevima moguće riješiti se dodatnog izvora napajanja.

Postavljanje
U praksi se ne dešava uvek da ovaj programer radi bez podešavanja, iz prvog pokušaja, jer... Rad ovog kola u velikoj meri zavisi od parametara COM porta. Međutim, za mene na dva matične ploče Gigabyte 8IPE1000 i WinFast pod XP, sve je funkcionisalo odmah. Ako ste previše lijeni da se nosite s pokvarenim, složenijim programskim krugom, pokušajte sastaviti ovaj. Evo nekih stvari koje mogu uticati na:

Što je otirač noviji. board, programeri obraćaju manje pažnje na ove portove, jer su ti portovi odavno zastarjeli. Ovoga se možete riješiti kupovinom USB-COM adaptera, iako opet kupljeni uređaj možda nije prikladan. Neophodni parametri su sledeći: promenljivi napon mora da se promeni najmanje -10V do +10V (log. 0 i 1) u odnosu na 5. pin konektora. Napajana struja mora biti barem takva da kada se između 5. kontakta i kontakta koji se ispituje spoji otpornik od 2,7 kOhm, napon ne padne ispod 10V (ja nisam vidio takve ploče). Također, port mora ispravno odrediti napone koji dolaze iz kontrolera na nivou napona blizu 0V, ali ne više od 2V, određuje se nula, a shodno tome, na nivou napona iznad 2V.

Problemi mogu nastati i zbog softvera.
Ovo posebno važi za LINUX OS, jer... Zbog prisutnosti emulatora kao što su wine, VirtualBox, portovi možda neće raditi ispravno, a od njih se traži puno mogućnosti. Detaljnije ću se dotaknuti ovih problema u drugom članku.

Poznavajući ove karakteristike, počnimo sa postavljanjem.
Za to je vrlo poželjno imati program ICProg 1.05D.
U meniju programa prvo morate odabrati odgovarajuću postavku u postavkama. port (COM1. COM2), izaberite JDM programator. Zatim otvorite prozor “Provjera hardvera” u meniju “Postavke”. U ovom meniju morate označiti kućice jedno po jedno i pomoću voltmetra izmjeriti napon na kontaktima spojenog konektora. Ako parametri napona ne odgovaraju normi, onda, nažalost, to može biti uzrok nefunkcionalnosti, tada ćete morati sastaviti krug s RS-232 TTL pretvaračem. Nakon što ste označili sva polja, morate biti sigurni da se na zener diodi stvara napon napajanja od oko 5V. Ako su naponi normalni i nema grešaka u instalaciji, onda bi sve trebalo raditi. Stavljamo kontroler u utičnicu, otvaramo firmver, programiramo ga. Nema potrebe da se omogućavaju potvrdni okviri kao što je “Invert data out” (svi su poništeni). Takođe, ne zaboravite da neke serije kontrolera mogu imati nestandardne parametre, te ih u takvim slučajevima nije moguće flešovati, sa ovim programatorom možete samo pokušati smanjiti napon napajanja sa 5V na 3-4V; povezivanje u skladu sa tim. zener dioda, pogledajte kontroler za pogrešnu aktivaciju LVP (niskonaponsko programiranje) moda, kako to spriječiti, možete pročitati na internetu za određeni tip kontrolera. Vjerovatno je moguće povećati programski napon problematičnog kontrolera samo komplikovanjem kola uvođenjem stupnja pojačanja sa zajedničkim emiterom, napajanim iz dodatnog izvora napajanja.

Sada razgovarajmo više o problemu s napajanjem uređaja. Programator je testiran sa ICProg programima i konzolom picprog pod Linuxom, trebao bi raditi sa bilo kojim koji podržava JDM ako spojite dodatni izvor napajanja (povezan je preko 1 kOhm otpornika na zener diodu, diode sa otpornicima u ovom slučaju mogu biti potpuno isključeno). Činjenica je da su algoritmi upravljanja programerom za pojedinačni softver različiti, program ICProg je najnepretenciozniji. Primjećeno je da je u Windows OS-u ovaj program podigao potreban napon napajanja na neiskorištenom pinu 2, isti program pod emulatorom u Linuxu na drugoj podlozi. Ploča to više nije bila u stanju, ali je izlaz pronađen tako što je preuzeo napajanje iz napona za programiranje. Generalno, mislim da ovaj programator možete koristiti sa ICProg-om bez dodatnog napajanja. Kod drugog softvera to se teško može garantovati, na primjer, "nativni" picprog iz Ubuntu repozitorija bez napajanja jednostavno ne detektuje programer, prikazujući poruku "JDM hardver nije pronađen". Vjerovatno ili prima neke podatke bez primjene napona programiranja, ili to radi prebrzo, tako da kondenzator filtera još nema vremena da se napuni.



Da li vam se svidio članak? Podijelite to
Top