You are on page 1of 54

Chương 2

THIẾT KẾ MÁY TRẠNG THÁI BẰNG


LƯU ĐỒ MÁY TRẠNG THÁI

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
I. LÖU ÑOÀ MAÙY TRAÏNG THAÙI:
- Heä tuaàn töï coøn ñöôïc goïi laø maùy traïng thaùi thuaät toaùn
(ASM - algorithmic state machine) hay ñôn giaûn hôn laø maùy
traïng thaùi (SM - state machine), goïi taét laø SM.
- Löu ñoà SM ñöôïc taïo bôûi caùc khoái SM; moãi khoái SM
moâ taû hoaït ñoäng cuûa heä trong 1 traïng thaùi.
- Moät khoái SM bao goàm moät Hoäp traïng thaùi (state box),
caùc Hoäp quyeát ñònh (decision box) vaø caùc Hoäp xuaát theo ñieàu
kieän (conditional ouput box).

0 1
ÑIEÀU KIEÄN

Hoäp traïng thaùi Hoäp quyeát ñònh Hoäp xuaát theo ñkieän
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ñöôøng vaøo cuûa khoái SM

Teân traïng thaùi S Maõ traïng thaùi


xxx
Lieät keâ bieán ra coù giaù trò 1
(bieán Moore)

0 1
ÑIEÀU KIEÄN

Lieät keâ bieán ra coù


giaù trò 1 theo ñieàu
kieän (bieán Mealy)

Caùc ñöôøng ra ñeán caùc khoái SM khaùc


Moät khoái SM coù chính xaùc moät ñöôøng vaøo vaø moät hoaëc nhieàu ñöôøng ra.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Moät ñöôøng daãn ñi qua khoái SM töø ngoõ vaøo ñeán ngoõ ra ñöôïc goïi
laø ñöôøng daãn lieân keát (link path).

S1

Z1, Z2

0 1
X1

Z3, Z4 0
X3
1

0 1 Z5
X2

1 CuuDuongThanCong.com
2 3 https://fb.com/tailieudientucntt
n
- Khoái SM coù theå ñöôïc bieåu dieãn baèng nhieàu daïng khaùc nhau .

CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Moät löu ñoà SM coù theå bieåu dieãn moät heä toå hôïp khi chæ coù
moät traïng thaùi vaø khoâng coù söï thay ñoåi traïng thaùi xaûy ra.

Z1 = A + A’BC = A + BC

CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ta phaûi tuaân theo moät soá qui taéc khi xaây döïng moät khoái SM.
* Vôùi moïi keát hôïp caùc bieán vaøo hôïp leä phaûi coù chính xaùc
moät ñöôøng ra ñöôïc ñònh nghóa. Ñieàu naøy laø caàn thieát vì moãi toå hôïp
vaøo ñöôïc cho pheùp phaûi daãn ñeán moät traïng thaùi keá duy nhaát.

* Khoâng cho pheùp coù ñöôøng hoài tieáp noäi trong moät khoái SM.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/0 1/0
1/Z2
S0 00 = AB S0 S1 S2
Za 0/0 Zb Zc
Za 0/0
0/Z1
0 1
X
S1 01
Zb

0 1
X
S2 11
Zc

0 1
X

Z1 Z2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giản đồ định thì
Clock

State S0 S1 S2 S2 S0 S0
S0 X
Za Za
Zb
0 1
X Zc
S1
Z1
Zb
Z2

0 1
X
S2
Zc

0 1
X

Z1 Z2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
II. CAØI ÑAËT LÖU ÑOÀ MAÙY TRAÏNG THAÙI:
- Vieäc caøi ñaët (realization) löu ñoà SM laø tìm ñöôïc phöông trình
cuûa caùc bieán ra vaø caùc bieán traïng thaùi keá tieáp.
- Caùc böôùc thöïc hieän nhö sau:

* Thöïc hieän gaùn traïng thaùi cho caùc hoäp traïng thaùi.
* Xaùc ñònh phöông trình cuûa bieán ra Zi
- Tìm caùc traïng thaùi coù xuaát hieän bieán ra (Zi = 1)

- Nếu laø bieán MOORE thì ta ñöôïc tích soá (AND) cuûa
caùc bieán traïng thaùi; coøn neáu laø bieán MEALY thì ta coù tích soá
cuûa caùc bieán traïng thaùi vaø bieán ñieàu kieän vaøo.

