Pràctiques d’electrònica digital amb els mòduls MM-6XX de...

89
Pràctiques d’electrònica digital amb els mòduls MM-6XX de Promax Titulació: Enginyeria Tècnica Industrial en Electrònica Industrial AUTOR: Jordi Simón Ollé DIRECTOR: Nicolau Cañellas Alberich DATA: Maig de 2010

Transcript of Pràctiques d’electrònica digital amb els mòduls MM-6XX de...

Page 1: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

Pràctiques d’electrònica digital amb els mòduls MM-6XX de Promax

Titulació: Enginyeria Tècnica Industrial en Electrònica Industrial

AUTOR: Jordi Simón Ollé

DIRECTOR: Nicolau Cañellas Alberich

DATA: Maig de 2010

Page 2: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

2

ÍNDEX 1. MEMÒRIA DESCRIPTIVA 4

1.1. Objectius del Projecte 4 1.2. Teoria dels PLD 5 1.2.1. Introducció als Dispositius Lògics Programables 5 1.2.2. Els Dispositius Lògics Programables Simples 6 1.2.2.1. Els Dispositius PROM 7 1.2.2.2. Els Dispositius PLA 9 1.2.2.3. Els Dispositius PAL i GAL 10 1.2.3. Els Dispositius Lògics Programables Complexes 12 1.2.3.1. Blocs Lògics 13 1.2.3.2. Matriu d’Interconnexions Programable 13 1.2.3.3. Macrocel·les 14 1.2.3.4. Cel·les d’I/O 15 1.2.3.5. Altres Característiques dels CPLD 15 1.2.4. Els FPGA 16 1.3. La Família de Dispositius ispMACH 4A 18 1.3.1. Introducció a la Família ispMACH 4A 18 1.3.2. Arquitectura de la Família ispMACH 4A 20 1.4. El Cable de Programació JTAG 23 1.4.1. El STD IEEE 1149 23 1.4.2. Estructura del Bus JTAG 24 1.5. L’ ISP LEVER 26 1.6. Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR I DEL MÒDUL DE RELLOTGE 30 2.1. Estructura de l’entrenador 30 2.2. Connectivitat dels Diferents Blocs de l’Entrenador 33 2.3. Placa de l’entrenador 34 2.3.1. Bloc CPLD 34 2.3.2. Bloc Generador de Rellotge 37 2.3.2.1. Bloc Divisor de Freqüència 39 2.3.2.2. Bloc de filtre i multiplexor 41 2.4. Mòduls MM-6XX de Promax 43 2.4.1. Mòdul MM-601 de Promax (simulador de transit) 44 2.4.2. Mòdul MM-617 de Promax (l’ascensor) 47 2.5. Mòdul rellotge despertador 49 2.5.1. Bloc d’entrada de commutadors 54 2.5.2. Bloc de sortida del Descodificador i dels Displays 7 Segments 55

Page 3: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

3

3. MEMÒRIA DE CALCUL 57 3.1. Càlcul del Circuit de Rellotge (MULTIVIBRADOR ASTABLE) 57 3.2. Configuració del Divisor de Dècades 60 3.3. Càlcul del Convertidor BCD 62 4. JOC DE PROVES 63 5. PLÀNOLS 66 5.1. Circuit Generador de Rellotge (MULTIVIBRADOR ASTABLE) 66 5.1.1. Esquema Elèctric 66 5.1.2. Llistat de Components 66 5.2. Circuit Divisor de Freqüència 67 5.2.1. Esquema Elèctric 67 5.2.2. Llistat de Components 67 5.3. Circuit Generador de Rellotge i Divisor de Freqüència 68 5.3.1. Esquema Elèctric 68 5.4. Circuit Descodificador BCD i Displays 7 Segments 69 5.4.1. Esquema Elèctric 69 5.4.2. Llistat de Components 70 5.5. Circuits realitzats amb el programa Orcad Capture 71 5.5.1. Esquema de la placa CPLD 71 5.5.2. Esquema de la placa del rellotge/despertador 72 5.6. Circuits realitzats amb el programa Orcad Layout 73 5.6.1. Esquema de la placa CPLD 73 5.6.2. Esquema de la placa del rellotge/despertador 74 6. INDEX DE FIGURES 75 7. ANNEXES 77 7.1. Codi en ABEL 77 7.1.1. Codi del comptador UP-DOWN 77 7.1.2. Codi del rellotge/despertador 78 7.1.2.1. Mòdul Top despertador 78 7.1.2.2. Mòdul conversor 80 7.1.2.3. Mòdul multiplexor 83 7.1.2.4. Mòdul d’alarma 84 7.1.2.5. Mòdul comptador 85 7.1.2.6. Mòdul d’increment de temps 86 7.2. Guia ràpida d’ús de l’entrenador digital 87

8. BIBLIOGRAFIA 89

Page 4: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

4

1. MEMÒRIA DESCRIPTIVA

1.1. Objectius del Projecte

L’objectiu d’aquest projecte és dissenyar i desenvolupar un entrenador digital per la programació i el desenvolupament d’aplicacions de dispositius lògics programables.

L’entrenador estarà destinat a ser utilitzat com a eina docent en les pràctiques de

les assignatures d’electrònica digital i de microcontroladors del nou grau en Enginyeria Electrònica Industrial i Automàtica.

Aquest entrenador digital es basarà en un dispositiu lògic programable complexe

(CPLD) de Lattice Semiconductor, i té com a finalitat ajudar als alumnes a comprovar i comprendre el funcionament dels seus dissenys electrònics mitjançant l’ús de dispositius lògics programables.

Les utilitats d’aquest entrenador digital serviran als futurs enginyers per aprendre el funcionament bàsic del software de programació ISP LEVER de Lattice, amb el qual podran crear i desenvolupar programes que executaran en dispositius de lògica programable i poder realitzar, d’aquesta manera, les diferents pràctiques proposades pel personal docent del Departament d’Enginyeria Electrònica, Elèctrica i Automàtica de l’ETSE i també familiaritzar-se així amb l’electrònica digital.

Per a dur a terme aquest projecte, es pretén dissenyar i desenvolupar dues plaques hardware, independents una de l’altra, i connexionables entre sí mitjançant dues mànegues de cables de 25 pins cada una d’elles.

A la primera de les plaques, corresponent a l’entrenador digital, s’hi inclourà un

bloc amb el dispositiu lògic programable ispMACH 4A5 64/32C de Lattice, un generador de rellotge d’1KHz, un divisor de freqüència per poder obtenir diverses freqüències a partir del generador anterior, i finalment, un connector RJ45 femella per poder enllaçar la placa amb el PC mitjançant un cable de xarxa i un adaptador. Aquest primer mòdul està pensat tan per a poder ser connectat amb els diferents mòduls de Promax ja existents en les pràctiques d’electrònica digital (ascensor i semàfor), així com també amb un nou mòdul que es crearà corresponent al rellotge/despertador.

A la segona de les plaques hardware, corresponent al mòdul del rellotge-

despertador, es pretén incloure un bloc de cinc commutadors per a interpretar els senyals d’entrada, i un circuit convertidor de BCD que disposa de fins a sis displays de 7 segments per poder visualitzar i simular els senyals de les sortides.

Per programar el dispositiu lògic programable de la placa s’utilitza el llenguatge de

programació de baix nivell ABEL-HDL.

Finalment, per simular el codi i gravar-lo al dispositiu lògic programable, s’ha emprat el programa ISP LEVER, creat i desenvolupat per l’empresa nord-americana Lattice Semiconductor i proporcionat per aquest projecte pel personal docent del DEEEA de l’ETSE.

Page 5: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

5

1.2. Teoria dels PLD

1.2.1. Introducció als Dispositius Lògics Programables De manera general, podríem afirmar que un dispositiu PLD (Dispositiu Lògic

Programable) és un circuit integrat que pot ser configurat per l’usuari per executar una o varies funcions lògiques. Aquests dispositius estan basats en la combinació d’una matriu AND amb una matriu OR.

Aquest tipus de disseny permet utilitzar un circuit per a moltes altres funcions amb la simple reprogramació del hardware.

La lògica programada es basa en dispositius lògics programables, els quals tenen una funció no establerta, al contrari que les portes lògiques que tenen una funció fixa en el moment de la seva fabricació. Abans de poder utilitzar el PLD en un circuit, aquest ha de ser programat adequadament.

Al mercat existeixen molts dispositius lògics programables amb arquitectures diferents, tanmateix, tots ells estan pensats amb la següent idea estructural: estan constituïts per blocs lògics configurables, connectats entre si mitjançant blocs de connexió programables.

Aquesta organització, té els seus antecedents en les matrius lògiques programables i rep el nom d’estructura matricial. Els circuits PLD van tenir un gran desenvolupament des que a mitjans dels anys 70, es van realitzar els primers seqüenciadors lògics programables o PLS.

La seva utilització provoca millores tals com la reducció del nombre d’elements necessaris en un circuit, la disminució del temps necessari per a crear el disseny, l’augment de la resposta i la disminució de connexions externes, el que provoca la disminució alhora de generar soroll. Gràcies a aquesta sèrie de millores obtenim una disminució dels costos de producció i un augment de fiabilitat del sistema, cosa que fa que els PLD siguin una bona elecció alhora de començar a dissenyar un projecte.

Els dispositius lògics programables presents en el mercat actual tenen diferents arquitectures depenent del seu fabricant, també n’hi ha alguns que tenen arquitectures híbrides, per això es poden organitzar segons la seva arquitectura, la seva capacitat de resposta, etc...

La classificació dels dispositius lògics programables segons el seu grau de

complexitat és la següent: • Dispositius lògics programables simples (SPLD) • Dispositius lògics programables complexes (CPLD) • Matrius de portes programables (FPGA) • Dispositius Híbrids (CPLD-FPGA)

Page 6: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

6

1.2.2. Els Dispositius Lògics Programables Simples

S’anomena d’aquesta manera a tots els PLD que estan formats per blocs lògics programables connectats a una sèrie de macrocel·les independents, cada una d’elles capaç d’implementar una funció combinacional o seqüencial, amb interconnexions programables i d’una mida aproximada que sòl ser de l’ordre de 22 macrocel·les per dispositiu. A la sortida de cada una de les portes OR de la matriu programable, hi ha connectada una macrocel·la configurable que permet a l’usuari, entre altres coses, seleccionar operacions combinacionals o de registre, o especificar la polaritat de sortida.

El diagrama típic de blocs d’un SPLD esta format per un bloc lògic i les macrocel·les associades, a la Figura 1 es pot veure la seva distribució.

Figura 1. Diagrama de blocs d’una SPLD Un bloc lògic esta format per una matriu d’entrada (o matriu AND) connectada a

una matriu de sortida (matriu OR), tal com es mostra a la Figura 2.

Figura 2. Composició d’un bloc lògic

Depenent de la configuració que es pugui aplicar a les matrius d’entrada/sortida dels blocs lògics, existeixen els següents tipus de SPLD:

• PROM (Programmable Read Only Memory) • PAL (Programmable Array Logic) • GAL (Generic Array Logic) • FPLA o PLA (Field Programmable Logic Array)

MATRIU D’ENTRADA

MATRIU DE SORTIDA

ENTRADES SORTIDES

BLOCS LÒGICS MACROCEL·LES E E/S

RESET PRESET RELLOTGE

Page 7: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

7

1.2.2.1. Els Dispositius PROM

Les PROM són memòries de lectures programades per l’usuari. Segons la tecnologia d’esborrat o la tècnica utilitzada per a fer-ho, es poden distingir entre: PROM, OTPROM, UVPROM, EEPROM, EEPROM FLASH. Els dispositius PROM poden ser utilitzats com un element de memòria de lectura d’un microcontrolador, o bé per implementar funcions lògiques combinacionals, com a taules, com a generadors de caràcters i com a convertidors de codis.

Els blocs lògics formats amb aquesta tecnologia tenen la matriu d’entrada AND

programada de fàbrica (coneguda com a bloc descodificador d’adreces) mentres que la matriu de sortida OR ha de ser programada per l’usuari. Aquest tipus de dispositius no esta dotat de macrocel·les.

Abans que s’inventessin els PLD, els dispositius de només lectura (ROM)

s’utilitzaven per crear funcions de lògica combinacional arbitraries amb un nombre determinat d’entrades. Considerant una ROM com m entrades, a les que es denomina línies d’adreces, i amb n sortides, a les que es denomina línies de dades. Quan s’utilitza com memòria, la ROM conté 2m paraules de n bits. Suposem que les entrades no són bidireccionades per una adreça de m-bits, sinó per m senyals lògiques independents. L’estructura de la ROM permet només produir n d’aquestes funcions en els pins de sortida.

A la Figura 3 es pot observar un exemple de programació del bloc lògic en un

dispositiu PROM. Els punts que hi ha entre les diferents línies simbolitzen la unió que ve realitzada de fàbrica entre les diferents línies. Les aspes simbolitzen la unió programada per l’usuari.

Figura 3. Diagrama de programació del bloc lògic d’una PROM

Page 8: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

8

També les PROM’s (ROM’s programables), EPROM’s (PROM’s d’esborrat

ultraviolat) i les EEPROM’s (PROM’s d’esborrat elèctric) disponibles poden ser programades com a memòria amb un programador PROM hardware o software. Tanmateix, existeixen alguns desavantatges a tenir en compte:

• Son bastant més lentes que els circuits lògics dedicats. • No necessariament poden proveir de "protecció" enfront transicions lògiques

asíncrones. • Consumeixen major potencia. • Només s’utilitza una petita fracció de la seva capacitat en una sola aplicació: un

ús ineficient de l’espai. • Per si soles no poden ser utilitzades per circuits de lògica seqüencial perquè no

contenen biestables. Per realitzar alguns circuits seqüencials (com màquines d’estat) s’utilitza un registre TTL extern.

Les EPROMS comunes (com la 2716), es continuen utilitzant de vegades d’aquesta manera. Als dispositius ROM utilitzats d’aquesta manera se’ls coneix també com les “PAL del pobre”.

Page 9: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

9

1.2.2.2. Els Dispositius PLA

El sistema FPLA o PLA (Programmable Logic Array) esta dotat d’una estructura més flexible que la del sistema de les ROM o PROM, ja que poden ser programades ambdues matrius, tant la d’entrada com la de sortida, per l’usuari. Pel contrari, la velocitat de funcionament del dispositiu serà menor.

Aquest sistema no s’ha pogut desenvolupar fins a l’actualitat degut a que per dur a terme la programació d’ambdues matrius es necessita un software molt potent que no estava a l’abast dels ordinadors més antics.

El sistema PLA permet una gran flexibilitat en el disseny de funcions lògiques complexes i esta dotat d’una gran quantitat d’entrades/sortides.

A la Figura 4 es pot observar un exemple de programació del bloc lògic en un dispositiu PLA.

Figura 4. Diagrama de programació del bloc lògic d’una PLA

Page 10: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

10

1.2.2.3. Els Dispositius PAL i GAL

En un dispositiu basat en el sistema PAL (Programmable Array Logic), la matriu d’entrada AND és programable per l’usuari, en canvi, la matriu OR de sortida ve programada de fàbrica. Aquesta arquitectura és la que esta més estesa entre els fabricants de PLD.

A la Figura 5 es pot observar un exemple de programació del bloc lògic en un dispositiu PAL.

Figura 5. Diagrama de programació d’un bloc lògic PAL

MMI (Monolithic Memories, Inc) va introduir un dispositiu revolucionari el 1978, la Programmable Array Logic (Matriu Lògica Programable). L’arquitectura era més senzilla que la FPLA (Field Programmable Logic Array) de Signetics perquè eliminava la matriu OR programable. Això va fer els dispositius més ràpids, més petits i més barats. Aquests circuits integrats estaven disponibles en encapsulats de 20 pins, mentres que les FPLA’s venien en encapsulats de 28 pins. Certes publicacions sobre PAL’s desmitificaven el procés de disseny. El software de disseny PALASM (PAL Assembler, ensamblador PAL) convertia les equacions Booleanes dels enginyers en el patró de fusibles requerit per programar el dispositiu. Els dispositius PAL de MMI aviat van se distribuïts per National Semiconductor, Texas Instruments i AMD.

Page 11: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

11

Després de l’èxit de MMI amb els PAL de 20 pins, AMD va introduir els 22V10 de 24 pins amb característiques addicionals. Desprès de comprar a MMI (1987), AMD va desenvolupar una operació consolidada com Vantis, adquirida per Lattice Semiconductor el 1999.

Una innovació respecte dels dispositius PAL va ser la matriu lògica genèrica (Generic Array Logic) o GAL. Ambdues van ser desenvolupades per l’empresa Lattice Semiconductor l’any 1985.

