Thanh ghi ca rất hữu ích trong các hệ thống kỹ thuật số bằng cách kiểm soát cách dữ liệu được lưu trữ và truyền. Trong số đó, thanh ghi dịch chuyển Serial-In Parallel-Out (SIPO) cung cấp một cách hiệu quả để chuyển đổi đầu vào nối tiếp thành đầu ra song song. Bài viết này giải thích cấu trúc, hoạt động ở mức tín hiệu và hành vi thời gian của nó.

SIPO Shift Register là gì?
Thanh ghi dịch chuyển Serial-In Parallel-Out (SIPO) là một mạch kỹ thuật số chấp nhận dữ liệu nhị phân từng bit một thông qua một đầu vào nối tiếp duy nhất và lưu trữ từng bit trong một chuỗi flip-flop. Sau khi được lưu trữ, tất cả các bit có thể được đọc cùng nhau thông qua nhiều đầu ra song song. Chức năng chính của nó là chuyển đổi dữ liệu nối tiếp thành dữ liệu song song.
Nguyên lý làm việc và chuyển đổi dữ liệu của thanh ghi ca SIPO

Thanh ghi dịch chuyển SIPO di chuyển dữ liệu qua một loạt flip-flop bằng cách sử dụng chuyển đổi được điều khiển bằng đồng hồ, cho phép lưu trữ các bit đầu vào tuần tự và sau đó được truy cập đồng thời tại đầu ra.
Đầu vào nối tiếp (SI)
Đầu vào nối tiếp cung cấp từng bit một cho flip-flop đầu tiên trong thanh ghi. Trước khi cạnh đồng hồ hoạt động xảy ra, bit đầu vào phải ổn định để có thể chụp chính xác. Khi cạnh đồng hồ đến, bit mới bước vào giai đoạn đầu tiên, trong khi các bit đã được lưu trữ sẽ chuyển sang giai đoạn tiếp theo. Điều này tạo ra việc truyền dữ liệu từng bước thông qua thanh ghi.
Đầu ra song song (Q0, Q1, Q2, ...)
Mỗi flip-flop có một đầu ra liên tục phản ánh bit được lưu trữ trong giai đoạn đó. Các đầu ra này đại diện cho các vị trí bit khác nhau, cho phép dữ liệu được lưu trữ được đọc ở dạng song song. Sau mỗi cạnh xung nhịp, đầu ra phản ánh các giá trị được cập nhật sau một khoảng thời gian lan truyền ngắn, cho phép truy cập đồng thời tất cả các bit.
Tín hiệu đồng hồ (CLK)
Tín hiệu đồng hồ điều khiển khi dữ liệu di chuyển qua thanh ghi. Dữ liệu chỉ dịch chuyển trên cạnh đồng hồ được xác định (tăng hoặc giảm, tùy thuộc vào thiết kế). Vì tất cả các dép xỏ ngón đều có chung đồng hồ, chúng phản ứng với cùng một sự kiện thời gian. Giữa các cạnh đồng hồ, các giá trị được lưu trữ không thay đổi.
Chế độ hoạt động

