Corso di Costruzioni Elettroniche A - A.A. 2006/2007. Titolo: "Realizzazione su PCB di un programmatore ICD2 per microcontrollori PIC "



Documenti analoghi
INTERFACCIA PER PC MEDIANTE PORTA SERIALE

minipic programmer / debugger per microcontrollori PIC Marco Calegari

DI COSA SI PARLERÀ. La struttura di ORCAD ORCAD Capture Il disegno elettrico, la lista componenti, la Netlist ORCAD Layout

SCHEDA MC4-PLUS. SPECIFICA TECNICA PER LA PROGETTAZIONE DEL MASTER

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

Informatica 1 Lezione 1

Arduino UNO. Single board microcontroller

Gerarchia delle memorie

Architettura hardware

La memoria centrale (RAM)

Programma applicativo di protezione LOCK Manuale per l utente V2.22-T05

Manuale d uso MULTIPROGRAMMATORE

MONTAGGIO E PROGRAMMAZIONE DEI PIC

Dispensa di Informatica I.1

Guida alla registrazione on-line di un DataLogger

Laboratorio di Informatica

RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

CONVERTITORE SERIALE ASINCRONO RS485 / USB

TRASMETTITORE TX-FM-MID/EN

Manuale IT_VNA by IZ1PMX

LABORATORIO DI SISTEMI

IRSplit. Istruzioni d uso 07/10-01 PC

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

OSCILLOSCOPIO SOFTWARE

Organizzazione della memoria

Elettronica dei Sistemi Programmabili

Sistema operativo: Gestione della memoria

L ELETTRONICA. Il progetto completo della scheda di interfaccia col PC tramite porta parallela e del driver da 2A per il pilotaggio dei motori

Si compone di: SI-Prog supporta: Le tre principali famiglie di..

Esame di INFORMATICA

Installazione di Zelio Soft 2 su Microsoft Windows Vista

Progettaz. e sviluppo Data Base

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Laboratorio di Informatica

I L C O M P U T E R COM E FATTO DENTRO (Unità 2)

Trasmettitore TX-4M10HA/V

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

Verifica scritta di Sistemi e Reti Classe 5Di

OSCILLATORI AL QUARZO: CONTASECONDI

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Laboratorio di Informatica di Base Archivi e Basi di Dati

Introduzione alle misure con moduli multifunzione (DAQ)

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Corso di Informatica

SymCAD/C.A.T.S. modulo Canali Schema

Come usare P-touch Transfer Manager

MANUALE PARCELLA FACILE PLUS INDICE

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Alimentazione Switching con due schede ATX.

C. P. U. MEMORIA CENTRALE

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

GALEP-5 user guide. GALEP-5 Device Programmer. Alientech srl electronic performance 1

SUITE BY Pannello Misure BY11250

Carica batterie. ADATTATORE 9V PER ACCENDISIGARI Fornisce una tensione di +9V dalla presa accendisigari da 12V dell automobile.

Sistema di ripresa con fotocamera digitale fissa Calibrazione

Manuale d uso SmarTach D-Box 2

Transitori del primo ordine

MiniScanner 10cm. Lista componenti R1-R8 R9. Montaggio

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Analisi e diagramma di Pareto

Guida Compilazione Piani di Studio on-line

BARRIERE FOTOELETTRICHE PER MISURA AUTOMAZIONE CONTROLLO

RoboTESTER Wall-E, ATE a letto d aghi per Test In-Circuit e Funzionale. 1/6

Informatica - A.A. 2010/11

Corso di Informatica

Guida rapida Vodafone Internet Box

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Architettura dei computer

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Approccio stratificato

La memoria - generalità

Gui Gu d i a d ra r p a i p d i a V d o a d f a one Int fone In e t r e net rnet Box Key Mini

TERMINALE PER IL CONTROLLO ACCESSI 2745

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Programmatore Bootloader

Logica binaria. Porte logiche.

Manuale di programmazione BerMar_Drive_Software

Il sensore rilevatore di presenza modalità d uso

ANNO SCOLASTICO PROPOSTE PER I PROGRAMMI E LA PIANIFICAZIONE DEL CORSO DI TECNOLOGIA, DISEGNO E PROGETTAZIONE

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Connessione di RStone al computer tramite RKey

MANUALE EDICOLA 04.05

8 Microcontrollori PIC

