Tải bản đầy đủ (.pdf) (14 trang)

Chương 2: Thiết kế máy trạng thái cân bằng lưu đồ máy trạng thái pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 14 trang )

9/9/2011
1
Chương 2
THIẾT KẾ MÁY TRẠNG THÁI BẰNG
LƯU ĐỒ MÁY TRẠNG THÁI
2.1 LƯU ĐỒ MÁY TRẠNG THÁI
9/9/2011
2
Khối Máy trạng thái (SM)
9/9/2011
3
9/9/2011
4
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.
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:


9/9/2011
5
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.
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:

b- Giải theo hệ Moore
Ta có giản đồ trạng thái sau:
9/9/2011
6
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.
Thí dụ, 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.

Hình sau minh họa cho quá trình chia:
• Ta nhận thấy việc chia có thể thực hiện được bằng các
phép toán trừ và dịch. Để xây dựng bộ chia ta sẽ dùng
thanh ghi số bị chia 7 bit và thanh ghi số chia 3 bit như
ở hình 2.18.
9/9/2011
7
• Tín hiệu dịch (Sh - Shift) sẽ dịch “số bị chia”
sang trái một vị trí.
• Tín hiệu trừ (Su - Subtract) sẽ trừ “số chia”
cho 4 bit tận cùng bên trái của thanh ghi “số bị
chia” và đặt bit thương số (bit tận cùng bên
phải trong thanh ghi “số bị chia”) lên 1. Nếu
“số chia” lớn hơn 4 bit tận cùng bên trái của
“số bị chia”, ngõ ra của bộ so sánh là C = 0,
ngược lại C = 1.
• Mạch điều khiển tạo ra chuỗi các tín hiệu
“dịch” và “trừ” mong muốn. Bất cứ khi nào C
= 1, tín hiệu “trừ” được tạo ra và bit thương số
được đặt lên 1.
Thí dụ 2.5 Lập lưu đồ SM cho phần điều khiển bộ nhân.
Ta sẽ thiết kế bộ nhân song song cho các số nhị phân
dương, nhân nhị phân chỉ cần các phép toán dịch và
cộng. Thay vì ban đầu phải tạo ra tất cả các “tích từng
phần” (partial product) rồi cộng lại, thì ta sẽ cộng “tích
từng phần” mỗi khi được tạo ra, do đó qui về bài toán
cộng hai số nhị phân.
Nhân hai số 4 bit cần một thanh ghi “số bị nhân”
(multiplicand register) 4 bit, một thanh ghi “số nhân”
(multiplier) 4 bit và thanh ghi 8 bit dành cho số hạng

tích. Thanh ghi tích số làm việc như thanh ghi tích lũy là
tổng tích lũy các “tích từng phần”. Thay vì phải dịch “số
bị nhân” sang trái trước khi cộng, người ta sẽ dịch thanh
ghi tích sang phải.
9/9/2011
8
9/9/2011
9
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, …
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.
9/9/2011
10
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).
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.
9/9/2011
11
• 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.
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
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
9/9/2011
12
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.
• 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.

9/9/2011
13
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).
9/9/2011
14
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:

×