Aquest dispositiu té les mateixes propietats lògiques que les PAL, però pot ser esborrat i reprogramat. El canvi de les sigles que conforma el nom es deu a qüestions de copyright entre les empreses fabricants. Les GAL són molt útils en la fase de prototipat d’un disseny, quan un error en la lògica pot ser corregit per reprogramació. Les GAL es programen i reprogramen utilitzant un programador PAL o utilitzant la tècnica de programació circuital en dispositius secundaris.

A la Figura 6 s’observen dos exemples de dispositius lògics programables GAL del fabricant Lattice Semiconductor:

Figura 6. Els dispositius GAL 16V8 i 20V8 de Lattice

Page 12: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

12

1.2.3. Els Dispositius Lògics Programables Complexes

Un dispositiu CPLD (Dispositiu Lògic Programable Complexe) és un conjunt de blocs lògics, cada un d’ells equivalent a una SPLD, connexionats entre ells mitjançant una Matriu d’Interconnexions Programable (PIM) amb una sèrie de retards determinats.

Gràcies a la seva creació, s’ha aconseguit disminuir els costos de disseny i de desenvolupament i el temps de resposta del sistema, a més, la vida del producte augmenta considerablement gràcies a la capacitat d’actualització de la qual disposen.

Aquests dispositius van ser creats i desenvolupats per poder realitzar dissenys digitals molt complexes que els SPLD’s, degut a la seva simplicitat, eren incapaços de resoldre.

Els Dispositius Lògics Programables Complexes són dispositius amb una complexitat compresa entre els dispositius PLA i els dispositius FPGA.

A la Figura 7 és mostra com estan distribuïts els diferents blocs que composen un

Dispositiu Lògic Programable Complexe:

Figura 7. Arquitectura bàsica d’un CPLD

Aquestes estructures amplien el concepte de PLD a un nivell d’integració superior.

Això és d’aquesta manera perquè disposen d’un major nombre de portes i d’entrades/sortides en un mateix circuit programable (amb el que s’aconsegueix la disminució de la mida del disseny, la reducció del consum i un menor cost). La mida més gran dels dispositius CPLD permet implementar equacions lògiques i dissenys més complexes i elaborats.

Un CPLD esta format amb múltiples blocs lògics, cadascun similar a un PLD. En comptes de fer aquests circuits amb un major número de termes producte per macrocel·la, o un major número d’entrades/sortides, cada CPLD conté blocs lògics que es comuniquen entre sí per mitjà d’interconnexions programables, aconseguint, així, optimitzar els recursos incorporats al xip.

Page 13: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

13

Les interconnexions programables, condueixen les senyals dels dispositius d’entrada/sortida (I/O) vers els blocs lògics. Cadascun d’aquests blocs té un nombre predeterminat d’entrades.

Existeixen dues estratègies per la implementació de la interconnexió programable

en els CPLD: • Interconnexió basada en una estructura matricial. • Interconnexió basada en multiplexors.

A continuació es detallen els diferents blocs que composen un Dispositiu Lògic

Programable Complexe: 1.2.3.1. Blocs Lògics

Un bloc lògic equival a una petita estructura PAL: aquest disposa d’una matriu que implementa termes producte i macrocel·les. Les cel·les d’entrada/sortida són de vegades considerades part d’un bloc lògic. La mida d’un bloc lògic és una mesura de la seva capacitat (quantitat de lògica que es pot implementar). Quan parlem de blocs lògics, expressem els seus termes en funció dels nombre de macrocel·les, del nombre d’entrades i del nombre de termes producte, així de com de la seva distribució.

Un bloc lògic és similar a un PLD. Cadascun d’aquests té un bloc de portes AND i OR en forma de suma de productes, una configuració per la distribució d’aquestes sumes de productes, i un conjunt de macrocel·les. El tamany del bloc lògic és una mesura de la capacitat del CPLD, ja que d’això depèn la mida de la funció booleana que podrà ser implementada dintre del bloc. Aquests blocs lògics, generalment, tenen de l’ordre de 4 a 20 macrocel·les.

1.2.3.2. Matriu d’Interconnexions Programables

La matriu d’interconnexions programables (PIM) permet unir els pins d’entrada/sortida a les entrades del bloc lògic, o les sortides del bloc lògic a les entrades d’un altre bloc lògic.

Com ja s’ha dit abans, els dispositius CPLD utilitzen o bé una configuració d’interconnexió mitjançant una estructura matricial, o bé una configuració d’interconnexió mitjançant multiplexors. L’estructura d’interconnexions basada en una estructura matricial utilitza una matriu de files i columnes amb una cel·la programable de connexió per cada intersecció. Com en les estructures GAL, aquesta cel·la pot ser activada per connectar/desconnectar la corresponent fila i columna. Aquesta configuració permet una total interconnexió entre les entrades i sortides del dispositiu o dels blocs lògics. De totes maneres, aquests avantatges provoquen que disminueixi el rendiment del dispositiu, a més d’augmentar-ne el consum d’energia i la mida del component.

Page 14: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

14

En el cas de l’estructura d’interconnexions basada en multiplexors, existeix un multiplexor per cada entrada al bloc lògic. Les vies d’interconnexió programables són connectades a les entrades d’un nombre de multiplexors per cada bloc lògic. Les línies de selecció d’aquests multiplexors, són programades per permetre que sigui seleccionada, de manera única, una via de la matriu d’interconnexió per cada multiplexor, la qual, es propagarà vers el bloc lògic. Cal dir que no totes les vies son connectades a les entrades de cada multiplexor. La rutabilitat s’incrementa utilitzant multiplexors més grans, permetent que qualsevol combinació de senyals de la matriu d’interconnexió pugui ser enllaçada vers qualsevol bloc lògic. Tanmateix, l’ús de grans multiplexors incrementa la mida del dispositiu i redueix la seva eficiència.

A més de la mida de la matriu (important per identificar el número de termes

producte promig per macrocel·la), és interessant conèixer la distribució de les macrocel·les en el dispositiu.

Depenent del fabricant, cada macrocel·la tindrà un nombre de termes producte fix per macrocel·la. Si aquest terme s’utilitza per una única macrocel·la es denomina “product-term steering”. Mentres que si s’utilitza per diverses a la vegada, es denomina “product-term sharing”. Versions més evolucionades d’aquest concepte es troben a les famílies MACH de Lattice Semiconductor o a la família 7000 d’altera.

1.2.3.3. Macrocel·les

Les macrocel·les d’un CPLD són similars a les d’un PLD, i com en els Dispositius Lògics Programables més senzills; els CPLD inclouen macrocel·les en les que es disposa de biestables i senyals de control de polaritat. A més, molts CPLD ofereixen la possibilitat de configurar els biestables (tipus D o T), per millorar el procés d’implementació.

A l’hora de disposar de les macrocel·les d’un CPLD, aquestes s’hauran de disposar de manera que quedin associades a una entrada/sortida del dispositiu i hauran de ser configurades, per tant, i mitjançant el programa corresponent com a entrada o com a sortida. Les macrocel·les del dispositiu també poden ser configurades com a macrocel·les internes o ocultes amb una única sortida directa connectada solament a la matriu programable (buried macrocell).

També existeix la possibilitat d’utilitzar les macrocel·les amb una funció especialitzada, utilitzades per a dotar al dispositiu d’unes línies addicionals d’entrada, que poden tenir funcions tals com de senyals de rellotge, d’entrades de la matriu d’interconnexions programable, etc.

En un Dispositiu Lògic Programable Complexe, la quantitat de macrocel·les implementades dintre del circuit integrat pot oscil·lar des de les 32 fins a més de 3000.

Page 15: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

15

1.2.3.4. Cel·les d’I/O

Són la part o el bloc del dispositiu lògic que estableix una connexió entre les macrocel·les i els pins del circuit integrat. La funció d’una cel·la d’entrada/sortida és permetre el pas d’un senyal cap a l’interior o cap a l’exterior del dispositiu. Depenent del fabricant i de l’arquitectura del CPLD, aquestes cel·les poden ser, o no, considerades part del bloc lògic.

El nombre de cel·les d’entrada/sortida en un dispositiu CPLD pot arribar a superar

les 200, sempre depenent del tipus d’encapsulat.

1.2.3.5. Altres Característiques dels CPLD

A més dels recursos lògics, mecanismes d’enrutatament, esquemes de distribució dels termes producte i models de retards temporals, existeixen altres característiques pròpies dels dispositius CPLD, depenent de la seva capacitat de programació i reprogramació es pot distingir entre:

Programabilitat en el sistema (in system programmability o ISP): És la capacitat

de programar el dispositiu quan es troba a la placa de circuit imprès des d’on opera. D’aquesta manera es redueix significativament el cost de fabricació, ja que el dispositiu es manipula menys a fàbrica, no és necessari portar un inventari complexe, etc.

Re-programabilitat en el sistema (in system reprogrammability o ISR): És la capacitat de reprogramar el CPLD quan es troba a la placa de circuit imprès. Es pot utilitzar per a la realització del prototipus, carregar actualitzacions o inclús, alterar la funció del dispositiu mentres es troba operant.

Page 16: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

16

1.2.4. Els FPGA

Un dispositiu FPGA (Field Programable Gate Array) és un Dispositiu Lògic Programable format per un conjunt de portes configurables. Els dispositius FPGA estan formats per una sèrie de blocs lògics envoltats per una matriu de blocs d’entrada/sortida interconnexionats per línies programables.

Un FPGA conté des de 64 a més de 1000 blocs lògics, al ser tan nombrosos aquests blocs, no estan tots interconnexionats entre si, sinó que es connecten depenent de les necessitats de l’usuari. Tal nombre de blocs lògics dota al dispositiu d’una elevada capacitat.

Mentres el desenvolupament de les PAL s’enfocava vers les GAL i els CPLD, va aparèixer un corrent de desenvolupament diferent. Aquest corrent de desenvolupament va desenvocar en un dispositiu nou basat en la tecnologia de la matriu de portes i es va denominar Field-Programmable Gate Array (FPGA). Alguns exemples de les primeres FPGA són la matriu 82S100 i el seqüenciador 82S105 de Signetics, presentats a finals dels anys 70. El dispositiu 82S100 era una matriu de termes AND, tanmateix també tenia funcions de biestable.

Les FPGA utilitzen una reixa de portes lògiques, semblant a la d’una matriu de portes ordinàries, però la programació en aquest cas la realitza el client, no el fabricant. El terme Field-Programmable (literalment significa programable en camp) es refereix a que la matriu es defineix fora de fàbrica, o “al camp”.

Les FPGA es programen normalment després de ser soldades a la placa, d’una

manera similar als CPLD més grans. En les FPGA més grans, la configuració és volàtil i ha de ser reescrita cada vegada que s’encén o es necessita una funcionalitat diferent. La configuració es guarda normalment en una PROM o EEPROM. Les versions EEPROM poden ser programades mitjançant tècniques com la dels cables JTAG.

Les FPGA i els CPLD són bones opcions per una mateixa tasca. De vegades la

decisió sobre un o un altra dispositiu depèn més dels termes econòmics que dels tècnics, encara que també pot dependre de la preferència personal o de la mateixa experiència de l’enginyer.

Els blocs lògics de les FPGA són recursos que permeten realitzar diferents funcions lògiques, la seva complexitat varia des d’un parell de transistors fins a un conjunt de memòries d’accés aleatori denominades taules de consultes. En el primer dels casos s’obtenen gran quantitat de blocs lògics molt senzills amb capacitat per a realitzar un nombre molt limitat de funcions lògiques per cada un dels blocs. Amb el segon mètode es donen menys portes lògiques però existeix una capacitat per a realitzar funcions molt més elevada que la corresponent al primer dels mètodes.

Page 17: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

17

Els blocs lògics d’entrada/sortida són recursos que estableixen l’enllaç entre els blocs lògics interns i els terminals de entrada/sortida. De la mateixa manera que en el cas anterior, aquests blocs poden ser més o menys complexes.

A la Figura 8 es pot observar un exemple del diagrama de blocs en un dispositiu FPGA.

Figura 8. Diagrama de blocs d’una FPGA

Els recursos d’interconnexió o línies de connexió són un conjunt d’interruptors i línies programables que permeten transmetre les senyals entre els blocs lògics interns; i entre ells i els blocs d’entrada/sortida, rebent en anglès la denominació de Routing Channels.

Page 18: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

18

1.3. La Família de Dispositius ispMACH 4A

1.3.1. Introducció a la Família ispMACH 4A

Lattice Semiconductor disposa de moltes famílies de Dispositius Lògics Programables al mercat, depenent de la complexitat dels dispositius, del cost de fabricació i de les seves prestacions, es pot trobar un dispositiu lògic per a cada possible aplicació.

Per a dur a terme aquest projecte, s’ha disposat d’un dispositiu CPLD de la família ispMACH 4A, degut a la seva bona relació qualitat preu i a la seva gran versatilitat.

La família ispMACH 4A ofereix dispositius que funcionen amb unes tensions de 3,3V i de 5V. Per dur a terme aquest projecte s’ha triat un dispositiu que funciona amb una tensió d’alimentació de 5Vcc degut a que els dispositius electrònics de la resta de l’entrenador digital treballen també amb aquesta tensió.

La família ispMACH 4A ofereix unes prestacions garantides i disposa d’una gamma molt amplia de solucions per als dispositius CPLD de molt fàcil ús. Tanmateix, aquesta família de dispositius disposa d’un ampli ventall d’eines de programari. Els beneficis globals per als usuaris són un dispositiu amb prestacions garantides i previsibles, ràpida distribució al mercat, gran flexibilitat i un baix cost.

Els dispositius lògics d’aquesta família ofereixen densitats compreses entre les 32 i

512 macrocel·les per dispositiu, que van de 32 a 762 registres amb un 100% d’utilització i una retenció de pin de sortida del 100%.

Els productes ispMACH 4A són programables en sistema a través de l’interface JTAG (IEEE Standard 1149.1). El JTAG permet escanejar o observar el testatge del dispositiu i contrastar el producte en equips de proves automatitzats, especials per a la connectivitat de dispositius.

Els dispositius de la família ispMACH estan disponibles en encapsulats que van dels 44 fins als 388 pins, incloent-hi les configuracions PLCC (Plastic Leader Chip Carrier), PQFP (Plastic Quad Flat Pack), TQFP (Thin Quad Flat Pack) i les BGA (Ball Grid Array). Els nous encapsulats BGA, Fine Chip i Chip Array estan proveïts de reduccions de mida de fins al 70% respecte de la tecnologia BGA estàndard. Per a dur a terme aquest projecte, s’ha triat un dispositiu CPLD amb un encapsulat PLCC, degut a que és molt còmode a l’hora d’extreure i substituir per un altre xip, amb la previsió de que aquest dispositiu tindrà una gran activitat dintre dels laboratoris del DEEEA i que és molt possible que s’hagin de canviar sovint xips malmesos de la placa hardware de l’entrenador digital.

Page 19: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

19

A la Figura 9 es mostra com és físicament un dispositiu ispMACH 4A de Lattice de 44 pins amb un encapsulat PLCC:

Figura 9. Encapsulat PLCC de 44 pins de la família ispMACH 4A

Les propietats i avantatges més significatius dels dispositius de la família ispMACH 4A estan detallades a continuació:

• Retard mínim de pin a pin de 5ns i velocitat de rendiment de 182MHz. • Versions de 3,3V i 5V de voltatge d’alimentació amb la possibilitat de

funcionament de qualsevol dels dispositius amb un rang de voltatge entre els 3,3V i 5,5V.

• Densitat de 32 a 512 Macrocel·les; de 1.250 a 20.000 portes PLD. • Rendiment assegurat de temps fix garantit (speedlocking). • Consum a baixa potència. • Excel·lent rutabilitat i bloqueig de pins. • IEEE 1149.1 Boundary Scan Programmable. • Reprogramable en sistema. • Rangs de temperatura a nivell comercial i industrial.

Les eines de desenvolupament disponibles per la família de dispositius ispMACH 4A són les següents:

• Sistema ispLEVER per a PC i Lattice Unix-Based per a Unix. • Estretament integrat amb les eines de Leading CAE. • VHDL, Verilog-HDL, ABEL, Màquina d’estats i entrada esquemàtica. • Simuladors de temps i de funcionament. • Eines de programació ISP completes. • Plataformes Windows XP, Windows 2000, Windows 98, Windows NT, Solaris i

Hewlett-Packard Unix.

Page 20: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

20

La família de dispositius ispMACH 4A proporciona diverses característiques per donar suport al sistema d’integració: els dispositius que treballen a 3,3V suporten totes les densitats possibles mentres que els dispositius de 5V suporten densitats de fins a 10.000 portes PLD.