Remote Download (DLD ) veloce, comodo ed economico Trasferimento wireless tramite WLAN / GPRS

ANALISI SOSPENSIONI Modalità Base

EasyPrint v4.15. Gadget e calendari. Manuale Utente

TERM TALK. software per la raccolta dati

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Procedura aggiornamento firmware. Prestige

Sensori di temperatura a termocoppia K Guida Utente

GUIDA AL CALCOLO DEI COSTI DELLE ATTIVITA DI RICERCA DOCUMENTALE

COME È FATTO IL COMPUTER

introduzione I MICROCONTROLLORI

Reti di calcolatori ed indirizzi IP

Tutorial 3DRoom. 3DRoom

Antivirus. Lezione 07. A cosa serve un antivirus

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Transcript:

Università degli Studi di Parma Facoltà di Ingegneria Corso di Costruzioni Elettroniche A - A.A. 2006/2007 Docente: Giovanni Franco e mail giovanni.franco12@tin.it Titolo: "Realizzazione su PCB di un programmatore ICD2 per microcontrollori PIC " 1

Sommario: 1. Introduzione 2. Descrizione del Progetto 2.1 - Boost Converter 2.2 - Modulo USB 2.3 - Microcontrollore 2.4 - PCB 3. Costi di progetto 2

Cap. 1 - Introduzione I dispositivi chiamati programmatori sono tradizionalmente usati per caricare il codice macchina in un microcontrollore. Attualmente, molti dei PIC Microchip (fig. 1) utilizzano ICSP (In Circuit Serial Programming) e/o LVP (Low Voltage Programming), che permettono di programmare il microcontrollore già posizionato in un circuito. Figura 1: alcuni microcontrollori PIC Microchip Figura 2: connettore USB di tipo A La programmazione ICSP impiega due pin, clock e dati, mentre un segnale ad alto voltaggio (12V) passa sul pin Vpp/MCLR. [Low voltage programming dispenses with the high voltage, but reserves exclusive use of an I/O pin and can therefore be disabled to recover the pin for other uses (once disabled it can only be reenabled using high voltage programming).]. Ci sono molti tipi di programmatori per microntrollori PIC, dai più semplici che permettono di scaricare il codice direttamente da un computer (ma non tutti i PIC supportano questa funzionalità), a quelli più intelligenti e complessi che usano essi stessi un microcontrollore PIC pre-programmato per configurare il PIC che necessita del codice macchina; alcuni PIC possono sfruttare anche un auto-programmazione (scrivono direttamente sulla propria memoria). Tuttavia, i vantaggi nell usare un programmatore per caricare il programma utente sono notevoli, in termini di velocità di programmazione, immediata possibilità di eseguire il programma e possibilità di debug usando lo stesso cavo. Per caricare il programma utente si possono sfruttare interfacce quali RS-232 o USB e il nostro progetto comprende infatti un modulo USB per la programmazione. Lo standard USB in particolare prevede che il connettore porti anche un segnale per alimentare le periferiche a basso consumo (le periferiche che hanno richieste energetiche elevate vanno alimentate a parte). I limiti energetici dello standard vanno seguiti scrupolosamente pena il probabile danneggiamento del gestore, dato che lo standard USB non prevede nelle specifiche minime la disconnessione in caso di sovraccarico. Inoltre, il disegno dell'usb è stato pensato per consentire un semplice inserimento e rimozione e le porte USB, oltre a prevedere la funzionalità di Plug and Play, supportano anche i dispositivi hot swap quindi, se il sistema operativo lo consente, permettono la rimozione a caldo e il reinserimento delle periferiche senza dover riavviare il computer. Lo standard USB nella versione 2.0 raggiunge una velocità di trasferimento massima di 60 Mbyte per secondo (480 Mbits/s) mentre lo standard 1.0 dell'usb supporta collegamenti a solo 1,5 Mbit/s, velocità adeguata per mouse, tastiere e dispositivi lenti. Le specifiche dell'usb stabiliscono due tipi di connettori per collegare i dispositivi, il connettore A (fig.2) e B ma molti produttori, cercando di ridurre le dimensioni dei dispositivi, hanno deciso di creare connettori più piccoli di quelli standard. Cap. 2 - Descrizione del Progetto La prima parte del lavoro di progetto consiste nell organizzare e riordinare gli schemi forniti nei tre sottosistemi: boost converter, microcontrollore e interfaccia USB, sfruttando il programma Capture del pacchetto Orcad. A partire dunque da schemi elettrici noti per la realizzazione di un programmatore ICD2 con interfaccia USB (fig. 3) e dagli schematici di Capture messi a disposizione, possiamo dunque modificare la disposizione dei vari elementi che compongono i tre sottosistemi del progetto e ottenere la struttura voluta (figura 4), che vedremo in dettaglio. 3

