Problemes per al disseny del Projecte d’Aplicació...

55
Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital Francesc Josep Sànchez i Robert Ramon Casanella Alonso

Transcript of Problemes per al disseny del Projecte d’Aplicació...

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

Francesc Josep Sànchez i Robert Ramon Casanella Alonso

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

2

Índex dels problemes

1 Perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques.....................................3

1.1 Descodificador hexadecimal per a visualitzador de 7 segments (DEC HEX-7SEG) ...................3 1.2 Codificador de teclat de 4x4 tecles...............................................................................................6 1.3 Disseny modular del descodificador 74LS138 i aplicació com DEMUX8.................................10 1.4 Disseny d’un xip codificador de 8 a 3 línies...............................................................................12 1.5 Disseny modular d’un sumador complet de 4 bits......................................................................14 1.6 Convertidor de codi binari a BCD .............................................................................................16 1.7 Sumador total de nombres BCD.................................................................................................18 1.8 Comparador de nombres enters codificats en Ca2.....................................................................21 1.9 Sistema de comptatge de places ocupades d’un pàrking............................................................22

2 Problemes d’unitats de control i unitats operatives ......................................................................23

2.1 Design of a simple frequency counter of 1MHz range and 1Hz resolution ................................23 2.2 4 bits Up-Down Johnson Counter, Right-Left Rotator & and Parallel Register ........................26 2.3 Disseny simple del control de semàfors d’una cruïlla de carrers ..............................................27 2.4 Control més avançat de semàfors d’una cruïlla de carrers........................................................29 2.5 Disseny del velocímetre d’una bicicleta .....................................................................................32 2.6 Descodificació d’un banc de memòria de µC.............................................................................37 2.7 Commutador digital de llum de 2 i 3 posicions ..........................................................................40 2.8 Control digital d’un motor pas a pas .........................................................................................41 2.9 Design and simulation of a 4-bit 74169-like presettable synchronous 4-bit up/down binary counter....................................................................................................................................................44 2.10 Control digital del nivell d’un dipòsit d’aigua ...........................................................................46 2.11 Disseny d’un transmissor d’un port sèrie RS-232 ......................................................................47 2.12 Sumador de 4 bits seqüencial .....................................................................................................48 2.13 Disseny d’un comptador Gray universal ....................................................................................49 2.14 Disseny d’un registre de desplaçament universal ......................................................................50 2.15 Accés per teclat codificat............................................................................................................52

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

3

1 Perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

1.1 Descodificador hexadecimal per a visualitzador de 7 segments (DEC HEX-7SEG)

La Fig. 1.1-1 representa un visualitzador de 7 segments d’ànode comú d’Agilent HDSP-311Y de color groc (www.semiconductor.agilent.com).

Fig. 1.1-1 Visualitzador HDSP-313Y d’Agilent en ànode comú

Volem representar en aquest visualitzador tots els nombres de 0 a 9 i també les lletres que corresponen als símbols hexadecimals A, b, C, d, E, F. Com a punt de partida hem trobat el xip descodificador de BCD a 7 segments 74LS47, que permet representar els 10 primers símbols numèrics, però quan a l’entrada hi ha el codi corresponent a les lletres, s’obtenen símbols diferents dels que volem representar. Vegeu les Fig. 1.1-2 i Fig. 1.1-3. La idea és de modificar les equacions d’aquest xip pel tal de poder fer el nostre propi circuit integrat gravant un dispositiu lògic programable PLD amb les prestacions d’un HEX-7SEG

Fig. 1.1-2 Circuit descodificador BCD a 7 segments 74LS47

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

4

Fig. 1.1-3 Taula de veritat del descodificador d’exemple 74LS47 (en el nostre cas, la combinació d’entrada 6 ha de tenir la sortida a_L nivell baix per tal de diferenciar-la de la lletra b).

Interpretació de l’enunciat del problema i de la informació dels databooks de components electrònics:Bloc a dissenyar i especificacions

a) Ompliu la taula de veritat del bloc a dissenyar representat a la Fig. 1.1-4 per a que puguem representar tot els símbols hexadecimals: 0, 1, 2, ....8, 9, A, b, C, d, E, F. Feu de la línia RBOBI / (que en el xip és al mateix temps una entrada i sortida) una línia d’entrada BI_L i una línia de sortida RBO_L. Escriviu la taula amb “1” i “0” en lloc de “H” i “L”. Escriviu totes les variables actives a nivell baix com per exemple LT amb la nomenclatura de classe, és a dir LT_L. Poseu comentaris per indicar el funcionament normal com a descodificador i les prestacions addicionals quan s’activen les entrades LT_L, BI_L, RBI_L. Cerqueu a la web el manual del 74LS47 i imprimiu-lo.

Fig. 1.1-4 Circuit digital construït amb bloc descodificador HEX -7SEG a dissenyar

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

5

BI_L LT_L RBI_L D C B A a_L b_L c_L d_L e_L f_L g_L RBO_L 1 1 1 0 0 0 0

Disseny intern modular i verificació de funcionament PROTEUS-VSM

b) Si suposem que el disseny intern del SC descodificador HEX-7SEG es realitza modularment a partir de l’estructura mostrada a la Fig. 1.1-5, analitzeu-la i expliqueu com funciona.

Fig. 1.1-5 Estructura interna proposada pel DEC HEX-7SEG

c) Dissenyeu la taula de veritat i el circuit intern del blocs SC2 i SC3 de control de sortida. Comproveu que els blocs funcionen a través d’una simulació amb Proteus-VSM (ISIS)

d) Per realitzar el disseny intern del bloc SC1 usarem el programari MINILOG. Construïu el fitxer

d’entrada “hex_7seg.tbl” (Fig. 1.1-6) i feu córrer el programa fent que doni un PdS i fent que cada variable de sortida es minimitzi per separat (minilog /s /p hex_7seg.tbl).

hex_7seg.tbl Hex_7seg.min minilog

opció /p : PoS Product of Sums

opció /s minimització de cada variable de sortida independentment Fig. 1.1-6 Opcions del minilog.exe

e) Comproveu que el programari “no s’equivoca” al realitzar els mapes de Karnaugh comprovant a mà la minimització d’un un parell de sortides (c_L, g_L).

f) Si el circuit s’implementa amb xips de la família LS, calculeu la potència dissipada i la màxima velocitat d’operació.

g) Captureu el circuit final en PROTEUS-VSM i verifiqueu el vostre disseny

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

6

1.2 Codificador de teclat de 4x4 tecles

Volem dissenyar la interfície digital entre un teclat hexadecimal i un microcontrolador (µC) PIC. Vegeu la Fig. 1.2-1. Codificar la tecla polsada com una paraula binària de 4 bits és la forma d’estalviar línies de connexió amb el µC. D’aquesta manera, per un teclat de PC de 102 tecles tan sols és necessari un bus de 7 bits. El µC actua sobre EI_L (input enable) per tal d’habilitar el teclat. D’altra banda, llegeix el bus A_L[3:0] de 4 bits quan els senyals GS_L (grup signal ) i EO_L (output enable) indiquen tecla polsada .

K_L

12

K_L

5

B

R7

A_L3

R10

A_L1

K_L

15

K_L

1

K_L[15:0]

R010k

A_L2

C

R13

R11R

8

10k

GS_L

K_L

0

7

EO_LF

LO

5

EI_L

enable.stm

K_L

13

K_L

11

E8

Vcc

K_L

4

2

Vcc

R14

1

Vcc

9

4

K_L

8

Vcc

5V

R6

A_L[3:0]

R12

K_L

3

60 3

R1

PIC

K_L

10K

_L2

K_L

6

R5

K_L

14

R2

R15

K_L

9R

9

R3

D

R4

K_L

7

IC1

ENCODER16X4

EI_L

K_L[15:0]

EO_L

GS_L

A_L2

A_L1

A_L0

A_L3

A

A_L0

Fig. 1.2-1 Esquema elèctric d’una interfície digital d’un teclat hexadecimal cap a un µC PIC i fotografia d’un teclat (keypad) comercial de 4x4 tecles

a) Per tal de construir un codificador de 16 canals COD 16:4, usarem el xip 74LS148 amb el símbol i la taula de veritat mostrada a la Fig. 1.2-2 i que té tant les entrades com les sortides actives a nivell baix. Interpreteu la taula anomenant les variables d’entrada: EI_L, I0_L, I1_L, ...., I7_L; i les funcions de sortida: A2_L, A1_L, A0_L, GS_L i EO_L. Useu “0” i “1” en lloc de “L” i “H”. Cerqueu a internet el seu datasheet.

b) Observant la taula de veritat implementeu el xip a 3-nivells de portes (mínim 2). c) Si useu portes de la família LS per construir el xip anterior, calculeu el seu consum i la seva màxima

freqüència de funcionament (mínim 3).

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

7

d) Proposeu el disseny intern modular del xip 74LS148 encadenant 2 codificadors COD 4:2 i la lògica addicional (mínim 4)

NOTA: Codificador amb prioritat COD 8:3 construït encadenant dos codificadors de 4:2 línies. El mètode és el mateix que per encadenar dos mòduls codificadors COD 2:1 per a fer un COD 4:2. Per tant, és molt més senzill veure com es dissenya aquest últim i desprès aplicar la mateixa metodologia i repetir les expressions resultants.

e) Representeu la taula de veritat que ha de tenir el codificador COD 16:4 de la Fig. 1.2-1.

Fig. 1.2-2 Símbol lògic i taula de veritat d’un 74LS148

f) Amb la mateixa tècnica que a d), encadeneu 2 xips 74LS148 i dissenyeu la lògica addicional per tal d’obtenir el bloc IC1 amb la taula de veritat descrita a e) (mínim 4).

g) L’apartat més important: verifiqueu el vostre disseny amb el programari Proteus VSM Lite, o amb el

DEEDS. És a dir: captureu d’esquema amb el programa i imprimiu-lo, apliqueu diversos valors a les entrades i verifiqueu la taula de veritat del COD 16:4.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

8

Exemple de solució de l’apartat f): Codificador amb prioritat de 16:4 construït encadenant dos codificadors de 8:3 línies. El mètode és el mateix que per encadenar dos mòduls codificadors de 2:1 per a fer-ne un de 4:2 línies. Per tant, és molt més senzill veure com es dissenya aquest últim i desprès aplicar les expressions resultants. Taula per al disseny d’un codificador de 4:2 que inclou les variables ‘internes’ de d’entrada i sortida de cadascun dels codificadors elementals de 2:1

Entrades generals Bloc A (LSB) Bloc B (MSB) Sortides generals

EI_L K3_L K2_L K1_L K0_L AEI_L AGS_L AEO_L AA0_L BEI_L BGS_L BEO_L BA0_L GS_L EO_L A1_L A0_L

1 x x x x 1 1 1 1 1 1 1 1 1 1 1 1

0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1

0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 1

0 1 1 0 x 0 0 1 0 0 1 0 1 0 1 1 0

0 1 0 x x 1 1 1 1 0 0 1 1 0 1 0 1

0 0 x x x 1 1 1 1 0 0 1 0 0 1 0 0

D’on es dedueix observant la TdV s’obtenen les següents algebraiques:

EI_L = BEI_L; AEI_L = BEO_L; EO_L = AEO_L; GS_L = AGS_L · BGS_L; A1_L = BGS_L; A0_L = AA0_L · BA0_L

que, extrapolat al mòdul de 16:4 que ens demanen resulta el circuit de la Fig. 1.2-3

AGS_L

AA0_L

K_L8

A_L2

BA2_L

A_L0

K_L2

U3C

7408

9

108

U3D

7408

12

1311

EO_L

U2

74148

A1

A0

A2

GS

IN0IN1IN2IN3IN4IN5IN6IN7EI EO

AA2_L

K_L9

K_L4

BA1_L

K_L14

K_L10

K_L1