Els dispositius programables també presenten una velocitat i potència programable que permet reduir el consum d’energia fins a un 50% aproximadament.

1.3.2. Arquitectura de la Família ispMACH 4A

L’arquitectura dels dispositius d’aquesta família consisteix en l’optimització en el disseny d’una sèrie de blocs PAL interconnexionats entre sí mitjançant una matriu central d’interconnexions o matriu interruptor central (Central Switch Matrix o CSM). Aquesta matriu interruptor central permet la comunicació entre els diferents blocs PAL i també entre les rutes d’entrada i els blocs PAL. De manera conjunta, els blocs PAL i la matriu central d’interconnexions permeten al dissenyador lògic crear grans dissenys en un dispositiu únic i senzill com ho és l’ ispMACH 4A, en contes d’haver d’utilitzar múltiples dispositius.

La clau per a poder fer un ús eficaç d’aquests dispositius es troba en els esquemes d’interconnexió. En l’arquitectura de l’ispMACH 4A, les macrocel·les s’acoblen de manera flexible als termes producte a través d’una cel·la lògica XOR (Logic Allocator with XOR). Els pins d’entrada/sortida s’acoblen de manera flexible a les macrocel·les a través de la matriu interruptor de sortida (Output Switch Matrix o OSM). A més a més, el dispositiu està proveït de més opcions d’enrutament gràcies a les entrades de la matriu interruptor d’entrada (Input Swich Matrix o ISM). Aquests recursos proporcionen la flexibilitat necessària per realitzar dissenys molt eficaços.

La proporció entre macrocel·les i I/O està definida pel nombre de macrocel·les del dispositiu respecte al nombre de cel·les d’entrada/sortida de que disposa internament el bloc PAL.

La matriu central d’interconnexions agafa totes les entrades i senyals de les

entrades de la matriu interruptor i ruteja les que es necessiten cap als blocs PAL. Les senyals de retroalimentació que retornen al mateix bloc PAL necessiten anar a través de la matriu interruptor. Aquest mecanisme assegura que el disseny de comunicació dels blocs PAL en els dispositius ispMACH 4A es realitzi de manera regular, evitant així, possibles retards incoherents i fent que aquests retards siguin previsibles.

Com hem dit, la matriu central d’interconnexions fa que l’ ispMACH 4A sigui un

dispositiu més avançat que un simple xip amb una estructura PAL. Això permet que el disseny realitzat sigui molt senzill de programar. Les particions del software en el disseny dins dels blocs PAL a través de la matriu central d’interconnexions, fan que el programador no s’hagi de preocupar de l’estructura interna del dispositiu abans de dissenyar el programa.

Page 21: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

21

A la Figura 10 es pot observar l’estructura interna d’un bloc PAL en un dispositiu ispMACH 4A.

Figura 10. Estructura d’un bloc PAL en un dispositiu ispMACH 4A

Cada bloc PAL esta dotat de 16 macrocel·les de 33 a 36 entrades que consta de

les següents parts: • Una conjunt de termes producte • Una sèrie de macrocel·les • Una cel·la lògica XOR • Una matriu interruptor de sortida • Cel·les d’entrada/sortida • Una matriu interruptor d’entrada • Un generador de rellotge

La família ispMACH 4A és l’evolució de la família de dispositius ispMACH 4. L’ ispMACH 4A i les famílies de productes de MACH 4 són idèntics en les funcions bàsiques i tenen les mateixes especificacions d’ús, tanmateix, l’ ispMACH 4A posseeix avantatges significatius respecte la família MACH 4 tant en el rendiment com en la facilitat d’ús. Les diferències de disseny vénen donades per un bus de dades més eficient i una sèrie d’I/O que no es troben a la família MACH.

Els dispositius ispMACH 4A disposen d’un sistema de temps fix garantit

(speedlockingTM). L’arquitectura d’aquests dispositius permet l’assignació de fins a 20 termes producte per macrocel·la individual. Gràcies a l’ajuda de la porta XOR no es donen retards de temps addicionals.

Page 22: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

22

El disseny de la matriu interruptor i dels blocs PAL garanteixen un retard de pin a pin fix, que és independent de la lògica exigida pel disseny. Uns altres CPLD força competitius tenen retards temporals més seriosos. Això, però, no succeeix en aquest dispositiu degut a que els seus terme producte s’expandeixen més enllà dels 4 o 5 terme producte típics. La combinació de la velocitat del dispositiu i del seu sistema de temps fix garantit doten al dispositiu d’un accés fàcil al disseny i d’un alt rendiment del xip exigit en els dissenys actuals.

Els dispositius programats en sistema com l’ ispMACH 4A tenen un nombre elevat

de beneficis, com poden ser un ràpid prototipat en els dissenys, nivells o costos d’ inventariat baixos, i alta qualitat i capacitat per realitzar modificacions en el programa. Tots els dispositius ispMACH 4A tenen la capacitat de ser programats en sistema a través dels seus ports Scan (Boundary Scan Test Access Ports). Aquesta capacitat ha estat implementada per assegurar que aquests dispositius puguin ser connectats a través del cable IEEE 1149.1 Standard.

L’ ispMACH 4A pot ser programat amb un ampli ventall de temperatures i

voltatges comercials. El software de Lattice (Lattice PRO) facilita la programació en sistema dels dispositius ispMACH 4A. Lattice PRO utilitza l’arxiu JEDEC de sortida produïda pel disseny d’implementació del software, i juntament amb la informació sobre la cadena JTAG, crea un grup de vectors utilitzats per conduir la cadena JTAG. El software de Lattice pot utilitzar aquests vectors per conduir la cadena JTAG a través dels ports paral·lels dels PC’s. D’altra banda, el software de Lattice pot ser utilitzat en altres equips que no siguin estrictament PC’s. Aquests mateixos equips poden ser utilitzats per programar els dispositius ispMACH 4A durant la fase de testatge a la placa.

Page 23: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

23

1.4. El Cable de Programació JTAG 1.4.1. El STD IEEE 1149

L’Estàndard IEEE 1149.1-1990 és el producte del treball d’un grup de companyes interessades bàsicament en resoldre el problema de l’accés físic als pins dels circuits integrats muntats sobre una targeta de circuit imprès. Com que les targetes dels circuits impresos creixen en complexitat i densitat de components, degut a les constants millores en les tecnologies de fabricació de circuits integrats i de les mateixes targetes, resulten també més difícils de verificar, tornant obsolets els tradicionals mètodes de detecció d’errors (com les puntes de prova). Per aquests motius, es necessiten mètodes més econòmics i fiables per realitzar proves de connectivitat entre els circuits integrats muntats sobre la targeta.

L’any 1980, el grup JTAG (Join Test Action Group) es va reunir per començar a

treballar en una especificació per el diagnòstic de plaques PCB (Printed Circuit Board) mitjançant l’exploració del contorn (Boundary-Scan Testing, BST). Més tard, l’any 1990, es va estandarditzar amb el nom de “IEEE Std. 1149.1-1990, Test Access Port and Boundary-Scan Architecture” (Norma IEEE 1149.1-1990, Port d’Accés per Proves i Arquitectura d’Exploració pel Contorn). Aquesta norma es coneix abreviadament com BST, i també com a JTAG, pel nom del grup creador.

La gran avantatja oferida pel Boundary-Scan radica en el seu poder per controlar i observar mitjançant software els valors lògics (0, 1) en els pins dels circuits impresos a través d’una interfície senzilla de quatre línies (o bits), que opcionalment poden arribar a ser sis.

Amb aquesta arquitectura és possible diagnosticar l’estat de les pistes a la placa

PCB (pistes obertes, curtcircuits, soldadures fredes), per exemple, forçant un pin d’un circuit integrat a un valor donat i llegint aquest valor en un pin d’un circuit interconnexionat a l’anterior.

Encara que alguns circuits impresos al PCB no arribin a suportar aquesta norma, la

verificació de la targeta pot fer-se parcialment amb aquesta tècnica, amb el benefici que suposa l’estalvi de temps i de mà d’obra.

Page 24: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

24

1.4.2. Estructura del Bus JTAG

Existeixen quatre terminals bàsics que ha de tenir el bus de dades JTAG, tal com s’ha comentat a l’apartat anterior, a part dels dos dedicats a l’alimentació i a massa, tal i com s’observa a la Figura 11:

Figura 11. Diagrama de connexions del bus de dades JTAG Els terminals del bus de dades JTAG reben els següents noms:

• TDI - Entrada de dades (Test Data Input) • TDO - Sortida de dades de prova (Test Data Output) • TMS - Selecció del mode test (Test Mode Select) • TCK - Rellotge (Test Clock Input)

En el cas del nostre estudi, el xip utilitza el cable de programació ispDOWNLOAD

Cable In-System Programming per PC de Lattice Semiconductor. Com ja s’ha comentat, al cable també serà necessari connectar-hi dos pins addicionals dedicats a la tensió d’alimentació i la massa. El cable de programació ispDOWNLOAD es connectarà al PC mitjançant un port Paral·lel (dedicat a les impressores) d’aquest, tal com es mostra a la Figura 12:

Figura 12. Cable ispDOWNLOAD per PC mitjançant port Paral·lel

Page 25: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

25

Per a programar el dispositiu utilitzat en aquest projecte, s’ha emprat un cable ispDOWNLOAD per PC mitjançant port paral·lel que utilitza únicament 6 dels 8 pins de programació dels quals disposa el cable. En els dispositius de la família ispMACH 4A, el pin TRST (asynchronous reset pin) i el pin ENABLE (program enable pin) s’utilitzen només en alguns dels dispositius de la família, segons el seu datasheet o full de característiques, el dispositiu utilitzat en aquest projecte no necessita connectar els pins TRST i ENABLE.

En cas de que fos necessari per a altres dispositius, el pin ENABLE té que estar a

nivell baix, perquè quan aquest pin esta a nivell alt, les instruccions de programació i verificació es tornen inactives. Per a nous dissenys, es recomana que el pin TRST estigui a nivell alt per controlar la senyal del reset. Si el dispositiu ispMACH suporta el TRST i el pin TRST s’utilitza, Lattice recomana que una resistència de 4,7KΩ es connecti entre la senyal TRST i terra, a manera de protegir el sistema.

- Terminal TDI

Aquest terminal és una entrada de dades sèrie per les instruccions, la programació del dispositiu i la comprovació del correcte funcionament d’aquest. La transmissió es realitzarà quan hi hagi un flanc de pujada provinent del rellotge del sistema. Aquest terminal necessita d’una resistència en Pull-Up (entre Vcc i el terminal) de 4K7Ω per al seu correcte funcionament.

- Terminal TDO

Es tracta d’una sortida de dades per la programació del sistema, la comprovació del funcionament i les instruccions, aquesta transmissió de dades es farà efectiva quan hi hagi un flanc de baixada del rellotge del sistema, per tant, aquest valor estarà en alta impedància canviant quan el valor es modifica.

- Terminal TMS

Aquest terminal és una entrada de control que determina un canvi en la màquina d’estats del controlador del TAP (controlador d’accés al port de proves). Les transicions es produeixen durant el flanc de pujada del rellotge. Aquest terminal necessita una resistència en Pull-Up de 4K7Ω per al seu correcte funcionament.

- Terminal TCK

Es tracta d’una entrada de rellotge per al controlador del TAP i per al circuit del sistema. Aquest terminal necessita una resistència en Pull-Down (entre massa i el terminal) de 4K7Ω per al seu correcte funcionament.

Page 26: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

26

1.5. L’ ISP LEVER

Per dur a terme els codis que s’executaran en aquest entrenador digital, l’alumnat d’ETIEI haurà de treballar i familiaritzar-se amb el programa ISP LEVER de Lattice.

L’ ISP LEVER és un programa de Lattice Semiconductor enfocat vers el disseny i

la simulació de circuits digitals, tant a partir de components discrets, com aplicat a dispositius lògics programables (PLD's, CPLD, FPGA etc.). Aquest programa permet introduir el disseny tant a partir d'esquemàtics (portes, biestables, etc.) com mitjançant llenguatges de baix i alt nivell (ABEL-HDL, Verilog, VHDL).

Els dispositius lògics programables són circuits integrats digitals que es caracteritzen pel fet de que la funció lògica que realitzen pot canviar mitjançant la programació de les connexions entre els elements que la composen. La gravació d’un d’aquests dispositius programables es realitza mitjançant la transmissió sèrie, habitualment des d’un PC, d’un fitxer de configuració. El programa ISP LEVER permet fer la descripció de la funcionalitat lògica que es vol introduir al dispositiu i la generació d’aquest fitxer de manera automàtica.

A les classes de teoria i problemes de la universitat, l’alumne aprèn a trobar la

solució digital d’un problema i a expressar-la en forma d’equacions lògiques, taules de veritat, diagrames d’estat, … Al laboratori l’alumne es familiaritzarà en la utilització del llenguatge ABEL per a fer la mateixa descripció i en la utilització de l’entorn ISP LEVER per a poder programar la funció lògica en un dispositiu lògic i provar i avaluar el seu correcte funcionament.

Cada nou disseny s’engloba dintre del que s’anomena projecte, que pot incloure un

o més fitxers de descripció del disseny (per a circuits complicats és interessant poder fer particions i provar els subcircuits per separat). Un projecte és la manera en que LEVER entén el que se li està demanant, per a que, a partir d’uns esquemes de connexions o d’unes equacions booleanes, prepari el fitxer que cal gravar en el dispositiu que es triï com a suport del sistema electrònic digital que s’està dissenyant. El programa s’encarrega, a partir d’aquests fitxers, de generar la configuració que es gravarà en el dispositiu programable. Durant el disseny s’utilitza l’entorn per a verificar la sintaxi de les descripcions i, opcionalment, per a fer una simulació lògica del disseny.

L’entorn de desenvolupament integrat del programa ISP LEVER de Lattice inclou

les següents parts: Gestió de projectes Disseny Validació del disseny Simulació Programació de dispositius

Page 27: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

27

Per començar a treballar amb el programa, un cop que s'està a dintre de Windows, cal executar (doble clic) l’enllaç al programa ISP LEVER. La finestra d’inici de programa que s'obre a continuació és la de la Figura 13:

Figura 13. Finestra d’inici de l’ ispLEVER

Aquesta finestra es correspon amb el nucli del programa: ispLEVER Project Navigator. Serà aquesta finestra la que servirà d'enllaç per totes les parts del procés de disseny. El ispLEVER Project Navigator permet gestionar projectes i accedir a totes les eines del ISP LEVER.

Per a la creació d’un projecte, els passos a seguir són la creació del projecte en un

directori, la especificació del tipus de projecte, i per últim, la selecció del dispositiu amb el que es vol treballar.

Durant la fase de disseny, el programa permet utilitzar esquemàtics o HDL (ABEL,

verilog o VHDL). En l’ús d’esquemàtics està permès la utilització de cel·les predissenyades o llibreries, cel·les que corresponen amb equacions lògiques i/o biestables, i dissenys jeràrquics (un bloc dissenyat es pot utilitzar com una cel·la predissenyada).

En la fase de validació, a partir del disseny es realitza la compilació, i es generen

les equacions i es preparen les connexions del dispositiu. Durant aquesta fase és quan també es generen els arxius JEDEC necessaris per a la programació del dispositiu.

Page 28: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

28

Durant aquest últim procés, i un cop verificat el bon funcionament del circuit, és quan s’ha de procedir a especificar un dispositiu lògic sobre el qual gravarem el disseny. Com a exemple per aquesta finestra, utilitzem el dispositiu isp MACH 4A5 64/32. Per utilitzar altres dispositius, el procediment és anàleg. Per canviar el dispositiu només s’ha de fer doble clic sobre el nom del dispositiu que havíem triat per defecte (al costat de la icona amb forma de xip) i seleccionar-ne un de nou. Per forçar al programa els pins que nosaltres em especificat com a entrades i sortides al codi, s’ha d’accedir a l’opció Constraint Editor i especificar que no volem que el programa optimitzi aquestes i que respecti les entrades i sortides seleccionades.

L’aspecte del isp LEVER Project Navigator serà el que es mostra a la

Figura 14:

Figura 14. Finestra de l’isp LEVER Project Navigator

Els processos associats al dispositiu isp MACH 4A5 són els que hauríem d’executar per obtenir finalment el fitxer JEDEC que servirà per gravar definitivament el disseny sobre el CPLD.

Un cop realitzat tot aquest procés, la simulació és la fase prèvia a la programació.

Un cop dissenyades totes les parts i mòduls d'un projecte s'ha de simular per a verificar que efectivament compleix les especificacions de partida. El procés de simulació inclou bàsicament tres parts:

a) Creació del fitxer de simulació (llenguatge ABEL-HDL). b) Execució del simulador. c) Lectura de dades (Wave editor).