- Phöông trình cuûa bieán ra baèng toång (OR) caùc tích soá
ñaõ tìm thaáy ôû caùc böôùc treân laïi vôùi nhau.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
* Gaùn traïng thaùi:
S0 00 = AB S0: AB = 00; S1: AB = 01 vaø S2: AB = 11
Za
* Phöông trình cuûa caùc bieán ra:
0
X
1 Za = A B
S1 01 Zb = A B
Zb Zc = A B

1
Z1 = A B X
0
X
Z2 = A B X
S2 11
Zc

0 1
X

Z1 Z2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
* Xaùc ñònh phöông trình caùc bieán traïng thaùi keá Q+j

- Tìm ra taát caû caùc traïng thaùi trong ñoù Qj =1

- Taïi moãi traïng thaùi naøy, tìm taát caû caùc ñöôøng daãn lieân keát
(link path) maø daãn vaøo traïng thaùi ñoù.

- Vôùi moãi ñöôøng daãn lieân keát naøy, tìm ra moät soá haïng laø 1
khi ñi theo ñöôøng daãn lieân keát naøy. Nghóa laø, vôùi ñöôøng daãn
lieân keát töø Sa ñeán Sb, soá haïng seõ laø 1 tích soá cuûa caùc bieán
traïng thaùi ôû traïng thaùi Sa vaø caùc bieán ñieàu kieän ñeå coù theå
daãn ñeán Sb.

- Bieåu thöùc Q+j ñöôïc taïo thaønh baèng caùch laáy toång (OR) caùc
tích soá ñöôïc tìm thaáy ôû böôùc treân laïi vôùi nhau

CuuDuongThanCong.com https://fb.com/tailieudientucntt
* Phöông trình caùc bieán traïng thaùi keá:
S0 00 = AB A+ = A B X + ABX
Za (S1→ S2) (S2→ S2)

0 1 B+ = A B X + ABX + ABX
X (S1→ S2) (S2→ S2) (S0→ S1)
S1 01
Zb

0 1
X
S2 11
Zc

0 1
X

Z1 Z2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2.2 THÀNH LẬP LƯU ĐỒ SM
Phương pháp suy ra lưu đồ SM cho một hệ
điều khiển tuần tự thì giống với phương pháp
dùng suy ra giản đồ trạng thái:
1. Vẽ sơ đồ khối của hệ thống mà ta đang điều khiển.
2. Định nghĩa các tín hiệu vào và ra cần cho hệ điều
khiển.
3. Xây dựng lưu đồ SM để kiểm tra các tín hiệu vào
và ra cần cho hệ điều khiển.
4. Xây dựng lưu đồ SM để kiểm tra các tín hiệu vào
và tạo ra chuỗi các tín hiệu ra đúng.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.1 Xây dựng một khối SM có ba biến vào (A, B,
C), 4 biến ra (W, Z, Y, Z), và đường ra (1 và 2). Với khối
này, ngõ ra Z luôn luôn là 1, và W là 1 nếu cả hai A và B
bằng 1. Nếu C = 1 và A = 0 thì Y = 1 và đi ra đường 1.
Nếu C = 0 hoặc A = 1 thì X = 1 và đi ra đường 2.

 Theo đề bài ta thấy Z phải là biến ra Moore, còn các


biến ra khác là biến Mealy; và ta có lưu đồ SM sau:

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.2 Vẽ lưu đồ SM
của hệ kiểm tra chẵn lẻ số
bit nhận được ở ngõ vào X,
nếu số bit 1 nhận được ngõ
vào X là số lẻ thì Z = 1, là
số chẳn thì Z = 0.

 Nếu gọi EVEN là trạng thái


chỉ số bit 1 nhận được là
chẵn và ODD là trạng thái
chỉ số bit 1 nhận được là lẻ
thì ta có được lưu đồ SM
như hình 2.12.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.3 Vẽ lưu đồ SM của hệ có một ngõ vào X, một
ngõ ra Z và một ngõ xung nhịp CLK; hệ này phát hiện chuỗi
bit vào 1,0,1. Ngõ ra Z = 1 khi chuỗi vào là 1,0,1; giá trị
cuối của chuỗi có thể làm bit đầu của chuỗi mới.
 a- Giải theo hệ Mealy
Ta có giản đồ trạng thái sau:

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
 b- Giải theo hệ Moore
Ta có giản đồ trạng thái sau:

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.4 Lập lưu đồ SM cho bộ chia nhị phân song song. Ta xét
thiết kế bộ chia song song cho các số nhị phân dương.
Ta sẽ thiết kế một hệ chia số bị chia (dividend) 6 bit cho số
chia (divisor) 3 bit để có được thương số 3 bit.
100010 110
110
101
101
000
1010
110
100