K_L5

GS_L

K_L0

K_L11

K_L6

K_L15

K_L12

U3A

7408

1

23

K_L7

U174148

A1

A0

A2

GS

IN0IN1IN2IN3IN4IN5IN6IN7EI EO

EI_L

BA0_L

A_L1

K_L13

BEO_L

U3B

7408

4

56

K_L[15:0]

K_L3

A_L3

AA1_L

Fig. 1.2-3 Codificador amb prioritat alta de 16 a 4 línies

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

9

Exemple de solució de l’apartat g) de verificació de funcionament a partir de la unió dels circuits del Problema 1.1 (visualitzador HEX-7SEG) i Problema 1.2 (codificador de teclat hexadecimal). Quan el xip està habilitat EI_L = 0, i premem el “6” surt el codi “1001. Aquest codi invertit bit a bit és el número 6 que s’observa al visualitzador. També s’observa que mentre la tecla 6 (fixeu-vos en el codi de colors blau [0] i vermell [1] ) està premuda s’obté GS_L = 0 i EO_L = 1.

Fig. 1.2-4 Codificador amb prioritat alta de 16 a 4 línies actives a nivell baix connectat al descodificador HEX-7SEG desenvolupat al Problema 1.8 a través d’un conjunt d’inversors

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

10

1.3 Disseny modular del descodificador 74LS138 i aplicació com DEMUX8

Es vol dissenyar el descodificador 74LS138 representar a la Fig. 1.3-1 amb portes lògiques a partir de tres arquitectures diferents com exemple per clarificar els conceptes de disseny a 3-nivells de portes i disseny modular.

1. Recerca d’informació sobre les especificacions del xip. A partir de la informació que trobareu en el seu datasheet, construïu la taula de veritat de la Fig. 1.3-1 i obteniu les expressions lògiques que defineixen les variables de sortida Yi_L, i=0,...,7 a partir de les variables d’entrada de selecció C, B i A, i d’habilitació G1, G2A_L i G2B_L.

2. Dibuixeu l’esquema del circuit a 3-nivells de portes amb el grup complet canònic NOT-OR-AND

U1

74LS138

15141312111097

1

5

23

64

Y0Y1Y2Y3Y4Y5Y6Y7

A

G2B

BC

G1G2A

G1 G2A_L G2B_L C B A Y7_L Y6_L Y5_L Y4_L Y3_L Y2_L Y1_L Y0_L 0 0 0 · · · · · · 1 1 1

Fig. 1.3-1 El descodificador 74LS138 i la seva taula de la veritat.

3. Si per al primer disseny intern modular es proposa l’arquitectura de la Fig. 1.3-2, obteniu: a) Les taules de la veritat del blocs SC0 i SC1 i les seves expressions lògiques b) La implementació dels blocs SC0 i SC1amb NAND. Quants nivells de portes té el circuit?

Fig. 1.3-2 Arquitectura modular proposada pel disseny del descodificador 74LS138.

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

11

4. Es vol dissenyar amb la tècnica de l’encadenament a partir de descodificadors 74LS139 (Fig.

1.3-3). Per això es demana: a) Taula de veritat del símbol representat a la Fig. 1.3-3.

74LS139A

1

23

4567

G

AB

Y0Y1Y2Y3

Fig. 1.3-3 El descodificador 74LS139A

b) Comproveu que el disseny de la Fig. 1.3-4 es correspon amb l’arquitectura proposada al guió de la unitat per realitzar l’encadenament de descodificadors. És a dir, disseny d’un DEC 3:8 a partir de DEC 2:4. Per això es demana:

1. Obteniu la taula de veritat del circuit Sistema Combinacional d’entrada i dissenyeu -lo a 3 nivells de portes

2. Atenent a les característiques de la família lògica LS, quina és la màxima velocitat d’operació aquest bloc de la Fig. 1.3-4

G2A_L

SC d'entrada

74LS139A

1

23

4567

G

AB

Y0Y1Y2Y3

G1

B

Y0_LC

Y7_L

A ·····74LS139A

1

23

4567

G

AB

Y0Y1Y2Y3

G2B_L

Fig. 1.3-4 Disseny per completar

5. Es vol dissenyar un desmultiplexor DEMUX8 de 8 canals a partir del descodificador 74LS138 representat a la Fig. 1.3-1 i altres elements si és necessari. Per això es demana:

a) Realitzeu el símbol i la taula de veritat corresponent a un DEMUX8 amb sortides actives a

nivell baix, amb entrada de dades D, amb habilitació E i amb entrades de selecció X2, X1, X0.

b) Obteniu les expressions lògiques de les sortides del desmultiplexor en funció de E, D, X2, X1, X0.

c) Proposeu un circuit lògic per al desmultiplexor usant el 74LS138.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

12

1.4 Disseny d’un xip codificador de 8 a 3 línies

Un codificador és un circuit lògic combinacional que realitza bàsicament la funció inversa del descodificador. Vegeu la Fig. 1.4-1. El bloc disposa de: 2n entrades de codi; 1 entrada d’habilitació EI (input enable); n sortides de codi; i 2 sortides addicionals anomenades senyal de grup GS (grup signal) i habilitació de sortida EO (output enable) per a poder-los encadenar. Per exemple el xip MSI HEF4532B és un codificador d’aquest tipus de 8 a 3 línies amb totes les entrades i sortides actives a nivell alt (a diferència del 74148 del Problema 1.2). Observeu també la taula de veritat del xip.

Entrades

EI

-1GS

2n

n -1

X0

EO

nSortides

nY

Codificador

X2

Y0

Y1X1

2

n

n

Fig. 1.4-1 Bloc codificador genèric i circuit integrat HEF4532B

a) Construïu l’esquema elèctric d’un codificador de teclat de 16 tecles en línia com el de la Fig. 1.4-2 usant un codificador com el dissenyat al problema 1.4.11 i altres elements si són necessaris.

C

9

21

7

D

8

E

3

BA

Teclat hexadecimal en línia

5

0

4 6

F

Fig. 1.4-2 Teclat en línia de 16 polsadors

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

13

Nota d’aplicació

Els codificadors s’apliquen en xips com el MM74922 representat a la Fig. 1.4-3 per a codificar en binari les tecles polsades d’un teclat (matricial). Text del fabricant de descripció del component: These CMOS key encoders provide all the necessary logic to fully encode an array of SPST switches. The keyboard scan can be implemented by either an external clock or external capacitor. These encoders also have on-chip pull- up devices, which permit switches with up to 50 kΩ on resistance to be used. No diodes in the switch array are needed to eliminate ghost switches. The internal debounce circuit needs only a single external capacitor and can be defeated by omitting the capacitor. A Data Available output goes to a high level when a valid keyboard entry has been made. The Data Available output returns to a low level when the entered key is released, even if another key is depressed. The Data Available will return high to indicate acceptance of the new key after a normal debounce period; this two-key roll-over is provided between any two switches. An internal register remembers the last key pressed even after the key is released. The TRI-STATE outputs provide for easy expansion and bus operation and are LPTTL compatible. Features: 50 kΩ maximum switch on resistance; On or off chip clock, On-chip row pull-up devices, 2 key roll-over, Key bounce elimination with single capacitor, Last key register at outputs, TRI-STATE outputs LPTTL compatible

Fig. 1.4-3 Esquema intern del MM74C92216-Key encoder

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

14

1.5 Disseny modular d’un sumador complet de 4 bits

Es vol dissenyar un sumador binari de 4 bits tal com el representat a la Fig. 1.5-1 de forma modular a partir de dues estratègies diferents, perquè el disseny intern a 3-nivells de portes és molt complicat (la taula de veritat té 512 combinacions).

A0

A1

A2

A3

B0

B1

B2

B3

0010

1

1

0101

1001

SUM4

SUMADOR BINARI 4 BITS

A0A1A2A3

B0B1B2B3

C0

S0S1S2S3

C4

Fig. 1.5-1. Sumador complet de 4 bits

La primera estratègia serà l’encadenament sèrie de sumadors complets d’1 bit tal com mostra la Fig. 1.5-2.

C1C2C3

A0B0 C0

S0

SUM1-0

SUM1

ci

ai

bi

si

ci+1

A1B1

S1

SUM1-1

SUM1

ci

ai

bi

si

ci+1

A2B2

S2

SUM1-2

SUM1

ci

ai

bi

si

ci+1

A3B3

S3

SUM1-3

SUM1

ci

ai

bi

si

ci+1

C4

1

23

1

23

74LS32

4

56

1

23

4

56

74LS08

9

108

bi ciai

4

5674LS86

Ci+1

si

Fig. 1.5-2. Sumador de 4 bits a partir de l’encadenament de circuits sumadors d’1 bit muntats amb portes lògiques

a) Analitzeu el circuit intern la Fig. 1.5-2 i deduïu-li les equacions. Verifiqueu que es corresponent a les d’un circuit sumador.

b) Calculeu la màxima freqüència de funcionament del sumador de 4 bits. Calculeu la potència consumida si es realitza amb portes lògiques de la família LS.

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

15

La segona estratègia serà la mostrada a la Fig. 1.5-3 en la qual s’usa un sistema combinacional que calcula anticipadament els ròssecs (fast look-ahead carry generator), tal com ho fa el circuit comercial 74xx283.

A[3..0]

B[3..0]

A0

A1

A2

A3

B0

B3

B1

B2

B0

B1

B2

B3

A0

A1

A2

A3

S0

SC2-0

MIG-SUM

ai

bisi

SC1

GENERADOR DE RÒSSECS

ci

C0

C0

C1

C2

C3

S1

SC2-1

MIG-SUM

ai

bisi

ci

S2

SC2-2

MIG-SUM

ai

bisi

ci

S3

SC2-3

MIG-SUM

ai

bisi

ci

B[3..0]

A[3..0]

C4

C4

Fig. 1.5-3. Sumador complet de 4 bits amb la tècnica del càlcul anticipat de ròssecs

c) Cerqueu la bibliografia on s’especifiquen les equacions que governen el circuit SC1 a través de la definició de generadors i propagadors de ròssec i proposeu-li un disseny intern a 3-nivells de portes.

d) Dissenyeu també els blocs SC2 i calculeu la màxima freqüència d’operació de tot el sumador de 4

bits i la potència dissipada

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

16

1.6 Convertidor de codi binari a BCD

Volem dissenyar comptador de mòdul 60 en binari per tal d’usar-lo posteriorment en un rellotge digital que indicarà hores, minuts i segons. El disseny del bloc comptador es realitzarà més endavant al tema de sistemes seqüencials. Ara implementarem la part corresponent al convertidor de codi de binari a BCD. Vegeu la Fig. 1.6-1 on es veuen les connexions realitzades entre els blocs. a) Si volem implementar el convertidor de

codi en una memòria EPROM, 1. Quina és l’amplada de la paraula

digital que emmagatzema cada cel·la de memòria?

2. Quina és la capacitat d’adreçament del xip ?

3. Què hem d’escriure a cadascuna de les posicions de memòria ?

4. Com realitzaríeu amb xips de memòria de 32kBytes × 8 bits una expansió per a la conversió de codi binari de 16 bits a BCD ?

Fig. 1.6-1 Blocs d’un comptador de mòdul 60 i visualitzador a 7 segments

La Fig. 1.6-2 representa el xip DM74185A de National Semiconductor que és un convertidor de codi de binari a BCD de 5 entrades i 6 sortides realment basat en una memòria ROM (i ja totalment obsolet perquè és tracta de la típica aplicació que es pot gravar directament en un xip programable) però que volem estudiar com si es tractés d’un circuit combinacional convencional. La conversió es realitza a partir del bit B1, ja que el bit B0 és una connexió directa a la sortida U0. La sortida D3 és sempre 0 per aquesta aplicació que arriba fins al nombre 63. La Taula 1.6-1 de veritat representa totes les combinacions possibles per tal de realitzar la conversió de codis. Com que B0 no es representa, cada fila equival a dos nombres binaris. b) Simplifiqueu la sortida U1 amb la taula de Karnaugh de 5 variables la Fig. 1.6-3, escriviu l’expressió

