background image

Instytut Automatyki

 

                                                                                                                       

 

 

Ćwiczenie 7

Liczniki liczące w przód, dzielniki częstotliwości

1.

Zakres ćwiczenia

1.1

Zrealizować w układzie programowalnym GAL16V8:

- układ liczący działający jak licznik 7490

- układ liczący MOD-X , x wskazane przez prowadzącego 

- układ   dzielnika   częstotliwości   przez   liczbę   wskazaną 

przez prowadzącego

WYMAGANIA  : Znajomość  materiałów laboratoryjnych : Synteza układów 

cyfrowych z wykorzystaniem układów programowalnych. Znajomość budowy 

układów licznikowych. Znajomość działania przerzutników. 

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Ćwiczenie 8

Synteza układów synchronicznych

1. Zakres ćwiczenia

1.1

Dokonać syntezy i zbadać następujące układy:

a) licznik   MOD   9   pracujący   w   kodzie   binarnym  naturalnym 

(obciętym do 9-ciu kombinacji)

b) licznik MOD 6  pracujący w kodzie binarnym naturalnym

c) licznik MOD 8 pracujący w kodzie Grey'a

d) licznik pracujący w kodzie EXEES-3 

e) układ   sterowania   silnikiem   krokowym   generujący 

przebiegi 3-fazowe prostokątne

f) układ   sterowania   silnikiem   krokowym   generujący 

przebiegi   3-fazowe   prostokątne   z   tak   zwanymi 

półkrokami

W projektowanych układach wykorzystać przerzutniki JK.

WYMAGANIA : Znajomość budowy układów synchronicznych i umiejętność 

syntezy ich przy pomocy metody pogrubionych zer i jedynek.

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Ćwiczenie 9

Sumatory i komparatory

1. Zakres ćwiczenia

1.1

Przy   użyciu   układu   programowalnego   ispGal22V10 

zrealizować   układ   działający   jak   układ   7483   i   sprawdzić   jego 

działanie przy sumowaniu : 

- przy sumowaniu liczb bez znaku

- przy sumowaniu liczb ze znakiem w kodzie D2

Zrealizować układ logiczny wykrywający nadmiar (OVERFLOW).

1.2

Przy   użyciu   układu   programowalnego   ispGal22V10 

zrealizować układ działający jak układ komparatora 7485

WYMAGANIA  : Znajomość  materiałów laboratoryjnych : Synteza układów 

cyfrowych z wykorzystaniem układów programowalnych. Znajomość budowy 

sumatorów i komparatorów oraz kodów reprezentujących liczby ze znakiem.

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Ćwiczenie 10

Synteza dekoderów adresowych dla systemów 

mikroprocesorowych

1. Zakres ćwiczenia

1.1

Zaprojektować   w   układzie   programowalnym   16V8   układ 

dekodera   adresowego   o   magistrali   8-bitowej   (A7....A0)   do 

którego wchodzą dodatkowo sygnały sterujące magistralą /WR

oraz /RD. Układ powinien sterować sygnałami wyboru dla:

- trzech urządzeń wejściowych (tylko odczyt)

- trzech urządzeń wyjściowych (tylko zapis)

- jednego urządzenia wejściowo-wyjściowego (zapis i odczyt)

- pamięci RAM o pojemności 16 bajtów

Adresy poszczególnych elementów podaje prowadzący.

  

WYMAGANIA  : Znajomość  materiałów laboratoryjnych : Synteza układów 

cyfrowych   z   wykorzystaniem   układów   programowalnych.   Znajomość   idei 

magistrali adresowej w układach mikroprocesororwych.

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Ćwiczenie 11

Projektowanie układów sekwencyjnych

1. Teoria Automatów

1.1

Zasada działania.

Aby   zapewnić   współpracę   różnych   członów   urządzeń 

cyfrowych   niezbędne   jest   generowanie   odpowiednich   sekwencji 

sygnałów   sterujących.   Rolę   generatora   sekwencji   sygnałów 

sterujących   może   pełnić   synchroniczny   automat   Moore’a   lub 

automat Mealy'ego (rys.1).

Rys.1   Synchroniczne   automaty   Moore’a   i   Mealy'ego   -   schematy  

ideowe 

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

