Bài giảng Kỹ thuật số - Chương 4: Hệ tuần tự

 Hệ tuần tự là hệ mà ngõ ra không chỉ phụ thuộc vào các ngõ vào mà còn phụ thuộc vào 1 số ngõ ra được hồi tiếp trở thành ngõ vào thông qua phần tử nhớ. Các phần tử nhớ thường sử dụng là Flip_Flop.

Hệ tuần tự được chia thành 2 loại: hệ tuần tự đồng bộ (Synchronous) và hệ tuần tự bất đồng bộ (Asynchronous). Hệ tuần tự đồng bộ là hệ tuần tự có sử dụng nguồn xung nhịp (xung clock).

 

doc26 trang | Chia sẻ: ngochuyen96 | Ngày: 27/07/2018 | Lượt xem: 56 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Kỹ thuật số - Chương 4: Hệ tuần tự, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
unter):
	Còn gọi là bộ đếm gợn (ripple). Bộ đếm này được tạo từ các FF đếm 2, ghép xâu chuỗi lại với nhau, thường dùng là T-FF và JK-FF. 
J
K
Q
Q
CK
1
.
T
Q
Q
CK
1
	a. Bộ đếm đầy đủ (m = 2n):
	* Bộ đếm lên (Count Up): là bộ đếm mà giá trị của bộ đếm sẽ tăng thêm 1 khi có xung clock vào.
T
Q
Q
CK
1
T
Q
Q
CK
1
T
Q
Q
CK
1
CK
Q0 (LSB)
Q1 
Q2 (MSB)
.
.
Giản đồ xung
CK
(MSB) Q2
Q1
(LSB) Q0
	* Bộ đếm xuống (Count Down): là bộ đếm mà giá trị của bộ đếm sẽ giảm đi 1 khi có xung clock vào.
J
K
Q
Q
CK
1
.
J
K
Q
Q
CK
1
.
J
K
Q
Q
CK
1
.
.
.
CK
Q0 (LSB)
Q2 (MSB)
Q1
Giản đồ xung
CK
(MSB) Q2
Q1
(LSB) Q0
	b. Bộ đếm không đầy đủ (m < 2n):
	Thực hiện bộ đếm không đầy đủ dựa vào bộ đếm đầy đủ. Ta cần xác định trạng thái kế tiếp không mong muốn của vòng đếm. Dùng trạng thái này để tạo ra tín hiệu tác động tích cực vào các ngõ vào bất đồng bộ Preset hoặc Clear để đưa bộ đếm trở về trạng thái ban đầu (thường gọi là trạng thái reset). Cần chú ý đến loại FF sử dụng ngõ vào Preset và Clear tích cực cao hoặc thấp.
	Vd: Sử dụng T-FF có ngõ vào Preset và Clear tích cực mực thấp, thiết kế bộ đếm lên có m = 5, bắt đầu từ giá trị 0.
Q2Q1
Q0
Z
00
01
0
11
10
0
x
x
1
Z = Q2 + Q0 = Q2 Q0
	Ta gọi Z là tín hiệu để reset bộ đếm. Khi bộ đếm chuyển qua trạng thái 101 (trạng thái khơng mong muốn), thì tín hiệu Z sẽ là 0 để reset bộ đếm.
	Q2	Q1	Q0
	Z
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	1
	1
	1
	1
	1
	0
	x
	x
T
Q
Q
CK
1
T
Q
Q
CK
1
T
Q
Q
CK
1
CK
Q0 (LSB)
Q1 
Q2 (MSB)
.
.
.
.
.
1
1
1
Pr
Pr
Pr
Cl
Cl
Cl
Giản đồ xung
CK
(MSB) Q2
Q1
(LSB) Q0
RS = Z
	Vd: Thiết kế bộ đếm xuống có m = 5, với giá trị ban đầu là 2. Sử dụng FF có ngõ vào Preset và Clear tích cực mức cao.
Q2Q1
Q0
Z
00
01
x
0
11
10
x
1
1
Z = Q2 Q1
	Q2	Q1	Q0
	Z
	0	1	0
	0	0	1
	0	0	0
	1	1	1
	1	1	0
	1	0	1
	1	0	0
	0	1	1
	0
	0
	0
	0
	0
	1
	x
	x
	Như vậy trạng thái reset là Q2Q1Q0 = 101. Khi đó ta tác động tích cực vào ngõ vào Preset của Q1 và Clear của Q2, Q0 để có được trạng thái ban đầu 010. Tín hiệu Z còn gọi là tín hiệu RS.