de la funció i realitzeu-la solament amb portes NAND.

Fig. 1.6-2 Xip DM74185A i aplicació per a la conversió a BCD d’un nombre binari de 6 bits

Unitats

f

BCD / 7Segments

g

22

d

f

0

BCD / 7Segments

d

D C B Aab b

a

E_L

B5 B4 B3 B2 B1 B0

c

D3 D2 D1 D0 U3 U2 U1 U0

5

X5 X4 X3 X2 X1 X0

Convertidor de codiBINARI / BCD

e

D C B A

CLK

g

c

Comptador mòdul 60Clk

Decenes

e

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

17

Primeres 16 combinacions

(0 .......31)

Últimes 16 combinacions (32 ...... 63)

B5 B4 B3 B2 B1 D2 D1 D0 U3 U2 U1 B5 B4 B3 B2 B1 D2 D1 D1 U3 U2 U1

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1

Taula 1.6-1 Taula de veritat del bloc convertidor binari BCD de 5bits

B2 B1 B4 B3 00 01 11 10

B2 B1 B4 B3 00 01 11 10

00 00

01 01

11 11

10 10 B5 = 0 B5 = 1

Fig. 1.6-3 Taula de Karnaugh de 5 variables

c) Implementeu la sortida U2 amb un multiplexor de 16 canals i portes lògiques (No és necessari obtenir

el circuit òptim de menys portes lògiques). d) Amb aquest bloc podem realitzar expansions per a nombres

de més bits. Quina sortida s’obté al circuit de la Fig. 1.6-4 quan l’entrada binària de 8 bits és “11001101” ?

Fig. 1.6-4 Expansió del convertidor binari – BCD a nombres de 8 bits

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

18

1.7 Sumador total de nombres BCD

Volem dissenyar de forma totalment modular un circuit digital sumador total de nombres BCD de 4 dígits tal com el representat a la Fig. 1.7-1a, a partir dels mòduls de suma d’i dígit de la Fig. 1.7-1b. Després a aquest nucli sumador li afegirem un mòdul de teclat i un mòdul de visualització per a poder representar els resultats de les sumes.

a) b)

Fig. 1.7-1 a) Bloc sumador total de 4 dígits BCD amb capacitat 0 ≤ S[16:0] ≤ 19999. b) Sumador total BCD d’1 dígit

a) Construïu el mòdul de la Fig. 1.7-1a a partir de circuits com el de la Fig. 1.7-1b. b) A tal d’exemple, per tal de saber com es pot implementar a través de circuits lògics més bàsics el

circuit de la Fig. 1.7-1b, i deduir-ne la tècnica a seguir, realitzeu la suma següent en BCD (S = A + B)BCD:

A = 5619; B = 8432

Quina tècnica cal seguir per a sumar en BCD? c) La Fig. 1.7-2 representa el diagrama en blocs constitutiu del circuit de la Fig. 1.7-1b. Expliqueu com

funciona i proveu alguns exemples per a demostrar que realment pot ser capaç de realitzar sumes en BCD. El mòdul Σ4 és el xip sumador total binari de 4 bits 74HC/HCT283 de la Fig. 1.7-3.

d) Dissenyeu el sistema combinacional SC1 que serveix per a generar la sortida CD. És a dir, hi ha dos

possibilitats: a) Feu la taula de veritat, expresseu la funció CD amb màxterms o mínterms, simplifiqueu-la

per Karnaugh i feu el circuit amb portes. b) Feu el disseny modular interconnectant blocs combinacionals bàsics dels que s’han estudiat.

e) Respecte del circuit complet representat a la Fig. 1.7-1a, si volem connectar les sortides CDT i S[15:0]

a un conjunt de 5 visualitzadors de 7 segments d’ànode comú tal com el representat a la Fig. 1.7-4. Proposeu un circuit integrat comercial per a fer aquesta descodificació i dissenyeu el circuit elèctric complet.

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

19

A[3:0]

S[3:0]

B[3:0]

S4A A[3

:0]

B[3

:0]

C[3

:0]

Co

C4

CD

S4B

A[3

:0]

C[3

:0]

CoC

4

B0

B1

B2

B3

Co

SC1

X[3

:0]R

CD

Fig. 1.7-2 Diagrama de blocs proposat pel sumador BCD d’1 dígit

Fig. 1.7-3 74HC/HCT283: 4-bit binary full adder with fast carry

Fig. 1.7-4 Dígit de 7 segments HDSP-313Y d’Agilent en ànode comu

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

20

f) Feu les connexions necessàries als descodificadors per tal de no visualitzar els zeros a l’esquerra del resultat.

g) Si els nombres BCD provenen d’un teclat de 10 tecles (vegeu la Fig. 1.7-5), proposeu un xip

comercial i el circuit elèctric complet per tal d’obtenir una codificació de la informació de la tecla premuda a un nombre BCD.

K_L

1

R2

K_L

8

40

R010k

K_L

7

Vcc

5V

R1

LO

R5K

_L0

87

K_L[9:0]

K_L

3

K_L

4

65K

_L5

K_L

6

K_L

9

R4

1

K_L

2

R6

Vcc

R8R7

2 9

Vcc

R3

3

R9

Fig. 1.7-5 Connexió elèctrica de les tecles

NOTA: tal com podeu imaginar-vos, com que hi ha dos nombres a sumar, si volem usar el mateix teclat per entrar-los, és necessari algun tipus de circuit amb “memòria” que sigui capaç d’emmagatzemar el primer nombre entrat. Aquests circuits s’anomenen registres i són sistemes seqüencials que s’explicaran durant el Tema 2 del curs. El conjunt format per la unitat aritmètica i els registres s’anomena unitat operativa. NOTA: El circuit integrat MC14560 és un sumador de nombres BCD semblant al què es pretén dissenyar. Podeu observar la informació del xip que trobareu a la web. S’hi descriuen aplicacions per a sumar i restar directament en BCD usant el MC14560 amb l’altre xip MC14561 (9’s complementer).

Fig. 1.7-6 Xip MC14560 (NBCD Adder)

Primera part: Problemes de perifèrics d’entrada i sortida de senyals i unitats aritmètiques i lògiques

21

1.8 Comparador de nombres enters codificats en Ca2

Implementeu un comparador de números enters de 4 bits codificats en complement a 2. Realitzeu un disseny modular amb la utilització, entre altres components, de blocs bàsics comparadors binaris de 4 bits 7485.

Dibuixeu el bloc funcional del circuit que heu de dissenyar Repasseu com funcionen els comparadors binaris tipus 7485 Estudieu com són els nombres enters codificats en Ca2 de 4 bits (3 bits de mòdul més bit de

signe) Intenteu deduir un algorisme per calcular les sortides (A >B), (A<B) i (A=B) Proposeu una arquitectura general del bloc combinacional a dissenyar Realitzeu el disseny intern del bloc i proposeu en circuit digital Apliqueu vectors de prova per comprovar que el circuit que heu dissenyat funciona bé

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

22

1.9 Sistema de comptatge de places ocupades d’un pàrking

Es vol dissenyar un sistema que compti el nombre de places ocupades d’un pàrking de 32 places. Cada plaça té un sensor ultrasònic al sostre que dóna un nivell alt “1” quan té un cotxe sota i dóna un “0” quan no hi ha cotxe. La indicació del nombre de places ocupades es realitza a través d’un parell de dígits de 7 segments. Observeu la Fig. 1.9-1, dóna una indicació de 21 places ocupades per exemple per una entrada com:

[1001 0011 1110 1111 1000 1111 1010 1110]

DU_L[6]

DU_L[6:0]

X[31:0]

Dígit Decenes

f_L

Db

VCC

DU_L[0]

DU_L[3]e_L

DU_L[1]

Dg

Dígit Unitats

DD_L[6:0]

d_LDU_L[2]

ac

R1

1k

c_Lb_L

Exemple de circuit elèctric del Dígit Ànode Comú de les unitats

Dc

DU_L[4]

Dd

DU_L[5]

De

DfSISTEMACOMBINACIONALCOMPTADOR DEPLACES OCUPADES

a_L

g_L

VCC

Da

Fig. 1.9-1 Esquema del bloc a dissenyar.

Guió d’ajuda: Arquitectura general. Estudieu com podeu realitzar el bloc de la Fig. 1.9-1

modularment a través d’un sistema combinacional comptador d’uns de 32 entrades, un convertidor de binari a BCD i un parell de descodificadors de BCD a 7 segments.

Disseny de cada bloc. Proposeu el disseny de cada bloc combinacional descrit a l’arquitectura general anterior. En el cas de poder usar blocs comercials, heu d’usar-los. Comenceu pel disseny dels blocs més senzills.

Arquitectura interna i estratègia de disseny del comptador d’uns Disseny intern del comptador d’uns, també si pot ser amb circuits comercials. Podeu

incloure la simulació amb el programari DEEDS d’algun circuit o funció. Representació de tot l’esquema i aplicació de vectors de prova per verificar el seu

funcionament.

Segona part: Problemes d’unitats de control i unitats operatives

23

2 Problemes d’unitats de control i unitats operatives

2.1 Design of a simple frequency counter of 1MHz range and 1Hz resolution

An example of how to control an operating unit (OU) by means of a FSM acting as the control unit (CU).

An example of an Application Project which integrates in a single application many

concepts distributed in the course and even in courses like Laboratori d’Electrònica. We want to design a simple frequency counter of 6 digits for measuring frequencies from 1 Hz to 1 MHz. The block diagram with the main building blocks are pictured in Fig. 2.1.1. A frequency counter is an electronic device capable of counting the number of cycles in an electrical signal during a preselected time interval, in our case, 1 s, so that the count number represents directly the measurement of the frequency of the input signal. The main blocks of the circuit are: 1) the input conditioner; 2) the output 6 digit indicator; 3) the time base which generates a CLK signal of a 1 Hz frequency from a 10MHz quartz oscillator; 4) the operational unit (UO) for counting the input pulses and registering the final count; and 5) the control unit (CU) for governing the system by means of a state diagram.

4

7

10MHzquarz 4

7

Input signalcoditioner

7

4

1Hz time base

F

6 x BCD-7SEG decoder

4

F

7

in

4

6-digit decadecounter

LD_L

in

CD

7

4

CLK

4

4

Operational Unit or Data Subsystem

CLK2

= 1 s 24-line parellelregister

4

P

Hz

4

ControlUnit orFSM

4

4

T

Fig. 2.1.1 Block diagram of the electronic digital frequency counter which has to be designed in this exercise.

Designing the operational unit (OU):

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

24

- Implement the counter module 106 for having a measurement range of 6 digits. Use a chain of 6 decade counters, which can be, for example, the universal counters implemented in Problem 2.13 truncated for a BCD count).

- Implement the 24 bit parallel register for saving the frequency count. Use, for example, the

parallel load feature of an universal counter which has been permanently disabled for counting (CE_L = 1).

Designing the output module for the 7-segment displays:

- Use and adapt the circuit designed in Problem 1.1 for this task.

SC

DESCODIFICADOR HEX-7SEG

B

A

b_L

c_L

d_L

e_L

f_L

g_L

a_LD

C

RBO_L

LT_L

BI_L

RBI_L

Designing the input signal conditioner for adapting many waveforms and voltages

ranges.

- In this case, you have to rely on the concepts and circuits implemented in the Laboratori d’Electrònica course. Try for example, an operational amplifier connected in open loop acting as comparator in order to obtain a digital square waveform from a sinusoidal input.

Designing the control unit

a) Specifications:

Symbol: Shown in Fig. 2.1.1. Example of a timing diagram showing the CLK signal, and the output’s activity for some

