Flip-flop là một thành phần điện tử quan trọng, đóng vai trò nền tảng trong bộ nhớ của máy tính và nhiều hệ thống kỹ thuật số khác. Bài viết này sẽ cung cấp một cái nhìn toàn diện về flip-flop, bao gồm nguyên lý hoạt động, các loại phổ biến và ứng dụng thực tế của chúng.
Flip-flop là một mạch điện tử có hai trạng thái ổn định và có thể được sử dụng để lưu trữ dữ liệu nhị phân. Dữ liệu được lưu trữ có thể được thay đổi bằng cách áp dụng các đầu vào khác nhau. Flip-flop và chốt là những khối cơ bản của hệ thống điện tử 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 khác. Chúng được sử dụng làm phần tử lưu trữ dữ liệu, là phần tử lưu trữ cơ bản trong logic tuần tự.
Sơ đồ mạch điện tử Flip Flop cơ bản, thể hiện trạng thái ổn định và khả năng lưu trữ dữ liệu nhị phân
Flip-flop được hình thành bằng cách sử dụng các cổng logic, lần lượt được làm bằng các bóng bán dẫn. Chúng là những khối xây dựng cơ bản trong bộ nhớ của các thiết bị điện tử. Mỗi flip-flop có thể lưu trữ một bit dữ liệu. Chúng còn được gọi là mạch logic tuần tự.
Flip-flop có hai trạng thái ổn định, Cao (mức logic 1) và Thấp (mức logic 0). Thuật ngữ “flip-flop” được sử dụng vì chúng có thể chuyển đổi giữa các trạng thái dưới tác động của tín hiệu điều khiển (clock hoặc trigger), tức là chúng có thể “lật” đến một trạng thái và “lật” trở lại trạng thái khác.
Đặc điểm chính của Flip-flop:
- Là một thiết bị lưu trữ nhị phân vì chúng có thể lưu trữ dữ liệu nhị phân (0 hoặc 1).
- Cảm nhận được các cạnh lên và xuống của một xung hoặc thiết bị kích hoạt cạnh, tức là chúng nhạy cảm với quá trình chuyển đổi hơn là thời lượng hoặc độ rộng của tín hiệu xung.
- Còn được gọi là các thiết bị nhạy cảm với sự thay đổi tín hiệu, có nghĩa là sự thay đổi mức tín hiệu xung sẽ dẫn đến sự thay đổi đầu ra của flip-flop.
- Hoạt động phụ thuộc vào xung clock.
- Được sử dụng để điều khiển chức năng của mạch kỹ thuật số. Chúng có thể thay đổi hoạt động của mạch kỹ thuật số tùy thuộc vào trạng thái.
Một số flip-flop phổ biến nhất là SR Flip-flop (Set – Reset), D Flip-flop (Data hoặc Delay), JK Flip-flop và T Flip-flop.
Mạch Chốt so với Flip-flop
Các chốt và flip-flop đều là thiết bị lưu trữ dữ liệu nhị phân 1 bit. Sự khác biệt chính giữa mạch chốt và flip-flop là cơ chế kích hoạt. Mạch chốt có dữ liệu trong suốt khi được bật, trong khi flip-flop phụ thuộc vào sự chuyển đổi của tín hiệu xung, tức là cạnh dương hoặc cạnh âm.
Cách sử dụng hiện đại của thuật ngữ flip-flop được dành cho các thiết bị có xung nhịp và thuật ngữ chốt là để mô tả các thiết bị đơn giản hơn nhiều.
Bảng so sánh Chốt và Flip-flop:
| Tính năng | Chốt | Flip-flop |
|---|---|---|
| Cơ chế kích hoạt | Mức tín hiệu (trong suốt khi Enable) | Cạnh tín hiệu (cạnh lên hoặc cạnh xuống) |
| Độ phức tạp | Đơn giản hơn | Phức tạp hơn |
| Ứng dụng | Mạch logic đơn giản | Hệ thống tuần tự, bộ nhớ |
Các loại Flip-flop
Dựa trên hoạt động của chúng, flip-flop về cơ bản có 4 loại:
- SR Flip Flop
- D Flip Flop
- JK Flip Flop
- T Flip Flop
SR Flip Flop
SR flip-flop là loại flip-flop cơ bản nhất. Tất cả các loại flip-flop khác đều được phát triển sau SR-flip-flop. SR là viết tắt của SET và RESET. Đây cũng có thể được gọi là RS flip-flop. Sự khác biệt là RS là đảo ngược SR flip-flop.
Sơ đồ SR Flip Flop sử dụng cổng NAND, thể hiện hai đầu vào SET (S) và RESET (R) điều khiển trạng thái đầu ra.
Bất kỳ flip-flop nào cũng có thể được xây dựng bằng các cổng logic. Cổng NAND và NOR đã được sử dụng vì chúng là cổng phổ quát.
Bảng sự thật của SR Flip Flop:
| S | R | Q(t+1) | Chú thích |
|---|---|---|---|
| 0 | 0 | Q(t) | Không thay đổi (giữ bộ nhớ) |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | Không xác định | Trạng thái cấm |
Nguyên lý hoạt động của SR Flip Flop:
Từ bảng sự thật trên, rõ ràng là bảng thực trị flip-flop SR sẽ được thiết lập hoặc đặt lại cho bốn điều kiện:
- Đối với điều kiện cuối cùng (S=1, R=1), nó sẽ ở trạng thái không hợp lệ (không xác định).
- SR Flip-flop sẽ được thiết lập khi S = 1 và R = 0. Nếu S = 0 và R = 0 thì trạng thái trước đó được ghi nhớ bởi flip-flop.
- Flip-flop sẽ được đặt lại khi S = 0 và R = 1. Nếu S = 0 và R = 0, thì nó sẽ nhớ trạng thái trước đó.
- Nhưng khi cả hai đầu vào là số không (S=1, R=1), SR Flip-flop sẽ ở trạng thái không chắc chắn, nơi cả Q và Q’ sẽ giống nhau. Điều này không được phép (Q và Q’ phải bù nhau).
Đây là trạng thái không xác định được tránh bằng cách thêm các cổng phụ vào flip-flop hiện có. Điều này được gọi là SR Flip-flop có xung nhịp hoặc gated. Điều này tạo ra đầu ra chỉ cho xung clock Cao.
Mạch flip-flop SR có xung nhịp sử dụng cổng NAND.
Mạch flip flop SR có xung nhịp sử dụng cổng NAND, giúp đồng bộ hóa hoạt động của flip-flop với tín hiệu xung clock.
D Flip Flop
Trong Flip-flop SR, một trạng thái không chắc chắn đã xảy ra (S=1, R=1). Điều này có thể tránh được bằng cách sử dụng D flip-flop. Ở đây D là viết tắt của “Data”. Nó được xây dựng từ flip-flop SR. Hai đầu vào (S & R) của flip-flop SR có xung nhịp được kết nối với một biến tần (inverter).
Nó là một trong những loại flip-flop được sử dụng rộng rãi nhất. Nó có một tín hiệu clock (Clk) như một đầu vào và Dữ liệu (D) như một đầu vào khác. Có hai đầu ra và các đầu ra này bổ sung cho nhau.
Biểu tượng D Flip Flop, thể hiện đầu vào dữ liệu (D) và đầu vào xung clock (CLK) điều khiển việc lưu trữ dữ liệu.
Bảng sự thật:
| Clk | D | Q(t+1) |
|---|---|---|
| 0 | X | Q(t) |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
D flip-flop sử dụng cổng NAND.
Sơ đồ D flip-flop sử dụng cổng NAND, cho thấy cách dữ liệu (D) được truyền đến đầu ra (Q) khi có xung clock.
Nguyên lý hoạt động của D Flip Flop:
- D flip-flop sẽ hoạt động tùy thuộc vào tín hiệu xung.
- Khi xung ở mức thấp sẽ không có sự thay đổi trong đầu ra của flip-flop, tức là nó ghi nhớ trạng thái trước đó.
- Khi tín hiệu xung nhịp cao và nếu nó nhận được bất kỳ dữ liệu nào trên chân dữ liệu của nó, nó sẽ thay đổi trạng thái đầu ra.
- Khi dữ liệu ở mức cao Q đặt lại về 0, trong khi Q được đặt thành 0 nếu dữ liệu ở mức thấp.
Một Flip-flop D phụ chính có thể được xây dựng bằng cách sử dụng D-flip-flop.
JK Flip Flop
JK flip-flop được đặt theo tên của Jack Kilby, một kỹ sư điện, người đã phát minh ra vi mạch.
JK flip-flop là một sửa đổi của flip-flop SR. Trong đó, đầu vào J tương tự như đầu vào đặt của flip-flop SR và đầu vào K tương tự như đầu vào đặt lại của flip-flop SR. Điều kiện J = K = 1 không được phép trong SR flip-flop (S = R = 1) được hiểu như một lệnh bật tắt.
JK flip flop có:
- Hai đầu vào dữ liệu J và K.
- Một đầu vào tín hiệu xung (CLK).
- Hai đầu ra Q và Q’.
Biểu tượng JK Flip Flop, có hai đầu vào J và K, cùng với đầu vào xung clock (CLK) để điều khiển hoạt động.
Bảng sự thật:
| J | K | Q(t+1) |
|---|---|---|
| 0 | 0 | Q(t) |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | Q(t)’ |
Mạch của một JK flip-flop sử dụng các cổng. Nó tương tự như flip-flop NAND SR đã được sửa đổi.
Mạch JK Flip Flop sử dụng cổng logic, tương tự như flip-flop NAND SR đã được sửa đổi, với các đầu vào J và K.
Nguyên lý hoạt động của JK Flip Flop:
- Khi J ở mức thấp và K ở mức thấp, thì Q trả về giá trị trạng thái trước đó của nó, tức là nó giữ trạng thái hiện tại.
- Khi J ở mức thấp và K ở mức cao, thì flip-flop sẽ ở trạng thái reset, tức là Q = 0, Q’ = 1.
- Khi J cao và K thấp thì flip-flop sẽ ở trạng thái xác lập, tức là Q = 1, Q’ = 0.
- Khi J cao và K cao thì flip-flop sẽ ở trạng thái Bật hoặc trạng thái flip. Điều này có nghĩa là đầu ra sẽ bổ sung cho giá trị trạng thái trước đó.
T Flip Flop
T flip-flop còn được gọi là “Toggle Flip-flop”. Toggle là thay đổi đầu ra để bổ sung cho trạng thái trước đó với sự hiện diện của tín hiệu đầu vào xung.
Flip-flop T có:
- T đầu vào.
- Một đầu vào tín hiệu xung (CLK).
- Hai đầu ra Q và Q’.
Biểu tượng T Flip Flop, với một đầu vào T và đầu vào xung clock (CLK), cho phép chuyển đổi trạng thái dựa trên tín hiệu đầu vào.
Chúng ta có thể xây dựng flip-flop T bằng cách sử dụng bất kỳ flip-flop nào khác:
- SR flip-flop: Bằng cách kết nối phản hồi của các đầu ra của SR flip-flop với các đầu vào (S & R).
- D flip-flop: Kết nối Q’ với đầu vào Dữ liệu của nó, D flip-flop làm đường phản hồi.
- JK flip-flop: Bằng cách lược bỏ các đầu vào J & K của JK flip-flop, để tạo thành một đầu vào duy nhất, chúng ta có thể thiết kế T flip-flop.
Bảng sự thật:
| T | Q(t+1) |
|---|---|
| 0 | Q(t) |
| 1 | Q(t)’ |
Mạch của flip-flop T được làm từ flip-flop NAND JK.
Mạch T Flip Flop được tạo từ flip-flop NAND JK, cho phép chuyển đổi trạng thái dựa trên đầu vào T và xung clock.
Nguyên lý hoạt động của T Flip Flop:
Hoạt động của flip-flop T được giải thích dưới đây:
Khi đầu vào T ở mức thấp, thì bước tiếp theo của Flip-flop T giống như trạng thái hiện tại, tức là nó giữ trạng thái hiện tại.
- T = 0 và trạng thái hiện tại = 0 thì trạng thái tiếp theo = 0.
- T = 0 và trạng thái hiện tại = 1 thì trạng thái tiếp theo = 1.
Khi đầu vào T ở mức cao, thì bước tiếp theo của flip-flop T được bật tắt, tức là nó giống như phần bù của trạng thái hiện tại khi chuyển đổi xung nhịp.
- T = 1 và trạng thái hiện tại = 0 thì trạng thái tiếp theo = 1.
- T = 1 và trạng thái hiện tại = 1 thì trạng thái tiếp theo = 0.
Ứng dụng của Flip-Flop
Flip-flop được sử dụng rộng rãi trong:
- Thanh ghi: Vì flip-flop có hai trạng thái ổn định, chúng được sử dụng trong các phần tử bộ nhớ như thanh ghi để lưu trữ dữ liệu. Thanh ghi thường được sử dụng trong các thiết bị điện tử như máy tính.
- Bộ đếm: Các nhóm flip-flop được kết nối với nhau được sử dụng làm bộ đếm để đếm sự tăng hoặc giảm của một sự kiện xảy ra.
- Phân tần: Flip-flop được sử dụng như mạch phân chia tần số, chia tần số đầu vào chính xác đến một nửa của nó. Mạch phân tần được sử dụng để điều chỉnh tần số của mạch điện tử.
- Truyền dữ liệu: Các thanh ghi shift (Một loại thanh ghi đặc biệt) được sử dụng để chuyển dữ liệu từ flip-flop này sang flip-flop khác, được kết nối theo một thứ tự cụ thể.
