Controlere de vârf programator cu propriile mâini. Cum de a programa microcontrolerele PIC sau un programator simplu JDM. Actualizați programul "firmware"

Baza programatorului propus este luată pentru publicarea din revista Radio nr. 2, 2004, "Programarea PIC16 modern, PIC12 pe Ponyprog." Acesta este primul meu programator pe care l-am folosit pentru chipul PIC de firmware la domiciliu. Programatorul este o versiune simplificată a programatorului JDM, schema inițială are un convertor RS-232 pe TTL sub forma cipului MAX232, este mai universală, dar nu va fi adunată pe genunchi. Această schemă Nu există nicio componentă activă, nu conține detalii limitate și este foarte simplă, poate fi colectată fără utilizarea plăcii de circuite imprimate.

Smochin. unu: Schema schematică programator.

Descrierea activității schemei
Schema de programator este prezentată în fig. 1. Rezistoare de lanț CLK (ceas), date (informații), UPP (tensiune de programare) sunt utilizate pentru a limita curentul curent. Controlorii PIC sunt protejați de defalcarea prin stabilire încorporată, prin urmare, se oprește o anumită compatibilitate a logicii TTL și RS-232. În schema prezentată, există diode Vd1, Vd2, care sunt "selectate" plus tensiunea de la portul com relativ la 5 contacte și o transmite pentru a alimenta controlerul, astfel încât, în unele cazuri, este posibil să scape de suplimentar sursa de putere.

Salariu
În practică, nu se întâmplă întotdeauna că acest programator va funcționa fără a stabili, din prima dată, deoarece Funcționarea acestei scheme depinde în mare măsură de parametrii COM Port. Cu toate acestea, am două plăci de bază Gigabyte 8ipe1000 și Winfast sub XP au lucrat imediat. Dacă sunteți prea leneș să vă ocupați de schema non-de lucru, mai complexă a programatorului, atunci ar trebui să încercați să colectați acest lucru. Iată câteva lucruri care pot afecta:

Covorașul nou. Taxa, dezvoltatorii acordă o atenție mai mică acestor porturi, deoarece aceste porturi au devenit mult depășite moral. Puteți scăpa de acest lucru prin achiziționarea unui adaptor USB-COM, deși din nou dispozitivul achiziționat nu poate veni. Parametrii necesari sunt după cum urmează: Tensiunea modificabilă trebuie să varieze cel puțin -10V la + 10V (log 0 și 1) față de conectorul 5 al pinului. Curentul curent trebuie să fie cel puțin astfel încât, atunci când este conectat printr-un rezistor de 2,7 kΩ între a 5-a contact și contactul de testare, tensiunea nu a scăzut sub 10V (nu au existat astfel de carduri în sine). De asemenea, portul trebuie să determine corect tensiunile provenite de la controler la nivelul de tensiune, aproape de 0b, dar nu mai mult de 2B este determinat de zero și, în consecință, la peste 2V, se determină o unitate.

De asemenea, pot apărea probleme din cauza software-ului.
Acest lucru este valabil mai ales pentru sistemul de operare Linux, pentru că Datorită disponibilității emulatorilor de vin, porturile Virtualbox pot funcționa incorect și există multe posibilități de la ele. Voi atinge aceste probleme în detaliu într-un alt articol.

Cunoașterea acestor caracteristici, continuați să stabiliți.
Este foarte de dorit să aveți un program ICprog 1.05d.
În meniul programului, trebuie să alegeți în setările ACC. Port (COM1. COM2), selectați programat JDM. Apoi deschideți fereastra Verificați hardware-ul, în meniul Setări. În acest meniu, trebuie să luați casetele de selectare și voltmetrul pentru a măsura tensiunea de pe conectorul conectorului. Dacă parametrii de tensiune nu corespund normei, din păcate, poate fi cauza inoperabilității, atunci trebuie să colectați schema cu convertorul TTL RS-232. Notând toate căpușele, trebuie să vă asigurați că tensiunea de alimentare este formată pe Stifir de aproximativ 5V. Dacă tensiunile sunt normale și nu există erori de instalare, atunci totul ar trebui să funcționeze. Am pus controlerul în panou, deschid firmware-ul, programul. Tipurile de tip "Invert Date Out" nu trebuie să fie pornite (toate îndepărtate). De asemenea, nu este necesar să uităm că unele dintre autobuzele controlerului nu pot avea parametri complet standard și nu funcționează, în astfel de cazuri, puteți încerca doar să reduceți tensiunea de alimentare de la 5V la 3-4V, care leagă ACC . Stabitron, vizualizați controlerul pentru incluziunea eronată a modului LVP (programare de joasă tensiune), cum să preveniți, puteți citi pe Internet pentru un anumit tip de controler. Creșteți problema programului de programare a controlorului de probleme, este probabil doar o schemă complicatoare prin administrarea unei cascade amplificatoare cu un emițător comun alimentat de o sursă suplimentară de alimentare.

