You are on page 1of 49

MỤC LỤC

HỆ LOGIC CÓ NHỚ 3
5.1. KHÁI NIỆM CHUNG 3
5.1.1. Khái niệm 3
5.1.2. Các mô hình của hệ logic có nhớ (hệ dãy) 3
5.1.2.1. Mô hình Mealy 4
5.1.2.2. Mô hình Moore 4
5.1.2.3. Bảng chuyển đổi trạng thái với mô hình Mealy và mô hình Moore 5
5.1.2.4. Đồ hình trạng thái 6
5.2. CÁC PHẦN TỬ NHỚ CƠ BẢN (FLIP FLOP – FF: T, D, SR, JK) 7
5.2.1. Khái niệm 7
5.2.2. Các loại Flip - Flop 8
5.2.2.1. Phần tử SR- FF 8
5.2.2.2. Phần tử D - FF 10
5.2.2.3. Phần tử JK - FF 11
5.2.2.4. Phần tử T - FF (Toggle) 12
5.2.3. Xác định các đầu vào kích cho các FF 12
5.2.4. Chuyển đổi giữa các loại FF 13
5.3. PHÂN TÍCH HỆ LOGIC CÓ NHỚ 14
5.4. THIẾT KẾ HỆ LOGIC CÓ NHỚ 16
5.5. BỘ ĐẾM 18
5.5.1. Khái niệm và phân loại 19
5.5.1.1. Khái niệm 19
5.5.1.2. Đồ hình trạng thái 19
5.5.1.3. Phân loại. 19
5.5.2. Thiết kế bộ đếm 21
5.5.3. Bộ đếm thuận, đồng bộ, mã nhị phân với Kđ = 2n 21
5.5.3.1. Bộ đếm có Kđ = 2 21
5.5.3.2. Bộ đếm có Kđ = 4 22
5.5.3.3. Bộ đếm với Kđ = 2n 23
5.5.4. Bộ đếm nghịch đồng bộ mã nhị phân với Kđ = 2n 23
5.5.5. Bộ đếm thuận nghịch đồng bộ mã nhị phân 24
5.5.6. Bộ đếm thập phân đồng bộ 25
5.5.7. Bộ đếm không đồng bộ (bộ đếm dị bộ) 27
5.6. BỘ GHI DỊCH 28
5.6.1. Định nghĩa 28
5.6.2. Bộ ghi dịch nối tiếp. 28
5.6.3. Bộ ghi dịch song song. 29
5.6.4. Đồ hình tổng quát của bộ ghi dịch (đồ hình DE BRUIJN) 30
5.6.5. Thiết kế bộ đếm dùng bộ ghi dịch 31
5.6.6. Thiết kế mạch tạo dãy tín hiệu tuần hoàn dùng bộ ghi dịch 33
5.7. BỘ NHỚ 34
5.7.1. Giới thiệu 34
5.7.1.1. Chức năng của bộ nhớ 34
5.7.1.2. Các thông số cơ bản của bộ nhớ 35
5.7.1.3 Phân loại bộ nhớ 35
5.7.2. Bộ nhớ chỉ đọc ROM (Read Only Memory) 36
5.7.3. Bộ nhớ truy cập ngẫu nhiên (Random Access Memory) 36

1
5.7.3.1. Bộ nhớ RAM tĩnh 37
5.7.3.2. Bộ nhớ RAM động. 37
5.8. CÂU HỎI VÀ BÀI TẬP CHƯƠNG 5 38
Phụ lục A: Các vi mạch cổng và FF thông dụng 44
Phụ lục B: Các vi mạch tổ hợp thông dụng 45
Phụ lục C: Các vi mạch tuần tự thông dụng 47
TÀI LIỆU THAM KHẢO 49

2
HỆ LOGIC CÓ NHỚ
5.1. KHÁI NIỆM CHUNG
5.1.1. Khái niệm
Hệ logic có nhớ hay hệ dãy (hệ tuần tự) là hệ logic mà tín hiệu ra phụ thuộc
không những vào tín hiệu vào mà còn phụ thuộc vào trạng thái trong của hệ. Hay đầu
ra của hệ được xác định bởi thứ tự xuất hiện của các tín hiệu vào.
Ví dụ: Xét bộ cộng nhị phân liên tiếp có hai đầu vào X1, X2 và một đầu ra Y (đưa
vào lần lượt từng cặp bit một).

t5 t4 t3 t2 t1
X1 1 1 0 0 t5 t4 t3 t2 t1
Y X1 = 0 1 1 0 0
Cộng X2 = 0 1 1 1 0
liên
X2 tiếp
1 1 1 0 Y=11010

Hình 5.1. Mô hình bộ cộng nhị phân liên tiếp hai đầu vào
Nhận xét: tín hiệu ra là khác nhau ngay cả trong trường hợp tín hiệu vào là như
nhau.
Tại hai thời điểm t1 và t5 tín hiệu vào cùng là x1x2 = 00, có tín hiệu ra tại thời điểm
t1 là y = 0, tại thời điểm t5 là y = 1. Cũng tương tự tại hai thời điểm t3 và t4 tín hiệu vào
là 11 còn tín hiệu ra lần lượt là 0, 1.
Như vậy tín hiệu ra tại thời điểm ti phụ thuộc vào giá trị của tín hiệu vào tại thời
điểm đó và giá trị của số nhớ tại thời điểm kề trước đó ti-1 .
Hay tín hiệu ra không chỉ phụ thuộc vào tin tức tại đầu vào hiện tại mà còn phụ
thuộc vào quá khứ của tín hiệu ở đầu vào. Có hai loại quá khứ của tín hiệu vào:
- Quá khứ tạo ra số nhớ bằng 0
- Quá khứ tạo ra số nhớ bằng 1.
Hai loại này tạo ra hai trạng thái trong (trạng thái tồn tại của bộ cộng): không nhớ
và có nhớ (không nhớ số nhớ bằng 0, có nhớ số nhớ bằng 1).
5.1.2. Các mô hình của hệ logic có nhớ (hệ dãy)
Xét mô hình của các hệ dãy bằng cách mô hình hoá đó là xét mối quan hệ giữa tín
hiệu vào, tín hiệu ra và trạng thái trong của hệ.
Trạng thái
Các tín hiệu Các tín hiệu
vào (X) Mạch dãy ra (Y)
Hình 5.2. Mô hình tổng quát của hệ dãy

3
Có hai loại mô hình của mạch dãy đó là:
- Mô hình Mealy
- Mô hình Moore.
5.1.2.1. Mô hình Mealy
Mô hình Mealy mô tả hệ dãy theo 5 tham số sau:
X: Tập hữu hạn các tín hiệu vào. Nếu hệ có n đầu vào sẽ có x1, x2, x3, … , xn
Y: Tập hữu hạn các tín hiệu ra. Nếu hệ có n đầu ra sẽ có y1, y2, y3, … , yn
S : Tập hữu hạn các trạng thái. Nếu hệ có n trạng thái sẽ có s1, s2, s3, … , sn
Fs : hàm trạng thái, Fs phụ thuộc vào X và S.
Fs = Fs(X, S)
Fy: hàm ra.
Fy = Fy(X, S)
5.1.2.2. Mô hình Moore
Mô hình Moore mô tả hệ dãy theo 5 tham số như mô hình Mealy. Điều khác biệt
so với mô hình Mealy là đối với mô hình Moore thì hàm ra Fy chỉ phụ thuộc vào trạng
thái.
Fy = Fy(s)
Ví dụ:
Xét bộ cộng liên tiếp
* Theo mô hình Mealy : có hai đầu vào X1, X2 có một đầu ra Y. Ta có:
Tập các tín hiệu vào là: X = {00, 01, 10, 11}
Tập tín hiệu ra Y = {0 ,1}
Tập các trạng thái S = {s0 , s1 }
S0 là trạng thái không nhớ (số nhớ bằng 0).
S1 là trạng thái có nhớ (số nhớ bằng 1).
Xét các hàm trạng thái.
Nếu trạng thái hiện tại là s0 với tác động của tín hiệu vào là 11 thì trạng thái tiếp
theo của hệ là:
Fs (s0, 11) = s1 vì đang ở trạng thái không nhớ s0 dưới tác động của tín hiệu vào
là 11 sẽ chuyển sang trạng thái có nhớ s1.
Tương tự ta có:
Fs (s0, x1x2) = s0 khi x1x2 = 00, 01, 10
Fs (s1, 00) = s0

4
Fs (s1, x1x2) = s1 khi x1x2 = 01, 10, 11
Xét các hàm ra:
Fy(s0, 00 hoặc 11) = 0
Fy(s0, 10 hoặc 01) = 1
Fy(s1, 00 hoặc 11) = 1
Fy(s1, 10 hoặc 01) = 0
*Theo mô hình Moore
Tập các tín hiệu vào: X1 X2 = { 00, 01, 10, 11}
Tập các tín hiệu ra: Y = {0, 1}
Tập các trạng thái trong: S = { s00, s01, s10, s11}
S00 trạng thái không nhớ tín hiệu ra bằng 0.
S01 trạng thái không nhớ tín hiệu ra bằng 1.
S10 trạng thái có nhớ tín hiệu ra bằng 0.
S11 trạng thái có nhớ tín hiệu ra bằng 1.
Hàm trạng thái:
FS (s00 hoặc s01, 00) = s00
FS (s00 hoặc s01, 11) = s10
FS (s00 hoặc s01, 01 hoặc 10) = s01
FS (s10 hoặc s11, 00) = s01
FS (s10 hoặc s11, 11) = s11
FS (s10 hoặc s11, 01 hoặc 10) = s10
Hàm ra:
Fy (s00) = Fy (s10) = 0
Fy (s01) = Fy (s11) = 1
5.1.2.3. Bảng chuyển đổi trạng thái với mô hình Mealy và mô hình Moore
Mô hình Mealy:

X S(t + 1) Y
S(t) X1 X2 ... Xn X1 X2 ... Xn
S1 Fs(s1,x1) Fs(s1,x2) Fs(s1,xn) Fy(s1,x1) Fy(s1,x2) Fy(s1,xn)
S2 Fs(s2,x1) Fs(s2,x2) Fs(s2,xn) Fy(s2,x1) Fy(s2,x2) Fy(s2,xn)
.
Sn Fs(sn,x1) Fs(sn,x2) Fs(sn,xn) Fy(sn,x1) Fy(sn,x2) Fy(sn,xn)

5
Mô hình Moore:

X S(t + 1) Y
S(t) X1 X2 ... Xn
S1 Fs(s1,x1) Fs(s1,x2) Fs(s1,xn) Fy(s1)
S2 Fs(s2,x1) Fs(s2,x2) Fs(s2,xn) Fy(s2)
.
Sn Fs(sn,x1) Fs(sn,x2) Fs(sn,xn) Fy(sn)

Ví dụ: Bảng chuyển đổi trạng thái của bộ cộng theo mô hình Mealy và mô hình Moore.
Mô hình Mealy
S X1X2 Y
00 01 10 11 00 01 10 11
S0 S0 S0 S0 S1 0 1 1 0
S1 S0 S1 S1 S1 1 0 0 1
Mô hình Moore
S X1X2 Y
00 01 10 11 00
S00 S00 S01 S01 S10 0
S01 S00 S01 S01 S10 1
S10 S01 S10 S10 S11 0
S11 S01 S10 S10 S11 1
5.1.2.4. Đồ hình trạng thái
Đồ hình Mealy: Gồm có các nút và nhánh có hướng, trong các nút ghi trạng thái
của hệ, nhánh có hướng biểu diễn hướng chuyển biến trạng thái trên đó ghi đáp ứng ra
và tín hiệu vào X/Y
Si Sj