Figura 3 Uno schema di ICD2 con interfaccia USB Cap. 2.1 Boost Converter Figura 4 Divisone del progetto nei tre sistemi che lo compongono Il boost converter utilizzato per l alimentazione della scheda è un MC34063A della ST. L alimentazione in questo circuito è fornita dal modulo USB. Un boost converter è un convertitore DC/DC di potenza, fa parte della classe dei convertitori che operano in maniera switching e contiene dispositivi a semiconduttore che operano appunto come interruttori. Per aumentare le prestazioni del convertitore vi si aggiungo dei filtri, induttori e condensatori, in rapporto anche all applicazione voluta. Il componente assorbe staticamente una bassa corrente (2.5mA), opera fra i 3V e i 40V a una frequenza di 100KHz ed è dotato di limitazione di corrente; dal datasheet del componente rileviamo inoltre che è in grado di operare in un range di temperatura da -40 a 85 C, sopporta un voltaggio massimo di 50 Volt regolando una tensione stabile a 12.5V e un ripple massimo di circa 200mV a seconda delle applicazioni. 4

Figura 5 Boost converter Cap. 2.2 USB Il modulo USB del progetto è utilizzato per l interfacciamento del programmatore con un PC e per fornire l alimentazione alla scheda (si faccia sempre riferimento allo schema di figura 4). Tale modulo impiega un chip FT232BL USB UART (USB Serial, fig. 6) le cui caratteristiche sono le seguenti: possibilità di interfacciarsi con logica a 5V e 3.3V regolatore integrato a 3.3V per I/O USB circuito di Power-On-Reset integrato PLL 6MHz 48Mhz integrato USB 1.1 and USB 2.0 compatibile, utilizzabile con la maggior parte dei sistemi operativi Windows e Linux Per la comunicazione con il microcontrollore sfrutta un interfaccia seriale RS232, come si può vedere dallo schema di figura 9. Il chip necessita esternamente di una memoria EEPROM (Microwire Serial EEPROM) CAT93C66 da 4K-Bit (fig.7) e di un oscillatore ceramico piezoelettrico a 6MHz. In particolare, la memoria EEPROM può essere configurata sia con registri a 16bit che 8bit. Ogni registro può essere scritto o letto serialmente usando il pin DI (data in) o DO (data out). Questa memoria è stata realizzata con una tecnologia EEPROM CMOS floating gate e può supportare 1,000,000 di cicli lettura/scrittura, mantenendo i dati memorizzati per circa 100 anni. Figura 6 Chip USB FT232BL Figura 7 EEPROM (SOIC package) Figura 8 Connettore USB Il modulo è poi collegato ad un connettore USB del tipo di figura 8, impiegato nella maggior parte dei programmatori. Alla fine si ottiene lo schema di figura 9. 5

Figura 9 Modulo USB Cap. 2.3 Microcontrollore Il microcontrollore impiegato in questo progetto è un PIC16F876P che utilizza un clock esterno a 20MHz. Questo dispositivo è dotato di 8K x 14 words di Flash Program Memory, 368 x 8 bytes di Data Memory (RAM), 256 x 8 bytes di EEPROM Data Memory; può sopportare 100,000 cicli di cancellazione / scrittura sulla Flash program memory e 1,000,000 di cicli scrittura / cancellazione sulla Data EEPROM, che può mantenere il dato per più di 40 anni. Il PIC16F876 è inoltre Self-reprogrammable (sotto controllo software) e consente la programmazione In-Circuit Serial Programming (ICSP ) e l In-Circuit Debug (ICD) tramite due pin. Sfrutta tecnologia CMOS e può operare in un vasto range di temperatura con consumi ridotti. Il pinout del PIC è mostrato in figura 10, parte della sua struttura interna in figura 11. Figura 10 PIC16F876 6