UK1,UK2 – układy kombinacyjne 

UP – układ pamięciowy

q – sygnały wzbudzeń układu pamięciowego

Q – stan wewnętrzny automatu

X – sygnały warunków

Y – wyjściowe sygnały sterujące.

Układ   pamięciowy   (UP)   może   być   złożony   z   zespołu 

przerzutników,   których   sygnały   wyjściowe   określają   stan 

wewnętrzny Q automatu. Sygnały wzbudzeń q tych przerzutników są 

wytwarzane w układzie kombinacyjnym UK1 na podstawie sygnałów 

warunków X i sygnałów sprzężeń zwrotnych Q. Układ kombinacyjny 

UK2   służy   do   wytwarzania   wyjściowych   sygnałów   sterujących   Y 

zależnych od stanu wewnętrznego Q (automat Moore'a) lub od stanu 

wewnętrznego   Q   i   sygnałów   warunków   X   (automat   Mealy'ego). 

Zmiany   stanu   automatu   zachodzą   pod   wpływem   impulsów 

zegarowych  CLK,  zaś  ustawienie  go  w  stanie  początkowym odbywa 

się przez doprowadzenie impulsu zerującego ZER.

Projektowanie   struktury   takiego   automatu   odbywa   się   przy 

wykorzystaniu   metod   syntezy   automatów   synchronicznych   i   polega 

na   zbudowaniu   tablicy   przejść,   jej   uproszczeniu,   zakodowaniu   i 

wyznaczeniu   funkcji   wzbudzeń   przerzutników   i   funkcji   wyjść 

układu.

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

1.2

Przykładowe rozwiązanie układu sekwentera (automa Moore'a)

Rozpatrzony   zostanie 

układ   generujący   sekwencję 

impulsów

 

zgodnie

 

programem

 

działania 

przedstawionym na rys. 2.

0,1,...,7–stany   wewnetrzne 

automatu

I0,I1,...I5–sygnały wyjściowe

S1,S2   –   sygnały   określające 

warunki   rozgałęzień   przy 

tworzeniu pętli

A,B,C – pętle programu

Rys.2. Program działania przykładowego sekwentera

Programowi działania z rys.2 odpowiada graf przedstawiony na 

rys.3a oraz tablica przejść przedstawiona na rys 3b. 

0

1

2

3

4

5

6

7

S1=0

S1=1

S2=0

S2=1

Laboratorium  Układów  Logicznych i Cyfrowych 

I0

I1

I3

I2

I3

I4

I5

I2

S1

S2

0

1

2

3

4

5

6

7

„0”

„1”

„0”

„1”

B

C

A

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Stan aktualny

Q

t

Warunki S1,S2

Sygnały 

wyjściowe

00 10 11 01

0

1

1

1

1

I0

1

2

2

2

2

I1

2

3

3

3

3

I3

3

4

4

4

4

I4

4

5

5

5

5

I5

5

2

6

6

2

I2

6

7

7

1

1

I3

7

2

2

2

2

I2

Rys.3. Graf oraz tablica przejść programu działania sekwentera 

impulsów z rys. 2.

Zakładając, że układ pamięciowy tego automatu będzie złożony 

z   przerzutników   typu   D,   a   układ   kombinacyjny   UK1   z 

multiplekserów,   można   na   podstawie   tablicy   przejść   sekwentera 

(tabela   3b)   wyznaczyć   tablice   przejść   przerzutników   układu 

pamięciowego (rys. 4).

Stan 

aktualny

Warunki S1,S2

Q

3

t

Q

2

t

Q

1

t

00 10 11 01

00 10 11 01

00 10 11 01

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

1

0

0

0

0

1

1

1

1

0

0

0

0

0

1

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

0

0

0

0

0

0

0

0

1

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

0

0

0

0

1

1

0

1

1

0

0

1

1

0

0

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

Q

3

t + 1

Q

2

t + 1

Q

1

t + 1

Rys. 4. Tablice przejść przerzutników układu pamięciowego UP

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Tablicom   przejść   z   rysunku   4   odpowiadają   następujące   funkcje 

wzbudzeń przerzutników:

( )

( )

( )

2

1

2

6

5

4

,

3

6

7

,

5

,

2

,

1

6

,

4

,

2

,

0

1

3

3

1

2

2

1

1

1

s

s

t

s

t

t

Q

D

Q

D

Q

D

+

+

=

=

+

=

=

=

=

+

+

+

przy   czym   symbol  

( )

z

x

  oznacza,   że   wyrażenie   to   przyjmuje 

wartość logiczną 1 wtedy, gdy 

3

2

1

Q

Q

Q

 wyraża liczbę x i jednocześnie 

z=1.

Związki   (1)   wyznaczają   strukturę   układu   UK1,   który   może 

zostać  zrealizowany   przy  użyciu  trzech   multiplekserów   MX1,  MX2, 

MX3 typu 8/1 o adresie 3 bitowym.

Sygnały   wyjściowe   y1,   y2,   y3   zależą   tylko   od   stanów 

wewnętrznych Q układu zgodnie z poniższą tabelą (rys. 5)

Q

t

y3

y2

y1

0

0

0

0

1

0

0

1

2

0

1

1

3

1

0

0

4

1

0

1

5

0

1

0

6

0

1

1

7

0

1

0

Rys.5. Tablica zależności sygnałów y1, y2, y3 od stanów 

wewnętrznych Q.

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

 

                                                                                                                       

 

 

Z   tablicy   powyższej   wynikają   następujące   zależności   od 

sygnałów   wewnętrznych   automatu   Q,   które   posłużą   do   realizacji 

układu:

=

=

=

6

,

4

,

2

,

1

7

,

6

,

5

,

2

4

,

3

1

2

1

y

y

y

(2)

1.3

Inne przykłady automatów.

1.4

W układzie programowalnym Gal 16V8 zaprojektować automat 

Moore'a   lub   Mealy'ego   o   działaniu   wskazanym   przez 

prowadzcego

Laboratorium  Układów  Logicznych i Cyfrowych 

background image

Instytut Automatyki

                                                                                          

Ćwiczenie 12

Synteza liczników złożonych w układach programowalnych

1. Zakres ćwiczenia.

Zaprojektować   licznik   opisany   przez   prowadzącego   w   układzie 

opisanym   poniżej   na   podstawie   przykładu.   Układ   wykorzystuje 

strukturę  CPLD firmy Lattice MACH 4A5

WYMAGANIA  : Znajomość  materiałów  laboratoryjnych : Synteza układów 

cyfrowych z wykorzystaniem układów programowalnych. Znajomość budowy 

układów licznikowych

Laboratorium Cyfrowych Układów Automatyki 

background image

Instytut Automatyki

                                                                                          

Opis wyprowadzeń układu MACH M4A5- 64/32 dla płytki 

edukacyjnej firmy Vantis

Nr  pinu

Definicja 

pinu

Opis we/wy

Opis led

Uwagi

1

GND

2

I/O 0

wyjście

Led -a cyfra1

3

I/O 1

wyjście

Led -b cyfra1

4

I/O 2

wyjście

Led -c cyfra1

5

I/O 3

wyjście

Led -d cyfra1

6

I/O 4

wyjście

Led -e cyfra1

7

I/O 5

wyjście

Led -f cyfra1

8

I/O 6

wyjście

Led -g cyfra1

9

I/O 7

Wejście  SW1

Led dp -cyfra1

Tylko jako wejście

10

TDI

Sygnał JTAG

11

CLK 0/ I 0 Wejście zegarowe

Wybór f 
jumperem

12

GND

13

TCK

Sygnał JTAG

14

I/O 8

wyjście

Led -a cyfra2

15

I/O 9

wyjście

Led -b cyfra2

16

I/O 10

wyjście

Led -c cyfra2

17

I/O 11

wyjście

Led -d cyfra2

18

I/O 12

wyjście

Led -e cyfra2

19

I/O 13

wyjście

Led -f cyfra2

20

I/O 14

wyjście

Led -g cyfra2

21

I/O 15

Wejście  SW2

Led dp -cyfra2

Tylko jako wejście

22

VCC

23

GND

24

I/O 16

wyjście

Led -a cyfra3

25

I/O 17

wyjście

Led -b cyfra3

26

I/O 18

wyjście

Led -c cyfra3

27

I/O 19

wyjście

Led -d cyfra3

28

I/O 20

wyjście

Led -e cyfra3

29

I/O 21

wyjście

Led -f cyfra3

30

I/O 22

wyjście

Led -g cyfra3

Laboratorium Cyfrowych Układów Automatyki 

background image

Instytut Automatyki

                                                                                          

31

I/O 23

Wejście  SW3

Led dp -cyfra3

Tylko jako wejście

32

TMS

Sygnał JTAG

33

CLK 1/I 1

Wejście zegarowe

f=4Hz

34

GND

35

TDO

Sygnał JTAG

36

I/O 24

wyjście

Led -a cyfra3

37

I/O 25

wyjście

Led -b cyfra3

38

I/O 26

wyjście

Led -c cyfra3

39

I/O 27

wyjście

Led -d cyfra3

40

I/O 28

wyjście

Led -e cyfra3

41

I/O 29

wyjście

Led -f cyfra3

42

I/O 30

wyjście

Led -g cyfra3

43

I/O 31

wyjście

Led -dp cyfra3

44

VCC

 

Schemat płytki edukacyjnej firmy Vantis

Laboratorium Cyfrowych Układów Automatyki 

background image

Instytut Automatyki

                                                                                          

Przykład projektu dla w/w układu w języku ABEL

MODULE

 licznik

TITLE

 'licznik jedna cyfra'

declarations

"wejscia
sw1,sw2 

pin 9,21 ;"przyciski

clk0

pin 11;   "zegar

"wyjscia
cyf1_g,cyf1_f,cyf1_e,cyf1_d,cyf1_c,cyf1_b,cyf1_a      pin 8,7,6,5,4,3,2      istype 'com'
"segmenty cyfry1

dp pin 43 istype 'com';  "migająca kropka

"zmienne pomocnicze
a3,a2,a1,a0 node  istype 'reg';  "zmienne pomocnicze typu register cyfra liczaca 1

p1  node istype 'com'; "zmienne pomocnicze typu kombinacyjnego przeniesienia

clk_pom node istype 'reg'; "dzielnik zegar przez 2

" definicje wektorów
wysw1=[cyf1_g,cyf1_f,cyf1_e,cyf1_d,cyf1_c,cyf1_b,cyf1_a]; "wektor segmentów cyfra1 

cyfra1=[a3,a2,a1,a0]; "wektor cyfra liczaca 1

on,off = 0,1; " definicja stanów swiecenia diod

equations

clk_pom := !clk_pom.fb;  " dzielenie częstotliwości przez 2
clk_pom.clk=clk0;

when (cyfra1.fb==9) then p1=1   "przeniesienie dla cyfry 1
else p1=0;

when !sw2 then cyfra1:=cyfra1.fb  "sterowanie liczeniem cyfra1
else when p1 then cyfra1:=0
else cyfra1:= cyfra1.fb+1;

cyfra1.clk=clk_pom;  "definicje zegara dla wektora cyfry

cyfra1.ar=!sw1;   " reset asynchroniczny

dp=clk_pom;" kropka miga jak dzielnik przez 2

Laboratorium Cyfrowych Układów Automatyki 

background image

Instytut Automatyki

                                                                                          

"dekoder z kody binarnego na 7 segmentowy
truth_table (cyfra1 -> wysw1)

0 -> [ off, on, on, on, on, on, on];
1 -> [ off,off,off,off, on, on,off];
2 -> [  on,off, on, on,off, on, on];
3 -> [  on,off,off, on, on, on, on];
4 -> [  on, on,off,off, on, on,off];
5 -> [  on, on,off, on, on,off, on];
6 -> [  on, on, on, on, on,off, on];
7 -> [  off,off,off,off,on, on, on];
8 -> [  on, on, on, on, on, on, on];
9 -> [  on, on,off, on, on, on, on];
10 -> [  on, on, on,off, on, on, on];
11 -> [  on, on, on, on, on,off,off];
12 -> [ off, on, on, on,off,off, on];
13 -> [  on,off, on, on, on, on,off];
14 -> [  on, on, on, on,off,off, on];
15 -> [  on, on, on,off,off,off, on];

END

Laboratorium Cyfrowych Układów Automatyki