Thanh ghi dịch chuyển Serial In Serial Out (SISO)
Khám phá những kiến thức cơ bản về thanh ghi dịch SISO và cách chúng dịch chuyển dữ liệu hiệu quả qua các mạch kỹ thuật số.
Trong lĩnh vực điện tử số, thanh ghi dịch đóng vai trò then chốt trong nhiều ứng dụng, từ lưu trữ dữ liệu đến xử lý tín hiệu. Một loại thường được sử dụng là thanh ghi dịch nối tiếp đầu vào nối tiếp đầu ra (SISO). Thanh ghi dịch nối tiếp đầu vào nối tiếp đầu ra là một mạch logic tuần tự cho phép dữ liệu được dịch vào và ra từng bit một theo kiểu nối tiếp. Dữ liệu đầu vào được đưa vào flip-flop đầu tiên trong chuỗi, và khi xung nhịp xuất hiện, dữ liệu lan truyền qua các flip-flop, cuối cùng xuất hiện ở đầu ra.
- Nó bao gồm một chuỗi các mạch lật (flip-flop) được kết nối nối tiếp với nhau.
- Mạch logic được cung cấp bên dưới minh họa một thanh ghi dịch nối tiếp đầu vào nối tiếp đầu ra (SISO) .
- Nó bao gồm bốn mạch lật D được kết nối với nhau theo trình tự.
- Các mạch lật này hoạt động đồng bộ với nhau vì tất cả đều nhận cùng một tín hiệu xung nhịp.
Tính chất đồng bộ của các flip-flop đảm bảo việc dịch chuyển dữ liệu diễn ra một cách phối hợp. Khi tín hiệu xung nhịp tăng lên, dữ liệu đầu vào được lấy mẫu và lưu trữ trong flip-flop đầu tiên. Trong các xung nhịp tiếp theo, dữ liệu đã lưu trữ sẽ lan truyền qua các flip-flop, di chuyển từ flip-flop này sang flip-flop khác.
Mỗi flip-flop D trong mạch có một đầu vào Dữ liệu (D), một đầu vào Xung nhịp (CLK) và một đầu ra (Q). Đầu vào D biểu thị dữ liệu cần nạp vào flip-flop, trong khi đầu vào CLK được kết nối với tín hiệu xung nhịp chung. Đầu ra (Q) của mỗi flip-flop được kết nối với đầu vào D của flip-flop tiếp theo, tạo thành một mạch ghép tầng.
Nguyên lý hoạt động của SISO
Thanh ghi dịch SISO (Single Input Single Output) là một mạch tuần tự trong đó dữ liệu được nhập từng bit một và được dịch chuyển qua các flip-flop trên mỗi xung nhịp, tạo ra đầu ra theo dạng nối tiếp.
- Dữ liệu được áp dụng vào đầu vào.
- Với mỗi xung nhịp, dữ liệu được chuyển từ flip-flop này sang flip-flop khác.
- Sau n xung nhịp, bit đầu vào sẽ xuất hiện ở đầu ra.
- Tín hiệu đầu ra được lấy từ flip-flop cuối cùng.
Nhìn chung, hệ thống SISO có nghĩa là có một tín hiệu đầu vào được xử lý để thu được tín hiệu đầu ra tương ứng; do đó, nó là yếu tố cốt lõi trong khái niệm về hệ thống và tín hiệu.
Bảng chân lý cho SISO
Dạng sóng
Chức năng và hoạt động
Hoạt động của thanh ghi dịch SISO dựa trên hai thành phần chính: các flip-flop và tín hiệu xung nhịp.
- Flip-flop : Flip-flop là một khối cấu tạo cơ bản của các mạch tuần tự. Trong trường hợp thanh ghi dịch SISO, mỗi flip-flop lưu trữ một bit dữ liệu. Số lượng flip-flop quyết định độ dài hoặc kích thước của thanh ghi dịch.
- Tín hiệu xung nhịp : Tín hiệu xung nhịp đồng bộ hóa sự di chuyển của dữ liệu thông qua thanh ghi dịch. Với mỗi xung nhịp, dữ liệu dịch chuyển từ flip-flop này sang flip-flop khác. Tín hiệu xung nhịp đảm bảo dữ liệu được truyền đi một cách có kiểm soát và đồng bộ.
Khi tín hiệu xung nhịp chuyển từ mức thấp lên mức cao (hoặc từ mức cao xuống mức thấp, tùy thuộc vào cách triển khai cụ thể), dữ liệu đầu vào được lấy mẫu và lưu trữ trong flip-flop đầu tiên. Trong các xung nhịp tiếp theo, dữ liệu đã lưu trữ sẽ di chuyển qua chuỗi các flip-flop. Đầu ra của thanh ghi dịch được lấy từ flip-flop cuối cùng trong chuỗi.
Ứng dụng
- Lưu trữ và truy xuất dữ liệu : Thanh ghi dịch SISO thường được sử dụng để lưu trữ và truy xuất dữ liệu trong các ứng dụng mà việc truyền dữ liệu nối tiếp hiệu quả hơn hoặc khả thi hơn. Ví dụ, trong các hệ thống truyền thông, dữ liệu thường được truyền nối tiếp, và thanh ghi dịch cho phép lưu trữ tạm thời trước khi xử lý tiếp.
- Chuyển đổi nối tiếp sang song song : Bằng cách sử dụng thanh ghi dịch SISO kết hợp với các mạch bổ sung, dữ liệu nối tiếp có thể được chuyển đổi thành dạng song song. Việc chuyển đổi này hữu ích khi giao tiếp giữa các thiết bị nối tiếp và song song, chẳng hạn như bộ vi xử lý và các thiết bị ngoại vi.
- Tạo độ trễ và chuỗi thời gian : Cấu trúc xếp tầng của thanh ghi dịch cho phép tạo ra các phiên bản tín hiệu bị trễ hoặc tạo ra các chuỗi thời gian phức tạp. Bằng cách khai thác các giai đoạn khác nhau của thanh ghi dịch, có thể thu được nhiều phiên bản tín hiệu đầu vào bị trễ khác nhau.
- Mã hóa và giải mã dữ liệu : Thanh ghi dịch có thể được sử dụng trong các ứng dụng mật mã để mã hóa và giải mã dữ liệu. Bằng cách sử dụng các kết nối phản hồi và các phép toán logic thích hợp, thanh ghi dịch có thể hoạt động như một bộ tạo khóa hoặc đơn vị mã hóa.
- Chia tần số và đếm : Các thanh ghi dịch nối tiếp đầu vào và nối tiếp đầu ra được sử dụng trong các ứng dụng chia tần số và đếm. Bằng cách kết nối đầu ra của một flip-flop trở lại đầu vào, thanh ghi dịch có thể hoạt động như một bộ đếm nhị phân, chia tần số đầu vào cho một nửa với mỗi xung nhịp.
Số
Giả sử trạng thái ban đầu là tất cả các flip-flop đều được đặt lại về 0, chúng ta hãy áp dụng một loạt các bit đầu vào và quan sát đầu ra khi dữ liệu được dịch chuyển qua thanh ghi dịch. Để đơn giản, chúng ta sẽ sử dụng tín hiệu xung nhịp có cạnh lên để kích hoạt quá trình dịch chuyển.
Input data: 1011
Clock signal: 1 1 1 1
Giải pháp
Ban đầu, tất cả các flip-flop đều ở trạng thái đặt lại (0), và dữ liệu đầu vào là 1011. Khi tín hiệu xung nhịp tăng lên, bit đầu tiên của đầu vào (1) được lấy mẫu và lưu trữ trong flip-flop đầu tiên. Các bit còn lại dịch chuyển sang phải, và đầu ra phản ánh trạng thái của flip-flop cuối cùng.
Clock 1: Input: 1 0 1 1; Output: 0 0 0 0
Clock 2: Input: 1 0 1 1; Output: 1 0 0 0
Clock 3: Input: 1 0 1 1; Output: 1 1 0 0
Clock 4: Input: 1 0 1 1; Output: 1 1 1 0
Sau bốn chu kỳ xung nhịp, dữ liệu đầu vào đã được dịch chuyển qua thanh ghi dịch và đầu ra cuối cùng là 1110.
Điều quan trọng cần lưu ý là tín hiệu xung nhịp đồng bộ hóa quá trình dịch chuyển, đảm bảo mỗi bit được chuyển đến flip-flop tiếp theo tại cạnh lên của xung nhịp. Đầu ra của thanh ghi dịch chuyển biểu thị bit cuối cùng đã được dịch chuyển ra khỏi thanh ghi.
Ví dụ trên minh họa cách hoạt động của thanh ghi dịch SISO 4 bit, trong đó dữ liệu đầu vào được dịch tuần tự qua các flip-flop, và đầu ra phản ánh trạng thái của flip-flop cuối cùng.
Thanh ghi dịch nối tiếp đầu vào nối tiếp đầu ra (SISO) là một linh kiện đa năng trong thế giới điện tử kỹ thuật số, cung cấp một cách đơn giản nhưng hiệu quả để dịch chuyển và lưu trữ dữ liệu theo kiểu nối tiếp. Ứng dụng của nó trải rộng trên nhiều lĩnh vực, bao gồm lưu trữ dữ liệu, xử lý tín hiệu, mã hóa và phân chia tần số. Hiểu rõ chức năng và hoạt động của thanh ghi dịch SISO là điều cơ bản để thiết kế và triển khai các hệ thống kỹ thuật số yêu cầu thao tác và điều khiển dữ liệu nối tiếp.
Thuận lợi
- Tính đơn giản: Các thanh ghi dịch SISO rất dễ triển khai và hiểu vì chúng chỉ có một đầu vào và một đầu ra. Điều này giúp thiết kế dễ chế tạo, do đó được sử dụng rộng rãi trong nhiều ứng dụng.
- Hiệu quả về không gian: Một SISO có thể lưu trữ dữ liệu cần thiết chỉ bằng một vài phần tử lưu trữ so với thanh ghi dịch song song, vốn có thể yêu cầu nhiều thiết bị lưu trữ hơn. Do đó, trong các ứng dụng có không gian hạn chế, SISO được ưu tiên lựa chọn.
- Tiết kiệm: Điều này chủ yếu là do việc sử dụng các thanh ghi dịch song song có nhược điểm nêu trên lại tiết kiệm hơn so với việc sử dụng thanh ghi dịch song song hoặc thanh ghi dịch SISO được ưu tiên hơn bất kỳ hệ thống phức hợp nào khác để lưu trữ thông tin.
- Xử lý tuần tự: Các thanh ghi SISO xử lý dữ liệu theo thứ tự nối tiếp, điều này rất hữu ích nếu dữ liệu cần được xử lý theo một thứ tự hoặc trình tự nhất định.
- Khả năng tương thích: Các hệ thống truyền thông nối tiếp chủ yếu sử dụng thanh ghi dịch SISO, và chúng có thể dễ dàng sử dụng công nghệ này khi thích ứng với các giao thức và tiêu chuẩn truyền thông khác nhau.
Nhược điểm
- Tốc độ truyền dữ liệu chậm hơn: Do xử lý dữ liệu theo kiểu nối tiếp, các thanh ghi dịch SISO có thể có tốc độ truyền dữ liệu chậm hơn so với các thanh ghi song song truyền nhiều bit cùng một lúc. Đây là một nhược điểm, đặc biệt trong trường hợp cần xử lý dữ liệu tốc độ cao.
- Khả năng xử lý song song hạn chế: Các thanh ghi dịch SISO xử lý từng bit một, do đó hạn chế khả năng xử lý song song. Chúng không phù hợp cho các ứng dụng mà xử lý song song là yếu tố then chốt.
- Độ phức tạp khi thực hiện nhiều phép toán: Trong trường hợp ứng dụng yêu cầu cả các phép toán logic tuần tự và song song đồng thời trên các đầu vào nhiều bit, điều này có thể trở nên không khả thi vì sẽ cần nhiều SISO thay vì chỉ một, do đó làm tăng độ phức tạp và làm cho nó kém hiệu quả hơn so với việc sử dụng thanh ghi PIS.
- Khó khăn trong đồng bộ hóa dữ liệu: Về vấn đề đồng bộ hóa đầu vào và đầu ra, việc này trở nên khó khăn do tính chất tuần tự của các thanh ghi dịch SISO trong các hệ thống mà khía cạnh này rất quan trọng.
- Độ trễ lan truyền cao: Khi sử dụng thanh ghi SISO, chúng ta thường thấy tổn thất xử lý cao hơn nếu cố gắng truyền dữ liệu qua nó quá nhanh vì nó không thể thực hiện những thao tác như mạch tương tự.
