Chương 5 MÁY TRẠNG THÁI (STATE MACHINE) - 123doc

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 v

Trang 1

CHÖÔNG5

MÁY TRẠNG THÁI

Trang 2

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

Trang 3

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

Trang 4

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:

Trang 5

Trạng thái kế tiếp = F (trạng thái hiện tại Q i và các ngõ vào X j ) Giá trị ngõ ra = G (trạng thái hiện tại Q i và các ngõ vào X j )

Trang 6

* 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

Trang 7

* 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

Trang 8

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:

Trang 9

Q 1 , Q 2 , …, Q k : 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)

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 16

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)

Trang 17

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

Trang 18

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

Trang 19

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

Trang 20

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

Trang 21

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

Trang 22

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

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.

Trang 23

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.

Trang 24

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

Trang 25

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

Trang 26

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

Trang 27

- 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

Trang 28

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

Trang 29

+ Gán trạng thái: AB = 00 cho S0 , AB = 01 cho S 1 , và AB = 11 cho S 2

+ 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)

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

+ 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:

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

Trang 30

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 đó:

Từ khóa » Sơ đồ Máy Trạng Thái Fsm