Trong khi thanh ghi SIPO cơ bản hoạt động thông qua dịch chuyển nối tiếp, một số thiết kế bao gồm các tính năng điều khiển bổ sung thay đổi cách dữ liệu được tải hoặc cập nhật.
Chế độ thay đổi
Ở chế độ thay đổi, dữ liệu đi vào thanh ghi từng bit một thông qua đầu vào nối tiếp. Với mỗi xung đồng hồ, các bit được lưu trữ di chuyển từng bước từ flip-flop này sang flip-flop tiếp theo trong khi vẫn duy trì trình tự của chúng. Sự thay đổi liên tục này cho phép dữ liệu tuần tự được lưu trữ và truyền theo thứ tự.
Khả năng tải song song (Phụ thuộc vào thiết bị)
Thanh ghi ca SIPO tiêu chuẩn thường không bao gồm tải song song. Tuy nhiên, một số thiết kế mở rộng hoặc kết hợp (chẳng hạn như thanh ghi chuyển số phổ quát) cho phép dữ liệu được tải đồng thời vào tất cả các flip-flop. Khi có tính năng này, tín hiệu điều khiển cho phép tất cả các bit được ghi lại trong một sự kiện đồng hồ duy nhất, cung cấp quyền truy cập ngay lập tức vào tập dữ liệu đầy đủ mà không cần nhiều chu kỳ thay đổi.
Ví dụ từng bước và hành vi truyền dữ liệu
Hãy xem xét thanh ghi dịch chuyển SIPO 4 bit bắt đầu từ 0000. Trình tự đầu vào nối tiếp 1011 được áp dụng từng bit một. Trong ví dụ này, các bit chuyển sang vị trí quan trọng nhất, trong khi vị trí ít quan trọng nhất giữ dữ liệu được nhập gần đây nhất.
| Xung đồng hồ | Bit đầu vào | Đăng ký tiểu bang |
|---|---|---|
| Ban đầu | — | 0000 |
| 1 | 1 | 0001 |
| 2 | 0 | 0010 |
| 3 | 1 | 0101 |
| 4 | 1 | 1011 |
Sau mỗi xung đồng hồ:
Bit đầu vào mới bước vào giai đoạn đầu tiên
Các bit được lưu trữ trước đó dịch chuyển một vị trí về phía trước
Các bit trước đó chuyển sang giai đoạn đầu ra cuối cùng
Sau bốn xung, dữ liệu 4 bit đầy đủ có sẵn song song
Tiếp tục xung nhịp thay thế các bit được lưu trữ cũ hơn bằng dữ liệu đầu vào mới
Sau bốn xung đồng hồ, thanh ghi lưu trữ 1011 và tất cả bốn bit đều có sẵn ở các đầu ra song song.
Hạn chế về thời gian và các vấn đề liên quan đến thời gian
Thông số thời gian
| Tham số | Mô tả |
|---|---|
| Thời gian thiết lập | Đầu vào phải ổn định trước cạnh đồng hồ |
| Thời gian giữ | Đầu vào phải ổn định sau cạnh đồng hồ |
| Độ trễ lan truyền | Thời gian cần thiết để cập nhật đầu ra |
| Khoảng thời gian đồng hồ | Phải cho phép giải quyết tín hiệu đầy đủ |
Ảnh hưởng của vi phạm thời gian
| Vấn đề | Kết quả |
|---|---|
| Vi phạm thiết lập | Thu thập dữ liệu không chính xác |
| Vi phạm tạm giữ | Đầu ra không ổn định |
| Tốc độ xung nhịp quá mức | Chuyển số không hoàn chỉnh |
Những sai lầm thường gặp về thời gian
| Sai lầm | Tác động |
|---|---|
| Bỏ qua các yêu cầu thiết lập/giữ | Hoạt động không đáng tin cậy |
| Sử dụng tín hiệu xung nhịp quá nhanh | Vi phạm thời gian |
| Đồng hồ chập chờn | Kích hoạt ngoài ý muốn |
Thực hành thời gian tốt
| Thực hành | Lợi ích |
|---|---|
| Sử dụng nguồn đồng hồ ổn định | Hành vi thời gian nhất quán |
| Tôn trọng giới hạn thiết lập/giữ | Ngăn ngừa lỗi dữ liệu |
| Giữ tần số xung nhịp trong giới hạn an toàn | Hoạt động đáng tin cậy |
| Giảm thiểu độ trễ đường dẫn | Cải thiện độ ổn định thời gian |
Chốt đầu ra và xếp tầng
Chốt đầu ra (Cải thiện kiểm soát)

Một số thanh ghi dịch chuyển SIPO bao gồm một giai đoạn chốt đầu ra riêng biệt cho phép cập nhật đầu ra có kiểm soát.
| Hoạt động | Tín hiệu | Hiệu quả / Lợi ích |
|---|---|---|
| Thay đổi dữ liệu thông qua dép xỏ ngón bên trong | Đồng hồ chuyển số (SH_CP) | Di chuyển dữ liệu từng giai đoạn mà không ảnh hưởng đến đầu ra |
| Dữ liệu được lưu trữ được chuyển sang giai đoạn đầu ra | Đồng hồ chốt (ST_CP) | Cập nhật tất cả các kết quả đầu ra cùng một lúc |
| Nhập dữ liệu nối tiếp | Đầu vào dữ liệu (SER) | Cung cấp luồng bit đầu vào |
Cấu trúc này ngăn dữ liệu trung gian xuất hiện ở đầu ra và cho phép cập nhật đồng bộ.
Xếp tầng nhiều thanh ghi SIPO

Xếp tầng mở rộng số lượng đầu ra bằng cách kết nối nhiều thanh ghi.
| Khía cạnh | Hành vi | Cân nhắc thiết kế | Ứng dụng |
|---|---|---|---|
| Chuỗi nối tiếp | Đầu ra của một nguồn cấp dữ liệu đầu vào tiếp theo | Thời gian trở nên quan trọng hơn | Mở rộng chân đầu ra |
| Đồng hồ dùng chung | Tất cả các thanh ghi đều sử dụng cùng một đồng hồ | Độ trễ lan truyền tăng | Mảng hoặc màn hình LED |
| Điền tuần tự | Điền dữ liệu theo từng giai đoạn | Yêu cầu nhiều chu kỳ xung nhịp hơn | Hệ thống điều khiển đa dây chuyền |
SIPO so với Serial-In Serial-Out (SISO)

