Professional Documents
Culture Documents
Trang chủ
Mạch tổ hợp Mạch tuần tự Bộ nhớ bán dẫn Op-Amps ADC/DAC Trang chính
Các họ IC số
Ở phần trước ta đã biết rằng những mạch đếm không đồng bộ khi có nhiều tầng
FF sẽ tích luỹ nhiều trì hoãn truyền của mỗi tầng làm cho nó lớn hơn cả chu kì
đếm xung khiến toàn mạch có thể hoạt động sai logic nhất là khi hoạt động ở tần
số cao. Như ở mạch đếm bốn bit chia 2 đã nói ở trước : khi số đếm tăng từ 1110
lên 1111 chỉ cần chờ ngõ ra của FF 0 thay đổi nên chỉ mất 1tD. Khi số đếm tăng từ
1011 lên 1100 đòi hỏi ba FF chuyển mạch liên tiếp nên sẽ phải mất 3tD. Trường
hợp nữa khi số đếm tự động reset về 0000 thì cả 4 FF đều chuyển trạng thái do
đó trì hoãn truyền sẽ là 4tD. Có thể khắc phục những giới hạn này bằng việc sử
dụng bộ đếm đồng bộ hay còn gọi là bộ đếm song song bởi vì tất cả các tầng đều
được kích bởi cùng một xung nhịp Ck đầu vào. Khi đó các FF chuyển mạch cùng
một lúc khiến thời gian trì hoãn của mạch đếm bằng trì hoãn truyền của một FF
bất kể số tầng. Để đảm bảo hoạt động đúng, một số cổng logic được thêm vào để
khống chế ngõ vào J, K (T). Trước hết là mạch đếm chia 16.
Bảng trạng thái và dạng sóng đếm lên của mạch đếm đồng bộ hoàn toàn giống
như ở mạch đếm không đồng bộ do đó ta sẽ dựa vào chúng để xác định xem
mạch hoạt động như thế nào.
Cũng cần lưu ý là ở đây ta xây dựng mạch đếm lên mod 16 với 4 FF JK có xung Ck
tác động cạnh xuống. Ta cũng có thể làm mạch tương tư, với xung ck tác động
cạnh lên hay sử dụng FF T thay cho FF JK.
Để mạch đếm đúng, ở mỗi xung kích ck tác động cạnh xuống, chỉ có FF nào dự
kiến sẽ lật trạng thái mới phải để T = 1(J, K được nối chung với nhau và được coi
như là ngõ chung T). Nhìn vào bảng trạng thái hoạt động của bộ đếm lên ta sẽ
thấy được cần phải kết nối như thế nào
- Ngõ ra Q0 sẽ thay đổi trạng thái theo cạnh xuống của xung kích ck do đó ngõ T0
được để trống (mức cao).
- Ngõ ra Q1 đổi trạng thái khi có xung kích xuống Q0 do đó Q0 được đưa thẳng
vào ngõ T1
- Ngõ ra Q2 đổi trạng thái khi đếm đến số 4, 8, 12, 0, lúc này thì Q0 và Q1 đều
xuống thấp; vậy ngõ vào T2 sẽ là And của hai ngõ vào này
- Ngõ ra Q3 đảo trạng thái khi số đếm là 8 và 0 khi này Q0, Q1, Q2 đều tác dụng
cạnh xuống, vậy ngõ vào T3 sẽ là And của 2 ngõ vào này
Vậy mỗi FF đều phải có đầu vào T được nối sao cho chúng ở mức cao chỉ khi nào
đầu ra của các FF trước nó ở mức cao.
T0 = 1
T1 = Q0
T2 = Q1.Q2
T3 = Q0.Q1.Q2
và từ đây mạch được kết nối với hai cổng And được thêm vào
Trì hoãn truyền của mạch đếm sẽ bằng trì hoãn truyền qua một FF cộng với trì
hoãn truyền qua các cổng and. Với mạch đếm đã khảo sát ở trên số tầng là n = 4,
số cổng and phải dùng thêm là n – 2 = 2 nhưng thời gian cũng chỉ trì hoãn trên
một cổng and thôi nên trì hoãn truyền tổng cộng là :
tD = tD(FF) + tD(and)
Do trì hoãn truyền của cổng and thì nhỏ hơn nhiều so với trì hoãn truyền của FF
nên thời gian này nhỏ hơn so với thời gian tương ứng của mạch đếm không đồng
bộ. Điều này còn có ích hơn khi trong mạch có rất nhiều tầng FF và mạch phải
hoạt động ở tần số cao. Đây là điểm nổi bật của nó so với mạch đếm không đồng
bộ nhưng rõ ràng nó sẽ phải có cấu tạo phức tạp hơn
Ví dụ :
Hãy xem tần số hoạt động lớn nhất của mạch trên (fmax) khi tD(FF) = 50ns,
tD(and) = 20ns và so sánh nó với fmax của mạch đếm không đồng bộ cùng số bit
Ta có trì hoãn truyền tổng cộng của mạch là tD = 50 + 20 = 70(ns). Chu kì xung
nhịp ck đầu vào Tck phải lớn hơn 70 ns này do đó
Như vậy rõ ràng bộ đếm song song hoạt động được ở tần số cao hơn hẳn
Bây giờ giả sử cần làm mạch mod 32 từ mod 16, thì ta sẽ phải mắc thêm 1 tầng
FF thứ 5. Trì hoãn truyền của đếm song song sẽ vẫn là 70ns suy ra fmax =
14,3MHz. Còn với bộ đếm không đồng bộ thì do có thêm 1 tầng nên fmax =
1/5.50ns = 4MHz, tần số này bị giảm hẳn đi.
Ở hình 3.3.17 ở trên là mạch đếm đồng bộ lên, ta có thể xây dựng mạch đếm
đồng bộ xuống giống như cách đã làm với mạch đếm không đồng bộ tức là dùng
các đầu ra đảo của FF để điều khiển các đầu vào T của tầng kế tiếp. Như vậy với
mạch đếm xuống mod 16 thì đầu ra Q sẽ được nối tới T1, T2, T3 và bộ đếm sẽ
đếm xuống từ 15, 14, 13,… rồi về 0 để reset trở lại 15.
Bây giờ thêm 1 ngõ điều khiển chế độ đếm giống như bên mạch đếm lên xuống
không đồng bộ ta đã có mạch đếm lên xuống đồng bộ. K = 1(up) đếm lên, K =
0(down) đếm xuống. Mạch được xây dựng như hình sau (lưu ý xung ck tác động
cạnh lên)
Hình 3.3.18 Mạch đếm đồng bộ lên hay xuống
Để thiết kế mạch đếm mod m bất kì từ mạch đếm mod 2n (m <= 2n) ta có thể
dùng ngõ clear để xoá mạch khi đếm đến số m, cách khác là nhìn vào giản đồ
xung để thử nghiệm việc nối các đầu vào J, K. Ở đây ta sẽ xét đến mạch đếm mod
10 hay dùng
Ngoài xung ck được đưa vào tất cả 4 tầng FF thì cần phải giải quyết các ngõ J, K
Để ý là khi mạch đếm đến số 10 thì Q0 = 0 và Q2 = 0 không đổi trạng thái khi
reset về 0 nên FF 0 và FF 2 được kích bình thường như đã nói.
Còn với FF 1, Q1 đổi trạng thái khi Q0 ở cao đồng thời Q1 phải được giữ luôn
mức thấp ở số đếm thứ 10, khi này có thể tận dụng đang ở cao cho tới khi reset,
vậy J1 = K1 = Q0.
Kiểm tra lại thấy rằng mạch đúng là hoạt động đếm chia 10. Bạn có thể xem phần
thiết kế mạch đếm đồng bộ ở sau để hiểu rõ cách nối mạch, còn đây là cấu trúc
mạch mô tả:
Hình 3.3.19 Mạch đếm mod 10 đồng bộ
Nhiều bộ đếm song song ở dạng IC tích hợp được thiết kế để có khả năng nạp
trước số cần đếm thay vì 0 như ta thường thấy. Số đặt trước là bất kì trong những
số có thể ra của mạch và mạch có thể đếm lên hay đếm xuống 1 cách đồng bộ
hay không đồng bộ từ số này.Việc này giống như là nạp song song ở ghi dịch vậy,
bằng cách tận dụng ngõ Cl và Pr (ngõ không đồng bộ độc lập với ck). Cấu trúc
mạch với 3 tầng FF được minh hoạ như hình và hoạt động nạp được thực hiện như
sau:
hình 3.3.20 Mạch đếm đặt trước 3 bit
Đặt một xung mức thấp vào đầu LD (parallel load), xung này sẽ cho phép trạng
thái logic ABC qua cổng Nand để đưa vào 3 tầng FF qua 3 ngõ Pr hay Cl (tuỳ
thuộc bit mức thấp hay cao). Kết quả là Q0 = A, Q1 = B, Q2 = C
Khi LD lên cao trở lại, lúc này nếu có xung nhịp Ck thì mạch sẽ tiếp tục đếm từ số
vừa nạp (trước đó ck và các ngõ T không có tác dụng).
Nhóm 74LS160/161/162/163
Cả 4 IC đều có cùng kiểu chân và các ngõ vào ra tương tự nhau; có xung ck nảy ở
cạnh xuống do trong cấu tạo có thêm mạch đệm sau ngõ đồng bộ; có khả năng
nạp song song; preset đồng bộ; có thể nối chồng nhiều IC để có số mod lớn hơn
nhiều do có
- LS160 và LS161 có chân xoá Cl không đồng bộ còn LS161, LS163 có chân xoá Cl
đồng bộ
74LS190 là mạch đếm chia 10 còn 74LS191 là mạch đếm chia 16. Chúng có kiểu
chân ra như nhau và chức năng cũng như nhau
- Chân EnG (enable gate) là ngõ vào cho phép tác động ở thấp; chân U/D là ngõ
cho phép đếm lên hay xuống (thấp)
- Chân RC (ripple clock) xung rợn sẽ xuống thấp khi đếm hết số; được dùng cho
việc nối tầng và xác định tần số của xung max/min khi nối tới chân LD (load) của
tầng sau.
Cách nối tầng như sau : chân RC của tầng trước nối tới chân ck của tầng sau, khi
này tuy mỗi mạch là đếm đồng bộ nhưng toàn mạch là đếm bất đồng bộ. Cách
khác là chân RC của tầng trước nối tới chân EnG của tầng sau, xung ck dùng đồng
bộ tới các tầng.
Cả 2 loại đều cấu trúc chân như nhau và đều có khả năng đếm lên hay xuống
Khi đếm lên xung ck được đưa vào chân CKU còn khi đếm xuống xung ck được
đưa vào chân CKD
Khi đếm lên hết số chân Carry xuống thấp, khi đếm xuống hết số chân Borrow
xuồng thấp. 2 chân này dùng khi cần nối tầng nhiều IC
Đặc biệt mạch có thể đặt trước số đếm ban đầu ở các chân ABCD và chân LD
xuống thấp để cho phép nạp số ban đầu.
Đây là 2 IC đếm đồng bộ họ CMOS dùng FF D về hoạt động cũng tương tự như
những IC kể trên nhưng vì cấu tạo cơ bản từ các cổng logic CMOS nên tần số hoạt
động thấp hơn so với những IC cùng loại bù lại tiêu tán công suất thấp.
Chân nhận xung ck và chân cho phép E có thể chuyển đổi chức năng cho nhau do
đó mạch có thể tác động cạnh xuống hay cạnh lên
Mạch cũng cho phép nối tầng nhiều IC khi nối Q3 của tầng trước tới ngõ E của
tầng sau.