I.GIỚI THIỆU
Ở 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.
22.1) Đếm lên chia 16
Nối dây như thế nào …?
Hình 3.3.16 Mạch đếm lên đồng bộ mod 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
Hình 3.3.17 Mạch đếm lên đồng bộ mod 16
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 fmaxcủ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 đó
fmax = 1/70ns = 14,3MHz
Bây giờ với bộ đếm mod 16 không đồng bộ
fmax = ¼.50ns = 5MHz
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.
22.2) Đếm đồng bộ lên xuống
Ở 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
22.3) Đếm đồng bộ không theo hệ nhị phân
Để 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.
Sau cùng với FF 3 Q3 sẽ được reset về 0 khi cả 3 Q0Q1Q2 đều về 0. Vậy J3 = K3 = Q0Q1Q2
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ộ
2.4) Đếm đặt trước số đếm
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
Giả sử mạch đang đếm hay dừng ở 1 số đếm nào đó
Đưa sẵn số đếm có trạng thái cần nạp vào ngõ A B C
Đặ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).
22.5) Một số IC đếm đồng bộ
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, LS161 là IC đếm chia 10 còn LS161 và LS163 là đếm chia 16
- LS160 và LS161 có chân xoá Cl không đồng bộ còn LS161, LS163 có chân xoá Cl đồng bộ
Nhóm 74190, 74191
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.
Nhóm 74LS192, LS193
LS192 là mạch đếm chia 10 còn LS193 là mạch đếm chia 16
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.
Nhóm 74HC/HCT4518 và 74HC/HCT4520
Đâ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.
4518 là IC đếm chia 10 còn 4520 là IC đếm chia 16
Cấu trúc chân và đặc tính của chúng như nhau
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.