Professional Documents
Culture Documents
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)
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
00/0 11/1
11/0
S0 S1
00/1
01, 10 01, 10 11
đế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
Q
R
Hình 5.10. Sơ đồ logic của SR - FF
Giản đồ thời gian (hình 5.11)
S
R
Q
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ộ
CLK
S
R
Q
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.
J Q 0X X0
1X
JK - FF 0 1
K Q X1
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 QnQn+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
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
S = J Qn
Sơ đồ logic:
R Qn
K
J S Qn
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
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ó:
- 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.
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
Xđ / 0 Xđ / 0 Xđ / 0 Xđ / 0
Xđ/ 1
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
S = Qn ; R = Qn R Qn
Xđ
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
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)
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
J2 = K2 = Q1
J3 = K3 = Q1 Q2
...
Jn = Kn = Q1 Q2 Q3 ... Qn-1
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
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
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:
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*
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
“1” “1”
“1”
T1 Q1 T2 Q2 T3 Q3
CLK
CLK1 Q1 CLK2 Q2 CLK3 Q3
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
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
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
26
001 011
010
000 111
101
100 110
0010 1011
0101
1010
0100 1101
27
Hàm hồi tiếp
J Q J Q J Q
…..
K Q K Q K Q
CLK
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
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
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
A B
T Q T Q T Q
CK CK CK
Q Q Q
CK
32