periods. State diagram

b) Particularize the general architecture of a Moore FSM to the problem as in Fig. 2.1.2 if FF-JK

(use for example the 74112) are selected as the state memory building block.

Statememory

SC1

PSC2

CLK

Q[1..0]

Q[1..0]2

4LD_L

CD

Fig. 2.1.2 Example of particularization of the canonical FSM that can be designed step by step following the general procedure stated in Unit 2.5.

Segona part: Problemes d’unitats de control i unitats operatives

25

c) Codify the states in binary code.

d) Draw the state memory schematic.

e) Design the SC2, which produces the outputs CD, LD_L, and P.

f) Design the SC1, which establishes the next state after each CLK edge transition from low to high.

g) (optional) Capture the schematics in Proteus-VSM Lite and perform a circuit simulation to verify

if the design follows the specifications stated in a).

h) (optional) Using the MAX-PLUS software from Altera, try to capture the schematics or VHDL files for describing de circuit and program a CPLD like MAX7128 or FLEX10K to implement the whole circuit in a single chip.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

26

2.2 4 bits Up-Down Johnson Counter, Right-Left Rotator & and Parallel Register

We want to design a synchronous sequential system that operates in 6 different modes as represented in Fig. 2.2.1. The rotation operation can be derived from a shift register and some wiring. The system include an active low asynchronous reset (CD_L).

LD CE RT U-D_L Synchronous function mode 1 X X X Parallel load (parallel-parallel register) 0 0 X X Inhibit (do nothing) 0 1 0 0 Johnson down counter 0 1 0 1 Johnson up counter 0 1 1 0 Right rotator 0 1 1 1 Left rotator

Fig. 2.2.1 Synchronous operation modes of the system to be designed

a) Specifications: Symbols for the entities. Deduce how rotators can be implemented using shift registers

and some wiring. Deduce a single symbol for unifying all the functionality described in Fig. 2.2.1.

Synchronous mode function table (This is Fig. 2.2.1) Example of a timing diagram State diagrams of each mode of operation

---------------------------------------------------- Method A: Designing as a canonical FSM

b) Particularize the general architecture of the Moore FSM to the problem if FF-D 74x74 are selected as the state memory building block.

c) Codify the states in binary code. d) Design the state memory. e) Design the SC2 which produces the outputs, mainly a circuit that synchronously reset the outputs

when detecting an illegal code if the Johnson up or down counter modes have been selected and previously has been used as register or rotator.

f) Design the SC1, which establishes the next state after each CLK edge transition from low to high. Try to implement a modular design using a multiplexer for selecting the synchronous mode of operation. Use transition tables and the design table of the FF-D 74x74 to produce the excitation signals.

----------------------------------------------------

Method B: As an alternative, design the same entity but featuring the universal shift register 74x194 as the main building block

b) Print the data sheet of the 74HC194 and study it to determine its features.

c) Propose and implement a design

---------------------------------------------------- g) (optional) Capture the schematics in Proteus-VSM Lite and perform a circuit simulation to verify

if the design follows the specifications stated in a). h) (optional) Program a GAL 22V10 sPLD to implement the system and perform a circuit

simulation to verify if the design follows the specifications stated in a).

Segona part: Problemes d’unitats de control i unitats operatives

27

2.3 Disseny simple del control de semàfors d’una cruïlla de carrers

La cruïlla de 2 carrers de sentit únic mostrada a la Fig. 2.3.1 ha de ser regulada mitjançant un sistema que controli 2 semàfors. Es disposa de 2 detectors, DA i DB, situats a certa distància de la cruïlla que s’activen quan els vehicles passen pel seu damunt. Es pretén dissenyar el sistema de control síncron dels semàfors.

Fig. 2.3.1 Detall dels carrers i situació dels sensors i els semàfors

Les especificacions que ha de complir el sistema són : - Quan els 2 carrers estiguin a l’hora buits o plens, el controlador ha de generar la seqüència

verd–ambre-roig, de manera que quan un semàfor estigui roig l’altre estigui verd o ambre. - Quan en un carrer hi hagi circulació i a l’altre no, el semàfor del carrer buit ha de passar al

roig (sense passar per l’ambre) i l’altre ha de posar-se verd, mantenint aquesta situació fins que canviïn les condicions del trànsit.

a) Cal deduir un possible diagrama d’estats que compleixi les especificacions. En primer lloc, es

poden generar a través de les entrades dels sensors uns senyals que indiquin les situacions d’interès. Per exemple:

DA DB T TA TB 0 0 1 0 0 T = (DA ⊕ DB)′ ; ambdós carrers buits o plens 0 1 0 0 1 TA = DA·DB′ ; sols vehicles en el carrer A 1 0 0 1 0 TB = DA′·DB ; sols vehicles en el carrer B 1 1 1 0 0

DA

DB

T

TA

TB

S.C.

Cal fixar-se en que per a cada combinació dels detectors solament hi ha un senyal T, TA i TB actiu. Per tant, en funció d’aquests senyals, es pot decidir a quin estat cal anar. Un possible diagrama d’estats és mostra a la Fig. 2.3.2. L’estat S0 representa la circulació pel carrer A; S1 la preparació per a tallar el tràfic pel carrer A; S2 és el tràfic pel carrer B i S3 la preparació per a tallar la circulació pel carrer B.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

28

(AA, RB)

(RA, VB)

(VA, RB)

(AB, RA)

TA

TB T

T or TA T

T or TB

TA

TB

TB

TA

S0

S1 S3

S2

Fig. 2.3.2 Diagrama d’estats proposat

b) Feu el diagrama de l’arquitectura interna del sistema de control com una màquina d’estats finits (FSM) canònica de Moore. Particularitzeu el disseny usant flip-flops J-K comercials 74LS112 com els representats a la Fig. 2.3.3.

c) Codifiqueu els estats en binari natural. d) Realitzeu l’esquema intern del registre de memòria d’estat de r bits.

Fig. 2.3.3 Detall de connexions i la taula de veritat del dual J-K flip-flop HEF4027B

e) Realitzeu el sistema combinacional SC2 per obtenir les sortides dels semàfors. f) Realitzeu el disseny del SC1 a través de la taula de transicions d’estats a partir del diagrama

representat a la Fig. 2.3.2 usant també com a eina la taula de disseny del JK.

g) (opcional) Podeu acabar el vostre disseny capturant l’esquemàtic amb Proteus - ISIS i verificant que funciona. Podeu simular els sensors DA i DB amb interruptors. (opcional).

h) (opcional) Per tal de comprovar que les especificacions del problema admeten més d’un possible diagrama d’estats i per tant, més d’un possible circuit electrònic dissenyat, proposeu un diagrama d’estats usant directament els senyals dels sensors DA i DB per realitzar les transicions.

Segona part: Problemes d’unitats de control i unitats operatives

29

2.4 Control més avançat de semàfors d’una cruïlla de carrers

El disseny d’una cruïlla de semàfors es una de les aplicacions clàssiques dels sistemes seqüencials. El funcionament del sistema admet moltes variacions i millores successives en funció de la configuració de carrers, polsadors, i indicadors lluminosos que s’hagin d’instal·lar a la cruïlla. Per exemple a la Fig. 1.1-1 en podeu veure un croquis particular d’una cruïlla entre dos carrers A i B. Hi ha sentit únic de circulació. Hi ha possibilitat de girar a la dreta venint pel carrer B. Hi ha dibuixats:

- els semàfors de cotxes CA de tres colors; CB de tres colors i indicació de pas a la dreta; CC que solament té un indicador de color ambre intermitent

- els semàfors de vianants VA i VB de colors roig, verd i verd intermitent. - els polsadors VPA i VPB per a que els vianants puguin sol·licitar creuar el carrer aturant el

tràfic - els detectors de vehicles CPA i CPB ubicats al terra dels carrers per a detectar la presència

de cotxes

CARRER A

CARRER B

CC

CB

CA

VB

VA

VPA

VPB CPB

CPA

Fig. 2.4.1 Croquis d’una cruïlla de carrers amb semàfors

El diagrama en blocs per al control del sistema està representat a la Fig. 1.4-3 i inclou: les entrades dels sensors; les sortides cap a les làmpades; una entrada de rellotge CLK de sincronisme d’una freqüència de 1 Hz; una entrada CLR que col·loca el sistema a un estat inicial segur; les línies de control del temporitzador programable per tal de generar el senyal TC que programa la durada de cada estat.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

30

VBVVBR

TEMPORITZADORPROGRAMABLE

CC

CBVD

VBVI

4

S1, S0CBV

SISTEMACOMBINACIONAL

3

VAR

CPA, CPB,VPA, VPB

TC

CBA

CAA

VAVI

Q2, Q1, Q0CLK

SEQÜENCIALITZADORD'ESTATS

CBR2

3

VAV

CAR

LD

CLR_L

3

CAV

Fig. 2.4.2 Esquema en blocs del sistema digital de control de tràfic de la cruïlla de carrers

Començarem amb el diagrama d’estats de la Fig. 2.4.3. Una primera versió que solament programa el funcionament bàsic dels semàfors i no controla les entrades dels polsadors de vianants VP ni els sensors de cotxes CP. El procés de disseny consistirà en implementar en primer lloc el seqüencialitzador d’estats bàsic (a i b) que canvia d’estat en cada transició activa de rellotge i desprès afegir-li prestacions addicionals (c i d).

(AA, RB)

(RA, VB)

(VA, RB)

(RA, AB)

TC

TC TC

TC

TC=0

S1

S2 S4

S3

S0 CLR_L

(RA, RB)

TC=0

TC=0

TC=0

(Després de T2 s)

(Després de T1 s)

(Després de T3 s)

(Després de T2 s)

(Des de qualsevol estat s’ha de saltar a S0 activant CLR_L asincrònicament)

Fig. 2.4.3 Diagrama d’estats del controlador de semàfors

h) Per a dissenyar el seqüencialitzador bàsic de 5 estats, es codifica cadascun dels estats amb un codi Gray de 3 bits. S’assignen els estats actuals S0, ..., S4 a les combinacions 000, 001, 011, 010, i 110. Es preveu també que si es dóna el cas d’estar en una combinació de sortida no usada,

Segona part: Problemes d’unitats de control i unitats operatives

31

es passi a l’estat inicial S0 (per exemple, una interferència pot fer canviar la sortida d’un flip-flop i donar un estat no usat). Realitzeu el diagrama d’estats i la taula de transició d’estats del seqüencialitzador. Les 3 combinacions no usades es reserven per a futures ampliacions del diagrama d’estats.

i) Seleccioneu el flip-flop D i simplifiqueu les funcions de comptar FCi de cadascun dels flip-flops.

j) Afegiu la prestació de CLR_L asíncron que permet retornar a l’estat segur des de qualsevol

situació.

k) Afegiu la funció d’inhibir el comptatge FINH que estarà controlada per l’entrada TC. És a dir, quan TC = 1 és permet el comptatge i quan TC = 0 el comptador d’estats no avança.

l) Implementeu el sistema combinacional de sortida.

El temps en el que els semàfors romanen en cada estat està controlat pel senyal TC. Això permet programar la permanència en cadascun dels estats. Per exemple T1 es el temps en que està verd el semàfor del carrer A; T2 és el temps en que estarà ambre i T3 és el temps en que estarà verd el semàfor del carrer B. Aconseguir diferents duracions per a la variable TC és feina del temporitzador programable, un “perifèric” que ajuda al seqüencialitzador.

m) A partir de la base de temps de 1s del CLK, volem dissenyar temporitzacions fins a 4 minuts. Dissenyeu un descomptador com el mostrat a la Fig. 1.4-3, amb carrega paral·lel LD síncrona i CLR_L asíncron, que permeti programar fins a 4 períodes de temps diferents seleccionables amb els senyals S1, S0. Per exemple els temps T1, T2, T3 i T4 = T2 representats a la Fig. 2.4.3. Implementeu el senyal TC que s’activa quan arriba a zero. Dibuixeu també un cronograma de funcionament del sistema de la Fig. 1.4-3.

