VBUS algılama girişinde 5V tolerans


8

STM32L476 etrafında bir cihaz tasarlıyorum. Cihazım öncelikle pille çalışıyor, ancak takılıyken pil tüketimini sınırlamak için alternatif bir güç kaynağı (3.3V regülatör aracılığıyla) kullanmak istediğim bir USB bağlantı noktası var. Pil olmadığında kullanıcının USB bağlantı noktasını bağlaması da mümkündür.

USB bağlantı noktası bağlandığında bunu algılamak istiyorum, bu yüzden PA9'u OTF_FS_VBUS olarak kullanıyorum.

İyi haber : veri sayfası PA9 pininin 5V toleranslı olduğunu söylüyor.

Kötü haber : 5V toleranslı pimler sadece güç uygulandığında 5V toleranslı gibi görünüyor. Veri sayfası §6.2 tablo 18 diyor ki:

FT_xxx pinlerinde maksimum giriş gerilimi: min (VDD, VDDA, VDDIO2, VDDUSB, VLCD) + 4,0V

Benim durumumda, pil yoksa ve kullanıcı USB bağlantı noktasını bağlarsa, regülatör başlamadan önce, CPU besleme pimlerine hiçbir güç uygulanmazken PA9'daki voltajın 5V olacağı bir zaman vardır.

Daha da kötü bir haber : mevcut enjeksiyona izin verilmiyor: veri sayfası §6.2, tablo 19, diyor:

FT_xxx'e enjekte edilen akım: -5 / + 0 (not 4'e bakınız)

Not 4: VIN <VSS ile pozitif enjeksiyon yapılırken VIN> VDDIOx ile pozitif enjeksiyon başlatılır. IINJ (PIN) asla aşılmamalıdır.

Bu yüzden, regülatör başladığı sırada PA9'daki aşırı akımı sınırlamak için basit bir direnç kullanamıyorum. VDD artışına başlamadan önce VBUS'tan PA9'a akan herhangi bir akım görünüşte yasaklanmıştır.

Diğerleri ne yaptı?

STM32 çipleri etrafında VBUS bağlantılarına bakarak sayısız tasarıma baktım ve umursamıyorlar. VBUS'u doğrudan PA9'a veya sonunda bir direnç yoluyla bağlarlar, ancak daha karmaşık bir şey görmedim. Ama çoğunlukla kalkınma panoları, bu yüzden sanırım sağlamlık (bir kelime mi?) Çok önemli değil. Ve genellikle USB portundan güç almazlar ve kesinlikle kullanıcının panoya güç vermeden önce USB portunu bağlamayacağını varsayalım.

Planım nedir?

Bunu USB bağlantı noktasındaki VBUS ile MCU'nun PA9 pimi arasına koymak:

VBUS koruması

Gerçekten basit tutmaya çalıştım. Temel olarak, VUSB_CPU'nun (PA9 pimi olan) hiçbir zaman VCPU + 4V'nin (Vz + Vbe) üzerinde olmamasını sağlar;

Ana sorularım : Analizimde doğru muyum? Bu devre iyi bir çözüm müdür? Alakasız şeyler için endişeleniyor muyum? Neden başka hiç kimse bu potansiyel sorunu umursamıyor gibi görünüyor?

Ek soru : USB OTG kullanmayı planlıyorum. Konektör ve PA9 pimi arasında 4,7k direnç varsa bu bir sorun mu var? Sanırım SRP sırasında VBUS darbesi kullanmak zorunda kalırdım, ama bu yöntem görünüşe göre kaldırıldı. Cihazımın rolü (cihaz / ana bilgisayar) ne olursa olsun iyiyim?

Sonuncusu : VDDUSB besleme pimi tarafından çekilen maksimum akım nedir? Veri sayfası, USB çevre birimi için şunları belirtir: AHB saat alanı için 16.4µA / MHz + bağımsız saat alanı için 23.2µA / MHz, ancak nereden çekildiğini bilmiyoruz (VDD veya VDDUSB).


