Let's go PIC !!!

Articolo pubblicato su www.grix.it

Corso di programmazione PIC 

secondo capitolo: Andiamo online.
 


Questo tutorial è dedicato a tutti i fortunati possessori di un esemplare della Micro-GT PIC versatile I.D.E.o a tutti quelli che ne vorranno assemblare una. 

Vi metterà in grado di flashare il PIC e quindi di utilizzare il programmer dedicando pochi minuti alla lettura e all'esecuzione guidata dei test.

Buon lavoro e buon divertimento a tutti.

Marco Gottardo.

 

Software dedicato o utilizzabile.
 


Stiamo sviluppando una piattaforma dedicata che in analogia a quella ufficiale di casa Microchip, l' MP-Lab, sarà chiamata MG-Lab. In attesa che sia rilascita la prima beta release adoperiamo degli strumenti standard sfruttando la compatibilità del nostro progetto con il noto 8076. Questi si programma usando il PICPROG2009 che si trova facilmente in giro.

clicca qua

UserFiles/ad.noctis/Setup.zip

La piattaforma MG-Lab integrerà un compilatore "Ansi C" che permetterà l'utilizzo delle librerie "C16" totalmente compatible con il prodotto della "Hitech" normalmente integrato in Mp-Lab

 

Connessione tramite cavo seriale.
 


.La scheda Micro-GT PIC versatile I.D.E. viene conessa ad un PC tramite un cavo seriale alla porta RS232 diun PC (quando sia disponibile), in caso contrario basterà procurarsi un adattatore USB-RS232, io personalmente uso un mahnattan e non ho mai riscontrato problemi di funzionamento. In caso di collegamento diretto alla porta è importante che sia compatibile IBM e che supporti l'UART 16550, se avete dubbi provate comunque, non succederà nulla al vostro PC.

Bisogna sapere che la circuiteria posta immediatamente dopo il connettore converte il protocollo RS232 in un I2C emulato in modalità handshake.

Gli UART  (universal syncronous receiver transmitter), funzionanti a livello logico TTL e delegati alle operazioni di controllo della parità, sincronizzazione, temporizzazione dei dati ecc, si trovano all'interno del PIC che avete inserito nello zoccolo ZIF, mentre nella Micro-GT PIC sono residenti i due integrati che si occupano al pilotaggio della linea di trasmissione e alla traslazione dei livelli, dato che sui cavi esterni saranno presenti tensioni bipolari a ben 12V.

Il vero driver è il classico MAX232. che ha ad esempio l'importante ruolo di trasformare in unipolare il segnale seriale che in RS232C è bipolare, nonchè di portarlo da un livello di 12V a un livello di 5V, viceversa quando il segnale arriva in forma TTL dal PIC e vuole andare verso il PC.

Il cavo da utilizzare è semplicemente passante, ovvero configuarto pin to pin.

Un importante accorgimento è quello di comprare i conettori cannon SUBD miniature a 9 pin di tipo compatibile con quanto avete già montato sulla Micro-GT, e tenendo presente che per questioni di standard, sul lato PC questo è sempre di tipo "maschio". Un piccolo approfondimento, senza andare troppo fuori tema, si può portare dicendo che in sistemi di trasmissioni comunicanti si puù distinguere tra DCE (data comunication equipment) e DTE (data terminal equipment). per standard i DCE (lato PC) è sempre maschio, ovvero vediamo i pin spuntare, mentre nel dispositivo pilotato (DCE, quali ad esempio erano i vecchi mouse seriali) il conettore è sempre femmina.

Anche se non siete costretti a fare così, vi consiglio di montare sulla Micro-GT il connettore Cannon SUBD 9 poli femmina, e quindi il cavo avrà una femmina da collegare al lato PC e un maschio da collegare al vostro programmer Micro-GT. Se seguite questo consiglo vi troverete corretamente impostati anche se uscite in usb da un portatile e utilizzate il convertitore USB/RS232 di cui ho accennato in precedenza.

Ecco lo schema di come cablare il connettore se non avete già disponibile un cavo passante (prolunga seriale).

  .

 

Collegamento e primo collaudo.
 

Prima di accendere il sistema assicurarsi che non via sia alcun PIC alloggiato nel textool, quindi colleghiamo il cavo alla porta seriale del computer oppure al convertitore USB/RS232 se stiamo ad esempio operando con un PC privo di questo conettore.
 

