Articole similare

Cablul LVP - Cel mai simplu programator microcontorlere PIC

Schema cablu LVP

Cablul LVP este cea mai simpla solutie de programare in circuit (ICSP) a microcontrolerelor PIC care suporta functionalitatea LVP (Low Voltage Programming). Vezi schema alaturata, ai nevoie doar de cativa rezistori care se pot integra direct in carcasa mufei seriale cu 9 pini (D-SUB), o mufa seriala mama si un cablu cu 4 fire.

Pentru citirea si scrierea memoriei microcontrolerului folosind acest adaptor trebuie sa aplici tensiune la PIC (+5V la Vdd) si sa conectezi MCLR la Vdd printr-un rezistor de 10K. Nu este necesar sa fie conectat un circuit oscilator la microcontroler.

OK, recunosc ca aceasta nu este o metoda foarte recomandata pentru programarea unui PIC, dar este cea mai simpla si functioneaza!

Foarte cunoscutul dar vechiul microcontroler PIC16F84 nu se poate programa cu acest programator, neavand functionalitate LVP, dar succesorul sau, PIC16F628 si urmatoarele, toate suporta LVP (au pinul PGM).

Exista pe site si alte variante (mai complicate) de programatoare pentru microcontrolere PIC:

  • BobProg - programator ICSP care foloseste o sursa de alimentare externa
  • JDM - programator cu soclu 18 pini pentru microcontrolere PIC

Modul LVP

Modul clasic de programare se activeaza prin aplicarea unei tensiuni mai mari de +12V la pinul MCLR al microcontrolerului.
Modul LVP este activat prin aplicarea unei tensiuni de +5V la pinulul PGM. Pentru protectie, se foloseste un rezistor de 10K inseriat cu pinul PGM. Un al doilea rezistor de 10K trage pinul PGM la masa daca nu este conectat PC-ul, prevenind astfel ca PIC-ul sa intre in modul LVP.

ATENTIE!
Din moment ce folosesti programare in modul LVP, pinul PGM nu se poate folosi pentru I/O. In aceast mod, trebuie sa te asiguri ca pinul PGM este tras la masa (ex. adaugand 10K intre pin si masa), altfel PIC-ul poate sa intre in modul de programare LVP in loc sa functioneze normal.

Acest circuit ar putea sa nu functioneze la porturi seriale ne-standard! Numai nivele de tensiune de 0V si +5V sunt trimise inapoi la PC, in loc de -10V si +10V. Aceasta functioneaza bine pe PC-ul meu avand un prag de tensiune high-low de aproximativ +2V. Pe laptop, care foloseste un adaptor serial USB, acest circuit nu functioneaza ...

Tensiunile de +/-12V de la RS-232 nu dauneaza PIC-ului?

Toti pini I/O ai PIC-ului sunt protejati importiva descarcarilor electrice, de diode interne la Vss si VDD (vezi datasheet). Cu un rezistor care limiteaza curentul pin, toate tensiunile negative vor fi limitate la 0V si toate tensiunile pozitive vor fi limitate la 5V.

Software programare

Pentru programare se foloseste aplicatia IC-Prog, care ruleaza pe PC si comunica pe portul serial cu programatorul prezentat. Configureaza-l ca programator de tip JDM. Prin reducerea intarzierii I/O se poate accelera programarea, dar creste riscul aparitiei erorilor.

ICPROG

IC-Prog trebuie configurat cu urmatoarele optiuni:

  • Hardware:
    • Programmer: JDM Programmer
    • Interface: Windows API
  • Options:
    • Misc: Enable NT/2000/XP Driver
    • Interface: Verify After Programming

Imaginea urmatoare arata un PIC16F870 gata pentru programare. Rezistorul de 10K spre masa de la pinul 3 al conectorului D-SUB a fost omis (vezi mai sus). Pentru legarea la + a pinului MCLR se conecteaza un rezistor intre pinul 1 si +5V.

Exemplu programare ICSP pe placa de test

Download

  • IC-Prog (software pentru cablul LVP)

Informatiile prezentate pe aceasta pagina au fost preluate de la adresa
http://home.vrweb.de/~lotharstolz/stolz.de.be/lvpc/index.html