Saya ingin mengajukan pertanyaan yang cukup spesifik mengenai manajemen daya USB.
Pertama-tama, saya akan menguraikan desain perangkat saya. Ini adalah driver jalur sinyal simetris dengan codec audio bawaan untuk sistem speaker DIY saya. Perangkat ini secara internal dibagi menjadi dua blok yang sebagian besar independen: driver paling baris dengan MCU yang mengendalikan dan codec audio (TI PCM2706). Keduanya membutuhkan konektivitas data USB (melalui FT232R untuk blok driver) dan seluruh perangkat harus menggunakan bus. Dua blok akan dihubungkan bersama oleh chip hub USB, menghasilkan koneksi USB uplink tunggal ke PC. Saya berharap konsumsi tahap driver menjadi sesuatu antara 100 dan 200 mA (pasti lebih dari satu unit muatan).
Inilah masalahnya: Menurut spesifikasi USB, hub yang ditenagai bus hanya dapat menyediakan satu unit per port hilir sambil menarik maksimal 5 unit dari hulu. Saya ingin tahu, apa yang akan dilakukan hub jika saya meminta dua unit melalui FT232 untuk tahap driver. Batas hulu 5 unit tidak akan tercapai (1 unit untuk hub, 1 unit untuk codec dan dua untuk driver), sehingga komputer harus secara fisik dapat memasok arus itu.
Untuk chip hub, saya telah memeriksa http://www.ti.com/lit/ds/symlink/tusb2036.pdf . Ada pilihan mode powering "ganged", apakah ini bisa membantu? Atau apakah chip itu hanya menolak untuk memberikan dua unit kepada pengemudi? Dan dalam hal ini, apakah ada solusi kotor?
Saya menyadari persyaratan bahwa perangkat berdaya tinggi juga diharuskan untuk menarik maks 100 mA selama enumerasi; ini bukan masalah karena FT232 dapat mengaktifkan driver setelah enumerasi. Hub juga akan menyalakan panggung secara mandiri.
Semoga saya menyatakan masalah saya cukup jelas dan terima kasih atas waktu Anda sebelumnya :)
MEMPERBARUI:
Saya melakukan penelitian lebih lanjut pada chip TUSB2036. Perlindungan arus berlebih dapat dimatikan oleh pin / OCPROT. Hub kemudian melaporkan ke pengendali root bahwa ia tidak dapat mendeteksi arus berlebih. Ada peringatan dalam datasheet, bahwa perlindungan OC diperlukan oleh spesifikasi USB 2.0 - ini tidak masalah bagi saya, saya hanya perlu 1,1 kecepatan penuh. Hub root PC kemudian harus memasok IMO 500 mAmps ke seluruh perangkat. Jadi, saya bisa mengatur FT232 pengemudi hanya membutuhkan 100 mA dan hub tidak akan pernah tahu jika saya akan melebihi batas (tentu saja, menghormati 500 mA dari PC). Adakah yang tahu apakah ini bisa berhasil?
Saya telah merancang papan di sekitar hub itu.
Dalam aplikasi saya, itu memungkinkan akses ke FT232 dan FT245.
Jika semuanya ada di PCB Anda sendiri, saya akan merekomendasikan Anda hanya mengabaikan seluruh sistem proteksi arus lebih sepenuhnya. Lagi pula, jika sesuatu pada PCB Anda gagal, semuanya perlu dikerjakan, sehingga membuat perangkat yang mampu mengatasi kegagalan parsial adalah semacam titik diperdebatkan.
Dalam situasi saya, saya mengikat TUSB untuk meminta 500 ma penuh dan menonaktifkan perlindungan arus berlebih, dan hanya menjalankan semuanya langsung dari USB 5.0v. Saya menyelesaikan ini dengan memaksa hub untuk melaporkan sebagai self-powered ke host hulu.
Saya telah membuat beberapa papan, tanpa masalah nyata, jadi sepertinya strategi yang bisa diterapkan. Ini juga telah digunakan dengan beberapa komputer yang berbeda, jadi saya akan merasa cukup percaya diri menggunakannya apa adanya.
Tentu saja, jika ini untuk perangkat produksi, bukan proyek pribadi, atau uji-harness (yang merupakan kasus saya), itu masalah yang sama sekali berbeda.
(Lihat catatan pada skema)
Untuk apa nilainya, Anda sering dapat cukup mengerikan menyalahgunakan sebagian besar port USB modern tanpa terlalu banyak kesulitan. Banyak dari mereka dapat memasok daya yang jauh lebih besar daripada 500mA yang mereka nilai, tanpa terlalu banyak kesulitan.
Juga, kebanyakan dari mereka (semua yang telah saya uji, kecuali beberapa laptop ) akan dengan senang hati menyediakan 500mA penuh tanpa perangkat harus menyebutkan sama sekali.
Namun, ini bervariasi dari motherboard ke motherboard, tergantung pada bagaimana host USB dirancang. Jarak tempuh Anda mungkin beragam.
sumber
Mungkin sedikit kotor: TUSB2036 memungkinkan untuk pemilihan port hilir (p3 NPINT1-0 diatur ke 10). Kemudian hubungkan perangkat Anda ke dua port (fisik) sehingga Anda dapat menggambar 2 unit secara paralel.
sumber