Q2 (MSB)
Cl
T
Q
Q
CK
1
T
Q
Q
CK
1
T
Q
Q
CK
1
CK
Q0 (LSB)
Q1 
.
.
.
.
0
Pr
Pr
Pr
Cl
Cl
0
0
.
	2. Bộ đếm song song (Synchronous Counter):
	Bộ đếm song song là bộ đếm mà các FF đều sử dụng chung nguồn xung clock. Do đó khi có xung clock vào thì tất cả các ngõ ra FF đều thay đổi giá trị. Khi thiết kế bộ đếm ta chỉ quan tâm đến trạng thái hiện tại và trạng thái kế tiếp của FF, mà không quan tâm đến dạng kích của xung clock (cạnh lên hoặc cạnh xuống). Ta có thể thiết kế bộ đếm song song có vòng đếm bất kỳ.
* Các bước thiết kế:
- Từ phát biểu bài toán xác định số FF cần dùng và dãy đếm.
- Lập bảng chuyển trạng thái chỉ rõ mối quan hệ giữa trạng thái hiện tại và trạng thái kế tiếp (dựa vào dãy đếm).
- Tìm các giá trị ngõ vào FF cần phải có từ giá trị hiện tại Q và kế tiếp Q+ của từng FF (dựa vào bảng kích thích của mỗi loại FF).
- Tìm biểu thức rút gọn của mỗi ngõ vào FF phụ thuộc vào các biến trạng thái hiện tại.
- Thực hiện sơ đồ logic. 
Bảng kích thích của FF:
	Q	Q+	
	T	
	0	0
 	0	1
	1	0	1	1
 	0	
1	
	1
	0
	Q	Q+	
	D	
	0	0
 	0	1
	1	0	1	1
 	0	
1	
	0
	1
	 	D-FF	T-FF
	Q	Q+	
	J 	K	
	0	0
	0	1
 	1	0
	1	1	1	1
 	0	x
1	x
	x	1
	x	0
	Q	Q+	
	S 	R	
	0	0
	0	1
 	1	0
	1	1	1	1
 	0	x
1	0
	0	1
	x	0
	SR-FF	JK-FF
a. Bộ đếm đầy đủ (m = 2n):
	Vd: Sử dụng T-FF kích theo cạnh lên, thiết kế bộ đếm có dãy đếm sau: 
Q2Q1Q0 = 010, 101, 110, 001, 000, 111, 100, 011, 010, 
	Lập bảng chuyển trạng thái:
Trạng thái hiện tại
Trạng thái kế tiếp
Các ngõ vào
	Q2	Q1	Q0
	Q+2	Q+1	Q+0
	T2	T1	T0
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	1	1	1
	0	0	0
	1	0	1
	0	1	0
	0	1	1
	1	1	0
	0	0	1
	1	0	0
	1	1	1
	0	0	1
	1	1	1
	0	0	1
	1	1	1
	0	1	1
	1	1	1
	0	1	1
Q2Q1
Q0
T2
00
01
1
1
0
11
10
1
1
1
T2 = Q0 
Q2Q1
Q0
T1
00
01
1
1
0
11
10
1
1
1
1
1
T1 = Q2 + Q0 
Q2Q1
Q0
T0
00
01
1
1
1
0
1
11
10
1
1
1
1
1
T0 = 1
Q0 (LSB)
T2
Q2
Q2
CK2
1
CK
Q2 (MSB)
Q1 
.
.
T1
Q1
Q1
CK1
T0
Q0
Q0
CK0
.
.
	Vd: Sử dụng JK-FF kích theo cạnh xuống, thiết kế bộ đếm lên theo mã Gray 3 bit. 
	Ta có dãy đếm sau:
Q2Q1Q0 = 000, 001, 011, 010, 110, 111, 101, 100, 000, 
	Lập bảng chuyển trạng thái:
