Corrado D'Achille
info@corradodachille.it
ultimo aggiornamento 07/11/2018
pagina in italiano
english page
disclaimer
Home Pic


demoboard imageDemoboard con PIC18F2550
DEMO2550 è un modulo basato sul PIC18F2550, che consente lo sviluppo e la sperimentazione di applicazioni hardware/software in modo semplice e veloce.
La scelta del PIC è stata motivata dalla presenza, al suo interno, di un interfaccia USB che consente; sia di programmare velocemente il componente sia di dialogare con esso.
Tutto il software necessario per la programmazione via USB viene messo a disposizione dalla Microchip(c) e consiste in un programma da caricare sul PIC  (Bootloader) e di un tool per PC.  Il bootloader (per chi non lo sapesse) viene caricato in una zona riservata della memoria del PIC. Il programma di attiva solo in seguito ad una determinata sequenza di accensione del modulo e si mette in diretta comunicazione con il programma in esecuzione sul PC. A questo punto dal PC possiamo caricare la nostra applicazione sul modulo. I dettagli dell'operazione saranno chiariti nell'esempio fornito. Per il dialogo con il PIC anche qui ci viene in aiuto la Microchip che ci mette a disposizione una infrastruttura di base (Framework) pronta per essere integrata nei nostri programmi.
 
Il modulo dispone di alcuni add-on (Led, pulsanti), volti a renderlo completamente indipendente ed a facilitare  la sperimentazione di semplici soluzioni di interfacciamento con il mondo esterno.


Caratteristiche del modulo 
  • microcontrollore PIC18F2550 con clock a 20MHZ
  • porta USB
  • alimentazione prelevabile sia da porta USB che da un alimentatore esterno (9-15volts). La scelta tra porta USB e alimentatore esterno avviene tramite lo spostamento di un ponticello sulla board.
  • logica di reset con pulsante per il reset manuale
  • connettori di tipo strip a passo standard con tutti i pin di I/O del PIC, le alimentazioni, le masse ed il segnale di reset.
  • un pulsante (connesso al pin RB4) che può essere utilizzato sia come dispositivo di input, sia per attivare la modalità di caricamento del software via  USB.
  • tre LED pilotabili con segnali digitali, da utilizzare come dispositivi di segnalazione visiva,
  • due pulsanti normalmente aperti verso massa e dotati di pull-up, da utilizzare come dispositivi di inputs.
Costruzione
Per la costruzione del modulo dovete riprodurre il circuito stampato, prelevando il master dal link indicato qui sotto. Le resistenze sono da 1/8w al 5%. Il componente PPTC (rappresentato nello schema elettrico dal condensatore C2) è un elemento di protezione in caso di extracorrenti. In realtà non è necessario, in quanto le porte USB dei PC sono gìà protette. In conseguenza di ciò, può essere sostituito con un ponticello.
Programmazione del PIC
Dopo il montaggio e la verifica elettrica del modulo e necessario programmare il PIC con il bootloader.  Il file binario per la programmazione è disponibile al link qui sotto. Il booloader è stato generato per il 18F4550 ma è perfettamente compatibile con il 18F2550.

