I. GIỚI THIỆU
Flip-flop, còn được gọi là chốt trong kĩ thuật điện tử, là mạch có khả năng lưu trữ và lật lại trạng thái ngõ ra dựa vào tác động của ngõ vào. Điều này rất quan trọng trong việc lưu trữ và xuất dữ liệu trong các mạch điện tử. Các mạch này xử lý trạng thái của tín hiệu từ ngõ vào và cho kết quả tại ngõ ra. Flip-flop và chốt (latch) là những khối xây dựng cơ bản của các hệ thống kỹ thuật số, được sử dụng trong máy tính, truyền thông và nhiều loại hệ thống điều khiển khác.
Kí hiệu của Flip-Flop
Ngõ ra của mạch được quyết định bởi các ngõ vào, và ngõ đồng hồ chỉ ra thời điểm xảy ra sự thay đổi. Ngõ đồng hồ có thể ở mức thấp hoặc mức cao, tùy thuộc vào cấu trúc của từng loại Flip-Flop. Ví dụ, với IC Flip-Flop 74112, chỉ có thể tác động bằng xung đồng hồ ở cạnh xuống.
1. Nguyên lý hoạt động
Flip-Flop thực hiện chức năng xử lý tín hiệu vào và lưu trữ một bit trạng thái kết quả, với hai ngõ ra thuận Q và đảo Q. Có ba loại ngõ vào chính:
- Ngõ vào dữ liệu (Data): Trạng thái chính cần lưu trữ.
- Ngõ vào điều khiển không đồng bộ: Khi ngõ này ở mức tích cực, Flip-Flop hoạt động theo cách nào đó. Ngõ này thường được ký hiệu là E (enable) hoặc gate.
- Ngõ vào clock: Cần thiết cho các Flip-Flop hoạt động đồng bộ. Flip-Flop thực hiện chức năng chính của nó vào thời điểm sườn xung clock chuyển từ 0 lên mức cao.
Trong các ngõ điều khiển, R (Reset) là ngõ được nhắc đến nhiều nhất, nó thiết lập ngõ ra Q của Flip-Flop về trạng thái logic 0 và ngõ ra đảo Q về trạng thái logic 1. Reset là tín hiệu được sử dụng trong mọi hệ thống số, nhưng có thể đặt trị mặc định là 1 tùy thuộc vào yêu cầu cụ thể.
Cần tránh xung đột do ngõ điều khiển gây ra để đảm bảo kết quả chính xác. Điều này yêu cầu thiết kế đúng timing và kết nối những ngõ điều khiển không sử dụng tới với mức logic không tích cực (inactive).
2. Các loại Flip-Flop
a. FF SR (mạch lật lại đặt)
- FF RS lật khi có cạnh lên và được ký hiệu bằng hình tam giác trong sơ đồ khối và mũi tên lên trong bảng trạng thái.
- FF RS lật khi có cạnh xuống và được ký hiệu bằng hình tròn nhỏ hoặc gạch đầu Ck để chỉ cạnh xuống trong sơ đồ khối và mũi tên xuống trong bảng trạng thái.
b. FF-JK
FF JK mở rộng trạng thái của FF RS và tránh trạng thái cấm.
Thông qua ngõ vào J, K, ngõ ra của FF JK tuân theo các ngõ vào J, K giống như FF RS, ngoại trừ trạng thái cấm được chuyển thành trạng thái ngược lại (khi J = K = 1, trạng thái cấm chuyển thành trạng thái ngược lại với J = K = 0). Điều này được gọi là chế độ lật trong hoạt động. Ngõ ra của FF JK không bị ảnh hưởng bởi sườn xuống của xung clock, và ngõ vào J, K không có tác động trừ khi có xung tác động lên từ ngõ clock.
FF JK có thể được tạo ra từ FF RS và thêm 2 ngõ vào AND như hình dưới:
Cấu trúc bên trong của FF JK kích bằng sườn sẽ như sau:
c. FF-T
Khi kết nối hai ngõ vào J, K như hình dưới, ta có FF T: chỉ có một ngõ vào T, và ngõ ra sẽ lật lại trạng thái ban đầu mỗi khi ngõ T tác động, và cùng lúc có sự tác động từ sườn lên hoặc xuống của xung clock.
Kí hiệu khối và bảng trạng thái của FF T như sau:
FF T được sử dụng chính để tạo mạch đếm chia 2. Khi T được kết nối với mức 1 (Vcc) hoặc để trống, xung kích tuần tự được đưa vào ngõ clock. Ngõ ra Q sẽ lật trạng thái mỗi khi có xung clock lên hoặc xuống. Tần số xung ngõ ra Q chỉ còn bằng một nửa tần số ngõ clock. Nếu đưa Q này vào các tầng FF sau, tần số sẽ lại được chia đôi. Đây là nguyên lý chính của mạch đếm sẽ được thảo luận sau.
FF T cũng được sử dụng để tạo mạch chia tần.
d. FF-D
Khi kết nối ngõ vào của FF RS hoặc JK như hình dưới, ta có FF D: chỉ có một ngõ vào gọi là ngõ vào data hay delay. Hoạt động của FF D rất đơn giản: ngõ ra sẽ ứng với ngõ vào mỗi khi ngõ clock tác động sườn lên hoặc xuống.
FF D thường được sử dụng để chuyển dữ liệu từ ngõ vào D sang ngõ ra Q, cung cấp cho các mạch sau như mạch cộng, ghi dịch,… Ngõ D cũng có thể được gọi là ngõ trì hoãn (delay).
e. Mạch chốt D
Các FF lật bằng mức cũng có thể trở thành mạch chốt khi ngõ clock luôn tác động. Mạch chốt D là mạch được tạo bởi FF D, trong đó ngõ vào điều khiển được cho phép tác động ở mức cao.
Cấu trúc và bảng trạng thái của mạch chốt D như sau:
Cấu trúc mạch chốt.
f. FF khi có thêm ngõ vào trực tiếp
Như đã thấy ở các ví dụ trên, khi được cấp điện, trạng thái ngõ ra của FF có thể không được xác định chính xác do các yếu tố ngẫu nhiên. Vì vậy, ta thêm hai ngõ vào để xác định trạng thái logic của ngõ ra khi cấp điện (mở nguồn) hoặc bất kỳ lúc nào cần thiết, ngõ vào này hoàn toàn độc lập với trạng thái logic ở các ngõ vào điều khiển như J, K, R, S, D, T và ngõ clock. Chúng được gọi là ngõ vào trực tiếp (ngõ vào không đồng bộ) và có tên là Preset (Pr) có nghĩa là đặt trước và Clear (Cl) có nghĩa là xoá.
Cần chú ý không được đặt Pr = Cl = 0 vì khi đó Q = Q’ = 1, điều này tạo ra trạng thái cấm.
Chân Pr, Cl khi này không có tác dụng gì, không xác định được trạng thái ngõ ra. Do đó, nhiều mạch FF chỉ có một ngõ Clear để xoá mạch khi cần thiết mà không có ngõ Pr; và còn mạch FF không có cả hai ngõ này.
Cấu trúc bên trong của FF khi có ngõ trực tiếp là ngõ Pr và Cl được đưa vào tầng trung gian của các FF, ví dụ như trong cấu trúc của IC 74LS76.