Il progetto consiste in un gene- ratore di funzioni le cui caratte- ristiche sono configurabili per mezzo dell’interfaccia JTAG presentata sul numero di feb- braio 2004, da collegare al PC tramite la porta parallela. Il circuito e’ in grado di genera- re un set predefinito di forme d’onda, che vengono selezio- nate per mezzo di una tastiera e di visualizzare messaggi su un display LCD. Contiene inoltre un’interfaccia seriale allo scopo di generare dei pattern di test per linee seriali e un driver di potenza in grado di pilotare carichi induttivi, come solenoidi o motori elettrici. In allegato all’articolo, a disposi- zione sul sito di Fare Elettronica, viene riportato il codice sorgente della procedura Verilog di con- trollo che gestisce il display, la tastiera e consente di generare alcune forme d’onda. DESCRIZIONE DEL CIRCUITO In figura 1 è raffigurato lo sche- ma elettrico del generatore di funzioni. Chip programmabile Il circuito è incentrato sull’ inte- grato IC03, CPLD Xilinx in pac- kage PLCC a 44 pin, alimentata a 3.3 V, la quale è in grado di accettare anche ingressi a livel- lo TTL. Il dispositivo viene resettato all’accensione per mezzo della rete R-C composta da R07 e C10. Il clock di funzionamento è forni- to dall’oscillatore IC04. Per que- sta applicazione ho scelto una frequenza di 1.843.200 Mhz, ma il dispositivo accetta anche valori più elevati, fino ad un massimo di 178 Mhz. La programmazione del chip viene fornita attraverso il connet- tore JTAG J04. Ai pin IO11 e IO12 sono collega- ti due led, per monitorare l’attività del sistema. All’ingresso IO14 della CPLD è collegato il transistor TR01, in funzione di buffer per un eventuale ingresso di trigger esterno, alla morsettiera M01. Su questo ingresso è posta la predisposizione P01 che permette di selezionare un accoppiamento in AC o in DC. Tastiera 4x4 La CPLD ha otto pin dedicati alla gestione di una tastiera a matrice X-Y da 16 tasti, che va inserita sui connettori a striscia J06 e J07. In figura 1A sono visibili le dimen- sioni e il pin-out della tastiera. Display lcd L’integrato IC05 è un buffer 74AC245 e serve a interfacciare la CPLD con il display LCD (da inserire al connettore J05) e con il convertitore D/A IC07, entram- bi alimentati a 5 V. Il display è del tipo standard a 2 righe da 16 caratteri. Viene gesti- to dalla CPLD con un’opportuna procedura Verilog. GENERATORE DI FUNZIONI PROGRAMMABILE GENERATORE DI FUNZIONI PROGRAMMABILE di Agostino Rolando [email protected]Il circuito qui presentato costituisce un utile strumento da laboratorio compatto e versatile, in grado di generare segnali di qualsiasi forma. Ma è anche un’ottima occasione per sperimentare con le CLPD… HARDWARE 1 HARDWARE
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Il progetto consiste in un gene-ratore di funzioni le cui caratte-ristiche sono configurabili permezzo dell’interfaccia JTAGpresentata sul numero di feb-braio 2004, da collegare al PCtramite la porta parallela.Il circuito e’ in grado di genera-re un set predefinito di formed’onda, che vengono selezio-nate per mezzo di una tastiera edi visualizzare messaggi su undisplay LCD.Contiene inoltre un’interfacciaseriale allo scopo di generare deipattern di test per linee seriali eun driver di potenza in grado dipilotare carichi induttivi, comesolenoidi o motori elettrici.In allegato all’articolo, a disposi-zione sul sito di Fare Elettronica,viene riportato il codice sorgentedella procedura Verilog di con-trollo che gestisce il display, latastiera e consente di generarealcune forme d’onda.
DESCRIZIONE DEL CIRCUITOIn figura 1 è raffigurato lo sche-ma elettrico del generatore difunzioni.
Chip programmabileIl circuito è incentrato sull’ inte-grato IC03, CPLD Xilinx in pac-kage PLCC a 44 pin, alimentataa 3.3 V, la quale è in grado diaccettare anche ingressi a livel-lo TTL.Il dispositivo viene resettatoall’accensione per mezzo dellarete R-C composta da R07 e C10.Il clock di funzionamento è forni-to dall’oscillatore IC04. Per que-sta applicazione ho scelto unafrequenza di 1.843.200 Mhz, mail dispositivo accetta anche valoripiù elevati, fino ad un massimodi 178 Mhz.La programmazione del chipviene fornita attraverso il connet-tore JTAG J04.Ai pin IO11 e IO12 sono collega-
ti due led, per monitorarel’attività del sistema.All’ingresso IO14 della CPLDè collegato il transistor TR01,in funzione di buffer per uneventuale ingresso di triggeresterno, alla morsettieraM01. Su questo ingresso èposta la predisposizione P01che permette di selezionare
un accoppiamento in AC o in DC.
Tastiera 4x4La CPLD ha otto pin dedicati allagestione di una tastiera a matriceX-Y da 16 tasti, che va inserita suiconnettori a striscia J06 e J07. Infigura 1A sono visibili le dimen-sioni e il pin-out della tastiera.
Display lcdL’integrato IC05 è un buffer74AC245 e serve a interfacciarela CPLD con il display LCD (dainserire al connettore J05) e conil convertitore D/A IC07, entram-bi alimentati a 5 V.Il display è del tipo standard a 2righe da 16 caratteri. Viene gesti-to dalla CPLD con un’opportunaprocedura Verilog.
GENERATORE DI FUNZIONIPROGRAMMABILEGENERATORE DI FUNZIONIPROGRAMMABILEdi Agostino [email protected]
Il circuito qui presentato costituisce un utile strumento da laboratorio compattoe versatile, in grado di generare segnali di qualsiasi forma.Ma è anche un’ottima occasione per sperimentare con le CLPD…
HARDWARE1
HARDWARE
AlimentazioneL’alimentazione al sistema è dop-pia: al connettore J01 si immettela tensione che alimenta la circui-teria digitale, che è poi la granparte del circuito. La tensione diingresso può variare da 7 a 12 V.Le tensioni a 5 V e a 3.3 V sonoricavate per mezzo dei rispettiviregolatori serie IC01 e IC02.Per quanto riguarda invece lasezione di pilotaggio di potenza,che fa capo all’ integrato driverIC08, questa richiede un’alimen-tazione aggiuntiva, fino a 46 V,che viene fornita per mezzo delconnettore J03.
Integrato driverIl dispositivo L298 (figura 2) è uncircuito integrato monolitico incontenitore Multiwatt a 15 pin. Èun bridge driver da alta tensionee alta corrente, comandabile conlivelli logici TTL ed è in grado dipilotare carichi induttivi come
HARDWARE
HARDWARE 2
Figura 1: Schema elettrico
Figura 1a: Dimensioni e pin-out della tastiera
Figura 2: Schema a blocchi dell’integrato L 298
relé, solenoidi, motori in corren-te continua o passo-passo.Possiede due ingressi di abilita-zione (ENABLE A, ENABLE B).Gli emettitori dei transistor latoinferiore di ciascun bridge sonocollegati insieme e i corrispon-denti terminali esterni possono
essere usati per connessione auna resistenza di sensing ester-na (nello schema elettrico, R33e R34). La parte logica vienealimentata a 5 V, al pin di ali-mentazione Vss, distinto daquello di alimentazione dipotenza (Vs).
Per incrementare la correnteerogabile in uscita, ho collega-to insieme i pin di ingresso deitransistor 1 e 4 (IN1, IN4) e lerispettive uscite OUT1, OUT4.Così facendo, IC08 può pilotareun carico di tipo induttivo, conun assorbimento massimo di 2 A.
Convertitore D/AL’integrato CA3338 è un con-vertitore digitale-analogico ditipo flash da 50 megasample alsecondo, alimentabile a singolaalimentazione (5 V).Per questa applicazione vieneutilizzata la versione in packageSOIC a 16 pin.Lo schema a blocchi e la caratte-ristica di trasferimento del con-vertitore sono riportati in figura 3.
HARDWARE
HARDWARE3
Figura 4: Circuito stampato in scala 1:1 (lato rame)
Figura 3: Schema a blocchi e curva di trasferimento dell’integrato CA3338
potenza, si può prelevare allamorsettiera M03.Per entrambe, come per l’ingres-so di trigger, ho previsto delle
UscitaL’uscita analogica, provenientedal convertitore D/A viene buffe-rata con il transistor TR04, in
configurazione a emitter-follo-wer, ed è riportata alla morsettie-ra M02.Per quanto riguarda l’uscita di
HARDWARE
HARDWARE 4
TERZINO PUBBLICITARIO
Figura 5: Schema di montaggio lato componenti
predisposizioni a ponticello(rispettivamente P02 e P03) perselezionare l’accoppiamento inAC o in DC.Il circuito contiene anche un
buzzer piezoelettrico (BZ01),attivabile con la predisposizioneP04, per poter ascoltare il segna-le generato, se nel range di fre-quenza udibile.
Interfaccia serialeLo schema contiene un’interfac-cia seriale, realizzata con l’inte-grato IC06, che ha lo scopo digenerare dei pattern per il test di
scelto di realizzare una proce-dura in linguaggio Verilog chepotesse stimolare tutte le areefunzionali del circuito.
linee di comunicazione. Puòessere utilizzata anche perimmettere dei comandi da remo-to verso il generatore di funzioni.
REALIZZAZIONE PRATICAIl circuito stampato, visibile infigura 4, è stato realizzato con ilmetodo a trasferimento ditoner, per mezzo di lucidi tra-sparenti per fotocopiatrici e diun comune ferro da stiro.I simboli nello schema elettricodenominati RBY identificanoresistenze di bypass, che sonostate impiegate al fine di realiz-zare uno stampato monofaccia.Come contenitore ho utilizzatoun porta-cassette video. Lostampato è sostenuto da quat-tro distanziatori, saldati al conte-nitore per mezzo di colla calda.
Il risultato è visibile in figura 11.
FUNZIONALITÀPer la gestione del circuito, ho
HARDWARE
HARDWARE 6
Figura 6: Schema di montaggio lato rame
Figura 7: Packages utilizzati
Generazione di forme d’ondaLa procedura scandisce la tastie-rina e riconosce la pressione deitasti. In particolare, se vienepremuto il tasto "A", vienegenerata una sinusoide, il tasto"B" invece fa generare un’ondaquadra, mentre il tasto "C" fagenerare un’onda triangolare.La frequenza del segnale è fissa-ta a 1.8 Khz.
Gestione displayIn contemporanea, un altro pro-cesso resetta il display LCD e vi
scrive la stringa di test "ABCD".
Sincronizzazione con triggeresternoPer testare l’ingresso di triggeresterno, i due led presenti sulcircuito vengono accesi secondouna determinata sequenza diconteggio. Il conteggio vieneeffettuato in avanti se l’ingressodel trigger esterno è basso,all’indietro se il trigger è alto.
Generazione di pattern serialiUn’ulteriore applicazione consi-
ste nell’invio di pattern per veri-ficare il corretto funzionamentodi dispositivi dotati di lineaseriale.A questo scopo ho realizzato unsecondo codice Verilog che rea-lizza la funzione di UART, relati-vamente alla parte di trasmis-sione.La procedura scandisce la tastie-ra e, in base al tasto premuto,invia un pacchetto di caratteriASCII (da "0" a "F") sull’uscitaseriale, al connettore J02.Per l’implementazione, ho fattouso di un clock a 9600 Hz, deri-vato dal clock di sistema a1.843200 Hz, che consente diinviare i dati alla velocità di9600 Baud, con 1 bit di stop eparità dispari.Per caricare il dato parallelo, cheviene inviato poi serialmente, sipone alto il segnale load_tx.
La linea seriale, a riposo, vienetenuta alta. All'inizio della tra-smissione, il dato seriale vieneposto a livello basso per la dura-ta di un colpo di clock, per signi-ficare lo start bit d’inizio dellatrasmissione, poi, i bit di datosono inviati uno alla volta, a par-tire dal meno significativo(D0÷D7). Infine, viene inviato ilbit di parità, che viene calcolatocome EXOR negato dei bit dellaparola da inviare. In ultimo, il bitdi stop.Al termine, la linea seriale vieneriportata alta, in attesa dellaprossima trasmissione.
CONCLUSIONIIl circuito è stato pensato perapplicazioni tipiche da laborato-rio ed è suscettibile di migliora-menti. Ad esempio, si può pen-
HARDWARE
HARDWARE7
Figura 9: Prototipo lato componenti
Figura 8: Prototipo lato componenti senza LCD e tastiera
cuito in un frequenzimetro.I codici sorgenti allegati al pro-getto sono scaricabili dal sito diFare Elettronica.
sare di sostituire l’oscillatoreIC04 con un VCO da comanda-re con una regolazione manua-le, così da avere un segnale di
uscita a frequenza variabile.Un’altra possibile applicazione,oltre a quella qui descritta, puòconsistere nel trasformare il cir-
HARDWARE
HARDWARE 8
Figura 11: Prototipo assemblato entro uncontenitore per video-cassettaFigura 10: Prototipo lato rame