Alimentiamo il dispositivo portando tensione al morsetto X1 (quello a sinistra della seriale). Per fare questo avrete ampio margine di manovra perchè è progettata per essere alimentata sia in continua che in alternata. Se invertirete la tensione continua a 15 volt che portate al morsetto X1 non succede nulla, si accenderà correttamente. In definitiva, se avete un nudo e crudo trasformatore con tensione efficace misurata al secondario di 12V, attaccatevi a X1 e tutto funziona, come anche tutto funziona se attaccate un vecchio alimentatore da PC portatile, di tensione maggiore o uguale a 15 volt. Non scendete sotto a questa tensione perchè i PIC per essere flashati, se non si abilita la modalità a bassa tensione via software, hanno bisogno di una tensione di 13,2 volt che noi otteniamo ponendo in serie al piedino di massa del regolatore di tensione due diodi di tipi 1N4148. Questi diodi essendo posti nel PCB subito dietro al regolatore più a sinistra (quello a 12V) non sono visibili nella foto iniziale.

Connessa l'alimentazione il led POWER si illumina, segnalando che sono presenti i 12v e dato che il secondo regolatore risulta in cascata, se questo è operativo, anche i 5volt necessari per l'alimentazione del PIC.

Nella vista dall'alto si nota meglio la posizione del led e il fatto che essendo alimentata risulta acceso.

A questo punto siamo pronti per lanciare il picprog2009, ovviamente dopo averlo istallato nel vostro PC, e tenendo ben presente che si tratta di un ripiego, per quanto totalmente funzionante, fino a che non rilasceremo la prima beta release del sistema integrato di programmazione MG-Lab.

 

Grossomodo la sezione circuitale che riguarda la programmazione, a meno della modalità di collegamento in supervisione che è specifica della nostra Micro-GT, assomiglia a quella del prodotto per cui è stato scritto il picprog2009, così che avrà l'impressione di essere interfacciato al sistema che si aspetta, facendo girare le stesse routine diagnostiche.

 Confrontiamo cosa si aspetta di vedere questo software "alieno" con quello che in realtà c'è in campo, così vi fate anche un'idea preliminare di come verranno  sviluppate le interfacce grafiche del MG-Lab.

Clicchiamo sul pulsande con l'icona "a pcb" che ci porta nell'area diagnostica, dopo aver selezionato il microcontrollore di nostro interesse, per il momento il 16F877A:

 

 

Si viene proiettati in una schermata che rappresenta il sistema nativo per questo software, ma che nella nostra versione mostrerà il layout della Micro-GT PIC.

Su questo layout vediamo alcune cose di particolare interesse, in primo luogo i led di segnalazione di stato dei dati e delle tensioni.

 

Questi led hanno una corrispondenza quasi diretta con quelli presenti nella Micro-GT PIC versatile I.D.E. come possiamo notare nella foto sottostante.

 

Trovandosi sul lato sinistro della scheda l'orientamento non coincide, sono infatti disposti in verticale. Dall'alto verso il basso sono DVPP (verde), DPGC (rosso), DPGD (rosso).

La diagnostica si può eseguire in due diverse maniere:

 Entrati nell'area  diagnostica, come acennato vedete il layout della scheda che nel nostro softwre sarà quello della Micro-GT, ma ora focaliziamo l'attenzione sul fatto che, avendo impostato il controllore di interesse nella precedente schermata, il programma ci suggerisce dove collocare i fili volanti del connettore ICSP (in circuit serial programming) facendoci vedere la disposizione fisica. Ovviamnte se cambiamo microcontrollore ci viene suggerita la nuova corretta disposizione dei medesimi.

 

 

L'informazione in questa immagina è importantissima dal punto di vista operativo perchè su tre colonne mostra la piedinatura del conettore ICSP, dello zoccolo ZIF, o textool, e del PIC reale, quindi siamo ben guidati contro gli errori di collegamento. Tutto quanto ci suggerisce questa foto è valido anche per la Micro-GT, e sarà riportato identico nel nostro software dedicato.

 

 

Alcune immagini qui sotto mostrano la coretta costruzioned el cavo ICSP e del suo posizionamento nei conettori della "Micro-GT PIC", Questi due connettori hanno, coem nella foto sopra, una chiara serigrafia che li indica. Fate attenzione che il il pin numero 1 si trova a sinistra e deve corrispondere al filo marrone.

Cavo ICSP dedicato alla Micro-GT, l'altro lato lasciatelo libero e semplicemente inseritelo assiome al pin del processore nello zoccolo textool. Ancora vi raccomando di rispettare i colori.

Una chiara indicazione di come inserire il connettore ICSP nel connettore ICSP1 della scheda, esiste anche una seconda via ISCP2 che per il momento non usiamo.

.

Una volta lanciata la diagnostica, se avete assemblato bene la scheda, o perlomeno la parte che riguarda la comunicazione con il PC, le sequenze di accensione automatica a video vanno di pari passo con i led reali in campo. Siete quindi pronti per programmare i PIC  in maniera reale dopo che avete testato il funzionamento del vostro file .hex usando realpic simulator, come spiegato nella prima parte di questo corso online. Chi non lo avesse ancora letto lo faccia ora.

Filmato del test della comunicazione e dei data line.

