Newsgroup: it.hobby.elettronica.digitale
Titolo: Non Programma 16F876A

Ho un programmatore ludipipo immagino... Il classico. Sul retro della
scheda c'è scritto per 16F84_16F84A 16F876 24LC... Programma IC-Prog
Con il 16F84A no problem, nè con le eeprom.
Il 16F876A non si vuole programmare!!!
Ho provato abilitando e togliendo Vcc as MCLR, togliendo e mettendo
Write EN OFF o da ind.a inidirzzo... ecc.
Che parametri devo usare? Pensate che si possa programmare ? Non
dovrebbe essere come il 16F876? Tenta di programmarlo ma quando
controllo dice verify failed at adress 0000.
Sul sito di IC-prog c'è scritto che PGM deve essere a GND. Come
faccio?
Grazie, ciao.

Frank ha scritto:

la versione con la "A" ha delle specifiche di programmazione diverse
oltre che differenze dal punto di vista hardware/elettrico rispetto
alla "vecchia" versione. Detto questo però mi sembra strano che
selezionando su IC-Prog il 16F876A non funzioni! Io con il mio JDM
alias ludipippo non ho mai avuto problemi pero sul mio il PGM è a
massa "virtuale" nel senso che usando la 232 l'indicazione sul sito di
IC-Prog debba essere reinterpretata e che quindi la massa non è il pin
GND del connettore seriale ma quello che vedi in questo schema dal
momento che le tensioni ricavate sono traslate tramite diodi.
http://olimex.com/dev/images/pic-pg2c-sch.gif
Ciao
Ale

 
http://olimex.com/dev/images/pic-pg2c-sch.gif
Sul mio ludipipo c'è scritto 16F84_16F84A 16F876, 24LC16...
Non c'è 16F876A. Può dipendere da questo?
Possibile che debba effettuare una modifica al programmatore?
Non ho capito cosa dovrei fare.
Cosa intendi per mettere a massa virtuale il pin PGM? Non capisco cosa
dovrei collegare a cosa... 
Perchè allora il 16F84A lo programmo?

 Perchè allora il 16F84A lo programmo?
la risposta più immediata che mi viene è che se guardi sul sito di
IC-Prog non c'è scritto di mandare a massa il pin PGM per il 16F84A...
mentre è chiaramente specificato per il 16F876A.
Riguardo alla modifica del programmatore non vedo cosa ci sia di
strano. Il semplice fatto che  IC-Prog lo segnali fa pensare che non
sia un "obbligo" sulla costruzione di questo tipo ti programmatore e di
conseguenza io verificherei che il tuo abbia questa connessione.
E' molto semplice... trova il pin PGM del 876A  e collegalo al pin Vss
dello stesso.
Ciao
Ale

 dello stesso.
Da qualche parte (forum) ho visto che occorre collegare Vss pin 19 a
PGM pin 23 attraverso una resistenza da 10k.
Possibile?

Frank ha scritto:

a qualcuno può essere servita perchè programmando in ICSP
direttamente sulla scheda di test ci poteva essere il rischio di
mandare alta l'uscita mentre questa nel suo caso era connessa a
massa... e ciò come puoi ben intuire non è tanto bello.
Se nel tuo caso prendi il PIC e lo monti sul programmatore e quindi non
hai problemi di ICSP direi che puoi tranquillamente scordarti la
resistenza e collegare il PGM secco sul Vss.
Ma hai almeno verificato se è o meno collegato sul tuo ludipippo?!?!
Ciao
Ale

 Ale
Verifico stasera.

Allora, ho verificato!
Sul retro c'è scritto LP16F84 16F876, penso sia un ludipipo.
Il piedino 24 PGM è collegato già al pin 19 e 8 Vss.
Se quando sto programmando controllo la tens. tra Vss e il pin 24 PGM
vedo che però è 5V. Livello alto. Quindi ho provato a collegare il 8
col 24 e leggere la tens. Ora è 0V. Ma non programma lo stesso.
Perchè?
Ho provato con o senza LVP (low voltage programming), con o senza code
protect, con o senza scrittura a blocchi. Il programmatore è
alimentato da un alimentatore esterno. Cosa posso provare ancora?
Grazie.

Ho scritto anche alla microchip e mi hanno risposto questo, che
francamente non capisco.
For PIC16F876A  /MCLR needs to be raised to Vpp level which is around
13V, when the programming pins, PGC and PGD are low, or if low voltage
programming mode is enabled, PGM needs to be brought to a logic high
with PGC and PGD low.  This is how the device can enter the program
mode.
You may 100nF capacitor between Vdd and Vss, and MLCR is connected like
the datasheet tells: 100nF capacitor to GND and R1<40k (18k) and R2>1k
(2.2k).
During programming, VDD is applied to the MCLR pin.
To enter Programming mode, VDD must be applied to the RB3/PGM provided
the
LVP bit is set. The LVP bit defaults to on ('1') from the factory.
(That´s for Low Voltage Programming)
The High-Voltage Programming mode is always available, regardless of
the state
of the LVP bit, by applying VIHH to the MCLR pin.
It should be noted, that once the LVP bit is programmed to '0',
only the High-Voltage Programming mode is available and only
High-Voltage Programming mode can be used to program the device.
Ma non dovrebbe fare tutto in modo trasparente il software?

 Ma non dovrebbe fare tutto in modo trasparente il software?
certo... loro ti hanno semplicemente rispiegato quello che si può già
leggere sulle specifiche di programmazione del PIC.
Sono rimasto perplesso dalla tua affermazione... e cioè che il PGM è
fisicamente a massa ma misurando la tensione era a +5V... direi che è
un controsenso.
Ale

 Ale
Lo so anch'io. Proverò a disattivare il flag LVP (low-voltage
programming) e mettere un resist.10k tra Vss e PGM... Togliendo anche
il flag MCLR as Vcc.
il 16F84A non era programmato con il LVP, vero?

Niente di fatto. Provato in tutti i modi e anche con WinProg.