Hình 5.3. Đồ hình Mealy


Ví dụ : Đồ hình trạng thái của bộ cộng

00/0 11/1
11/0
S0 S1
00/1

01, 10/1 01, 10/0


Hình 5.4. Đồ hình Mealy của bộ cộng liên tiếp

6
Đồ hình Moore: Bao gồm nút và nhánh có hướng trong các nút ghi trạng thái
trong và đáp ứng ra của nó. Nhánh có hướng chỉ hướng chuyển biến trạng thái trên đó
ghi tín hiệu tác động vào. X
Si/Yi S /Y j j

Hình 5.5. Đồ hình Moore


Ví dụ: Đồ hình trạng thái của bộ cộng
00 01, 10 01, 10

s00/0 s01/1
00
11 00 11 00
11
s10/0 s11/1

01, 10 01, 10 11

Hình 5.6. Đồ hình Moore của bộ cộng liên tiếp


5.2. CÁC PHẦN TỬ NHỚ CƠ BẢN (FLIP FLOP – FF: T, D, SR, JK)
5.2.1. Khái niệm
Là các phần tử có khả năng lưu trữ (nhớ) một trong hai trạng thái 0 hoặc 1.
Là phần tử cơ bản của hệ dãy, muốn có mạch dãy phải có ít nhất một phần tử nhớ.
Các FF là các phần tử có hai trạng thái cân bằng ổn định Q và Q . FF có thể có từ một

đến một vài đầu vào chức năng, hai đầu ra Q và Q . Tuỳ từng loại FF do chế tạo có
thể còn có đầu vào xoá (thiết lập 0), đầu vào thiết lập (thiết lập 1), đầu vào đồng bộ
(CLK).
CLR

Các
đầu Q
vào FF
chức
năng Q
CLK

Pr
Hình 5.7. Sơ đồ khối của Flip - Flop
Một FF có thể hoạt động ở hai chế độ: Không đồng bộ hoặc đồng bộ.
Chế độ không đồng bộ: Đầu ra của FF thay đổi trạng thái chỉ phụ thuộc vào giá trị
tín hiệu vào.
Chế độ đồng bộ: Việc thay đổi trạng thái của FF tuỳ thuộc vào cả tín hiệu vào và
tín hiệu đồng bộ (tín hiệu đồng bộ cho phép hoặc không cho phép chuyển trạng thái ).

7
+ Đồng bộ theo mức: Dùng mức điện áp thích hợp của tín hiệu đồng bộ (mức tích
cực) để thay đổi trạng thái của FF.
+ Đồng bộ theo sườn: Thời điểm thay đổi trạng thái của FF ứng với thời điểm
xuất hiện sườn của tín hiệu đồng bộ (có thể đồng bộ theo sườn dương hoặc sườn âm).
Để mô tả một FF có thể dùng: Bảng chân lý, đồ hình trạng thái, phương trình đặc
trưng.
5.2.2. Các loại Flip - Flop
Theo chức năng làm việc của các đầu vào chức năng có các loại FF sau: SR - FF,
JK - FF, D - FF, T - FF.
5.2.2.1. Phần tử SR- FF

Định nghĩa: Là phần tử có hai đầu vào chức năng S, R và hai đầu ra Q, Q .

Do có 2 đầu vào chức năng nên có 4 tổ hợp trạng thái vào SR (00, 01, 10, 11)
Có 2 trạng thái Q (0, 1)
Bảng trạng thái :
S R Qn Qn + 1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 X
1 1 1 X

Ký hiệu:
S Q
SR - FF
R Q

Hình 5.8. Kí hiệu SR - FF


Bảng trạng thái rút gọn:
S R Qn + 1
0 0 Qn
0 1 0
1 0 1
1 1 X
Khi không có tín hiệu vào S = R = 0, FF có hai trạng thái ổn định (trạng thái 0 và
trạng thái 1 – Giữ nguyên trạng thái).

8
Tổ hợp S = R =1 (11) bị cấm vì khi đó FF vừa được lập lại vừa được xoá nên nó
không thể làm việc được.
Đồ hình trạng thái (Mealy) được minh hoạ trong hình 5.9.
FF tồn tại hai trạng thái trong 0 và 1 0X X0
10
Phương trình đặc trưng 0 1
01
Qn + 1 = S + R Qn
Hình 5.9. Đồ hình trạng thái của SR - FF
S.R = 0 (từ trạng thái cấm)
Sơ đồ logic (hình 5.10): Có thể vẽ sơ đồ S Q
dùng các cổng NAND hoặc NOR.

Q
R
Hình 5.10. Sơ đồ logic của SR - FF
Giản đồ thời gian (hình 5.11)
S

R
Q

Thiết lập Xoá Nhớ 0 Thiết lập Nhớ 1


Hình 5.11. Giản đồ thời gian của SR – FF

* SR-FF đồng bộ
Với SR-FF không đồng bộ ta dùng tín hiệu trực tiếp điều khiển đầu ra, để khắc
phục nhược điểm này ta dùng SR-FF đồng bộ, nghĩa là gửi đến SR một xung đồng hồ
sao cho các tín hiệu vào chỉ đến được FF (mạch lật) khi có xung nhịp.
Kí hiệu SR – FF đồng bộ (hình 5.12)
S Q
S Q
SR - FF CLK
R Q Q
R
CLK
Hình 5.12. Kí hiệu SR - FF đồng bộ Hình 5.13. Sơ đồ logic SR - FF đồng bộ

9
Bảng trạng thái:
CLK S R Qn + 1
0 0 0 Qn
0 0 1 Qn
0 1 0 Qn
0 1 1 Qn
1 0 0 Qn
1 0 1 0
1 1 0 1
1 1 1 X
Khi không có xung nhịp FF bị cấm nó giữ nguyên trạng thái ban đầu. Khi có
xung nhịp tác động, FF tiếp thu tín hiệu từ các đầu vào SR.
Giản đồ thời gian (hình 5.14)

CLK
S

R
Q

Hình 5.14. Giản đồ thời gian của SR - FF đồng bộ


5.2.2.2. Phần tử D - FF

Định nghĩa: Là phần tử có một đầu vào chức năng D và hai đầu ra Q và Q

FF – D có chức năng thiết lập trạng thái 0 theo tín hiệu D = 0, thiết lập trạng thái
1 theo tín hiệu D = 1.
Kí hiệu của D - FF được minh hoạ trong hình 5.15.
Bảng trạng thái :

D Qn Qn + 1 Q
0 0 0 D - FF
0 1 0 D
Q
1 0 1
1 1 1 Hình 5.15. Kí hiệu D - FF

10
Đồ hình trạng thái của D - FF (hình 5.16).
0 1
Phương trình đặc trưng: 1
0 1
Qn + 1 = D 0
Hình 5.16. Đồ hình trạng thái của D - FF
Đầu ra Qn + 1 chính là sự trễ của đầu vào một khoảng thời gian t.

Sơ đồ logic được tạo ra từ SR – FF bằng cách cho đầu vào R = D và S = D

Các phần tử D – FF đồng bộ chia làm hai dạng:


Theo mức : chốt D (D latch)
Theo sườn: D xúc phát sườn.
5.2.2.3. Phần tử JK - FF
Định nghĩa: Là phần tử có hai đầu vào chức năng J, K và hai đầu ra. Đầu vào J
đóng vai trò thiết lập, đầu vào K đóng vai trò xoá.
JK = 00 FF giữ nguyên trạng thái cũ
JK = 01 FF luôn chuyển đến trạng thái 0
JK = 10 FF luôn chuyển đến trạng thái 1
JK = 11 FF đảo trạng thái
Kí hiệu (hình 5.17).

J Q 0X X0
1X
JK - FF 0 1
K Q X1

Hình 5.17. Kí hiệu JK - FF Hình 5.18. Đồ hình trạng thái của JK - FF

Bảng trạng thái:


J K Qn Qn + 1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0 J Q
1 0 0 1
1 0 1 1
1 1 0 1 Q
1 1 1 0
K
Hình 5.19. Sơ đồ logic của JK - FF
Đồ hình trạng thái của JK - FF được minh họa trong hình 5.18.

11
Phương trình đặc trưng:

Qn + 1 = J Qn + K Qn

Sơ đồ logic chỉ sử dụng các phần tử logic NAND được minh hoạ trong hình 5.19.
5.2.2.4. Phần tử T - FF (Toggle)
Định nghĩa: Là phần tử có một đầu vào chức năng T và hai đầu ra. FF - T có
chức năng duy trì và chuyển đổi trạng thái tuỳ thuộc tín hiệu đầu vào T trong điều kiện
định thời của CLK.
Q
Kí hiệu: T T - FF
Q
Hình 5.20. Kí hiệu T - FF
Bảng trạng thái :

T Qn Qn + 1 0 0
0 0 0 1
0 1 1 0 1
1
1 0 1
1 1 0 Hình 5.21. Đồ hình trạng thái của T - FF
Đồ hình trạng thái của T - FF được minh hoạ trong hình 5.21.
Phương trình đặc trưng: Qn + 1 = T  Qn
Sơ đồ logic : Được tạo ra từ JK – FF bằng cách nối J, K với nhau J = K = T.
5.2.3. Xác định các đầu vào kích cho các FF
Trong nhiều trường hợp đặc biệt là khi thiết kế mạch dùng FF cần phải xác định
đầu vào chức năng của FF ứng với sự chuyển đổi trạng thái cho trước QnQn+1
Với mỗi loại FF, sự chuyển biến trạng thái từ Qn  Qn + 1 chỉ xảy ra 4 khả năng.
Căn cứ vào chức năng của từng loại FF cần phải xác định giá trị đầu vào kích (SR, D,
JK, T) tương ứng với các chuyển đổi đó (bảng 5.1).
Ta thấy, tín hiệu ra ở thời điểm t + t chính là tín hiệu vào tại thời điểm t
Bảng 5.1. Giá trị đầu vào kích của các FF
Qn Qn +1 D T S R J K
0 0 0 0 0 X 0 X
0 1 1 1 1 0 1 X
1 0 0 1 0 1 X 1
1 1 1 0 X 0 X 0
JK khắc phục được nhược điểm của SR (không có tổ hợp tín hiệu cấm) và có số
trường hợp các tín hiệu vào kích có giá trị không xác định lớn hơn so với các loại khác

12
nên tiện cho việc tối thiểu hoá và có sơ đồ đơn giản, do đó JK thường hay được sử
dụng trong thực tế.
5.2.4. Chuyển đổi giữa các loại FF
Đa số các FF trên thị trường là loại JK và D, trong khi đó kỹ thuật số yêu cầu tất
cả các loại FF, do đó cần chuyển đổi để phát huy tác dụng của các loại FF sẵn có.
Có 4 loại FF cơ bản, do đó ta có 12 cách chuyển đổi giữa các loại FF.
Sơ đồ khối xây dựng FF loại j từ FF loại i cho trước.

i Q
j Mạch FF loại
logic i
Q