.Nle filmato possimo vedere la Micro-GT PIC collegata al mio netbook tramite un adattatore seriale USB. Per il momento il software che uso per eseguire il test è il picprog2009, utilizzabile anche per fleschare i PIC come speigato sopra. Per ogni specifico PIC  la scheda va configurata tramite i filetti colorati del conettore da attaccare ai conettori ICSP, mentre dal lato libero consiglio di alloggiare i cavi semplicemente pinzandoli assieme al microcontrollore all'atto dell'allogiamnto nel textool. E' più semplice ed efficate, ouupure usate dei singoli streem femmina e collegativi al corretto pin di direct I/O per ilquale devo rimandarvi allo schema elettrico. Se vi compare questo messaggio di errore significa che avete sbagliato qualcosa in fase di assemblaggio o che il o i cavi usati non sono adatti. potrebbe anche significare che la porta del PC a cui vi siete collegati non è operativa

Clicca nel link sottostante per scaricare il filmato  in formato "3gp" del test della comunicazione.

UserFiles/ad.noctis/File/Micro-GT%20test%20com.zip 

 

Esercizio proposto.

Come prima esperienza completa vi invito a caricare il file .hex del led lampeggiante eseguito nel primo tempo del tutorial. Vi ricordo che è stato usta un PIC 16F877A ma che potrete usare tranquillamente un 16F876.

Vi ricordo che i led si accendo solo se collegate i catodi a massa agendo sul deep switch S13, immediatemente sopra ai trimmer dei segnali analogici. Le tre vie del deep switch sono, da sinistra, RB, RC,RD.

Prima di ogni utilizzo con un nuovo PIC sarebbe bene che questo deep sia sempre aperto così da evitare che una diversa piedinatura di un diverso pic possa ad esempio mandare a massa il clock tramite un LED.

Circuito stampato della Micro-GT PIC versatile IDE.
 

Il circuito stampato, come anche gli schemi elettrici in formato Eagle, sono disponibili sia su grix che sul mio sito personale e liberamente scaricabili. L'onere della realizzazione potrebbe essere per molti utenti fuori portata dato che il pcb presenta molte conessioni passanti metallizzate tra il lato saldature e il lato componenti. La fabbrica in cui ho comissionato la campionatura si trova in cina e li sono già depositati i file gerber, quindi se e solo se siete interessati a farene almeno un centinaio potete contatare Sandy che vi farà da interprete presso questa fabbrica.  L'indirizzo di posta elettronica è: bonzisandy88@hotmail.com   

Se invece siete interessati a un singolo esemplare o ad alcuni esemplari, che risulterebbero troppo onerosi come ordinazione in fabbrica e trasporto dalla cina, possiamo attingere dalla mia scorta personale, ovvero dalla campionatura che ho citato più sopra. Mandatemi un messaggio privato e ve la spedisco a casa assieme a un'altro piccolo PCB per pilotare i display a sette segmenti che useremo come demoboard durante il nostro corso online di programmazione.

pcb della Micro-GT PIC versatile IDE, misura 165mm x 155mm.

.Nella foto sottostante c'è il secondo pcb che riceverete nella stessa busta della Micro-GT, si tratta in effetti del pcb dell'orologio a microprocessore dell'articolo che ho già presentato qui su grix. Alloggia un PIC a 18 pin, quindi è molto compatto. E' in grado di pilotare 4 display colegabili tramite cavo Flat al connettore a 12 pin che vede in alto, Con questo faremo esercizi di conteggio, di visualizzioni di livelli, indicazioni numeriche (ad esempio il piano in cui si trova l'ascensore), e perchè no l'orologio stesso per il quale è nato il pcb.
 

Le misure del pcb sono 57mm x 45mm, tecnologia dual layer supporto FR4.

Scarica dal link sottostante il file .hex da inserire nel pic 16F84A per la realizzazione dell'orologio con quarzo a 3,27 Mhz (accetta 4 Mhz). I sorgenti per la modifica di alcuni parametri sono scaricabili dall'articolo dell'orologio. Come utile esercizio invito gli utenti a programare l'orologio in C16 e a trasformarlo in radiosveglia. Vediamo chi riesce a presentare questo risultato.

UserFiles/ad.noctis/File/orologio.hex

 

Conclusioni.

.Tra una decina di giorni uscirà la terza parte del tutorial che vi dico in anteprima si intitolerà "Let's go PIC !!!, digital I/O" in cui ci divertiremo con l'utilizzo degli ingressi e delle uscite digitale, dopo ovviamnte avere apreso l'ardware interno e i registri con cui questi sono implementati.

Gli utenti che non hanno ancora assemblato la scheda si affrettino, come anche che ne volesse una si faccia avanti perchè come già detto, vi fornisco i due PCB al solo costo del rimborso delle spese che ho sostenuto per costruirli.

   Pagina precedente