| Tính năng | SIPO | SISO |
|---|---|---|
| Loại đầu vào | Nối tiếp | Nối tiếp |
| Loại đầu ra | Song song | Nối tiếp |
| Truy cập dữ liệu | Tất cả các bit được lưu trữ có sẵn cùng một lúc | Từng chút một |
| Di chuyển dữ liệu | Chuyển đổi, đọc song song | Chuyển đổi qua đầu ra duy nhất |
| Sử dụng điển hình | Chuyển đổi dữ liệu | Độ trễ hoặc truyền dữ liệu |
| Thời gian đầu ra | Có sẵn sau khi tải | Xuất hiện sau ca làm việc đầy đủ |
Ứng dụng của thanh ghi ca SIPO

Thanh ghi ca SIPO được sử dụng khi dữ liệu nối tiếp cần được lưu trữ, chuyển đổi hoặc gửi đến nhiều dòng đầu ra cùng một lúc.
• Lưu trữ tạm thời dữ liệu nối tiếp trước khi sử dụng song song - Chúng giữ các bit nối tiếp đến cho đến khi có từ dữ liệu hoàn chỉnh.
• Chuyển đổi dữ liệu nối tiếp sang song song - Chúng chuyển đổi đầu vào một bit tại một thời điểm thành đầu ra song song nhiều bit.
• Mở rộng đầu ra cho tín hiệu điều khiển kỹ thuật số - Chúng cho phép hệ thống điều khiển một số đường đầu ra bằng cách sử dụng ít chân đầu vào hơn.
• Hỗ trợ giải mã địa chỉ - Chúng có thể giúp cung cấp địa chỉ song song hoặc bit điều khiển để chọn vị trí bộ nhớ, thiết bị hoặc phần mạch.
Thiết bị đăng ký ca SIPO phổ biến

• SN74ALS164A - Thanh ghi chuyển số SIPO cơ bản không có chốt đầu ra; Cập nhật đầu ra ngay lập tức

• SN74AHC594 - Bao gồm chốt đầu ra để cập nhật có kiểm soát

• SN74AHC595 – Thanh ghi ca phổ biến với thanh ghi lưu trữ và đầu ra ba trạng thái

• CD4094 - Thiết bị dựa trên CMOS có hỗ trợ chốt và xếp tầng
Câu hỏi thường gặp [FAQ]
Độ trễ lan truyền ảnh hưởng như thế nào đến việc xếp tầng nhiều thanh ghi ca SIPO?
Độ trễ lan truyền tích lũy trên các giai đoạn xếp tầng, có thể gây ra sai lệch thời gian giữa dữ liệu nối tiếp và đồng hồ. Khi chiều dài chuỗi tăng lên, các nhà thiết kế phải giảm tần số xung nhịp hoặc thêm biên độ thời gian để đảm bảo dịch chuyển dữ liệu chính xác và đồng bộ hóa đầu ra ổn định.
Tại sao một số thanh ghi dịch chuyển SIPO bao gồm chốt đầu ra và khi nào cần thiết?
Chốt đầu ra cách ly dịch chuyển bên trong khỏi đầu ra bên ngoài, ngăn dữ liệu trung gian xuất hiện trong quá trình chuyển đổi đồng hồ. Nó là cần thiết trong các ứng dụng như điều khiển LED hoặc điều khiển màn hình, trong đó tất cả các đầu ra phải cập nhật đồng thời mà không có trục trặc có thể nhìn thấy được.
Những hạn chế chính của việc sử dụng thanh ghi dịch chuyển SIPO thay vì bộ mở rộng GPIO là gì?
Thanh ghi ca SIPO yêu cầu xung nhịp liên tục và tải dữ liệu tuần tự, điều này làm tăng độ trễ khi chiều rộng đầu ra tăng lên. Nó cũng thiếu khả năng định địa chỉ và khả năng đọc lại, khiến nó ít phù hợp hơn với điều khiển phức tạp hoặc hai chiều so với bộ mở rộng GPIO sử dụng I²C hoặc SPI.
Các hạn chế về thời gian thiết lập và thời gian giữ ảnh hưởng như thế nào đến độ tin cậy của thanh ghi ca SIPO?
Nếu vi phạm các yêu cầu về thiết lập hoặc thời gian giữ, dữ liệu đầu vào có thể không được ghi lại chính xác ở cạnh đồng hồ, dẫn đến lỗi bit hoặc đầu ra không ổn định. Hoạt động đáng tin cậy đòi hỏi tín hiệu đầu vào ổn định trước và sau khi chuyển đổi đồng hồ và tần số xung nhịp cho phép giải quyết tín hiệu đầy đủ.
Khi nào nhà thiết kế nên tránh sử dụng thanh ghi ca SIPO trong hệ thống kỹ thuật số?
Nên tránh thanh ghi dịch chuyển SIPO khi cần truy cập ngẫu nhiên nhanh vào đầu ra, khi cần giao tiếp hai chiều hoặc khi hạn chế về thời gian chặt chẽ. Trong những trường hợp như vậy, giao diện song song hoặc bộ mở rộng dựa trên giao tiếp cung cấp hiệu suất và tính linh hoạt tốt hơn.