Hình 5.22. Sơ đồ chuyển đổi FF tổng quát


Các đầu vào j là các đầu vào của FF loại j cần thiết kế, đầu ra của mạch logic là
đầu vào của FF loại i cho trước.
Do đó, bài toán chuyển đổi FF loại i sang loại j là xây dựng mạch logic tổ hợp có
các đầu vào là j và Qn , đầu ra là i.
i = f(j , Qn)
Để thực hiện chuyển đổi cần:
+ Xác định hệ hàm i = f(j , Qn) theo bảng các đầu vào kích.
+ Tối thiểu hoá các hàm này và xây dựng sơ đồ.
Ví dụ: Chuyển đổi SR sang JK
Cần xác định hệ hàm
S = f(Qn, J, K)
R = f(Qn, J, K)

R S
JK JK
Qn 00 01 11 10 Qn 00 01 11 10
0 x x 0 0 0 0 0 1 1
1 x 1 1 0 1 x 0 0 x

Hình 5.23. Tối thiểu hàm chuyển đổi


R = KQn

S = J Qn

13
Sơ đồ logic:
R Qn
K
J S Qn

Hình 5.24. Sơ đồ logic chuyển đổi từ SR - FF sang JK - F


5.3. PHÂN TÍCH HỆ LOGIC CÓ NHỚ
Nhiệm vụ: Tìm ra bảng trạng thái, đồ hình trạng thái đồ thị thời gian của mạch
dãy đã cho, rồi xác định đặc điểm công tác và chức năng logic của nó.
Quá trình phân tích mạch dãy thực hiện theo các bước sau:
Bước 1: Viết phương trình
Căn cứ vào sơ đồ logic đã cho, viết phương trình định thời, phương trình đầu ra,
phương trình kích.
Bước 2: Tìm phương trình trạng thái
Thay phương trình kích vào phương trình đặc trưng của FF tương ứng ta sẽ tìm
được phương trình trạng thái của mạch điện, tức là tìm được trạng thái tiếp theo của các
FF.
Bước 3: Tính toán
Đưa tất cả các tổ hợp có thể của trạng thái hiện tại và tín hiệu đầu vào vào phương
trình trạng thái và phương trình đầu ra, rồi tiến hành tính toán tìm ra trạng thái tiếp theo
và tín hiệu đầu ra tương ứng. Ở đây cần chú ý:
- Điều kiện định thời tích cực của phương trình trạng thái.
- Trạng thái hiện tại của mạch điện (tức là tổ hợp các trạng thái hiện tại của các
FF cấu trúc nên mạch đang xét).
- Không bỏ sót một tổ hợp có thể nào của trạng thái hiện tại và tín hiệu đầu vào.
- Căn cứ vào giá trị ban đầu đã cho (hoặc tự cho) của trạng thái hiện tại và tín
hiệu đầu vào mà tính toán lần lượt các trạng thái tiếp theo nhau.
Bước 4: Vẽ đồ hình trạng thái (hoặc bảng trạng thái, hoặc đồ thị thời gian).
Xem xét kết quả tính toán rồi vẽ đồ hình trạng thái. Ở đây cần chú ý 3 điểm:
- Chuyển đổi trạng thái từ hiện tại đến tiếp theo, chứ không phải từ hiện tại đến
hiện tại, hoặc từ tiếp theo đến tiếp theo.
- Tín hiệu đầu ra là hàm số của trạng thái hiện tại, chứ không phải là hàm số của
trạng thái tiếp theo.

14
- Vẽ đồ thị thời gian cần lưu ý rằng các FF chỉ chuyển đổi trạng thái tương ứng
với sườn (mức) kích của xung đồng bộ xuất hiện.
Chú ý: 4 bước phân tích trên là chung, không bắt buộc phải tuân theo máy móc.
Ví dụ:
Phân tích sơ đồ mạch dãy hình 5.25 sau:

“1” T1 Q1 T2 Q2 Q Q
T2 T2

Q1 Q2 Q3 Q4
CLK

Hình 5.25. Mạch điện ví dụ


Giải:
- Viết phương trình
+ Phương trình định thời
CLK1 = CLK2 = CLK3 = CLK4 = CLK
+ Phương trình kích
T1 = 1 T3 = Q1Q2
T2 = Q 1 T4 = Q1Q2Q3
+ Phương trình đầu ra: có thể không cần viết vì không có tín hiệu đầu ra nào
khác ngoài Q và Q

- Tìm phương trình trạng thái


Từ phương trình đặc trưng của T- FF

Qn + 1 = T Qn + T Qn

Thay phương trình kích vào phương trình đặc trưng ta có:

Q1n +1 = T1 Q1n + T1 Q1n = 1. Q1n + 0. Q1n = Q1n

Q2n + 1= Q1n  Q2n

Q3n + 1= Q1n Q2n Q3n + Q1n Q2n Q3n

Q4n + 1 = Q1n Q2n Q3n Q4n + Q1n Q2n Q3n Q4n

- Tính toán
Giả định các trạng thái Q4n Q3n Q2n Q1n tuần tự thay vào phương trình trạng thái
ta được bảng kết quả đó chính là các trạng thái tiếp theo Q4n + 1 Q3n + 1 Q2n + 1 Q1n + 1

15
Bảng kết quả tính toán:
tn tn + 1
Q4 Q3 Q2 Q1 Q4 Q3 Q2 Q1
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 1 0 1 0
1 0 1 0 1 0 1 1
1 0 1 1 1 1 0 0
1 1 0 0 1 1 0 1
1 1 0 1 1 1 1 0
1 1 1 0 1 1 1 1
1 1 1 1 0 0 0 0
- Vẽ đồ hình trạng thái
Từ bảng kết quả tính toán ta vẽ được đồ hình trạng thái của mạch.

0000 0001 0010 0011 0100 0101 0110 0111

1111 1110 1101 1100 1011 1010 1001 1000

Hình 5.26. Đồ hình trạng thái


Như vậy, đây là đồ hình trạng thái của bộ đếm nhị phân, với hệ số đếm bằng 16
sử dụng phần tử nhớ T – FF. Cách thiết kế bộ đếm này sẽ được đề cập trong phần sau.
5.4. THIẾT KẾ HỆ LOGIC CÓ NHỚ
Bài toán thiết kế hệ logic có nhớ là biết chức năng của hệ, thiết kế sơ đồ thực
hiện chức năng đó, bao gồm các bước sau:
Bước 1: Phân tích yêu cầu đầu bài và tìm bảng trạng thái dưới dạng mã hoá
trạng thái.
Bước 2: Thành lập bảng kích FF (Trigơ).
Bước 3: Xác định hàm kích FF và tối thiểu hoá hàm kích.
Bước 4: Xác định hàm ra và tối thiểu hoá hàm ra.
Bước 5: Vẽ sơ đồ thực hiện.
Ví dụ: Thiết kế hệ logic có nhớ đồng bộ dùng JK-FF theo yêu cầu sau:

16
+ Hệ có một đầu vào x và một đầu ra z
+ Tín hiệu vào là 0 hoặc 1 xuất hiện ngẫu nhiên liên tục
+ Đầu ra z = 1 khi gặp dãy tín hiệu vào 0101, z = 0 với mọi trường hợp khác
Giải: Mô tả bài toán (hình 5.27).
x z
Mạch dãy
0101011 0001010
Hình 5.27. Mô tả bài toán
Phân tích bài toán: Gọi A là trạng thái đang chờ 0 đầu tiên của dãy.
B là trạng thái đã có 0, đang chờ 1 tiếp theo của dãy.
C là trạng thái đã có 01, đang chờ 0 tiếp theo.
D là trạng thái đã có 010, đang chờ 1 tiếp theo.
Đồ hình trạng thái (hình 5.28).

1/0 0/0 0/0

A 0/0 B 1/0 C 0/0 D

1/0 1/1
Hình 5.28. Đồ hình trạng thái
Bảng chuyển trạng thái (khi tác động đầu vào x có giá trị 0 hoặc 1 ngẫu nhiên)
X 0 1 Z
S 0 1
A B A 0 0
B B C 0 0
C D A 0 0
D B C 0 1
- Mã hoá 4 trạng thái A, B, C, D bằng hai biến Q1, Q2
Q1 Q2
0 0 A
0 1 B
1 0 C
1 1 D

17
- Bảng trạng thái dưới dạng đã mã hoá:

X 0 1 Z
Q1 Q2 0 1
00 01 00 0 0
01 01 10 0 0
10 11 00 0 0
11 01 10 0 1
- Bảng kích Trigơ (FF)

X 0 1 Z
Q1 Q2 J1 K1 J2K2 J1 K 1 J2K2 0 1
00 0 X 1 X 0 X 0 X 0 0
01 0 X X 0 1 X X 1 0 0
11 X 1 X 0 X 0 X 1 0 1
10 X 0 1 X X 1 0 X 0 0
- Hàm kích: J1 = X Q 2 K1 = X Q 2 + X Q2 = X  Q 2

J2 = X K2 = X

- Hàm ra: Z = XQ1Q2


Sơ đồ logic (hình 5.29).
X
Z
J2 Q2 J1 Q1

K2 Q2  K1 Q1

CLK
Hình 5.29. Sơ đồ mạch logic ví dụ sử dụng JK-FF
5.5. BỘ ĐẾM
Mạch đếm là một mạch dãy đơn giản được xây dựng từ các phần tử nhớ và các
phần tử tổ hợp.
Các mạch đếm là thành phần cơ bản của các hệ thống số chúng được sử dụng để
đếm thời gian, chia tần số, điều khiển các mạch khác.

18
5.5.1. Khái niệm và phân loại
5.5.1.1. Khái niệm
Bộ đếm là một mạch dãy tuần hoàn có một đầu vào đếm và một đầu ra, mạch có
số trạng thái trong chính là hệ số đếm (kí hiệu Kđ).
Dưới tác dụng của tín hiệu vào đếm mạch sẽ chuyển từ trạng thái trong này đến
một trạng thái trong khác theo một thứ tự nhất định. Cứ sau Kđ lần tín hiệu vào đếm,
mạch sẽ trở về trạng thái xuất phát ban đầu.
Bộ đếm thực hiện việc đếm các dãy xung khi có xung điều khiển và nó chỉ có một
đầu vào. Do đó, nếu xung đồng bộ (CLK) xuất hiện khác thời điểm xung đếm (Xđ) xuất
hiện thì việc đếm xung không thực hiện được nên mạch đếm phải có xung đếm đưa vào
chính là dãy xung đồng bộ hay mạch đếm chỉ có một đầu vào.

Xđ Y
Bộ đếm

Hình 5.30. Sơ đồ khối của bộ đếm


5.5.1.2. Đồ hình trạng thái
Đồ hình là mô hình mô tả sự chuyển đổi các trạng thái trong hay chính là mô tả
hoạt động của bộ đếm

Xđ / 0 Xđ / 0 Xđ / 0 Xđ / 0

Xđ/ 0 S Xđ/ 0 .... ... Xđ/ 0


So 1 Si SKđ -1

Xđ/ 1

Hình 5.31. Đồ hình trạng thái tổng quát của bộ đếm

