31
CHÖÔNG5 MÁY TRẠNG THÁI (STATE MACHINE)

Chương 5- May trang thai (STATE MACHINE)

  • Upload
    ti-ger

  • View
    878

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chương 5- May trang thai (STATE MACHINE)

CHÖÔNG5

MÁY TRẠNG THÁI

(STATE MACHINE)

Page 2: Chương 5- May trang thai (STATE MACHINE)

MÁY TRẠNG THÁI (STATE MACHINE)

5.1 Máy trạng thái và lưu đồ máy trạng thái

5.2 Máy trạng thái MEALY

5.3 Máy trạng thái MOORE

Page 3: Chương 5- May trang thai (STATE MACHINE)

MÁY TRẠNG THÁI

Hệ tuần tự còn có tên gọi khác là máy trạng thái (State Machine), tên

này thường sử dụng khi dùng một hệ tuần tự để điều khiển 1 hệ thống số

thực hiện một thủ tục hoặc một thuật toán từng bước một. Có thể định

nghĩa các máy trạng thái bằng các giản đồ trạng thái, hoặc một kiểu lưu

đồ đặc biệt được gọi là lưu đồ máy trạng thái hay lưu đồ SM (State

Machine) dùng để mô tả đặc tính làm việc của một máy trạng thái.

Trong thiết kế số, thường sử dụng từ máy trạng thái để chỉ các mạch

đồng bộ như mạch đếm… ở đó các giá trị ra thay đổi từ một trạng thái

nhị phân này sang một trạng thái nhị phân khác khi mạch được cung cấp

xung clock.

SM có hai loại: Moore và Mealy.

Page 4: Chương 5- May trang thai (STATE MACHINE)

Máy trạng thái kiểu MEALY

Lưu ý: Tín hiệu ngõ ra phụ thuộc cả vào trạng thái hiện tại và

tín hiệu vào

Sơ đồ khối máy trạng thái kiểu MEALY như sau:

Page 5: Chương 5- May trang thai (STATE MACHINE)

Trạng thái kế tiếp = F (trạng thái hiện tại Qi và các ngõ vào Xj)

Giá trị ngõ ra = G (trạng thái hiện tại Qi và các ngõ vào Xj)

Q1, Q2, …, Qk: trạng

thái hiện tại của FF

Q+1, Q

+2, …, Q+

k:

trạng thái kế tiếp

của FF

Page 6: Chương 5- May trang thai (STATE MACHINE)

* Bảng trạng thái (State Table):

Để biểu diễn mối quan hệ giữa trạng thái kế tiếp, các ngõ ra phụ thuộc

vào trạng thái hiện tại và các ngõ vào, người ta sử dụng bảng trạng thái

và giản đồ trạng thái.

Page 7: Chương 5- May trang thai (STATE MACHINE)

* Giản đồ trạng thái (State Graph):

Khi thay đổi giá trị ngõ vào thì giá trị ngõ ra cũng thay đổi nhưng

trạng thái hiện tại giữ nguyên không đổi cho tới khi có xung clock.

Page 8: Chương 5- May trang thai (STATE MACHINE)

Máy trạng thái kiểu MOORE

Lưu ý: Tín hiệu ngõ ra chỉ phụ thuộc vào trạng thái trong

Sơ đồ khối máy trạng thái kiểu MOORE như sau:

Page 9: Chương 5- May trang thai (STATE MACHINE)

Q1, Q2, …, Qk : trạng thái hiện tại của FF

Q+1, Q

+2, …, Q+

k : trạng thái kế tiếp của FF

Trạng thái kế tiếp = F (trạng thái hiện tại Qi và các ngõ vào Xj)

Giá trị ngõ ra = G (trạng thái hiện tại Qi)

Page 10: Chương 5- May trang thai (STATE MACHINE)

* Bảng trạng thái (State Table):

Page 11: Chương 5- May trang thai (STATE MACHINE)

* Giản đồ trạng thái (State Graph):

Page 12: Chương 5- May trang thai (STATE MACHINE)