Figura 11 Struttura interna PIC16F876 Figura 12 Caratteristiche della famiglia PIC16F87 Come si può vedere dallo schematico del modulo di figura 14 ci sono alcuni elementi attivi su cui vale la pena soffermarsi; si tratta di transistor NPN general purpose BC847 (figura 13) in grado di operare a una corrente di collettore massima di 100 ma e a una tensione massima collettore emettitore di 65 V. Figura 13 Transistor BC847 7

Infine notiamo, assieme ad altri elementi passivi, dei LED utili come verifica della funzionalità o per debuggare e il connettore per la programmazione (header 5); il sotto-sistema del microcontrollore così costruito è quello mostrato in figura 14. Cap. 2.4 PCB Figura 14 Modulo microcontrollore PIC16F87 Realizziamo il progetto su PCB utilizzando il programma Orcad Layout: dopo aver riunito i vari schematici di cui sopra, si procede creando la netlist dei componenti e relativi collegamenti che costituiranno l input del software per lo sbroglio e il routing degli stessi. Il circuito sarà realizzato con una fresatrice e perciò si potranno usare le facce superficiali della piastra sia per il posizionamento dei dispositivi sia per le piste di segnale e alimentazione. Quindi si dovranno utilizzare due layer (top e bottom) per la definizione dei collegamenti e il piazzamento dei componenti, utilizzando connessioni microstrip. Prima di procedere alla fase di place and route è tuttavia necessario disporre dei file di libreria dove sono contenuti i footprint dei vari componenti che costituiscono il progetto: tali file ci vengono forniti, ma è spesso possibile reperire gli stessi sulla rete, essendo quello di Orcad lo standard più comune per la progettazione elettronica (alternativamente si possono importare i footprint da PCB già esistenti, sempre in formato Orcad Layout). Una volta caricati i footprint e il file generato da Orcad Capture si può dunque ultimare la fase progettuale; definiamo innanzitutto un primo bordo di scheda, che potremo poi minimizzare. Grazie alle potenzialità del pacchetto Orcad possibile piazzare i componenti selezionandoli direttamente dagli schematici di Capture: ciò facilita notevolmente l ottimizzazione della disposizione dei sottosistemi (alimentazione, microcontrollore, modulo USB), per i quali possiamo prima definire le connessioni interne (ciò fra i loro vai elementi costitutivi) e poi andare a disporre l intero blocco in una zona definita. In questo modo la fase di routing fra i vari blocchi si limiterà a connessioni come quelle di figura 4 e alle piste di alimentazione. Procedere in questo modo al posizionamento comporta però la non ottimizzazione a livello globale delle piste o dello spazio occupato, ma siccome semplifica notevolmente il procedimento abbiamo in un primo momento seguito questa impostazione e, al termine del posizionamento, abbiamo cercato di ottimizzare con spostamenti mirati lo spazio occupato. Terminata questa fase, si può passare alla definizione delle connessioni. Durante tale operazione si deve minimizzare l utilizzo di via, che andranno poi metallizzate complicando la fase di saldatura, e introducono 8

inoltre elementi parassiti. Si crea infine il piano di massa sul bottom layer a cui sono poi connesse le varie masse del circuito. Il risultato ottenuto è quello di figura 15: notiamo a partire dal basso, a sinistra il modulo di alimentazione, al centro il modulo PIC e a destra il modulo USB; i vari connettori (USB, programmazione) sono posti ai bordi della scheda. In conclusione, si cerca di ottimizzare il PCB così ottenuto, allargando, dove possibile le piste (in particolare quelle di alimentazione), eliminando i possibili errori introdotti e segnalati dal software (distanza minima fra le piste e i componenti, errori di piazzamento, ecc ) ed infine compattando l intera scheda, cercando cioè di ridurre al minimo l occupazione d area (nel fare ciò si utilizzano ad esempio entrambi i layer per il piazzamento dei componenti). In figura 16 vengono evidenziate le connessioni (in rosso quelle sul top layer) del progetto. Alla fine si procede alla generazione di gerber files per la fresatura del PCB; sono necessari 4 file: oltre ai top layer e bottom layer (figure 17 e 18), holes (buchi dei vias e dei componenti) e keep out (contorno). Figura 15 Screenshot di Orcad Layout col PCB realizzato 9

