ทำไมเราต้องบัฟเฟอร์สัญญาณ USB หากสายยาวเกิน 5m
นั่นเป็นเพราะแรงดันสัญญาณตกหรือไม่
นั่นเป็นเพราะมันขับกระแส
ทำไมเราต้องบัฟเฟอร์สัญญาณ USB หากสายยาวเกิน 5m
นั่นเป็นเพราะแรงดันสัญญาณตกหรือไม่
นั่นเป็นเพราะมันขับกระแส
คำตอบ:
ความเร็วในการส่งข้อมูลมีความสำคัญเนื่องจาก USB เป็นแบบ half-duplex: ในการส่งคำตอบบัสจะต้องหมุนไปรอบ ๆ และส่งข้อมูลในทิศทางอื่น ดังนั้นโฮสต์จึงส่งข้อมูลและรอการตอบรับหรือการตอบกลับ การถ่ายโอนทั้งหมดถูกควบคุมโดยโฮสต์ อุปกรณ์นั้นมีเวลา (สั้นพอสมควร) ที่จะตอบสนอง เวลานี้ประมาณเวลาที่ใช้สำหรับการส่งสัญญาณสองเส้นทางพร้อมสายเคเบิลยาว 5 เมตร
(ฉันไม่สามารถหาการอ้างอิงได้ในวินาทีนี้ แต่เอกสารข้อมูลจำเพาะที่เกี่ยวข้องเป็นแบบสาธารณะ)
แก้ไข: ขอบคุณ psmears สำหรับการค้นหาส่วนนี้
สายเคเบิลและโซลูชันระยะไกล
- เหตุใดจึงมีข้อจำกัดความยาวของสายเคเบิลและมีอะไรบ้าง
ตอบ: ความยาวสายเคเบิลถูก จำกัด โดยข้อมูลจำเพาะการหน่วงเวลาของสายเคเบิลที่ 26ns เพื่อให้การสะท้อนกลับไปที่เครื่องส่งก่อนที่จะส่งบิตถัดไป เนื่องจาก USB ใช้การยกเลิกต้นทางและไดรเวอร์โหมดแรงดันไฟฟ้านี่เป็นสิ่งที่เกิดขึ้นไม่เช่นนั้นการสะท้อนกลับอาจทำให้เกิดเสียงดังขึ้นและระเบิดไดรเวอร์ นี่ไม่ได้หมายความว่าแรงดันไฟฟ้าของสายจ่ายได้อย่างสมบูรณ์ในตอนท้ายของบิต ด้วยการทำลายล้างกรณีที่เลวร้ายที่สุด อย่างไรก็ตามมีการทำให้หมาด ๆ พอปลายบิตที่แอมพลิจูดการสะท้อนกลับถูกลดระดับให้อยู่ในระดับที่จัดการได้ ความยาวสายเคเบิลความเร็วต่ำถูก จำกัด ไว้ที่ 18ns เพื่อไม่ให้เกิดผลกระทบต่อสายส่งจากการส่งผลกระทบต่อสัญญาณความเร็วต่ำ
- ฉันต้องการสร้างสายเคเบิลยาวกว่า 5 เมตรเหตุใดจึงไม่ทำงาน
ตอบ: แม้ว่าคุณจะละเมิดสเป็ค แต่ก็ไม่ได้ทำให้คุณไปไกลนัก สมมติว่าเวลาล่าช้ากรณีเลวร้ายที่สุดอุปกรณ์ความเร็วเต็มที่ด้านล่างของ 5 ฮับและสายเคเบิลมีระยะหมดเวลา 280ps การลดระยะขอบนี้เป็น 0ps จะให้คุณเพิ่มอีก 5 ซม. ซึ่งไม่คุ้มกับปัญหา
ดังนั้นคำตอบของฉันจึงเป็นเพียงครึ่งเดียว: ขีด จำกัด การเดินทางไปกลับสำหรับโซ่และฮับของสายเคเบิลที่เลวร้ายที่สุดสำหรับความลึกรวม 25 ม.
Dan Neely นั้นถูกต้องแล้วที่ USB ก็ควรจะเป็นโซลูชั่นที่มีต้นทุนต่ำที่สุดสำหรับอุปกรณ์ต่อพ่วง "ช้า" เช่นคีย์บอร์ด, เมาส์, เครื่องพิมพ์ ฯลฯ หากคุณต้องการเพล็กซ์เต็มรูปแบบเพื่อความเร็วที่เร็วขึ้นและระยะทางที่มากขึ้น
ดูหน้านี้/superuser/64744/maximum-length-of-a-usb-cable
Q1: ฉันสามารถใช้สายเคเบิลเชื่อมต่อกับอุปกรณ์ของฉันได้นานแค่ไหน? A1: ในทางปฏิบัติข้อมูลจำเพาะ USB จำกัดความยาวของสายเคเบิลระหว่างอุปกรณ์ความเร็วสูงถึง 5 เมตร (น้อยกว่า 16 ฟุต 5 นิ้วเล็กน้อย) สำหรับอุปกรณ์ความเร็วต่ำขีด จำกัด คือ 3 เมตร (9 ฟุต 10 นิ้ว)
Q2: ทำไมฉันไม่สามารถใช้สายเคเบิลที่ยาวกว่า 3 หรือ 5 เมตรได้? A2: การออกแบบไฟฟ้าของ USB ไม่อนุญาต เมื่อ USB ได้รับการออกแบบการตัดสินใจที่จะจัดการการแพร่กระจายของสนามแม่เหล็กไฟฟ้าในสายข้อมูล USB ในลักษณะที่จำกัดความยาวสูงสุดของสายเคเบิล USB ให้อยู่ในช่วง 4 ม. วิธีนี้มีข้อดีหลายประการและเนื่องจาก USB มีไว้สำหรับสภาพแวดล้อมเดสก์ท็อปข้อ จำกัด ของช่วงจึงถือว่ายอมรับ หากคุณคุ้นเคยกับทฤษฎีสายส่งสัญญาณและต้องการรายละเอียดเพิ่มเติมในหัวข้อนี้ให้ดูที่ส่วนสัญญาณ USB ของคำถามที่พบบ่อยของนักพัฒนา
เป็นไปไม่ได้ที่จะ "บัฟเฟอร์" USB อย่างน้อยที่สุดก็ไม่ได้อยู่ในความหมายของคำ โดยทั่วไปการบัฟเฟอร์หมายถึงการขยายสัญญาณไฟฟ้าและบางทีการสร้างสัญญาณใหม่
ด้วย USB โฮสต์จะขับรถบัสทั้งหมด โฮสต์ส่งคำขอและอุปกรณ์ต้องออกคำตอบไปยังโฮสต์ จุดเริ่มต้นของการตอบสนองจะต้องมาถึงโฮสต์ในเวลาหนึ่งหลังจากที่คำขอส่งเสร็จสิ้น ด้วยสายเคเบิลยาวเกินไปการหน่วงเวลาการแพร่กระจายจึงยาวเกินไปสำหรับการตอบสนองเพื่อเข้าถึงโฮสต์ในเวลา
ดังนั้นจึงมีวิธีแก้ไขปัญหาและไม่มีใครเกี่ยวข้องกับ "การบัฟเฟอร์" อย่างง่ายเนื่องจากการบัฟเฟอร์เพิ่มความล่าช้าเพิ่มเติมและเราจำเป็นต้องทำให้โฮสต์ทนต่อการหน่วงเวลานานขึ้น
มีวิธีแก้ไขปัญหาสองระดับ:
วิธีแก้ปัญหาที่แทรกฟิสิคัลหรือฮับเสมือน หากโฮสต์ระบุฮับบนบัสฮับจะเพิ่มความล่าช้าเป็นพิเศษและอาจมีสายเคเบิลยาวเต็มรูปแบบระหว่างฮับและโฮสต์ คำขอใด ๆ สำหรับอุปกรณ์ที่แนบดาวน์สตรีมจากฮับนั้นจะถูกกำหนดเวลาไว้ด้วยความล่าช้าเพิ่มเติม
คุณสามารถแทรกฮับเดียวพอร์ตทุก ๆ 4 เมตรของสายเคเบิลที่มีมากถึง 7 ฮับในซีรีส์ ข้อ จำกัด คือฮับ 7 ระดับจากโฮสต์ไปยังอุปกรณ์ขั้นสูงสุดดังนั้นหากมีฮับใด ๆ ที่อยู่เหนือการคุมกำเนิดของคุณคุณจะต้องลดจำนวนฮับตามลำดับ โฮสต์ USB หลายแห่งมีฮับภายในระดับเดียวดังนั้นข้อ จำกัด ที่สมจริงคือสายเคเบิลยาว 28 ม. พร้อมฮับ 6 ชุด ฮับทั้งหมด แต่อันแรกจะต้องแกล้งทำเป็นขับเคลื่อนด้วยตนเอง
คุณสามารถเพิ่มฮับเสมือนจริงด้วยตัวรับส่งสัญญาณขนาดใหญ่พร้อม preemphasis ที่ปลั๊กที่เข้าสู่โฮสต์จากนั้นส่งทราฟฟิก USB ผ่านสายเคเบิลที่ยาวกว่า ตราบใดที่สัญญาณที่ได้รับจากอุปกรณ์ในตอนท้ายของสายเคเบิลเสริมนั้นอยู่ในข้อมูลจำเพาะและตราบใดที่ผู้รับของคุณสามารถกู้คืนข้อมูลที่ส่งโดยอุปกรณ์มาตรฐานผ่านสายเคเบิลยาวคุณก็จะโอเค ฮับเสมือนถูกเพิ่มเข้ามาเพื่อให้โฮสต์อนุญาตให้มีการหน่วงเวลานาน - แต่แน่นอนว่าไม่มีฮับที่มีอยู่จริงซึ่งเป็นเพียงการเลียนแบบของพวกเขา
วิธีแก้ปัญหาที่เลียนแบบอุปกรณ์ที่ปรากฏ "ช้า" ที่ระดับโปรโตคอลที่สูงขึ้น นั่นคือการทำงานของ "Extender" ของ Cat-5 USB มีห้าคู่ค้าที่นี่: โฮสต์จริง (rHost), อุปกรณ์จำลองที่เห็นโดยมัน (eDev), สายยาว, โฮสต์จำลอง (eHost) และอุปกรณ์ที่มองเห็นที่ปลายสุดของสายเคเบิล (rDev) .
เริ่มแรก eDev แสร้งทำเป็นไม่อยู่ที่นั่น ในบางครั้ง eHost จะเห็นว่าเสียบ rDev เข้าไปแล้วมันจะระบุและส่งต่อข้อมูลไปยัง eDev จากนั้น eDev จำลองเหตุการณ์ปลั๊กอินและ rHost แจกแจง rHost เชื่อว่าเห็น rDev แต่เป็น eDev เท่านั้นที่ทำอยู่ ในทำนองเดียวกัน rDev คิดว่าเห็น rHost แต่เพียง eHost อยู่ที่นั่นทำท่า
ในที่สุด rHost ต้องการออกการถ่ายโอนบางส่วนไปยัง rDev ที่เชื่อว่ามีอยู่เพื่อใช้ประโยชน์จากมัน สำหรับการถ่ายโอน IN eDev อ้างว่าไม่มีข้อมูล (ตอบกลับด้วย NAK) คำขอโอนจะถูกส่งต่อไปยัง eHost ซึ่งเรียกใช้อีกครั้งด้วย rDev ผลลัพธ์ของสิ่งนี้จะถูกส่งต่อกลับไปยัง eDev ซึ่งจะใช้ผลลัพธ์ในครั้งถัดไปที่โฮสต์พยายามถ่ายโอน
สำหรับการถ่ายโอน OUT eDev จะต้องเดาว่าพฤติกรรมของ rDev จะเป็นอย่างไร มีฮิวริสติกและพฤติกรรมที่สามารถลองได้ที่นี่ วิธีหนึ่งคือให้ eDev รับข้อมูลและตอบกลับด้วย ACK เสมอ การโอนจะถูกส่งต่อไปยัง eHost ซึ่งจะโอนการโอนไปยัง rDev ในอุดมคติแล้ว rDev จะกินข้อมูลและ ACK ในที่สุด หากสิ่งนี้ไม่สำเร็จหรือหาก rDev ตอบกลับด้วย STALL สิ่งที่ดีที่สุดที่ eDev สามารถทำได้คือทำแบบนี้ในการถ่ายโอนครั้งต่อไปจากโฮสต์ อีกทางหนึ่ง eDev สามารถทำการโอนย้ายได้เสมอโดยมีข้อสันนิษฐานที่ถูกต้องว่าโฮสต์จะลองถ่ายโอนซ้ำอีกครั้งในภายหลัง แม้ว่าการถ่ายโอนดั้งเดิมคือ NAK-ed แต่จะถูกส่งต่อไปยัง eHost ซึ่งจะดำเนินการถ่ายโอนด้วย rDev ไม่ว่าคำตอบของ rDev คืออะไรกลายเป็นคำตอบของ eDev ทันทีที่เรียนรู้
การใช้งานจริงจะเริ่มต้นด้วยฮิวริสติกแบบอนุรักษ์นิยมที่เกี่ยวข้องกับการไปกลับเต็มไปยัง rDev สำหรับการถ่ายโอนทั้งหมดที่สามารถเลื่อนได้โดย NAK เมื่อการถ่ายโอนดำเนินไป rDev สามารถเรียนรู้พฤติกรรมที่คาดหวังได้และ eDev สามารถอนุรักษ์ได้น้อยลง "extender" สามารถใช้ความรู้ของคลาส USB มาตรฐานและคลาส / อุปกรณ์ความรู้ / บัญชีดำ / รายชื่อที่อนุญาตสำหรับผู้จำหน่ายบางรายเพื่อเสนอประสิทธิภาพที่ดีขึ้นเช่นกัน
โครงร่างการส่งผ่านสายเคเบิลส่วนใหญ่มีมาตรฐานที่เป็นที่ยอมรับในระดับสากลซึ่งอธิบายถึงวิธีการใช้งานรวมถึงข้อกำหนดสำหรับ "ลักษณะความต้านทาน" ของสายเคเบิล (คิดว่านี่เป็นความต้านทาน แต่ใช้กับ AC), อิมพีแดนซ์ 'ความต้านทาน' ในตอนท้ายของการเชื่อมต่อที่จำเป็นเพื่อหลีกเลี่ยงการสะท้อนสัญญาณของคุณที่กระเด้งกลับสายเคเบิลไปทางผู้ส่ง) มักจะเป็น 'อัตราการฆ่าที่ระบุ' (เวลาที่ใช้ในการเปลี่ยนสัญญาณจาก 0-state เป็น 1-state หรือโอละพ่อ) และด้วยเหตุนี้จำนวนสูงสุดของการเปลี่ยนระหว่าง 0/1 ต่อวินาที (เช่น kbps / Mbps / Gbps) และด้วยเหตุนี้สายเคเบิลสามารถนานก่อนที่ความสมบูรณ์ของสัญญาณจะลดลง & สิ่งที่หยุดทำงานถูกต้อง
เมื่อเทียบกับ USB นั้น RS232 มีคุณสมบัติของ bugger ทั้งหมดในประเภทสายเคเบิลความต้านทานลักษณะอัตราการฆ่าความยาวสายเคเบิลชนิดตัวเชื่อมต่อ แน่นอนว่าการเชื่อมต่อ 25-pin & 9-pin 'D' เป็นเรื่องปกติ แต่ในความเป็นจริง RS232 ได้รับการออกแบบในทุกประเภทของ connenctors & สายเคเบิลและผลิตภัณฑ์ที่ไม่มีข้อกำหนดจริงที่จะพูดเป็นอย่างอื่น ในทางปฏิบัติด้วย RS232 คุณจะสามารถไปได้ไกลขึ้นโดยการวางอัตราบิตต่อวินาที (aka 'baud') ที่ต่ำกว่า ระยะทางสูงสุดที่คุณสามารถทำได้จะถูกกำหนดในส่วนที่สำคัญเกี่ยวกับความต้านทานของสายเคเบิลของคุณไม่ว่าจะมีการป้องกันหรือไม่ก็ตามการสิ้นสุดที่จุดสิ้นสุดและอื่น ๆ
และในการเปรียบเทียบ RS232 กับ USB คุณกำลังเปรียบเทียบ 'มาตรฐาน' จากทศวรรษ 1960 ที่มีค่าสูงสุดที่ 115k2 (มีข้อยกเว้นที่หายาก) กับหนึ่งในช่วงทศวรรษ 1990 และ 2000 ที่เริ่มต้นที่ 1.5Mbps ลำดับความเร็วขึ้น แล้ว 12Mbps (เกือบ 100x เร็วกว่า) แล้ว 480Mbps (เกือบ 5000X เร็วขึ้น) แต่ซึ่งหมายความว่าพารามิเตอร์สายเคเบิลและสายเคเบิลความยาวเล่นเป็นส่วนสำคัญในการทำให้มันทำงานได้อย่างน่าเชื่อถือ มันถูกออกแบบมาให้เป็นมาตรฐานการเชื่อมต่ออุปกรณ์ต่อพ่วงเดสก์ท็อปดังนั้น 5m จึงถือว่าเป็นที่ยอมรับได้และจากนั้นพารามิเตอร์ทั้งหมดของสายเคเบิลและตัวเชื่อมต่อ & ความเร็วนั้นวางลงจากจุดนั้น หากมีวิธีที่จะทำให้ USB ทำงานช้าลงคุณอาจทำให้มันทำงานบนสายเคเบิลที่ยาวขึ้นได้