ฮับขับเคลื่อนด้วยบัส USB - มากกว่า 100 mA ต่ออุปกรณ์หรือไม่


11

ฉันต้องการถามคำถามที่เฉพาะเจาะจงเกี่ยวกับการจัดการพลังงาน USB

ก่อนอื่นฉันจะร่างการออกแบบอุปกรณ์ของฉัน เป็นไดรเวอร์สายสัญญาณสมมาตรพร้อมตัวแปลงสัญญาณเสียงในตัวสำหรับระบบลำโพง DIY ของฉัน อุปกรณ์ดังกล่าวถูกแบ่งออกเป็นสองช่วงตึกโดยส่วนใหญ่จะเป็นไดรฟ์เวอร์ที่มีตัวควบคุม MCU และตัวแปลงสัญญาณเสียง (PCM2706 ของ TI) ทั้งสองต้องการการเชื่อมต่อข้อมูล USB (ผ่าน FT232R สำหรับบล็อกไดรเวอร์) และอุปกรณ์ทั้งหมดควรใช้บัส บล็อกทั้งสองจะถูกเชื่อมโยงเข้าด้วยกันโดยชิปฮับ USB ซึ่งให้การเชื่อมต่อ USB อัปลิงค์เดียวกับพีซี ฉันคาดว่าปริมาณการใช้เวทีคนขับจะอยู่ระหว่าง 100 และ 200 mA (แน่นอนมากกว่าหนึ่งหน่วยโหลด)

ปัญหามาที่นี่: ตามข้อกำหนดของ USB ฮับที่ขับเคลื่อนด้วยบัสสามารถจัดหาได้เพียงหนึ่งหน่วยต่อพอร์ตดาวน์สตรีมในขณะที่วาดสูงสุด 5 ยูนิตจากอัพสตรีม ฉันอยากรู้ว่าฮับจะทำอะไรถ้าฉันขอสองหน่วยผ่าน FT232 สำหรับเวทีขับ ขีด จำกัด อัปสตรีม 5 หน่วยจะไม่ถึง (1 ยูนิตสำหรับฮับ, 1 ยูนิตสำหรับตัวแปลงสัญญาณและสองสำหรับไดรเวอร์) ดังนั้นคอมพิวเตอร์ควรจะสามารถจัดหากระแสไฟฟ้านั้นได้

สำหรับชิปฮับฉันได้รับการตรวจสอบจากhttp://www.ti.com/lit/ds/symlink/tusb2036.pdf มีตัวเลือกของโหมดเปิดเครื่อง "ganged" สิ่งนี้จะเป็นประโยชน์หรือไม่? หรือชิปจะปฏิเสธที่จะให้สองหน่วยกับคนขับหรือไม่ และในกรณีนี้มีวิธีแก้ไขปัญหาสกปรกหรือไม่?

ฉันตระหนักถึงความต้องการที่ว่าอุปกรณ์พลังงานสูงจำเป็นต้องมีการดึงสูงสุด 100 mA ในระหว่างการแจงนับ นี่ไม่ใช่ปัญหาเนื่องจาก FT232 สามารถเปิดไดรเวอร์ได้หลังจากการแจงนับ ฮับจะเปิดขั้นตอนอย่างอิสระเช่นกัน

หวังว่าฉันจะระบุปัญหาของฉันชัดเจนพอและขอบคุณสำหรับเวลาของคุณล่วงหน้า :)

UPDATE:

ฉันทำการวิจัยเพิ่มเติมเกี่ยวกับชิป TUSB2036 การป้องกันกระแสเกินสามารถปิดได้ด้วยพิน / OCPROT ฮับจะรายงานตัวควบคุมรูทว่าไม่สามารถตรวจพบกระแสเกิน มีคำเตือนในแผ่นข้อมูลว่าต้องมีการป้องกัน OC ตามข้อกำหนด USB 2.0 - สิ่งนี้ไม่สำคัญสำหรับฉันฉันต้องใช้ 1.1 ความเร็วเต็มเท่านั้น ฮับรูทของพีซีควร IMO จ่าย 500 mAmps ให้กับอุปกรณ์ทั้งหมด ดังนั้นฉันสามารถตั้งค่า FT232 ของไดรเวอร์ให้ต้องใช้ 100 mA เท่านั้นและฮับจะไม่มีทางรู้ว่าฉันจะเกินขีด จำกัด (ถ้าเทียบกับ 500 mA จากพีซีแน่นอน) มีใครบอกได้ไหมว่าสิ่งนี้สามารถใช้ได้หรือไม่

คำตอบ:


3

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

ในกรณีนี้ฉันขอแนะนำให้คุณกำหนดค่าฮับเพื่อระบุว่าเป็นอุปกรณ์พลังสูงและแบ่งปันผล 500 mA ในกระดานทั้งหมด น่าสนใจพอตัวอย่างแผนผัง ganged-port ของ TI แสดงอุปกรณ์ทั้งหมดที่เชื่อมต่อเข้าด้วยกันแม้ว่าจะใช้ IC การจัดการพลังงาน:

ป้อนคำอธิบายรูปภาพที่นี่

สายไฟ 5V ที่เข้ามา (เน้นสีน้ำเงินเนื่องจากเป็นหนึ่งในสองมุ้งที่เราสนใจในวงจรที่ซับซ้อนนี้) เชื่อมต่อกับ IC การจัดการพลังงาน TPS2041 (คำอธิบายที่ใจกว้างจริง ๆ มันเป็นเพียง FET ที่ปิดตัวลงเมื่อ ตรวจจับกระแส 500mA ที่ส่งผ่าน) อย่างไรก็ตามแต่ละอินพุตถูกทำให้สั้นเข้าด้วยกันและแต่ละเอาต์พุตจะถูกรวมเข้าด้วยกันเช่นกันจากนั้นกระจายไปยังพอร์ตดาวน์สตรีมแต่ละพอร์ต (สุทธิที่แสดงด้วยสีแดง)

โดยพื้นฐานแล้วพวกเขากำลังป้องกันกระแสเกินสำหรับส่วนปลายน้ำทั้งหมดใน IC เดียว พวกเขาไม่มีวิธีการตรวจสอบว่าพวกเขามีสามหน่วยพลังงานต่ำ (100mA) หน่วยพลังงานสูงเดียวหรือสองหน่วยพลังงานต่ำและหนึ่งหน่วย 300 mA ตัวเลือกทั้งหมดนี้เป็นที่ยอมรับตามการออกแบบอ้างอิงนี้ คุณเขียน:

ตามข้อกำหนดของ USB ฮับที่ขับเคลื่อนด้วยบัสสามารถจัดหาได้เพียงหนึ่งยูนิตต่อพอร์ตดาวน์สตรีมในขณะที่วาดสูงสุด 5 ยูนิต ...

แต่เพื่อตอบคำถามของคุณโดยตรงการออกแบบนี้จาก Texas Instruments (สมาชิกกลุ่ม USB และผู้ดำเนินการรายใหญ่) แสดงให้เห็นว่าคุณจะต้องรับประกันว่ากระแสรวมทั้งหมดน้อยกว่า 5 หน่วย


ในการแก้ปัญหาของคุณสถานะกฎ (นำมาจากUSB ที่ยอดเยี่ยมในเอกสารสรุป ):

ฟังก์ชั่นขับเคลื่อนของบัสกำลังแรงสูงจะดึงพลังงานทั้งหมดออกจากบัสและไม่สามารถดึงโหลดมากกว่าหนึ่งหน่วยจนกว่าจะได้รับการกำหนดค่าหลังจากนั้นจะสามารถระบายโหลด 5 หน่วย (500 mA สูงสุด) ได้หากมีการร้องขอใน descriptor

หากคุณสามารถรับประกันได้ว่าสเตจไดรเวอร์ของคุณจะไม่เริ่มต้นการวาดปัจจุบันจนกว่าอุปกรณ์จะได้รับการกำหนดค่า (ซึ่งอาจเป็นเรื่องง่ายเหมือนกับการหน่วงเวลาที่กำหนดในตัวควบคุมโฮสต์) คุณสามารถโยงทุกอย่างเข้าด้วยกัน เนื่องจากวงจรทั้งหมดของคุณอยู่บน PCB เดียวและไม่มีพอร์ตดาวน์สตรีมที่เข้าถึงได้โดยผู้ใช้คุณอาจจะสามารถออกจาก TPS2041 และออกแบบระบบให้ไม่ต้องการกระแสเกิน 500 mA ในทุกสถานะ

ประโยชน์อีกประการของการแจกแจงในฐานะอุปกรณ์กำลังแรงสูงคือการปรับปรุงข้อกำหนดแรงดันไฟฟ้าขาเข้า เมื่อคุณระบุเป็นอุปกรณ์ที่ใช้พลังงานต่ำโฮสต์จะต้องสร้าง 4.40 V ที่พอร์ตอัปสตรีมเท่านั้น (ซึ่งจะลดลงที่อุปกรณ์ของคุณเนื่องจากความต้านทานของสายเคเบิล) เมื่อคุณระบุว่าเป็นอุปกรณ์พลังงานสูงข้อมูลจำเพาะรับประกันได้ว่าคุณจะได้รับ 4.75 V ซึ่งมีแนวโน้มที่จะอยู่ในช่วงการทำงานของส่วนประกอบ 5V ใด ๆ ที่คุณอาจใช้อยู่


ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม แต่ฉันจะกำหนดค่าฮับได้อย่างไร ฉันจำเป็นต้องใช้ EEPROM ภายนอกหรือไม่ฉันเพียงแค่ผูกพิน / GANGED กับพื้น (และหมุดตั้งค่าอื่น ๆ ตามแผนผังที่คุณส่งไป)?
Ladislav