Khi không có tín hiệu vào đếm ( Xđ ) mạch giữ nguyên trạng thái ban đầu (i  i)
khi có tín hiệu vào đếm (Xđ) mạch sẽ chuyển đến trạng thái kế tiếp (i  i+1).
Khi bộ đếm ở trạng thái SKđ-1 nếu tác động một tín hiệu vào đếm thì bộ đếm sẽ
trở về trạng thái ban đầu So và khi đó đồng thời xuất hiện tín hiệu ra một lần duy nhất.
Trong trường hợp cần hiển thị trạng thái của bộ đếm thì phải dùng thêm mạch
giải mã.
5.5.1.3. Phân loại.
Có nhiều cách phân loại bộ đếm
- Phân loại theo cách làm việc
19
+ Bộ đếm đồng bộ (Synchronous counter): là bộ đếm mà sự chuyển đổi trạng
thái trong các FF diễn ra đồng thời khi có tác động của xung đếm. Mọi sự chuyển đổi
trạng thái (từ Si sang trạng thái mới Sj) đều không thông qua trạng thái trung gian.
Si  Sj
Xung đồng bộ tác động đồng thời tới các phần tử nhớ.
+ Bộ đếm không đồng bộ (Asynchronous counter): là bộ đếm tồn tại ít nhất một
cặp chuyển biến trạng thái Si  Sj mà trong đó các FF không thay đổi trạng thái đồng
thời.
Si  Si’  Si’’ Sj
Xung đồng bộ tác động không đồng thời tới các FF.
- Phân loại theo hệ số đếm.
+ Bộ đếm có hệ số đếm Kđ = 2n : Bộ đếm có hệ số đếm cực đại, khi sử dụng n
FF để mã hoá các trạng thái trong cho bộ đếm thì khả năng mã hoá tối đa là 2n.
Kđ = 2, 4, 8, 16...
+ Bộ đếm có hệ số đếm Kđ  2n : Sử dụng n FF để mã hoá các trạng thái trong
cho bộ đếm, sẽ có (2n - Kđ) trạng thái không được sử dụng đến. Do vậy khi thiết kế bộ
đếm cần phải lưu ý đến các trạng thái không sử dụng tức là cần phải có biện pháp làm
cho bộ đếm thoát khỏi các trạng thái đó một cách hợp lý để trở về chu trình đúng mà
vẫn phải đảm bảo bộ đếm được thiết kế là đơn giản.
Kđ = 3, 5, 6, 7, 10...
- Phân loại theo mã: Quá trình đếm của bộ đếm là quá trình thay đổi từ trạng
thái trong này đến trạng thái trong khác và mỗi trạng thái trong của bộ đếm được mã
hoá bởi một mã cụ thể.
Cùng một bộ đếm có thể có nhiều cách mã hoá trạng thái trong khác nhau, các
cách mã hoá khác nhau sẽ tương ứng với các mạch thực hiện khác nhau.
Mã nhị phân, Mã Gray
Mã BCD, Mã Johnson
Mã vòng...
- Phân loại theo hướng đếm:
+ Bộ đếm thuận (Up counter): là bộ đếm mà khi có tín hiệu vào đếm (Xđ) thì
trạng thái trong của bộ đếm tăng lên 1.
Si  Si+1
+ Bộ đếm nghịch (Down counter): là bộ đếm mà khi có tín hiệu vào đếm (Xđ)
thì trạng thái trong của bộ đếm giảm đi 1.

20
Si  Si-1
Chú ý: Khái niệm thuận nghịch chỉ là tương đối chủ yếu là do vấn đề mã hoá các
trạng thái trong của bộ đếm .
+ Bộ đếm thuận nghịch: là bộ đếm vừa có khả năng đếm thuận vừa có khả năng
đếm nghịch.
- Phân loại theo khả năng lập trình:
+ Bộ đếm có khả năng lập trình : Kđ có thể thay đổi phụ thuộc vào tín hiệu điều
khiển.
+ Bộ đếm không có khả năng lập trình : Kđ cố định, không thay đổi được.
5.5.2. Thiết kế bộ đếm
Để thiết kế bộ đếm ta tiến hành theo các bước sau:
- Bước 1: Xác định các yêu cầu của bài toán
Phân tích yêu cầu đầu bài tìm ra số trạng thái trong.
- Bước 2: Lập đồ hình trạng thái
Căn cứ vào yêu cầu của bộ đếm cần thiết kế như: hệ số đếm và một số
các yêu cầu khác để xây dựng đồ hình mô tả hoạt động của bộ đếm.
- Bước 3: Xác định số phần tử nhớ cần sử dụng, mã hóa các trạng thái trong của
bộ đếm theo mã đã cho.
Số phần tử nhớ được xác định như sau:
Mã nhị phân và mã Gray n ≥ log2 Kđ
Mã vòng n = Kđ
Mã Johnson n = 1/2 Kđ
- Bước 4: Xác định hàm kích của các FF và hàm ra:
Dựa vào bảng chuyển đổi trạng thái, bảng ra để xác định phương trình
kích cho các FF và phương trình hàm ra.
- Bước 5: Vẽ sơ đồ mạch thực hiện
Từ các phương trình đầu vào kích các FF và phương trình hàm ra đưa ra
sơ đồ mạch thực hiện.
5.5.3. Bộ đếm thuận, đồng bộ, mã nhị phân với Kđ = 2n
Kđ = 2, 4, 8, 16...
5.5.3.1. Bộ đếm có Kđ = 2
Với Kđ = 2 ta chỉ cần 1FF để mã hoá cho hai trạng thái trong của bộ đếm.

21
So S1

Hình 5.32. Đồ hình trạng thái của bộ đếm 2


Bảng chuyển đổi trạng thái

S Qn Qn+1 S R J K D T
S0 0 1 1 1 1 X 1 1
S1 1 0 0 0 X 1 0 1
Nếu sử dụng SR – FF ta có:

S = Qn ; R = Qn R Qn

CLK
Nếu sử dụng JK – FF ta có: S Qn

J=K=1
Nếu sử dụng D – FF ta có: Hình 5.33. Bộ đếm Kđ = 2
D = Qn

Nếu sử dụng T – FF ta có:


T=1
Sơ đồ logic: Sử dụng SR – FF đồng bộ được minh hoạ ở hình 5.33.
5.5.3.2. Bộ đếm có Kđ = 4
Kđ = 4 dùng 2 FF để thiết kế bộ đếm
Đồ hình trạng thái : So S1 S2 S3

Hình 5.34. Đồ hình trạng thái của bộ đếm thuận Kđ = 4


Bảng chuyển đổi trạng thái và giá trị đầu vào kích:

S tn tn+1 FF - A FF - B
AB AB S A RA JA KA TA SB RB JB KB TB
S0 00 01 0X 0X 0 10 1X 1
S1 01 10 10 1X 1 01 X1 1
S2 10 11 X0 X0 0 10 1X 1
S3 11 00 01 X1 1 01 X1 1
Nếu sử dụng JK – FF ta có:
JB = KB = 1
J A = KA = B

22
Sơ đồ logic: “1” B A
JB JA

KB B KA A

CLK
Hình 5.35. Sơ đồ logic của bộ đếm thuận Kđ = 4
5.5.3.3. Bộ đếm với Kđ = 2n
Quá trình thiết kế hoàn toàn tương tự, nếu dùng T – FF hoặc JK – FF để xây dựng
bộ đếm thì ta có kết quả các đầu vào kích như sau:
TN = J N = K N = 1
TN-1 = JN-1 = KN-1 = A
TN-2 = JN-2 = KN-2 = A.B
TN-3 = JN-3 = KN-3 = A.B.C = C.JN-2 = C.KN-2
...
T1 = J1 = K1 = A.B.C... M = M.J2 = M.K2
5.5.4. Bộ đếm nghịch đồng bộ mã nhị phân với Kđ = 2n
Phương pháp thiết kế bộ đếm nghịch đồng bộ hoàn toàn tương tự như thiết kế bộ
đếm thuận đồng bộ, trong đồ hình trạng thái bộ đếm nghịch có hướng chuyển biến
trạng thái ngược lại.
Ví dụ: Bộ đếm nghịch với Kđ = 4
Cần sử dụng hai phần tử nhớ.
So S1 S2 S3
Đồ hình trạng thái (hình 5.36)

Hình 5.36. Đồ hình trạng thái của bộ đếm nghịch Kđ = 4


Bảng chuyển đổi trạng thái và giá trị đầu vào kích như sau:
tn tn+1 FF
AB AB J A KA JB KB
00 11 1X 1X
01 00 0X X1
10 01 X1 1X
11 10 X0 X1

Phương trình đầu vào kích:

JB = KB = 1; J A = KA = B

23
Sơ đồ logic:
“1” JB B JA A

KB B KA A

CLK

Hình 5.37. Sơ đồ logic của bộ đêm nghịch Kđ = 4


Tổng quát: Với bộ đếm nghịch đồng bộ Kđ = 2n sử dụng JK – FF ta có:
J1 = K1 = 1

J2 = K2 = Q1

J3 = K3 = Q1 Q2

...

Jn = Kn = Q1 Q2 Q3 ... Qn-1

5.5.5. Bộ đếm thuận nghịch đồng bộ mã nhị phân


Để có một bộ đếm có thể làm việc ở cả hai chức năng: thuận và nghịch người ta sử
dụng thêm một tín hiệu điều khiển.
Giả sử gọi tín hiệu điều khiển là R, ta quy ước như sau:
R = 0 đếm thuận R = 1 đếm nghịch
Khi đó phương trình đầu vào kích của bất kỳ một FF nào cũng sẽ là:

Ji = Jith . R + Jing . R

Ki = Kith . R + King . R So S1
Ví dụ: Bộ đếm thuận nghịch đồng bộ mã nhị phân
với Kđ = 4.
Kđ = 4 do đó cần sử dụng hai phần tử nhớ. S3 S2
Đồ hình trạng thái của bộ đếm thuận nghịch
Kđ = 4 được minh hoạ ở hình 5.38. Hình 5.38. Đồ hình trạng thái của
bộ đếm nghịch Kđ = 4

24
Bảng chuyển đổi trạng thái và giá trị đầu vào kích:

R S tn tn+1
AB AB JA K A JB KB
0 S0 00 01 0X 1X
0 S1 01 10 1X X1
0 S2 10 11 X0 1X
0 S3 11 00 X1 X1
1 S3 00 11 1X 1X
1 S2 01 00 0X X1
1 S1 10 01 X1 1X
1 S0 11 10 X0 X1
Phương trình các đầu vào kích:
JB = KB = 1
J A = KA = B  R
R
“1” JB B  JA A
Sơ đồ logic:
KB B KA A

CLK
Hình 5.39. Sơ đồ logic bộ đếm thuận nghịch Kđ = 4
5.5.6. Bộ đếm thập phân đồng bộ
Để thiết kế bộ đếm thập phân (Kđ = 10) phải dùng ít nhất 4 FF. Khi đó sẽ thừa ra
6 trạng thái. Trong quá trình thiết kế sẽ sử dụng 6 trạng thái này để sao cho phương
trình kích của các FF là các phương trình tối thiểu.
Các bước thiết kế bộ đếm thập phân hoàn toàn tương tự như thiết kế bộ đếm nhị
phân đã nêu ở trên.
a) Bộ đếm thuận đồng bộ mã NBCD
- Xác định số phần tử nhớ cần sử dụng: Mã NBCD tồn tại 10 trạng thái, do đó số
phần tử nhớ cần sử dụng là 4 FF.
- Đồ hình trạng thái:
S0 S1 S2 S3 S4
0000 0001 0010 0011 0100

