Tại sao chúng ta cần đệm tín hiệu USB nếu cáp dài hơn 5m?
Có phải vì giảm điện áp tín hiệu?
Đó có phải là vì nó điều khiển dòng điện?
Tại sao chúng ta cần đệm tín hiệu USB nếu cáp dài hơn 5m?
Có phải vì giảm điện áp tín hiệu?
Đó có phải là vì nó điều khiển dòng điện?
Câu trả lời:
Tốc độ của các vấn đề truyền tải vì USB là một nửa song công: để truyền một phản hồi, xe buýt phải được quay lại và dữ liệu được truyền theo hướng khác. Vì vậy, máy chủ lưu trữ dữ liệu và chờ đợi một xác nhận hoặc phản hồi. Tất cả các chuyển được kiểm soát bởi các máy chủ. Thiết bị sau đó có một thời gian nhất định (khá ngắn) để đáp ứng. Thời gian này là khoảng thời gian dành cho hai chuyến đi tín hiệu dọc theo cáp 5m.
(Tôi không thể tìm thấy tài liệu tham khảo ngay thứ hai này, nhưng các tài liệu thông số kỹ thuật có liên quan là công khai)
Chỉnh sửa: cảm ơn psmears vì đã tìm thấy phần này
Cáp và giải pháp kéo dài
- Tại sao có giới hạn chiều dài cáp, và chúng là gì?
Trả lời: Chiều dài cáp được giới hạn bởi thông số độ trễ cáp là 26ns để cho phép các phản xạ lắng xuống tại máy phát trước khi bit tiếp theo được gửi. Vì USB sử dụng các trình điều khiển chế độ điện áp và chấm dứt nguồn, đây phải là trường hợp, nếu không các phản xạ có thể chồng chất và thổi bay trình điều khiển. Điều này không có nghĩa là điện áp đường dây đã được giải quyết hoàn toàn vào cuối bit; với sự hủy diệt trong trường hợp xấu nhất. Tuy nhiên, đã có đủ giảm xóc vào cuối bit rằng biên độ phản xạ đã giảm xuống mức có thể quản lý được. Chiều dài cáp tốc độ thấp được giới hạn ở 18ns để giữ cho hiệu ứng đường truyền không ảnh hưởng đến tín hiệu tốc độ thấp.
- Tôi muốn xây dựng một cáp dài hơn 5 mét, tại sao điều này sẽ không hoạt động?
A: Ngay cả khi bạn vi phạm thông số kỹ thuật, nó thực sự sẽ không đưa bạn đi rất xa. Giả sử thời gian trễ trong trường hợp xấu nhất, một thiết bị tốc độ đầy đủ ở dưới cùng của 5 hub và cáp có biên độ hết thời gian là 280ps. Giảm mức ký quỹ này xuống 0ps sẽ chỉ giúp bạn có thêm 5cm, điều này hầu như không đáng để gặp rắc rối.
Vì vậy, câu trả lời của tôi chỉ đúng một nửa: giới hạn chuyến đi khứ hồi dành cho một chuỗi các trung tâm và dây cáp trong trường hợp xấu nhất, với tổng độ sâu 25m.
Dan Neely cũng đúng khi USB luôn được coi là giải pháp chi phí thấp nhất cho các thiết bị ngoại vi "chậm" như bàn phím, chuột, máy in, v.v ... Nếu bạn muốn in hai mặt đầy đủ để có tốc độ cao hơn và nhiều khoảng cách hơn, ethernet 100baseT là lựa chọn tự nhiên.
Xem trang này, /superuser/64744/maximum-length-of-a-usb-cable .
Câu 1: Tôi có thể sử dụng cáp trong bao lâu để kết nối thiết bị của mình? A1: Trong thực tế, thông số kỹ thuật USB giới hạn chiều dài của cáp giữa các thiết bị tốc độ tối đa là 5 mét (một chút dưới 16 feet 5 inch). Đối với thiết bị tốc độ thấp, giới hạn là 3 mét (9 feet 10 inch).
Câu 2: Tại sao tôi không thể sử dụng cáp dài hơn 3 hoặc 5m? A2: Thiết kế điện của USB không cho phép. Khi USB được thiết kế, một quyết định đã được đưa ra để xử lý việc truyền các trường điện từ trên các đường dữ liệu USB theo cách giới hạn độ dài tối đa của cáp USB ở mức nào đó trong phạm vi 4m. Phương pháp này có một số ưu điểm và, vì USB được dành cho môi trường máy tính để bàn, nên các giới hạn phạm vi được coi là chấp nhận được. Nếu bạn quen thuộc với lý thuyết đường truyền và muốn biết thêm chi tiết về chủ đề này, hãy xem phần tín hiệu USB của Câu hỏi thường gặp của nhà phát triển.
Thật sự không thể "đệm" USB, ít nhất là không phải theo nghĩa thông thường của từ này. Thông thường, bộ đệm có nghĩa là khuếch đại điện và có lẽ tái tạo tín hiệu.
Với USB, máy chủ lưu trữ toàn bộ xe buýt. Một máy chủ gửi yêu cầu và thiết bị phải đưa ra phản hồi cho máy chủ. Bắt đầu phản hồi phải đến máy chủ một thời gian nhất định sau khi yêu cầu truyền xong. Với cáp quá dài, độ trễ lan truyền quá dài để đáp ứng kịp thời đến máy chủ.
Vì vậy, có cách giải quyết, và không ai trong số chúng liên quan đến việc "đệm" đơn giản vì bộ đệm thêm sự chậm trễ bổ sung, và chúng ta cần bằng cách nào đó làm cho máy chủ chịu đựng được độ trễ lâu hơn.
Có hai loại cách giải quyết:
Giải pháp chèn trung tâm vật lý hoặc ảo. Nếu một máy chủ liệt kê một trung tâm trên xe buýt, thì chính trung tâm đó sẽ thêm một độ trễ nữa và có một cáp có chiều dài đầy đủ khác giữa trung tâm và máy chủ. Bất kỳ yêu cầu nào cho các thiết bị gắn dưới dòng từ trung tâm đều được lên lịch với độ trễ bổ sung.
Bạn có thể chèn một hub cổng đơn cứ sau 4m cáp, với tối đa 7 hub nối tiếp. Giới hạn là 7 cấp độ trung tâm từ máy chủ đến thiết bị cuối cùng, vì vậy nếu có bất kỳ trung tâm nào ngược dòng của bạn, bạn cần giảm số lượng trung tâm tương ứng. Nhiều máy chủ USB bao gồm một cấp độ trung tâm bên trong, do đó giới hạn thực tế sẽ là 28m cáp, với 6 trung tâm nối tiếp. Tất cả các trung tâm nhưng người đầu tiên sẽ phải giả vờ tự cấp nguồn.
Bạn có thể thêm các trung tâm ảo, với bộ thu phát mạnh hơn với định kiến, ngay tại phích cắm đi vào máy chủ, sau đó truyền lưu lượng USB qua cáp dài hơn. Miễn là tín hiệu mà thiết bị nhận được ở cuối cáp mở rộng như vậy nằm trong thông số kỹ thuật và miễn là máy thu của bạn có thể khôi phục dữ liệu được gửi bởi thiết bị tiêu chuẩn qua cáp dài, bạn sẽ ổn. Các trung tâm ảo được thêm vào để máy chủ cho phép trì hoãn lâu - nhưng tất nhiên không có trung tâm vật lý nào, chỉ là một sự mạo danh của chúng.
Giải pháp mô phỏng một thiết bị có vẻ "chậm" ở mức giao thức cao hơn. Đó là cách một số "bộ mở rộng" USB của Cat-5 hoạt động. Có năm đối tác ở đây: máy chủ thực sự (rhost), một thiết bị mô phỏng được nhìn thấy bởi nó (eDev), cáp dài, máy chủ mô phỏng (ehost) và các thiết bị nhìn thấy nó ở đầu xa của cáp (rDev) .
Ban đầu, eDev giả vờ không có mặt ở đó. Tại một số thời điểm, ehost thấy rằng một rDev đã được cắm. Nó liệt kê nó và chuyển tiếp dữ liệu tới eDev. Sau đó, eDev mô phỏng một sự kiện bổ trợ và rhost liệt kê nó. The rhost tin rằng họ nhìn thấy rDev, nhưng chỉ có eDev ở đó, giả vờ. Tương tự như vậy, rDev nghĩ rằng đang nhìn thấy một rhost, nhưng đó chỉ là một ehost đang ở đó, giả vờ.
Cuối cùng, rhost muốn phát hành một số chuyển khoản cho rDev mà nó tin là có, để sử dụng nó. Đối với chuyển khoản IN, eDev giả vờ không có dữ liệu (trả lời bằng NAK). Yêu cầu chuyển được chuyển tiếp đến ehost, thực hiện lại nó với rDev. Kết quả của việc này được chuyển lại cho eDev, sử dụng kết quả vào lần tiếp theo khi chủ nhà cố gắng chuyển.
Đối với chuyển khoản OUT, eDev phải đoán xem hành vi của rDev sẽ như thế nào. Có nhiều heuristic và hành vi có thể được cố gắng ở đây. Một cách là để eDev luôn nhận dữ liệu và trả lời bằng ACK. Việc chuyển tiền được chuyển tiếp đến ehost, sau đó phát lại chuyển khoản sang rDev. Lý tưởng nhất, rDev cuối cùng sẽ tiêu thụ dữ liệu và ACK nó. Nếu điều này không thành công hoặc nếu rDev trả lời bằng STALL, điều tốt nhất mà eDev có thể làm là thực hiện theo cách này trong lần chuyển tiếp theo từ máy chủ. Ngoài ra, eDev luôn có thể NAK chuyển, với giả định thường chính xác rằng máy chủ sẽ chỉ thử lại chuyển khoản giống hệt sau đó. Mặc dù chuyển khoản ban đầu là NAK-ed, nó được chuyển tiếp đến ehost, sau đó thực hiện chuyển khoản với rDev. Dù câu trả lời của rDev là gì, hãy trở thành câu trả lời của eDev ngay khi biết được.
Việc triển khai thực tế sẽ bắt đầu với các heuristic bảo thủ liên quan đến việc làm tròn hoàn toàn đến rDev cho tất cả các giao dịch có thể bị hoãn bởi NAK. Khi quá trình chuyển tiền diễn ra, hành vi dự kiến của rDev có thể được học và eDev có thể trở nên ít bảo thủ hơn. "Bộ mở rộng" có thể sử dụng kiến thức về các lớp USB tiêu chuẩn và một số kiến thức / danh sách thiết bị / danh sách đen dành riêng cho nhà cung cấp để cung cấp hiệu suất tốt hơn.
Hầu hết các sơ đồ truyền dữ liệu qua cáp đều có một tiêu chuẩn được quốc tế công nhận mô tả cách thực hiện chúng, bao gồm một đặc điểm kỹ thuật cho "trở kháng đặc tính" của cáp (coi đây là điện trở, nhưng áp dụng cho AC), trở kháng kết thúc ( 'điện trở' ở cuối kết nối cần thiết để tránh phản xạ tín hiệu của bạn dội ngược cáp về phía người gửi), thường là 'tốc độ xoay' được chỉ định (thời gian cần thiết để tín hiệu chuyển từ 0 trạng thái sang trạng thái 1 hoặc ngược lại) và do đó số lần chuyển đổi tối đa giữa 0/1 mỗi giây (tức là kbps / Mbps / Gbps) và do đó cáp có thể mất bao lâu trước khi toàn vẹn tín hiệu suy giảm & công cụ ngừng hoạt động ngay.
So với USB, RS232 có tất cả các thông số kỹ thuật về loại cáp, trở kháng đặc tính, tốc độ xoay, chiều dài cáp, loại đầu nối. Chắc chắn, các đầu nối 'D' 25 chân và 9 chân là phổ biến, nhưng trên thực tế, RS232 được thiết kế thành tất cả các loại đầu nối & cáp & sản phẩm không có thông số kỹ thuật thực sự để nói khác. Trong thực tế, với RS232, bạn thường có thể đi được quãng đường dài hơn bằng cách giảm xuống tốc độ bit trên mỗi giây (còn gọi là 'baud') thấp hơn. Khoảng cách tối đa bạn có thể đạt được cũng sẽ được xác định một phần đáng kể trên trở kháng của cáp, cho dù nó có được che chắn hay không, chấm dứt ở cuối, v.v.
và khi so sánh RS232 với USB, bạn đang so sánh một 'tiêu chuẩn' từ những năm 1960, đứng đầu ở mức 115k2 (với các trường hợp ngoại lệ hiếm hoi), với một trong những năm 1990 và 2000 bắt đầu với tốc độ 1,5Mb / giây , nhanh hơn sau đó là 12Mbps (nhanh hơn gần 100 lần), sau đó là 480Mbps (nhanh hơn gần 5000 lần), nhưng điều đó có nghĩa là các tham số cáp và chiều dài cáp đóng vai trò quan trọng trong việc làm cho nó hoạt động đáng tin cậy . Nó được thiết kế như một tiêu chuẩn kết nối ngoại vi máy tính để bàn, vì vậy 5m được coi là chấp nhận được, và sau đó tất cả các thông số của cáp & đầu nối & tốc độ được đặt ra từ thời điểm đó. Nếu có một cách để làm cho USB chạy chậm hơn, có lẽ bạn có thể làm cho nó chạy trên các dây cáp dài hơn (không có bộ lặp).