Acum mai mult despre problema cu sursa de alimentare a dispozitivului. Programatorul a fost testat cu programe ICProg și Picprog Sub Linux, ar trebui să funcționeze cu oricare care acceptă JDM dacă conectați o sursă de alimentare suplimentară (este conectată printr-un rezistor cu 1 buton la Stabilitron, diodele cu rezistențe în acest caz pot fi excluse în totalitate) . Faptul este că algoritmii de gestionare a programatilor în software separat sunt diferite, programul ICProg este cel mai nepretențios. Se remarcă faptul că în Windows, acest program pe contact neutilizat 2 a ridicat tensiunea de alimentare dorită, același program sub emulatorul din Linux la un alt covor. Placa nu mai putea fi făcută, dar ieșirea a fost găsită prin selectarea sursei de alimentare din tensiunea de programare. În general, cu Icprog, cred că acest programator poate fi aplicat fără o putere suplimentară. Cu un alt software, este destul de garantat, de exemplu, "nativ" de la depozitele Ubuntu Picprog fără mese pur și simplu nu specifică programul, emiterea mesajului "JDM Hardware nU A FOST GASIT." Probabil că acceptă anumite date fără a alimenta tensiunea de programare sau nu este prea repede, astfel încât condensatorul de filtrare încă nu are timp să se reîncărcă.

Schemele cu microcontrolere sunt destul de populare pe Internet. Microcontrolerul este un cip special, care este în esență un calculator mic, cu porturile I / O, memoria. Datorită microcontrolerului, puteți crea destul de mult scheme funcționale cu un minim de componente pasive, de exemplu, ceas digital, jucători, diverse efecte cu LED-uri, dispozitive de automatizare.

Pentru ca microcircuitul să înceapă să efectueze orice funcții, trebuie să clipească, adică Descărcați codul firmware în memoria sa. Puteți face acest lucru cu un dispozitiv special numit programator. Programatorul conectează computerul pe care se află fișierul firmware cu microcontrolerul intermitent. Este de remarcat faptul că există microcontrolere AVR, cum ar fi ATMEGA8, ATTININ13 și Seria PIC, de exemplu PIC16F675, PIC16F676. Seria PIC este deținută de Microchip, iar compania AVR ATMEL, astfel încât metodele de firmware PIC și AVR sunt diferite. În acest articol, luați în considerare crearea programatorului extra-PIC, cu care puteți clipea microcontrolerul din seria PIC.
Avantajele acestui programator includ simplitatea schemei sale, fiabilitatea muncii, versatilitatea, deoarece suportă toate microcontrolerele comune. Computerul acceptă, de asemenea, cele mai frecvente programe de firmware, cum ar fi IC-PROG, WinPic800, Ponyprog, Picpgm.

Programator al schemei


Conține două jetoane, importate MAX232 și domestice KR1533L3, care pot fi înlocuite cu KR155L33. Două tranzistori, KT502, care pot fi înlocuite cu KT345, CT3107 sau orice alt tranzistor PNP cu putere redusă. CT3102 poate fi, de asemenea, schimbată, de exemplu, pe BC457, KT315. LED-ul verde servește ca indicator de putere, roșu se aprinde în timpul procesului de firmware microcontroler. Diodul 1N4007 este utilizat pentru a proteja schema de la alimentarea tensiunii polarității incorecte.

Materialele


Lista pieselor necesare pentru asamblare programator:
  • Stabilizator 78L05 - 2 buc.
  • Stabilizator 78L12 - 1 buc.
  • A condus la al treilea. Green - 1 buc.
  • A condus la al treilea. Roșu - 1 buc.
  • Diode 1N4007 - 1 buc.
  • 1N4148 DIODE - 2 buc.
  • Rezistor 0,125 W 4,7 COM - 2 buc.
  • Rezistor 0,125 W 1 COM - 6 buc.
  • Condensator 10 μF 16V - 4 buc.
  • Condensator 220 μf 25V - 1 buc.
  • Condensator 100 NF - 3 buc.
  • Tranzistor kt3102 - 1 buc.
  • Tranzistor kt502 - 1 buc.
  • Max232 microcircuit - 1 buc.
  • Chip KR1533L33 - 1 PC.
  • Conector de alimentare - 1 PC
  • Com portul "mama" - 1 buc.
  • Panou DIP40 - 1 buc.
  • Panou DIP8 - 2 buc.
  • Panou DIP14 - 1 buc.
  • Panou DIP16 - 1 buc.
  • Panou DIP18 - 1 buc.
  • Panou DIP28 - 1 buc.
În plus, aveți nevoie de un fier de lipit și de capacitatea de ao folosi.

Producția de plăci de circuite imprimate

Programatorul merge la pCB. dimensiuni de 100x70 mm. Plăcile de circuite imprimate este realizată de metoda LUT, se atașează fișierul la articol. Tăiați imaginea înainte de imprimare nu este necesară.


Taxa de descărcare:

(Dropping: 639)

Programator de asamblare

Primul lucru de pe jumperii plăcii de circuite imprimate, apoi rezistoare, diode. Ultimul, dar trebuie să schimbați panourile și conexiunile de alimentare și portul som.



pentru că Pentru o placă de circuit imprimată, se utilizează o mulțime de panouri sub microcontrolere și nu toate concluziile sunt utilizate, puteți merge la un astfel de truc și puteți elimina contactele neutilizate de la panouri. În același timp, va dura mai puțin timp pentru lipire și introduceți un cip într-un astfel de panou va fi mult mai ușor.