Amb les idees de disseny adquirides en aquests apartats, ja es pot passar a completar un altre diagrama d’estat més elaborat que inclogui els nous estats o les condicions de salt entre estats obtingudes a partir de la informació detectada pels polsadors tant de vianants com de vehicles. Per exemple, es pot preveure que quan no es detectin cotxes en un carrer, s’interrompi la seqüència dels semàfors si s’activa el polsador de petició de pas de vianants1. Així mateix cal incloure els circuits auxiliars de memòria dels polsadors representats a la Fig. 2.4.4. Per tant,

n) es proposa tornar a implementar tots els apartats del problema per tal de millorar el diagrama d’estats de la Fig. 2.4.3.

S_L

74279

R

S Q

PCLR_L

V+

VPA

R1k

VPA

Fig. 2.4.4 Circuits auxiliars de memòria de polsadors i sensors de cotxes

Finalment, és clar que aquesta màquina d’estats finits es pot dissenyar a partir de la programació d’un microcontrolador com el PIC. Queda proposat doncs també aquest exercici alternatiu. 1 Unes especificacions completes per aquest croquis de carrers de la Fig. 1.1-1 les podeu trobar a Dispositivos Lógicos Programables; E. Mandado, L. J. Álvarez, M. D. Valdés; Ed. Thomson, 2002; pàg. 187. A més, l’autor proposa el disseny de tot el sistema en un PLD.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

32

2.5 Disseny del velocímetre d’una bicicleta

(Replantejar el diagrama de blocs del velocímetre) Es pretén dissenyar un velocímetre per bicicleta, que mesuri la velocitat instantània de circulació d’una bicicleta i de la velocitat màxima que assoleix des del darrer RESET. Vegeu la Fig. 2.5.1. Aquest instrument capta la velocitat mitjançant 2 sensors magnètics situats, respectivament, sobre un radi i a la forquilla de la roda davantera. Cada vegada que els sensors es creuen, es genera un pols digital. El temps entre 2 polsos consecutius ens indica quant ha trigat la roda a donar una volta sencera. Al manillar, hi ha un petit dispositiu electrònic que rebrà aquests polsos i informa al ciclista de la velocitat en km/h amb 2 dígits de 7-segments (per les desenes i per les unitats) El visualitzador del manillar disposa de 2 botons, un per al reset del sistema i l’altre per a determinar què volem visualitzar, la velocitat màxima assolida des del darrer reset o bé la velocitat instantània actual.

Sensor MagnèticForquilla

Sensor MagnèticRadi

Cable

Visualitzador Km/hVolts

temps

Pols de tensió generat pelcreuament dels sensors

ResetInst/Max

VISUALITZADOR

Botó Reset

Botó Selector:Veure velocitat màximao instantània.

Fig. 2.5.1 Detall de la col·locació dels sensors i el velocímetre a la bicicleta

El nucli del velocímetre està constituït pel diagrama de blocs de la Fig. 2.5.2 amb els següents elements: - Comptador codi BCD mòdul 100: Els senyals CE (Count Enable) i CLEAR són síncrons. Té l’entrada de rellotge connectada al tren de polsos generat als sensors magnètics. - Registres: Un registre emmagatzema la velocitat instantània i l’altre la velocitat màxima. Els senyals de Load i Clear són síncrons. Vegeu la Fig. 2.5.3a). - Comparador BCD: Compara 2 nombres BCD de 2 xifres. La sortida val 1 quan A>B. - MUX: Multiplexor de 2 busos de 8 bits. Quan el botó selector està premut, es té un 0 a l’entrada de selecció que col·loca a la sortida del MUX la informació emmagatzemada al registre velocitat màxima. Altrament, si l’entrada de selecció és 1, a la sortida del MUX s’hi presenta la informació emmagatzemada al registre velocitat instantània. - TIMER: Genera un senyal ON que està actiu un temps preestablert Ton des del darrer clear si CE està actiu. Els senyals CE i Clear són síncrons. El senyal ON s’utilitzarà per a determinar la velocitat a la que va la bicicleta, tal com s’indica al cronograma a mode d’exemple de la Fig. 2.5.3b). És a dir, el problema de saber la velocitat de la bicicleta se soluciona comptant el nombre de polsos generats a la roda mentre el senyal ON val 1.

Segona part: Problemes d’unitats de control i unitats operatives

33

Fig. 2.5.2 Diagrama en blocs del sistema de control del velocímetre

a)

Registre

I8

Q

8

LoadClear Clk

Q+Clear Load

1 X 0

0 1 I

0 0 Q

b)

ON

Tren de polsos generat si V=7KM/h

Ton

1 2 3 4 5 6 7

Tren de polsos generat si V=3Km/h

1 2 3

Fig. 2.5.3 (a) Detall de funcionament del registre i (b) cronograma d’exemple del senyal ON

Per tal de seqüenciar els senyals que s’apliquen als diferents blocs, la unitat de control dissenyada com una màquina de Mealy, segueix el diagrama d’estats de la Fig. 2.5.4. Tots els senyals de sortida són actius a nivell alt i en el diagrama d’estats s’hi mostra quan s’activen (per exemple, observeu que el senyal LDi sols val 1 quan s’està a S2).

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

34

S0 S1 S2 S3Botó Reset

RSiRSmClear1Clear2

CE1CE2ON=1

ON=0LDi

A>B=0

A>B=1

Clear1Clear2

LDm

Fig. 2.5.4 Diagrama d’estats

Els estats es codifiquen amb 2 bits (Q1, Q0) en codi Gray. La Fig. 2.5.5, deduïda del diagrama d’estats de la Fig. 2.5.4, representa la taula de transicions d’estats que determina l’estat futur (Q1+, Q0+) i el valor de les sortides .

Estat Present Entrades

Estat Futur Sortides

ON A>B Q1 Q0 Q1+ Q0+ CE1 Clear1 Ldi RSi RSm LDm CE2 Clear2 X X 0 0 0 1 X 1 X 1 1 X X 1 0 X 0 1 1 1 0 0 0 0 0 0 0 0 1 X 0 1 0 1 1 0 0 0 0 0 1 0 X X 1 1 1 0 0 0 1 0 0 0 0 0 X 0 1 0 0 1 X 1 0 0 0 0 X 1 X 1 1 0 0 1 X 1 0 0 0 1 X 1

Fig. 2.5.5 Taula de transició d’estats i sortides derivada del diagrama de la Fig. 2.5.4

Es demana: a) Representeu el diagrama de blocs de la unitat de control de la Fig. 2.5.2 que s’ha de dissenyar segons

el mètode canònic. Discutiu per què es tracta d’una màquina d’estats finits de Mealy. b) Per a dissenyar el seqüencialitzador d’estats de la unitat de control, es decideix usar el xip

HEF4027B que conté 2 flip-flops tipus J-K representats a la Fig. 2.5.6 juntament amb les seves taules de funcionament (function tables) subministrades pel fabricant i el significat de les potes de connexió (pinning).

b1) Obteniu les expressions lògiques de les 4 funcions d’excitació dels biestables J2, K2, J1 i K1. b2) Implementeu la funció de reset general asíncron que s’activa des del botó RESET del panell de l’instrument i serveix per a reinicialitzar el sistema. b3) Dibuixeu l’esquema del circuit dissenyat.

(NOTA: Es recomana que simplifiqueu per Karnaugh i realitzeu el circuit amb portes lògiques)

Segona part: Problemes d’unitats de control i unitats operatives

35

Fig. 2.5.6 Detall de connexions i la taula de veritat del dual J-K flip-flop HEF4027B

c) Implementeu el sistema combinacional que dóna les sortides d’aquesta unitat de control en funció de l’estat actual (Q1 i Q0) i les entrades (ON i A>B) mitjançant el mètode del descodificador 4 a 16 amb sortides actives a nivell baix i portes lògiques. Vegeu-lo a la Fig. 2.5.7

Fig. 2.5.7 Descodificador CD74HC4515 de 4 a 16 línies amb sortides actives a nivell baix fabricat per Texas Instruments

d) El comptador codi BCD mòdul 100 (0, 1, 2, 3…. 97, 98, 99, 0, 1..) es vol dissenyar encadenant 2 sub-comptadors tal com es mostra a la Fig. 2.5.8. Cada sub-comptador està dissenyat a partir dels xip comptador binari mòdul 16 de 4 bits amb entrada paral·lel Load = PE_L′ (vegeu la Fig. 2.5.9) i un sistema combinacional.

d1) Expliqueu com funcionen els sub-comptadors, per què els senyals es connecten d’aquesta manera i què cal connectar a les entrades paral·lel.

d2) Ordenant les variables d’entrada: CE , Q3, Q2, Q1, Q0, feu la taula de veritat del circuit combinacional. Indiqueu clarament les possibles inespecificacions que es puguin donar. Obteniu l’expressió i el circuit de la sortida Y.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

36

Comptador Binari Mòdul 16

Clear

QClk

4

I

4

Load

CE

UnitatsSistema

Combinacional1

Y Q

CE

CE

Comptador Binari Mòdul 16

Clear

QClk

4

I

4

Load

CE

Desenes

AB

Clear

SistemaCombinacional

2

Y Q

CE

Fig. 2.5.8 Encadenament de 2 sub-comptadors per a formar el comptador BCD de mòdul 100

Fig. 2.5.9 Xip comptador binari natural 74ACT 163de mòdul 16. Suposeu que CET (Count Enable Trickle Input) i CEP (Count Enable Parallel Input) són la mateixa entrada CE

e) Dissenyeu el TIMER per a que es comporti tal com el cronograma de la Fig. 2.5.10 (se suposa que en aquest cronograma el TIMER sempre té l’entrada CE activa). Utilitzeu també xips 74AC163 per a construir un comptador binari mòdul 32 (5 bits) d’entrades Clear i CE síncrones actives nivell alt (CLEAR té prioritat sobre CE) i un descodificador 5:32 amb sortides actives a nivell baix construït a partir d’encadenar 2 xips CD74HC4515. Indiqueu clarament en el vostre muntatge on connecteu les entrades Clear, CE, Clk i la sortida ON del bloc TIMER.

Clear

Clk

ON

1 2 3 4 5 60 27 28

Fig. 2.5.10 Cronograma del bloc temporitzador (timer) del velocímetre de la bicicleta

f) Fixeu-vos que encara podríeu proposar el disseny del bloc comparador y multiplexor (8MUX2) amb circuits integrats reals obtinguts de la web de l’assignatura.

NOTA: Aquest exercici usa conceptes dels mínims 1, 2, 4, 5, 7, 8 de l’assignatura. Plantegeu cada apartat de forma independent realitzant al començar un diagrama del bloc que heu de dissenyar i tot seguit passeu a dissenyar-lo de forma modular particularitzant al final els blocs als circuits integrats concrets que se us proposen.

Segona part: Problemes d’unitats de control i unitats operatives

37

2.6 Descodificació d’un banc de memòria de µC

Volem dissenyar un banc de memòria RAM de 1 MByte per tal de connectar-lo a un microcontrolador (µC) PIC 16C74A. Vegeu la Fig. 2.6.1 on s’hi mostra part de l’esquemàtic. Com que el PIC no disposa pròpiament de busos de dades i d’adreces, és necessari usar alguns dels ports d’entrada i sortida per a que realitzin aquesta funció. A més, per tal de no ocupar totes les línies dels ports, amb el latch 74LS373 es multiplexen part de les línies del bus de adreces amb el bus de dades.

BANC DEMEMÒRIA RAM

20

AB[19:0]

U1 PIC16C74A

26

27282930

3334353637383940

1

234567

8910

13

14

15161718

