Sự khác biệt giữa điều khiển luồng phần cứng DTR / DSR và RTS / CTS là gì? Khi nào mỗi cái được sử dụng? Tại sao chúng ta cần nhiều hơn một loại điều khiển luồng phần cứng? :)
Câu trả lời:
Có nhiều cách để thực hiện công việc bởi vì không bao giờ có bất kỳ giao thức nào được tích hợp vào các tiêu chuẩn. Bạn sử dụng bất kỳ "tiêu chuẩn" đặc biệt nào mà thiết bị của bạn thực hiện.
Chỉ dựa trên những cái tên, RTS / CTS dường như là một sự phù hợp tự nhiên. Tuy nhiên, nó đi ngược lại so với nhu cầu phát triển theo thời gian. Các tín hiệu này được tạo ra vào thời điểm khi một thiết bị đầu cuối sẽ gửi hàng loạt màn hình đầy dữ liệu, nhưng bộ thu có thể chưa sẵn sàng, do đó cần phải kiểm soát luồng. Sau đó, vấn đề sẽ được giải quyết, vì thiết bị đầu cuối không thể theo kịp dữ liệu đến từ máy chủ, nhưng các tín hiệu RTS / CTS đi sai hướng - giao diện không trực giao và không có tín hiệu tương ứng nào đi theo hướng khác. Các nhà sản xuất thiết bị đã điều chỉnh tốt nhất có thể, bao gồm cả việc sử dụng tín hiệu DTR và DSR.
BIÊN TẬP
Để thêm một chút chi tiết, hệ thống phân cấp hai cấp của nó nên "chính thức" cả hai đều phải xảy ra để giao tiếp diễn ra. Hành vi được định nghĩa trong tiêu chuẩn CCITT ban đầu (nay là ITU-T) V.28.
DCE là một modem kết nối giữa thiết bị đầu cuối và mạng điện thoại. Trong mạng điện thoại là một thiết bị khác tách ra khỏi mạng dữ liệu, ví dụ. X.25.
Modem có ba trạng thái: Đã tắt nguồn, Sẵn sàng (Sẵn sàng cho tập dữ liệu là đúng) và được kết nối ( Phát hiện nhà cung cấp dữ liệu )
Thiết bị đầu cuối không thể làm bất cứ điều gì cho đến khi modem được kết nối.
Khi modem muốn gửi dữ liệu, nó sẽ tăng RTS và modem đưa ra yêu cầu với CTS. Modem giảm CTS khi bộ đệm bên trong của nó đầy.
Hoài niệm quá!
Sự khác biệt giữa chúng là chúng sử dụng các chân khác nhau. Nghiêm túc đấy. Lý do cả hai đều tồn tại là RTS / CTS ban đầu không được cho là một cơ chế kiểm soát luồng; nó dành cho các modem bán song công để điều phối ai đang gửi và ai đang nhận. RTS và CTS đã bị lạm dụng để kiểm soát dòng chảy thường xuyên đến mức nó trở thành tiêu chuẩn.
Một điểm khác biệt quan trọng là một số UART (đáng chú ý là 16550) sẽ ngừng nhận các ký tự ngay lập tức nếu máy chủ của chúng hướng dẫn họ đặt DSR thành không hoạt động. Ngược lại, các ký tự sẽ vẫn được nhận nếu CTS không hoạt động. Tôi tin rằng ý định ở đây là DSR chỉ ra rằng thiết bị không còn lắng nghe nữa và vì vậy việc gửi thêm bất kỳ ký tự nào nữa là vô nghĩa, trong khi CTS chỉ ra rằng bộ đệm đang đầy; cái sau cho phép một lượng 'trượt' nhất định trong đó dòng điều khiển luồng thay đổi trạng thái giữa việc lấy mẫu DTE và ký tự tiếp theo được truyền đi. Trong (tương đối) các thiết bị sau này hỗ trợ FIFO phần cứng, có thể một số ký tự có thể được truyền sau khi DCE đã đặt CTS ở trạng thái không hoạt động.