Kĩ thuật số - Chương 5: Mạch tuần tự

pdf 21 trang vanle 4201
Bạn đang xem 20 trang mẫu của tài liệu "Kĩ thuật số - Chương 5: Mạch tuần tự", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfki_thuat_so_chuong_5_mach_tuan_tu.pdf

Nội dung text: Kĩ thuật số - Chương 5: Mạch tuần tự

  1. Giáo trình Kỹ Thuật Số CHƯƠNG 5: MẠCH TUẦN TỰ 9 FLIPFLOP • FF RS • FF JK • FF T • FF D 9 MẠCH GHI DỊCH 9 MẠCH ĐẾM • Đồng bộ • Không đồng bộ • Đếm vòng I. GIỚI THIỆU Trong chương trước, chúng ta đã khảo sát các loại mạch tổ hợp, đó là các mạch mà ngã ra của nó không phụ thuộc vào trạng thái trước đó của mạch. Nói cách khác, nó là loại mạch không có khả năng nhớ, một chức năng quan trọng của hệ thống logic. Trong chương này, ta sẽ xét loại mạch thứ 2 là mạch tuần tự. - Mạch tuần tự là mạch có ngã ra không những phụ thuộc vào các trạng thái ngã vào mà còn phụ thuộc vào trạng thái ngã ra trước đó. Ta nói mạch tuần tự có tính nhớ. Ngã ra Q+ của mạch tuần tự là hàm logic của các biến ngã vào A, B, C, và ngã ra Q trước đó. Nghĩa là: Q+ = f(Q,A,B,C, ) - Mạch tuần tự vận hành dưới tác động của xung đồng hồ và được chia làm 2 loại: Đồng bộ và Không đồng bộ. Ở mạch đồng bộ, các phần tử chịu tác động đồng thời của xung đồng hồ (CK) và ở mạch không đồng bộ thì không có điều kiện này. - Phần tử cơ bản cấu thành mạch tuần tự là các Flipflop. II. FLIPFLOP 1. Giới thiệu Mạch flipflop (FF) là mạch đa hài lưỡng ổn tức mạch tạo ra sóng vuông và có 2 trạng thái cân bằng. Trạng thái cân bằng của FF chỉ thay đổi khi có xung đồng hồ tác động. Một FF thường có một hoặc nhiều ngã vào, và hai ngã ra. Tính nhớ của FF được thể hiện ở điểm: Trạng thái của FF vẫn được giữ nguyên mặc dù sự tác động ngã vào đã chấm dứt. Hai ngã ra của FF thường được ký hiệu là Q (ngã ra chính) và Q (ngã ra phụ). Người ta thường chỉ trạng thái của FF bởi ngã ra chính của nó. Nếu hai ngã ra có trạng thái giống nhau ta nói FF ở trạng thái cấm. FF có thể tạo nên từ các mạch chốt (latch). Điểm khác biệt giữa một mạch chốt và một FF là: FF chịu tác động của xung đồng hồ còn mạch chốt thì không. Người ta gọi tên các FF khác nhau bằng cách dựa vào tên các ngã vào của chúng. Chủ biên Võ Thanh Ân Trang 52
  2. Tổ Tin Học 2. Chốt RS a. Chốt RS tác động cao Dưới đây là chốt RS có ngã vào R và S tác động ở mức cao. R Q Q S Hình: Chốt RS tác động mức cao. Các trạng thái logic của mạch được biễu diễn trong bảng dưới đây. R S Q Q+ R S Q+ 0 0 0 0 0 0 Q Tác dụng nhớ 0 0 1 1 0 1 1 0 1 0 1 1 0 0 Đặt (Set) 0 1 1 1 1 1 Cấm 1 0 0 0 Từ bảng bên, ta Đặt lại (Reset) 1 0 1 0 tóm tắt lại hoạt 1 1 0 0 động của chốt RS Q =Q (Cấm) 1 1 1 1 + + trong bảng trên. Từ bảng trên, ta tóm tắt hoạt động của RS như sau: - Khi R = S = 0, ngã ra không đổi trạng thái. - Khi R = 0 và S = 1, chốt được Set (tức đặt Q+ = 1). - Khi R = 1 và S = 0, chốt được Reset (tức đặt Q+ = 0). - Khi R = S = 1, chốt rơi vào trạng thái cấm. b. Chốt RS tác động thấp Dưới đây là chốt RS có ngã vào R và S tác động ở mức thấp. S R Q+ 0 0 Cấm S Q 0 1 1 1 0 0 Q 1 1 Q R Hình: Chốt RS tác động mức thấp. Để có chốt RS tác động mức cao dùng cổng NAND, người ta thêm hai cổng đảo ở các ngõ vào của mạch. S Q R Q Hình: Chốt RS tác động mức cao. Trang 53 Chủ biên Võ Thanh Ân
  3. Giáo trình Kỹ Thuật Số S Q S Q R Q R Q Hình: Ký hiệu chốt RS tác động mức cao và RS tác động thấp. 3. FlipFlop RS a. Cấu trúc tổng quát FlipFlop RS Trong các phần dưới đây, ta sử dụng chốt RS tác động mức cao dùng cổng NAND. Khi thêm ngã vào xung CK cho chốt RS ta được FF RS. Dưới đây là bảng sự thật FF RS có các ngã vào R, S và xung đồng hồ CK đều tác động mức cao. Vào Ra CK S R Q+ S 0 × × Q Q 1 0 0 Q 1 0 1 0 CK Q 1 1 0 1 R 1 1 1 Cấm Hình: FF RS tác động mức cao. Để có FF xung đồng hồ tác động mức thấp, ta thêm một cổng đảo cho ngã vào CK. Ta được bảng sự thật giống như trên, ngoại trừ ngã vào CK đảo ngược lại. Vào Ra CK S R Q+ S 1 × × Q Q 0 0 0 Q 0 0 1 0 CK Q 0 1 0 1 R 0 1 1 Cấm Hình: FF RS có CK tác động mức thấp. b. FlipFlop RS có ngã vào Preset và Clear Tính chất của FF là có ngã ra bất kỳ khi mở máy. Trong nhiều trường hợp ta cần đặt trước ngã ra Q=1 hoặc Q=0, muốn thế, người ta thêm vào FF các ngã vào Preset (Q=1) và Clear (Q=0). Dưới đây là dạng mạch và ký hiệu của FF RS có ngã vào Preset và Clear. Pr S Q S Pr Q CK CK R Q R Cl Q Cl Hình: FlipFlop RS có ngã vào Preset và Clear. Chủ biên Võ Thanh Ân Trang 54
  4. Tổ Tin Học Bảng sự thật của FF RS có Preset và Clear tác động thấp. Pr Cl CK S R Q+ 0 0 × × × Cấm 0 1 × × × 1 1 0 × × × 0 1 1 0 × × Q 1 1 1 0 0 Q 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 Cấm c. FlipFlop RS chủ tớ Kết nối thành chuỗi hai FF RS với các ngã vào xung CK của 2 FF có mức tác động ngược nhau, ta được FF chủ tớ. Với cách mắc này, mạch thoát khỏi trạng thái cấm (nhưng vẫn rơi vào trạng thái bất định) đồng thời có xung CK tác động bằng cạnh. S’ S Q CKS CKM Q R R’ Hình: Sơ đồ FF RS chủ tớ. Hoạt động của FF được giải thích như sau: Do CKS của tầng tớ là đảo của CKM của tầng chủ, nên khi CKM = 1, tầng chủ giao hoán và tầng tớ ngưng. Trong khoảng thời gian này, dữ liệu ngã vào R và S được đưa ra và đã ổn định ở ngã ra R’ và S’, tại thời điểm xung CK xuống thấp, R’ và S’ được truyền đến ngã ra Q và Q . Ngã ra giao hoán CKM CKS Hình: Vị trí xảy ra giao hoán. Đối với trường hợp R = S = 1 khi CKM = 1 thì R’ = S’ = 1, nhưng khi CK xuống thấp thì một trong hai ngã ra này xuống thấp, do đó mạch thoát khỏi trạng thái cấm, nhưng S’ hay R’ xuống thấp trước thì không đoán trước được nên mạch rơi vào trạng thái bất định, nghĩa là Q+ có thể bằng 1 có thể bằng 0, nhưng khác Q + . Ta có bảng sự thật như sau: S R CK Q+ 0 0 ↓ Q 0 1 ↓ 0 1 0 ↓ 1 1 1 ↓ Bất định Trang 55 Chủ biên Võ Thanh Ân
  5. Giáo trình Kỹ Thuật Số 4. FlipFlop JK FF JK được tạo từ FF RS theo sơ đồ sau: J S Pr Q J Pr Q C C K K K R Cl Q K Cl Q Hình: Cấu tạo FF JK có ngã vào Pr và Cl tác động thấp. Bảng sự thật của FF JK. J K Q Q S = J Q R = KQ CK Q+ 0 0 0 1 0 0 ↓ Q 0 0 1 0 0 0 ↓ Q 0 1 0 1 0 0 ↓ Q=0 0 1 1 0 0 1 ↓ 0 1 0 0 1 1 0 ↓ 1 1 0 1 0 0 0 ↓ Q=1 1 1 0 1 1 0 ↓ 1 1 1 1 0 0 1 ↓ 0 Từ bảng trên, ta có thể rút gọn thành bảng sau: J K CK Q+ 0 0 ↓ Q 0 1 ↓ 0 1 0 ↓ 1 1 1 ↓ Đảo Q Kết quả trên cho ta thấy: FF JK đã thoát khỏi trạng thái cấm và thay vào đó là trạng thái đảo (khi J=K=1). Người ta lợi dụng trạng thái này để thiết kế mạch đếm. 5. FlipFlop D Thiết kế FF D từ FF RS (hoặc FF JK) bằng cách nối một cổng đảo từ S qua R (hoặc từ J sang K). Dữ liệu được đưa vào ngã vào gọi là ngã vào D. D S,J Pr Q D Pr Q CK CK R,K Cl Q Cl Q Hình: Sơ đồ và ký hiệu FF D. Chủ biên Võ Thanh Ân Trang 56
  6. Tổ Tin Học Bảng sự thật của FF D được biễu diễn như sau: D CK Q+ 0 ↓ 0 1 ↓ 1 6. FlipFlop T Nối chung 2 ngã vào của FF JK ta được FF T. Dưới đây là bảng sự thật và sơ đồ ký hiệu của FF T. J Pr Q T Pr Q T CK CK K Cl Q Cl Q Hình: Sơ đồ và ký hiệu FF T. Bảng sự thật của FF T được biễu diễn như sau: T CK Q+ 0 ↓ Q 1 ↓ Q 7. Mạch chốt D Mạch chốt D hoạt động giống như FF D, chỉ khác nhau ở điểm ngã vào xung đồng hồ CK được thay bằng ngã vào cho phép G, và tác động bằng mức chứ không bằng cạnh. D G Q+ × 0 Q D Q 0 1 0 G Q 1 1 1 Hình: Ký hiệu mạch chốt D. III. MẠCH GHI DỊCH 1. Sơ đồ nguyên tắc và vận chuyển QA QB QC QD A B C D Vào n•i D Q ti•p D Q D Q D Q C C CK CK K K Cl Q Cl Q Cl Q Cl Q Cl Hình: Sơ đồ mạch ghi dịch đơn giản. Trang 57 Chủ biên Võ Thanh Ân
  7. Giáo trình Kỹ Thuật Số Các FF D nối chung ngã vào CK để được tác động đồng thời, ngã ra Q của FF trước nối với ngã vào D của FF sau. Ngã vào DA của FF đầu tiên gọi là ngã vào của dữ liệu nối tiếp, các ngã ra QA, QB, QC, QD là các ngã ra song song, ngã ra của FF cuối cùng (FF D) là ngã ra nối tiếp. Trước khi mạch hoạt động, tác dụng một xung xóa các ngã vào Cl (đưa chân Cl xuống thấp rồi đưa lên cao như cũ) để các ngã ra QA = QB = QC = QD = 0. Cho dữ liệu vào DA, sau mỗi xung đồng hồ, dữ liệu của tầng trước lần lượt truyền qua tầng sau. Giả sử DA có dữ liệu lần lượt vào như sau: 3 bit cao, 2 bit thấp, 1 cao, 1 thấp. Ta có bảng sự thật của sơ đồ mạch như sau: Vào Ra Cl CK DA QA QB QC QD 0 × × 0 0 0 0 1 ↓ 1 1 0 0 0 1 ↓ 1 1 1 0 0 1 ↓ 1 1 1 1 0 1 ↓ 0 0 1 1 1 1 ↓ 0 0 0 1 1 1 ↓ 1 1 0 0 1 1 ↓ 0 0 1 0 0 Các mạch ghi dịch được phân loại tuỳ vào số bit (số FF), chiều dịch (trái/phải), các ngã vào ra (nối tiếp/song song). 2. Vài IC ghi dịch tiêu biểu a. Giới thiệu Trên thị trường hiện có hiện có khá nhiều loại IC ghi dịch có đầy đủ chức năng dịch trái, dịch phải, vào ra nối tiếp/song song. Sau đây, chúng ta khảo sát 2 IC tiêu biểu: IC74164 là IC dịch phải 8 bit, IC 7495 là IC 4 bit, dịch phải, trái, vào ra nối tiếp/song song. b. IC 74164 7 GND 3 4 5 6 10 11 12 13 14 VCC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q 1 7 A B D Q D Q D Q D Q D Q D Q D Q D Q 2 CK CK CK CK CK CK CK CK Cl Cl Cl Cl Cl Cl Cl Cl 8 CP MR 9 MR : Master Reset, tác động thấp. CP: Clock pulse, tác động cạnh lên. Chủ biên Võ Thanh Ân Trang 58
  8. Tổ Tin Học c. IC 7495 P0 P1 P2 P3 S D S CP1 R R R R CP2 CK CK CK CK S Q SQ S Q S Q Q0 Q1 Q2 Q3 Hình: Sơ đồ mạch IC 7495. Ý ngh•a các chân S: Mode control input. DS: Serial data input. P0 → P3: Parrallel data inputs. CP1: Serial clock. CP2: Parrallel clock. Q0 → Q3: Parrallel data outputs. N•p d• li•u song song - Chuẩn bị dữ liệu ngã vào P0 đến P3. - Cho S = 1, dữ liệu được đưa vào các ngã vào của các FF, CP1 bị khoá, CP2 là ngã vào CK, dữ liệu xuất hiện ở ngã ra Q0 đến Q3 khi có cạnh xuống của CK. N•p d• li•u n•i ti•p - Cho S = 0. - Đưa dữ liệu nối tiếp vào DS, CP2 bị khoá, CP1 là ngã vào CK, khi có cạnh xuống của CK dữ liệu dịch từng bit trên các ngã ra Q0 đến Q3. D•ch ph•i - Nạp dữ liệu song song. - Đưa dữ liệu nối tiếp ở DS và cho CK tác động. D•ch trái - Nối ngã ra của FF sau vào ngã vào song song của FF trước. - P3 là ngã vào nối tiếp. - Cho S = 1 để cách ly FF trước với FF sau. - CP2 là ngã vào xung CK, dữ liệu sẽ được dịch trái ứng với cạnh xuống của xung CK. d. Ứng dụng của mạch ghi dịch Mạch ghi dịch có nhiều ứng dụng. - Một số nhị phân khi dịch trái một bit, giá trị nhị phân sẽ được nhân lên gấp đôi. Khi dịch phải 1 bit, giá trị nhị phân được chia 2 (lấy phần nguyên). Trang 59 Chủ biên Võ Thanh Ân
  9. Giáo trình Kỹ Thuật Số - Trong máy tính, thanh ghi là nơi lưu tạm dữ liệu để thực hiện các phép tính, các lệnh cơ bản như: quay, dịch phải, dịch trái, - Ngoài ra, mạch ghi dịch còn những ứng dụng khác như: tạo mạch đếm vòng, biến đổi nối tiếp ↔ song song. IV. MẠCH ĐẾM 1. Giới thiệu Lợi dụng tính đảo trạng thái của FF JK, người ta thực hiện mạch đếm. Chức năng của mạch đếm là đếm số xung CK đưa vào ngã vào hoặc thể hiện số trạng thái có thể của ngã ra và nếu xét khía cạnh tần số của tín hiệu thì mạch đếm có chức năng của mạch chia tần, nghĩa là tần số tín hiệu ngã ra là kết quả của phép chia tần số của tín hiệu ngã vào cho một số nào đó. 2. Mạch đếm đồng bộ a. Mạch đếm đồng bộ n tầng đếm lên Trong các mạch đếm đồng bộ, các FF chịu tác động đồng thời của xung CK. Để thiết kế mạch đếm đồng bộ n tầng (ví dụ n = 4), trước tiên, ta lập bảng trạng thái, quan sát bảng trạng thái suy ra cách mắc ngã vào JK của các FF sao cho mạch giao hoán tạo trạng thái ngã ra đúng với bảng đã lập. Giả sử FF có xung CK tác động ở cạnh xuống, với 4 FF mạch đếm được 24 = 16 trạng thái và số xung đếm được từ 0 đến 15, với mạch đếm lên, ta có bảng trạng thái dưới đây. CK QD QC QB QA Số xung đếm Xóa 0 0 0 0 0 ↓ 0 0 09 1 1 ↓ 0 0 1 0 2 ↓ 0 09 19 1 3 ↓ 0 1 0 0 4 ↓ 0 1 09 1 5 ↓ 0 1 1 0 6 ↓ 09 19 19 1 7 ↓ 1 0 0 0 8 ↓ 1 0 09 1 9 ↓ 1 0 1 0 10 ↓ 1 09 19 1 11 ↓ 1 1 0 0 12 ↓ 1 1 09 1 13 ↓ 1 1 1 0 14 ↓ 19 19 19 1 15 ↓ 0 0 0 0 0 FF A đổi trạng thái sau từng xung CK vậy: TA = JA = KA = 1. FF B đổi trạng thái nếu trước đó QA = 1, vậy: TB = JB = KB = QA. FF C đổi trạng thái nếu trước đó QA = QB = 1, vậy: TC = JC = KC = QA.QB. Chủ biên Võ Thanh Ân Trang 60
  10. Tổ Tin Học FF D đổi trạng thái nếu trước đó QA = QB = QC = 1, vậy: TD=JD=KD=TC.QC. Ta được kết quả như hình sau: Q Q Q Q A B C D + A B C D J Q J Q J Q J Q CK CK CK CK K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm đồng bộ n tầng đếm lên. b. Mạch đếm đồng bộ n tầng đếm xuống 4 Giả sử FF có xung CK tác động ở cạnh xuống, với 4 FF mạch đếm được 2 = 16 trạng thái và số xung đếm được từ 0 đến 15, với mạch đếm xuống, ta có bảng trạng thái dưới đây. CK QD QC QB QA Số đếm Xóa 0 09 09 0 0 ↓ 1 1 1 1 15 ↓ 1 1 19 0 14 ↓ 1 1 0 1 13 ↓ 1 19 09 0 12 ↓ 1 0 1 1 11 ↓ 1 0 19 0 10 ↓ 1 0 0 1 9 ↓ 19 09 09 0 8 ↓ 0 1 1 1 7 ↓ 0 1 19 0 6 ↓ 0 1 0 1 5 ↓ 0 19 09 0 4 ↓ 0 0 1 1 3 ↓ 0 0 19 0 2 ↓ 0 0 0 1 1 ↓ 0 0 0 0 0 FF A đổi trạng thái sau từng xung CK vậy: TA = JA = KA = 1. FF B đổi trạng thái nếu trước đó QA = 0, vậy: TB = JB = KB = Q A . FF C đổi trạng thái nếu trước đó QA = QB = 0, vậy: TC = JC = KC = Q A .Q B . FF D đổi trạng thái nếu trước đó QA = QB = QC = 1, vậy: TD=JD=KD= TC .Q C . Trang 61 Chủ biên Võ Thanh Ân
  11. Giáo trình Kỹ Thuật Số Ta được kết quả như hình sau: Q Q Q Q A B C D + A B C D J Q J Q J Q J Q CK CK CK CK K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm đồng bộ n tầng đếm xuống. c. Mạch đếm đồng bộ n tầng đếm lên, xuống Để có mạch n tầng đếm lên hoặc xuống, ta dùng một mạch đa hợp 2→1 có ngã vào điều khiển C để chọn Q hoặc Q đưa vào tầng sau qua các cổng AND. Trong mạch dưới đây, C = 0 mạch đếm lên, C = 1 mạch đếm xuống. QA QB QC QD + A B C D J Q J Q J Q J Q C C C CK K K K K Cl Q K Cl Q K Cl Q K Cl Q Cl C Hình: Mạch đếm đồng bộ n tầng đếm lên, xuống. d. Tần số hoạt động lớn nhất của mạch đếm đồng bộ n tầng Ta xét mạch đếm đồng bộ n tầng đếm lên, ta cần dùng 2 cổng AND. Trong trường hợp tổng quát cho n tầng, số cổng AND dùng là n – 2 như vậy thời gian tối thiểu để tín hiệu truyền qua mạch là: Tmin = TP FF + (n– 2).TP AND Tầng số cực đại xác định bởi: 1 1 f max = = Tmin TP FF + (n − 2)TP AND Để gia tăng tần số làm việc của mạch, thay vì dùng cổng AND 2 ngã vào, ta phải dùng cổng AND nhiều ngã vào và mắc theo kiểu: TA = JA = KA = 1. TB = JB = KB = QA TC = JC = KC = QA.QB TD=JD=KD=QA.QB.QC Chủ biên Võ Thanh Ân Trang 62
  12. Tổ Tin Học Như vậy tần số làm việc không phụ thuộc vào n và bằng: 1 1 f max = = Tmin TP FF + TP AND e. Mạch đếm đồng bộ Modulo – N (N ≠ 2n) Để thiết kế mạch đếm modulo – N, trước nhất ta phải chọn số tầng. Số tầng là n phải thoả điều kiện: 2n-1 < N < 2n. Ví dụ: Thiết kế mạch đếm 10 (N = 10). Ta thấy 24-1 = 23 < 10 < 24, vậy số tần là 4. Có nhiều phương pháp thiết kế mạch đếm đồng bộ modulo N. Sau đây, ta khảo sát hai phương pháp: Phương pháp dùng hàm chuyển và phương pháp MARCUS. i. Ph••ng pháp dùng hàm chuy•n (Transfer function) Hàm chuyển được định nghĩa như sau: Hàm có giá trị 1 khi có sự thay đổi trạng thái của FF và hàm có giá trị 0 khi FF không đổi trạng thái. Ta sẽ xác định hàm chuyển của FF JK. Dưới đây là bảng trạng thái của FF JK và hàm chuyển H. CK J K Q Q+ H ↓ 0 0 0 0 0 ↓ 0 0 1 1 0 ↓ 0 1 0 0 0 ↓ 0 1 1 0 1 ↓ 1 0 0 1 1 ↓ 1 0 1 1 0 ↓ 1 1 0 1 1 ↓ 1 1 1 0 1 Dùng bảng Karnaugh ta suy ra được biểu thức của H: H = JQ + KQ Để thiết kế mạch đếm cụ thể, ta sẽ xác định hàm H cho từng FF trong mạch, so sánh với biểu thức của hàm H suy ra J, K của các FF. Ví dụ: Thiết kế mạch đếm 10 đồng bộ dùng FF JK. Bảng trạng thái của mạch đếm 10 và giá trị của hàm H tương ứng. CK QD QC QB QA QD+ QC+ QB+ QA+ HD HC HB HA 1↓ 0 0 0 0 0 0 0 1 0 0 0 1 2↓ 0 0 0 1 0 0 1 0 0 0 1 1 3↓ 0 0 1 0 0 0 1 1 0 0 0 1 4↓ 0 0 1 1 0 1 0 0 0 1 1 1 5↓ 0 1 0 0 0 1 0 1 0 0 0 1 6↓ 0 1 0 1 0 1 1 0 0 0 1 1 7↓ 0 1 1 0 0 1 1 1 0 0 0 1 8↓ 0 1 1 1 1 0 0 0 1 1 1 1 9↓ 1 0 0 0 1 0 0 1 0 0 0 1 10↓ 1 0 0 1 0 0 0 0 1 0 1 1 Từ bảng sự thật trên, ta thấy: Trang 63 Chủ biên Võ Thanh Ân
  13. Giáo trình Kỹ Thuật Số H A = 1 = QA + Q A ⇒ J A = K A = 1 Để xác định HB, HC, HD ta phải vẽ bảng đồ Karnaugh. Q B QB Q Q Q Q Q Q B A B A B A QDQC 00 01 11 10 QDQC 00 01 11 10 QDQC 00 01 11 10 1 1 00 00 1 QC 00 Q D 01 1 1 01 1 01 1 Q 11 × × × × 11 × × × × C 11 × × × × × QD 10 × × 10 × QC 10 1 × × H B = Q QA Q + Q QAQB H = Q Q Q + Q Q Q H = Q Q Q Q + Q Q D B D B B A C B A C D C B A D A D ⇒ J B = K B = Q DQA ⇒ J C = K C = Q B Q A ⇒ J C = Q C Q B Q A ; K C = Q A Từ kết quả trên ta vẽ được mạch: Q Q Q Q A B C D + A B C D J Q J Q J Q J Q CK CK CK CK K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm 10. ii. Ph••ng pháp MARCUS Phương pháp MARCUS cho phép xác định các biểu thức của J, K dựa vào sự khác nhau của Q+ so với Q sau mỗi lần tác động của xung CK. Từ bảng trạng thái của FF JK ta có thể rút gọn lại bảng sau: Q Q+ J K 0 0 0 × 0 1 1 × 1 0 × 1 1 1 × 0 Để thiết kế mạch, ta so sánh Q+ và Q để có được bảng sự thật cho J, K của từng FF, sau đó xác định J và K. Ví dụ: Thiết kế mạch đếm 10 bằng phương pháp MARCUS. Chủ biên Võ Thanh Ân Trang 64
  14. Tổ Tin Học CK QD QC QB QA JD KD JC KC JB KB JA KA 1↓ 0 0 0 0 0 × 0 × 0 × 1 × 2↓ 0 0 0 1 0 × 0 × 1 × × 1 3↓ 0 0 1 0 0 × 0 × × 0 1 × 4↓ 0 0 1 1 0 × 1 × × 1 × 1 5↓ 0 1 0 0 0 × × 0 0 × 1 × 6↓ 0 1 0 1 0 × × 0 1 × × 1 7↓ 0 1 1 0 0 × × 0 × 0 1 × 8↓ 0 1 1 1 1 × × 1 × 1 × 1 9↓ 1 0 0 0 × 0 0 × 0 × 1 × 10↓ 1 0 0 1 × 1 0 × 0 × × 1 Từ bảng sự thật trên, ta thấy: JA = KA = 1 Dùng bảng Karnaugh xác định các hàm còn lại. Ta thấy rằng, FF B và FF C có thể xác định chung cho J và K vì chúng có cùng vị trí 1 và vị trí ×. FF D được xác định J và K riêng. QBQA QBQA QDQC 00 01 11 10 QDQC 00 01 11 10 00 1 1 00 1 01 1 1 01 1 11 × × × × 11 × × × × 10 × × 10 × × J B = K B = Q DQA JC = KC = QBQA QBQA QBQA QDQC 00 01 11 10 QDQC 00 01 11 10 00 00 × × × × 01 1 01 × × × × 11 × × × × 11 × × × × 10 × × × × 10 1 × × JD = QCQBQA KD = QA Ta được kết quả như trên. 3. Mạch đếm không đồng bộ a. Mạch đếm không đồng bộ n tầng đếm lên (n=4) Trong các mạch đếm đồng bộ, xung CK không tác động đồng thời lên các FF. Từ bảng trạng thái của mạch đếm đồng bộ n tầng đếm lên (trình bày ở trên), ta thấy nếu dùng FF JK với xung đồng hồ tác động cạnh xuống thì có thể lấy ngã ra của tầng trước làm xung đồng hồ CK cho tầng sau, với điều kiện các ngõ vào JK đều được đưa lên mức cao. Ta được mạch đếm không đồng bộ 4 bit, đếm lên. Ta được kết quả như hình sau: Trang 65 Chủ biên Võ Thanh Ân
  15. Giáo trình Kỹ Thuật Số QA QB QC QD + + + + A B C D J Q J Q J Q J Q C C C CK K K K K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm không đồng bộ n tầng đếm lên. Dưới đây là tín hiệu của xung CK và ngã ra của các FF. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CK QA 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 QB 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 QC 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 QD 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 Tổ hợp các số tạo bởi các ngã ra các FF D, C, B, A là số nhị phân từ 0 đến 15. b. Mạch đếm không đồng bộ n tầng đếm xuống (n=4) Để có mạch đếm không đồng bộ n tầng đếm xuống, ta nối Q của tầng trước vào ngã vào CK của tầng sau. Dưới đây là sơ đồ mạch, sơ đồ xung CK và sơ đồ các ngã ra của các FF. QA QB QC QD + + + + A B C D J Q J Q J Q J Q C C C CK K K K K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm không đồng bộ n tầng đếm xuống. Chủ biên Võ Thanh Ân Trang 66
  16. Tổ Tin Học Dưới đây là tín hiệu của xung CK và ngã ra của các FF. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CK QA 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 QB 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 QC 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 QD 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Tổ hợp các số tạo bởi các ngã ra các FF D, C, B, A là số nhị phân từ 15 xuống 0. c. Mạch đếm không đồng bộ n tầng đếm lên, xuống Để có mạch n tầng đếm lên hoặc xuống, ta dùng một mạch đa hợp 2→1 có ngã vào điều khiển C để chọn Q hoặc Q đưa vào tầng sau qua các cổng AND. Trong mạch dưới đây, C = 0 mạch đếm xuống, C = 1 mạch đếm lên. QA QB QC QD + + + A B C D J Q J Q J Q J Q C C C CK K K K K Cl Q K Cl Q K Cl Q K Cl Q Cl C Hình: Mạch đếm không đồng bộ n tầng đếm lên, xuống. Trang 67 Chủ biên Võ Thanh Ân
  17. Giáo trình Kỹ Thuật Số d. Mạch đếm không đồng bộ modulo – N (N = 10) i. Ki•u Reset Để thiết kế mạch đếm kiểu Reset, trước nhất người ta lập bảng trạng thái cho số đếm. CK QD QC QB QA Dec Xóa 0 0 0 0 0 1↓ 0 0 0 1 1 2↓ 0 0 1 0 2 3↓ 0 0 1 1 3 4↓ 0 1 0 0 4 5↓ 0 1 0 1 5 6↓ 0 1 1 0 6 7↓ 0 1 1 1 7 8↓ 1 0 0 0 8 9↓ 1 0 0 1 9 10↓ 0(1) 0 0(1) 0 10 Quan sát bảng trên ta thấy, ở xung thứ 10, nếu theo cách đếm 4 tầng thì QD và QB phải lên 1 (số trong ngoặc). Lợi dụng 2 trạng thái này ta dùng một cổng NAND 2 ngã vào để đưa các tín hiệu về xoá các FF, ta được mạch đếm như dưới đây. Q Q Q Q A B C D + + + + A B C D J Q J Q J Q J Q CK CK CK CK K Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm 10 kiểu Reset. ii. Ki•u Preset Trong kiểu Preset các ngã vào của các FF sẽ được đặt trước hoặc nối với một ngã ra nào đó hoặc một mạch tổ hợp có ngã vào nối với các ngã ra của các FF để khi mạch đếm đến trạng thái thứ N thì tất cả các FF tự động quay về 0. Thường người ta sẽ quan sát bảng trạng thái và kết hợp với phương pháp MARCUS để xác định JK của các FF và để dễ thiết kế, người ta phân N = 2n. N’ (N’<N) rồi kết hợp hai mạch đếm n bit và N’. Ví dụ: Để thiết kế mạch đếm 10, ta chỉ cần thiết kế mạch đếm 5 rồi kết hợp với 1 FF (mạch đếm 2). Dưới đây là bảng trạng thái của mạch đếm 5. Chủ biên Võ Thanh Ân Trang 68
  18. Tổ Tin Học Số xung Số nhị phân Số thập CK vào QD QC QB phân Xóa 0 0 0 0 1 0 0 1 1 2 0 1 0 2 3 0 1 1 3 4 1 0 0 4 5 0 0 0 0 Giả sử FF JK có xung CK tác động cạnh xuống. Từ bảng trên ta thấy, có thể dùng tín hiệu ngã ra của FF B làm xung đồng hồ cho FF C. CKC = QB FF C, FF D dùng xung CK của hệ thống và ngã vào JK được xác định theo phương pháp MARCUS. CK QD QC QB JD KD JC KC Xóa 0 0 0 0 × 1 × 1↓ 0 0 1 0 × × 1 2↓ 0 1 0 0 × 1 × 3↓ 0 1 1 1 × × 1 4↓ 1 0 0 × 1 0 × 5↓ 0 0 0 Ta thấy ngay KD = KB = 1. Dùng bảng đồ Karnaugh xác định JD và JB. Q Q Q Q C B C B QD 00 01 11 10 QD 00 01 11 10 0 1 01 × × 1 1 × × × × 1 × × × JD = QC.QB J B = Q D Dưới đây là mạch đếm 10 thiết kế theo kiểu 2×5, với mạch đếm 5 có được từ kết quả trên. Q Q Q Q A B C D + A B + C D J Q J Q J Q J Q CK CK CK CK + + K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch đếm 10 kiểu 2×5. IC 7490 là IC đếm 10, có sơ đồ mạch với các ngã vào Reset như dưới đây. Trang 69 Chủ biên Võ Thanh Ân
  19. Giáo trình Kỹ Thuật Số QA QB QC QD RS(1) RS(2) + + J Q J Q J Q J Q A CK CK CK CK + + K Cl Q K Cl Q K Cl Q K Cl Q R0(1) R (2) 0 B Hình: Sơ đồ mạch IC 7490. Dưới đây là bảng sự thật cho các ngã vào Reset. Reset Input Output R0(1) R0(2) RS(1) RS(1) QD QC QB QA 1 1 0 × 0 0 0 0 1 1 × 0 0 0 0 0 × × 1 1 1 0 0 1 × 0 × 0 Đếm Đếm Đếm Đếm 0 × 0 × Đếm Đếm Đếm Đếm 0 × × 0 Đếm Đếm Đếm Đếm × 0 0 × Đếm Đếm Đếm Đếm IC 7490 có thể thực hiện một trong 2 cách mắc sau: - Mạch đếm 2×5. Nối QA vào ngã vào B, xung CK vào ngã vào A. - Mạch đếm 5×2. Nối QD vào ngã vào A, xung CK vào ngã vào B. Hai cách mắc trên cho kết quả số đếm khác nhau nhưng cùng một chu kỳ 10. Tần số tín hiệu của ngã ra sau bằng 1/10 tần số xung CK. Dưới đây là bảng trạng thái cho 2 trường hợp nói trên. QD QC QB QA QD QC QB QA 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 Đếm 2×5 Đếm 5×2 Chủ biên Võ Thanh Ân Trang 70
  20. Tổ Tin Học 4. Mạch đếm vòng a. Giới thiệu Mạch đếm vòng thực chất là mạch ghi dịch trong đó ta cho hồi tiếp từ một ngã ra nào đó về ngã vào để thực hiện một chu kỳ đếm. Tuỳ đường hồi tiếp mà ta có chu kỳ đếm khác nhau. Sau đây, ta khảo sát một vài loại mạch đếm vòng phổ biến. b. Hồi tiếp từ QD về JA và Q D về KA QA QB QC QD A B C D J Q J Q J Q J Q CK CK CK CK K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Mạch hồi tiếp từ QD về JA và Q về KA. Đối với mạch này, sự đếm vòng chỉ thấy khi có đặt trước ngã ra. Ta xét các ví dụ đặt trước QA = 1 và đặt trước QA = QB = 1, ta được bảng dưới đây. CK QD QC QB QA Dec CK QD QC QB QA Dec Preset 0 0 0 1 1 Preset 0 0 1 1 3 1↓ 0 0 1 0 2 1↓ 0 1 1 0 6 2↓ 0 1 0 0 4 2↓ 1 1 0 0 12 3↓ 1 0 0 0 8 3↓ 1 0 0 1 9 4↓ 0 0 0 1 1 4↓ 0 0 1 1 3 : : : : : : : : : : : : Đặt trước QA = 1 Đặt trước QA = QB = 1 c. Hồi tiếp từ Q D về JA và QD về KA QA QB QC QD A B C D J Q J Q J Q J Q C C C CK K K K K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Hồi tiếp từ Q D về JA và QD về KA. Trang 71 Chủ biên Võ Thanh Ân
  21. Giáo trình Kỹ Thuật Số Mạch này còn có tên là mạch Johnson. Mạc có chu kỳ đếm mặc nhiên mà không cần đặt trước. Nếu đặt trước, mạch sẽ cho các chu kỳ khác nhau, tùy vào tổ hợp đặt trước. Bảng dưới đây là chu kỳ đếm mặc nhiên. CK QD QC QB QA Dec Preset 0 0 0 0 0 1↓ 0 0 0 1 1 2↓ 0 0 1 1 3 3↓ 0 1 1 1 7 4↓ 1 1 1 1 15 5↓ 1 1 1 0 14 6↓ 1 1 0 1 12 7↓ 1 0 0 0 8 8↓ 0 0 0 0 0 Không đặt trước d. Hồi tiếp từ Q D về JA và QC về KA QA QB QC QD A B C D J Q J Q J Q J Q CK CK CK CK K Cl Q K Cl Q K Cl Q K Cl Q Cl Hình: Hồi tiếp từ Q D về JA và QC về KA. CK QD QC QB QA Dec Preset 0 0 0 0 0 1↓ 0 0 0 1 1 2↓ 0 0 1 1 3 3↓ 0 1 1 1 7 4↓ 1 1 1 0 14 5↓ 1 1 0 1 12 6↓ 1 0 0 0 8 7↓ 0 0 0 0 0 Không đặt trước Chủ biên Võ Thanh Ân Trang 72