Conectorul portului COM (se numește DB-9) are două pini, care trebuie să "bată" în taxă. Pentru a nu găti găuri suplimentare pe bord, puteți deșurubați două șuruburi sub părțile laterale ale conectorului, iar știfturile vor dispărea, precum și marginea metalului conectorului.


După stropirea tuturor părților, taxa trebuie spălată de la Flux, apelați contactele vecine, nu există închidere. Asigurați-vă că nu există chip în panouri (trebuie să eliminați MAX232 și KR1533L3), conectați alimentarea. Verificați dacă există o tensiune de 5 volți la ieșirile de stabilizatori. Dacă totul este bine, puteți instala chips-urile MAX232 și KR1533L3, programul este pregătit pentru muncă. Tensiunea sursei de alimentare 15-24 volți.



Placa de programator conține 4 panouri pentru microcontrolere și una pentru firmware-ul de memorie. Înainte de a instala pe placa microcontrolerului, trebuie să arătați, fie că se potrivește cu pinout cu un pinout pe placa de programare. Programatorul poate fi conectat direct la portul SOM a computerului sau prin cablul extensiei. Adunarea de succes!

Deci, este timpul să studiem microcontrolerele și apoi să le programați, precum și am vrut să colectez dispozitive pe ele, ale căror scheme sunt acum online, bine, doar la mare. Ei bine, a găsit schema, a cumpărat controlerul, a descărcat firmware-ul .... și la Gem Ce ??? Și aici, în fața unui radio amator, începând să stăpânească microcontrolere, apare întrebarea - alegerea programatorului! Aș dori să găsesc opțiunea optimă, în ceea ce privește versatilitatea - simplitatea schemei este fiabilitatea. Programatorii "marca" și omologii lor au fost imediat excluși din cauza unei scheme destul de complexe, care include aceleași microcontrolere care trebuie programate. Adică, se pare că este nevoie de un programator, este necesar un programator. Așa că a început să caute și experimente! La început, alegerea a căzut pe PIC JDM. Acest programator lucrează din portul COM și se hrănește de acolo. A fost testat această opțiune, a programat cu încredere 4 din 10 controlori, situația a îmbunătățit o situație separată, dar nu prea mult, pe unele computere, el a refuzat, în general, fie să facă și să protejeze de "nebun" în ea nu este furnizată. Apoi a fost studiat programul Pony-Prog. În principiu, aproape la fel ca JDM. Programatorul "Pony-Prog" reprezintă o schemă foarte simplă, cu mese de pe un computer computer, în legătură cu care, pe forumuri, pe Internet, întrebările sunt foarte des pe defecțiuni în programare sau în alt microcontroler. Ca rezultat, alegerea a fost oprită pe modelul extra-PIC. M-am uitat la schemă - foarte simplu, competent! Intrarea este semnale de conversie max 232 ale portului serial RS-232 în semnale adecvate pentru utilizarea în circuite digitale cu niveluri TTL sau CMOS, nu supraîncărcați un port COM Computer, deoarece utilizează standardul de operare RS232, nu reprezintă pericole pentru Portul COM este primul plus!
Este operațional cu orice port COM, ca standard (± 12V; ± 10V) și cu porturi necontrolate ale unor modele de laptopuri moderne care au tensiuni reduse ale liniilor de semnal, până la ± 5V - mai mult plus! Suport de programe comune IC-PROG, Ponyprog, WinPic 800 (WinPic800) și altele - Al treilea plus!
Și mănâncă totul de la propria sursă de energie!
A fost decisă - trebuie să colectați! Deci, versiunea finală a acestui programmer a fost găsită în Radio 2007 nr. 8. El a permis să programeze microcontrolere în două moduri.
Două moduri de a traduce microcontrolerele Picmicro în modul de programare sunt cunoscute:
1. Inclusiv tensiune de alimentare VCC pentru a ridica tensiunea VPP (pe -MCR) de la zero la 12V
2. Tensiunea VCC este oprită pentru a ridica tensiunea VPP de la zero la 12V, apoi porniți tensiunea Vcc
Primul mod este în principal pentru instrumentele evoluțiilor timpurii, impune restricții privind configurarea rezultatelor -MCLR, care, în acest caz, poate servi numai în intrarea semnalului instalare inițialăȘi în multe microcontrolere există o oportunitate de a transforma această ieșire într-o linie normală a unuia dintre porturi. Acesta este un alt plus al acestui programator. Schema este prezentată mai jos:

Mai mare
Totul a fost colectat pe laypete și testat. Totul este perfect și stabil, glitches nu au fost observate!
Speaker a fost desenat pentru acest programator.
depozitFiles.com/files/mk49Uejin.
Totul a fost colectat în cazul deschis, a căror fotografie este mai mică.




Cablul de conectare a fost făcut independent de segmentul unui cablu opt și timpuri comedian standard, nici un modem zero nu se va ascunde, te avertizez imediat! Anunțul de cablu trebuie luat cu atenție, imediat scapa de dureri de cap în viitor. Lungimea cablului nu trebuie să fie mai mare de o jumătate de metri.
Fotografie de cablu.