Installazione dell'ambiente di sviluppo e programmazione
L'ambiente di sviluppo per generare le applicazioni per il modulo è costituito da due tools, l'IDE MPLAB e il compilatore C18. I tools devono essere prelevati ai link qui sotto ed installati nell'ordine indicato, ossia prima l'IDE e poi il compilatore. Per l'utilizzo  dei  tools  vi rimando alla documentazione  fornita dalla Microchip.
Il programma per caricare l'applicativo sul modulo è sempre della Microchip ed è prelevabile al link qui sotto. Connessioni e controlli  del modulo
In figura 1 c'è il pinout del modulo con tutte le connessioni e i controlli per il suo utilizzo.
Le connessioni del modulo sono :
  • presa DC per il collegamento ad un alimentatore esterno (positivo centrale),
  • presa USB per il collegamento al PC
  • pin VDD (colore rosso) che forniscono una tensione di 5 Volt, da utilizzare per i circuiti esterni
  • pin GND (colore nero) da utilizzare come riferimento per i circuiti esterni
  • pin VCC, connesso alla presa DC
  • pin MCL. Linea di reset del modulo. Questo pin può avere due funzioni: fornire il reset ai circuiti esterni, ingresso per il reset esterno
  • pin RA0-RA5, RB0-RB7,RC0-RC7 (Colore Blu). I/O da/verso il mondo esterno. La funzionalità dei pin dipende dal tipo di applicazione caricata nel modulo. Notate che i pin RC5 e RC4 non possono essere utilizzatii quando il modulo è connesso al PC via USB.
  • pin L1-L3, connessi ai led di segnalazione
  • pin S3 e S4, connessi ai pulsanti S3 e S4.
I controlli del modulo sono:
  • strip VDC-VUSB. Tramite questi pin è possibile alimentare il modulo dalla porta USB o dalla presa DC.
  • pulsante di RESET, per resettare il modulo
  • pulsante PGM/RB4, per mettere il modulo nella modalità di programmazione. Questo pulsante è connesso direttamente al pin RB4 e può essere utilizzato come dispositivo di input per l'applicazione.
demo2550 pinout
Figura 1: pinout del modulo

Utilizzo del modulo
Per caricare un'applicazione sul modulo si deve attivare la modalità di loader, per farlo si deve connettere il modulo ad una porta USB del PC ed eseguire i seguenti passi:
  • sul PC, lanciare il programma MCHPFSUSB
  • sul modulo,. premere i pulsanti RESET e PGM contemporaneamente
  • sul modulo, lasciare il pulsante RESET mantenendo premuto il pulsante PGM
  • attendere qualche secondo e poi rilasciare il pulsante PGM. A questo punto il modulo è connesso al PC.
  • sul PC, nel pannello di MCHPFSUSB:
    • selezionare il modulo  tramite il menu a discesa in alto a sinistra,
    • premere il pulsante "LOAD HEX FILE", apparira una finestra di dialogo che ci consentirà di selezionare il file da caricare. Dopo aver selezionato e confermato il file, tutti i pulsanti del pannello diventeranno attivi.
    • premere il pulsante "Program Device". Nella finestra in basso compariranno una serie di messaggi a conferma dell'avvenuta programmazione.
    • premere il pulsante "Execute" e l'applicazione partirà. In alternativa potete premere il pulsante di reset del modulo.
A scopo dimostrativo ho preparato un programma che fa lampeggiare i tre led in sequenza binaria. I tre LED devono essere collegati ai pin RB0, RB1, e RB2.
Conclusioni
Sebbene dedicato al PIC2550, nulla vieta di montare sul modulo altri PIC, aventi la stessa piedinatura. In questo caso si perdono le funzionalità dell'USB e la programmazione deve essere eseguita in altro modo (Seriale, programmer, etc). Al momento non ho previsto questa possibilità e quindi mi sto muovendo solo verso applicazioni di base per il 2550. In particolare sto adattando il framework di Microchip per creare un ambiente software di sviluppo semplice ed intuitivo.


Disclaimer

Il materiale contenuto in questo sito è fornito AS IS, a solo titolo didattico e senza garanzia alcuna, implicita o esplicita. In particolare l'autore non si ritiene responsabile di alcun danno diretto o indiretto causato dall'uso delle informazioni contenute nel sito. Tutti i nomi di prodotti e ditte sono proprieta' dei legittimi proprietari. L'uso, la modifica e la distribuzione del materiale e', fatti salvi i diritti di terzi, libera e gratuita a condizione di citare la fonte. E' vietato l'uso commerciale di tutto o parte del materiale, salvo espressa autorizzazione scritta.