1001 1000 0111 0110 0101


S9 S8 S7 S6 S5

25
Hình 5.40. Đồ hình trạng thái của bộ đếm thập phân thuận đồng bộ
- Bảng chuyển đổi trạng thái và giá trị các đầu vào kích:

S Q4Q3Q2Q1 Q4Q3Q2Q1 J4K4 J3K3 J2K2 J1K1


S0 0000 0001 0X 0X 0X 1X
S1 0001 0010 0X 0X 1X X1
S2 0010 0011 0X 0X X0 1X
S3 0011 0100 0X 1X X1 X1
S4 0100 0101 0X X0 0X 1X
S5 0101 0110 0X X0 1X X1
S6 0110 0111 0X X0 X0 1X
S7 0111 1000 1X X1 X1 X1
S8 1000 1001 X0 0X 0X 1X
S9 1001 0000 X1 0X 0X X1
- Xác định các phương trình đầu vào kích: Từ bảng chuyển đổi trạng thái, tối
thiểu hoá cho các đầu vào kích ta có hệ phương trình kích như sau:
J 1 = K1 = 1

J2 = Q 4 Q 1 K2 = Q 1

J3 = K3 = Q2Q1
J4 = Q3 Q2Q1 K4 = Q 1
Chú ý: Một trong những phương pháp để bộ đếm có thể loại bỏ sai nhầm (khi
rơi vào 1 trong 6 trạng thái không sử dụng) là xây dựng sơ đồ cho mạch tạo ra tín hiệu
xung nhịp CLK*.
CLK* = 1 khi có xung nhịp CLK và khi bộ đếm không ở 1 trong 6 trạng thái
không sử dụng. Sáu trạng thái không sử dụng có phương trình là: Q4Q3 + Q4Q2
CLK* = CLK(Q4Q3 + Q4Q2)
Sơ đồ của bộ đếm thuận, đồng bộ, mã NBCD như sau:
“1”
J1 Q1 J2 Q2 J3 Q3 J4 Q4
Q4
Q4
Q3 K1 Q1 K2 Q2 K3 Q3 Q1 K4 Q4
Q1
Q4
Q2
CLK CLK*
Hình 5.41. Sơ đồ logic bộ đếm thập phân thuận, đồng bộ

26
b) Bộ đếm nghịch, đồng bộ, mã NBCD
Sử dụng phương pháp thiết kế tương tự như bộ đếm thuận, ta có bộ đếm nghịch,
đồng bộ, mã NBCD.
5.5.7. Bộ đếm không đồng bộ (bộ đếm dị bộ)
Quy luật nối ghép các FF trong quá trình thiết kế bộ đếm dị bộ
Kích sườn (+) xung CLK Kích sườn (-) xung CLK
Đếm thuận CLKi = Qi - 1 CLKi = Qi - 1
Đếm nghịch CLKi = Qi - 1 CLKi = Qi - 1
CLKi là xung đồng bộ của FF thứ i

Qi – 1 và Qi - 1 là tín hiệu đầu ra của FF thứ i -1 có trọng số bé hơn liền kề với FF


thứ i.
Ví dụ: Bộ đếm thuận, nhị phân, dị bộ, Kđ = 8, dùng T – FF
T1 = 1 T2 = 1 T3 = 1
Phương trình xung nhịp của các FF
CLK1 = CLK CLK2 = Q1 CLK3 = Q2
Sơ đồ mạch:

“1” “1”
“1”
T1 Q1 T2 Q2 T3 Q3

CLK1 CLK2 CLK3


CLK
Q1 Q2 Q3

Hình 5.42. Sơ đồ logic bộ đếm nhị phân không đồng bộ Kđ = 8


Giản đồ thời gian (sử dụng xung kích âm):

1 2 3 4 5 6 7 8 9 10
CLK

1 1 1 1 1
Q1 0 0 0 0 0 0

0 0 1 1 0 0 1 1 0 0
Q2

0 1 1 1 1
Q3 0 0 0 0 0

Hình 5.43. Giản đồ thời gian của bộ đếm nhị phân không đồng bộ Kđ = 8

27
Khi nào xuất hiện sườn âm của xung nhịp thì FF mới lật đúng trạng thái như
phương trình quy định, nếu không các FF sẽ duy trì trạng thái cũ (không lật).
Quan sát giản đồ thời gian của bộ đếm ta thấy: Mỗi FF chia tần số xung nhịp làm
hai lần, trong ví dụ trên có 3 FF nên chia tần số xung nhịp ra 23 = 8 lần. Bộ đếm cũng
chính là bộ chia tần số.
5.6. BỘ GHI DỊCH
5.6.1. Định nghĩa
- Bộ ghi dịch hay thanh ghi dịch là phần tử có khả năng ghi giữ và dịch thông tin
(sang phải hoặc trái).
- Bộ ghi dịch gồm các phần tử nhớ đơn bít (FF) mắc liên tiếp với nhau và một số
phần tử logic cơ bản hỗ trợ.
Muốn ghi và truyền n bít từ số nhị phân cần có n phần tử nhớ (n trigơ).
Thông tin được nạp vào bộ ghi dịch từng bít một và được đồng bộ với các xung
nhịp Ck (bít đầu tiên được nạp vào FF đầu tiên, các bít thông tin khác đã được ghi giữ
trong thanh ghi sẽ được dịch một bít).
Bộ ghi dịch được sử dụng rộng rãi để nhớ số liệu, chuyển số liệu song song thành
số liệu nối tiếp, nối tiếp thành song song. Là thành phần không thể thiếu được trong bộ
xử lý trung tâm của các bộ vi xử lý. Dùng để thiết kế bộ đếm, tạo dãy tín hiệu nhị phân
theo yêu cầu cho trước.
Có hai cách ghi
+ Ghi song song: các bít của số nhị phân được ghi đồng thời cùng một lúc vào
bộ ghi dịch.
+ Ghi nối tiếp: các bít của số nhị phân được đưa vào bộ ghi dịch một cách tuần
tự theo thứ tự của số nhị phân.
5.6.2. Bộ ghi dịch nối tiếp.
Bộ ghi dịch nối tiếp có thể dịch trái, dịch phải và cho ra song song hoặc nối tiếp.
Ví dụ: Bộ ghi dịch nối tiếp dịch phải, có đầu vào nối tiếp, đầu ra song song và nối tiếp
(hình 5.44).
Khi một xung nhọn âm tác động vào chân xoá (CLR), các đầu ra Q của cả bốn FF
trong bộ ghi dịch đều ở trạng thái 0.
Muốn ghi thông tin ta phải đưa các bít thông tin nối tiếp về thời gian truyền lần
lượt vào đầu vào nối tiếp theo sự điều khiển đồng bộ của các xung nhịp. Cứ sau mỗi
xung nhịp trạng thái của FF lại được xác lập theo thông tin ở đầu vào D của nó (trên sơ
đồ này sau mỗi lần có xung nhịp tác động FF sau lại nhận giá trị của FF đứng trước nó).

28
Vào nối tiếp Ra nối tiếp
D Q D Q D Q D Q

CLK Q CLK Q CLK Q CLK Q

CLR
CLK
Điều khiển ra

A B C D

Ra song song
Hình 5.44. Bộ ghi dịch vào nối tiếp, ra nối tiếp và song song
Giả sử ta có 4 bít dữ liệu d1d2d3d4 được truyền liên tiếp tới đầu vào của bộ ghi
dịch trong đó bít d4 đến trước nhất. Kết thúc xung nhịp thứ nhất, bít d3 được truyền tới
đầu vào bộ ghi dịch, sau xung nhịp thứ 2 của đầu ra FFA được xác định theo giá trị d3
và đầu ra của FFB được xác định theo giá trị d4 … Quá trình cứ tiếp diễn như vậy sau
khi có bốn xung nhịp tác động cả bốn bít d1d2d3d4 lần lượt được đưa vào bộ ghi dịch.
Bảng trạng thái đầu ra theo các xung nhịp:
Ck A B C D
0 0 0 0 0
1 d4 0 0 0
2 d3 d4 0 0
3 d2 d3 d4 0
4 d1 d2 d3 d4
Sau khi kết thúc quá trình ghi, muốn đưa dữ liệu ra ở các đầu ra song song ta đặt
một mức điều khiển ở đầu ra, đầu ra của các cổng AND sẽ được xác lập theo trạng thái
ABCD của các FF trong bộ ghi (ra song song: thông tin trong bộ ghi dịch vẫn được duy
trì).
Để điều khiển dữ liệu ra nối tiếp ta phải tác động một nhóm 4 xung nhịp để điều
khiển ghi. Sau 4 xung nhịp tác động bốn bít dữ liệu lần lượt được đưa ra khỏi bộ ghi
dịch.
5.6.3. Bộ ghi dịch song song.
Các bít dữ liệu được đưa vào FF cùng một lúc.
Ví dụ: Bộ ghi dịch song song 4 bít (hình 5.45).
Hoạt động: dùng xung xoá (clear data) CD = 0 để xoá các đầu ra ABCD = 0000.
Các dữ liệu cần ghi đưa vào đầu vào d1d2d3d4.
29
Khi có xung điều khiển ghi (CLK) tác động, dữ liệu được nạp vào bộ nhớ song
song và đưa ra đầu ra song song ABCD = d1d2d3d4.
Mỗi đầu ra của FF được đưa tới đầu vào của cổng AND. Muốn dữ liệu ra thẳng
lối ra thì đầu vào điều khiển ra phải bằng 1. Nếu chưa muốn cho dữ liệu ra thì đầu điều
khiển ra bằng 0.
Vào song song

A B C D
D Q D Q D Q D Q

CLK Q CLK Q CLK Q CLK Q

CLR
CLK
Điều khiển ra

A B C D

Ra song song
Hình 5.45. Bộ ghi dịch vào song song, ra song song

5.6.4. Đồ hình tổng quát của bộ ghi dịch (đồ hình DE BRUIJN)
Ví dụ: Chuyển đổi trạng thái của bộ ghi dịch 2 bít
01
1
0 00 1 1
00 0 01 0 00 0 1 11 1
1
10 11
0 1 0 1 0 0
00 01 10 11 10

Hình 5.46. Đồ hình tổng quát của bộ ghi dịch 2 bit


Nhận xét: Bộ ghi dịch sẽ bị khoá ở trạng thái 00 hoặc 11 nếu hàm hồi tiếp là 0
hoặc 1.
Đồ hình tổng quát được gọi là đồ hình DE BRUIJN.
- Từ đồ hình DE BRUIJN của bộ ghi dịch luôn luôn xác định được trạng thái sẽ
chuyển biến tới của bộ ghi dịch ứng với giá trị tương ứng của hàm hồi tiếp.
- Đồ hình này được sử dụng để thiết kế bộ đếm, bộ tạo dãy tín hiệu nhị phân tuần
hoàn.
- Đồ hình của bộ ghi dịch 3 bít (hình 5.47).

30
001 011
010
000 111
101
100 110

Hình 5.47. Đồ hình tổng quát của bộ ghi dịch 3 bit


- Đồ hình của bộ ghi dịch 4 bít (hình 5.48).
0001 0011 0111