* Vẽ Giản đồ trạng thái cho bảng trạng thái sau:

Page 13: Chương 5- May trang thai (STATE MACHINE)

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

Người ta còn gọi hệ tuần tự là máy trạng thái thuật toán (ASM -

algorithmic state machine) hay đơn giản hơn là máy trạng thái (SM -

sate machine), ở đây ta gọi tắt là SM. Lưu đồ SM được tạo bởi các khối

SM; mỗi khối SM mô tả hoạt động trong 1 trạng thái.

Trạng thái của hệ thống được biểu diễn bằng một Hộp trạng thái

(state box). Hộp trạng thái có thể chứa một Danh sách xuất (output list),

Mã trạng thái (state code), Tên trạng thái (state name), Hộp quyết định

(decision box), Điều kiện trong hộp quyết định là một biểu thức Boole,

Hộp xuất theo điều kiện (conditional ouput box) chứa danh sách các

biến xuất theo điều kiện.

Page 14: Chương 5- May trang thai (STATE MACHINE)

Ba thành phần chính của một lưu đồ SM:

Hộp trạng thái (state box): biểu diễn trạng thái của hệ thống. Hộp trạng thái

có thể chứa một Danh sách xuất (output list), Mã trạng thái (state code), Tên

trạng thái (state name).

Hộp quyết định (decision box), Điều kiện trong hộp quyết định là một biểu

thức Boole.

Hộp xuất theo điều kiện (conditional ouput box) chứa danh sách các biến

xuất theo điều kiện.

Page 15: Chương 5- May trang thai (STATE MACHINE)
Page 16: Chương 5- May trang thai (STATE MACHINE)

Một khối SM chứa chính xác một hộp trạng thái cùng với các hộp quyết định

và các hộp xuất theo điều kiện liên hệ với trạng thái đó. Một khối SM có chính

xác một đường vào và một hoặc nhiều đường ra. Một đường dẫn đi qua khối

SM từ ngõ vào đến ngõ ra được gọi là đường dẫn liên kết (link path).

Page 17: Chương 5- May trang thai (STATE MACHINE)

Theo hình ta có: khi vào trạng thái S1, các giá trị ra Z1 và Z2 bằng 1. Nếu

các giá trị vào X1 và X2 đều bằng 0, Z3 và Z4 cũng bằng 1, và ở cuối thời gian

trạng thái, máy đi vào trạng thái kế qua đường ra 1. Ngược lại nếu X1=1 và

X3=0, giá trị ra Z5=1 và đi vào trạng thái kế qua đường ra 3.

Page 18: Chương 5- May trang thai (STATE MACHINE)

Khối SM có thể được vẽ bằng nhiều dạng khác nhau.

Hai khối SM (a) và (b) là tương đương nhau.

Page 19: Chương 5- May trang thai (STATE MACHINE)

Một lưu đồ SM có thể biểu diễn một hệ tổ hợp khi chỉ có một trạng thái và

không có sự thay đổi trạng thái xảy ra.

Z1 = A + A’BC = A + BC

Page 20: Chương 5- May trang thai (STATE MACHINE)

Ta phải tuân theo một số qui tắc nhất định khi xây dựng một khối SM.

Với mọi kết hợp các biến vào hợp lệ phải có chính xác một đường ra

được định nghĩa. Điều này là cần thiết vì mỗi tổ hợp vào được cho phép

phải dẫn đến một trạng thái kế duy nhất.

Không cho phép có đường hồi tiếp nội trong một khối SM.

(a) Sai (b) Đúng

Page 21: Chương 5- May trang thai (STATE MACHINE)

Khối SM có 2 dạng: song song và nối tiếp

(a) Dạng song song

(b) Dạng nối tiếp

Page 22: Chương 5- May trang thai (STATE MACHINE)

Ta có thể chuyển dễ dàng giản đồ trạng thái của máy tuần tự sang lưu đồ SM

tương đương

S0

Za

S1

Zb

S2

Zc

1/0

0/0

0/0

1/0

0/Z1

1/Z2