Başka bir PA9 koruma seçeneği, USB'ler + 5v ve PA9 arasına bir mos anahtarı koymak ve daha sonra regülatörün çıkışı ile anahtarın kapısını sürmek olacaktır.
Mark

neden bir direnç bölücü kullanmıyorsunuz? 430k ve 630k pinte 3.3v verecektir.
b degnan

Ancak bir direnç bölücü enjeksiyon sorununu çözmeyecektir. Bölücü, parça açılmadan önce pime 3.3 volt enjekte edecektir.
Mark

Veri sayfasından, pimin kapalı olsa bile 4v'ye dayanabileceğini anlıyorum (bu doğru mu?). Bu nedenle bir direnç bölücü iyi bir çözüm olacaktır, ancak gücü kalıcı olarak çekecektir. Bu konuda sıkı bir kısıtlamam olduğunu söylemeyi unuttum.
dim

Yanıtlar:


4

Vbus'ta direnç bölücü (430k / 620k) ile devam edin - bu, mikrodenetleyiciyi spesifikasyonda tutacaktır ve parazitik akım çekişi, bataryadan değil sadece Vbus'tan kaynaklanacağı için bir problem olmayacaktır ( Korumak istediğinizi varsayalım).


Aptal beni ... Direnç bölücüsünü mevcut tüketim yüzünden dışlamıştım, ama mantığım açık değildi. Gerçekten, vbus'tan güç çekmek bir sorun değildir. Şimdi, neden kimse tahtalarında bunu yapmıyor? ST'nin kendisi (keşif kurulu), olimex, ...? Hala bu noktayı anlamıyorum.
loş

0

Muhtemelen en basit yöntem, büyük bir kapasitör (birkaç uF veya daha fazla) besleyen yüksek değerli bir direnç (10-100k) kullanın, böylece voltajın yükselmesi zaman alır, bir voltun fraksiyonu hakkında endişelenmezdim regülatör çalışırken kondansatör üzerinde birikir, eğer mikro esd koruması varsa, girişler birkaç on uS için 5-10V işleyebilir


Bu kulağa hoş geliyor ... ama sadece güç kesildiğinde ne olacağını düşünene kadar. Kapasitör aslında sadece büyük değer direncine sahip olmaktan daha kötü şeyler yapabilir - direnç çok fazla akım sağlayamaz, ancak yüklü kapasitör bunu yapabilir.
Chris Stratton

küçük bir zenerden geçebilir misin? Veri sayfasının o bölümünde VDD + 4V doğru mu? VDD + 4V'den daha düşük bir rayı düşüren bir zener olsaydı bu iyi olur mu?
Sam

Zener önerinizi şematik olmadan iyi göremiyorum. Ancak çözüm benimkiyle aynı karmaşıklığa sahipse (3 ucuz ayrık bileşen), fazla kazanmayacağım.
loş

Temel olarak: Giriş-> zener-> PA9, seri dirençlere karşı girişle seri olarak zener, zener bir veya iki volt düşürür, böylece PA9'daki voltaj her zaman biraz daha düşük olur. Geliştirici panoları sadece onları bağlarsa, muhtemelen tamam, bence MCU açıldıktan sonra uyarılar geçerli olabilir, güç sıralaması veya başlatma davranışı hakkında bir bölüm olup olmadığına bakın.
Sam

1
@Tom aslında benim asıl sorunum bu. Kontrol ettim, hiçbir şey yapmıyorlar. PA9, Discovery demo kartlarında doğrudan USB bağlantı noktasındaki (bir dirençle bile değil) VBUS'a bağlanır. Yani, bir şeyi kaçırmadıkça, bu veri sayfasıyla tamamen çelişmektedir. Benim sorunum aslında kendi içindeki koruma devresi değil. Bence çözümüm kesinlikle geliştirilse bile işi yapabilir. Dürüst olmak gerekirse, asıl sorunum sadece: gerçekten gerekli olan şey mi?
loş
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.