Deci, programatorul este asamblat, și cablul a ajuns la o schimbare de verificare a acestei economii pentru performanță, căutați glitches și erori.
La început, instalăm programul IC-PROG, care poate fi descărcat pe site-ul dezvoltatorului www.ic-prog.com, despachetați programul într-un director separat. În formare, catedrala trebuie să fie trei fișiere:
ICProg.exe - Fișierul Shell programator.
ICProg.sys - Driverul necesar pentru Windows NT, 2000, XP. Acest fișier trebuie să fie întotdeauna în directorul de programe.
Icprog.chm - Fișier de ajutor (fișier de ajutor).
Instalat, acum ar fi necesar să îl configurați.
Pentru aceasta:
1. (Numai Windows XP): Faceți clic dreapta pe fișierul icprog.exe. "Proprietăți" \u003e\u003e fila "Compatibilitate" \u003e\u003e Instalați "bifați" pentru a "executa programul în modul de compatibilitate cu:" \u003e\u003e Selectați "Windows 2000".
2. Despre fișierul icprog.exe. Selectați "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Top "Language" \u003e\u003e Instalați limba "Rusă" și faceți clic pe OK.
Sunt de acord cu aprobarea "Trebuie să reporniți IC-PROG acum" (faceți clic pe OK). Cilindrul programator repornește.
Setări "\u003e\u003e" programator

1. Verificați setările, selectați portul COM pe care îl utilizați, faceți clic pe OK.
2. Dealer, "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila General \u003e\u003e Setați "bifați" pe punctul "ON. Driver NT / 2000 / XP "\u003e\u003e Faceți clic pe" OK "\u003e\u003e Dacă șoferul nu a fost anterior donat în sistemul dvs., în fereastra" Confirmare "care apare, faceți clic pe" OK ". Șoferul va fi instalat, iar shell-ul programator repornește.
Notă:
Pentru computerele foarte "rapide", este posibilă creșterea parametrului "I / O Întârziere". Creșterea acestui parametru mărește fiabilitatea programării, totuși, timpul și timpul petrecut pe programarea cipului.
3. »Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila "i2c" \u003e\u003e Setați "TICKS" pe elementele: "Activați Mclr ca VCC" și "Activați înregistrarea blocului". Faceți clic pe OK.
4. "Setări" \u003e\u003e "Opțiuni" \u003e\u003e Selectați fila "Programare" \u003e\u003e Scoateți "bifați" din element: "Verificați după programare" și setați "bifați" la elementul "Programare Check". Faceți clic pe OK.
Deci, înființat!
Acum vom testa programul în loc cu IC-PROG. Și apoi totul este simplu:
Apoi, în programul IC-PROG, în meniu, executați: Setări \u003e\u003e Test de programator

Înainte de a efectua fiecare element al metodei de testare, nu uitați să setați toate "câmpurile" la poziția inițială (toate casetele de selectare "sunt îndepărtate), așa cum se arată în figura de mai sus.
1. Instalați "bifați" în "ON Ieșire de date ", în același timp, câmpul" Tick "ar trebui să apară în câmpul" login ", iar contactul (datele)) trebuie instalat. "1" (cel puțin +3,0 volți). Acum, contact mai strâns (date) și conector de contact (GND) X2, în timp ce marcajul din câmpul "Input de date" trebuie să dispară în timp ce contactele sunt închise.
2. Când instalați "Discuție" în "ON Tactarea ", pe contact (ceasul) conectorului X2, trebuie instalat nivelul jurnalului. "unu". (cel puțin +3,0 volți).
3. Instalați setarea "bifați" în "ON Resetați (MclR) ", la conectorul de contact (VPP) x3, trebuie instalat nivelul de + 13,0 ... +14,0 volt și LED-ul D4 (de obicei roșu) este aprins. Dacă comutatorul de mod este pus în poziția 1, LED-ul HL3 va fi aprins.
Dacă în timpul încercării, orice semnal nu trece, trebuie să verificați cu atenție întreaga cale a trecerii acestui semnal, inclusiv cablul de conectare cu portul COM Computer.
Testarea Extrapicului canalului de date al canalului:
1. 13 Ieșire de cip DA1: tensiune de la -5 la -12 volți. Când instalați "bifați": de la + 5 până la +12 volți.
2. 12 Ieșire de cip DA1: Tensiune +5 volți. Când instalați "bifați": 0 volți.
3. 6 ieșire de cip DD1: tensiune 0 volți. Când instalați "bifați": +5 volți.
3. 1 și 2 ieșire de cip DD1: tensiune 0 volt. Când instalați "bifați": +5 volți.
4. 3 ieșire de cip DD1: tensiune +5 volți. Când instalați "bifați": 0 volți.
5. 14 Ieșire cip DA1: Tensiune de la -5 la -12 volți. Când instalați "bifați": de la + 5 până la +12 volți.
Dacă toate testele au trecut cu succes, programatorul este gata de funcționare.
Pentru a conecta un microcontroler la programator, puteți utiliza panouri adecvate sau puteți efectua un adaptor bazat pe panouri ZIF (cu forță de conectare zero), de exemplu, ca radiokot.ru/circuit/digital/pcmod/18/.
Acum câteva cuvinte despre programarea ICS - Intrahehemal
Controlere pic.
Când utilizați ICSP pe bordul dispozitivului, trebuie să aveți grijă de programator. Când programarea utilizând ICSP, 5 linii de semnal trebuie conectate la programator:
1. Sârmă partajată GND (VSS).
2. Tensiune de alimentare VDD (VCC) - plus
3. Mclr "(VPP) - Microcontroler Resetare / programare Intrare tensiune
4. RB7 (date) - autobuz de date bidirecționale în modul de programare
5. RB6 (Ceas) Sincronizare Autentificare Programare
Concluziile rămase ale microcontrolerului nu sunt utilizate în modul de programare intraemid.
Opțiunea de conectare a ICSP la microcontrolerul PIC16F84 în carcasa DIP18:

1. Cazul Mclr este dezlănțuit din diagrama dispozitivului J2Per J2, care se deschide în modul de programare intrahehemal (ICSP), trecând ieșirea Mclr către programul de monopol.
2. VDD în modul de programare ICSP este deconectat de la diagrama dispozitivului J1 J1PER. Acest lucru este necesar pentru a elimina consumul curent din linia VDD a dispozitivului.
3. RB7 (autobuzul de date bidirecțională în modul de programare) este izolat de curentul de la diagrama dispozitivului rezistor R1 cu o valoare par a cel puțin 1 COM. În acest sens, curentul maxim de curgere / curge furnizat de această linie va fi limitat la rezistorul R1. Dacă este necesar, asigurați-vă curent maxim, rezistorul R1 trebuie înlocuit (ca în cazul VDD) cu un jumper.
4. Declinul RB6 (sincronizarea PIC în modul de programare), precum și RB7 este introdus la curent de la diagrama dispozitivului R2, o valoare par a cel puțin 1 COM. În acest sens, curentul maxim de curgere / curge furnizat de această linie va fi limitat la rezistorul R2. Dacă este necesar, asigurați-vă curent maxim, rezistența R2 trebuie înlocuită (ca în cazul VDD) cu un jumper.
Localizarea ieșirilor ICSP în controlorii PIC:


Această schemă este doar pentru referință, concluziile de programare sunt mai bune pentru a clarifica de la datashet la microcontroler.
Acum, luați în considerare firmware-ul microcontrolerului în programul IC-PROG. Vom lua în considerare în exemplul designului de aici de aici RGB73.mylivepage.ru/wiki/1952/579
Iată o schemă de dispozitiv


Iată firmware-ul
Flash controlerul PIC12F629. Acest microcontroler utilizează o constantă OSCCAL - reprezintă o valoare de calibrare de tip cu 16 tip a generatorului MK intern, cu care se raportează MK atunci când execută programele care sunt înregistrate în ultima celulă a datelor de vârf. Conectăm acest microcontroler la programator.
Mai jos pe țipătul cu numere roșii prezintă o secvență de acțiuni în programul IC-PROG.


1. Selectați tipul de microcontroler
2. Apăsați butonul "Contact Chip"
În fereastra de cod software, constanta noastră pentru acest controler va fi în cea mai recentă celulă. Pentru fiecare controlor constant propriu ! Nu-l ștergeți, scrieți pe o bucată de hârtie și obțineți-o pe cip!
Mergem mai departe


3. Faceți clic pe butonul "Deschideți fișierul ...", selectați firmware-ul nostru. Codul firmware va apărea în fereastra Codului Programului.
4. Mergeți până la sfârșitul codului, în ultima celulă Faceți clic pe butonul din dreapta al mouse-ului și selectați câmpul "Hex" din câmpul "Hex", introduceți valoarea constantă, care este scrisă, faceți clic pe "OK".
5. Faceți clic pe "Programați cipul".
Procesul de programare va merge, dacă totul a mers cu succes, programul va afișa notificarea corespunzătoare.
Am scos un micrower de la programator și inserați în aspectul colectat. Porniți puterea. Apăsați butonul Start. Aici lucrează video strălucitor
video.mail.ru/mail/vanek_rabota/_myvideo/1..html.
A fost înțeleasă. Dar ce să faceți dacă avem un fișier cod sursa La asamblorul ASM, avem nevoie de fișierul firmware hex? Aici aveți nevoie de un compilator. Și este - este MPLAB, în acest program puteți scrie firmware și compilați. Aici este o fereastră de compilator


Instalați MPLAB.
Găsiți în programul MPASMWIN.EXE MPLAB instalat, este situat de obicei în dosarul - Microchip - MPasm Suite - Mpasmwin.exe
Rulați-l. În fereastra (4) Răsfoiți găsiți sursa noastră (1) Totul este gata!
Sper că acest articol va ajuta începătorii în Mastering PIC Controlere! Noroc!

Vorbeste cu:
Adunați rapid schema dvs. preferată pe un microcontroler pentru mulți amatori radio nu este o problemă. Dar mulți începători lucrează cu microcontrolerele se confruntă cu o întrebare - cum să o programezi. Una dintre cele mai simple variante ale programatorilor este programul JDM.
Program - Programator Progcode V 1.0AT Programul funcționează în WindowsXP. Vă permite să programați Controlerele de familie PIC (PIC16FXXX) prin portul computerului. Indicatorul de armare a programului (în colțul din dreapta sus al ferestrei) în absența unui programator pe portul selectat în setări este colorat roșu. Dacă este conectat programul - programul îl detectează și indicatorul din colțul din dreapta sus are vizualizarea care este afișată în figura 1. Panoul de control este amplasat în partea stângă a ferestrei programului. Puteți să rotiți acest panou făcând clic pe butonul din bara de instrumente sau făcând clic pe marginea din stânga a ferestrei (este convenabilă când fereastra programului este implementată pe ecran complet).