Trạng thái hiện tại
Trạng thái kế tiếp
Các ngõ vào
	Q2	Q1	Q0
	Q+2	Q+1	Q+0
	J2	K2	J1	K1	J0	K0
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	0	0	1
	0	1	1
	1	1	0
	0	1	0
	0	0	0
	1	0	0
	1	1	1
	1	0	1
	0	x	0	x	1	x
	0	x	1	x	x	0
	1	x	x	0	0	x
	0	x	x	0	x	1
	x	1	0	x	0	x
	x	0	0	x	x	1
	x	0	x	0	1	x
	x	0	x	1	x	0
Q2Q1
Q0
J2
00
01
1
0
11
10
x
x
x
x
1
J2 = Q1 Q0 
Q2Q1
Q0
K2
00
01
x
x
x
0
x
11
10
1
1
K2 = Q1 Q0 
Q2Q1
Q0
J1
00
01
x
x
0
1
11
10
x
x
1
J1 = Q2 Q0 
Q2Q1
Q0
K1
00
01
x
0
x
11
10
x
x
1
1
K1 = Q2 Q0 
Q2Q1
Q0
J0
00
01
x
1
0
x
11
10
x
1
x
1
Q2Q1
Q0
K0
00
01
x
1
x
0
11
10
x
1
x
1
K0 = Q2 Q1 + Q2 Q1 = Q2 Å Q1
J0 = Q2 Q1 + Q2 Q1 = Q2 Å Q1
J2
K2
Q2
Q2
CK2
.
.
CK
Q2 (MSB)
Q0 (LSB)
Q1
J1
K1
Q1
Q1
CK1
J0
K0
Q0
Q0
CK2
.
.
.
.
.
.
.
.
b. Bộ đếm không đầy đủ (m < 2n):
	Khi thiết kế bộ đếm không đầy đủ, thì các trạng thái có trong vòng đếm sẽ thiết kế như bộ đếm đầy đủ; còn các trạng thái dư không có trong vòng đếm sẽ giải quyết theo 2 cách sau:
	* Cách 1: Các trạng thái dư không có vòng đếm có trạng thái kế tiếp là tùy định. Khi thiết kế cần khởi động trạng thái ban đầu cho bộ đếm; trạng thái ban đầu này phải là 1 trong những trạng thái có trong vòng đếm.
	Vd: Thiết kế bộ đếm dùng T-FF cạnh lên, có ngõ vào Pr và CL týich cực cao, có giản đồ trạng thái sau:
000
1000
011
101
001
m = 5
Q2Q1Q0
	Ta có bảng chuyển trạng thái:
Trạng thái hiện tại
Trạng thái kế tiếp
Các ngõ vào
	Q2	Q1	Q0
	Q+2	Q+1	Q+0
	D2	D1	D0
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	1	0	0
	0	0	0
	x	x	x
	1	0	1
	0	1	1
	0	0	1
	x	x	x
	x	x	x
	1	0	0
	0	0	0
	x	x	x
	1	0	1
	0	1	1
	0	0	1
	x	x	x
	x	x	x
	Ta được: 	D2 = Q+2 = Q2 Q0 + Q1 
	D1 = Q+1 = Q2 Q0 
	D0 = Q+0 = Q2 + Q1 
.
Cl
D2
Q2
Q2
CK2
CK
Q2 (MSB)
Q1 
.
.
0
Pr
Pr
Pr
Cl
Cl
D1
Q1
Q1
CK1
D0
Q0
Q0
CK0
0
0
Q0 (LSB)
.
.
.
.
.
.
RS
Mạch reset trên có nhiệm vụ tạo giá trị ban đầu là Q2Q1Q0 = 001.
	* Cách 2: Cho các trạng thái dư không có vòng đếm có trạng thái kế tiếp là 1 trong những trạng thái có trong vòng đếm. 
000
1000
011
101
001
m = 5
Q2Q1Q0
010
110
111
	Vd: Cho 3 trạng thái dư không có trong vòng đếm có trạng thái kế tiếp như hình vẽ
Trạng thái hiện tại
Trạng thái kế tiếp
Các ngõ vào
	Q2	Q1	Q0
	Q+2	Q+1	Q+0
	D2	D1	D0
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	1	0	0
	0	0	0
	1	0	0
	1	0	1
	0	1	1
	0	0	1
	1	0	0
	0	0	1
	1	0	0
	0	0	0
	1	0	0
	1	0	1
	0	1	1
	0	0	1
	1	0	0
	0	0	1
