อุปกรณ์ USB ที่ขับเคลื่อนด้วยตนเองจำเป็นต้องเชื่อมต่อกับ VCC จากพอร์ตโฮสต์หรือไม่


18

อุปกรณ์ต่อพ่วง USB ขับเคลื่อนด้วยตัวเองให้พลังงานของตัวเองดังนั้นมันก็โอเคที่จะเชื่อมต่อเพียง D +, D- และ GND ไปยังพอร์ตโฮสต์หรือคุณต้องเชื่อมต่อ + 5V เช่นกันจากนั้นรอขั้นตอนการเจรจาต่อรองสำหรับอุปกรณ์ เพื่อบอกโฮสต์ว่ามันใช้พลังงานเองและดังนั้นจึงไม่ต้องการพลังงานใด ๆ ขอบคุณมาก?

อุปกรณ์ต่อพ่วงเฉพาะที่ฉันกำลังดูอยู่นั้นใช้อะแดปเตอร์ FTDI FT4232H จาก USB เป็นอนุกรม แต่ฉันหวังว่าจะได้คำตอบทั่วไปสำหรับคำถามนี้


1
FTDI มีบันทึกย่อของแอปและข้อมูลมากมายในเอกสารข้อมูลของพวกเขา คุณดูที่นั่นหรือไม่?
Gustavo Litovsky

แผ่นข้อมูล FTDI ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdfแสดงให้เห็นว่า VBUS เชื่อมต่อกับ RESET # ผ่านตัวต้านทานสะพานเพื่อให้ถอดปลั๊กสาย USB ได้ (ถ้าเป็นแบบบัส) เห็นได้ชัดว่าการถอดสาย USB จะทำให้อุปกรณ์เสียพลังงาน!) แต่คำถามคือการโหลดบน VBUS มีความหมายต่อโฮสต์ USB หรือไม่และการขาดการโหลดโดยปล่อยให้ VBUS n / c แบ่งบางอย่างในการจับมือ USB หรือไม่
kbro

โดยทั่วไปแล้ว USB จะไม่รู้ว่ามีสิ่งใดเชื่อมต่ออยู่หรือไม่ นอกจากว่าคุณจะดึงได้มากกว่า 100mA จะไม่สามารถบอกได้ว่ามีบางสิ่งเชื่อมต่ออยู่หรือไม่
Gustavo Litovsky

@GustavoLitovsky ที่จริงแล้วโฮสต์ USB ไม่มีวิธีเลยที่จะแยกแยะระหว่างไม่มีกระแสหรือ 100 mA ที่ถูกดึงออกมาจากพอร์ต หมายถึงเฉพาะที่กำหนดไว้ในข้อมูลจำเพาะของ USB คือเมื่อเกิดกระแสไฟฟ้าเกินซึ่งเป็นวิธีที่สูงกว่า 500 หรือ 900 mA อย่างไรก็ตามทุกอย่างสามารถออกแบบโดยใช้วงจรเสริมและพิน GPIO พิเศษ
Ale..chenski

คำตอบ:


7

คำตอบทั่วไปสำหรับคำถามนี้คือใช่ต้องเชื่อมต่อ VBUS (+ 5V จากสายเคเบิล) กับอุปกรณ์แม้ว่าจะใช้พลังงานด้วยตัวเองก็ตาม เหตุผลมีดังนี้:

ในการเริ่มต้นกระบวนการเชื่อมต่อที่ด้านโฮสต์อุปกรณ์จะต้องดึง D + (ในกรณีของโหมด FS / HS) หรือ D- (ในกรณีของอุปกรณ์ LS)

อย่างไรก็ตามข้อมูลจำเพาะของ USB มีข้อกำหนดที่จำเป็นซึ่งไม่มีอุปกรณ์ USB ใด ๆ ที่ควรจะเป็นแหล่งข้อมูลใด ๆ บนอินเทอร์เฟซพินใด ๆ เว้นแต่จะเชื่อมต่อกับสายเคเบิลดูหัวข้อ 7.1.5.1 ซึ่งอ่าน

แหล่งจ่ายแรงดันไฟฟ้าของตัวต้านทานแบบดึงขึ้นจะต้องได้มาจากหรือควบคุมโดยพลังงานที่ให้มากับสาย USBเช่นเมื่อถอด VBUS ออกตัวต้านทานแบบดึงขึ้นจะไม่จ่ายกระแสไฟฟ้าในสายข้อมูลที่ต่ออยู่

หากอุปกรณ์ USB ไม่มีตัวควบคุมนี้หนึ่งในสายข้อมูลจะเป็นแหล่งของกระแส การยืนยันก่อนกำหนดของ pull-ups เป็นสาเหตุของปัญหาสำหรับโฮสต์ USB บางรุ่น นั่นเป็นเหตุผลที่กฎนี้ได้ก่อตั้งขึ้นและมีการทดสอบพิเศษสำหรับสิ่งนี้ในโปรแกรมการรับรอง USB-IF