CuuDuongThanCong.com https://fb.com/tailieudientucntt
y3 y2 y1
1 1 0
x7 x6 x5 x4 x3 x2 x1 C

0 1 0 0 0 1 0 0 ⇒ Sh
1 0 0 0 1 0 0 1 ⇒ Su
0 0 1 0 1 0 1 0 ⇒ Sh
0 1 0 1 0 1 0 0 ⇒ Sh
1 0 1 0 1 0 0 1 ⇒ Su
0 1 0 0 1 0 1

Nếu ban đầu x7x6x5x4 ≥ y1y2y1, sẽ xẩy ra tràn bit vì kết quả > 7

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ngõ vào: St, C Ngõ ra: Sh, Su

St 0 CSt V

S0
C Su CSt Sh

C 0
S3 S1 C Su

C Sh C Sh

S2
C Su
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.5 Lập lưu đồ SM cho phần điều khiển bộ nhân nhị phân.
Ta sẽ thiết kế bộ nhân song song cho các số nhị phân dương.
Ta xét số bị nhân (multiplicand) 4 bit và số nhân (multipler) 4
bit. Tích số là số nhị phân 8 bit.

1101 1101
1011 1011
1101 111
0011
1101 1101
100111 11
0001111
0000 0000
100111 11000
1111
1101 1101
10001111 11
000011111

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ngõ vào: St, M Ngõ ra: Load, Add, Sh, Done
CuuDuongThanCong.com https://fb.com/tailieudientucntt
y3 y2 y1 y0
1 1 0 1 M
A8 A7 A6 A5 A4 A3 A2 A1 A0

0 0 0 0 0 1 0 1 1 M=1 ⇒ Ad
0 1 1 0 1 1 0 1 1 ⇒ Sh
0 0
1 1 0
1 0
1 1 0
1 1
0 1 M=1 ⇒ Ad
1 0 0 1 1 1 1 0 1 ⇒ Sh
1 1
0 0 0 0
1 1 1 1 1
0 0
1 M=0 ⇒ Sh
0 0
1 1
0 0 0
1 1 1 1 1
0 M=1 ⇒ Ad
1 0 0 0 1 1 1 1 1 ⇒ Sh
1 1
0 0 0 0 0
1 1 1 1 1

CuuDuongThanCong.com https://fb.com/tailieudientucntt
St 0
- Done
S9 S0 St Load
- Sh

S8 S1
M Sh M Ad
M Ad

M Sh
S7 S2

- Sh
- Sh
M Sh

S6 M Sh S3
M Ad M Ad
S5 S4
- Sh
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.6: Thiết kế trò chơi xúc xắc điện tử.
Hình 2.26 cho thấy sơ đồ khối của trò chơi xúc xắc. Hai bộ
đếm dùng để mô phỏng gieo xúc xắc. Mỗi bộ đếm đếm tuần tự
1, 2, 3, 4, 5, 6, 1, 2, …

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Như vậy sau khi gieo xúc xắc (roll), tổng của các giá
trị trong 2 bộ đếm nằm trong dãi từ 2 đến 12. Các qui
tắc chơi như sau:
1. Sau lần gieo xúc xắc (roll) lần thứ nhất, người chơi
thắng nếu tổng là 7 hoặc 11. Người chơi thua nếu
tổng là 2, 3, hoặc 12. Ngược lại tổng có được trong
lần “roll” thứ nhất được xem như “điểm” của người
chơi và phải “roll” xúc xắc lần nữa.
2. Ở lần “roll” thứ hai hoặc kế tiếp, người chơi thắng
nếu tổng bằng “điểm” của người chơi và thua nếu
tổng là 7. Ngược lại người chơi phải “roll” lần nữa
cho đến khi cuối cùng người chơi thắng hoặc thua.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các tín hiệu vào hệ điều khiển được định nghĩa như sau:
• D7=1 nếu tổng của xúc xắc là 7.
• D11=1 nếu tổng của xúc xắc là 11.
• D2312=1 nếu tổng của xúc xắc là 2, 3, hoặc 12.
• Eq=1 nếu tổng của xúc xắc bằng số được cất trong thanh ghi
điểm.
• Rb=1 khi ấn nút gieo xúc xắc Rb.
• Reset=1 khi ấn nút Reset.