Page 29: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

29

1.6. Descripció de l’ ABEL-HDL

L’ABEL-HDL és un llenguatge jeràrquic de descripció lògica de circuits electrònics que suporta una gran varietat de formats d’entrada, com per exemple, equacions algebraiques, diagrames d’estat o taules de la veritat.

Aquest llenguatge ens permet descriure el comportament d’un circuit, així com realitzar la seva verificació sense necessitat d’especificar el dispositiu on es realitzarà. Una vegada el disseny ha sigut entrat i verificat el seu funcionalment, pot ser optimitzat per la seva implementació en un dispositiu específic.

PALASM i ABEL s’utilitzen freqüentment per dispositius de baixa complexitat, mentres que Verilog i VHDL són llenguatges de descripció de hardware d’alt nivell molt populars per dispositius més complexes.

El més limitat llenguatge ABEL s’utilitza normalment per raons històriques, però per dissenys és més popular VHDL, inclús també per dissenys de baixa complexitat.

Per aprofundir en la programació en llenguatge ABEL, a part de tenir un bon manual, caldrà una bona bibliografia addicional, així com la consulta de l’ajuda del propi programa.

Page 30: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

30

2. DISSENY DE L’ENTRENADOR I DEL DE MÒDUL RELLOTGE

2.1. Estructura de l’entrenador

L'objectiu d’aquest projecte és dissenyar una placa o mòdul que s’anomenarà

entrenador digital que permetrà utilitzar a les pràctiques de dispositius lògics programables els mateixos mòduls didàctics de Promax que ara es fan servir a les pràctiques amb microcontroladors. De manera addicional, i com a segon objectiu, també es vol dissenyar un nou mòdul que es connectarà a l’entrenador digital mitjançant dos busos de 25 vies cadascun. Aquest nou mòdul implementa les entrades/sortides d’un despertador digital amb l’objectiu d’utilitzar-lo per a dissenyar el despertador fent servir la lògica programable.

La placa hardware d’aquest entrenador inclourà el dispositiu CPLD amb dos connectors de 50 pins cada un per poder direccionar i connectar les entrades i sortides del dispositiu vers qualsevol mòdul que se li vulgui connectar. Aquesta primera placa també estarà dotada d’un circuit generador de rellotge d’1 KHz connectat a uns circuit basat en divisors de freqüència (comptadors de dècades) que poden donar senyals de fins a 1 Hz i que haurà de proporcionar la senyal de rellotge al dispositiu lògic programable.

Aquesta estructura esta justificada pel fet que es pretén dotar al primer dels blocs

de capacitat i flexibilitat a l’hora de poder connectar-lo vers els mòduls de les pràctiques de l’ascensor i del semàfor, mòduls ja existents en les pràctiques d’Electrònica Digital, mitjançant el primer dels dos connectors abans esmentats. Fins ara aquestes dues pràctiques s’han desenvolupat mitjançant el microcontrolador 68.000 de Motorola. El que es pretén amb aquest projecte es poder dur a terme les esmentades pràctiques de manera alternativa amb el bloc del CPLD de Lattice, amb l’avantatge que suposa poder programar els mòduls de l’ascensor i del semàfor des d’un segon dispositiu, diferent en quant a mode de programació i complexitat.

El diagrama de blocs de la figura 15 mostra la connectivitat de l’entrenador digital

interactuant amb tres dels possibles mòduls que se li poden connectar:

Figura 15. Connectivitat de l’entrenador Digital amb els diferent mòduls

Entrenador

Digital

MÒDUL DE

L’ASCENSOR

MÒDUL DEL SIMULADOR DE

TRÀNSIT

MÒDUL DEL RELLOTGE

DESPERTADOR

Page 31: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

31

S’ha dotat a la placa hardware de l’entrenador del sistema de programació JTAG, aquest protocol permet poder programar el dispositiu sense tenir que extreure’l del seu sòcol de la placa PCB.

L’entrenador digital disposa d’un dispositiu CPLD ispMACH 4A5 64/32 de Lattice de 44 pins amb un encapsulat PLCC, que serà l’encarregat d’interpretar i executar els programes que es vulguin implementar.

A la figura 16 es pot observar la distribució final dels components a la placa PCB

el l’entrenador digital. En ella es pot observar la distribució dels polsadors que controlen els canals del multiplexor a la dreta, a sobre hi ha col·locat el 555 amb la circuiteria corresponent al multivibrador astable al voltant que genera el senyal de rellotge d’1 KHZ. Aquest senyal va vers el filtre que té al costat que neteja el senyal i l’envia vers els tres comptadors de dècades que hi ha al seu costat dret. Un cop que ja tenim el senyal d1 HZ de l’últim dels comptadors/divisors, aquest surt vers un segon filtre juntament amb la sortida de cada un dels altres divisors per 10 i van vers el multiplexor, que va col·locat al sòcol de 16 pins que hi ha més a la dreta. A sota d’aquest es pot observar el connector d’entrada/sortida del cable JTAG. Al centre de la placa s’allotja el dispositiu CPLD. Aquest dispositiu té a sota els dos connectors de 50 pins mitjançant els quals es connectarà vers els mòduls desitjats gràcies als dos busos de 25 vies. Per últim cal observar el connector de dos pins que hi ha a la part superior esquerra des d’on s’alimentarà la placa hardware.

Figura 16. Placa hardware de l’entrenador digital

Page 32: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

32

De manera addicional, i com s’ha connectat abans, és disposa de fins a quatre senyals de rellotge de diferent freqüència per poder seleccionar, sense necessitat de tenir que implementar divisors interns. La freqüència desitjada per a cada cas es seleccionarà mitjançant l’ús d’un multiplexor de quatre canals de dades. Es dota al sistema d’aquesta possibilitat perquè cada un dels mòduls de Promax podrà d’aquesta manera funcionar a la freqüència que es desitgi.

El diagrama de blocs de la placa de l’entrenador vindria donat doncs per un dispositiu CPLD al seu centre, que després de ser alimentat mitjançant un connector extern, interactuarà amb una sèrie de blocs que té implementats al seu voltant; un bloc que li proporcionarà un senyal de rellotge, i un altre que li permetrà ser programat mitjançant un port paral·lel d’un PC, un cable de xarxa i un adaptador.

La Figura 17 mostra la distribució dels diferents blocs que composen aquest

entrenador digital; el bloc CPLD amb l’entrada de rellotge, el JTAG per programar el dispositiu, i l’alimentació del circuit:

Figura 17. Diagrama de blocs de l’entrenador

CPLD

VCC

JTAG

RELLOTGE

Page 33: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

33

2.2. Connectivitat de l’Entrenador

L’entrenador digital es sovint utilitzat per al seu ús en diferents aplicacions, indiferentment de les entrades i sortides de que aquest tingui preparades per al seu ús. Al mòdul del rellotge/despertador, per exemple, de vegades no és necessari utilitzar els sis displays 7 segments, o necessitem uns commutadors concrets però no uns altres, o potser només utilitzem com a senyals d’entrada un commutador concret, per tant, les seves possibles configuracions són múltiples i moltes vegades podrem prescindir d’alguns dels blocs de components o d’una part d’ells.

Per aquests motius, s’ha volgut dotar a l’entrenador d’un ús flexible dels diferents blocs i components que el formen. A l’entrenador el dispositiu CPLD, i per tant, el seu bloc, és el centre de totes les connexions, ja que és ell l’encarregat de fer funcionar tot el sistema, per tant, i com ja s’ha comentat, aquest mòdul serà imprescindible i necessari per fer funcionar qualsevol projecte a implementar.

Per aquests motius s’ha optat per interconnexionar els diferents mòduls (tant el del rellotge/despertador com els ja existents de Promax) que configuren les plaques amb l’entrenador digital mitjançant l’ús d’uns cables plans flexibles de mànega de 25 vies. S’han dissenyat els connectors per a poder connectar el mòdul de l’entrenador vers els mòduls de Promax tot seguint les especificacions d’aquests. Aquests connectors són de 50 pins cada un, distribuïts en dues rengleres de 25 pins paral·leles una de l’altra i amb els pins seriats d’una renglera a una altra, fent que finalment quedin connectades 25 vies amb 2 connectors per cada via.

Per dur a terme la connexió de l’entrenador amb els mòduls de Promax serà necessari un únic bus de 25 vies ja que aquests mòduls només disposen d’un connector de 50 pins. L’alimentació d’aquests mòduls es realitza mitjançant un altre cable, però el bus de 25 vies està preparat per subministrar alimentació de manera alternativa des de l’entrenador digital vers els mòduls si fos necessari.

Per a dur a terme la connexió de l’entrenador amb el mòdul corresponent al rellotge/despertador faran falta els dos cables de 25 vies, ja que de la manera que esta configurat el programa del rellotge/despertador es necessita disposar d’ almenys 29 vies per a poder controlar totes les entrades i sortides. L’alimentació d’aquest mòdul es realitza des de l’entrenador digital.

Page 34: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

34

2.3. Placa de l’entrenador 2.3.1. Bloc CPLD

Per tal de poder interpretar i avaluar els diferents programes o codis a l’entrenador, i a fi d’unir tots els blocs d’aquest perquè funcionin de manera conjunta, el bloc CPLD és totalment necessari i imprescindible per la realització d’aquest projecte.

Per a dur a terme aquest entrenador s’ha escollit el dispositiu ispMACH 4A5 64/32

C de l’empresa americana Lattice Semiconductor. S’ha escollit aquest dispositiu degut a la seva gran versatilitat, les seves elevades prestacions i el seu baix cost. Aquest dispositiu esta dotat de 44 pins amb un encapsulat PLCC. L’encapsulat del dispositiu en PLCC s’ha escollit pel fet de que es tracta d’un xip de molt fàcil extracció, ideal alhora de possibles substitucions.

El significat de les sigles de l’etiqueta d’aquest dispositiu lògic programable és el

següent: isp Significa que el dispositiu es programable en sistema

MACH 4A Ens diu a la família a la qual pertany aquest dispositiu

5 Indica que aquest dispositiu treballa amb una tensió de 5V

64 Indica el nombre de macrocel·les del dispositiu

32 Indica el nombre d’entrades/sortides configurables

C Diu si el CPLD es d’ús comercial o industrial

Les característiques més importants de les que esta dotat el dispositiu ispMACH

4A5 64/32 són: una densitat de 2500 portes PLD, un temps de resposta d’entrada/sortida de 5,5ns, que ens permet disposar de freqüències de treball de fins a 187MHz, disposició de 64 macrocel·les dividides en blocs de 16 macrocel·les cada un (per tant 4 blocs), té 96 registres i 34 pins dedicats a entrades i a I/O’s, ja que la resta de pins esta dedicat a altres funcions. Aquestes són les característiques més importants del dispositiu, n’hi ha moltes més, i per aprofundir en detall es poden consultar al Datasheet del dispositiu que proporciona Lattice.

Els encapsulats per aquest dispositiu poden ser de dos tipus: de 44 pins en PLCC

(en sòcol) o de 44 i 48 pins en TQFP (en SMD). Per la realització d’aquest projecte, com s’ha comentat, s’ha triat la primera d’aquestes opcions.

Les versions d’aquest dispositiu lògic programable estan disponibles per a ús

comercial i industrial, essent la primera d’aquestes opcions la escollida per a la realització de l’entrenador del projecte.

Page 35: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

35

Com hem comentat abans, aquest dispositiu es configurable en sistema a la placa PCB (in system programable), gràcies a l’estàndard JTAG.

El dispositiu isp MACH 4A5 64/32C esta dotat de dues entrades de rellotge

externes, a les potes 11 i 33. A la Figura 18 es pot apreciar la distribució dels pins del dispositiu ispMACH 4A5

64/32 de 44 pins amb l’encapsulat PLCC, i addicionalment a que estan dedicats cada un d’aquests pins.

Figura 18. Distribució del patillatge del dispositiu isp MACH 4A5 64/32 Només s’ha de tenir en compte que degut a la naturalesa del dispositiu, aquest disposa d’alguns pins concrets dedicats a l’alimentació, al senyal de rellotge i a altres funcions de la programació, i que per tant aquests pins no es poden configurar com a possibles entrades i sortides d’informació del dispositiu.

Page 36: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

36

A la taula de la Figura 19 s’enumeren el conjunt de pins del dispositiu lògic que s’utilitzen de manera exclusiva, amb la denominació que reben i per a quina finalitat s’utilitza cada un d’ells:

Pin Nom Utilitat 10 TDI Programació en sistema 35 TDO Programació en sistema 32 TMS Programació en sistema 13 TCK Programació en sistema 11 CLK0 Entrada de rellotge extern 33 CLK1 Entrada de rellotge extern 22, 44 Vcc Tensió d’alimentació 1, 12, 23, 34 GND Massa

Figura 19. Assignació de pins del dispositiu isp MACH 4A5 64/32

Els 32 pins restants estan dedicats a les entrades i sortides d’informació del dispositiu lògic, aquests pins serviran per connectar els diferents mòduls de l’entrenador amb el dispositiu CPLD. Els pins 11 i 33 dedicats a entrades externes de senyal de rellotge també poden ser configurats individualment com a entrades de dades del dispositiu.

Page 37: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

37

2.3.2. Bloc Generador de Rellotge Per alimentar el senyal CLK extern del CPLD, hi ha la necessitat de disposar de com a mínim un generador de rellotge extern. El circuit escollit per generar aquest senyal de rellotge CLK ha estat el d’un multivibrador astable, que és un generador d’ona quadrada (o rectangular). El motiu pel qual s’ha triat aquest circuit i no un altre és la bona relació qualitat preu que ofereix. Es tracta d’un circuit d’alta precisió, sobretot a altes freqüències, i a més, es pot configurar perquè funcioni com un oscil·lador.

A l’entrenador digital del projecte s’ha disposat d’un circuit integrat 555 generador de rellotge en mode de multivibrador astable, que proporciona una freqüència d’1 KHZ, mitjançant una ona periòdica quadrada.

Per implementar el circuit multivibrador astable, existeix la possibilitat de dur-lo a terme amb dos transistors BJT, o bé amb un Circuit Integrat 555. Per dur a terme aquest projecte s’ha optat per la segona d’aquestes opcions.

El CI 555 és un circuit integrat de baix cost i elevades prestacions, que amb pocs components auxiliars ens permet realitzar diferents circuits, com per exemple el del multivibrador astable. A la Figura 20 es pot observar l’enumeració dels diferents terminals del dispositiu NEE 555 i a que estan dedicats cada un d’ells.

Figura 20. Distribució del patillatge del CI 555

En aquesta figura es pot observar com el component disposa dels típics terminals de control, com són la tensió d’entrada, massa, sortida i reset. La tensió d’alimentació es connecta al pin 8 (Vcc) i el terra al terminal 1 (GND). La tensió d’alimentació d’aquest dispositiu pot variar entre els 4,5V i 18V, fent aquest xip molt versàtil.

El Circuit Integrat 555 també disposa d’una sortida al terminal 6 (threshold o

llindar) que està connectada a l’entrada positiva del comparador superior. Quan la tensió llindar és més gran de dos terços de Vcc, la sortida del comparador superior està a nivell alt, cosa que permet finalitzar la temporització quan s’activa.

Page 38: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

38

Al diagrama de blocs del circuit integrat temporitzador 555 de la figura 21 es pot observar l’estructura interna del dispositiu amb els diferents pins de que disposa:

Figura 21. Diagrama de blocs del 555

El terminal 2 (trigger o disparo) està connectat a l’entrada negativa del comparador inferior. Quan la tensió de disparo és més petita d’un terç de Vcc, la sortida del comparador inferior està a nivell alt, fent que quan rep un impuls negatiu fa que el condensador extern del pin número 7 (descàrrega) es descarregui. Aquest condensador permet controlar el temps de la temporització.

El terminal 5 (control de tensió) està connectat a l’entrada negativa del comparador superior i el seu valor és dos terços de Vcc.

El biestable (flip flop) és de tipus RS, el comparador superior està connectat a

l’entrada R i el comparador inferior està connectat a l’entrada S. La sortida negada (Q ) està connectada a un transistor de descàrrega (terminal 7) i a un inversor. El terminal 3 (output) es troba situat a la sortida del bloc inversor. Quan el comparador s’activa (entrada R), la sortida negada (Q ) es posa a nivell alt i quan el comparador inferior s’activa (entrada S) es posa a nivell baix. Si el terminal 4 (reset) té un valor per sota d’1V, posa a nivell alt la sortida negada (Q ) del biestable, independentment de l’estat de les seves entrades.

Page 39: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

39

2.3.2.1. Bloc Divisor de Freqüència