0010 1011
0101

0000 1001 0110 1111

1010
0100 1101

1000 1100 1110

Hình 5.48. Đồ hình tổng quát của bộ ghi dịch 4 bit


5.6.5. Thiết kế bộ đếm dùng bộ ghi dịch
Nhận xét: Từ đồ hình DE BRUIJN của bộ ghi dịch ta nhận thấy nếu xuất phát từ
một trạng thái ban đầu nào đó, ứng với một dãy tín hiệu hồi tiếp (fht) xác định, sẽ có
một dãy xác định các trạng thái sẽ chuyển biến tới. Nếu dãy tín hiệu hồi tiếp được chọn
thích hợp sao cho dãy chuyển biến trạng thái tạo thành một chu trình khép kín thì đồ
hình trạng thái của mạch chính là đồ hình của bộ đếm.
Khi đó, bài toán thiết kế bộ đếm trở thành bài toán thiết kế hàm hồi tiếp cung cấp
cho đầu vào của bộ ghi dịch, sao cho ứng với hàm này các trạng thái của mạch sẽ
chuyển biến theo một chu trình kín, số trạng thái trong chu trình kín chính bằng hệ số
đếm (Kđ).
Các FF được lắp nối tiếp với nhau tạo thành thanh ghi dịch n bít. Các đầu ra của
các FF được sử dụng để tạo hồi tiếp đưa vào điều khiển đầu vào của thanh ghi.

31
Hàm hồi tiếp

J Q J Q J Q
…..
K Q K Q K Q

CLK

Hình 5.49. Sơ đồ tổng quát thiết kế bộ đếm dùng bộ ghi dịch


Để thiết kế bộ đếm dùng bộ ghi dịch ta làm theo các bước sau:
+ Xác định số bít của bộ ghi dịch: n  log2Kđ.
+ Chọn chu trình chuyển biến trạng thái theo đồ hình DE BRUIJN (Chu trình
khép kín).
+ Xác định hàm hồi tiếp và tối thiểu hoá.
+ Vẽ sơ đồ logic.
Ví dụ: Thiết kế bộ đếm 8 dùng bộ ghi dịch
- Số bit của bộ ghi dịch là: n  log28 = 3 Cần 3 FF.
- Chọn chu trình chuyển biến trạng thái (sử dụng đồ hình 3 bit):
S0 S1 S3 S7
1 1 1
000 001 011 111
0 0
100 0 010 0 101 1 110
S4 S2 S5 S6

Hình 5.50. Đồ hình trạng thái của bộ đếm 8 sử dụng bộ ghi dịch
Xác định hàm hồi tiếp và tối thiểu hàm hồi tiếp:
S Q3Q2Q1 fht fht Q2Q1
S0 0 0 0 1
Q3 00 01 11 10
S1 0 0 1 1
0 1 1 1
S3 0 1 1 1
S7 1 1 1 0 1 1
S6 1 1 0 1
S5 1 0 1 0
S2 0 1 0 0
S4 1 0 0 0
fht = Q3 Q2 + Q3 Q1 + Q3 Q2 Q1

32
- Sơ đồ logic:

fht

J1 Q1 J2 Q2 J3 Q3

K1 Q1 K2 Q2 K3 Q3
CLK

Hình 5.51. Sơ đồ logic bộ đếm 8 sử dụng bộ ghi dịch


5.6.6. Thiết kế mạch tạo dãy tín hiệu tuần hoàn dùng bộ ghi dịch
Giả thiết dãy tín hiệu tuần hoàn có độ dài là L.
Các bước thực hiện:
+ Xác định số bít của bộ ghi dịch n  logL.
+ Chọn chu trình chuyển biến trạng thái của bộ đếm theo đồ hình tổng quát.
+ Xác định hàm hồi tiếp và tối thiểu hoá.
+ Xác định hàm ra và tối thiểu hoá.
+ Vẽ sơ đồ mạch thực hiện.
Ví dụ: Thiết kế mạch tạo dãy tín hiệu tuần hoàn sau: 10011011, sử dụng bộ ghi dịch.
Giải:
- Độ dài của dãy: L = 8
Do đó, số bít của bộ ghi dịch là: n  log28 = 3 (FF)
- Dựa vào đồ hình tổng quát (3 bit) của bộ ghi dịch, chọn chu trình chuyển biến
trạng thái:
S0 S1 S3 S7
1 1 1
000 001 011 111
0 0
100 0 010 0 101 1 110
S4 S2 S5 S6
Hình 5.52. Đồ hình trạng thái của
mạch tạo dãy tín hiệu tuần hoàn dùng bộ ghi dịch

33
- Xác định biểu thức của hàm hồi tiếp và hàm ra:
S Q3Q2Q1 fht fra fht
S0 0 0 0 1 1 Q2Q1
S1 0 0 1 1 0 Q3 00 01 11 10
S3 0 1 1 1 0 0 1 1 1
S7 1 1 1 0 1 1 1
S6 1 1 0 1 1
S5 1 0 1 0 0 fra Q2Q1
S2 0 1 0 0 1
Q3 00 01 11 10
S4 1 0 0 0 1
0 1 1
fht = Q3 Q2 + Q3 Q1 + Q3 Q2 Q1 1 1 1 1

fra = Q1 + Q3 Q2

- Sơ đồ logic (hình 5.53).

fht

J1 Q1 J2 Q2 J3 Q3

K1 Q1 K2 Q2 K3 Q3
CLK

fra

Hình 5.53. Sơ đồ logic mạch tạo dãy tín hiệu tuần hoàn dùng bộ ghi dịch
5.7. BỘ NHỚ
5.7.1. Giới thiệu
5.7.1.1. Chức năng của bộ nhớ
Trong phần bộ ghi dịch, khi khảo sát các bộ ghi chúng ta đã nhắc đến khả năng
lưu trữ của các bộ ghi. Các bộ ghi thường được dùng để lưu trữ thông tin về trạng thái
của máy hoặc số liệu trung gian trong một thời gian ngắn. Để lưu trữ được các chương
trình điều khiển tính toán và các kết quả tính toán trong thời gian dài cần phải có các bộ
nhớ có dung lượng lớn. Đối với các thiết bị số và máy tính điện tử, khả năng nhớ được
dữ liệu là một yêu cầu quan trọng. Ví dụ trong máy tính, các chương trình tính toán các
con số cần thiết cho phép toán phải được lưu trữ ngay trong máy. Còn trong các thiết bị

34
điều khiển số thì các lệnh điều khiển cũng phải được lưu trữ để điều khiển quá trình vận
hành theo một trình tự định trước do người lập trình vạch ra. Vì vậy các bộ nhớ đảm
nhận chức năng lưu trữ thông tin không thể thiếu được trong các thiết bị số.
5.7.1.2. Các thông số cơ bản của bộ nhớ
Thông tin, dữ liệu được tạo thành được tạo thành từ một đơn vị cơ bản gọi là từ
(Word). Tuỳ theo từng loại máy, một từ có thể là 8 bít, 16 bít, 32 bít.... Các thiết bị chỉ
chuyển đi hay nhận vào nguyên một từ hay nhiều từ chứ không phải chỉ vài bít cuả một
từ. Tuy nhiên đơn vị nhớ cơ bản là bít.
Khi nói đến bộ nhớ, người ta quan tâm đến ngay hai thông số cơ bản:
- Dung lượng nhớ (capacity) là lượng thông tin hay dữ liệu lưu trữ được trong bộ
nhớ. Các đơn vị nhớ là bít, byte, KB, MB, GB
1 byte = 8 bit
1 KB = 210 byte = 1024 byte = 213 bit
1 MB = 210 KB
1 GB = 210 MB
- Thời gian truy nhập (Access time – at): thời gian này gồm hai phần là: Thời gian
xác định vị trí từ và thời gian đọc nội dung từ lưu trữ trong bộ nhớ, at càng nhỏ,
tốc độ làm việc của máy càng cao.
5.7.1.3 Phân loại bộ nhớ
Việc phân loại bộ nhớ có nhiều cách. Xét về cấu trúc của máy tính ta thấy có hai
loại bộ nhớ:
Bộ nhớ trong: gồm có ROM, RAM, đĩa cứng.
Bộ nhớ ngoài: gồm các đĩa mềm, các đĩa CD ROM.
Các thiết bị nhớ đĩa cứng, đĩa mềm và đĩa CD ROM có thể tham khảo trong các
sách nói về cấu trúc máy vi tính. Trong phạm vi giáo trình kỹ thuật số này chúng ta chỉ
đề cập đến các bộ nhớ bán dẫn. Các bộ nhớ này có trong các máy tính điện tử và các
thiết bị điện tử điều khiển số.
Các bộ nhớ bán dẫn chia thành hai loại:
- Bộ nhớ truy cập ngẫu nhiên RAM (Random Access Memory), RAM là bộ nhớ
bán dẫn tác động nhanh có thể ghi số liệu vào và đọc số liệu ra từ RAM ở thời
điểm nào cũng được.
- Bộ nhớ chỉ đọc ra ROM (Read Only Memory) trong đó các dữ liệu đã được các
nhà sản xuất ghi vào và nó chỉ được đọc ra khi dùng.

35
5.7.2. Bộ nhớ chỉ đọc ROM (Read Only Memory)
ROM là bộ nhớ vĩnh viễn, khác với RAM thông tin chứa trong ROM không bị
mất đi khi không còn nguồn điện. Các dữ liệu đã được nạp vào ROM do nhà chế tạo
thực hiện khi sản xuất có thể là các hằng số vật lý, toán học như số , số e, các công
thức toán học khác, các hàm số lượng giác sin, cos, các bộ biến đổi mã, giải mã các ký
tự... dữ liệu cũng có thể là các lệnh điều khiển khởi động máy tính, các chương trình
con điều khiển sự hoạt động của máy tính hay các thiết bị điều khiển tự động. Nó chỉ
dùng để đọc ra trong quá trình vận hành của thiết bị. Trong ROM có hai loại:
PROM (Programmable ROM) là bộ nhớ được chương trình hoá tại nhà máy sản
xuất. Các vi mạch loại PROM là 54/74S188(32x8 bít), 54/74S287(256x4 bít),
54/74S472(512x8 bít).
EPROM (Erasable Programmable ROM) là bộ nhớ có thể lập trình hoá, có thể
xoá và nạp lại được. EPROM có hai loại:
- UV-EPROM (Ultra Violet) bộ nhớ lập trình hoá có thể xoá bằng tia cực tím. Ta
có thể dễ dàng nhận ra loại này từ hình dạng bên ngoài của nó, loại này được
đóng trong vỏ nhựa có cửa sổ tròn trong suốt, qua cửa sổ ta có thể nhìn thấy chíp
bán dẫn bên trong. Nhờ có cửa sổ này ta có thể xoá nội dung thông tin ghi trong
EPROM bằng cách dùng đèn tử ngoại chiếu tia cực tím vào chíp. Bộ nhớ sau khi
xoá có thể lập trình lại. Khi dùng loại EPROM này cần che cửa sổ để tránh ánh
sáng mặt trời rọi vào làm mất thông tin ghi trong mạch. Các vi mạch UV-
EPROM của hãng National Semiconductor: M2708 (1028x8bít), MM2704
(512x8bít).
- E-EPROM (Electrically Programmable and Erasable ROM) bộ nhớ lập trình hoá
xoá bằng xung điện 20V. Các vi mạch thuộc loại này của hãng National
Semiconductor có các ký hiệu sau: MM4203/MM5203 2048 bít (256x8 hoặc
512x4 bít), MM4204/MM5204 4096 bít (512x8 bít).
Một số ứng dụng của ROM:
- Dùng làm bộ nhớ trong máy tính.
- Dùng để thiết kế các mạch tổ hợp: Khi dùng ROM để thiết kế các mạch tổ hợp
ta coi X như địa chỉ vào của ROM và Y như các đầu ra số liệu của ROM. ROM
được sử dụng như bảng tra cứu (theo đúng bảng chân lý của mạch tổ hợp).
- Dùng ROM để thiết kế các mạch dãy đồng bộ và không đồng bộ.
5.7.3. Bộ nhớ truy cập ngẫu nhiên (Random Access Memory)
RAM là bộ nhớ vừa đọc ra vừa ghi được dữ liệu vào. Thông tin chứa trong RAM
sẽ mất khi không còn nguồn điện nuôi nó. Nó được chia ra các loại:

36
- RAM lưu trữ: Dùng CMOS nuôi bằng accur lithium liên tục được 10 năm.
- RAM không lưu trữ: Khi ngắt nguồn điện nuôi các dữ liệu đã nhớ bị xoá, loại
RAM này lại có hai loại:
+ RAM tĩnh (Static): Cấu tạo từ các trigơ lưỡng cực, MOS hoặc CMOS. Ta gọi
là RAM tĩnh vì các dữ liệu sẽ còn nguyên vẹn khi nguồn nuôi còn duy trì.
+ RAM động (Dynamic): Cấu tạo từ các transistor MOS hoặc CMOS có thêm
các tụ điện để lưu trữ số liệu. Vì qua tụ có dòng dò nên theo thời gian điện thế trên tụ
giảm dần số liệu không duy trì được nguyên vẹn mặc dù chưa ngắt nguồn. Để duy trì
được dữ liệu chứa trong RAM động ta phải thường xuyên đưa các xung điện kích nạp
điện cho tụ thao tác này được gọi là “làm tươi” dữ liệu chứa trong RAM.
Các bộ nhớ nói trên được xây dựng từ các ô nhớ (Memory cell) các ô nhớ này có
cấu tạo khác nhau.
Ví dụ:
RAM tĩnh: đơn vị nhớ là 1 trigơ. Trigơ có thể cấu tạo từ transistor lưỡng cực, có
thể từ MOSFET.
RAM động: ô nhớ là MOSFET có sử dụng điện dung của cực cửa (coi như có tụ
C) chứ không mắc theo kiểu trigơ.
ROM: đơn vị nhớ cấu tạo từ transistor lưỡng cực và MOSFET (có thể là diode,
tụ điện).
5.7.3.1. Bộ nhớ RAM tĩnh
Cấu trúc tổng quát RAM tĩnh: Ram được tổ chức dưới dạng một ma trận các ô
nhớ. Mỗi ô nhớ là một trigơ như RS hoặc trigơ D. Để có thể ghi lưu trữ và đọc thông
tin được dễ dàng, các ô nhớ được sắp xếp và định vị theo hàng và cột. Việc truy nhập
vào từng ô nhớ để đọc hoặc ghi thông tin được giải quyết nhờ khối giải mã địa chỉ hàng
và giải mã địa chỉ cột. Theo nguyên tắc tổ chức nêu trên người ta chế tạo các RAM tĩnh
(2n x b ) bít.
RAM có các đầu vào địa chỉ (address), các đầu vào dữ liệu (data), các đầu vào
điều khiển (control) và các đầu ra dữ liệu. Các Ram tĩnh dùng trong máy tính, các
đường dữ liệu vào ra thường kết hợp làm một nhờ dùng các phần tử 3 trạng thái.
5.7.3.2. Bộ nhớ RAM động.
MOSFET có trở kháng vào rất lớn. Người ta thường dùng nó để chế tạo bộ nhớ
RAM động. Nguyên tắc nhớ của các ô nhớ động là thông tin được lưu trữ dưới dạng
điện tích của một tụ điện C, tụ này được tạo thành bởi cực cửa và máng của transitor,
nếu tụ C được nạp điện ta có thông tin bằng 1, còn tụ không được nạp điện ta có thông
tin bằng 0. Vì điện tích trong một tụ điện sẽ giảm dần theo thời gian do trở rò của mạch

37
điện nên để duy trì được thông tin sau một thời gian nhất định (2ms) người ta phải nạp
lại thông tin, tích điện lại cho tụ. Quá trình này được gọi là quá trình làm tươi bộ nhớ
(Refresh).
Để làm tươi bộ nhớ người ta phải đọc thông tin trong bộ nhớ ra đem nạp vào bộ
nhớ đệm rồi từ bộ nhớ đệm lại tiến hành các thao tác ghi lại thông tin vào bộ nhớ RAM
động.
Đặc điểm của RAM động:
- Khi không “đọc” không “viết” hoặc không viết lại, mạch hầu như không tiêu thụ
công suất. Do đó công suất tiêu thụ cực nhỏ.
- Vì chỉ sử dụng ít transistor cho một ô nhớ nên dễ chế tạo mạch có dung lượng
lớn trên diện tích nhỏ.
- Thời gian xâm nhập (at) nhỏ hơn RAM tĩnh.
Nhược điểm: luôn phải refresh, không phù hợp khi ghép với họ TTL.

5.8. CÂU HỎI VÀ BÀI TẬP CHƯƠNG 5


1. Nêu ý nghĩa của trạng thái cấm trong RS - FF? Sử dụng RS - FF có trở ngại gì?
2. Thực hiện chuyển đổi JK-FF sang D-FF.
3. Thực hiện chuyển đổi T-FF sang D-FF.
4. Thực hiện chuyển đổi JK-FF sang T-FF.
5. Xác định dạng sóng tại đầu ra Q của JK-FF kích bằng sườn âm biết dạng sóng đầu
vào ở hình sau, giả thiết ban đầu Q = 0

Clk
Hình 5.54. Tín hiệu vào bài 5
6. Phân biệt bộ đếm đồng bộ và bộ đếm dị bộ.
7. Hãy thiết kế bộ đếm đồng bộ Kđ = 5.
8. Hãy thiết kế bộ đếm đồng bộ Kđ =12 dùng cổng logic NAND và:
- T - FF
- RS - FF
- JK - FF
- D - FF

38
9. Thiết kế bộ đếm thập phân dị bộ.
10. Hãy thiết kế bộ đếm thập phân thuận nghịch.
11. Vẽ biểu đồ thời gian của bộ đếm không đồng bộ:
- Nhị phân 4 bit thuận
- Nhị phân 4 bit nghịch
12. Thiết kế mạch đếm đồng bộ theo chuỗi số đếm sau 000, 010, 101, 110 và lặp lại.
Các số đếm bị bỏ qua 001, 011, 100, 111 phải ở trạng thái 000 ở các xung đồng hồ kế
tiếp.
13. Lặp lại thiết kế ở bài tập trên khi không có bó buộc nào đối với các số đếm bị bỏ
qua, nghĩa là trạng thái ở các xung đồng hồ kế tiếp là “không quan tâm” (X). So sánh
hai kết quả thiết kế.
14. Thiết kế bộ ghi dịch ba bit nối tiếp, dịch phải.
15. Thiết kế mạch tạo dãy dữ liệu tuần hoàn 01111011 sử dụng bộ ghi dịch.
16. Thiết kế bộ đếm thập phân đồng bộ sử dụng bộ ghi dịch.
17. Thiết kế mạch dãy thực hiện việc kiểm tra dãy dữ liệu, biết rằng đầu ra sẽ bằng 1
nếu đầu vào là tổ hợp 011, 001, 101.
18. Cho mạch đếm hình 5.55
PR

PR

PR

1 A 1 B 1 C
T Q T Q T Q
CK
CK CK CK
CLR

CLR

CLR

Q Q Q

Hình 5.55. Sơ đồ mạch bài 18


Hãy vẽ dạng sóng tại A, B, C theo CK và cho biết dung lượng đếm của mạch.
19. Cho mạch đếm hình 5.56

1 A B C
S Q S Q S Q

CK CK CK
0
R Q R Q R Q

CK

Hình 5.56. Sơ đồ mạch bài 19

39
a. Viết hàm kích thích (biểu thức các đầu vào) cho mỗi FF.
b. Vẽ đồ hình trạng thái của bộ đếm.
c. Cho biết hệ số đếm của bộ đếm.
d. Bộ đếm có tự kích được không? Giải thích?
20. Cho mạch đếm hình 5.57

A B
T Q T Q T Q

CK CK CK

Q Q Q

CK

Hình 5.57. Sơ đồ mạch bài 20


a. Viết hàm kích thích (biểu thức các đầu vào) cho mỗi FF.
b. Lập bảng trạng thái chuyển đổi của mạch.
c. Vẽ đồ hình trạng thái của bộ đếm.
d. Bộ đếm có tự kích được không? Giải thích?
21. Cho mạch đếm hình 5.58

A B
T Q T Q

CK CK

Q Q

CK

Hình 5.58. Sơ đồ mạch bài 21


a. Viết hàm kích thích (biểu thức các đầu vào) cho mỗi FF.
b. Lập bảng trạng thái chuyển đổi của mạch.
c. Vẽ đồ hình trạng thái của bộ đếm và cho biết hệ số đếm.
d. Vẽ giản đồ tín hiệu ra, giả sử trạng thái đầu là AB=11.
e. Mạch có cần định trạng thái đầu hay không? Giải thích?
f. Nếu cần xây dựng bộ đếm có Kđ = 12 thì cần ghép nối tiếp thêm bao nhiêu
FF? Có bao nhiêu cách ghép và vẽ mạch kết nối mỗi cách ghép.
22. Cho mạch đếm hình 5.59
a. Viết hàm kích thích (biểu thức các đầu vào) cho mỗi FF.
b. Lập bảng trạng thái chuyển đổi của mạch.
c. Vẽ đồ hình trạng thái của bộ đếm và cho biết hệ số đếm.

40
d. Bộ đếm có tự kích được không? Giải thích?
e. Vẽ giản đồ xung ở đầu ra các FF theo xung CK, biết trạng thái đầu là
ABC=011

A B C
T Q T Q T Q

CK CK CK

Q Q Q

CK

Hình 5.59. Sơ đồ mạch bài 22


23. Ph©n tÝch m¹ch ®iÖn hình 5.60

Hình 5.60. Sơ đồ mạch bài 23


24. Thùc hiÖn chuyÓn ®æi phÇn tö D - FF sang JK - FF sö dông phÇn tö nhí cã s½n vµ
c¸c cæng logic NAND hai ®Çu vµo
25. Cho m¹ch logic hình 5.61:
H·y vÏ d¹ng tÝn hiÖu t¹i Q0, Q1, Q2
theo d·y xung Clock

Hình 5.61. Sơ đồ mạch bài 25


