Vai al contenuto
PLC Forum


Programmazione In-circuit - Chiarimento dubbi


Neway

Messaggi consigliati

Ho provato ad effettuare la mie prime programmazioni in-circuit che hanno dato risultati positivi. Mi rimangono comunque diversi dubbi.

1) Quando programmo in-circuit devo isolare i pin 12 e 13 (RB6 e RB7) dal resto del circuito, il circuito deve avere tra i 5V e il pin MCLR un diodo in modo da collegare il pin a 13V del programmatore tra il diodo e il pin così da non far "scappare" i 13V nel circuito che invece lavora a 5, e infine collegare il pin 16 (OSC1) a massa per non dare segnale di clock al PIC.

E' esatto? Faccio qualcosa in meno o addirittura di troppo?

Ultima cosa: utilizzo un programmatore miniProPic2 autocostruito

http://spazioinwind.libero.it/nferrarese/e...a/pp2c/pp2c.htm

Per 5 giorni mi sono dannato la vita a farlo funzionare anche se tutto sembrava perfetto. Facendo il test hardware con Ic-prog la corrente arrivava esatta a tutti i pin, ma quando avviavo una programmazione o una lettura erano presenti solo 2V sulle linee CLOCK e DATA invece dei canonici 5.

Ho risolto il problema utilizzando EPICwin, ma non capisco per quale arcano motivo con Ic-prog ancora non funziona. Qualche suggerimento?

Link al commento
Condividi su altri siti


Quella del pin OSC non l'ho mai sentita (ma puo' anche essere), il resto e' come hai detto. Per quanto riguarda i 5V se questi vengono presi dal programmatore allora vanno scollegati quelli del circuito applicativo, viceversa se vengono usati quelli del circuito finale (non ho mai provato) non vanno collegati quelli del programmatore. Lo schema che ho usato un paio di volte (vale per tutti i pic) e' il seguente. Nello schema i pin dell'oscillatore sono collegati a quarzo, ma anche lasciandoli scollegati non cambia nulla.

Per l'icsp problemi si possono avere se il cavo di programmazione e' piu' lungo di una decina di cm, e in ogni caso se ad altri pin arrivano tensioni particolari, come nel caso di uno zoccolo adatto a contenere piu' tipi di pic in cui la Vpp arriva in piu' di un punto.

I 2V erano misurati con l'oscilloscopio?

ciao Claudio

Link al commento
Condividi su altri siti

Grazie per la prontezza Claudio.

Chiedevo del pin OSC1 perchè se lo lascio connesso EPICwin fallisce la verifica a fine scrittura anche se in realtà funziona tutto perfettamente ;)

Per l'alimentazione a 5V la cosa è strana: Se utilizzo quella del circuito applicativo tutto bene, se utilizzo sia quella del circuito che del programmatore anche, ma se lascio scollegata quella del circuito e tento di utilizzare i 5V del programmatore niente, EPICwin prima segnala che il chip non è vuoto e se gli dico di scrivere comunque, appare subito il messaggio:"code programming error at 0000" ?!?

Di cavi ne ho due: uno di 8cm e l'altro di 30cm ma non credo sia questo il problema, anche con quest'ultimo la programmazione è perfetta...sempre con EPICwin.

Il programmatore ha 4 zoccoli a cui arrivano ognuno solo 5 segnali e i 5V erano misurati con il tester. La misurazione è abbastanza semplice perchè Ic-prog impiega parecchi secondi per una programmazione e le tensioni possono essere rilevate con calma.

Link al commento
Condividi su altri siti

Per i 5V dal programmatore mi sembra strano, ma immagino che tu abbia gia' verificato che dal transistor arrivino i 5V previsti nel momento della programmazione (con relativo led vcc acceso).

I 2 V in programmazione probabilmente dipendono dal tester che legge il valore medio del segnale digitale.

In ogni caso non mi spiego la differenza icprog epicwin se non con temporizzazioni critiche.... su queste puo' influire anche il cavo tra il pc e il programmatore (e' il primo problema che ho avuto) e la tensione in uscita dai pin della parallela (di solito sui 3,3V, basta inserire anche solo un altro buffer sui segnali in arrivo che non funziona piu' niente... e' il secondo problema che ho avuto). Poi e' capitato anche a me di riuscire a fare qualcosa con un software e niente con l'altro (nel mio caso ok con icprog e male con epicwin).

Claudio F

Link al commento
Condividi su altri siti

Si, i 5V ci sono e sono stabili.

No, non sono volt medi. Tra computer e pic ci sono dei buffer, all'entrata del buffer il livello logico è alto (i 4 volt che eroga la mia parallela), ma all'uscita ce ne sono soltanto due. Non può essere l'integrato ad avere problemi per 3 motici:

1) ho provato a sostituirlo

2) quando faccio il test hardware con Icprog ho le linee clock e data che funzionano perfettamente

3) se fosse rotto non potrei programmare con epicwin

:blink: MISTERO!!! :blink:

Link al commento
Condividi su altri siti

I pin RB6 e RB7 non vanno scollegati dal circuito!!!!!!!

Altrimenti che programmazione "In Circuit" è....

la tensione scende a 2 volts poichè non è attivata tale funzionalità e quindi il PIC continua a trasmettere dati con conseguente collisione con quelli provenienti dal programmatore.

Potrebbe comunque succedere di misurare una tensione più bassa poichè essendo presenti segnali logici High e low, la tensione non è continua! o meglio il valore non è sempre 5 volts... se venissero trasmessi soli zeri (cosa impossibile) la tensione addirittura sarebbe zero (sulla sola linea dati.. la linea clock invece presenta, ovviamente un bit H ed uno Low...è un segnale a gradini sempre presente in fase di RX TX dati dal programmatore!).

Ultimo problema potrebbe essere l'hardware del programmatore che non eroga abbastanza corrente...

La programmazione in circuit avviene applicando al pin MCLR una tensione di 13 volts al posto di quella di 5V (che è mantenuta da una resistenza... e portando il pin a massa invece provochi il reset)...

Applicando 13 volts al PIN MCLR il PIC entra in modo ICSP, interrompe il flusso del programma, non trasmette più dati ma rimane in ascolto per eseguire la programmazione (appunto in circuit, ovvero senza rimuovere il PIC dal circuito)... (meglio effettuare comunque un reset prima di programmare In circuit..)

Consiglio di rivedere il funzionamento ed i datasheet dei controllori PIC!

Ciao. ;)

Link al commento
Condividi su altri siti

Ho scaricato le "istruzioni" della microchip per la programmazione in-circuit dei pic 16F8x e mi dice esplicitamente di isolare i pin RB6 e RB7, c'è pure un disegno che lo fa vedere molto chiaramente.

http://spazioinwind.libero.it/nferrarese/e...mpp2c/TB016.zip

E' possibile che in altri tipi di pic nno ci sia bisogno di isolarli, ma non so dire di più.

Ho escluso il programmatore perchè con EPICwin funziona stupendamente. Ho misurato le tensioni su tutti i pin e a solo sono corrette. Ho anche messo insieme una sfilza di segnali logici alti ed ho misurato la tensione dulla linea DATA, anche questa è corretta.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...