* Phân tích bộ đếm song song:
	- Từ sơ đồ logic của bộ đếm xác định hàm kích thích (biểu thức của các ngõ vào) của từng FF phụ thuộc vào các ngõ ra Qi.
	- Lập bảng trạng thái: từ trạng thái hiện tại Qi và giá trị ngõ vào ta xác định được trạng thái kế tiếp của FF Q+i.
	- Từ bảng chuyển trạng thái xác định được giản đồ trạng thái hoặc khảo sát giản đồ xung của bộ đếm.
	Vd: Hãy xác định giản đồ trạng thái của bộ đếm sau:
.
J2
K2
Q2
Q2
CK2
.
.
CK
Q2 (MSB)
Q0 (LSB)
Q1
J1
K1
Q1
Q1
CK1
J0
K0
Q0
Q0
CK2
.
.
.
.
1
1
.
	Ta có biểu thức của các ngõ vào:
	J2 = Q1 Q0	K2 = 1
	J1 = Q2 Q0	K1 = Q2 + Q0
	J0 = Q2	K0 = 1
	Lập bảng trạng thái
Trạng thái hiện tại
Các ngõ vào
Trạng thái kế tiếp
	Q2	Q1	Q0
	J2	K2	J1	K1	J0	K0
	Q+2	Q+1	Q+0
	0	0	0
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	1	0	1
	1	1	0
	1	1	1
	0	1	0	0	1	1
	0	1	1	1	1	1
	0	1	0	0	1	1
	1	1	1	1	1	1
	0	1	0	1	0	1
	0	1	0	1	0	1
	0	1	0	1	0	1
	1	1	0	1	0	1
	0	0	1
	0	1	0
	0	1	1
	1	0	0
	0	0	0
	0	0	0
	0	0	0
	0	0	0
	Ta có giản đồ trạng thái:
000
001
010
011
100
m = 5
Q2Q1Q0
010
110
111
	Khảo sát giản đồ xung, với giá trị ban đầu là Q2Q1Q0 = 111
CK
(MSB) Q2
Q1
(LSB) Q0
IV. Bộ Đếm Thanh Ghi Dịch (Shift Register Counter):
	Các bộ đếm thanh ghi dịch là bộ đếm dùng hồi tiếp. Có 2 loại thường dùng là bộ đếm vòng và bộ đếm vòng xoắn
Q0 
D2
Q2
Q2
CK2
CK
Q2 
Q1 
.
.
D1
Q1
Q1
CK1
D0
Q0
Q0
CK0
.
.
.
	1. Bộ đếm vòng (Ring Counter): ngõ ra của thanh ghi dịch hồi tiếp về ngõ vào FF.
	Giả sử giá trị ban đầu của bộ đếm là Q2Q1Q0 = 100.
CK
 Q0
Q1
 Q2
Clock
	Q2	Q1	Q0
	1
	2
	3
	4
	:
	1	0	0
	0	1	0
	0	0	1
	1	0	0
100
001
010
m = 3
Q2Q1Q0
	Bộ đếm này muốn hoạt động cần có mạch reset ban đầu.
	2. Bộ đếm vòng xoắn (Twisted-ring Counter): còn gọi bộ đếm Johnson
	Giống như bộ đếm vòng nhưng lấy ngõ ra đảo hồi tiếp về ngõ vào FF.
Q0 
D2
Q2
Q2
CK2
CK
Q2 
Q1 
.
.
D1
Q1
Q1
CK1
D0
Q0
Q0
CK0
.
.
	Giả sử giá trị ban đầu của bộ đếm là Q2Q1Q0 = 000.
CK
 Q0
Q1
 Q1
Clock
	Q2	Q1	Q0
	1
	2
	3
	4
	5
	6
	7
	:
	0	0	0
	1	0	0
	1	1	0
	1	1	1
	0	1	1
	0	0	1
	0	0	0	
000
011
110
m = 6
Q2Q1Q0
100
111
001
	Bộ đếm này muốn hoạt động cần có mạch reset ban đầu.

File đính kèm:

  • docSlide-KTS1-C4.doc
Bài giảng liên quan