26. ThiÕt kÕ m¹ch d·y, sö dông JK - FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo b¶ng
sau:
Tr¹ng th¸i \ X X=0/Z X=1/Z
A B,1 A,0
B E,0 F,1
C D,0 B,1
D C,1 A,0
E A,1 D,0
F E,0 C,1
27. ThiÕt kÕ m¹ch d·y, sö dông JK - FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo b¶ng
sau:
41
Tr¹ng th¸i \ X X=0/Z X=1/Z
A B,1 A,0
B C,0 D,1
C D,0 B,1
D C,1 A,0

28. ThiÕt kÕ m¹ch d·y, sö dông JK – FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo ®å
h×nh hình 5.62

Hình 5.62. Đồ hình bài 28


29. ThiÕt kÕ m¹ch d·y, sö dông JK - FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo b¶ng
sau:
Tr¹ng th¸i tiÕp theo / ®Çu ra
Tr¹ng th¸i hiÖn t¹i X=0 X=1
A B/1 A/0
B C/0 D/1
C D/0 B/1
D A/1 B/0
30. ThiÕt kÕ m¹ch d·y, sö dông JK - FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo b¶ng
sau:
Tr¹ng th¸i tiÕp theo / ®Çu ra
Tr¹ng th¸i hiÖn t¹i X=0 X=1
000 010 / 0 001 / 0
001 000 / 0 010 / 0
010 001 / 0 100 / 0
100 000 / 1 010 / 1
31. ThiÕt kÕ m¹ch d·y, sö dông JK - FF vµ c¸c cæng logic c¬ b¶n (nÕu cÇn), theo b¶ng
sau:
42
Tr¹ng th¸i tiÕp theo / ®Çu ra
Tr¹ng th¸i hiÖn t¹i X=0 X=1
000 000 / 1 001 / 0
001 000 / 0 011 / 0
011 001 / 0 111 / 0
111 011 / 1 000 / 1

32. Thiết kế mạch tạo dãy tín hiệu tuần hoàn 10110110 sử dụng bộ ghi dịch và các cổng logic
cơ bản.
33. Thiết kế mạch tạo dãy tín hiệu tuần hoàn 10111001 sử dụng bộ ghi dịch và cổng logic
NAND.

43
PHỤ LỤC
Phụ lục A: Các vi mạch cổng và FF thông dụng
1 2 3 4 5 6 9 8 11 10 13 12

74LS04 74LS04 74LS04 74LS04 74LS04 74LS04

1 4 9 12
3 6 8 11
2 5 10 13

74LS08 74LS08 74LS08 74LS08

1 4 9 12
3 6 8 11
2 5 10 13

74LS00 74LS00 74LS00 74LS00

1 4 9 12
3 6 8 11
2 5 10 13

74LS32 74LS32 74LS32 74LS32

2 5 8 11
1 4 10 13
3 6 9 12

74LS02 74LS02 74LS02 74LS02

1 4 9 12
3 6 8 11
2 5 10 13

74LS86 74LS86 74LS86 74LS86


10
4

2 5 12 9
PR

PR

D Q D Q
3 11
CLK CLK
6 8
CL

CL

Q Q
74LS74 74LS74
13
1

11
5

2 6 14 10
PR

PR

J Q J Q
4 12
CLK CLK
3 7 13 9
CL

CL

K Q K Q
74LS109 74LS109
15
1

10
4

3 5 11 9
PR

PR

J Q J Q
1 13
CLK CLK
2 6 12 7
CL

CL

K Q K Q
74LS112 74LS112
15

14

44
Phụ lục B: Các vi mạch tổ hợp thông dụng
Mạch giải mã (decoder) 2 - 4, 3 - 8, 4 – 16.
1
2 4 0 2
3 A Y0 5 1 3
B Y1 6 1 15 2 4
1 Y2 7 2 A Y0 14 3 5
G Y3 3 B Y1 13 4 6
C Y2 12 23 5 7
74LS139
Y3 11 22 A 6 8
6 Y4 10 21 B 7 9
14 12 4 G1 Y5 9 20 C 8 10
13 A Y0 11 5 G2A Y6 7 D 9 11
B Y1 10 G2B Y7 10 13
15 Y2 9 11 14
74LS138
G Y3 12 15
18 13 16
74LS139
19 G1 14 17
G2 15
74LS154

Mạch mã hóa (encoder) có ưu tiên 8 - 3, 10 – 4.


10 9 11
11 0 A0 7 12 1
12 1 A1 6 13 2
13 2 A2 1 3 9
1 3 14 2 4 A 7
2 4 GS 3 5 B 6
3 5 4 6 C 14
4 6 5 7 D
7 10 8
5 15 9
EI EO
74LS147
74LS148

Mạch MUX 8 - 1, 4 - 1, 2 – 1.
4 6 6 7 2 4
3 D0 W 5 1C0 1Y 3 1A 1Y
2 D1 5 4 1C1 5 1B 7
1 D2 Y 3 1C2 6 2A 2Y
15 D3 1C3 11 2B 9
14 D4 10 9 10 3A 3Y
13 D5 11 2C0 2Y 14 3B 12
12 D6 12 2C1 13 4A 4Y
D7 13 2C2 4B
11 2C3 1
10 A 14 15 A/B
9 B 2 A G
7 C 1 B
74LS157
G 15 1G
2G
74LS151
74LS153

Mạch DEMUX 1- 4
13 7
3 A 1Y 0 6
B 1Y 1 5
2 1Y 2 4
1 1G 1Y 3 9
1C 2Y 0 10
14 2Y 1 11
15 2G 2Y 2 12
2C 2Y 3
74LS155

Mạch cộng nhị phân 4 bit


10 9
8 A1 S1 6
3 A2 S2 2
1 A3 S3 15
A4 S4
11
7 B1
4 B2
16 B3
B4
13 14
C0 C4
74LS83

Mạch so sánh 4 bit, 8 bit

45
2 19
4 P0 P=Q
10 6 P1 1
12 A0 8 P2 P>Q
13 A1 11 P3
15 A2 13 P4
9 A3 15 P5
11 B0 17 P6
14 B1 P7
1 B2 3
2 B3 7 5 Q0
3 A<Bi A<Bo 6 7 Q1
4 A=Bi A=Bo 5 9 Q2
A>Bi A>Bo 12 Q3
14 Q4
74LS85
16 Q5
18 Q6
Q7
74LS682

Mạch tạo/kiểm tra parity


8 5
9 A EVEN
10 B 6
11 C ODD
12 D
13 E
1 F
2 G
4 H
I
74LS280

Mạch chuyển mã BCD - mã LED 7 đoạn anode chung


7 13
1 1 A 12
2 2 B 11
6 4 C 10
4 8 D 9
5 BI/RBO E 15
3 RBI F 14
LT G
74LS47

Mạch đệm 8 bit


2 18 2 18
4 1A1 1Y 1 16 3 A1 B1 17
6 1A2 1Y 2 14 4 A2 B2 16
8 1A3 1Y 3 12 5 A3 B3 15
11 1A4 1Y 4 9 6 A4 B4 14
13 2A1 2Y 1 7 7 A5 B5 13
15 2A2 2Y 2 5 8 A6 B6 12
17 2A3 2Y 3 3 9 A7 B7 11
2A4 2Y 4 A8 B8
1 19
19 1G 1 G
2G DIR
74LS244 74LS245

46
Phụ lục C: Các vi mạch tuần tự thông dụng
Mạch đếm nhị phân 4 bit đồng bộ
1 3 13 11
A QA 4 A QA 10
QB 5 QB 9
2 QC 6 12 QC 8
CLR QD CLR QD
74LS393 74LS393

3 14
4 A QA 13
5 B QB 12
6 C QC 11
D QD 15
7 RCO
10 ENP
2 ENT
9 CLK
1 LOAD
CLR
74LS163

Mạch đếm lên/xuống đồng bộ nhị phân 4 bit


15 3
1 A QA 2
10 B QB 6
9 C QC 7
D QD
5 12
4 UP CO 13
11 DN BO
14 LOAD
CLR
74LS193

UP DN LOAD CLR Chức năng


H H L Đếm lên
H H L Không đếm
H H L Đếm xuống
H H L Không đếm
x x L L Nhập dữ liệu vào
x x x H Reset về 0

Mạch đếm mod 10 (mod 2 và mod 5)


14 12
1 A QA 9 1 3 15 13
B QB 8 4 CKA QA 5 12 CKA QA 11
QC 11 CKB QB 6 CKB QB 10
2 QD 2 QC 7 14 QC 9
3 R0(1) CLR QD CLR QD
6 R0(2)
74LS390 74LS390
7 R9(1)
R9(2)
74LS90

Mạch đếm mod 12 (mod 2 và mod 6)


14 12
1 A QA 11
B QB 9
QC 8
6 QD
7 R0(1)
R0(2)
74LS92

Mạch đếm mod 16 (mod 2 và mod 8)

47
14 12
1 A QA 9
B QB 8
QC 11
2 QD
3 R0(1)
R0(2)
74LS93

Thanh ghi dịch PIPO


3 2
4 D1 Q1 5
6 D2 Q2 7
11 D3 Q3 10
13 D4 Q4 12
14 D5 Q5 15
D6 Q6
9
1 CLK
CLR
74LS174

Thanh ghi dịch SIPO


1 3
2 A QA 4
B QB 5
QC 6
QD 10
8 QE 11
CLK QF 12
9 QG 13
CLR QH
74LS164

Thanh ghi dịch PISO


10
11 SER
12 A
13 B
14 C
3 D
4 E
5 F
6 G 9
H QH
2 7
15 CLK QH
1 INH
SH/LD
74LS165

Thanh ghi dịch trái/ phải PIPO


2
3 SR 15
4 A QA 14
5 B QB 13
6 C QC 12
7 D QD
SL
11
9 CLK
10 S0
1 S1
CLR
74LS194

Mạch chốt 8 bit


3 2 3 2 11
4 D0 Q0 5 4 D0 Q0 5 1 C
7 D1 Q1 6 7 D1 Q1 6 OC
8 D2 Q2 9 8 D2 Q2 9 2 19
13 D3 Q3 12 13 D3 Q3 12 3 D1 Q1 18
14 D4 Q4 15 14 D4 Q4 15 4 D2 Q2 17
17 D5 Q5 16 17 D5 Q5 16 5 D3 Q3 16
18 D6 Q6 19 18 D6 Q6 19 6 D4 Q4 15
D7 Q7 D7 Q7 7 D5 Q5 14
1 1 8 D6 Q6 13
11 OC 11 OC 9 D7 Q7 12
G CLK D8 Q8
74LS373 74LS374
74LS573

48
TÀI LIỆU THAM KHẢO
1. Nguyễn Thuý Vân, Kỹ thuật số, Nhà xuất bản khoa học kỹ thuật - 1999
2. Nguyễn Hữu Phương, Mạch số, Nhà xuất bản thống kê - 2001
3. Đặng Văn Chuyết, Điện tử số, Nhà xuất bản giáo dục - 2000
4. Vũ Đức Thọ (dịch), Cơ sở kỹ thuật điện tử số, Nhà xuất bản giáo dục - 2001
5. Huỳnh Đắc Thắng, Kỹ thuật số thực hành, Nhà xuất bản giáo dục - 2001
6. Nguyễn Xuân Quỳnh, Lý thuyết mạch logic và kỹ thuật số, Nhà xuất bản đại học
7. Donald G.Fink, Donald Christiansen, Sổ tay kỹ sư điện tử, Nhà xuất bản khoa học và
kỹ thuật - 2002

49

You might also like