Figura 16 PCB Figura 17 - Gerber Top Layer Figura 18 - Gerber Botom Layer Il PCB viene dunque fresato su FR4 ed è pronto per la metallizzazione delle vias e la saldatura dei componenti. Per prima cosa dunque metallizziamo tutte le vias presenti sulla scheda, avendo cura di verificare che non si sia creato alcun cortocircuito fra piste adiacenti (specialmente in quelle più vicine). Completata tale operazione si passa a saldare i componenti partendo da quelli SMD e dagli integrati; in questa fase ci scontriamo con alcuni problemi non previsti relativi ai footprint di alcuni componenti (come l induttanza di alimentazione o uno quarzi); in questi casi procediamo a saldature apposite oppure ripassando le piste vicine con un taglierino per garantire l isolamento. Ad esempio nel caso del quarzo del PIC era stato previsto un quarzo trough-hole, mentre noi abbiamo a disposizione un quarzo SMD; tuttavia sappiamo che il quarzo SMD è ricavato da quello trough-hole piegandogli i piedini; è sufficiente quindi raddrizzarne i piedini. Verifichiamo comunque anche in questa fase, la correttezza dei collegamenti prima di procedere alla saldatura di un nuovo componente. Si completa quindi la scheda saldando i connettori e gli altri componenti trough-hole. Il footprint del quarzo del chip USB era sbagliato, avevamo quindi a disposizione un componente molto più piccolo di quanto avessimo previsto in fase di layout. Abbiamo perciò collegato i pin del quarzo alle piazzole tramite cavi di collegamento (figura 19). 10

QUARZO A 6Mhz Figura 19: Collegamento realizzato per il quarzo a 6MHz Verifichiamo infine la corretta distribuzione delle alimentazioni, che potrebbe rappresentare l aspetto più critico per un possibile malfunzionamento del circuito. In questa fase riscontriamo purtroppo la presenza di un cortocircuito fra il piano di alimentazione di massa e cerchiamo di identificarne la causa, senza tuttavia trovarne l origine; potrebbe essere un errore di fresatura o della saldatura del chip USB, poiché le vias sono state saldate e controllate una ad una e il malfunzionamento è stato rilevato nel controllo successivo alla sua saldatura; ripassiamo le piste con un taglierino per ribadire l isolamento, ma il problema persiste. Procediamo comunque al completamento del circuito con la saldatura degli ultimi componenti. Il risultato finale del progetto è mostrato in figura 20 (lato top layer) e 21 (lato bottom layer). Figura 20: PIC ICD2 lato superiore (top) 11

Figura 21: PIC ICD2 lato inferiore (bottom) Cap. 3 Previsioni di costo Una prima analisi dei costi può essere effettuata tramite l elenco dei componenti necessari che ci viene fornito dal quale otteniamo una stima del costo di questi intorno ai 43 euro, considerando però l ordine di un singolo componente dal distributore (Farnell). I componenti più costosi sono ovviamente gli integrati, come il PIC (circa 9 euro), il chip USB (circa 6 euro), i resistori SMD, gli oscillatori e i connettori. A questi dovrebbero aggiungersi i costi di fresatura e saldatura. Per abbattere i costi dunque, si deve ottenere la migliore ottimizzazione possibile del PCB in termini di quantità di via, numero e passo delle connessioni e soprattutto area occupata. Ipotizzando poi di voler far realizzare la scheda da terzi, il costo ad essa associata varierebbe di molto in base al tempo di consegna e alla quantità di pezzi da ordinare, ovviamente fissate le dimensioni che per il nostro progetto sono circa 84*46mm. Una prima stima del costo di realizzazione di un PCB a doppia faccia come il nostro si può ricavare con una ricerca sulla rete: basandosi sui preventivi di MD (Millennium Dataware: http://www.mdsrl.it/catalog/ ), si può decidere inoltre se avere un PCB con Serigrafia su un lato e Solder Mask su entrambi, oppure un PCB semplice, come quello effettivamente da noi realizzato. I preventivi per i due diversi PCB sono mostrati nelle figure 22 (con Solder) e 23 (semplice): notiamo che il prezzo oscilla da un minimo di 28 euro per 2 pezzi in 11 giorni a quasi 2000 euro per 150 pezzi in 48 ore nel caso semplice, mentre molto più alto è il costo minimo nel caso PLUS (con Solder e serigrafia) anche in tempi lunghi. 12

Figura 22: preventivi per PCB con serigrafia e solder Figura 23: preventivi per PCB semplice 13