19202122

232425

RC7/RX/DT

RD4/PSP4RD5/PSP5RD6/PSP6RD7/PSP7

RB0/INTRB1RB2RB3RB4RB5RB6RB7

MCLR/Vpp

RA0/AN0RA1/AN1RA2/AN2RA3/AN3/VREFRA4/TOCKIRA5/AN4/SS

RE0/RD/AN5RE1/WR/AN6RE2/CS/AN7

OSC1/CLKIN

OSC2/CLKOUT

RC0/T1OSO/T1CKIRC1/T1OSI/CCP2RC2/CCP1RC3/SCK/SCL

RD0/PSP0RD1/PSP1RD2/PSP2RD3/PSP3

RC4/SDI/SDARC5/SDORC6/TX/CK

ALE

UMx

TC558128BJ

4321

323130292120191817

5

28

12

67101122232627

16151413

A0A1A2A3A4A5A6A7A8A9A10A11A12

CE

OE

WE

I/O1I/O2I/O3I/O4I/O5I/O6I/O7I/O8

A13A14A15A16

WR_L

RD_L

8

CS0_LU11

74LS138

15141312111097

1

5

23

64

Y0Y1Y2Y3Y4Y5Y6Y7

A0

G2B

A1A2

G1G2A

UM1

TC558128BJ

4321

323130292120191817

5

28

12

67101122232627

16151413

A0A1A2A3A4A5A6A7A8A9A10A11A12

CE

OE

WE

I/O1I/O2I/O3I/O4I/O5I/O6I/O7I/O8

A13A14A15A16

NUCLIMICROCONTROLADOR

DB[7:0]

U2

74LS373

1

113478

13141718

256912151619

OC

CLK1D2D3D4D5D6D7D8D

1Q2Q3Q4Q5Q6Q7Q8Q

Fig. 2.6.1 Esquema en blocs del PIC amb el banc de memòria RAM

Fig. 2.6.2 Detall del l’encapsulat de la memòria SRAM

a) El xip de memòria que s’usarà és el Toshiba TC558128BJ representat a la Fig. 2.6.2.

1. Quina és l’amplada de la paraula digital que emmagatzema cada cel·la de memòria? 2. Quina és la capacitat d’adreçament del xip ? 3. Quants bits pot emmagatzemar en total ? 4. Quin és el pin de control per a la lectura de la memòria i el pin de selecció de xip? En quin estat

lògic es troben les línies I/O quan no està habilitat el xip ? 5. Quants xips són necessaris per a disposar d’ 1 MByte ? 6. Quin és el pin que permet emmagatzemar una nova paraula digital a la posició de memòria

adreçada pel bus d’adreces?

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

38

7. Cerqueu als fulls de fabricant del xip, el cronograma d’operació d’escriptura en memòria. Dibuixeu-lo i expliqueu-lo.

b) Volem un adreçament continu de posicions de memòria tal com mostra la Taula 2.6-1. Amb les línies

del bus d’adreces i amb el descodificador 74LS138 es generen els senyals d’habilitació CS0_L, CS1_L, etc., dels xips de memòria.

A19 A18 A17 A16 A15 A0 (Hex)

0 0 0 0 0 ..... 0 0 0000 : : : : : ..... : : 0 0 0 1 1 ..... 1 1 FFFF 0 0 1 0 0 ..... 0 2 0000 : : : : : ..... : : 0 0 1 1 1 ..... 1 3 FFFF 0 1 0 0 0 ..... 0 4 0000 : : : : : ..... : : 0 1 0 1 1 ..... 1 5 FFFF : : : : : ..... : : : : : : : ..... : : 1 1 1 1 1 ..... 1 F FFFF

Taula 2.6-1 Adreçament de 1 MByte

1. Com heu de fer la connexió del bus de dades entre els xips de memòria i el nucli microcontrolador?

2. Com heu de fer la connexió del bus d’adreces, el descodificador i els xips de memòria ? 3. Quins nivells lògics heu de posar a les entrades d’habilitació per tal que el descodificador estigui

sempre habilitat ? 4. Com i on heu de connectar les línies de control RD_L i WR_L ? 5. Realitzeu l’esquema elèctric complet del banc de memòria

c) Quina adreça és la (8DA6C)HEX en decimal ? Si vull guardar una dada digital a aquesta adreça, a quin

xip queda emmagatzemada ? d) Quines característiques hauria de tenir la CPU i el descodificador per tal de realitzar una expansió del

banc de memòria fins a 2 MByte de RAM? Quants xips de memòria TC558128BJ hauríem d’emprar?

e) Si volguéssim dissenyar un banc de memòria de 1 MWord (16 bits d’amplada) per un

microcontrolador de 16 bits, quants xips de memòria TC558128BJ hauríem d’emprar? f) Amb l’AD que porta incorporat aquest microcontrolador (per exemple a través de la línia RA0/AN0),

volem digitalitzar un canal telefònic de veu de 3,4 kHz d’amplada de banda. El senyal digital s’obté mostrejant el senyal analògic amb una freqüència de mostratge de 4 × 3,4 kHz i quantificant les mostres amb 8 bits. Si les mostres digitals es guarden a la memòria RAM, quina és la duració màxima de la conversa telefònica que podem gravar fins omplir el banc de memòria de 1 MByte ?

Segona part: Problemes d’unitats de control i unitats operatives

39

Solució a) L’amplada de la paraula digital és de 8 bits I/O8 ····I/O0 La capacitat d’adreçament és de 17 línies (217 = 131072 Byte ≡ 128 kbytes) La capacitat total de la memòria és 1 Mbit (128 kBytes × 8 bits) La línia per habilitat la lectura del contingut d’una posició de memòria és OE_L La línia per habilitar el xip en general és CE_L. En estat tri-state. Són necessaris 8 xips de 128 kBytes cadascun. b) 1. El bus de dades ha de connectar-se en paral·lel a través de tots els xips. Solament estarà actiu un xip de memòria a la vegada. 2. Les adreces AB[16:0] s’han de connectar en paral·lel a través de tots els xips. Les línies A19, a18, A17 s’han de connectar a les línies d’entrada del descodificador A2, A1, A0 respectivament. Les sortides del descodificador YO_L (CSO_L), Y1_L (CS1_L) ···· Y7_L (CS7_L) s’han de connectar a les entrades CE_L de cadascun del xips de memòria. 3. G1 = 1; G2A _L = G2B _L = 0 4. Les línies RD_L i WR_L s’han de connectar en paral·lel a través de tots els xips a les entrades OE_L i WE_L respectivament. c) (8DA6C)HEX = 8·164 + 13·163 +10·162 +6·161 +12·160 = (580204)DEC Aquesta posició es troba al banc 5 de memòria que compren des la posició (80000)HEX fins a la posició (9FFFF)HEX. d) Cal afegir una línia més d’adreçament A20. 221 = 20977152 bytes. El descodificador ha de ser de 16 canals per tal de seleccionar 16 xips de memòria de 128 kBytes. e) Són necessaris 16 xips en bancs de 128 kWord. El banc de 128 kWord es configura a través de 2 xips TC558128BJ, on un d’ells guarda el byte de menys pes de la paraula digital DB[7:0] i l’altre el byte de més pes DB[15:8]. f) 3400 Hz × 4 mostres/s = 13600 mostres/s. Això vol dir que cada mostra es digitalitza en un temps de 73,53 µs (seleccionar canal analògic, conversió A/D i desar la paraula digital). S’omplirà el buffer de memòria en 73 segons.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

40

2.7 Commutador digital de llum de 2 i 3 posicions

Disseny del commutador de llum de 2 punts representat a la Fig. 2.7.1. La làmpada de 220 V s’ha d’encendre i apagar indistintament des de PA o PB. Es proposa dissenyar el circuit de control digital seqüencial asíncron a partir d’un diagrama d’estats com els representats a la Fig. 2.7.2. Codifiqueu els estats en binari natural.

PALàmpada 220 V

AC1AC2 L1

L2PA1

PB1PB0

PA0

Commutadorde llumelectrònic

PB

~AC 220V

a)

B

A

L

GN

DV

cc

D2

LED

R11k

~AC 220V

PB

PADriver de potència

D1

VCC

VCC

GN

DV

cc

PA0PA1

PB1

A

BPB0Relé

AC-DC

VCC

Làmpada 220 V

Circuit de controldigital seqüencial

Circuit polsadors VCC

AC2

AC1

GND

Vcc

b)

Fig. 2.7.1 a) Commutador de llum. b) Circuit elèctric

a) Feu l’exercici amb el mètode directe de la taula de veritat i portes lògiques. b) Feu l’exercici amb el mètode canònic a partir de biestables latches R-S.

S0 L OFF

S1 L ON

A o B = 1

A o B = 1

A i B = 0

A i B = 0

S0 L OFF

S1 L ON

A o B = 1 A i B = 1

A i B = 0

S2 L ON

S3 L OFF

A o B = 1

A i B = 1A i B = 0

a) b)

Fig. 2.7.2 Diagrama d’estats. a) Simple de 2 estats, b) Més elaborat amb 4 estats

El diagrama d’estats de la Fig. 2.7.2a, sembla que ja és suficient per al disseny d’aquesta aplicació. Però analitzant el diagrama en detall, s’observa que presenta l’inconvenient que s’han d’aplicar al sistema polsos d’activació de duració inferior o igual al temps de propagació de 1 porta lògica. Si no és així, tal com mostra el diagrama, mentre dura l’activació del polsador A o B, el sistema oscil·la i genera un ona quadrada canviant d’estat constantment. Això representa tot un problema pràctic de solució complicada. A més, resulta també inviable que hi hagi el polsador A i B activats simultàniament. Per això, si s’usa un biestable addicional, poden codificar-se 4 estats resultant el diagrama de la Fig. 2.7.2b. Es comprova que necessàriament el polsador premut ha de retornar a zero per a fer avançar la seqüència i resulta també que és possible que estiguin ambdós activats simultàniament.

Segona part: Problemes d’unitats de control i unitats operatives

41

2.8 Control digital d’un motor pas a pas

Dissenyeu el control digital seqüencial del motor pas a pas 9904 112 31004 de Philips representat a la Fig. 2.8.1. Les característiques completes del motor es poden localitzar a www.farnell.com. Les 4 bobines L1, L2, L3 i L4 s’han d’excitar d’acord amb la seqüència indicada pel fabricant (two-phase drive). El motor pot girar seguint el sentit de les agulles del rellotge (CW clockwise) i en sentit contrari a les agulles del rellotge (CCW counterclockwise). Podeu documentar-vos moltíssim més sobre les característiques tècniques dels motors pas a pas a la pàgina web: http://users.pandora.be/educypedia/electronics/motorstep.htm.

Fig. 2.8.1 Motor pas a pas, característiques, connexions i seqüència de funcionament

L2

VccAC1

AC2GND

Vdd

L1

Step

Vdd

Vcc

GND L1

L2

INH

CLK

H-AH_L

L3

L4

H-AH_L

Vcc

L4

Fontd'alimentació DRIVER

(ULN2003)

GN

DV

cc

I1

I2

I3

I4

O1

O2

O3

O4

~ Vdd

Controldigital motorpas a pas

INH

MOTOR PAS a PAS

AC 220V

CLK

L3

Fig. 2.8.2 Esquema general del control del motor pas a pas

a) Especificacions La Fig. 2.8.2 mostra l’esquema general del circuit electrònic de control del motor.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

42

• Text descriptiu: El sentit del gir s’establirà segons el nivell lògic de l’entrada H-AH_L: gir horari: H-AH_L = 1; gir anti-horari: H-AH_L = 0. Amb l’activació de l’entrada INH s’aconsegueix inhibir el motor (deixa de girar encara que arribin polsos de rellotge i manté la posició). El circuit ha de tenir un reset asíncron inicial CLR_L (POR: internal power-ON reset) normalment connectat a la tensió d’alimentació a través d’una xarxa externa RC que deixa el motor a l’estat (1): L1 = 1, L2 = L3 = 0, L4 = 1, després de 5ms d’haver-lo connectat a l’alimentació.

