Việc mô tả một mạch tuần tự bằng cách lập bảng quan hệ ngõ ra là một hàm của chuỗi các ngõ vào từ các trạng thái trước đó đến trạng thái hiện tại thường thì không thuận tiện hay không th
Trang 1CHƯƠNG 4 HỆ TUẦN TỰ
4.1 TỔNG QUAN
Mạch logic tuần tự là mạch có các ngõ ra tùy thuộc không chỉ vào trạng thái hiện tại của các ngõ vào mà còn tùy thuộc vào một chuỗi các ngõ vào trước đó Việc mô tả một mạch tuần tự bằng cách lập bảng quan hệ ngõ ra là một hàm của chuỗi các ngõ vào từ các trạng thái trước đó đến trạng thái hiện tại thường thì không thuận tiện hay không thể thực hiện được
Trạng thái của một mạch tuần tự là một sự tập hợp các biến trạng thái mà giá trị của nó tại bất cứ một thời điểm nào đều chứa đựng tất cả các thông tin về các trạng thái trước đó để giải thích các tác động sau đó của mạch
Các biến trạng thái không cần phải có ý nghĩa vật lý trực tiếp, và thường có nhiều cách chọn chúng để mô tả một mạch tuần tự đã cho
Trong các mạch logic số, các biến trạng thái có giá trị nhị phân tương ứng với tín hiệu logic nào đó trong mạch Một mạch với n biến trạng thái nhị phân sẽ có
2n trạng thái xảy ra, và 2n luôn là giá trị giới hạn, vì vậy mạch tuần tự cũng thường gọi là máy trạng thái giới hạn (finite-state machines)
Thời điểm để các trạng thái của hầu hết các mạch tuần tự thay đổi được quyết định bởi xung clock Hình sau minh họa các sơ đồ thời gian và các thuật ngữ cho các xung clock thông dụng Theo quy ước, một xung clock tích cực mức cao nếu các thay đổi trạng thái trong mạch xuất hiện tại cạnh lên của xung clock hay tại
mức cao của xung clock, và tích cực mức thấp cho trường hợp còn lại Chu kỳ bổn phận là phần trăm thời gian xung clock tích cực trên một chu kỳ Thông
thường trong một hệ thống số người ta sử dụng dao động thạnh anh để tạo các xung clock Tần số xung clock khoảng 32768 khz (cho đồng hồ) đến 400 Mhz (cho supercomputer) Các hệ thống thông thường sử dụng các phần tử CMOS và TTL có tần số xung clock vào khảng từ 1 đến 25Mhz
Hai loại mạch tuần tự thường áp dụng chính trong các thiết kế thực tế:
Chu kỳ bổn phận=tL/Tper
Trang 2Mạch tuần tự có hồi tiếp: sử dụng các cổng thông thường và các vòng hồi tiếp để tạo khả năng nhớ trong mạch logic, bằng cách đó tạo ra các khối mạch tuần tự như flip-flop và mạch chốt để thiết kế các mạch ở mức cao hơn
Máy trạng thái với xung clock được đồng bộ: sử dụng các phần tử nhớ, đặc biệt là D flipflop, để tạo ra những mạch mà ngõ ra sẽ thay đổi đồng thời với xung Clock
Các dạng mạch tuần tự khác như dạng đa xung, đa phase thường ứng dụng trong các hệ thống có tính năng cao và VLSI
4.2 CÁC PHẦN TỬ HAI TRẠNG THÁI BỀN
4.2.1 Mạch Đảo
Một transistor có thể làm chức năng mạch đảo như sơ đồ hình sau
Khi VI ở mức điện áp cao thì BJT chạy bão hòa và dòng IC qua RC tạo sụt áp nên V0 ≈ 0.2V (VCESAT) ứng với mức điện áp thấp
Khi VI ở mức điện áp thấp thì BJT phân cực ngược ở ngõ vào nên ngưng dẫn, dòng IC =0 nên không giảm áp qua RC nên V0 ≈ VCC ứng với mức điện áp cao
4.2.2 Mạch Hai Trạng Thái Bền
Một mạch tuần tự đơn giản nhất bao gồm hai cổng đảo với vòng hồi tiếp Nó không có ngõ vào và có 2 ngõ ra như sau:
Trang 3Mạch được vẽ lại như sau
Giả thiết có mạch đối xứng (T1 và T2 cùng tên, các điện trơ phân cực cho 2 transistor cùng trị số) nhưng do 2 transistor không thể cân bằng một cách tuyệt đối nên sẽ có một transistor chạy mạnh hơn và một transistor chạy yếu hơn Giả thiết T1 chạy mạnh hơn T2 nên IC1 lớn hơn nên VRC1 lớn làm điện áp VC1
giảm VC1 qua điện trở R2 phân cực cho T2 giảm làm T2 chạy càng yếu hơn làm
IC2 nhỏ hơn dẫn đến VC2 tăng, điện áp VC2 tăng qua R1 làm tăng phân cực cho T1 dẫn đến T1 chạy mạnh hơn nữa, cuối cùng T1 sẽ tiến đến trạng thái bão hòa, T2 tiến đến trạng thái ngưng dẫn Nếu không có một tác động nào khác thì mạch điện sẽ ở mãi trạng thái này Đây là một trạng thái của mạch Flip Flop Ngược lại, nếu giả thiết T2 chạy mạnh hơn T1 lý luận tương tự cuối cùng T2 sẽ tiến đến trạng thái bão hòa, T1 tiến đến trạng thái ngưng dẫn Nếu không có một tác động nào khác thì mạch điện sẽ ở mãi trạng thái này Đây là trạng thái thứ hai của mạch Flip Flop
Mạch FF sẽ ở một trong hai trạng thái trên nên được gọi là mạch lưỡng ổn
4.3 FLIPFLOP
Phần tử nhớ quan trọng nhất là FlipFlop, nó được tạo từ các cổng Logic Các cổng logic thì tự nó không có tính năng nhớ, nhưng ta có thể kết nối chúng với nhau để tạo nên khả năng nhớ
Sơ đồ khối cho một FF như sau:
Thấy rằng FF có 2 ngõ ra và 1 hay nhiều ngõ vào Các ngõ vào thường được sử dụng để chuyển đổi giữa các khả năng ngõ ra, ta sẽ thấy rằng khi một ngõ vào nhận xung làm thay đổi trạng thái ngõ ra và trạng thái ngõ ra này sẽ vẫn giữ
Trang 4nguyên không thay đổi khi ngõ vào này không còn xung nữa, vì vậy ta gọi FF có đặc tính nhớ
FlipFlop còn có các tên gọi khác là chốt (latch) và mạch hai trạng thái bền (bistable multivibrator)
4.3.1 RS-FF dùng Cổng NOR
Bảng sự thật
0 0 Không thay đổi
Trường hợp Q=0, Q =1
Q=0 dẫn đến ngõ ra cổng NOR1 =1, Q =1 này đưa về ngõ vào cổng NOR2, ngõ
ra cổng NOR2=0, như vậy mạch vẫn giữ nguyên trạng thái Q=0, Q =1
Trường hợp Q=1, Q =0
Q=1 dẫn đến ngõ ra cổng NOR1 =0, Q =0 này đưa về ngõ vào cổng NOR2, ngõ
ra cổng NOR2=1, như vậy mạch vẫn giữ nguyên trạng thái Q=1, Q =0
Như vậy với hai trường hợp, ngõ ra sẽ phụ thuộc vào trạng thái trước của mạch khi SET = RESET =0
¾ Thiết lập các thay đổi cho FF
• Khi SET = 1, RESET = 0
Ngõ ra Q luôn = 0, Q luôn bằng 1 và
vẫn giữ nguyên trạng thái Q=1 khi
SET được đặt trở lại 0 (LATCH)
Trang 5• Khi SET = 0, RESET = 1 Ngõ ra Q luôn = 0 và vẫn giữ nguyên trạng thái
Q=0 khi CLEAR được đặt trở lại 0 (LATCH)
• Khi SET = CLEAR = 1: điều kiện này làm cho ngõ ra Q = Q = 0, rõ ràng
đây là điều kiện không mong muốn hơn nữa nếu các ngõ vào trở lại mức 0 đồng thời, kết quả ngõ ra sẽ không thể đoán đước được Trạng thái này không được dùng và gọi là trạng thái cấm
IC 4044 - 4 NOR RS-FF
4.3.2 RS FlipFlop dùng cổng NAND
RS – FF dùng cổng NAND (tương tự, chỉ lưu ý sự hoán chuyển ngõ ra Q và Q
và các điều kiện ngõ vào)
1 1 Không thay đổi
• Biến đổi cách biểu thị khác của cổng NAND
Ta được mạch như sau
Trang 6Ví dụ Cấp dạng sóng sau vào ngõ SR của mạch chốt dùng NAND, vẽ dạng sóng ngõ ra Q, giả sử ban đầu Q=0
Vì dụ trên chỉ ra rằng ngõ ra mạch chốt “nhớ trạng thái ngõ vào tích cực trước đó” và sẽ không thay đổi trạng thái cho đến khi ngõ vào còn lại tích cực Nó được ứng dụng vào các công tắc chống dội (debounce switch)
So sánh trường hợp sử dụng công tắc bình thường và trường hợp sử dụng công tắc chống dội như sau
IC 74279 4 RS-FF
4.4 FLIPFLOP DÙNG XUNG CK
Các hệ thống số có thể hoạt động đồng bộ hay không đồng bộ
Một hệ thống không đồng bộ, ngõ ra của mạch logic có thể thay đổi trạng thái bất cứ lúc nào khi một hay nhiều ngõ vào thay đổi
Một hệ thống đồng bộ, sự thay đổi ở ngõ ra được đồng thời với tín hiệu gọi là xung clock
Hầu hết các hệ thống số đều dựa vào nguyên lý đồng bộ vì mạch đồng bộ dễ thiết kế
Vout 0
S
R
Q Vcc
Trang 7• Sơ đồ bên trong của clock SR- FlipFlop
Mạch phát hiện sườn xung lên hay xuống sẽ tạo một xung hẹp ở ngõ ra (CK*) Xung này sẽ xuất hiện tại cạnh lên hay cạnh xuống của CK và tác động mở cổng cho 2 cổng NAND, mạch phát hiện sườn xung như sau
4.4.2 Các biến thể của RS – FF
Để sử dụng được cả tổ hợp R=S=1, thường sử dụng các biến thể của RS-FF Bao gồm: R-FF, S-FF, E-FF
R-FF ứng với tổ hợp cấm S=R=1 thì Q=0 và Q=1, sơ đồ của R-FF như sau
Q
Q
CKCK* CKCK*
Q
Q
Trang 8S-FF ứng với tổ hợp cấm S=R=1 thì Q=1 và Q=0, sơ đồ của S-FF như sau
E-FF ứng với tổ hợp cấm S=R=1 thì Q và Q giữ nguyên trạng thái (giống tổ hợp R=S=0), sơ đồ của E-FF như sau
Trang 94.4.4 D FlipFlop
Ví dụ, tạo D-FF từ RS-FF
4.4.5 Biến thể của D – FF
Trong thực tế còn sử dụng một biến thể của D-FF là DV-FF, ký hiệu và bảng sự
thật như sau
Vậy V giống như chân điều khiển: khi V=1, FF hoạt động giống D-FF, khi V=0
FF sẽ không đổi trạng thái
4.4.6 T FlipFlop
4.4.7 Các ngõ vào không đồng bộ
Với các FF ở trên, các ngõ vào S-R, J-K, D xem như các ngõ điều khiển, và được gọi là các ngõ vào đồng bộ (synchronous input) vì tác động của chúng đối với ngõ ra thì đồng bộ với CK
Ngoài ra hầu hết các FF cũng có 1 hay nhiều ngõ vào không đồng bộ (asynchronous input) hoạt động độc lập với ngõ vào đồng bộ và xung clock Các ngõ vào không đồng bộ này được sử dụng để đặt ngõ ra của FF lên 1 (PRESET) hay xóa ngõ ra của FF về 0 (CLR) bất chấp các điều kiện của ngõ vào
Trang 104.5 CÁC ỨNG DỤNG CỦA FLIPFLOP
4.5.1 Đồng bộ hóa dùng FF
Hầu hết các hệ thống số đều dựa trên nguyên lý đồng bộ trong hoạt động của chúng (trạng thái tín hiệu thay đổi đồng bộ với xung clock) Trong một số trường hợp sẽ có một số tín hiệu không được đồng bộ vớ xung clock, nói cách khác là bất đồng bộ Các tín hiệu này thường xuất hiện ở trường hợp nhấn một phím tại một thời điểm ngẫu nhiên so với xung clock, sự ngẫu nhiên này có thể đưa đến một kết quả không mong muốn Để khắc phục điều này ta sẽ xét ví dụ sau:
Ví dụ,
4.5.2 Mạch phát hiện một chuỗi ngõ vào tuần tự
Trong một số ứng dụng, cần nhận biết chuỗi xung nào đến trước trong hai chuỗi xung, giả sữ ngõ ra sẽ ở mức cao nếu ngõ vào A ở mức cao trước ngõ vào B
Ta chọn B làm xung CK kích cạnh lên cho mạch FF
D
CK Q
D CLK Q
Q
Q PR
CLR
Trang 114.5.3 Thanh ghi dịch
Các dạng của thanh ghi dịch gồm
• Vào song song/ ra song song
• Vào nối tiếp/ra nối tiếp
• Vào song song/ra nối tiếp
• Vào nối tiếp/ ra song song
a Vào song song/ ra song song (74174, 74374)
• 74174 Sơ đồ bên trong của 74174 (6bit ghi dịch,
ngõ vào từ D0 đến D5 ngõ ra từ Q0 đến Q5)
• 74374 thanh ghi dịch 8 bit vào song song/ 8 bit ra song song
b Vào nối tiếp/ ra nối tiếp
Để cất n dữ liệu vào thanh ghi ta cần n xung CK, thời gian ghi chậm Tương tự, để xuất dữ liệu cần n-1 xung, thời gian xuất chậm Lợi điểm: ít sai
D4 D5
D CLK Q
MR
D CLK Q
Q
PR
CL
D CLK Q
1Q 2Q 4Q 5Q 3Q 6D 6Q
74LS374
D0 D1 D2 D3 D4 D5 D6 D7
OC CLK
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Os
D CLK Q
Q
PR
CL
D CLK Q
Q PR
CL
Trang 124731 CMOS thanh ghi dịch 256bit (4 bộ ghi dịch 64bit nối tiếp)
c Vào song song/ ra nối tiếp
• 74LS166 là loại IC nạp dữ liệu vào song song (8bit),
xuất dữ liệu ra nối tiếp (Dữ liệu được nạp vào từ chân
A,…,H và xuất ra tuần tự ở chân SER OUT Ngoài ra
74166 còn có 1 ngõ vào data nối tiếp SER
CKI là chân cho phép xung CK, CKI=[0]: cho phép
xung CK, CKI=[1] : cấm xung CK
SH/LD=[0]: nạp dữ liệu, SH/LD=[1]: dịch dữ liệu
Sau khi dịch 1 bit ra khỏi hàng dữ liệu (về hướng bit
H), bit A sẽ trống và bit SR (Serial in) sẽ dịch vào
thanh chốt của bit A
d Vào nối tiếp / ra song song 74164
74164 thanh ghi dịch 8bit, A và B là ngõ vào data cho D-FF
Ví dụ Giả sử rằng ban đầu trạng thái thanh ghi 74164 là 00000000, xác định
chuỗi trạng thái kế tiếp của mạch sau
74LS166
SER A B C D E F G H CLK INH SH/LD CLR
QH
74LS164
A B CLK
QA QB QC QD QE QF QG QH CLR
74LS164
A B CLK
A B C D E F G H CLR
1
Trang 134.5.4 Ưùng dụng Trong microcomputer
Hình trên là một đơn vị vi xử lý (MPU) với các ngõ ra dùng để truyền data nhị phân đến thanh ghi X (4 D-FF) Hầu hết các MPU có ít nhất 16 đường địa chỉ, nhưng thường sẽ không sử dụng hết Ứng dụng MPU để truyền số nhị phân từ thanh ghi trong MPU đến thanh ghi ngoài X Để thực hiện điều này, MPU thực hiện các bước sau:
• Đặt số nhị phân ra ngõ ra D3D2D1D0
• Đặt mã địa chỉ đúng từ A15 đến A8 để chọn thanh ghi X
• Khi data và địa chỉ ngõ ra đã ổn định, MPU sẽ tạo xung clock cấp cho thanh ghi X để hoàn tất quá trình truyền song song từ MPU đến thanh ghi X
Các FF trong thanh ghi X có thể sử dụng cho nhiều nục đích khác nhau Ví dụ, sau khi MPU thực hiện các phép tính và hiển thị kết quả, mỗi FF sẽ được nối với 1 LED và data kết quả này có thể thấy được Ví dụ khác, mỗi FF thành phần có thể điều khiển tắt/mở các thiết bị khác như motor hay role dựa trên cơ sở mã nhị phân truyền từ MPU ra
4.5.5 Bộ Chia Tần Số
Số MOD: là số trạng thái ngõ ra của một mạch đếm
Ví dụ: một mạch đếm có chuỗi trạng thái ngõ ra sau là mạch đếm MOD 4
Ví dụ: xét mạch sau
MOD 4
J CLK K
D CLK Q
D CLK Q
D CLK Q
Trang 14QA sẽ thay đổi trạng thái bằng Q trước đó tại cạng xuống của xung CK
Như vậy mỗi FF chia tần số ngõ vào CK của nó 2 lần
Tổng quát với n FF thì
CK n
• Bộ đếm ở trên có 23 trạng thái khác nhau từ 000 đến 111, nó được gọi là bộ đếm MOD 8
• Với n FF có 2n trạng thái khác nhau, số MOD tối đa là MOD 2n
000
001
010
011100
Clock
1
C A
Trang 154.5.6 MẠCH ĐẾM
a Đếm không đồng bộ với MOD 2n
• Mô hình đếm lên
• Mô hình đếm xuống
Q CK
Q CK
Q CK
Q CK
CL
Q CK PR
CL
B
J
CK K
1 1
Trang 16• Xung clock được đưa vào ngõ CK của FF -A, vì vậy FF-A sẽ thay đổi trạng thái sau mỗi xung clock (lưu ý là tất cả các ngõ vào J=K=1)
• Ngõ ra của FF-A được đưa vào ngõ vào CLK của FF-B, vì vậy FF-B thay đổi trạng thái khi ngõ ra QA thay đổi từ 1 xuống 0 Tương tự cho FF-C và FF-D
• Bảng sau mô tả các ngõ ra của các FF sau mỗi xung CK, sau xung clock thứ
16 các ngõ ra sẽ trở về 0000 và lặp lại trang thái ban đầu
mạch đếm không đồng bộ, vì tất cả các FF không thay đổi trạng thái đồng bộ với
xung clock, chỉ có FF-A thay đổi tương ứng với xung clock
Ví dụ, thiết kế bộ đếm lên nhị phân 4 bit dùng FF như sau
Q
PR
CL
T CLK Q
Q
PR
CL
Trang 17Ví dụ, thiết kế bộ đếm xuống nhị phân 4 bit dùng FF như sau
Ví dụ, xây dựng mạch tạo xung 1Hz từ điện lưới 50Hz như sau:
Điện áp lưới ac có tần số 50hz qua bộ biến đổi sin sang sóng vuông, sau đó cho qua bộ chia 50 (MOD 50 counter) được xung 1hz
Vấn đề đặt ra là cần bao nhiêu FF cho bộ chia 50 Với 6 FF ta được mạch chia
26=64 Như vậy sử dụng giải pháp đếm MOD 2n là không thích hợp
b Đếm không đồng bộ với MOD < 2n
Các bước thiết kế
Bước 1 Thực hiện chọn dạng mạch
Bước 2 Xác định số FF cần tối thiểu
Gọi n là số FF cần Chọn n sao cho 2n-1 < MOD < 2n
Bước 3 Aùp dụng tính chất của các ngõ vào bất đồng bộ (Pr, Cl) để xác định trạng thái xóa theo trình tự sau:
Lập bảng trạng thái cho các ngõ ra và các ngõ vào bất đồng bộ Viết hàm cho các ngõ Pr và Cl
Rút gọn hàm Pr và Cl (dùng bìa K, đại số Boolean) Vẽ mạch hoàn chỉnh
Ví dụ, Thiết kế mạch đếm lên nhị phân MOD6 dùng JK-FF như sau
Xác định số FF tối thiểu: 22 < 6 < 23 ⇒ số FF cần là 3
Schmitt Trigger
MOD 50 counter
D CLK Q
Q
PR
CL
T CLK Q
Q
PR
CL K
Trang 18Bảng trạng thái đếm
Dạng mạch đếm lên MOD 6
Sinh viên vẽ dạng sĩng ABC để kiểm chứng
Ví dụ, Thiết kế mạch đếm xuống MOD 12 dùng FF sau
c Trễ trong mạch đếm không đồng bộ
Mạch đếm không đồng bộ là dạng đơn giản nhất của các bộ đếm nhị phân vì các thành phần để tạo ra mạch đếm là ít nhất Tuy nhiên cũng có một số vấn đề liên quan đến mạch FF sau sẽ thay đổi trạng thái ứng với sự thay đổi trạng thái ngõ ra của FF trước Do mỗi FF có thời gian trễ truyền đạt (tpd), nghĩa là FF thứ
2 sẽ không đáp ứng trong khoảng thời gian tpd khi FF đầu tiên nhận được xung clock, tương tự FF thứ 3 sẽ không đáp ứng trong khoảng thời gian 2tpd khi FF đầu tiên nhận được xung clock, cuối cùng FF thứ N sẽ không đáp ứng trong khoảng thời gian Ntpd khi FF đầu tiên nhận được xung clock
Q
Q
PR
CL 1
Trang 19Xét trường hợp sau
Nếu chu kỳ xung clock T= 2tpd Như đã thấy trên hình vẽ, trạng thái đếm sẽ từ
Khi số FF tăng thì tần số cực đại của mạch giảm xuống
d Các vi mạch đếm không đồng bộ
• 7493, 74293
74LS93 có 2 bộ đếm bên trong: một bộ đếm 2 với ngõ
vào xung CKA, một bộ đếm 8 với ngõ vào xung CKB
Sinh viên tra bảng sự thật của 7493 và liệt kê chuỗi
đếm khi nối QA về CKB và chuỗi đếm khi nối QD về
1
0 0
0
0
1 0
tpd tpd tpd
T
74LS93
CKA CKB R01 R02
QA QB QC QD