Figura (screenshot Program Progracode v1.0)


Dacă un fișier hex este încărcat în program, este de dorit să selectați MK în lista de controlere din listă, pentru care se calculează firmware-ul încărcat. Dacă acest lucru nu este făcut, atunci fișierul este calculat pe microcontroler cu memorie dimensiune mai mare Ceea ce este selectat în listă, va fi tăiat și o parte a programului este pierdută - cu această opțiune de încărcare a fișierului, este afișat un avertisment.

Dacă se întâmplă acest lucru, puteți selecta controlerul dorit și după descărcarea fișierului în program.

Format Files SFRB Programator Progcode Supported Work cu format propriu. Fișiere. Aceste fișiere au o extensie. SFR și vă permit să stocați informații suplimentare despre programul destinat microcontrolerului. Acest fișier economisește informații despre tipul de microcontroler. Acest lucru vă permite când încărcați fișierul Format SFR nu vă faceți griji cu privire la selecția preliminară a tipului MK din setări.

Setările portului și protocolului Când conectați un program de programare, setările implicite sunt configurați toate setările necesare pentru funcționarea programatorului cu schema JDM afișată pe această pagină.
Inversiunea semnalului în schema următoare este necesară numai pentru ieșirea Outdata, deoarece în acest circuit, semnalul este inversat de un tranzistor de potrivire. La toate celelalte concluzii, inversiunea este dezactivată.



Întârzierea pulsului poate fi 0. Reglarea sa este prevăzută pentru copii "deosebit de dificile" ale controlorilor care nu pot fi schimbate. Același lucru este valabil și pentru alocația pentru o pauză atunci când scrieți - este zero în mod implicit. Dacă măriți valorile acestor setări, timpul de programare al controlerului va crește semnificativ.

Caseta de selectare "Verificați când scrierea" ar trebui să fie setată, dacă aveți nevoie de "în zbor" pentru a verifica tot ce este scris la microcontrolerul de la corectitudinea și respectarea fișierului sursă. Dacă această casetă de selectare este observată, verificarea nu este efectuată la toate și mesajele de eroare nu vor fi, chiar dacă astfel de erori în realitate vor fi prezente.
Selectarea vitezei portului - viteza poate fi oricare. Pentru programatorul JDM, acest parametru nu contează.

În WindowsXP, tamponarea informațiilor transmise prin porturile COM. Acestea sunt așa-numitele tampoane FIFO. Pentru a evita erorile la programare prin JDM, acest mecanism trebuie dezactivat. Puteți face acest lucru în Windows Device Manager.

Accesați panoul de control, apoi:
Administrație - Managementul calculatorului - Manager de dispozitive

Apoi, selectați portul pe care este conectat programul JDM (de exemplu, COM1) - vedem proprietatea - fila Port parametrii suplimentar. Și scoateți bifarea pe "Utilizați tampoanele FIFO"

Imagine - Com setare Port pentru lucrul cu programatorul JDM



După ce reporniți computerul.


Observatorul inginerului de proiect local Controlerele de programare direct în program este implementat un browser convenabil de proiecte pe MK, situat atât pe folderele locale ale computerului, cât și pe Internet. A făcut-o pentru confortul muncii. Adesea, proiectele necesare se află în diferite foldere și trebuie să vă petreceți timp pentru a ajunge la directorul dorit pentru a vizualiza proiectul. Aici folderele dorite sunt ușor de adăugat la lista de dosare și vizualizați orice proiect cu două-trei clicuri ale mouse-ului.

Orice fișier cu clic pe el în panoul browserului se va deschide în programul însuși - aceasta se referă la desene, fișiere HTML., DOC, RTF, DJVU (cu pluginuri instalate), PDF, TXT, ASM. Fișierul este posibil să deschideți dublu clicul în browser utilizând program externinstalat pe computer. Pentru această extensie tipul necesar Fișierele trebuie să fie prescrise în lista "Asociația fișierelor". Dacă calea către programul de deschidere nu specifică - Windows va deschide fișierul în programul implicit (acest lucru este convenabil pentru a deschide arhive care nu sunt întotdeauna clar deschise). Dacă calea către programul de deschidere este listată în listă, fișierul se va deschide în programul specificat. Este convenabil să vizualizați fișiere precum SPL, Lay, DSN.

Figura (screenshot-ul programului Browser Program V1.0)



Acesta este modul în care arată fereastra cu setările asociațiilor de fișiere:




Browserul de proiect pe Internet Proiectele de pe Internet, precum și proiector local de proiecte vă permite să accesați rapid site-ul dorit pe Internet pentru câteva clicuri, vizualizați proiectul și, dacă este necesar, clipește imediat programul în MK.



La revizuirea proiectelor de pe Internet dacă există un link către un fișier cu un fișier de extensie SFR pe pagina proiectului (acesta este un format de fișier ProgCode), atunci un astfel de fișier va fi deschis pe acesta într-o filă de program nouă și este imediat pregătită pentru firmware-ul în microcontroler.
Lista de legături Puteți edita utilizând butonul "Editare". Aceasta deschide fereastra de editare a listei de link-uri:





Descrierea procesului de programare Microcircuitul microcircuitelor moderne conține o memorie flash, care este programată de protocolul I2C sau de astfel de protocoale.
Memoria suprascrisă este în PIC, AVR și alte controlere, cipuri de memorie de tip 24Cxx și similare cu acestea, diverse carduri de memorie MMC și SD, bliț obișnuit Cartele USB.care sunt conectate la computer prin conector USB. Exportăm înregistrarea informațiilor în microcontrolerul de memorie Flash PIC16F628An cele două linii de date și ceasuri pentru care sunt transmise informații. Linia de ceas servește la furnizarea impulsurilor de ceas și linia de date pentru transmiterea informațiilor.
Pentru a transfera informații de 1 birocontroler, este necesar să setați 0 sau 1 (în funcție de valoarea bitului) pe linia de date (datele) și să creați o depozit de stres (tranziție de la 1 la 0) pe linia tact (ceas) .
Un bit pentru controler nu este suficient. El așteaptă încă cinci cinci pentru a percepe această parcelă de la 6 biți ca o echipă. Controlorul este foarte probabil ca echipele, și trebuie să cuprindă exact 6 biți - este natura în PIC16.
Iată lista și valoarea comenzilor pe care PIC le poate înțelege. Nu există atât de multe echipe - vocabularul acestui controler este mic, dar nu este necesar să credem că este foarte stupid - există dispozitive și cu mai puține comenzi "LoadConfiguration" 000000 - Configurația de descărcare
"LoadDataforprogrammemory" 000010 - Descărcați datele în memorie
"LoadDatafordamemory" - 000011 - Date de descărcare în memoria de date (EEPROM)
"Incrementantataddress" 000110 - Creșterea adresei PC MK
"ReadDataFromProgramMemory" 000100 - citirea datelor din memoria memoriei
"READDATAFROMATEMORY" 000101 - Datele de citire din memoria de date (EEPROM)
"ÎncepeProgramingLycycle" 011000 - Porniți ciclul de programare
"BulkerazăProgrammemory" 001001 - Ștergere completă a memoriei programului
"Bulkerasedatamemory" 001011 - Ștergerea completă a datelor (EEPROM)
"BegineraseProgramingcycle" 001000 - Ciclul de pornire Programarea controlerului la aceste comenzi în moduri diferite. Diverse după emiterea echipei, trebuie să continuați cu el o conversație.
Pentru a începe un proces de programare cu drepturi depline, este necesar să se prezinte în continuare o tensiune de 12 volți la ieșirea controlerului MCLR, apoi tensiunea de alimentare pe ea. Este într-o astfel de secvență de tensiuni pe care există un înțeles clar. După alimentare, dacă PIC este configurat să lucreze de la generatorul RC intern, poate începe execuția propriul program.că atunci când programarea este inacceptabilă, deoarece eșecul este inevitabil.
Furnizarea preliminară de 12 volți pe MCLR vă permite să evitați o astfel de dezvoltare a evenimentelor.
Când scrieți informații în memoria flash a programului MK după comanda "LoadDataforProgramMemory" 000010 - Datele de descărcare în programul de memorie trebuie trimise la controlerul datelor în sine - 16 biți,
ce arată astfel: "0xxxxxxxxxxxxxxx0". Krenci în acest cuvânt este datele în sine, iar zerourile sunt trimise de-a lungul marginilor ca o încadrare este un standard pentru PIC16. De biți semnificativi în cuvântul de numai 14. Această serie de controlori ai unui format de 14 biți de reprezentare a comenzii.
După absolvirea transferului cuvântului cu datele PIC așteaptă următoarea comandă.
Deoarece obiectivul nostru este înregistrarea cuvântului în memoria programelor MK, următoarea comandă trebuie să fie o echipă
"Begineraseprogramycycle" 001000 - Pentru a începe o programare a ciclului, controlerul este deconectat de la lumea exterioară cu 6 milisecunde că este necesar pentru a finaliza procesul de înregistrare. Semnalele la concluziile microcontrolerului sunt formate dintr-un computer care utilizează un computer programe speciale - Programatori. Pentru transmisia semnalului, porțile COM, LPT sau USB pot servi. C JDM Programmer utilizează programe ca Ponyprog, Isprog, WinPic800.
Programatorul Schemei JDM schemă simplă Programatorul este prezentat în figură. În această schemă, deși nu realizează controlul secvenței de tensiuni, dar este foarte simplu și asamblați această schemă este posibilă foarte repede, utilizând detaliile minime.
Figura (Programatorul Schemei JDM)


Una dintre întrebările la conectarea programatorului la un computer este întrebarea - cum să oferiți joncțiune selectivă. Pentru a evita deteriorarea portului COM în cazul unei defecțiuni în schemă. Unele diagrame utilizează chip-ul MAX232, care oferă joncțiune selectivă și este de acord la nivelurile de semnale. În această schemă, întrebarea este rezolvată mai ușoară - utilizând alimentația bateriei. Nivelul semnalului care vine de la computer este limitat de stabiltronii VD1, VD2 și VD3. În ciuda simplității schemei JDM a programatorului cu acesta, puteți programa majoritatea microcontrolerelor PIC.