• Símbol, diagrames d’estats, i cronograma de funcionament (opcional). b) Estructura general del control Particularitzeu per aquest problema l’estructura d’un sistema seqüencial síncron canònic de Moore. Fixeu-vos que seran els polsos de rellotge els que faran avançar el motor. La freqüència de rellotge determinarà la velocitat de gir. S’escullen flip-flop tipus D per implementar la memòria d’estat. c) Codifiqueu els estats en codi Gray. Disseny intern d) Dibuixeu l’esquema intern de la memòria d’estat de r bits usants els flip-flop D 74LCX74 de

Fairchild Seminconductor representats a la Fig. 2.8.3.

Fig. 2.8.3 Low Voltage Dual D-Type Positive Edge-Triggered Flip-Flop with 5V Tolerant Inputs

e) Implementeu el SC2 de sortida a través de la seva taula de veritat i un circuit amb portes lògiques. f) Disseny del SC1 de forma modular.

• Proposeu la seva arquitectura modular interna tenint en compte que hi ha 3 modes de funcionament síncron (un multiplexor seleccionarà el mode de funcionament).

• Dissenyeu els tres subsistemes combinacionals (SC-GH, SC-GAH, SC-INH) amb l’ajuda de les taules de transicions d’estats i usant també la taula de disseny del flip-flop D. És a dir, cal deduir les funcions d’excitació dels biestables FHi pel gir horari, les FAHi pel gir anti-horari i les FINHi per al mode d’inhibició de gir.

Esquema electrònic final g) (Opcional). Dibuixeu l’esquema electrònic complet en Proteus ISIS i verifiqueu el seu funcionament

usant també el motors pas a pas i el driver de potència ULN2003. Per a fer aquesta tasca, cerqueu informació sobre xips comercials que puguin ser d’utilitat.

Estudi d’un xip comercial de característiques similars

Segona part: Problemes d’unitats de control i unitats operatives

43

h) (Opcional). Finalment, per tal de decidir si l’aplicació final ha de ser construïda amb el nostre propi disseny, o bé, en canvi, és possible trobar circuits comercials que facin una feina similar, es demana que examineu el xip de la Fig. 2.8.4 UCN5804 d’Allegro Microsystems o un altre de similar, per tal de comentar les seves característiques principals i les millores i variacions que incorpora respecte del nostre disseny. Podeu trobar el seu databook a www.allegromicro.com

Fig. 2.8.4 Chip UCN5804(BiMOS II unipolar stepper-motor translator/driver) and a typical application controlling a two-phase stepper-motor.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

44

2.9 Design and simulation of a 4-bit 74169-like presettable synchronous 4-bit

up/down binary counter

(A structured FSM with 4 synchronous operation modes)

We want to design as shown in Fig. 2.9.1, an universal counter similar to a 74169, a 4-bit up/down counter with parallel load, count enable, terminal count and asynchronous reset. The HEX-7SEG (designed in Prob. 1.8) is used only to display the count number.

C2

C1

C0

SC

DESCODIFICADOR HEX-7SEG

B

A

b_L

c_L

d_L

e_L

f_L

g_L

a_LD

C

RBO_L

LT_L

BI_L

RBI_L

R1

330

Vcc

CLK1

CLOCK=5Hz

COUNTER

CCT007

74x169-like presettable synchronous 4-bit up/downbinary counter

CE_L

U-D_L

CD

CLK

VCC

Q2

Q1

Q0

Q3

LD_L

TC_L

I3I2I1I0

R810k

Vcc

1 2

CLEAR DIRECT

(Asynchronous reset)

R910k

Vcc

01

01

R1010k

Vcc

R1110k

Vcc

PARALLEL-LOAD_L

UP-DOWN_L

1TC_L

Parallel Data lines for presetting the output to a know n state

COUNT-ENABLE_L

Fig. 2.9.1 Block diagram of the universal counter to be designed connected to some buttons and switches for

activating the inputs, and to the HEX-7SEG display decoder (Prob. 1.8) for representing the actual count

i) Specifications: Symbol: Shown in Fig. 2.9.1. In addition, print the firsts pages of the datasheet, for example

the 74LVC169: a high-performance, low-power, low-voltage, Si-gate CMOS device and superior to most advanced CMOS compatible TTL families, and understand the main points.

Four modes of synchronous operation better specified by the following function table. The

table also shows signals precedence or priority.

LD_L CE_L U-D_L Mode of operation 0 X X Parallel load 1 1 X Inhibit counter (do nothing) 1 0 1 Count up 1 0 0 Count down

Example of a timing diagram showing the CLK signal, some activity of the 3 inputs and the

responses of the outputs TC_L and Q[3..0]. State diagrams for each synchronous mode of operation.

j) Particularize the general architecture of the Moore FSM to the problem if FF-D (use for example

the 7474) are selected as the state memory building block. See the block diagram in Fig. 2.9.2.

Segona part: Problemes d’unitats de control i unitats operatives

45

I[3..0]

Q[3..0]

Q[3..0]

Q[3..0]

D[3..0]

SC2

CCT006

UP --> TC_L = 0 for "1111"DOWN --> TC_L = 0 for "0000"

Q[3..0]

4-BIT STATE MEMORY (FF-D)

CCT004

D[3..0]

Q[3..0]CLK

SC1

CCT005

For calculating the next stateD[3..0]

X1

Q[3..0]

X0

SC-INPUT

CCT008

Only 2 control lines are needed for codifying 4synchronous modesof operation

LD_L

CE_L

U-D_L

X1

X0

CLK

CE_L

LD_L

CD

U-D_L

CD

TC_L TC_L

U-D_L

Q[3..0]

Note: Mealy output

TC_L = f( X, S)

I[3..0]

I[3..0]

Fig. 2.9.2 Example of particularization of the canonical FSM that can be designed step by step following the general procedure stated in Unit 2.5.

k) Codify the states in binary code.

l) Design the state memory.

m) Design the SC2, which produces the output TC_L. Note here how TC_L is really a Mealy output which depends from both, the internal state (Q[3..0]) and an the input signal U-D_L.

n) Design the SC1, which establishes the next state after each CLK edge transition from low to

high. Try to implement a modular design using a multiplexer for selecting the synchronous mode of operation. Use transition tables and the design table of the FF-D to produce the excitation signals.

o) (optional) Capture the schematics in Proteus-VSM Lite and perform a circuit simulation to verify

if the design follows the specifications stated in a).

p) (optional) Using the ispLEVER software from Lattice Semiconductor, try to capture the schematics or VHDL files for describing de circuit and program a sPLD like the GAL22V10 to implement the whole circuit. Perform a Proteus simulation prior to download the JED file to the GAL device by means of the ispVMS software.

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

46

2.10 Control digital del nivell d’un dipòsit d’aigua

Un dipòsit d’aigua s’omple amb dues bombes B1 i B2. Tal com s’observa a la Fig. 2.10.1, hi ha col·locats 3 detectors (D1, D2, D3) de nivell de líquid a les parets del dipòsit que s’activen a nivell alt quan arriba l’aigua. Si l’aigua està per sota del nivell 1, treballen les dues bombes. Quan l’aigua arriba al nivell 2, s’atura la bomba B1. Quan l’aigua arriba al nivell 3, s’atura la bomba B2. Ambdues bombes no es tornen a engegar fins que el dipòsit s’ha anat buidant i l’aigua no torna a estar per sota del nivell 1.

Nivell 3

Nivell 2

Nivell 1

D3

D2

D1

sortidaaigua

B1 B2

Fig. 2.10.1 Dipòsit d’aigua amb control digital de nivell

a) Segons com es dissenyi el sistema digital, es pot deduir el diagrama d’estats de la Fig. 2.10.2 o la Fig. 2.10.3.

S0

S1

S2

S5

S4

S3

D1=1

D1=0

D2=0

D3=0

D3=1

D2=1

B1=1 B2 =1

B1=0 B2 =0

B1=0 B2 =0

B1=0 B2 =0 B1=0

B2 =1

B1=1 B2 =1

Dipòsit ple

Dipòsit per sota de N1

Dipòsit omplint-se entre N1 i N2

S0

S1

S2

D2=1

D3=1

B1=1 B2 =1

B1=0 B2 =1

B1=0 B2=0

Dues bombes funcionant

Una bomba funcionant

D1=0

Bombes aturades

Fig. 2.10.2 Diagrama d’estats dissenyat per tal que el sistema sàpiga en tot moment entre quins nivells està aigua dins del dipòsit

Fig. 2.10.3 Diagrama d’estats dissenyat per saber quines bombes han de funcionar

b) Dissenyeu un circuit seqüencial asíncron pel mètode directe que realitzi el diagrama de la Fig. 2.10.3.

c) Dissenyeu un circuit seqüencial asíncron amb latches RS pel mètode canònic que realitzi el diagrama d’estats de la Fig. 2.10.2. Dibuixeu l’esquema elèctric final si els biestables són del tipus 74x279.

d) Dissenyeu un circuit seqüencial síncron amb flip-flops JK pel mètode canònic que realitzi el diagrama d’estats de la Fig. 2.10.2. Dibuixeu l’esquema elèctric final si els biestables són del tipus 74x112.

e) Indiqueu també com s’especificaria i es dissenyaria un sistema combinacional per a determinar si els sensors funcionen correctament.

f) Indiqueu també com s’especificaria i es dissenyaria un visualitzador a LED que indiqués visualment en quin nivell es troba el dipòsit.

Segona part: Problemes d’unitats de control i unitats operatives

47

2.11 Disseny d’un transmissor d’un port sèrie RS-232

Es vol dissenyar el mòdul transmissor d’un port sèrie RS-232 tal com mostra l’esquema general de la Fig. 2.11.1. Mentre no es transmet, la línia TX està a “1” (marking). Quan rep l’ordre de començament de transmissió a través del senyal ST (start transmission), afegeix el bit d’arrencada (start bit) a “0”, desprès serialitza les dades (8 bits), afegeix un bit de paritat i finalment 1 bit de parada (stop bit) a “1”. Quan acaba informa amb el senyal ET (end transmission).

TRANSMISSOR SÈRIE

CLK

D[7:0]

8

ST

ET RECEPTOR

SÈRIE

D[7:0]

8

cable de transmissió bifilar

CLK 19600Hz

TX

Start

Marking D0bit

D1 D2 D3 D4 D5 D6 D7

Paritybit bit

Stop

Marking

5 -8 data bits 1-2 stop bits

Fig. 2.11.1 Bloc d’un sistema transmissor - receptor de dades sèrie i format de les dades d’un esquema de transmissió asíncrona

a) Proposeu un diagrama de blocs amb els components necessaris per a realitzar el transmissor i expliqueu com voleu fer la captura i serialització de dades. Proposeu una unitat operativa (UO) amb registre de desplaçament, generador de paritat parell i altres elements, i una unitat de control (UC).

b) Especifiqueu el registre de desplaçament i tots els altres senyals de la UO c) Proposeu l’arquitectura interna de la UC control síncrona canònica de Moore d) Proposeu un diagrama d’estats i realitzeu l’assignació d’estats en binari natural e) Seleccioneu FF-JK i realitzeu el disseny de la UC

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

48

2.12 Sumador de 4 bits seqüencial

