Mục tiêu của Sách hướng dẫn học tập Điện tử sốgiúp sinh viên có khả năng thực hiện logic các hệ thống trên bằng cổng logic, bằng mạch giải mã, Mux. Mời các bạn cùng tham khảo nội dung phần 2 dưới đây.
Trang 1Chương 5: MẠCH TUẦN TỰ
Mạch số được chia ra làm 2 mảng lớn: Mạch tổ hợp (combinational circuits) và mạch tuần tự (sequential circuits) Ở mạch tuần tự, khi các ngõ vào thay đổi trạng thái, trạng thái ngõ ra không những phụ thuộc vào trạng thái ngõ vào mà còn phụ thuộc vào trạng thái ngõ ra trước đó Hơn nữa, khi trạng thái ở ngõ vào thay đổi, trạng thái ngõ ra không thay đổi tức thời mà phải đợi cho đến khi có xung Clock (xung lệnh – xung đồng hồ) mới thay đổi Vì vậy, ta nói mạch tuần tự có tính nhớ (lưu trữ dữ kiện) và tính đồng bộ
5.1 MỤC TIÊU CỦA CHƯƠNG
Trong chương này, chúng ta khảo sát các loại FF và ứng dụng của chúng trong thiết kế mạch tuần tự: đếm nhị phân và ghi dịch Cũng như sử dụng các IC trong việc thiết kế mạch đếm nhị phân và thanh ghi
Chương này cung cấp các kiến thức về: chức năng, ứng dụng của các FF; chức năng, ứng dụng của các IC đếm, thanh ghi giúp cho người sử dụng phân biệt và lựa chọn IC đáp ứng mục đích của mình
Vì vậy, sinh viên phải phân biệt được các loại FF, sử dụng chúng vào mục đích phù hợp Ngoài ra, lựa chọn IC đếm và ghi dich phù hợp cũng như kết hợp nhiều IC đếm, nhiều IC ghi dịch lại với nhau cho mục đích mở rộng phạm vi sử dụng
Thực hiện các bài tập trong chương Từ đó, tự mình thiết kế một mạch đếm hay mạch ghi dịch theo yêu cầu người dùng với các IC có trên thị trường
5.2 FLIP FLOP (FF)
5.2.1 Khái niệm
Flip Flop được ký hiệu là FF, là một dạng linh kiện tích hợp, có nhiều ngõ vào và có hai ngõ ra ngược trạng thái nhau: Q và Q đảo Ký hiệu của FF được vẽ như hình 5-1
Trang 2Hình 5-1: Ký hiệu FF
Ở FF này, ta có 5 ngõ vào và 2 ngõ ra Q và Q’(Q’ là đảo của Q) Các ngõ vào CLK (CK), Clr, Pre thường có ở tất cả các loại FF Ngoài ra hai ngõ vào A, B là biểu hiện cho tên gọi của FF đó Nếu AB = JK thì gọi là JK-FF
a) Ngõ vào đồng bộ
Như hình bên thì ngõ vào đồng bộ là các chân J, K, CK vì các chân này phải cùng thay đổi thì ngõ ra Q hay Q’ mới thay đổi, cụ thể hơn là khi J, K thay đổi mà CK chưa tác động thì ngõ ra cũng không thay đổi Chính vì đó mà người ta gọi chúng là ngõ vào đồng bộ
A CLK B
Q
Q
Trang 3Chúng ta lý luận theo dạng logic thì sẽ được bảng sự thật 5-1
R gọi là chân Reset và S là chân Set Như trên đã nói, khi reset tác động thì Q sẽ = [0] và ngược lại khi set tác động thì Q sẽ = [1] Căn cứ vào bảng sự thật, ta kết luận chân R và S tác động ở mức thấp Như vậy khi R=[0] và S=[0] là điều không thể được
vì chúng ta không thể vừa đặt Q lên [1] lại vừa đặt Q xuống [0] Cho nên trạng thái này không sử dụng (gọi là trạng thái cấm)
Q'
1 2
3 VCC
1 2
3
R
Trang 4b) RS-FF dùng cổng NOR
Sơ đồ mạch
Sơ đồ kết nối, ký hiệu và bảng sự thật của RS-FF dùng cổng NOR được trình bày như hình 5-3 Các tính chất của FF này đều giống như FF trên hình 5-2, chỉ khác là lúc này ta xem bảng sự thật và kết luận là loại RS-FF này tác động ở mức cao Vì vậy
mà khi R=[1] và S=[1] thì rơi vào trạng thái cấm sử dụng Khi R=[0] và S= [0] thì rõ ràng không chân nào tác động nên ngõ ra không đổi trạng thái
Cần chú ý đến ký hiệu của RS_FF Khi R, S tác động mức cao thì không có dấu tròn
ở chân R, S Khi R, S tác động mức thấp thì có dấu tròn ở chân của R, S Điều này dùng cho mọi trường hợp: khi có dấu tròn đảo thì tính chất của chân đó là tác động mức thấp, ngược lại thì tác động mức cao
1
R 2 3
1
S
_ QU2
Trang 5RS-FF có CK được minh hoạ trên hình 5-4
Hình 5-4: RS-FF có xung C K
Khảo sát hình 5-4, nếu CK ở mức thấp thì ngõ ra không đổi, như vậy RS-FF có CK
sẽ không thay đổi trạng thái ngõ ra khi CK ở mức thấp (RS-FF dạng này người ta còn gọi là Latch) Chỉ khi CK lên [1] thì FF hoạt động theo bảng trạng thái 5-3
3
R
Q
2 3
1 VCC
1 2
3
2 3
1
CK
Q'
R CLK S
Q
Q
Trang 6Mặc dù ngõ ra của latch không thay đổi theo R, S khi CK=[0] nhưng R, S phải có một khoảng thời gian ổn định tối thiểu trước khi CK tác động vào Thời gian này được gọi là thời gian set-up (set-up time) ký hiệu là tsu và giá trị được cho bởi nhà chế tạo Đồng thời FF cũng cần có một thời gian ổn định tối thiểu sau khi CK tác động vào, gọi
là thời gian giữ (hold time) ký hiệu là th như hình 5-5
Hình 5-5: Thời gian trễ khi tác động
5.2.3 JK-FLIP FLOP
Ở phần trên ta nhận thấy loại RS-FF cho dù thiết kế dùng cổng NOR hay NAND đều có một trạng thái cấm Để tránh đều này và để hoạt động đa dạng hơn người ta chế tạo ra một dạng FF khác gọi là JK-FF
Q
Q
Trang 7ra cũng có loại không có dấu tròn đảo thì CK tác động cạnh lên (của xung Clock) Tương tự như vậy, ở các ngõ vào không đồng bộ khi có dấu tròn thì các ngõ vào tác động mức thấp ngược lại thì tác động mức cao, điều này được cho ở nhà chế tạo trong sách tra cứu IC Bảng sự thật trên cho thấy CK tác động cạnh xuống và các ngõ vào không đồng bộ tác động ở mức thấp
Từ bảng sự thật ta thấy khi Pre = [0] thì Pre tác động, trong khi đó Clr = [1] nên Clr không tác động Kết quả, ngõ ra Q được set lên [1] Tương tự như vậy khi Pre = [1] và Clr = [0] thì Clr tác động kết quả ngõ ra Q được reset về [0]
Khi Pre = [1] và Clr = [1] tức là hai ngõ vào không đồng bộ này không tác động nên
FF hoạt động theo J, K và CK như bảng sự thật ở trên Chú ý khi J = [0] và K= [0] thì ngõ ra Q không đổi trạng thái Khi J= [1] và K= [1] thì ngõ ra Q nhận giá trị đảo lại trạng thái trước đó Do điều này mà khi J, K nối lên [1] và cung cấp CK cho FF thì ngõ
ra Q sẽ có dạng sóng với tần số bằng ½ tần số của CK.
5.2.4 D và T-FLIP FLOP
a) D-FF
Ký hiệu
Trang 8Hình 5-7: D-FF
D-FF có ký hiệu như hình 5-7 Các tính chất của các ngõ vào, ra cũng tương tự như JK-FF Ký hiệu và bảng sự thật cho ta thấy CK tác động cạnh lên của xung (kí hiệu hình thứ 2, 3)
Chúng ta có thể hình thành D-FF từ JK-FF bằng cách nối hai chân J và K qua cổng đảo như hình 5-8
Q
Q K
Q
Q
Trang 9b) T-FF
T-FF được hình thành cũng từ JK-FF khi ta nối hai chân J, K với nhau Ở T-FF khi chân T lên [1] và ngõ ra sẽ lật trạng thái khi có CK tác động Điều này thực hiện cũng dựa vào bảng sự thật của JK-FF, dựa vào bảng sự thật ta thấy khi J,K cùng trạng thái thì ngõ ra Q có trạng thái ngược lại với J,K Điều này được ứng dụng nhiều ở mạch đếm, sẽ được khảo sát ở phần sau
5.3 MẠCH ĐẾM LÊN NHỊ PHÂN KHÔNG ĐỒNG BỘ (KĐB)
5.3.1 Khái niệm
Trong phần khảo sát mạch đếm này không phải đếm số thập phân như thế giới thực
mà đếm ở hệ nhị phân Ở đây, người ta dùng các FF để hình thành mạch đếm, mỗi ngõ
ra Q của FF được dùng làm một bit của số nhị phân Như vậy ta dùng 4 FF sẽ hình thành nên một số nhị phân 4 bit, mỗi một ngõ ra Q sẽ được nối vào một LED để hiển thị trạng thái của ngõ ra Q đó Khi ngõ ra Q lên [1] thì LED sáng và ngược lại Ta lưu
ý rằng một số nhị phân có n bit sẽ hiển thị được 2n trạng thái khác nhau và số nhị phân này có thể biểu diễn một số thập phân lớn nhất là 2n –1
Ví dụ: Có một số nhị phân 3 bit thì có thể hiển thị 8 trạng thái khác nhau và biểu diễn
số thập phân lớn nhất là: 23-1=7, như bảng 5-6 bên dưới
Vì mạch khởi đầu từ 0 đếm dần lên khi có CK tác động nên ta gọi là mạch đếm lên,
Trang 10ngược lại là mạch đếm xuống Trong phần này các mạch đếm được hình thành bởi các
FF mà trong đó CK của từng FF không tác động cùng lúc nên gọi là mạch đếm không đồng bộ Nếu CK tác động cùng lúc thì gọi là mạch đếm đồng bộ Mạch đếm đồng bộ
sẽ được khảo sát ở phần sau
5.3.2 Mạch đếm lên KĐB
a) Cách hình thành mạch đếm lên KĐB
- Mạch đếm n bit thì sử dụng n, T-FF (JK-FF)
- Xung Ck được nối tới ngõ vào Ck của FF đầu tiên (bên trái)
- Ngõ ra Q của FF bên trái nối tới ngõ vào Ck của FF bên phải
- Các ngõ ra Q nối LED hiển thị
- J = K = [1] (Lật trạng thái khi có xung Ck)
- Các ngõ vào KĐB nối sao cho không tác động
+Vcc
7473
J CLK K
Led QC
CK
Led QD +Vcc
Trang 11xuống nên chỉ khi CK thay đổi từ mức cao xuống thấp thì mới có tác động của CK vào
FF
Vì J, K của FF nối lên [1] nên ngõ ra Q sẽ lật trạng thái khi có CK tác động Khi ngõ
ra QA lật trạng thái từ [1] về [0] thì FF2 mới tác động và ngõ ra QB mới lật trạng thái Nếu ngõ ra QA lật trạng thái từ [0] lên [1] thì FF2 không tác động Cứ như vậy, 4 bit của 4 ngõ ra Q sẽ hình thành mạch đếm lên từ 0 1510
d) Giản đồ thời gian
Hình 5-10: Giản đồ thời gian mạch đếm lên dùng 4 FF
Giản đồ thời gian của mạch đếm lên dùng 4 FF được trình bày như hình 5-10 Ta thấy, khi xung Ck thứ 16, các ngõ ra sẽ tự động reset về [0], tức lặp lại trạng thái ban đầu
Trang 12Bảng 5-7: Bảng trạng thái mạch đếm lên 4 bit
Trang 13nhỏ hơn, ví dụ từ 010 đến 910 chẳn hạn Lúc này ta phải tận dụng các ngõ vào không đồng bộ để khống chế mạch đếm như yêu cầu
Thế nào là mạch đếm MOD (Modulo) m? Mạch đếm MOD m là mạch đếm thực hiện được m trạng thái trong một chu kỳ đếm
Ví dụ: Mạch đếm MOD 10 là mạch đếm thực hiện được 10 trạng thái trong chu kỳ đếm, tức là đếm từ 010 910 rồi quay về lại 010, tiếp tục thực hiện chu kỳ kế tiếp
Để thực hiện đếm MOD ta dùng ngõ vào không đồng bộ Clr hoặc Pre để xóa hoặc đặt lại mạch đếm ở trạng thái ban đầu Ví dụ MOD10 tức là đếm đến 910, thì sau khi đếm đến 910, bộ đếm phải được xóa về giá trị 010 để thực hiện chu kỳ kế tiếp Một điểm lưu ý là để đếm đến 910 và quay về 010 ta nên dùng trạng thái 1010 (10102) để reset, vì nếu dùng chính số 910 (10012) thì số 910 sẽ không hiển thị được Nguyên nhân chân Clr là bất đồng bộ với CK nên khi vừa đến 910 thì bộ đếm bị reset về 0 ngay và chúng ta không nhìn thấy được trạng thái 910 (10012), trong trường hợp này chỉ hiển thị đến 810 mà thôi Ví dụ hình 5-11 cho ta mạch đếm MOD10
Ví dụ: Mạch đếm lên nhị phân KĐB Mod 6
Trang 14Chọn số FF: 3
Cách tác động ngõ vào KĐB: Mạch đếm mod 6, thì tại 610 (1102) ta lấy ngõ ra QB,
QC nối tới ngõ vào cổng NAND, ngõ ra cổng này nối đến các chân Clear
Mạch nguyên lý được vẽ như hình 5-12
Số m: ngõ ra (bit) nào có giá trị [1] thì tác động đến chân Pre(Pre) của FF bit đó; bit nào có giá trị [0] thì tác động đến chân Clear(Clear) của FF bit đó
Các ngõ vào KĐB còn lại nối sao cho không tác động
7473
J CLK K
Trang 15Ví dụ: Mạch đếm lên chặn nhị phân KĐB từ 210 đến 810 rồi lặp lại
Bài làm:
- Cách tác động ngõ vào KĐB:
Mạch đếm chặn từ số 210 đến số 810 thì tại giá trị (8+1) = 910 (10012) ta lấy các ngõ
ra QA; QD (có giá trị [1]) nối tới ngõ vào cổng NAND, ngõ ra cổng này nối đến các
ngõ vào KĐB Clr A,C,D; Pre B để đặt số 210 (00102)
{Số 210 (00102): bit có giá trị [1] là của FF B thì tác động đến chân PreB; bit có giá
trị [0] là của FF A,C,D thì tác động đến chân ClearA,C,D}
Các ngõ vào KĐB còn là: ClrB; PreA,C,D = [1] {nối sao cho không tác động.}
- Mạch nguyên lý như hình 5-13
Hình 5-13: Mạch đếm chặn từ số 2 10 đến số 8 10
5.3.5 Giới thiệu một số IC đếm lên
Các IC đếm hiện nay rất nhiều, tùy theo ứng dụng mà ta chọn IC cho phù hợp Tuy
nhiên, ta có thể sử dụng IC có chức năng tương tự để thực hiện chức năng theo yêu cầu
mong muốn Để làm được điều này ta phải nắm rõ ràng sơ đồ chân và chức năng của
nó Trong phần này, tài liệu giới thiệu vài IC điển hình Muốn học tốt phần này chúng
ta phải tìm kiếm thêm trên internet và các nguồn khác
Q
Q Led QC
7476
J CLK K
Q
Q Led QD
Trang 16Hình 5-14: Sơ đồ logic của IC 7490
Sơ đồ chân IC 7490 như hình 5 - 15
Trang 17Hình 5-15: Sơ đồ chân IC 7490
Bảng chức năng các chân không đồng bộ như bảng 5-8
Bảng 5-8: Bảng chức năng các chân không đồng bộ của IC 7490
Trang 18Nếu Ck nối tới CLKA thì đây là mạch chia 2 (chia tần số xung Clock đi 2 lần) hay còn gọi là đếm MOD 2
Để mạch đếm MOD 10 (MOD 2 x MOD 5) thì Ck nối tới CLKA và QA nối tới CLKB Các chân không đồng bộ phải nối sao cho mạch đếm hoạt động (bảng 5-3) Vậy, 74LS90 dùng để đếm lên BCD Giá trị đếm lớn nhất là 910, nhưng ta có thể đếm các giá trị MOD nhỏ hơn
Sơ đồ mạch nguyên lý cho mạch đếm MOD 10 dùng IC 74LS90 được trình bày như hình 5-16
R02 R91 R92
QA QB QC QD
Trang 19R02 R91 R92
R02 R91 R92 CK
QC
Trang 20b) IC 74LS93
Sơ đồ chân IC 7493 như hình 5 - 19
Hình 5-19: Sơ đồ chân IC 7493
IC 7493 là mạch đếm Binary 4 bit Để mạch đếm MOD 16 thì Ck nối tới CLKA và
QA nối tới CLKB Các chân không đồng bộ phải nối sao cho mạch đếm hoạt động (bảng 5-9)
Bảng 5-9: Bảng chức năng các chân không đồng bộ của IC 7493
R02
Trang 2174LS93 dùng để đếm lên các giá trị MOD nhỏ hơn thì cách tác động cũng như IC
7490, nhưng không nối chân 6, 7 của IC này (chân không nối)
Trang 22IC 4017 là IC đếm vòng Johnson Mạch đếm có 10 ngõ ra Trạng thái các ngõ ra được trình bày như giản đồ thời gian ở hình 5 - 23 Cứ mỗi xung thì có một ngõ ra tác động
Hình 5-23: Giản đồ thời gian IC 4017
d) IC 4040
Sơ đồ chân IC 4040 như hình 5 - 24
Hình 5-24: Sơ đồ chân IC 4040
Trang 23IC 4040 là IC đếm binary 12 bit, tức đếm được 212 trạng thái Như vậy, mạch đếm này có khả năng chia xung Ck tối đa 212
e) IC 4060
Sơ đồ chân IC 4060 như hình 5 - 25
Hình 5-25: Sơ đồ chân IC 4060
IC 4060 là IC đếm binary được ứng dụng để chia tần số xung Ck Tùy tần số xung
Ck được chia mà ta chọn ngõ ra tương ứng IC này có khả năng chia xung Ck tối đa
- Xung Ck được nối tới ngõ vào Ck của FF đầu tiên (bên trái)
- Ngõ ra Q' của FF bên trái nối tới ngõ vào Ck của FF bên phải
- Các ngõ ra Q nối LED hiển thị
- J = K = [1] (Lật trạng thái khi có xung Ck)
Trang 24FF
Vì J, K của FF nối lên [1] nên ngõ ra Q' sẽ lật trạng thái khi có CK tác động Khi ngõ
ra Q'A lật trạng thái từ [1] về [0] thì FF2 mới tác động và ngõ ra Q'B mới lật trạng thái
Nếu ngõ ra Q'A lật trạng thái từ [0] lên [1] thì FF2 không tác động Cứ như vậy, 4 bit của 4 ngõ ra Q sẽ hình thành mạch đếm xuống từ 1510 010
d) Giản đồ thời gian
CK
+Vcc
7473
J CLK K
Q
Q
Trang 25Hình 5-27: Giản đồ thời gian của mạch đếm xuống dùng 4 FF
Giản đồ thời gian của mạch đếm xuống dùng 4 FF được trình bày như hình 5-27 Ta thấy, khi xung Ck thứ 16, các ngõ ra sẽ tự động reset về [0], tức lặp lại trạng thái ban đầu
Trang 26Bảng 5-10: Bảng trạng thái mạch đếm xuống 4 bit
a) Khái niệm
Ở các mạch trên ta nhận thấy mạch đếm sẽ thực hiện đếm từ giá trị cực đại (1510) đến giá trị cực tiểu rồi sẽ quay về trạng thái ban đầu
Ví dụ: Mạch đếm 4 bit sẽ thực hiện đếm từ 1510 (là giá trị tối đa của mạch đếm 4 bit)
về 010 Có những lúc người ta không yêu cầu đếm từ giá trị cực đại mà từ một giá trị
Trang 27nhỏ hơn, ví dụ từ 610 về 010 chẳn hạn Lúc này, ta phải tận dụng các ngõ vào không
đồng bộ để khống chế mạch đếm như yêu cầu
b) Ví dụ
Ví dụ mạch đếm MOD 7 là mạch đếm thực hiện được 7 trạng thái trong chu kỳ
đếm, tức là đếm từ 610 010 rồi quay về lại 610, tiếp tục thực hiện chu kỳ kế tiếp
Do cấu trúc mạch đếm xuống dựa vào nguyên lý của mạch đếm lên nên khi đếm
xuống từ 610 (1102) về 010 (0002) thật chất là mạch đang đếm lên từ 110 (0012) đến 710
(1112) Vì vậy, để khống chế mạch đếm xuống này ta sẽ khống chế như mạch đếm lên,
tức là phải dùng đến 4 FF Từ đó, ta sẽ có cách tác động ngõ vào không đồng bộ để có
CK
Trang 28Mạch đếm xuống chặn từ số n đến số m thì tại giá trị (m -1) ta lấy các ngõ ra có giá
trị [0] (mức [0]) nối tới ngõ vào cổng OR (NOR), ngõ ra cổng này nối đến các ngõ vào
KĐB Clear Pr; e (Clear; Pre) để đặt số n
Số n: ngõ ra (bit) nào có giá trị [1] thì tác động đến chân Pre(Pre) của FF bit đó; bit
nào có giá trị [0] thì tác động đến chân Clear(Clear) của FF bit đó
Các ngõ vào KĐB còn lại nối sao cho không tác động
c) Ví dụ
Để hiểu rõ hơn cách tác động trên ta lấy ví dụ: Thiết kế mạch đếm xuống nhị phân
KĐB có giá trị thập phân tương ứng từ số 910 xuống số 410 và lặp lại
Bài làm:
- Cách tác động ngõ vào KĐB:
Mạch đếm xuống chặn từ số 910 đến số 410 thì tại giá trị (4-1) = 310 (00112) ta lấy
các ngõ ra QC; QD (có giá trị [0]) nối tới ngõ vào cổng OR, ngõ ra cổng này nối đến các
ngõ vào KĐB Clr A,C,D; Pre B để đặt số 910 (10012)
{Số 9(10012): bit có giá trị [1] là của FF A, D thì tác động đến chân PreA,D; bit có
giá trị [0] là của FF B,C thì tác động đến chân ClearB,C}
Các ngõ vào KĐB còn là: ClrA,D; PreB,C = [1] {nối sao cho không tác động.}
Q
Q +Vcc
7476
J CLK K
Q
Q
Led QC Led QB
CK
7432 +Vcc
7476
J CLK K
Trang 29Bài Tập
5 Thiết kế mạch đếm lên MOD 7 dùng FF, IC 7490, 7493
6 Thiết kế mạch đếm lên MOD 60 dùng IC 7490, 7493
7 Thiết kế mạch đếm lên MOD 24 dùng IC 7490, 7493
8 Thiết kế mạch đếm lên nhị phân tương ứng số thập phân từ 210 đến 710 rồi lặp lại dùng FF
9 Thiết kế mạch đếm xuống nhị phân tương ứng số thập phân từ 710 đến 210 rồi lặp lại dùng FF
10 Kết hợp kiến thức đã học, thiết kế mạch đếm vòng dùng 4017 và IC 555 sao cho ngõ ra dừng ngẫu nhiên khi ta tác động (nhấn) 1 xung
11 Thiết kế mạch chia tần số xung Clock 50 Hz thành 1 Hz
12 Kết hợp kiến thức đã học, thiết kế mạch chia tần số xung Clock 50 Hz thành 1
Hz, với tần số 50 Hz được lấy trực tiếp từ tần số lưới điện
5.5 MẠCH ĐẾM ĐỒNG BỘ (Synchronous Counter)
5.5.1 Giới thiệu
Mạch đếm đồng bộ có tuần tự xuất hiện như mạch đếm không đồng bộ, chỉ có điều xung CK tác động vào từng FF và tác động cùng lúc, trong khi đó ở mạch đếm không đồng bộ thì CK ở FF sau được lấy từ ngõ ra của FF trước Chính vì vậy mà ngõ ra của các FF ở mạch đếm đồng bộ hầu như được thay đổi cùng lúc
Trong mạch đếm đồng bộ, FF thường được dùng nhất là JK-FF Một cách tổng quan
là trạng thái hiện tại của các FF quyết định đến trạng thái kế tiếp của nó thông qua một mạch gồm các cổng logic
Điều mà chúng ta làm chủ yếu là thiết kế mạch logic để làm thay đổi trạng thái FF theo ý mình Việc thiết kế mạch này phức tạp hơn nhiều so với đếm không đồng bộ Chúng ta phải tính tất cả các hàm logic nối đến từng J, K của từng FF
Do việc nối đồng thời xung clock đến các ngõ vào Ck của các FF nên ta phải quy định (hay đặt tên) FF theo ABC hay theo trọng số 2n trước khi kết nối mạch Ngoài ra, việc mạch đếm lên hay xuống không phụ thuộc vào xung Ck như mạch đếm không
Trang 30đồng bộ mà nó phụ thuộc vào cách ta xây dựng bảng trạng thái để thiết kế các J, K cho các FF
Led QC
7473
J CLK K
Trang 31Chúng ta thấy rằng QA (Q1) thay đổi liên tục từ [1] sang [0] và ngược lại ở mỗi trạng thái đếm như bảng trạng thái trên nên ta cho JA và KA lên [1] QB (Q2) thay đổi chỉ khi QA lên [1] Điều đó có nghĩa là QB trạng thái hiện tại của QB thay đổi ở CK kế tiếp khi và chỉ khi QA lên [1] Điều này được thực hiện bằng cách nối QA với JB và KB
Và cuối cùng ta thấy QC (Q3) chỉ thay đổi trạng thái khi và chỉ khi QA và QB cùng lên [1], khi đó QC thay đổi trạng thái ở xung CK kế tiếp, điều này được thực hiện nhờ vào việc nối QA và QB vào cổng AND và ngõ ra của cổng này nối đến Jc và Kc Giản đồ thời gian cho mạch đếm lên đồng bộ 3 bit như hình 5-31
Hình 5-31: Giản đồ thời gian cho mạch đếm lên đồng bộ 3 bit
5.5.3 Thời gian trì hoãn trong mạch đếm đồng bộ
Giản đồ thời gian trên giống như ở đếm không đồng bộ Tuy nhiên, một điều chúng
ta cần quan tâm là thời gian trễ khi truyền từ ngõ vào đến ngõ ra của FF như hình 5-
32
Hình 5-32: Thời gian trễ trong đếm đồng bộ
Ở đếm không đồng bộ thời gian trễ sẽ tăng theo số FF thực hiện đếm, trong khi đó ở đếm đồng bộ thời gian trễ là hằng số Đây chính là ưu điểm của đếm đồng bộ
Trang 325.5.4 Thiết kế đếm đồng bộ
Trong phần này, trình bày cách thức thiết kế một mạch đếm đồng bộ, có thể đếm theo một trình tự cho trước, thậm chí không cần phải đếm lên hay đếm xuống, nói chung theo một tuần tự bất kỳ theo yêu cầu
a) Giản đồ trạng thái
Trong phần trước, chúng ta hiểu rằng một sự kế hợp các trạng thái FF tại một thời điểm cho trước trong khi đếm được gọi là trạng thái của mạch đếm Ví dụ chúng ta có thể nói rằng trạng thái của một mạch đếm lên là 0101 sau khi có 5 xung CK tác động Giản đồ trạng thái hay còn gọi là giản đồ chuyển đổi là một đồ thị biểu diễn trình tự các trạng thái trong suốt một chu kỳ của mạch đếm Mỗi trạng thái được hiển thị trong vòng tròn nhỏ, mũi tên chỉ trình tự hiển thị các trạng thái như hình 5-33
Hình 5-33: Giản đồ trạng thái của đếm đồng bộ
Trong một chu kỳ đếm và trong đó chu kỳ đầu tiên thường có các trạng thái sai với
dự tính thiết kế Ở các chu kỳ sau sẽ không còn các trạng thái sai nữa, đó được gọi là
bộ đếm tự khởi động (self- starting counter) được minh hoạ bằng vòng tròn lớn như hình 5-33 ở trên
b) Bảng trạng thái
Trong phần này ta chỉ khảo sát phần thiết kế dùng JK-FF, nên cũng chỉ xét đến bảng trạng thái của JK-FF Bảng trạng thái thực ra được xây dựng dựa vào bảng sự thật Ở bảng sự thật từ ngõ vào ta kết luận ngõ ra, trong khi đó bảng trạng thái cho thấy từ kết
Trang 33quả ngõ ra ta dự đoán ngõ vào như thế nào? Sau đây là bảng trạng thái của JK-FF để thiết kế mạch đếm đồng bộ (bảng 5-12)
Bảng 5-12: Bảng trạng thái JK cho thiết kế đồng bộ
Trạng thái hiện tại
Bước 1: Xác định yêu cầu cần thiết kế mạch đếm gì? Dùng bao nhiêu FF?
Bước 2: Lập bảng trạng thái JK cho tiến trình thiết kế
Bước 3: Dùng bìa Karnaugh đơn giản các JK cho từng FF
Bước 4: Vẽ mạch nguyên lý
Ví dụ: Thiết kế mạch đếm lên đồng bộ MOD10 dùng JK-FF
Bài làm:
Bước 1: Mạch đếm MOD 10 nên dùng 4 FF
Bước 2: Thiết lập bảng trạng thái JK như sau như bảng 5-13
Bảng 5-13: Bảng trạng thái JK thiết kế mạch đếm lên đồng bộ MOD 10
Tr.Thái hiện tại Tr.Thái kế tiếp Yêu cầu các ngõ vào hiện tại Dec Q8 Q4 Q2 Q1 Q8 Q4 Q2 Q1 J8 K8 J4 K4 J2 K2 J1 K1
Trang 34Bước 3: Từ các trạng thái của J, K trên ta thiết lập các bìa Karnaugh và rút gọn cho
ra các hàm logic cho từng J, K của từng FF 4 ngõ ra của mạch đếm lần lượt là: Q8, Q4,
Trang 35Bước 4: Từ các biểu thức logic trên ta vẽ mạch như hình 5-34
J CLK K
Q
Q
Trang 36- RCO chân số (13): Ripple Clock Output, chân này được sử dụng khi nối tầng mạch đếm, tức là khi ta đếm sử dụng từ 2 IC trở lên
- Chức năng các chân hoạt động dựa vào giản đồ thời gian như hình 5-36
Hình 5-36: Giản đồ thời gian IC 74190
Trang 37Ví dụ 1: Mạch đếm lên/ xuống MOD 10 dùng 74190
Để IC 74190 đếm lên MOD 10, các ngõ vào không đồng bộ nối sao cho không tác động Hình 5-37 là mạch nguyên lý đếm lên MOD 10 Hình 5-38 là mạch nguyên lý đếm xuống MOD 10
Hình 5-37: Mạch đếm lên MOD 10 dùng 74190
Hình 5-38: Mạch đếm xuống MOD 10 dùng 74190
Ví dụ 2: Mạch đếm lên/ xuống MOD 8 dùng 74190
Vì đây là mạch đếm dùng IC nên ta không thể thiết kế như sử dụng FF để khống chế mạch đếm Muốn khống chế để có mạch đếm MOD bất kì ta phải tác động đến các ngõ vào không đồng bộ
Để nạp số 010 thì ta chọn các ngõ vào DCBA = 00002
QB
74190
A B C D CLK CTE U/D LOAD
QA QB QC QD RCO
QA QB QC QD RCO
MX/MN
QB
Trang 38Với ví dụ mạch đếm lên MOD 8, thì tại 810 (10002) ta lấy QD qua cổng NOT tác động đến chân LOAD' Để nạp số 010 thì ta chọn các ngõ vào DCBA = 00002
Hình 5-39 là mạch nguyên lý đếm lên MOD 8
Hình 5-39: Mạch đếm lên MOD 8 dùng 74190
Cách tác động ngõ vào không đồng bộ cho mạch đếm xuống MOD m
Mạch đếm xuống MOD m thì ta lấy giá trị sau 010, lấy các ngõ ra có giá trị = [1] (mức logic [1]) nối tới ngõ vào cổng NAND (AND), ngõ ra cổng này nối đến ngõ vào KĐB LOAD để nạp số (m-1)10, lặp lại chu kì mới
Để nạp số (m-1)10 thì ta chọn các ngõ vào DCBA tương ứng
Với ví dụ đếm xuống MOD 8 dùng 74190, ta lấy 910 (10012), lấy QD, QA qua cổng NAND tác động đến chân LOAD' để nạp số (8 - 1) = 710 Để nạp số 710 (01112) thì ta chọn các ngõ vào DCBA = 01112 tương ứng
Hình 5-40 là mạch nguyên lý đếm xuống MOD 8
QC
Led RCO QA
CLK CTE U/D LOAD
QA QB QC QD RCO
MX/MN
QD
Trang 39Để nạp số m thì ta chọn các ngõ vào DCBA có giá trị tương ứng
Với ví dụ đếm lên từ số 3 đến số 8 rồi lặp lại, thì tại (8+1) = 910 (10012) ta lấy QD,
QA qua cổng NAND tác động đến chân LOAD' Để nạp số 310 (00112) thì ta chọn các ngõ vào DCBA = 00112
Hình 5-41 là mạch nguyên lý đếm lên từ số 3 đến số 8
QD
74190
A B C D
CLK CTE U/D LOAD
QA QB QC QD RCO
QA
Trang 40Hình 5-41: Mạch nguyên lý đếm lên từ số 3 đến số 8
Cách tác động ngõ vào không đồng bộ cho mạch đếm xuống chặn từ n đến m Tương tự như sử dụng FF, mạch đếm xuống chặn từ số n đến số m thì tại giá trị (m -1) ta lấy các ngõ ra có giá trị [0] (mức [0]) nối tới ngõ vào cổng OR, ngõ ra cổng này nối đến ngõ vào KĐB LOAD để đặt số n
Để nạp số n thì ta chọn các ngõ vào DCBA có giá trị tương ứng
Với ví dụ đếm xuống từ số 8 đến số 3 rồi lặp lại, thì tại (3-1) = 210 (00102) ta lấy
QD, QC,QA qua cổng OR tác động đến chân LOAD' Để nạp số 810 (10002) thì ta chọn các ngõ vào DCBA = 10002
74190
A B C D
CLK CTE U/D LOAD
QA QB QC QD RCO
+Vcc
74190
A B C D
CLK CTE U/D LOAD
QA QB QC QD RCO