hardware generatore di funzioni programmabile

8
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

Upload: others

Post on 27-Jun-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 2: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 3: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 4: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 5: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

HARDWARE

HARDWARE5

Elenco componenti

Sigla Valore Sigla Valore

R01 390 Ω (package 0805) TR4 Transistor npn 2N1711

R04, R16,R17

330 Ω (package 0805) IC1, IC2Regolatore di tensione LM1117H(package TO-252)

R02 15 Ω (package 0805) IC3CPLD XC9572XL-10PC44I(package 44 pin PLCC)

R03, R06,R31

270 Ω (package 0805) IC4Oscillatore SUNNY Frequenza1.843200 MHz (SMD)

R05 470 Ω (package 0805) IC5Tri-state buffer 74AC245(package SO20)

R07÷R09,R25, R29,R21

4K7 Ω (package 0805) IC6 Transceiver MAX232 (package SO16)

R35÷R42 4K7 Ω (package 0805) IC7Convertitore D/A Intersil CA3338(package SO16)

R18 100 Ω (package 0805) IC8Driver ST L298HN(package Multiwatt orizz.15 pin)

R20, R26,R28, R30,R33, R34

1 KΩ (package 0805) J1,J3Connettore da alimentazione “plug” M perstampato

R22, R32 10K Ω (package 0805) J2Connettore a vaschetta, 90 gradi, dastampato , M, 9 pin

RBY 0 Ω (package 0805) J4Connettore lineare a striscia, 90 gradi,M, 6 pin

C01, C14,C05, C08,C09, C18

0,1 µF 50 V ceramico J5 Connettore lineare a striscia, F, 15 pin

C02, C13,C15, C17

39 µF 20 V tantalio J6, J7 Connettore lineare a striscia, F, 5 pin

C03, C04,C16

2,2 µF 20 V tantalio P1÷P3 Connettore lineare a striscia, M, 3 pin

C06, C07,C10÷C12

1 µF 20 V tantalio P4, P5 Connettore lineare a striscia, M, 2 pin

LED1 Diodo led verde , 3 mm M1÷M3 Morsettiera 2 poli

LED2 Diodo led rosso , 3 mm BZ1 Buzzer piezoel.

D01 Diodo BAV99 (package SOT-23) KB1 Tastiera 4x4 Grayhill serie 83

TR1÷TR3Transistor smd npn 2N2222(package SOT-23)

Page 6: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 7: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

Page 8: HARDWARE GENERATORE DI FUNZIONI PROGRAMMABILE

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

MEZZA PUBBLICITARIO