Al Tema 1 s’explica el disseny d’un circuit sumador combinacional de 4 bits de forma modular a través de l’encadenament de 4 sumadors elementals d’un bit. També s’inclou el disseny del sumador de 4 bits a través de sumadors elementals d’un bit amb la millora que representa el bloc generador de ròssecs anticipats, tal com fa el xip 74283. Vegeu la Fig. 2.12.1. En aquest problema es planteja el disseny d’un sumador de 4 bits seqüencial utilitzant solament els recursos de càlcul d’un sumador d’un bit. Es tracta de plantejar una unitat operativa (UO) i una unitat de control (UC) que segueixi un diagrama d’estats síncron per resoldre la suma dels 4 bits. vegeu l’esquema del bloc a la Fig. 2.12.2. Una vegada dissenyat el circuit, comenteu els avantatges i els inconvenients que té cada disseny.

4 4

B[3:0] A[3:0]

4

S[3:0]

Sumador combinacional

de 4 bits

C4

C0

Fig. 2.12.1 Sumador de 4 bits combinacional (bàsicament el xip 74 283)

4 4

B[3:0] A[3:0]

4

S[3:0]

Sumador seqüencial de 4 bits

C4

C0

CLK

EO (End of Operation)

SO (Start of Operation)

Fig. 2.12.2 Sumador de 4 bits seqüencial a dissenyar com un S. S. S. format per una UO, una UC i un rellotge de sincronisme.

Segona part: Problemes d’unitats de control i unitats operatives

49

2.13 Disseny d’un comptador Gray universal

a) Especificacions i bloc a dissenyar Comptador Gray de mòdul 16 (4 bits) Comptador i descomptador Habilitació de comptatge Reset síncron actiu a nivell baix Càrrega paral·lel síncrona activa a nivell alt Sortida de TC (terminal count) FSM (màquina d’estats finits) síncrona i canònica Flip-Flops D Dissenyeu també la taula de precedència dels modes de funcionament

4 bit Gray universal counter

TC CLR_L (síncron)

CLK

LD

U-D_L

4

Q[3:0]

4 I[3:0]

CE

Fig. 2.13.1 Bloc del comptador universal a dissenyar com una FSM síncrona

Guió per al disseny:

a) Especificacions i bloc a dissenyar b) Codi Gray i proposta d’arquitectura interna FSM c) Diagrames d’estat i codificació d’estats en Gray d) Taula de precedència de modes de funcionament e) Disseny dels registres de 4 bits f) Disseny del SC2 que calcula la sortida TC g) Disseny del SC1 que calcula el proper estat

- Metodologia de disseny modular i arquitectura interna del bloc SC1 - Disseny dels multiplexors i dels altres blocs interns del SC1

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

50

2.14 Disseny d’un registre de desplaçament universal

(Exemple d’enunciat de problema per ser treballat a l’aula en puzzle) A) Unitat didàctica 2.10: Registres de desplaçament (Mínim 8) B) Objectiu: Disseny intern d’un registre universal de tipus comercial C) Conceptes mínims previs: 2, 3, 4, 5, 6, 7 D) Mètode:

- Puzzle a l’aula (1,5h) - Treball cooperatiu del grup base a les sessions de treball TGC fora de l’horari lectiu (1,5h)

E) Enunciat del problema:

Disseny d’un registre de desplaçament universal (Unitat 2.10)

Què us sembla? Sou capaços de dissenyar aquest circuit a partir del que hem estudiat fins ara? Sabrem dissenyar un circuit intern per un registre de desplaçament comercial?

Especificacions Funcionament compatible amb el registre de desplaçament universal 74HC194 Reset asíncron Modes de funcionament:

o Inhibició o Desplaçament a la dreta o Desplaçament a l’esquerra o Càrrega paral·lel

FSM (màquina d’estats finits) síncrona i canònica Flip-Flops D

Bloc

4 bit universal shift register

LSI

CLR_L (asíncron)

CLK

RSI

S1

Q3

4 I[3:0]

S0

Q2 Q1 Q0

RSO LSO

Fig. 2.14.1Bloc del registre de desplaçament (shift register) universal a dissenyar com una FSM síncrona

Segona part: Problemes d’unitats de control i unitats operatives

51

F) Guió per al disseny:

a) Preparació prèvia: Busqueu a la Web i imprimiu i les primeres pàgines del datasheet del xip 74HCT194

TREBALL A L’AULA (1,5 h): --------------------- Grups base (20 min)

b) Especificacions i bloc a dissenyar c) Explicació dels modes de funcionament i dels senyals d’entrada i sortida d) Proposta d’arquitectura interna FSM

--------------------- Grup informal A) (30 min)

e) Disseny del bloc de registres de memòria d’estat . Discussió i selecció dels flip-flops comercials més adients per l’aplicació. Disseny del reset asíncron.

Grup informal B) (30 min)

f) Disseny del SC1 que calcula l’estat futur: Metodologia de disseny modular i arquitectura interna del bloc SC1. Estudi de la precedència dels modes de funcionament i disseny del sistema multiplexor

Grup informal C) (30 min)

g) Disseny intern de cada bloc del sistema combinacional SC1. b. Circuit de desplaçament dreta right shift c. Circuit de desplaçament esquerra left shift d. Circuit de càrrega paral·lel parallel load e. Circuit de càrrega paral·lel parallel load f. Circuit d’inhibició hold

--------------------- Grups base (30 min)

h) Discussió i explicació entre membres del grup del disseny i anàlisi de les solucions aportades per cada membre.

i) Dibuix de l’esquema electrònic final

TREBALL A LA SESSIÓ TGC (1 h):

j) Proposta d’anàlisis per l’autoverificació del disseny

k) Redacció de la solució proposada pel grup atenent als “criteris de qualitat”

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

52

2.15 Accés per teclat codificat

Es vol dissenyar un sistema d’accés a un recinte codificat per teclat hexadecimal. La Fig. 2.15.1 mostra: el teclat; els dígits on apareix la clau de 4 xifres a mida que es va teclejant; el sistema de sortida realitzat a través d’un relé que connecta un motor de potència mentre dura la temporització quan la clau s’ha encertat; i el sistema digital format per una unitat operativa i una unitat de control. Aquesta unitat de control és una màquina d’estats finits (FSM) de Moore.

Fig. 2.15.1 Blocs d’un accés (porta, mòbil, caixer automàtic, etc.) codificada per teclat

a) Especificacions: a. PIN (personal identification number) de 4 xifres hexadecimals b. Visualitzadors de 7-segments per veure les xifres introduïdes i la tecla premuda c. Accionament del motor de la porta o l’accés a través d’un relé electromecànic d. Temporitzador d’uns 10 s per accionar la porta quan s’introdueixi la clau correcta e. Gravació de la clau a través d’interruptors f. Sistema de control digital síncron

b) Realitzeu el disseny de l’estructura de la unitat operativa que memoritzarà la clau introduïda i la

compararà amb la clau secreta. El resultat podria ser un esquema com el que mostra la Fig. 2.15.3.

Segona part: Problemes d’unitats de control i unitats operatives

53

FSM

Unitat operativa

Línies de control

IGUAL

Teclat

Clau secreta

CLK

OPEN

TIMER Relé

10 s

Fig. 2.15.2 Diagrama general del pany codificat

B[15..0]

A[15..0]

A[11..8]

A[15..12]

A[7..4]

A[3..0]

B0

B1

B2

B3

B4

B5

B6

B7

B8

B9

B10

B11

B12

B13

B14

B15

TECLA

DIGIT_DRIVER

OUT_L[6..0]

IN[3..0]

CODIFICADOR TECLAT

COD_TECLAT

K_L[15..0]

CODI[3..0]

GS

REGISTRE 4 BITS A

4-BIT-REG

CLK

DATA_IN[3..0]

DATA_OUT[3..0]

CDLD

UNITATS

DIGIT_DRIVER

OUT_L[6..0]

IN[3..0]

REGISTRE 4 BITS B

4-BIT-REG

CLK

DATA_IN[3..0]

DATA_OUT[3..0]

CDLD

DECENES

DIGIT_DRIVER

OUT_L[6..0]

IN[3..0]

REGISTRE 4 BITS C

4-BIT-REG

CLK

DATA_IN[3..0]

DATA_OUT[3..0]

CDLD

CENTENES

DIGIT_DRIVER

OUT_L[6..0]

IN[3..0]

REGISTRE 4 BITS D

4-BIT-REG

CLK

DATA_IN[3..0]

DATA_OUT[3..0]

CDLD

MILERS

DIGIT_DRIVER

OUT_L[6..0]

IN[3..0]

CLK1CLOCK=10kHz

T_L[6..0]

u_L[6..0]

d_L[6..0]

c_L[6..0]

m_L[6..0]

K_L[15..0]

A2 Y0 4

B3 Y1 5

Y2 6

E1 Y3 7

U1:A

74LS139

FSM-MOORE

FSM-TECLAT

C1100nF

R3100k

VCC

1 2 CD

CLK

GS

IGUAL

S1S0

E

OPEN

3 4

5 6

13 12

11 10

OPEN

S1S0

EGS

IGUAL

S0S1

E 9 8

GS

COMP16

CIR-COMP16

A[3..0]

A[7..4]

A[11..8]

A[15..12]

A[15..0]A[15..0]

B[15..0]

B

7

3

1

CLAU SECRETA

IGUAL IGUAL

(13B7)

UNITAT OPERATIVA

UNITAT DE CONTROL

REGISTRE 4 BITS INPUT

4-BIT-REG

CLK

DATA_IN[3..0]

DATA_OUT[3..0]

CDLD

E

CLR_REG

Fig. 2.15.3 Diagrama de la unitat operativa (UO) i la unitat de control (UC)

1 Expliqueu les línies generals del seu funcionament 2 Construïu el codificador de teclat 3 El registre de 4 bits que guarda la informació de les tecles polsades 4 El descodificador HEX-7SEG excitador dels visualitzadors 5 El comparador de 2 nombres de 16 bits

Problemes per al disseny del Projecte d’Aplicació d’Electrònica Digital

54

c) Plantegeu el diagrama d’estats que ha de controlar aquesta unitat operativa

S0

S1

S2

S3

S4

S5 S6 S7

S9

S10

S11

S8

GS=0

GS=0

GS=0

GS=0

GS=0

GS=0

GS=0

GS=0

GS=1

GS=1

GS=1

GS=1

GS=1

GS=1

GS=1

GS=1

IGUAL=0

IGUAL=1

(E = 0)

(E = 0)

(E = 0)

(E = 0)

(E = 0)

(E = 0)

(E = 1; S1 =0; S0=0)

(E = 1; S1 =0; S0=1)

(E = 1; S1 =1; S0=0) (E = 1;

S1 =1; S0=1)

(OPEN= 1; CLR_REG = 1)

(CLR_REG = 1) milers

centenes

desenes unitats compara

OPEN = 1 solament a l’estat S10; resta d’estats OPEN = 0; CLR_REG = 1 solament als estats S10 i S11; resta d’estats = 0; Altres variables no indicades = X

Fig. 2.15.4 Proposta de diagrama d’estats de la unitat de control

d) Dissenyeu la Unitat de Control com una màquina d’estats finits FSM de Moore

a. Especificacions i diagrama d’estats (apartats anteriors) b. Arquitectura de la FSM c. Codificació en binari natural dels estats d. Disseny del SC2 e. Dibuix de la memòria d’estats amb FF-D f. Disseny del SC1

Segona part: Problemes d’unitats de control i unitats operatives

55

Q[3..0]

Q[3..0]

Q[3..0]

D[3..0]

SC2

CIR-SC2

Q[3..0]

MEM ESTAT 4 BITS

MEM-STATS

D[3..0]

Q[3..0]CLK

SC1

CIR-SC1

D[3..0]IGUAL

Q[3..0]

GS

S[1..0] S[1..0]

IGUAL

GS

CLK

OPENOPEN

CDCD

EECLR_REG CLR_REG

Fig. 2.15.5 Proposta d’arquitectura general per la FSM

e) Simultàniament en cada apartat, arrenqueu un projecte amb el laboratori virtual Proteus-VSM per anar simulant i verificant cadascuna de les seccions del projecte i el funcionament del sistema complet