News forum

IMPORTANT Programare PIC

IMPORTANT Programare PIC

by Mihai Matei -
Number of replies: 0

Unii dintre voi aveti probleme cu programarea PIC-ului folosind schema de pe site + ICPROG

M-am mai documentat despre acest subiect, si am gasit urmatoarele chestii:

E diferenta mare dintre 16F628 si 16F628A primul are memorie nevolatila de tip EPROM, celalalt FLASH.

Este NECESAR ca atunci cand programati PIC-ul sa aveti intre 4.5V si 5.5V intre pinii VDD si VSS ai PIC-ului. O tensiune mai mica nu il veti putea programa:

http://web.mit.edu/6.115/www/datasheets/16f628_errata.pdf

Programatorul trebuie selectata JDM (programare prin seriala) in principiu setarile in Masina Virtuala a ICPROG sunt ok

Ce vedeti acolo ca Oscilator este cuvantul de configuratie care se pune in PIC. In principiu cand restartati PIC-ul acesta isi citeste acest cuvant si alege de ex un Oscilator intern/extern voi aveti unul extern. Acest cuvant de configurare este GENERAT de compilatorul folosit Proteus,CCCpic, MPLAB etc si ICPROG-ul il incarca cand incarati hexul. DECI nu trebuie sa schimbati de acolo nimic.

IMPORTANT - de ce nu va merge:

Se pare ca la PIC in functie de revizia de PIC(deci cei care ati cumparat acum PIC16F628A aveti probleme) exista 2 Moduri de Programare a memoriei nevolatile:

1) High Voltage Programming - cea pentru care e schema care va obliga sa aveti +12V la Pinul de MCLR al PIC-ului.

Ca sa aveti 12V trebuie ca seriala sa scoata 12V. Se pare ca mai nou plaicle de baza scot +5V - optiune pe care CRED ca o puteti schimba din BIOS

2)Low Voltage Programing - suportata de 16F628A pe care o vom folosi

Necesita doar +5V pe pinii MCLR ai PICului. Ca PIC-ul sa foloseasca aceasta metoda de programare trebuie sa legati PIN-ul de PGM la masa.

Este descris si aici in documentatia ICPROG http://www.ic-prog.com/devices.html. Cautati 16F628A

DECI trebuie legat PIN-ul PGM al PIC-ul la Ground. La 16F628A acesta este PIN-ul 10 RB4/PGM . Folositi o sarma sa-l legati la masa doar cand programati daca era folosit de de schema voasta. Cand rulati il scoateti de la masa si il lasati in aer/il folositi la ce face placa voastra. Nu strica sa pune-ti o rezitenta de 100K intre PIN si masa. Vedeti sa aveti deja pe schema inainte de butonul de RESET. ORICUM LEGATI PINul 10(PGM) LA MASA!!!

Debugging JDM Programmer

  1. Scoate-ti PIC-ul din slot
  2. Conectati placa la seriala calculaotului cu ICPROG deschis si configurat cu progrmatorul JDM - cum aveti in masina virtuala
  3. Masurati pin 5(-) si pin 14(+) trebuie sa aveti putin sub 5V
  4. Masurati voltajul intre pin 5(-) si pin 13(+) trebuie sa aveti intre -2V si -2.5V
  5. ICPROG->Setting->Hardware Check->Enable Data Out - cand o apasati casuta Data In trebuie sa devina si ea ticked. Masurati din nou 5-13 acum trebuie sa aveti intre 4.5V si 5V
  6. Masurati voltajul intre pin 5(-) si pin 12(+) trebuie sa aveti intre -0.5V si -0.8V
  7. ICPROG->Setting->Hardware Check->Enable Clock - o apasati. Masurati din nou 5-12 acum trebuie sa aveti putin peste 5V
  8. ICPROG->Setting->Hardware Check->Enable MCLR - o apasati. Masurati pin 5(-) si pin 4(+) trebuie sa aveti +12V