Solusi untuk beradaptasi dengan batas penarikan USB saat ini?

22

Rangkuman: Saya sedang menyiapkan sirkuit pengisian daya Li-ion bertenaga USB dan tentu saja ingin menarik arus pengisian maksimum yang mungkin terjadi secara situasional - tetapi juga ingin memastikan saya tidak melanggar spesifikasi USB pada penarikan saat ini. Sementara saya telah dapat memenuhi satu / dua kondisi USB secara terpisah, saya mengalami sedikit kesulitan memikirkan cara cerdas untuk memuaskan semuanya. Inilah yang terjadi ...

Empat aturan spesifikasi USB (tiga tentang maksimum penarikan arus, dan satu tentang pembatasan arus Inrush) yang berkaitan dengan situasi khusus saya adalah sebagai berikut: (Catatan: Saya menunjukkan berbagai tahapan waktu dalam diagram ini :)

Aturan

Berita baiknya adalah ...

Saya kebetulan menggunakan FTDI USB-UART IC, FT232R ( datasheet ), yang menangani enumerasi dan juga memiliki output yang menunjukkan status Enumerasi dan status Penangguhan, yang akan berguna untuk mengatur kapan menggambar level berapa saat ini.

Juga membantu adalah bahwa saya menggunakan IC pengisi daya Li-ion, MCP73871 ( datasheet ), yang memiliki pin ChargeEnable, serta pin Prog2 dan pin Prog1 yang memungkinkan pengaturan Mengisi batas saat ini.

Fungsi dari pin yang berguna untuk kedua IC di atas dirangkum dalam tata letak percobaan saya (kasar) di bawah ini. Itu belum lengkap, seperti yang ditunjukkan oleh tanda Tanya di koneksi tertentu:

Tata letak saya

Tata letak saya

Spesifikasi gambar saat ini

Akhirnya, berikut adalah spesifikasi saat ini-menggambar situasional untuk dua IC. Tentu saja, pengundian saat ini juga harus dihitung ke dalam batas pengundian arus 0,5 / 100/500 mA pada suplai USB: Gambar saat ini

PERTANYAAN: Sepertinya ada solusi untuk menyesuaikan tata letak sehingga untuk memenuhi semua empat aturan / kondisi sekaligus, tapi aku tidak melihatnya; Ada ide?

Seperti yang Anda lihat di tata letak saya sebelumnya, saya telah menyiapkan sirkuit yang tidak terhubung (kombinasi RC pada MOSFET) untuk masalah soft start; dan saya punya resistor pengaturan-batas pada pin PROG1, yang mungkin dapat digunakan sebagai bagian dari pembagi untuk memecahkan sebagian masalah 500mA vs 100mA vs 0,5mA (sebagian didasarkan pada strategi FTDI dalam catatan aplikasi ini ). Tapi itu sejauh yang bisa saya jangkau.

boardbite
sumber

Jawaban:

11

"Perangkat MCP73871 secara khusus mematuhi batas yang ditentukan saat ini yang diatur oleh spesifikasi USB." -MCP73871

Anda tidak perlu membatasi apa pun saat ini. Solusi MOSFET Anda hanya akan berguna untuk membatasi lonjakan arus karena beban kapasitif tetapi pin VDD Anda tidak kapasitif juga tidak akan batas sirkuit begitu sudah menyala. Yang perlu Anda lakukan adalah mencari tahu bagaimana menggunakan #PWREN dan #SLEEP untuk mengganti nilai resistor yang berbeda. MCP73871 melakukan sisanya.

  1. Cukup kaitkan #SLEEP ke #CE untuk menjaga "standby".
  2. Tambahkan inverter antara #PWREN dan # PROG2 tetapi pastikan input mengambang default output inverter ke RENDAH.
  3. Tempatkan pull-down 2.2k di # PROG1

Catatan: pastikan Anda memiliki R1 karena #PWREN akan mengemudi tinggi dan Anda perlu membatasi arus ke NPN.

masukkan deskripsi gambar di sini

Arsonist Analog
sumber
Ini kedengarannya benar; Saya sekarang akan melihat metode ini, jika ada kasus yang tidak memuaskan, dan akan berkomentar segera setelah saya memeriksanya
boardbite
beri tahu saya jika Anda memerlukan bantuan dengan nilai resistor
Analog Arsonist
1

Mungkin pengontrol reset akan berguna di sini; hubungkan outputnya ke jaringan RC untuk startup. Kemudian ambil TIDUR, balikkan, dan dengan sinyal reset, dan beri makan ke CE. Untuk PWREN, buat pembagi tegangan sekitar 1,5V atau lebih. Masukkan melalui pembanding pembalik terhadap 1V, dan masukkan itu ke PROG2.

Ignacio Vazquez-Abrams
sumber
Bisakah Anda menggambar skematis, akan lebih mudah untuk mengikuti kemudian penjelasan teks dan Anda kemudian dapat menggunakan teks untuk menjelaskan skematis.
Kortuk