Per aconseguir una sèrie de freqüències noves a partir del senyal de sortida provinent del bloc generador de rellotge realitzat amb el CI 555, s’ha emprat un circuit basat en el comptador de polsos, mitjançant una sèrie de Circuits Integrats 74LS90.

El CI 74LS90 és un dispositiu comptador de polsos, depenent de la seva configuració, aquest circuit permet obtenir una sortida digital de 4 bits en BCD contant de 0 fins a 9. Els CI 74LS90 poden funcionar com comptadors de dècades, es a dir, poden contar cíclicament de 0 a 9, però també poden ser configurats i utilitzats com a divisors per 2, 4 i 5 o per 2, 4, 8 i 9 respectivament.

Els CI 74LS90 utilitzen tecnologia TTL per al seu funcionament. Aquests dispositius són molt utilitzats a la industria gràcies a la seva enorme versatilitat i utilitat en múltiples muntatges.

A l’entrenador s’ha disposat de tres circuits 74LS90 en mode de cascada, que connectats el primer d’ells a la sortida del bloc generador de rellotge del CI 555 i utilitzant la senyal de sortida d’aquest com a referència, poden proporcionar una freqüència de fins a un 1 HZ a la sortida del tercer d’ells, mitjançant una ona periòdica quadrada.

Cada un dels tres CI 74LS90 proporciona una freqüència diferent; el primer d’ells ens dona una freqüència de 100HZ, el segon una de 10HZ i l’últim proporciona una freqüència d’1HZ. Cada una d’aquestes freqüències pot ser seleccionada per proporcionar un senyal de rellotge diferent al dispositiu CPLD ispMACH 4A5 64/32 mitjançant l’ús d’un multiplexor.

A la Figura 22 és pot observar l’assignació de terminals del dispositiu comptador de polsos CI 74LS90:

Figura 22. Assignació de terminals del CI 74LS90

Page 40: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

40

Els terminals 1 i 14 són entrades negades de rellotge. El dispositiu esta dotat de dues entrades de reset (terminals 2 i 3) i dues entrades més de posada a 1 o de set (terminals 6 i 7). Les sortides són quatre (terminals 8, 9, 11 i 12). El dispositiu té un terminal dedicat a la alimentació Vcc (terminal 5) i un altre a la massa (terminal 10). Els terminals 4 i 13 no s’utilitzen.

A la Figura 23 s’observa el diagrama o gràfic d’estats d’un comptador de mòdul 10:

Figura 23. Gràfic d’estats d’un comptador mòdul 10

Un comptador mòdul n requereix m biestables, essent m el menor exponent de base 2 necessari per arribar al nombre n:

• si n és potencia sencera de 2: n = 2m comptador complet • si no ho és: 2m-1 < n < 2m comptador parcial.

En el primer cas (n potencia de 2) el comptador recorre tots els estats possibles dels m biestables, pel qual el denominem comptador complet. Mentrestant que en el segon dels casos existeixen estats no aconseguits pel comptador: comptador parcial.

El gràfic de la figura 22 correspon a un comptador parcial mòdul 10, comptador de dècades; presenta 10 estats i l’últim d’ells correspon al 9, ja que l’estat inicial és el 0. Aquest comptador recorre les 10 deu xifres del sistema de numeració base 10 i és, per tant, el mòdul bàsic per comptar en BCD (Decimal Codificat el Binari), respectant el sistema de numeració habitual per nosaltres.

El comptatge es troba associat directament a la divisió de la freqüència: un comptador mòdul n divideix per n la freqüència dels polsos que rep, es a dir, produeix un pols a la seva sortida més significativa (i a la seva sortida de màxim) per cada n polsos de la seva entrada; recíprocament, el període de l’ona queda multiplicat per n.

De la mateixa manera que la resta de sistemes seqüencials, el disseny i la utilització de comptadors es fa, actualment, de manera síncrona per les amplies avantatges que proporciona (principalment en quant a seguretat funcional). El disseny pot realitzar-se a través dels mètodes generals de disseny seqüencial síncron: a partir de la taula d’evolució dels estats s’obtenen les funcions d’activació dels biestables.

Page 41: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

41

2.3.2.2.Bloc de filtre i multiplexor

Els senyals de freqüència obtinguts a les sortides tan del generador de rellotge com de cada un dels divisors de freqüència haurien de ser perfectament quadrats per poder proporcionar un senyal vàlid i de qualitat vers el CPLD. Per tal d’assegurar-nos d’obtenir un senyal net, a la sortida de cada circuit integrat s’han implementat uns filtres per a cada dispositiu.

Aquests filtres s’han implementat mitjançant portes lògiques inversores. A la sortida de cada senyal quadrada s’hi han connectat dues portes inversores en sèrie que asseguren un senyal idèntic a l’inicial però net de pics que es generen durant els canvis de transició de nivell alt a nivell baix i a l’inrevés.

Per a implementar aquestes portes inversores s’han utilitzat els circuits integrats 74LS04, cadascun d’ells dotat de sis portes lògiques. Per tant, per dur a terme el filtratge de les quatre senyals de rellotge existents al mòdul CPLD, s’han utilitzat un total de dos dispositius per a aquesta tasca.

A la figura 24 es pot apreciar l’assignació de terminals del dispositiu 74LS04 i la distribució interna de les portes inversores així com dels terminals dedicats a la tensió i a massa:

Figura 24. Assignació de terminals del CI 74LS04

Un cop que els senyals estan ben filtrats i han quedat quadrats de manera optima, s’ha de procedir a triar-ne un per a alimentar la senyal d’entrada de rellotge del Dispositiu Lògic Complexe.

La selecció del senyal d’entrada de rellotge es realitza a través d’un multiplexor o selector de dades de quatre canals o entrades de dades, amb les seves dues entrades de selecció o control.

Page 42: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

42

El multiplexor utilitzat per a seleccionar el senyal de rellotge per a cada cas és el circuit integrat 74LS153. Es tracta d’un dispositiu dotat de dos multiplexors de quatre entrades de dades cadascun.

A la figura 25 es pot apreciar l’assignació dels terminals del dispositiu CI 74LS153, així com la seva distribució interna i l’assignació dels diferents terminals dels que disposa el xip:

Figura 25. Assignació de terminals del CI 74LS153

Es pot observar com el dispositiu disposa dels dos multiplexors de quatre canals de dades, dues entrades de selecció compartides per als dos multiplexors i un senyal d’entrada strobe per a cada un dels multiplexors. El senyal strobe ha d’estar activat a nivell baix perquè les entrades i sortides del multiplexor estiguin habilitades per a cada un dels casos.

Mitjançant les entrades de control A i B, es pot seleccionar quina de les quatre entrades de dades C1, C2, C3 i C4 de un o dels dos multiplexors volem que surti per les sortides Y1 i/o Y2. Els valors de les entrades de control hauran de ser 0 o 1, els nivells alt o baix de tot dispositiu TTL, podent disposar de fins a quatre combinacions per a poder seleccionar qualsevol de les entrades de dades. Només faltarà habilitar el senyal strobe a nivell baix per a fer funcionar el multiplexor seleccionat o els dos multiplexors segons convingui a l’usuari del dispositiu

Page 43: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

43

2.4. Mòduls MM-6XX de Promax

Com ja s’ha comentat anteriorment, amb la placa de l’entrenador que s’ha dissenyat per aquest projecte, a més del mòdul que s’ha dissenyat del rellotge despertador, es pretén poder controlar almenys dos mòduls més. Aquests dos mòduls de pràctiques de Promax es fan servir a l’assignatura de microcontroladors; són el mòdul del simulador de transit (MM-601) i el mòdul de l’ascensor (MM-617).

Els mòduls de la família MM-6XX estan concebuts per a facilitar l’aprenentatge de l’alumne amb casos similars a la realitat, d’aquesta manera, s’aconsegueix veure una aplicació que s’assembla a una situació real i es pot recrear de manera virtual mitjançant una petita maqueta o mòdul.

A les pràctiques de les assignatures d’electrònica digital es fan servir diferents mòduls de la família MM-6XX, com poden ser el del control d’un motor DC, el d’un amplificador d’àudio, el d’un control d’un motor pas a pas, etc.

El funcionament d’aquests mòduls és força senzill. Per a la realització de les pràctiques amb aquests mòduls es necessiten els següents elements:

• Ordenador PC • Software Synario, PLD.exe • Entrenador digital

Page 44: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

44

2.4.1. Mòdul MM-601 de Promax (simulador de trànsit)

El mòdul que es pretén controlar és el MM-601, i es tracta d’un simulador de transit en un encreuament entre dos carrers dotats tant de semàfors per a vehicles com per també per a vianants. L’objectiu de la pràctica que ha de realitzar l’alumne és controlar el correcte funcionament de les senyals lluminoses d’ambdós carrers, així com el funcionament dels semàfors per a peatons, i la possible petició de pas pel pas de vianants per part d’aquests.

La figura 26 mostra l’aspecte dels carrers i els senyals lluminosos a controlar del mòdul MM-601 de Promax:

Figura 26. Aspecte de la cruïlla de carrers del mòdul MM-601

Page 45: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

45

Els senyals principals del mòdul de Promax MM-601 a controlar són els següents:

- S1: semàfor de peatons de la carrer B. - S2: semàfor cotxes carrer B. - S3: semàfor cotxes carrer A. - S4: semàfor peatons carrer A. - S5: Llum àmbar gir de carrer B a carrer A. - P1: detector de presencia de cotxes del carrer B. - P2: polsador de petició de pas per a peatons del carrer B. - P3: polsador de petició de pas per a peatons del carrer A. - P4: detector de presencia de cotxes del carrer B.

La relació de les línees és la que es mostra a la figura 27:

PB0 Polsador P4 PA0 Llum Roja S4 PB1 Polsador P3 PA1 Llum roja S4 PB2 Polsador P2 PA2 Llum verda gir S2 PB3 Polsador P1 PA3 Llum àmbar S2 PB4 Llum àmbar gir S5 PA4 Llum roja S2 PB5 Llum verda S1 PA5 Llum verda S3 PB6 Llum roja S1 PA6 Llum àmbar S3 PB7 Llum verda S4 PA7 Llum roja S3

Figura 27. Relació de línies d’entrada/sortida del mòdul MM-601

La detecció a través dels polsadors es realitza quan per la línea corresponent es rep

un cero lògic. El control dels diferents leds se realitza enviant un "1" per la línea corresponent per

a l’encesa o un "0" per a l’apagada. El funcionament d’aquest simulador de transit es pot complicar tot el que es

desitgi, tot depenent del temps que s’hi pugui dedicar durant les pràctiques d’aquesta assignatura.

Per més informació sobre el funcionament dels mòduls es poden consultar els

manuals de referència de Promax.

Page 46: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

46

L’aspecte del mòdul de Promax corresponent al simulador d’una cruïlla de transit és el que es mostra a la figura 28:

Figura 28. Mòdul simulador d’una cruïlla de transit

Page 47: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

47

2.4.2. Mòdul MM-617 de Promax (l’ascensor)

El mòdul que es pretén controlar és el MM-617, i es tracta de simular el funcionament de l’ascensor d’un edifici de cinc plantes més la planta baixa.. L’objectiu de la pràctica que ha de realitzar l’alumne és controlar el correcte funcionament dels polsadors de petició de trucada, així com el correcte moviment i funcionament de l’ascensor tan amunt com avall.

La figura 29 mostra l’aspecte del mòdul simulador d’un ascensor:

Figura 29. Diagrama del mòdul MM-617

El mòdul disposa de diferents polsadors, encara que només s’utilitzaran els sis especificats. La tira de díodes led indica: el vermell el pis actual i el verd pas entre pisos. El cercle de leds indica si l’ascensor es troba en moviment.

Las línees són les mostrades a la figura 30:

PA0-PA3 Controla l’encesa d’un led de l’ascensor PA5 Clock del comptador PA6 Sentit de gir del motor PA7 Reset del comptador

PB0-PB3 Selecció de polsadors per a escrutini PB6 Revolucions del motor PB7 Detecció de trucada

Figura 30. Relació de línies d’entrada/sortida del mòdul MM-617

Page 48: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

48

Totes les línees del MM-617 són de control i van de l’entrenador al mòdul, excepte

PB6 y PB7.

El funcionament d’aquest mòdul és molt senzill, disposem de quatre línees per l’escrutini (PB0-PB3), per saber si ens han trucat hem d’enviar por aquestes la configuració dels pisos que es puguin polsar, si la línea PB7 ens torna un "0" vol dir que s’ha premut el polsador corresponent a aquell pis, si ens torna un “1” vol dir que aquell polsador no s’ha premut i que per tant he de mirar un altre.

Per poder fer un escrutini de tots els polsadors correctament, podem utilitzar una freqüència de 1KHz.

Amb PA0-PA3 indiquem quin dels led volem encendre.

El moviment del motor el generem enviant una seqüència de 1-0-1 a PA5, d’aquesta manera avança el led. Quan s’han donat dues voltes completes es rep un “1” per PB7.

PA6 serveix per indicar si tenim que girar cap a la dreta o cap a l’esquerra, depenent de si l’ascensor puja o baixa.

Page 49: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

49

2.5. Mòdul rellotge/despertador

Per tal de poder donar una aplicació alternativa als mòduls de Promax i a fi també poder utilitzar un mòdul a les practiques d’electrònica digital, de manera addicional s’ha dissenyat i desenvolupat un mòdul totalment nou. Aquest està format per un conjunt d’entrades (commutadors) i de sortides (displays 7 segments, díodes led...) que s’han establert per poder simular el programa corresponent a la pràctica del rellotge/despertador d’Electrònica Digital, i que s’haurà de desenvolupar i executar des de l’entrenador digital d’aquest projecte.

Amb el programa o codi dissenyat per l’alumne es pretén avaluar la resposta

d’aquest i saber si aquest, un cop que s’ha implementat i executat des de l’entrenador digital es viable o no, i si posteriorment s’hi hauran d’introduir possibles modificacions o millores.

A la figura 31 es pot observar la placa hardware corresponent al mòdul del rellotge

despertador. En ella es poden observar els cinc polsadors de control a la part superior esquerra. Els dispositius descodificadors van col·locats als sòcols de setze pins del centre de la placa, cada senyal de sortida de cada un d’aquests està connectada vers una resistència i aquesta vers un dels pins del display set segments corresponent. A la part superior es poden observar els dos connectors de 50 pins mitjançant els qual aquest mòdul es pot connectar a l’entrenador i des d’on també es rep la tensió d’alimentació necessària per alimentar tota la placa.

Figura 31. Placa hardware corresponent al mòdul de rellotge despertador

Page 50: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

50

A la Figura 32 es mostra com interactuen els diferents blocs que composen l’entrenador digital amb els blocs del mòdul corresponent al rellotge/despertador, i com seria la distribució dels diferents blocs:

Figura 32. Diagrama de blocs de l’entrenador digital amb ambdós mòduls

Tant el bloc d’entrada com el de sortida formen de manera conjunta el mòdul del rellotge/despertador i serà necessari connectar-lo a l’entrenador digital perquè aquest funcioni adequadament, ja que tant l’alimentació i massa del mòdul, com els senyals de control provenen dels busos de l’entrenador. En funció de la necessitat de cada programa seran utilitzats tots o només algun dels elements que formen cada bloc.

El mòdul està alimentat a +5 Vcc mitjançant el primer dels busos que prové de

l’entrenador, i no està dotat de la possibilitat de poder ser alimentat d’una manera externa. Les senyals d’entrada i de sortida de dades provenen d’ambdós busos.

Com a bloc d’entrada s’ha dissenyat un únic bloc proveït de cinc entrades mitjançant commutadors. Aquests corresponen a les senyals de reset, set, alarma, minuts i segons respectivament.

Com a bloc de sortida, s’ha dissenyat un únic bloc de sis descodificadors/displays 7

segments. Es tracta de vint-i-quatre sortides de dades, que provenen de l’entrenador, i que van dirigides en grups de quatre vers cada un dels descodificadors dels displays 7 segments. Aquest bloc es tracta d’un bloc de descodificadors BCD associats a una sèrie de displays per a poder visualitzar les hores, minuts i segons. Per a poder visualitzar les hores serà necessari implementar dos displays 7 segments, dos displays més per als minuts, i dos últims per a visualitzar els segons.

CPLD

DISPLAYS 7 SEGMENTS

VCC

JTAG

RELLOTGE

COMMUTADORS

Page 51: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

51

La pràctica del rellotge despertador digital haurà de permetre fer funcionar el mòdul en mode rellotge, o sigui, farà que visualitzi l’hora amb una precisió de segons. Aquesta hora podrà ser modificada mitjançant l’ús dels commutadors SET, HOR i MIN. De manera addicional es podrà inicialitzar el rellotge a zero amb el commutador RESET. El mode alarma permetrà poder configurar l’hora de l’alarma mitjançant l’ús dels commutadors ALARM, HOR i MIN.