Giản đồ trạng thái này có cả

2 biến Moore và Mealy. Lưu

đồ SM tương đương có 3 khối,

mỗi khối tương ứng với một

trạng thái.

Page 23: Chương 5- May trang thai (STATE MACHINE)

Các biến ra Moore (Za, Zb, Zc) được đặt trong các hộp trạng thái, từ đó

chúng không phụ thuộc vào biến vào.

Các biến ra Mealy (Z1, Z2) xuất hiện trong các hộp xuất theo điều kiện,

chúng phụ thuộc vào cả trạng thái và biến vào.

Page 24: Chương 5- May trang thai (STATE MACHINE)

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 đúng.

Page 25: Chương 5- May trang thai (STATE MACHINE)

Thí dụ: Xây dựng một khối SM có ba biến vào (A, B, C), 4 biến ra

(W, X, 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.

Page 26: Chương 5- May trang thai (STATE MACHINE)

CÀI ĐẶT LƯU ĐỒ MÁY TRẠNG THÁI: Việc cài đặt lưu đồ SM là tìm được phương trình của các biến ra

và các biến trạng thái kế tiếp. Các bước thực hiện như sau:

- Thực hiện gán trạng thái cho các hộp trạng thái.

- Xác định phương trình của biến ra Zi

• Tìm các trạng thái có xuất hiện biến ra (Zi = 1).

• Tại mỗi trạng thái, nếu là biến MOORE thì ta được

tích số (AND) của các biến trạng thái; còn nếu là biến

MEALY thì ta có tích số của các biến trạng thái và biến

điều kiện vào.

• Phương trình của biến ra bằng tổng (OR) các tích số

đã tìm thấy ở các bước trên lại với nhau.

Page 27: Chương 5- May trang thai (STATE MACHINE)

- Xác định phương trình các biến trạng thái kế Q+j

• Tìm ra tất cả các trạng thái trong đó Qj =1.

• Đối với mỗi trạng thái này, tìm ra tất cả các

đường dẫn liên kết mà dẫn đến trạng thái đó.

• Với mỗi đường dẫn liên kết này, tìm ra một số

hạng là 1 khi đi theo đường dẫn liên kết này. Nghĩa là,

với đường dẫn liên kết từ Sa đến Sb, số hạng sẽ là 1

tích số của các biến trạng thái ở trạng thái Sa và các

biến điều kiện để có thể dẫn đến Sb.

• Biểu thức Q+j được tạo thành bằng cách lấy tổng

(OR) các tích số được tìm thấy ở bước trên lại với nhau

Page 28: Chương 5- May trang thai (STATE MACHINE)

Ví dụ: Thực hiện lưu đồ SM sau bằng cổng logic và kích cạnh

lên D-FF

Page 29: Chương 5- May trang thai (STATE MACHINE)

+ Gán trạng thái: AB = 00 cho S0, AB = 01 cho S1, và AB = 11 cho S2.

+ Phương trình của các biến ra:

Biến ra Moore: Za = A’B’ (chỉ có trong trạng thái S0)

Zb = A’B (chỉ có trong trạng thái S1)

Zc = A B (chỉ có trong trạng thái S2)

Biến ra Mealy: Z1 = A B X’ (tại trạng thái S2 và điều kiện X = 0)

Z2 = A B X (tại trạng thái S2 và điều kiện X = 1)

+ Phương trình các biến trạng thái kế:

Có 3 đường dẫn liên kết (link1, link2 và link3) trạng thái có B =1:

B+ = A’B’X (link 1) + A’BX (link 2) + ABX (link 3) = (A’ + B) X

Có 2 đường dẫn liên kết dẫn tới trạng thái có A=1:

A+ = A’BX + ABX = BX

Page 30: Chương 5- May trang thai (STATE MACHINE)

Các phương trình biến ra và trạng thái kế 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

Page 31: Chương 5- May trang thai (STATE MACHINE)

DA QA

CK QA

X

Z1

Clock

DB QB

CK QB

Zb

Z2

Zc

Za