1
คุณจำเป็นต้องผูก! GANGED ลงดินและ! EXTMEM ถึง 3.3V อย่างไรก็ตาม EEPROM ภายนอกอาจดี: มิฉะนั้นอุปกรณ์ของคุณจะปรากฏเป็น 'ฮับ USB ทั่วไป' บนพีซี หรือคุณอาจจำลอง EEPROM ด้วยไมโครคอนโทรลเลอร์ของออนบอร์ดของคุณ (กำหนดค่าหนึ่งในอินเทอร์เฟซ I2C เพื่อทำหน้าที่เป็นทาส) จากนั้นคุณสามารถรายงานว่าเป็น 'ไดรเวอร์ระบบลำโพงและตัวควบคุมตัวแปลงสัญญาณ' หรืออะไรทำนองนั้น
Kevin Vermeer

5

ฉันได้ออกแบบบอร์ดรอบ ๆ ฮับนั้น

ในแอปพลิเคชันของฉันการอนุญาตให้เข้าถึง FT232 และ FT245

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

ในสถานการณ์ของฉันฉันรัด TUSB เพื่อขอเต็ม 500 มิลลิแอมป์และปิดการป้องกันกระแสเกินและเพียงวิ่งทุกอย่างตรงจาก USB 5.0v ฉันทำสิ่งนี้สำเร็จโดยการบังคับให้ฮับรายงานเป็นตัวขับเคลื่อนไปยังโฮสต์ต้นทาง

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

แน่นอนถ้าเป็นอุปกรณ์การผลิตแทนที่จะเป็นโครงการส่วนตัวหรือชุดทดสอบ (ซึ่งเป็นสิ่งที่เป็นในกรณีของฉัน) นั่นเป็นปัญหาที่แตกต่างกันโดยสิ้นเชิง

ป้อนคำอธิบายรูปภาพที่นี่

(ดูหมายเหตุในแผนผัง)


สำหรับสิ่งที่คุ้มค่าคุณสามารถใช้พอร์ต USB ที่ทันสมัยที่สุดอย่างน่ากลัวได้โดยไม่เกิดปัญหามากนัก พวกเขาจำนวนมากสามารถจ่ายไฟได้มากกว่า 500ma ที่พวกเขาได้รับการจัดอันดับโดยไม่มีปัญหามากเกินไป
นอกจากนี้ส่วนใหญ่ (ทั้งหมดที่ฉันทดสอบยกเว้นแล็ปท็อปบางเครื่อง ) จะให้ความจุ 500ma เต็มโดยไม่ต้องใช้อุปกรณ์ที่ต้องแจกแจงเลย

อย่างไรก็ตามสิ่งนี้จะแตกต่างกันไปตามเมนบอร์ดกับมาเธอร์บอร์ดทั้งนี้ขึ้นอยู่กับการออกแบบโฮสต์ USB ไมล์สะสมของคุณอาจแตกต่างกันไป


ใช่ฉันกำลังคิดเกี่ยวกับสิ่งนั้น แต่อย่างที่คุณพูดสิ่งนี้แตกต่างจาก MB เป็น MB อุปกรณ์จะไม่ถูกผลิตเป็นพัน แต่ฉันต้องการให้มันทำงานร่วมกันได้เท่าที่จะเป็นได้ดังนั้นมันจะ "ทำงานได้" บนคอมพิวเตอร์ทุกเครื่อง ขอขอบคุณการสังเกตการณ์ในทางปฏิบัติมีค่าเท่ากัน :)
Ladislav

@ Ladislav - ฉันไม่คิดว่าจะมีวิธีใดบ้างที่จะหลีกเลี่ยงความต้องการในการเปิดปิดอุปกรณ์ดาวน์สตรีมโดยไม่ละเมิดข้อกำหนด USB อย่างน้อย
Connor Wolf

เป็นที่น่าสังเกตว่าถ้าคุณรัดอุปกรณ์ให้รายงานว่าเป็นแบบบัสและไม่ต้องกังวลกับการสลับพลังงานมันอาจทำงานได้ตลอดไป อาจเป็นการทดสอบที่คุ้มค่า หรือมองหาฮับ IC-USB 1.1 เท่านั้น
Connor Wolf

1

อาจสกปรกเล็กน้อย: TUSB2036 อนุญาตให้เลือกพอร์ตดาวน์สตรีม (p3 NPINT1-0 ตั้งค่าเป็น 10) จากนั้นเชื่อมต่ออุปกรณ์ของคุณเข้ากับสองพอร์ต (ทางกายภาพ) เพื่อให้คุณสามารถวาด 2 หน่วยในแบบคู่ขนาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.