Bài giảng trình bày nội dung chi tiết về flip-flop, mạch ghi dịch, mạch đếm không đồng bộ, bộ đếm dùng flip-flop,... Mời các bạn cùng tham khảo nội dung của bài giảng.
Trang 2I Flip Flop
những phụ thuộc vào tổ hợp các ngã vào mà còn phụ thuộc 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 đó
Q+ = f(Q,A,B,C )
được chia làm 2 loại: Đồng bộ và Không đồng bộ Ở mạch đồng bộ, các phần tử của mạch 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
Trang 34.1 Flip Flop
Mạch flipflop (FF) là mạch dao động đa hài lưỡng ổn tức mạch tạo ra sóng vuông và có hai trạng thái ổn định Trạng thái của FF chỉ thay đổi khi có xung đồng hồ tác động
trạng thái cấm
- Flipflop có thể được tạo nên từ 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 dữ liệu của chúng
Trang 41 Chốt RS tác động mức cao:
Là chốt RS có các ngã vào R và S tác động mức cao
(H 5.1)
(Đối với mạch chốt vì không có tác động
của xung đồng hồ nên ta có thể hiểu trạng
thái trước là trạng thái giả sử, còn trạng
thái sau là trạng thái khi mạch ổn định)
Trang 51 Chốt RS tác động mức cao:
Chốt RS tác động mức cao:
(H 5.1)
Tính chất của chốt RS tác động mức cao được tóm tắt như sau:
- Khi R=S=0 (cả 2 ngã vào đều không tác động), ngã ra không đổi trạng thái
- Khi R=0 và S=1 (ngã vào S tác động), chốt được Set (tức đặt Q+=1)
- Khi R=1 và S=0 (ngã vào R tác động), chốt được Reset (tức đặt lại Q+=0)
- Khi R=S=1 (cả 2 ngã vào đều tác động), chốt rơi vào trạng thái cấm
Trang 6cao dùng cổng NAND, người
ta thêm vào 2 cổng đảo ở các
ngã vào của mạch
(H 5.3)
Ký hiệu chốt RS tác động cao và
chốt RS tác động thấp
Trang 8Flipflop RS có ngã vào Preset và Clear:
Tính chất của FF là có trạng thái ngã ra bất kỳ khi mở máy Trong nhiều
trường hợp, có thể 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 (đặt trước Q=1) và Clear (Xóa Q=0), mạch
có dạng (H 5.6a) và (H 5.6b) là ký hiệu của FF RS có ngã vào Preset và
Clear tác động mức thấp
Trang 9Flipflop RS có ngã vào Preset và Clear:
Thay 2 cổng NAND cuối bằng hai cổng NAND 3 ngã vào, ta được FF RS có ngã vào Preset (Pr) và Clear (Cl)
- Khi ngã Pr xuống thấp (tác động) và ngã Cl lên cao ngã ra Q lên cao bất chấp các ngã vào còn lại
- Khi ngã Cl xuống thấp (tác động) và ngã Pr lên cao ngã ra Q xuống thấp bất chấp các ngã vào còn lại
- Ngoài ra 2 ngã vào Pr và Cl còn được đưa về 2 ngã vào một cổng
AND, nơi đưa tín hiệu CK vào, mục đích của việc làm này là khi một trong 2 ngã vào Pr hoặc Cl tác động thì mức thấp của tín hiệu này sẽ khóa cổng AND này,
vô hiệu hóa tác dụng của xung CK
Bảng sự thật của FF RS có Preset và Clear (tác động thấp) cho ở bảng 5.5
Trang 10Flipflop RS có ngã vào Preset và Clear:
Bảng sự thật của FF RS có Preset và Clear (tác động thấp)
Lưu ý: Trên bảng sự thật , dòng thứ nhất tương ứng với trạng thái cấm vì hai ngã vào Pr và Cl đồng thời ở mức tác động, 2 cổng NAND cuối cùng đều đóng, nên Q+=Q=1
Trang 11Flipflop RS chủ tớ:
Kết nối thành chuỗi hai FF RS với hai ngã vào xung CK của hai FF có mức tác động trái ngược nhau, ta được FF chủ tớ (H 5.7)
(H 5.7)
Trang 12Flipflop RS chủ tớ:
Trang 133 Flipflop JK
FF JK được tạo ra từ FF RS theo sơ đồ như (H 5.9a)
(H 5.9b) là ký hiệu FF JK có ngã vào Pr và Cl tác động thấp
Trang 14Flipflop JK
Bảng sự thật 5.7 (Để đơn giản, ta bỏ qua các ngã vào Pr và Cl)
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 thì Q+=Q) Người ta lợi dụng trạng thái đảo này để thiết kế mạch đếm
Trang 154 FlipFlop D (Data hay Delay)
Thiết kế từ FF RS (hoặc JK) bằng cách nối một cổng đảo từ S qua R (hoặc từ
J qua K) Dữ liệu được đưa vào ngã S (J) mà bây giờ gọi là ngã vào D (H
5.10a&b) và bảng 5.9 cho thấy các trạng thái của FF, cụ thể là mỗi khi có
xung CK tác động dữ liệu từ ngã vào sẽ xuất hiện ở ngã ra
Trang 165 FlipFlop T
Nối chung hai ngã vào J và K của FF JK ta được FF T (H 5.10c) Tính chất của FF T thể hiện trong bảng sự thật 5.10:
- Khi T=0, FF không đổi trạng thái dù có tác động của CK
- Khi T=1, FF đổi trạng thái mỗi lần có xung CK tác động
Trang 176 Mạch chốt D
Mạch chốt D hoạt động giống FF D, chỉ khác ở đ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 (H 5.11) và Bảng 5.11
Trang 18Tổng kết:
Khác với các cổng logic, flip-flop là mạch logic có ngõ ra hiện tại phụ
thuộc vào các ngõ vào trước đó Một flip-flop có thể ở một trong hai
trạng thái ổn định: 0 hoặc 1 Hai trạng thái ổn định này cũng được coi
như các trạng thái reset (hay clear) và set (hay preset) Một flip-flop
giữ ở một trạng thái định sẵn cho đến khi nó được tác động làm thay
đổi trạng thái Flip-flop có 2 ngõ ra và như hình 5.1:
Trạng thái ngõ ra của một flip-flop được chỉ
Trang 19Tổng kết:
Có 2 loại flip-flop:
Chốt (đồng bộ) và không chốt (không đồng bộ), ví dụ như chốt RS,
Với 1 flip-flop có chốt , một ngõ vào điều khiển được gọi là xung clock (clk hay ck) Nó cung cấp xung đồng bộ cho phép thay đổi trạng thái ngõ ra chỉ xuất hiện tại một thời điểm xác định Hình 5.2 là một tín hiệu clock dương Về cơ bản, một xung clock dương gồm có một cạnh lên (hay cạnh đang có xu
hướng về dương), một mức phẳng và một cạnh xuống (hay cạnh đang có xu hướng về âm) Ngõ vào Ck tác động đến flip-flop xảy ra tại cạnh lên hay cạnh xuống của xung clock, flip-flop được gọi là kích cạnh
Trang 20Tổng kết:
Flip-flop D (Data hay Delay) có 1 cực ngõ vào dữ liệu cộng với ngõ vào clock
Tín hiệu clock làm cho tín hiệu logic ở ngõ vào D được đưa đến ngõ ra Q khi xung clock xuất hiện
Flip- flop D nêu trên được kích nhờ cạnh lên (cũng như cạnh đang có xu
hướng về dương) của xung clock (một hình tam giác tí hon ở ngõ vào CLK input cho biết cạnh kích) Flip-flop D cũng được coi là flip-flop trì hoãn bởi vì ngõ ra của nó bị trì hoãn bởi một chu kỳ clock từ sự xuất hiện của ngõ vào kích
Trang 21Tổng kết:
Các vùng chấm đen-trắng trong hình 4-4 chỉ ra rằng trạng thái đầu của FF chưa được xác định
Nó có thể được Set hoặc Clear Lưu ý từ dạng sóng tại mỗi thời điểm chuyển trạng thái dương xuất hiện ở ngõ vào CLK, ngõ vào D được chuyển đến ngõ ra Q
Ngõ ra của flip-flop sẽ giữ ở trạng thái đó cho đến khi xuất hiện
cạnh lên tiếp theo Sự chạy không đều của ngõ vào D giữa cạnh lên thứ 2 và cạnh lên thứ 3 không ảnh hưởng đến ngõ ra
Trang 22Tổng kết:
Flip-flop D kích cạnh âm cũng có sẵn và hoạt động cũng tương tự ngoại trừ nó được kích tại cạnh xuống của xung clock Ký hiệu của Flip-flop D kích cạnh âm có một vòng tròn nhỏ (bọt bóng) trên ngõ ra CLK như hình 4-5
Figure 4.5: D Flip-flop (negative-edge triggered)
D
Q Q
CLK
Trang 23Tổng kết:
Một flip-flop D thông thường có thêm 2 ngõ vào điều khiển Preset (PS) và Clear (CLR) như hình 5.3b Tác động ngõ vào PS sẽ đặt ngõ ra Q lên mức logic 1 Ngược lại đối với ngõ vào CLR, tác động vào nó sẽ xóa ngõ ra Q xuống mức logic 0 Flip-flop D được dùng để thiết lập thanh ghi dịch và
thanh ghi lưu trữ
Các ngõ vào PS và CLR được xem là các ngõ vào không đồng bộ bởi vì chúng hoạt động không phụ thuộc vào clock Chúng có quyền cao hơn các ngõ vào D và CLK Cả hai ngõ vào preset và clear không bao giờ được tác động đồng thời, vì chúng được ấn định cho các mục đích trái ngược nhau Vòng tròn nhỏ ở các ngõ vào PS và CLR cho biết rằng nó tác động ở mức thấp
Trang 25Tổng kết:
Đáp ứng của Q khi dạng sóng CLOCK, DATA, PRESET và CLEAR được cấp cho FFD, FF được đặt trước vào lúc đầu
Trang 26Tổng kết:
động của Flip-Flop JK kích cạnh
Flip-flop J-K là loại flip-flop được dùng rộng rãi trong nhiều mạch số, đặc biệt là trong bộ đếm
Trang 27Tổng kết:
Inputs Outputs Function
Set Reset Clock J K Q Q
Khi J và K đều ở mức 0 (dòng thứ 3), Flip-flop ở trạng thái nhớ với có hay không có clock (vd: ngõ ra giữ ở trạng thái trước đó).
Khi J = 0 và K = 1, flip-flop ở trạng thái reset (Q=0,
Q=1) tại cạnh xuống của xung clock.
Khi J = 1 và K = 0, flip-flop ở trạng thái set (Q=1,
Q =0) tại cạnh xuống của xung clock
Khi cả hai J và K đều ở mức 1, ngõ ra sẽ thay đổi tại cạnh xuống của xung clock, nghĩa là nếu flip-flop đã được đặt trước, nó
sẽ đi đến trạng thái xóa, hoặc nếu flip-flop đã được xóa, nó sẽ đi đến trạng thái đặt trước.
Trang 28Tổng kết:
Ví dụ 1: Cho Q=0 ban đầu, J=K=1, dạng sóng của CLK, PRE và CLR được cho như sau Dạng sóng đáp ứng của Q and Q
Trang 29Tổng kết:
Ví dụ 2: Cho flip-flop JK được xóa lúc ban đầu và cả hai ngõ vào không đồng bộ (Preset và Clear) được giữ không tác động Dạng sóng đáp ứng của Q đối với dạng sóng J và K như hình
Trang 30Tổng kết:
Một flip-flop JK có thể được dùng như một flip-flop D bằng cách đảo ngõ vào J rồi đưa nó vào ngõ vào K, như hình 4-10 bên dưới Khi D ở mức logic 0, JK bằng 01, và flip-flop sẽ được xóa khi nó được kích Khi D ở mức logic 1, JK bằng 10, và flip-flop sẽ được đặt khi nó được kích
Trang 31MẠCH GHI DỊCH
Sơ đồ nguyên tắc và vận chuyển
sơ đồ một mạch ghi dịch 4 bit đơn giản, mạch gồm 4 FF D nối thành chuỗi (ngã
ra Q của FF trước nối vào ngã vào D của FF sau) và các ngã vào CKđược nối chunglại (các FF chịu tác động đồng thời) Mạch ghi dịch này có khả năng dịch phải
Ngã vào DA của FF đầu tiên được gọi là ngã vào 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
Trang 32MẠCH GHI DỊCH
Các mạch ghi dịch được phân loại tùy vào số bit (số FF), chiều dịch (phải/trái), các ngã vào/ra (nối tiếp/song song)
Trang 33MẠCH GHI DỊCH
Để có mạch dịch trái, dữ liệu nối tiếp đưa vào ngã vào D của FF cuối cùng và các ngã ra của FF sau nối ngược trở lại ngã vào của FF trước
Cho dữ liệu nối tiếp vào ngã vào D của FF
4, sau mỗi xung đồng hồ, dữ liệu truyền từ
tầng sau ra tầng trước Giả sử chuỗi dữ
liệu giống như trên, trạng thái các ngã ra
của các FF cho ở bảng
Trang 34Vài IC ghi dịch tiêu biểu
Trên thị trường hiện có khá nhiều loại IC ghi dịch, có đầy đủ các chức năng dịch phải trá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:
- IC 74164: dịch phải 8 bit;
- IC 7495: 4 bit , dịch phải, trái, vào/ra nối tiếp/song song
Trang 35Vài IC ghi dịch tiêu biểu
IC 7495:
Ý nghĩa các chân:
S: Mode control input
Ds: Serial Data input
P 0 - P 3 : Parrallel data inputs
CP 1 : Serial Clock
CP 2 : Parrallel clock
Q 0 - Q 3 : Parrallel outputs
Trang 36 Trong máy tính thanh ghi (tên thường gọi của mạch ghi dịch) 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
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 dữ liệu nối tiếp ↔ song song, dùng thiết kế các mạch đèn trang trí,quang báo
Trang 37II Bộ đếm
Bộ đếm thường được dùng ở dạng các khối cơ bản làm sẵn nhờ các mạch logic khác Chúng
được dùng để đếm, xử lý các phép tính, đo và chia tần số, thao tác số học, và cho nhiều
mục đích khác Bộ đếm được chế tạo từ các loại flip-flop JK, RS hoặc D và có thể được phân
thành 2 loại cơ bản; các bộ đếm không đồng bộ hoặc các bộ đếm đồng bộ.
Các bộ đếm không đồng bộ cũng được xem như các bộ đếm nối tiếp, và các bộ đếm đồng bộ
cũng được xem như các bộ đếm song song.
Trong một bộ đếm không đồng bộ, ngõ clock chỉ được kết nối với flip-flop đầu tiên Mỗi flip-flop tiếp theo được kích bởi ngõ ra của flip-flop trước nó Bộ đếm đếm số xung clock xuất hiện trong một dãy đếm tại ngõ vào của flip-flop đầu tiên Ngõ ra của tất cả các flip-flop tương ứng với một
số nhị phân Số này là số lượng xung clock xuất hiện tại ngõ vào của flip-flop đầu tiên trong một dãy đếm Mỗi xung clock pulse đại diện cho một món đồ chẵng hạn như một thùng chất lỏng đi qua một băng tải trong một nhà máy.
Bộ đếm đồng bộ dùng cách kích mà tất cả các flip-flop đều được kích đồng thời bởi clock hệ thống
Trang 38Mạch đếm không đồng bộ
Là các mạch đếm mà các FF không chịu tác động đồng thời của xung CK ngõ clock chỉ được kết nối với flip-flop đầu tiên
Mỗi flip-flop tiếp theo được kích bởi ngõ ra
của flip-flop trước nó
Khi thiết kế mạch đếm không đồng bộ ta phải
quan tâm tới chiều tác động của xung đồng hồ CK
Trang 391 Bộ đếm dùng flip-flop
Bộ đếm có thể được thiết kế để đếm từ bất kỳ số nhị phân nào mong
muốn trước khi nó bắt đầu việc đếm một chuỗi số nào đó Số trạng thái liên tiếp mà một bộ đếm cụ thể đếm đến cùng trước khi lặp lại được gọi là môđun của nó, hay nói cách đơn giản là số mod
Ngõ ra của FF đầu tiên bên trái là bít có trọng số nhỏ nhất (LSB) Ngõ ra của FF cuối cùng bên phải biểu thị bít có trọng số lớn nhất (MSB) Trong
một dãy đếm, ngõ ra của bộ đếm đi từ 0000 (010) đến 1111 (1510), hay 16 trạng thái trước khi quay trở lại 0000 lần nữa
Trang 40Mạch đếm không đồng bộ, n tầng, đếm lên (n=4):
(H 5.22)
Từ bảng trạng thái của mạch đếm 4 bit, ta
thấy nếu dùng FF JK tác động bởi cạnh xuống
của xung đồng hồ 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 của các FF đều
được đưa lên mức cao Ta được mạch đếm
không đồng bộ, 4 bít, đếm lên
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
Trang 41Mạch đếm không đồng bộ, n tầng, đếm xuống (n=4):
Trang 42Mạch đếm không đồng bộ, n tầng, đếm lên, xuống (n=4):
Để có mạch đếm lên hoặc đếm xuống người ta dùng các mạch đa hợp 2→1 với ngã vào điều khiển C chung để chọn Q hoặc Q của tầng trước nối vào CKtầng sau tùy theo yêu cầu về cách đếm
khi C =1, Q nối vào CK , mạch đếm lên và khi C = 0, Q nối vào CK , mạch đếm xuống
Trang 43Mạch đếm không đồng bộ, n tầng, đếm lên, xuống (n=4):
Trên thực tế , để đơn giản, ta có thể thay đa hợp 2→1 bởi một cổng EX-OR, ngã điều khiển C nối vào một ngã vào cổng EX-OR, ngã vào còn lại nối với ngã
ra Q của FF và ngã ra của cổng EX-OR nối vào ngã vào CK của FF sau, mạch cũng đếm lên/xuống tùy vào C=0 hay C=1
Trang 44Mạch đếm không đồng bộ modulo - N (N=10)
Để 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
Bộ đếm mod-N có thể được thiết lập nhờ khả năng của cổng và reset mạch
để điều khiển số trạng thái cho phép Bộ đếm BCD, ví dụ, là một bộ đếm có thể đếm tới 15 (với 4 flip-flop) nhưng mod của nó giới hạn đến 10 nhờ cổng đặc biệt Dãy số đếm cho một bộ đếm mod-10 là từ 0000 đến 1001 (0 đến 9 trong hệ thập phân) Bộ đếm này cần đến 4 flip-flop kết nối như bộ đếm nối tiếp như trong hình 4-15 Sau số đếm 1001, flip-flop phải được xóa về 0000
để bắt đầu dãy đếm trở lại lần nữa Điều này có thể đạt được nhờ khả năng của cổng NAND, sẽ xóa flip-flop trở về 0000 sau khi đếm số 1001 Lúc đếm đến 1010 (hay 1010), các ngõ ra B và D đến mức logic 1 B và D là các ngõ vào đến cổng NAND Vì thế, vào lúc đếm 1010, ngõ ra của cổng NAND xống mức thấp ngay lập tức để reset tất cả các flip-flop về 0000
Bộ đếm mod-10 được xem là bộ đếm 10
Trang 46Tổng kết
Ngõ J và K của tất cả các flip-flop được nối tới mức logic 1 Khi J và K cả hai ở mức 1, mỗi flip- flop JK sẵn sàng lật trạng thái Đầu tiên các ngõ
ra được xóa về 0000 Khi xung clock đầu tiên đến tại ngõ vào clock của FF1, ngõ ra FF1 lật trạng thái sang 1 Ngõ ra DCBA bây giờ là 0001 Xung clock thứ 2 sẽ làm cho FF1 lật trạng thái lần nữa, làm cho 1 chuyển sang 0 Lại làm cho FF2 lật trạng thái sang 1 Ngõ ra DCBA bây giờ
là 0010 Chuỗi số đếm sẽ tiếp tục, với mỗi ngõ ra flip-flop kích vào flip-flop tiếp theo tới ngõ ra xung của nó ở cạnh xuống, như hình 5.10.
Khi xung clock thứ 8 làm cho ngõ ra của FF thứ
4 chuyển sang mức 1 và xung clock thứ 16 làm cho ngõ ra của FF thứ 4 chuyển sang mức 0, mỗi 16 xung clock cho ra 1 xung ở ngõ ra của FF thứ 4 Ta nói rằng tần số clock được chia 16 nếu
ta điều khiển xung ở ngõ ra của FF thứ 4 Vì thế, một bộ đếm mod16 cũng được xem như bộ đếm chia 16.
Dãy đếm của một bộ đếm mod16 như bảng 5.3 Cột A là bít có trọng số nhỏ nhất (LSB) Cột D là bít có trọng số lớn nhất (MSB).