Các biến ra của hệ điều khiển được định nghĩa như sau:
• Roll=1 cho phép các bộ đếm xúc xắc.
• Sp=1 làm cho tổng sẽ được cất vào thanh ghi điểm (Sp=Save
points).
• Win=1 làm cho đèn “Win” sáng (thắng).
• Lose=1 làm cho đèn “Lose” sáng (thua).

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2.3 CÀI ĐẶT CÁC LƯU ĐỒ SM
• Các phương pháp được dùng để cài đặt các lưu đồ SM tương tự
với các phương pháp dùng để cài đặt các giản đồ trạng thái.
• Như với bất cứ hệ tuần tự nào, cài đặt (realization) sẽ gồm có một
hệ tổ hợp cùng với các flipflop để chứa trạng thái của hệ (xem mô
hình hệ tuần tự Moore và Mealy). Trong một số trường hợp, có thể
nhận ra được các trạng thái tương đương trong lưu đồ SM và khử
đi các trạng thái thừa với cùng phương pháp dùng để rút gọn các
bảng trạng thái.
• Tuy nhiên, thường thì lưu đồ SM được đặc tả không hoàn toàn,
nghĩa là tất cả các biến vào không được kiểm tra trong mọi trạng
thái, mà nó làm cho việc rút gọn khó khăn hơn. Ngay cả nếu số
trạng thái trong lưu đồ SM có thể được rút gọn, không phải luôn
luôn như ý muốn vì kết hợp các trạng thái có thể làm cho lưu đồ
SM khó diễn dịch hơn.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
• Trước khi suy ra các phương trình biến ra và
trạng thái kế từ lưu đồ SM, ta phải thực hiện
gán trạng thái.
• Cách tốt nhất để thực hiện phép gán phụ thuộc
vào lưu đồ SM được cài đặt như thế nào.
• Nếu sử dụng các cổng và các flipflop (hoặc cài
đặt PLD tương đương) có thể dùng phép gán
trạng thái ở phần phụ lục.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phương trình trạng thái kế cho B có ba số hạng
tương ứng với ba đường dẫn nối ghép:
B+ = A’B’X (do link 1) +
A’BX (do link 2) +
ABX (do link 3)
B+ = (A’ + B) X

Tương tự có hai đường dẫn nối ghép kết thúc ở


trạng thái với A = 1, do đó:
A+ = A’BX + ABX = BX

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các phương trình biến ra và trạng thái có thể
được đơn giản hóa hơn bằng bảng Karnaugh
với trạng thái không sử dụng (AB = 10) làm
điều kiện “don’t care”, khi đó:
Za = A’B’ + (AB’) = B’
Zb = A’B
Zc = AB + (AB’) = A
Z1 = ABX’ + (AB’X’) = AX’
Z2 = ABX + (AB’X) = AX
A+ = BX
B+ = A’B’X + A’BX + ABX + (AB’X) = X

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tìm phương trình trạng thái kế
từ lưu đồ SM
Như minh họa ở trên, phương trình trạng thái kế cho một biến Q
của flipflop có thể suy được từ lưu đồ SM như sau:
1- Tìm ra tất cả các trạng thái trong đó Q = 1.
2- Đối với mỗi trạng thái này, tìm ra tất cả các đường dẫn nối
ghép mà dẫn đến trạng thái đó.
3- Với mỗi đường dẫn nối ghép này, tìm ra một số hạng là 1 khi
đi theo đường dẫn nối ghép này. Nghĩa là, với đường dẫn nối
ghép từ Si đến Sj, số hạng sẽ là 1 nếu máy ở trạng thái Si và
các điều kiện để thoát ra đến Sj được thỏa.
4- Biểu thức cho Q+ (trạng thái kế của Q) được tạo thành bằng
cách OR các số hạng được tìm thấy ở bước 3 lại với nhau.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
• Tiếp theo ta lấy thí dụ khác, xét lưu đồ SM của
phần điều khiển bộ chia nhị phân (hình 2.20).
Ta sẽ cài đặt lưu đồ SM với một PLA hay
ROM và 2 flipflop D.
• Như chỉ ở bảng 2.1, PLA có 4 biến vào và 5
biến ra. Mỗi hàng trong bảng tương ứng với 1
trong các đường dẫn nối ghép trong lưu đồ
SM.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thí dụ 2.7: Cài đặt lưu đồ SM ở hình 2.32 dùng PLA và D
flipflop có xung nhịp kích cạnh xuống. Vẽ sơ đồ khối và bảng
PLA (không cần đơn giản các phương trình).

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tương tự như cách làm với những thí dụ trước, ta suy ra
được phương trình trạng thái kế và phương trình ngõ ra:

CuuDuongThanCong.com https://fb.com/tailieudientucntt
CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like