Els senyals d’entrada i sortida del mòdul rellotge despertador digital a controlar

són els següents:

- S1: bit A0 del descodificador 1 de les unitats de segon (SECS0) - S2: bit A1 del descodificador 1 de les unitats de segon (SECS1) - S3: bit A2 del descodificador 1 de les unitats de segon (SECS2) - S4: bit A3 del descodificador 1 de les unitats de segon (SECS3) - S5: bit A0 del descodificador 2 de les desenes de segon (SECS4) - S6: bit A1 del descodificador 2 de les desenes de segon (SECS5) - S7: bit A2 del descodificador 2 de les desenes de segon (SECS6) - S8: bit A3 del descodificador 2 de les desenes de segon (SECS7) - S9: bit A0 del descodificador 3 de les unitats de minut (MINS0) - S10: bit A1 del descodificador 3 de les unitats de minut (MINS1) - S11: bit A2 del descodificador 3 de les unitats de minut (MINS2) - S12: bit A3 del descodificador 3 de les unitats de minut (MINS3) - S13: bit A0 del descodificador 4 de les desenes de minut (MINS4) - S14: bit A1 del descodificador 4 de les desenes de minut (MINS5) - S15: bit A2 del descodificador 4 de les desenes de minut (MINS6) - S16: bit A3 del descodificador 4 de les desenes de minut (MINS7) - S17: bit A0 del descodificador 5 de les unitats d’hora (HORS0) - S18: bit A1 del descodificador 5 de les unitats d’hora (HORS1) - S19: bit A2 del descodificador 5 de les unitats d’hora (HORS2) - S20: bit A3 del descodificador 5 de les unitats d’hora (HORS3) - S21: bit A0 del descodificador 6 de les desenes d’hora (HORS4) - S22: bit A1 del descodificador 6 de les desenes d’hora (HORS5) - S23: bit A2 del descodificador 6 de les desenes d’hora (HORS6) - S24: bit A3 del descodificador 6 de les desenes d’hora (HORS7) - P1: commutador HOR - P2: commutador MIN - P3: commutador RESET - P4: commutador SET - P5: commutador ALARM

Page 52: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

52

La relació de línees del codi del rellotge digital és la que es mostra a la figura 33:

Nº Pin Tipus de Pin Pin assignat Nom del senyal 1 GND NO MASSA 2 I/O SI MINS 6 3 I/O SI SECS 4 4 I/O SI MINS 4 5 I/O SI Commutador AL 6 I/O SI SECS 1 7 I/O SI MINS 7 8 I/O SI MINS 0 9 I/O SI SECS 5 10 JTAG NO PROGRAMACIÓ 11 CLK IN1 SI CLOCK 12 GND NO MASSA 13 JTAG NO PROGRAMACIÓ 14 I/O SI Commutador MIN 15 I/O SI SECS 0 16 I/O SI Commutador HOR 17 I/O SI SECS 2 18 I/O SI Commutador SET 19 I/O SI MINS 2 20 I/O NO HORS 3 21 I/O SI MINS 3 22 VCC NO ALIMENTACIÓ 23 GND NO MASSA 24 I/O NO 25 I/O NO HORS 4 26 I/O NO HORS 0 27 I/O NO 28 I/O NO HORS 2 29 I/O SI SECS 6 30 I/O NO HORS 5 31 I/O NO 32 JTAG NO PROGRAMACIÓ 33 CLK IN2 NO RESET 34 GND NO MASSA 35 JTAG NO PROGRAMACIÓ 36 I/O NO HORS 7 37 I/O SI SECS 3 38 I/O NO 39 I/O SI SECS 7 40 I/O NO HORS 1 41 I/O SI MINS 1 42 I/O NO HORS 6 43 I/O SI MINS 5 44 VCC NO ALIMENTACIÓ

Figura 33. Relació de línies d’entrada/sortida del mòdul rellotge/despertador

Page 53: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

53

Un cop es posa en marxa l’entrenador mitjançant la seva connexió a la corrent i s’alimenta el mòdul del rellotge digital, aquest es posarà en marxa mostrant una hora inicial que correspondrà sempre a 00:00:00, que seria el mateix que realitzar un RESET mitjançant el seu commutador.

Per poder visualitzar al mòdul el mode de funcionament corresponent al comptatge

de l’hora del rellotge, les cinc entrades de control o commutadors d’entrada han d’estar a la posició 0.

Quan està a 1, l’entrada RESET permet posar tots els valors dels sis displays a zero

i inicialitzar el comptatge del rellotge/despertador cada cop que es desitgi, restaurant el programa a les seves condicions inicials. Mentrés continua estant a 0, l’hora queda fixada en 00:00:00. Quan el commutador RESET torna a la posició 0 el comptatge es torna a iniciar des de 00:00:00.

Quan s’acciona SET, l’hora que es mostra als displays pot ser modificada

mitjançant les entrades MIN (corresponent als minuts) i HOR (corresponent a les hores). Quan SET esta a 1 i MIN i/o HOR també ho estan, aquests s’incrementen en 1 cada senyal de rellotge (un cop per segon tal i com esta programat aquest codi). Quan es torna a posar SET a 0 o MIN i/o HOR, la incrementació de l’hora dels displays s’atura i l’hora continua comptant o corrent de manera modificada en la xifra que s’ha quedat en el moment de la commutació. Tot això succeeix sempre que el commutadors RESET i ALARM no intervinguin i es trobin en tot moment a 0.

De la mateixa manera funciona l’entrada de posada a l’hora del commutador ALARM. Quan aquest commutador es posa a la posició 1, mitjançant les entrades MIN i HOR, l’hora de l’alarma pot ser modificada o incrementada a cada senyal de rellotge fins que qualsevol dels les combinacions dels commutadors (ALARM i MIN, ALARM i HOR o ALARM, MIN i HOR) es posa a 0.

Per tornar al mode de visualització de l’hora del rellotge, les entrades dels

commutadors ALARM, SET, MIN i HOR han de tornar a la posició 0, igual que l’entrada RESET.

Page 54: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

54

2.5.1. Bloc d’entrada de commutadors

La utilització de commutadors a l’entrenador digital proporciona la possibilitat d’utilitzar aquests dispositius com a entrades de senyals, que permeten interpretar la posta en marxa d’una màquina, la pulsació d’una simple tecla, o realitzar les pulsacions d’un comptador.

Les possibilitats que ofereixen els commutadors, per tant, són múltiples, depenent de les diferents tipus de proves que es vulguin realitzar en aquest entrenador.

Aquests commutadors poden proporcionar dos valors possibles, els 0V i els 5V. Depenent de si els commutadors estan en una posició o en una altra, deixaran passar polsos de tensió vers el xip, o sigui que donaran un 1 o un 0 lògic. Per tant, aquests dispositius donen la possibilitat d’enviar dades al dispositiu CPLD tan sols amb l’alimentació de la placa i que aquest dispositiu estigui programat correctament per interpretar-los com a senyals d’entrada.

S’han implementat per aquest projecte cinc polsadors tàctils amb la fi de poder utilitzar-los com a senyals d’entrada de dades del rellotge/despertador i de la manera que més convingui en cada projecte.

2.5.2. Bloc de sortida del Descodificador i dels Displays 7 Segments

Per tal de poder visualitzar un valor codificat amb quatre bits s’utilitza un display de 7 segments LA 5241-11, format per vuit díodes led (set leds que conformen el nombre, més un vuitè led per al punt) i un circuit decodificador BCD (de quatre bits) a 7 segments (Circuit Integrat SN74LS47).

A la Figura 34 es pot apreciar l’esquema de distribució dels diferents terminals del

Circuit Integrat 74LS47:

Figura 34. Distribució del patillatge del CI 74LS47

Page 55: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

55

Es pot apreciar com les sortides dels segments que conformen els nombres o lletres a’,b’,c’,..,f’,g’ estan negades, la qual cosa vol dir que estan actives quan estan a nivell baix (L). L’assignació dels terminals per el CI 74LS48 es idèntica a la de la figura anterior amb la diferencia de que les sortides a,b,c,..,f’,g’ no estan negades, ja que en aquest circuit les sortides estan actives quan estan a nivell alt (H).

La tecnologia utilitzada és la TTL, per tant s’haurà d’alimentar a +5V el terminal marcat com Vcc i a massa el terminal marcat amb GND. La lògica és positiva (+5V = 1 lògic; 0V = 0 lògic). Les 7 sortides del decodificador es connecten al segment del display corresponent. L’encesa o no de cada un dels segments del display depèn de la taula de la veritat del CI 74LS47. L’entrada DP permet el control de l’encesa o no del punt decimal del display.

Els leds del display s’han de muntar de tal manera que cada segment s’il·lumini per separat podent combinar-los per crear nombres, del 0 al 9 (en decimal) o del 0 a la F (en hexadecimal).

Cada segment del display té un valor que identifica la seva posició. Al combinar aquests valors, es poden crear les combinacions que donin com a resultat el nombre o la lletra desitjada. Hi ha dues maneres possibles de connectar les displays, en mode ànode comú o en mode càtode comú.

L’assignació dels diferents terminals existents al display 7 segments, tant en mode d’ànode comú com en mode càtode comú és la que es mostra a la Figura 35:

Figura 35. Assignació de terminals del display 7 segments

Els terminals marcats amb la lletra G són el punt comú, que en el cas del display de càtode comú s’han de connectar a terra i en el cas del display d’ànode comú s’han de connectar a l’alimentació.

Page 56: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

56

A la Figura 36 es mostra com és físicament un display 7 segments i la manera de connectar-lo, tant en configuració d’ànode comú com en la de mode de càtode comú. Les resistències limitadores han de ser de 330 ohms i cada una d’elles queda connectada en sèrie amb cada un dels leds del display 7 segments.

Figura 36. Display 7 segments en mode ànode comú i càtode comú En mode ànode comú s’han de disposar tots els ànodes dels leds connectats a la

font d’alimentació, mentres que els càtodes restaran units per una resistència a massa per poder limitar el pas de la corrent pels diferents leds.

Quan el display 7 segments es connecta en mode de càtode comú, el càtode és qui

estarà sempre connectat a la tensió d’alimentació, mentres que els ànodes restaran connectats a massa a través de resistències que limiten el corrent.

Page 57: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

57

3. MEMÒRIA DE CALCUL 3.1. Càlcul del Circuit de Rellotge (MULTIVIBRADOR ASTABLE)

A la Figura 37 es pot apreciar el dispositiu CI 555 temporitzador, configurat com a circuit multivibrador astable.

Amb aquest circuit es pretén donar una senyal d’entrada de rellotge per al dispositiu lògic programable de l’entrenador digital, així com també una freqüència de referència per al circuit divisor de freqüència i que també serà la base de temps d’aquest.

S’ha seleccionat una freqüència de 1KHz per alimentar l’entrada de rellotge del CPLD, donat que per les aplicacions a que estarà sotmès el dispositiu lògic no requereixen una freqüència major. Tanmateix, val a dir que el dispositiu lògic programable podria treballar perfectament a freqüències de fins a l’ordre dels megahertzs, però és capaç de treballar a freqüències inferiors sense problemes.

El funcionament del circuit en mode multivibrador astable es caracteritza per una sortida amb forma d’ona quadrada (o rectangular) continua, d’ample predefinit pel dissenyador del circuit.

La senyal de sortida (terminal 3) té un nivell alt per un temps T1 i un nivell baix per un temps T2. La durada dels temps T1 i T2 depèn dels valor de les resistències RA i RB, així com també del condensador C.

Figura 37. Circuit multivibrador astable

Page 58: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

58

La tensió del condensador C varia entre 1/3Vcc i 2/3Vcc. El procés de càrrega es realitza a traves de la suma RA + RB i el de descàrrega a traves de RB. Com a resultat es genera a la sortida una ona quadrada no simètrica definida pels dos temps T1 i T2. El període T és la suma dels temps de càrrega i descàrrega del condensador, per tant, la suma de T1 + T2:

CRRTTT BA ⋅+⋅=+= )2(693.021 (2)

Les expressions per calcular el temps de càrrega i descàrrega del condensador seran les següents:

CRRCRRT BABA )(693,02ln)(1 +≈+= i CRCRT BB 693,02ln2 ≈= (3) i (4)

A la Figura 38 es poden apreciar les formes d’ona de la tensió del condensador durant els temps de càrrega (T1) i de descàrrega (T2) i l’ona quadrada resultant a la sortida del circuit:

Figura 38. Formes d’ona de càrrega i descàrrega de la tensió del condensador

El percentatge de l’ocupació durant el cicle (Duty Cycle), ve definit per la següent expressió:

BA

BA

RRRR

TTTCycleDuty

221

1

++

=+

= (5)

És molt difícil aconseguir un Duty Cycle del 0,5, tot i que fent que RB tingui un valor bastant més gran que RA es pot aproximar un valor força satisfactori.

Tal i com es pot apreciar a l’expressió, el Duty Cycle és major de 0,5 (50%), el que vol dir que l’ona quadrada no és ben bé simètrica i la durada de l’estat lògic alt és major que el del baix (T1>T2).

Page 59: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

59

Per tal de poder dimensionar les resistències, em establert un Duty Cycle de 0,6, el que significa que la ona estarà el 60% del temps a nivell alt, i el 40% del temps a nivell baix. Ja només ens queda triar el condensador C per poder trobar el valor dels resistors. Per aquest multivibrador em triat un valor de C de 100nF, un valor força freqüent per aquest tipus de circuits.

6.04,06,0

6,0

21

1 =+

=+

=TT

TCycleDuty

Amb aquests valors ja podem dimensionar la resistència RB, utilitzant l’expressió que relaciona T2 amb RB i el valor de C.

CRCRT BB 693,02ln2 ≈=

CTRB ⋅

=693,0

2

Ω=⋅⋅

= − 577210100693,0

4,06BR

Un cop que ja tenim RB, per últim ja podem dimensionar RA amb l’expressió que relaciona T1 amb RA + RB i el valor de C.

CRRCRRT BABA )(693,02ln)(1 +≈+=

BA RC

TR −

⋅=

693,01

Ω=−⋅⋅

= − 2886577210100693,0

6,06AR

El valor comercial més proper a aquestes dues resistències és de 5600Ω i 2800Ω respectivament, per tant, finalment em triat una RB = 5k6 ± 5% i una RA = 2k7 ± 5%.

De manera addicional, s’ha disposat d’un segon condensador entre els terminals 1 i 5 del CI 555 amb la finalitat de millorar el funcionament del circuit davant de possibles sorolls no desitjats induïts al terminal 5 (tensió de control).

Els terminals 2 i 6 estan sotmesos a la mateixa tensió, pel fet d’estar units físicament. Al connectar l’alimentació, el condensador C està descarregat, per tant totes dues entrades és com si estiguessin connectades a 0V.

Per últim, per poder disposar de diverses freqüències amb el CI 555 configurat en mode de multivibrador astable, existeix la possibilitat de substituir la resistència RB per una resistència variable i així poder sel·leccionar la freqüència que més ens convingui aportada pel CI 555 a la seva sortida sense tenir que disposar d’un segon circuit o sense tenir que substituir RB cada cop que es vol disposar d’una freqüència nova.

Page 60: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

60

3.2. Configuració del Divisor de Dècades

Com ja s’ha comentat a l’apartat 2.2.2.1, per aquest projecte s’han utilitzat tres dispositius 74LS90 en mode de cascada. Cada un d’ells han de dividir per 10, la freqüència que els hi arriba per l’entrada. El sistema de la divisió es realitza mitjançant un comptatge; el dispositiu compta 10 polsos a la seva entrada i llavors genera un pols o senyal de sortida.

Per aconseguir un divisor per 10, els terminals s’han de connectar de mode que ens proporcionen un divisor per 2 i un divisor per 5, per separat, i que combinades dividiran per 10. Les entrades de comptatge estan inhibides i les quatre sortides posades a zero lògic o a un comptatge binari codificat a decimal (BCD) de nou mitjançant línies de reset directes amb portes.

Com es pot apreciar en l’anterior diagrama, la sortida QA no està connectada internament a les següents etapes de comptatge per una major independència i gran versatilitat.

A la Figura 39 es mostra la configuració per obtenir una divisió per 10 en BCD, mitjançant el dispositiu 74LS90:

Figura 39. Comptador de dècades

Per connectar entre si comptadors síncrones, a fi de configurar un comptador més gran, es necessari afegir a cada comptador una entrada d’habilitació de comptatge E i una sortida que s’activi quan el comptador arriba al seu estat màxim màx; d’aquesta manera connectant la sortida màx d’un comptador amb l’entrada E del següent, el segon dels comptadors s’incrementarà en una unitat quan el primer d’ells hagi arribat al seu valor màxim de comptatge.

En la seva construcció amb biestables D, l’entrada d’habilitació E d’un comptador ha de condicionar, a través de producte booleà directe, totes les funcions d’activació de les entrades dels biestables i, a més, quan E és 0 ha de mantenir-se el valor anterior qi dels mateixos:

Di = E . (funció de comptatge) + E . qi (6)

Page 61: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

61

La sortida màx coincideix amb el terme mínim reduït corresponent a l’últim estat n-1 multiplicat booleanament per l’habilitació E:

- per un comptador complet de 4 biestables màx = E.q3.q2.q1.q0 - per un comptador parcial mòdul 10 màx = E.q3.q0

Per detectar l’últim dels estats d’un comptador, pot utilitzar-se el terme mínim reduït corresponent a n-1, definit com el producte d’aquelles variables d’estat amb valor en aquest estat igual a 1. No es necessari utilitzar el terme mínim complet, ja que el reduït també pren valor 1 per l’anomenat estat; es cert que aquest terme mínim reduït també val 1 per alguns estats posteriors, però tals estats no són possibles en el comptador i no tenen cap repercussió. En el comptador mòdul 10, com per exemple l’utilitzat en aquest projecte, l’últim estat és el 9, el terme mínim reduït del qual q3.q0 val 1 per al 9 i, també, per el 11(1011), el 13 (1101); però el comptatge mòdul 10 passa de 9 a 0, de manera que mai s’arriba als altres estats amb valor 1. A la Figura 40 es pot observar com obtenir un comptador mòdul 1000 a partir de tres dispositius 74LS90:

Figura 40. Connexió de tres comptadors de dècades síncrones en mòdul 1000

El comptador de la figura anterior és un comptador mòdul 1000 (10X10X10) que compta en BCD, ja que dada un dels comptadors que ell composen es mòdul 10 (comptador de dècades); les seves sortides es representaran sobre visualitzadors de 7 segments, a través dels convertidors de BCD a 7 segments.

Cada sortida màx, a més del terme mínim reduït de l’últim estat, té que estar

multiplicada per l’entrada d’habilitació del comptador. La informació que la sortida màx envia als altres comptadors següents requereix, no només que el propi comptador es trobi en el seu últim estat (màxim), sinó també que tots els comptadors anteriors es trobin en la mateixa situació de màxim. En la figura anterior el comptador més significatiu té que habilitar-se quan els dos anteriors es troben en el seu estat 99; no n’hi ha prou amb que l’inmediatament anterior es trobi a 9 (doncs, en tal cas, comptaria: ...089, 090, 191, 292, 393, 494, ...).

El primer dels dispositius 74LS90 té connectada l’entrada de rellotge CP1

(terminal 1) a la sortida del circuit generador de rellotge del 555 i a la vegada a la sortida Q0. Per reduir sorolls i aconseguir una ona quadrada més neta, s’han implementat dos inversors entre la sortida del circuit generador de rellotge i l’entrada del primer dels circuits integrats 74LS90.

Page 62: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

62

3.3. Càlcul del Convertidor BCD

Els dispositius escollits pel bloc descodificador de BCD a display 7 segments són els 74LS47. Els displays 7 segments seleccionats per a dur a terme aquest projecte han estat de configuració d’ànode comú.

A cada un dels dispositius 7447 li arriba una codificació en BCD per 4 dels seus terminals des del dispositiu lògic programable. Per poder ser interpretada pel display 7 segments, aquesta codificació ha de ser descodificada prèviament.

Entre cada una de les 7 sortides de cada dispositiu descodificador 7447 i les 7 entrades dels display 7 segments, s’ha d’incorporar una resistència limitadora de corrent en sèrie perquè funcioni de manera adequada.

El primer que s’ha de fer es fixar una corrent de referència If. Segons el fabricant aquesta corrent ha de ser de 10mA. Si tenim una tensió de referència de 5Vcc i una tensió de led Vled (per cada un dels segments del display) de 1,5V, la resistència resultant haurà de ser:

IfVledVccRled −

= (7)

Ω=⋅−

= − 3501010

5,153

VVRled

El valor comercial més proper per a una resistència de 350Ω és de 330Ω , per tant, finalment em seleccionat un conjunt de resistències per al convertidor BCD de Rled = 330Ω ± 5%.

Page 63: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

63

4. JOC DE PROVES

Amb la finalitat de poder fer funcionar i provar aquest entrenador digital, s’han dissenyat una sèrie de programes de prova o de possibles pràctiques. Aquestes pràctiques s’han provat a l’entrenador i s’ha demostrat la seva viabilitat mitjançant el seu correcte funcionament primer a la placa de proves i finalment a les plaques PCB del disseny definitiu.

La primera d’aquestes pràctiques es tracta d’un comptador UP-DOWN de mòdul 8,

amb un únic display i que visualitza un nombre que va del zero al set, o sigui, que té o pot mostrar 23 resultats possibles. Aquest comptador té una única entrada de control mitjançant un commutador que cada vegada que canvia de posició permet fer un comptatge de 0 fins a 7, o sigui, ascendent, o de 7 a 0, o sigui, descendent. Un cop el comptatge arriba al seu nombre màxim (7 en el cas del comptatge ascendent) o al seu nombre mínim (0 en el cas del comptatge descendent), aquest torna a començar pel nombre que havia començat, o sigui, zero o set, segons faci el comptatge de manera ascendent o descendent, respectivament.

La finalitat d’haver realitzat aquesta primera pràctica és la de fer un primer testatge

de l’entrenador d’una manera fàcil amb aquest senzill comptador. D’aquesta manera s’ha pogut comprovar que tant el dispositiu CPLD, com el generador de rellotge amb el seu divisor de dècades, i almenys un interruptor i un descodificador amb un display 7 segments associat funcionen de manera correcta, a més d’un dels cables de connexions i de l’alimentació.

A la figura 41 es pot observar l’entrenador digital implementat a placa de proves i

connectat a una font d’alimentació del laboratori per a PFC’s, mentrestant estava funcionant amb el programa del comptador UP-DOWN:

Figura 41. L’entrenador digital implementat a la placa de proves

Page 64: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

64

Aquesta primera pràctica s’ha dissenyat i implementat sobre una placa prototipus de tops de fibra de vidre de 16 cm x 23 cm. El motiu de la utilització d’aquesta placa i no una PCB directament, és la fàcil substitució de possibles components alhora de fer canvis a la placa i la facilitat també alhora de realitzar canvis a les pistes d’aquesta (ja que es tracta de cables i no de pistes reals), tot preveient que el disseny podria no esser el correcte a la primera i que possiblement s’haurien de realitzar canvis un cop feta una primera prova a la placa.

La segona de les pràctiques a implementar ha estat la del rellotge-despertador, pròpiament dita. Aquesta pràctica també s’ha muntat inicialment sobre la placa prototipus de tops. Un cop s’ha simulat el programa i se n’ha verificat el seu correcte funcionament sobre la placa de proves, manipulant totes les possibles entrades i observant-ne el seu comportament a les sortides, s’ha procedit al disseny de les dues plaques PCB definitives mitjançant el programa ORCAD Layout.

Aquesta segona pràctica també serveix per a realitzar una petita demostració durant

la defensa del Projecte Final de Carrera davant del tribunal del DEEEA de l’ETSE, que és l’encarregat d’avaluar aquest projecte.

A la figura 42 es pot observar l’entrenador digital implementat inicialment a la

placa prototipus de tops, previ al disseny definitiu de la placa PCB i funcionant en mode rellotge:

Figura 42. L’entrenador digital implementat a la placa prototipus

Page 65: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

65

A l’apartat dedicat als annexes d’aquesta memòria s’hi ha inclòs un petit manual o guia d’ús de l’entrenador digital. En aquesta guia s’explica de manera breu el funcionament tant del mòdul corresponent al dispositiu CPLD com del mòdul del rellotge/despertador. Per poder programar els diferents codis o programes al dispositiu del mòdul del CPLD, s’ha utilitzat un PC dotat d’un port paral·lel del laboratori 213, destinat al desenvolupament dels PFC’s de l’ETSE, un cable de xarxa i un connector que alhora funciona com un adaptador de port paral·lel dedicat a impressores a RJ 45, per poder-se connectar a la placa hardware. A la figura 43 es pot observar l’adaptador RJ 45/port paral·lel que s’utilitza per programar els dispositius CPLD de l’entrenador digital:

Figura 43. Adaptador RJ 45/port paral·lel

Page 66: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

66

5. PLÀNOLS 5.1. Circuit Generador de Rellotge (MULTIVIBRADOR ASTABLE) 5.1.1. Esquema Elèctric

Figura 44. Esquema elèctric del circuit multivibrador astable amb el CI 555 5.1.2. Llistat de Components

ÍTEM QUANTITAT REFERÈNCIA DESCRIPCIÓ

1 1 RA Resistència de 2k8Ω

2 1 RB Resistència de 5k6Ω

3 1 Rled Resistència de 330Ω

4 1 Red_LED Diode Led vermell

5 1 C Condensador de 10 uF

6 1 C1 Condensador de 10 nF

7 1 NE 555 CI generador de rellotge

Page 67: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

67

5.2. Circuit Divisor de Freqüència 5.2.1. Esquema Elèctric

Figura 45. Esquema elèctric del circuit divisor de dècades

5.2.2. Llistat de Components

ÍTEM QUANTITAT REFERÈNCIA DESCRIPCIÓ

1 1 R Resistència de 330Ω

2 4 CI 74LS90 CI divisors de freqüència

Page 68: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

68

5.3. Circuit Generador de Rellotge i Divisor de Freqüència 5.3.1. Esquema Elèctric

Figura 46. Esquema elèctric del multivibrador astable combinat amb el divisor

Page 69: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

69

5.4. Circuit Descodificador BCD i Displays 7 Segments 5.4.1. Esquema Elèctric

Figura 47. Esquema elèctric del circuit descodificador BCD a display 7 segments

Page 70: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

70

5.4.2. Llistat de Components

ÍTEM QUANTITAT REFERÈNCIA DESCRIPCIÓ

1 42 R Resistència de 330Ω

2 6 CI SN 74LS47 Descodificador BCD

3 6 Display Displays 7 segments

Page 71: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

71

5.5 Circuits realitzats amb el programa Orcad Capture 5.5.1. Esquema de la placa CPLD

Figura 48. Esquema elèctric del mòdul CPLD

Page 72: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

72

5.5.2. Esquema de la placa del rellotge/despertador

Figura 49. Esquema elèctric del mòdul del rellotge/despertador

Page 73: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

73

5.6. Circuits realitzats amb el programa Orcad Layout

El disseny de les dues plaques hardware corresponents a aquest projecte s’ha implementat en plaques de fibra de vidre de dues capes cadascuna d’elles. Aquestes plaques s’han realitzat als laboratoris per a tal fi del DEEEA.

Als esquemes de les figures 50 i 51 la capa TOP o cara superior, té marcades les

seves pistes en color verd, i està a la mateixa cara on estan situats els components electrònics de la mateixa. La capa BOTTOM o inferior té marcades les seves pistes en color vermell, i és també en aquesta cara on es realitzaran la majoria de soldadures dels components. 5.6.1. Esquema de la placa CPLD

Figura 50. Diagrama de pistes del PCB del mòdul CPLD

Page 74: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

74

5.6.2. Esquema de la placa del rellotge/despertador

Figura 51. Diagrama de pistes del PCB del mòdul del rellotge/despertador

Page 75: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

75

6. INDEX DE FIGURES

Figura 1. Diagrama de blocs d’una SPLD 6 Figura 2. Composició d’un bloc lògic 6 Figura 3. Diagrama de programació del bloc lògic d’una PROM 7 Figura 4. Diagrama de programació d’un bloc lògic d’una PLA 9 Figura 5. Diagrama de programació d’un bloc lògic PAL 10 Figura 6. Els dispositius GAL 16V8 i 20V8 de Lattice 11 Figura 7. Arquitectura bàsica d’un CPLD 12 Figura 8. Diagrama de blocs d’una FPGA 17 Figura 9. Encapsulat PLCC de 44 pins de la família ispMACH 4A 19 Figura 10. Estructura d’un bloc PAL en un dispositiu ispMACH 4A 21 Figura 11. Diagrama de connexions del bus de dades JTAG 24 Figura 12. Cable ispDOWNLOAD per PC mitjançant port Paral·lel 24 Figura 13. Finestra d’inici de l’isp LEVER 27 Figura 14. Finestra de l’isp LEVER Project Navigator 28 Figura 15. Connectivitat de l’entrenador digital amb els diferents mòduls 30 Figura 16. Placa hardware de l’entrenador digital 31 Figura 17. Diagrama de blocs de l’entrenador digital amb ambdós mòduls 32 Figura 18. Distribució del patillatge del dispositiu isp MACH 4A5 64/32 35 Figura 19. Assignació de pins del dispositiu isp MACH 4A5 64/32 36 Figura 20. Distribució del patillatge del CI 555 37 Figura 21. Diagrama de blocs del 555 38 Figura 22. Assignació de terminals del CI 74LS90 39 Figura 23. Gràfic d’estats d’un comptador mòdul 10 40 Figura 24. Assignació de terminals del CI 74LS04 41 Figura 25. Assignació de terminals del CI 74LS153 44 Figura 26. Aspecte de la cruïlla de carrers del mòdul MM-601 44 Figura 27. Relació de línies d’entrada/sortida del mòdul MM-601 45 Figura 28. Mòdul simulador d’una cruïlla de transit 46 Figura 29. Diagrama del mòdul MM-617 47 Figura 30. Relació de línies d’entrada/sortida del mòdul MM-617 47 Figura 31. Placa hardware corresponent al mòdul del rellotge despertador 49 Figura 32. Diagrama de blocs de l’entrenador digital amb ambdós mòduls 50 Figura 33. Relació de línies d’I/O del mòdul rellotge despertador 52 Figura 34. Distribució del patillatge del CI 74LS47 54 Figura 35. Assignació de terminals del display 7 segments 55 Figura 36. Display 7 segments en mode ànode comú i càtode comú 56 Figura 37. Circuit multivibrador astable 57 Figura 38. Formes d’ona de càrrega i descàrrega de la tensió del condensador 58 Figura 39. Comptador de dècades 60 Figura 40. Connexió de tres comptadors de dècades síncrones en mòdul 1000 61 Figura 41. L’entrenador digital implementat a la placa de proves 63 Figura 42. L’entrenador digital implementat a la placa prototipus 64

Page 76: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

76

Figura 43. Adaptador RJ 45/port paral·lel 65 Figura 44. Esquema elèctric del circuit multivibrador astable amb el CI 555 66 Figura 45. Esquema elèctric del circuit divisor de dècades 67 Figura 46. Esquema elèctric del multivibrador astable combinat amb el divisor 68 Figura 47. Esquema elèctric del circuit descodificador BCD a display 7 segments 69 Figura 48. Esquema elèctric del mòdul CPLD 71 Figura 49. Esquema elèctric del mòdul del rellotge/despertador 72 Figura 50. Diagrama de pistes del PCB del mòdul CPLD 73 Figura 51. Diagrama de pistes del PCB del mòdul del rellotge/despertador 74

Page 77: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

77

7. ANNEXES 7.1. Codi en ABEL A continuació passarem a detallar el codi en llenguatge ABEL tan del programa del comptador UP-DOWN com dels blocs que composen el programa del rellotge/despertador utilitzats en aquest projecte. El programa corresponent al comptador UP-DOWN consta d’un únic bloc, degut a la seva simplicitat i als pocs elements que en ell interactuen (l’entrada del senyal de rellotge, l’entrada de control i les tres sortides vers el circuit descodificador. En el segon dels programes, corresponent al rellotge/despertador, degut a la seva major complexitat i a la gran quantitat d’entrades i sobretot de sortides de que disposa ha necessitat de la implementació de fins a sis mòduls diferents. 7.1.1. Codi del comptador UP-DOWN: MODULE cont TITLE 'cont up-down' CLK pin 11 ; "el senyal de rellotge del PLCC és la 11 X pin 2 ; "entrada de control Q2,Q1,Q0 pin 16,15,14 istype 'reg' ; "indica que les sortides són seqüencials "definició d'ESTATS ESTATS = [Q2,Q1,Q0]; I0 = [0,0,0]; I1 = [0,0,1]; I2 = [0,1,0]; I3 = [0,1,1]; I4 = [1,0,0]; I5 = [1,0,1]; I6 = [1,1,0]; I7 = [1,1,1]; Equations ESTATS.clk = CLK; State_diagram ESTATS State I0: if X then I1 else I7 State I1: if X then I2 else I0 State I2: if X then I3 else I1 State I3: if X then I4 else I2 State I4: if X then I5 else I3 State I5: if X then I6 else I4 State I6: if X then I7 else I5 State I7: if X then I0 else I6 END

Page 78: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

78

7.1.2. Codi del rellotge/despertador 7.1.2.1 Mòdul Top despertador MODULE top despertador TITLE 'top-level del despertador' "fixats per a connexions 6432 "hores, minuts, st, alarm, srst, rst, clock pin 42,31,32,48,40,20,16; "hrs7..hrs0, mins7..mins0 pin 11,29,3,64,65,27,66,46,7,37,24,4,25,22,23,41; st, alarm pin 18,5; rst, clock pin; hores, minuts pin 16,14; hrs7..hrs0 pin; mins7..mins0 pin 7,2,43,4,21,19,41,8; secs7..secs4 pin 39,29,9,3; secs3..secs0 pin 37,17,6,15; time_inc INTERFACE (hores, minuts, st, alarm, mins5..mins0, clock, reset -> inc_hrs, inc_mins, secs5..secs0); time_counter INTERFACE (inc_hrs, inc_mins, reset, clock -> hrs4..hrs0, mins5..mins0); setalarm INTERFACE (alarm, inc_hrs, inc_mins, reset, clock -> hrs4..hrs0, mins5..mins0); mux INTERFACE(alarm, alhrs4..alhrs0, almins5..almins0, tihrs4..tihrs0, timins5..timins0, tisecs5..tisecs0 -> hrs4..hrs0, mins5..mins0, secs5..secs0); convertor INTERFACE (hrs_in4..hrs_in0, mins_in5..mins_in0, secs_in5..secs_in0 -> hrs5..hrs0, mins6..mins0, secs6..secs0); time_control FUNCTIONAL_BLOCK time_inc; time_reg FUNCTIONAL_BLOCK time_counter; alarma FUNCTIONAL_BLOCK setalarm; mplex FUNCTIONAL_BLOCK mux; conversor FUNCTIONAL_BLOCK convertor; equations alarma.alarm = alarm; alarma.reset = rst; alarma.clock = clock; alarma.inc_hrs = hores; alarma.inc_mins = minuts; time_control.hores = hores; time_control.minuts = minuts; time_control.st = st; time_control.alarm = alarm; time_control.clock = clock; time_control.reset = rst; [time_control.mins5..time_control.mins0] = [time_reg.mins5..time_reg.mins0];

Page 79: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

79

time_reg.inc_hrs = time_control.inc_hrs; time_reg.inc_mins = time_control.inc_mins; time_reg.reset = rst; time_reg.clock = clock; mplex.alarm = alarm; [mplex.tihrs4..mplex.tihrs0] = [time_reg.hrs4..time_reg.hrs0]; [mplex.timins5..mplex.timins0] = [time_reg.mins5..time_reg.mins0]; [mplex.tisecs5..mplex.tisecs0] = [time_control.secs5..time_control.secs0]; [mplex.alhrs4..mplex.alhrs0] = [alarma.hrs4..alarma.hrs0]; [mplex.almins5..mplex.almins0] = [alarma.mins5..alarma.mins0]; [conversor.hrs_in4..conversor.hrs_in0] = [mplex.hrs4..mplex.hrs0]; [conversor.mins_in5..conversor.mins_in0] = [mplex.mins5..mplex.mins0]; [conversor.secs_in5..conversor.secs_in0] = [mplex.secs5..mplex.secs0]; [hrs5..hrs0] = [conversor.hrs5..conversor.hrs0]; [mins6..mins0] = [conversor.mins6..conversor.mins0]; [secs6..secs0] = [conversor.secs6..conversor.secs0]; hrs7 = 0; hrs6 = 0; hrs5 = 0; mins7 = 0; secs7 = 0; END

Page 80: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

80

7.1.2.2 Mòdul conversor MODULE convertor INTERFACE (hrs_in4..hrs_in0, mins_in5..mins_in0, secs_in5..secs_in0 -> hrs5..hrs0, mins6..mins0, secs6..secs0); TITLE ‘Conversor de hores, minuts i segons en binari a 7 segments’ @DCSET hrs_in4..hrs_in0 pin; mins_in5..mins_in0 pin; secs_in5..secs_in0 pin; hrs5..hrs0, mins6..mins0, secs6..secs0 pin istype ‘dc,com’; ENTRA_H = [hrs_in4..hrs_in0]; ENTRA_M = [mins_in5..mins_in0]; ENTRA_S = [secs_in5..secs_in0]; SURT_HD = [hrs5..hrs4]; SURT_HU = [hrs3..hrs0]; SURT_MD = [mins6..mins4]; SURT_MU = [mins3..mins0]; SURT_SD = [secs6..secs4]; SURT_SU = [secs3..secs0]; equations TRUTH_TABLE (ENTRA_H -> [SURT_HD, SURT_HU] ) 0 -> [0,0]; 1 -> [0,1]; 2 -> [0,2]; 3 -> [0,3]; 4 -> [0,4]; 5 -> [0,5]; 6 -> [0,6]; 7 -> [0,7]; 8 -> [0,8]; 9 -> [0,9]; 10 -> [1,0]; 11 -> [1,1]; TRUTH_TABLE (ENTRA_M -> [SURT_MD, SURT_MU] ) 0 -> [0,0]; 1 -> [0,1]; 2 -> [0,2]; 3 -> [0,3]; 4 -> [0,4]; 5 -> [0,5]; 6 -> [0,6]; 7 -> [0,7]; 8 -> [0,8]; 9 -> [0,9]; 10 -> [1,0]; 11 -> [1,1]; 12 -> [1,2];

Page 81: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

81

13 -> [1,3]; 14 -> [1,4]; 15 -> [1,5]; 16 -> [1,6]; 17 -> [1,7]; 18 -> [1,8]; 19 -> [1,9]; 20 -> [2,0]; 21 -> [2,1]; 22 -> [2,2]; 23 -> [2,3]; 24 -> [2,4]; 25 -> [2,5]; 26 -> [2,6]; 27 -> [2,7]; 28 -> [2,8]; 29 -> [2,9]; 30 -> [3,0]; 31 -> [3,1]; 32 -> [3,2]; 33 -> [3,3]; 34 -> [3,4]; 35 -> [3,5]; 36 -> [3,6]; 37 -> [3,7]; 38 -> [3,8]; 39 -> [3,9]; 40 -> [4,0]; 41 -> [4,1]; 42 -> [4,2]; 43 -> [4,3]; 44 -> [4,4]; 45 -> [4,5]; 46 -> [4,6]; 47 -> [4,7]; 48 -> [4,8]; 49 -> [4,9]; 50 -> [5,0]; 51 -> [5,1]; 52 -> [5,2]; 53 -> [5,3]; 54 -> [5,4]; 55 -> [5,5]; 56 -> [5,6]; 57 -> [5,7]; 58 -> [5,8]; 59 -> [5,9]; TRUTH_TABLE (ENTRA_S -> [SURT_SD, SURT_SU] ) 0 -> [0,0]; 1 -> [0,1]; 2 -> [0,2]; 3 -> [0,3]; 4 -> [0,4]; 5 -> [0,5]; 6 -> [0,6]; 7 -> [0,7]; 8 -> [0,8]; 9 -> [0,9];

Page 82: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

82

10 -> [1,0]; 11 -> [1,1]; 12 -> [1,2]; 13 -> [1,3]; 14 -> [1,4]; 15 -> [1,5]; 16 -> [1,6]; 17 -> [1,7]; 18 -> [1,8]; 19 -> [1,9]; 20 -> [2,0]; 21 -> [2,1]; 22 -> [2,2]; 23 -> [2,3]; 24 -> [2,4]; 25 -> [2,5]; 26 -> [2,6]; 27 -> [2,7]; 28 -> [2,8]; 29 -> [2,9]; 30 -> [3,0]; 31 -> [3,1]; 32 -> [3,2]; 33 -> [3,3]; 34 -> [3,4]; 35 -> [3,5]; 36 -> [3,6]; 37 -> [3,7]; 38 -> [3,8]; 39 -> [3,9]; 40 -> [4,0]; 41 -> [4,1]; 42 -> [4,2]; 43 -> [4,3]; 44 -> [4,4]; 45 -> [4,5]; 46 -> [4,6]; 47 -> [4,7]; 48 -> [4,8]; 49 -> [4,9]; 50 -> [5,0]; 51 -> [5,1]; 52 -> [5,2]; 53 -> [5,3]; 54 -> [5,4]; 55 -> [5,5]; 56 -> [5,6]; 57 -> [5,7]; 58 -> [5,8]; 59 -> [5,9]; END

Page 83: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

83

7.1.2.3 Mòdul multiplexor MODULE mux INTERFACE(alarm, alhrs4..alhrs0, almins5..almins0, tihrs4..tihrs0, timins5..timins0, tisecs5..tisecs0 -> hrs4..hrs0, mins5..mins0, secs5..secs0); TITLE ‘visualitza hora o alarma en funcio del pin alarm’ alarm, alhrs4..alhrs0, almins5..almins0, tihrs4..tihrs0, timins5..timins0, tisecs5..tisecs0 pin; hrs4..hrs0, mins5..mins0, secs5..secs0 pin istype ‘com’; alhrs=[alhrs4..alhrs0]; almins=[almins5..almins0]; tihrs=[tihrs4..tihrs0]; timins=[timins5..timins0]; tisecs=[tisecs5..tisecs0]; hrs=[hrs4..hrs0]; mins=[mins5..mins0]; secs=[secs5..secs0]; equations when (alarm==1) then hrs=alhrs; mins=almins; secs=0; else hrs=tihrs; mins=timins; secs=tisecs; END

Page 84: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

84

7.1.2.4 Mòdul d’alarma MODULE setalarm INTERFACE (alarm, inc_hrs, inc_mins, reset, clock -> hrs4..hrs0, mins5..mins0); TITLE ‘Comptador de la part del rellotge’ @DCSET @DCSTATE alarm, inc_hrs, inc_mins, reset, clock pin; hrs4..hrs0, mins5..mins0 pin istype ‘dc,reg’; hrs=[hrs4..hrs0]; mins=[mins5..mins0]; equations hrs.clk = clock; mins.clk = clock; hrs.ar = reset; mins.ar = reset; when ((inc_hrs==1)&(alarm==1)) then when (hrs == 11) then hrs := 0; else hrs := hrs + 1; else hrs := hrs; when ((inc_mins==1)&(alarm==1)) then when (mins == 59) then mins = 0; else mins := mins + 1; else mins:=mins; END

Page 85: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

85

7.1.2.5 Mòdul comptador MODULE time_counter INTERFACE (inc_hrs, inc_mins, reset, clock -> hrs4..hrs0, mins5..mins0); TITLE 'Comptador de la part del rellotge' @DCSET @DCSTATE inc_hrs, inc_mins, reset, clock pin; hrs4..hrs0, mins5..mins0 pin istype 'dc,reg'; hrs=[hrs4..hrs0]; mins=[mins5..mins0]; equations hrs.clk = clock; mins.clk = clock; hrs.ar = reset; mins.ar = reset; when (inc_mins==1) then when (mins == 59) then mins := 0; else mins := mins + 1; else mins:=mins; when (inc_hrs==1) then when (hrs == 11) then hrs := 0; else hrs := hrs + 1; else hrs:=hrs; END

Page 86: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

86

7.1.2.6 Mòdul d’increment de temps MODULE time_inc INTERFACE (hores, minuts, st, alarm, mins5..mins0, clock, reset -> inc_hrs, inc_mins, secs5..secs0); TITLE 'Control del comptador de hora' @DCSET hores, minuts, alarm, st pin; mins5..mins0 pin; secs5..secs0 pin istype 'dc,reg'; inc_hrs, inc_mins pin istype 'dc,com'; clock, reset pin; secs=[secs5..secs0]; mins=[mins5..mins0]; equations secs.clk = clock; secs.ar = reset; when ((st==1)&(alarm==0)) then when (hores==1) then inc_hrs=1; else inc_hrs=0; when (minuts==1) then inc_mins=1; else inc_mins=0; secs:=0; else when (secs==59) then inc_mins=1; secs:=0 when (mins==59) then inc_hrs=1; else inc_hrs=0; else inc_mins=0; inc_hrs=0; secs:=secs+1; END

Page 87: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

87

7.2. Guia ràpida d’ús de l’entrenador digital Aquesta guia o petit manual de funcionament pretén fer més fàcil i didàctica la comprensió i posada en marxa d’aquest entrenador digital, dissenyat i implementat per a dur a terme aquest projecte. La placa de circuit imprès corresponent a l’entrenador rep una tensió d’alimentació de 5Vcc al connector de dues vies que té instal·lat, provinent d’una font d’alimentació externa a la placa. Mitjançant els pins 43/44 i 49/50 del primer dels busos (massa i alimentació respectivament) de que disposa la placa del mòdul CPLD, s’alimenta el mòdul del rellotge/despertador, ja que aquest no pot ser alimentat de manera externa com la primera de les plaques hardware. Per tant, el mòdul del rellotge/despertador depèn exclusivament del primer dels mòduls tan pel que fa al control de la placa com a l’alimentació de la mateixa.

Cada vegada que es connecta a l’alimentació, el dispositiu CPLD així com tota la resta de circuits integrats del mòdul CPLD queden alimentats, i si el mòdul del rellotge/despertador o qualsevol altre dels mòduls de Promax hi esta connectat en aquell moment o es connecta posteriorment, aquest també restarà connectat a la corrent. En aquest cas, si el dispositiu CPLD ha estat ja prèviament programat, aquest executarà el codi que estigui gravat al seu interior amb les condicions inicials de que disposa el programa.

En el cas de que el dispositiu CPLD no tingui el software o el codi instal·lat, o

disposi d’un programa del que volem prescindir i en necessitem instal·lar un de nou, quan aquest mòdul esta alimentat, té habilitades les entrades de programació per a poder ser gravat o reprogramat fàcilment en el moment que es precisi mitjançant el software de gravació de dispositius ispvmSystem de Lattice que ha d’estar prèviament instal·lat en un PC que disposi de port paral·lel.

Aquest programa realitza un testatge de les quatre línies de programació i en

verifica el seu estat, un cop verifica el seu correcte funcionament, permet gravar l’arxiu JEDEC que s’ha generat prèviament des del software de programació ispLEVER. Prèviament a l’instant de la gravació, el programa ispLEVER esborra qualsevol codi que hi pugui haver instal·lat dintre del dispositiu CPLD, i un cop esborrat, es llavors quan grava el codi JEDEC al dispositiu. Un cop gravat el CPLD, aquest ja es posa en marxa amb el nou programa (es pot visualitzar només si té connectat algun mòdul), l’’ispvmSystem ens informa de que el procés de gravació s’ha fet correctament i ja es pot desconnectar el cable de xarxa que prové del PC.

Page 88: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

88

Un cop la placa hardware corresponent a l’entrenador té gravat el codi

corresponent al mòdul que hi té connectat, ja es pot començar a treballar amb aquests dos mòduls.

L’entrada CLK del CPLD es genera des d’un circuit multivibrador astable i els

comptadors de dècades que estan connectats en cascada a las sortida d’aquest i que estan instal·lats a la placa. Es pot regular la freqüència que es necessiti mitjançant dos commutadors que també estan instal·lats a la mateixa placa. Aquests dos commutadors poden proporcionar quatre possibles valors digitals combinant-los entre ells 00, 01, 10 i 11. Aquests commutadors estan connectats a les entrades de control del multiplexor que permet seleccionar d’aquesta manera qualsevol de les quatre senyals de freqüència que provenen del generador de rellotge i dels comptadors.

Page 89: Pràctiques d’electrònica digital amb els mòduls MM-6XX de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/650pub.pdf · Descripció de l’ABEL-HDL 29 2. DISSENY DE L’ENTRENADOR

89

8. BIBLIOGRAFIA - Floyd, Thomas L. “Fundamentos de Electrónica Digital”, 2002, Ed.

Prentice Hall. - Nelson, Nagle, Carroll, Irwin, “Análisis y diseño de circuitos lógicos

digitales”, 1997, Ed. Prentice Hall. - Tocci, Ronald J. “Sistemas Digitales. Principios y aplicaciones”, 2002,

Ed. Thomson. - B. Iñiguez, L.F. Marsal, N. Cañellas. Introducció als sistemes digitals,

2004, Ed. Cossetània.

- Enrique Maldonado, L. Jacobo, Mª Dolores Valdés. Dispositivos Lógicos Programables y sus aplicaciones, 2002, Ed. Paraninfo.

- http://www.latticesemi.com

- http://www.cadence.com/products/orcad/pages/default.aspx