You are on page 1of 32

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
1 1 0 00 t5 t4 t 3 t2 t1
X1
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ệ.

1
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


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à:
2
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
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:

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

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 X1 X2 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 X1 X 2 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

4
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
Đồ 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 Sj/Yj

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

5
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 ).
+ Đồ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

6
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).
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

7
* 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ộ

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ộ

8
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 D - FF
0 1 0 Q
1 0 1
1 1 1 Hình 5.15. Kí hiệu D - FF

0 1
Đồ hình trạng thái của D - FF (hình 5.16). 1
0 1
Phương trình đặc trưng: 0
Qn + 1 = D 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

9
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.
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
SR 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

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

11
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

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

12
- 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.
- 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 = Q 1 Q 2
T2 = Q 1 T4 = Q 1 Q 2 Q 3
+ 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 Q n

13
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
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.

14
5.4. 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.
5.4.1. Khái niệm và phân loại
5.4.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.27. Sơ đồ khối của bộ đếm


5.4.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.28. Đồ 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.
15
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.4.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
+ 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:

16
+ 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.
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.4.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.

17
5.4.3. Bộ đếm thuận, đồng bộ, mã nhị phân với Kđ = 2n
Kđ = 2, 4, 8, 16...
5.4.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.

So S1

Hình 5.29. Đồ 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.30. 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.4.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.31. Đồ 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 SA 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

18
Nếu sử dụng JK – FF ta có:
JB = KB = 1
JA = KA = B

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

KB B KA A

CLK
Hình 5.32. Sơ đồ logic của bộ đếm thuận Kđ = 4
5.4.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.4.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.33. Đồ 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 JA KA JB KB
00 11 1X 1X
01 00 0X X1
10 01 X1 1X
11 10 X0 X1

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

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

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

KB B KA A

CLK

Hình 5.34. 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.4.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.35. Đồ 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:

20
R S tn tn+1
AB AB JA KA 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
JA = KA = B  R
R
“1” JB B  JA A
Sơ đồ logic:
KB B KA A

CLK
Hình 5.36. Sơ đồ logic bộ đếm thuận nghịch Kđ = 4
5.4.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

Hình 5.37. Đồ hình trạng thái của bộ đếm thập phân thuận đồng bộ

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

S Q4 Q3 Q2 Q1 Q4 Q3 Q2 Q1 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:
J1 = K1 = 1

J2 = Q4 Q1 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.38. Sơ đồ logic bộ đếm thập phân thuận, đồng bộ

22
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.4.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

CLK
CLK1 Q1 CLK2 Q2 CLK3 Q3

Hình 5.39. 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.40. Giản đồ thời gian của bộ đếm nhị phân không đồng bộ Kđ = 8

23
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.5. BỘ GHI DỊCH
5.5.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.5.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.41).
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ó).

24
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.41. 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.5.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.42).
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.
25
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.42. Bộ ghi dịch vào song song, ra song song

5.5.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.43. Đồ 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.44).

26
001 011
010
000 111
101
100 110

Hình 5.44. Đồ 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.45).
0001 0011 0111

0010 1011
0101

0000 1001 0110 1111

1010
0100 1101

1000 1100 1110

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


5.5.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 (f ht) 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.

27
Hàm hồi tiếp

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

CLK

Hình 5.46. 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.47. Đồ 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 Q3 Q2 Q1 fht fht Q2 Q 1
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

28
- Sơ đồ logic:

fht

J1 Q1 J2 Q2 J3 Q3

K1 Q1 K 2 Q2 K 3 Q3
CLK

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


5.5.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.49. Đồ 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

29
- Xác định biểu thức của hàm hồi tiếp và hàm ra:
S Q3 Q2 Q1 fht fra fht
S0 0 0 0 1 1 Q 2 Q1
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 Q 2 Q1
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.50).

fht

J1 Q1 J2 Q2 J3 Q3

K1 Q1 K 2 Q2 K 3 Q3
CLK

fra

Hình 5.50. Sơ đồ logic mạch tạo dãy tín hiệu tuần hoàn dùng bộ ghi dịch

30
5.7. CÂU HỎI VÀ BÀI TẬP
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.51. 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
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.

31
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.52

1 A B C
S Q S Q S Q

CK CK CK
0
R Q R Q R Q

CK

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


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?
19. Cho mạch đếm hình 5.53

A B
T Q T Q T Q

CK CK CK

Q Q Q

CK

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


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?
20. 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.

32

You might also like