ดังนั้น USB VBUS จึงเป็นสัญญาณ "side-band" ที่สำคัญในโปรโตคอลเชื่อมต่อ USB ดังนั้นไอซีอุปกรณ์ USB ปกติจะมีอินพุตพินแยกต่างหากเพื่อรับรู้ถึงการมีอยู่ของโฮสต์ USB ผู้ผลิต IC บางราย (เช่น FT232H, MCP2221 และอื่น ๆ ) ข้ามข้อกำหนดนี้โดยสมมติว่าชิปของพวกเขาจะถูกใช้เฉพาะในการกำหนดค่าบัสขับเคลื่อนซึ่งเป็นที่พอใจของการควบคุมแรงดึงโดยอัตโนมัติ อย่างไรก็ตามเมื่อออกแบบชิปเหล่านี้เป็นการออกแบบที่ขับเคลื่อนด้วยตนเองจำเป็นต้องมีความพยายามของวงจรเพิ่มเติมในการเชื่อมโยงการเปิดใช้งานการดึงกับสถานะของ VBUS บนพอร์ต USB

เกี่ยวกับโพรโทคอล "handshake" เชื่อมต่อ USB, USB ไม่พึ่งพาการดึงปัจจุบันจาก VBUS โพรโทคอลคือ: พอร์ตโฮสต์ต้องมี VBUS ที่ใช้งานอยู่ VBUS เชื่อมต่อกับอุปกรณ์ อุปกรณ์เห็น VBUS และดึงขึ้น 1.5k บนหนึ่งในสาย D + / D-; โฮสต์เห็นการเชื่อมต่อนี้และหลังจากการหน่วงเวลา 100 มิลลิวินาทีจะเป็นการส่งสัญญาณ USB_RESET (SE0 ฯลฯ )


18

ด้วยอุปกรณ์ที่ขับเคลื่อนด้วยตัวเองไม่ได้เชื่อมต่อเป็น 5V กับ 5V ของโฮสต์คุณอาจระเบิดแหล่งจ่ายไฟทั้งสอง GNDและD+,D-จะทำอะไรได้ดี

โปรดทราบว่าระดับD+และD-สูงสุดสำหรับ + ​​3.6V สูงสุดไม่ใช่ 5V ตามที่คุณคาดหวัง!


5
อย่างไรก็ตามมันก็คุ้มค่าที่จะตรวจสอบ VBUS เพื่อตรวจสอบเงื่อนไขการปลด / เชื่อมต่อเนื่องจากเป็นส่วนหนึ่งของการเจรจาต่อรองเริ่มต้นของ USB ที่เกี่ยวข้องกับการดึงขึ้นบน D + และ D- ครั้งหนึ่งเราพบปัญหาที่ฮับไม่สามารถระบุอุปกรณ์ได้อย่างถูกต้องทั้งนี้ขึ้นอยู่กับลำดับการเปิดฮับที่ขับเคลื่อนด้วยตัวเองและอุปกรณ์ที่ขับเคลื่อนด้วยตนเองยกเว้นว่าคุณสังเกตเห็น VBUS ทางออกคือการใช้ตัวแบ่งที่อาจเกิดขึ้นบน VBUS เพื่อจัดการมัน
Jxj

1
ด้วยเหตุผลเดียวกันตัวต้านทาน pullup ซึ่งทั้งคู่แจ้งโฮสต์ที่อุปกรณ์ได้ทำการเชื่อมต่อและระบุความเร็วเริ่มต้น - ควรอ้างอิงถึง VBUS ไม่ใช่แหล่งจ่ายภายในของอุปกรณ์
Dave Tweed

1
Hmmm - กล่องคำบรรยายภาพ "อุปกรณ์ที่ขับเคลื่อนด้วยตนเอง" บนusbmadesimple.co.uk/ums_2.htmพูดเหมือนกันมาก - อย่าดึง D + หรือ D- เหนือ VBUS น่าสนใจยิ่งกว่าอย่าขับ D + หรือ D- เมื่อ VBUS ปิดอยู่ แผ่นข้อมูลFT4232H ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdfแสดงให้เห็นว่า VBUS เชื่อมต่อกับ RESET # ซึ่งจะเชื่อมโยงกับ "อย่าขับรถเมื่อ VBUS ปิด" แต่ดูเหมือนจะไม่มี รับประกันว่า D + / D- จะต่ำกว่า VBUS เสมอเมื่อรีเซ็ต ฉันคิดว่าประเด็นทั้งหมดเกี่ยวกับการตั้งค่าใหม่คือ D + นั้นสูงกว่าหรือต่ำกว่า D- ไม่ใช่ว่าอยู่ใกล้กับ VBUS
kbro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.