Accentul rezultatelor programatorului la un MK specific depinde de tipul MK. Adesea, mai multe panouri sunt montate pe taxa de program, care sunt proiectate pentru un anumit tip de controler.

Tabelul arată scopul picioarelor unor tipuri de MK în timpul programării.




Imaginile sunt date cu scopul concluziilor celei mai frecvente MK sub programare. Microcontrolerele de tratament (pinout) PIC16F876A, PIC16F873A în carcasa Dip28.

PIC16F874A PIC16F874A Microcontrolere (pinout) PIC16F877A în cazul DIP40.
Culoare (imagine) Microcontrolere PIC16F627A, PIC16F628A, PIC16F648A în carcasa DIP18.
Aceeași locație a concluziilor destinate programului au MK PIC16F84, PIC16F84A.

Scopul concluziilor pentru microcontrolerele seriei PIC16FXXX, în funcție de tipul de carcasă, în majoritatea cazurilor este standard, dar dacă există îndoieli în acest cont, atunci este cel mai fiabil cu o dataschet pe o instanță specifică a MK. Unele documente sunt prezente pe site-ul rusesc http://microchip.ru Adunarea completă a fișierelor de date și alte documente este situată pe site-ul web al producătorului microcontrolerului PIC: http://microchip.com
Index Programul de proiect vă permite să mergeți direct la pagina index, un cuplu de clicuri vizualizați o descriere a proiectului dorit și aliniați imediat programul la controler.



Dacă este necesar, blițați controlerul cu firmware-ul selectat - faceți clic pe mouse-ul în fișierul Format SFR, de exemplu, Timer_a.sfr
Programul descarcă un fișier de la un server într-o filă nouă.



După aceea, rămâne doar să introduceți MK în panoul programator, dacă nu este încă făcut și faceți clic pe butonul "Scrieți toate".
Programul este scris în MK. După aceasta, controlerul este introdus în taxa de dispozitiv, iar dispozitivul este gata de muncă.

Puteți descărca programul pe pagina de descărcări de fișiere: http: //cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programator_dlja_pric_mikrokontrollerov/9-1-0-1613 Secțiunea:

Programator de controler USB PIC - 3.8 din 5 bazate pe 11 voturi

Programator fotorafic oferit de Ansagan Hasenov

Acest articol discută aspectele practice ale Adunării unui microcontrolere PIC programator USB necomplicate, care au numele original. GTP-USB (Grabador Todopic-USB). Există un model superior al acestui programator GTP-USB Plus care suportă și Microcontrolere AVRDar oferit pentru bani. Informații fără ambiguitate privind schemele și firmware-ul la GTP-USB Plus nu au putut fi detectate. Dacă aveți informații despre GTP-USB Plus, contactați-mă.

Deci, GTP-USB. Acest programator este asamblat pe microcontroler PIC18F2550. GTP-USB nu poate fi recomandată de începători, deoarece Pentru asamblarea trebuie să blocați PIC18F2550 și acest lucru necesită un programator. Un cerc vicios, dar nu atât de închis, astfel încât să devină un obstacol în calea adunării.

Din sistemul original GTP-USB, elementele de afișare pentru a simplifica modelul plăcii de circuite sunt excluse. Indicatorul principal este monitorul computerului pe care din versiunea WinPic800 a versiunilor de 3.55G sau 3.55B, puteți monitoriza procesul de programare.

Schema GTP-USB ușoară.

Linii de semnal VPP1 și VPP2 sunt definite sub microcontrolere în carcase cu înclinații diferite. Linia VPP / ICSP este definită pentru programarea intrahemală. Liniile rămase sunt tipice.

Programatorul este asamblat pe o placă de circuite imprimate unilaterale.

Adaptorul poate fi conectat fără durere la orice alt programator PIC-Microcontroler, care este cu siguranță convenabil.

După asamblare, producem prima includere. La prima conexiune a GTP-USB la PC apare.

Apoi urmează driverul tradițional pentru a instala driverul. Șoferul este situat în programul de control WinPic800 privind traseul aproximativ \\ WinPic800 3.55G \\ GTP-USB \\ Driver GTP-USB \\.


Suntem de acord cu avertismentele și vom continua instalarea.

Fiind atent. Acest circuit de programator și firmware-ul la acesta sunt verificate în practică și lucrează cu versiunea WinPic800 a versiunilor 3.55g și 3,55b. Versiuni mai vechi, de exemplu, 3.63C nu funcționează cu acest programator. Facem instalarea programului de control: în meniul Setări - Hardware (Instalații - echipamente), selectați GTP-USB- # 0 sau GTP-USB- # F1 și faceți clic pe Aplicare.

Faceți clic pe panoul butonului Și producem testul de echipament. Ca urmare a testelor de succes, apare un mesaj (vezi mai jos), care nu poate decât să se bucure.

Acest programator a lucrat perfect cu următorii controlori (de la ceea ce era în stoc): PIC16F675, PIC16F828A, PIC16F874A, PIC16F876A, PIC18F252. Controlerele de testare, înregistrarea și citirea datelor - au fost finalizate cu succes. Viteza de muncă este impresionantă. Citind 1-2 sec. Înregistrarea 3-5 secunde. Glitchele nu sunt observate. O parte din Coswn MK testat în glandă - lucrări.