USB veri yolu ile çalışan hub - cihaz başına 100 mA'dan fazla mı?


11

USB güç yönetimi ile ilgili oldukça özel bir soru sormak istiyorum.

Her şeyden önce, cihazımın tasarımını ana hatlarıyla anlatacağım. DIY hoparlör sistemim için yerleşik bir ses codec bileşenine sahip simetrik bir sinyal hattı sürücüsü. Cihaz dahili olarak çoğunlukla bağımsız iki bloğa ayrılmıştır: kontrol eden MCU ve ses kodekine sahip çok hatlı sürücü (TI'nin PCM2706). Her ikisi de USB veri bağlantısına ihtiyaç duyar (sürücü bloğu için bir FT232R üzerinden) ve tüm cihaza veri yolu ile güç verilmelidir. İki blok, bir USB hub çipi ile birbirine bağlanacak ve PC'ye tek bir yukarı bağlantı USB bağlantısı sağlayacak. Sürücü aşamasının tüketiminin 100 ile 200 mA arasında (kesinlikle birden fazla yük birimi) olmasını bekliyorum.

Sorun geliyor: USB spesifikasyonuna göre, veri yolundan güç alan bir hub, yukarı akıştan maksimum 5 birim çekerken, aşağı akış bağlantı noktası başına yalnızca bir birim sağlayabilir. FT232 üzerinden sürücü aşaması için iki ünite talep etsem hub ne yapardı bilmek istiyorum. 5 birim yukarı akış sınırına ulaşılamaz (hub için 1 birim, kodek için 1 birim ve sürücü için iki birim), bu nedenle bilgisayarın fiziksel olarak bu akımı sağlayabilmesi gerekir.

Hub çipi için http://www.ti.com/lit/ds/symlink/tusb2036.pdf adresini ziyaret ediyorum . "Çete" güç modu seçeneği var, bu herhangi bir yardım olur mu? Yoksa çip sürücüye iki ünite vermeyi reddeder mi? Ve bu durumda, kirli bir çözüm var mı?

Numaralandırma sırasında maksimum 100 mA çekmek için yüksek güçlü cihazların da gerekli olduğunun farkındayım; FT232 numaralandırmadan hemen sonra sürücüyü açabildiğinden bu bir sorun değildir. Hub aşamaları bağımsız olarak da açacaktır.

Umarım sorunumu yeterince açık ve zaman ayırdığınız için şimdiden teşekkür ederim :)

GÜNCELLEME:

TUSB2036 yongası hakkında biraz daha araştırma yaptım. Aşırı akım koruması / OCPROT pimi ile kapatılabilir. Ardından hub, aşırı akım algılayamadığını kök denetleyiciye bildirir. Veri sayfasında USB 2.0 özellikleriyle OC korumasının gerekli olduğuna dair bir uyarı var - bu benim için önemli değil, sadece 1.1 Tam hıza ihtiyacım var. PC'nin kök hub'ı IMO'ya tüm cihaza 500 mAmp güç sağlamalıdır. Böylece, sürücünün FT232'sini sadece 100 mA gerektirecek şekilde ayarlayabilirim ve hub, limiti aşıp aşmayacağımı asla bilemezdi (PC'den 500 mA'ya saygı duyarak elbette). Birisi bunun işe yarayıp yaramayacağını söyleyebilir mi?

Yanıtlar:


3

Tasarımınızı anladığım kadarıyla, tüm cihazın tek bir PCB'de olduğu, tek bir muhafaza içinde olduğu ve ana bilgisayara tek bir USB kablosu ile bağlı olduğu anlaşılıyor. Her iki cihazın da PC ile iletişim kurmasını sağlamak için PCB'ye bir hub entegre ettiniz. Aşağıdaki cevap, bağlantı kesilebilir kablolarla bağlanan birkaç ayrı cihazdan yapılmışsa, bu varsayımlara dayanacaktır.

Bu durumda, hub'ı yüksek güçlü bir cihaz olarak numaralandırılacak şekilde yapılandırmanızı ve ortaya çıkan 500 mA'yı tüm kart arasında paylaşmanızı öneririm. İlginç bir şekilde, TI'nin gang-port örnek şeması, güç yönetimi IC'lerini kullanırken bile birbirine bağlı cihazları gösterir:

resim açıklamasını buraya girin

Gelen 5V güç kaynağı hattı (bu karmaşık şematik ile ilgilendiğimiz iki ağdan biri olduğu için mavi renkle vurgulanmıştır) bir TPS2041 güç yönetimi IC'sine (cömert bir açıklama, gerçekten sadece kapatılan bir FET) 500mA akımın geçtiğini algılar). Bununla birlikte, girişlerin her biri birlikte kısaltılır ve çıkışların her biri de birlikte kısaltılır ve daha sonra aşağı akış bağlantı noktalarının her birine (ağ kırmızı olarak gösterilir) dağıtılır.

Temel olarak, tek bir IC'deki tüm aşağı akış bölümleri için aşırı akım koruması yapıyorlar. Üç düşük güç (100mA) ünitesi, tek bir yüksek güç ünitesi veya iki düşük güç ünitesi ve bir 300 mA ünitesi olup olmadığını tespit etmenin bir yolu yoktur. Tüm bu seçenekler, bu referans tasarıma dayanarak kabul edilebilir. Sen yazdın:

USB spesifikasyonuna göre, otobüsle çalışan bir hub, en fazla 5 birim çizerken aşağı akış bağlantı noktası başına yalnızca bir birim sağlayabilir ...

ancak, sorunuzu doğrudan yanıtlamak için, Texas Instruments'ın (bir USB grup üyesi ve büyük bir uygulayıcı) bu tasarımı, sadece toplam akımın 5 üniteden az olduğunu garanti etmeniz gerektiğini gösterir.


Sorununuzu çözmek için kurallar ( kısaca bir belgede mükemmel USB'den alınmıştır ):

Yüksek güçlü bara bağlı işlevler, tüm gücünü veri yolundan çeker ve yapılandırılana kadar birden fazla birim yük çekemez, bundan sonra tanımlayıcısında istenmesi koşuluyla 5 birim yükü (500 mA Maks) boşaltabilir.

Sürücü yapılandırmanızın, aygıt yapılandırılana kadar (ana bilgisayar denetleyicisinde zamanlanmış bir gecikme kadar basit olabilir) akım çekmeye başlamayacağını garanti ediyorsanız, her şeyi birbirine bağlayabilirsiniz. Tüm devreniz tek bir PCB üzerinde olduğundan ve kullanıcı tarafından erişilebilen aşağı akış bağlantı noktalarına sahip olmadığından, muhtemelen TPS2041'i de bırakabilir ve sistemi herhangi bir durumda 500 mA'dan fazla akım gerektirmeyecek şekilde tasarlayabilirsiniz.

Yüksek güçlü bir cihaz olarak numaralandırmanın diğer bir yararı, geliştirilmiş giriş voltajı özellikleridir. Düşük güçlü bir cihaz olarak numaralandırdığınızda, ana bilgisayarın yalnızca yukarı akış bağlantı noktasında 4.40 V üretmesi gerekir (bu, kablonun direnci nedeniyle cihazınızda daha düşük olacaktır). Yüksek güçlü bir cihaz olarak numaralandırdığınızda, özellik 4.75 V almanızı garanti eder, bu da kullanmakta olduğunuz 5V bileşenlerinin çalışma aralığında olması daha olasıdır.


Mükemmel bir cevap için teşekkürler. Ancak hub'ı bu şekilde nasıl yapılandırabilirim? Harici EEPROM'a ihtiyacım var mı?
Ladislav

1
Bağlamanız gerekir! Yere GANGED ve! EXTMEM ila 3.3V. Ancak, harici EEPROM iyi olabilir: Aksi takdirde cihazınız PC'de 'genel USB hub' olarak görünecektir. Alternatif olarak, yerleşik mikro denetleyicinizle muhtemelen bir EEPROM'u taklit edebilirsiniz (I2C arabirimlerinden birini bağımlı olarak çalışacak şekilde yapılandırın). Daha sonra bunu bir 'Hoparlör sistem sürücüsü ve codec denetleyicisi' veya bunun gibi bir şey olarak bildirebilirsiniz.
Kevin Vermeer

5

Bu göbek çevresinde bir tahta tasarladım.

Benim uygulamada, bir FT232 ve bir FT245 erişim izin oldu.

Her şey kendi PCB'nizdeyse, tüm aşırı akım koruma sistemlerini tamamen görmezden gelmenizi tavsiye ederim. Sonuçta, PCB'nizdeki bir şey başarısız olursa, her şeyin çalışması gerekir, bu nedenle cihazın kısmi bir başarısızlığı kaldırabilmesi bir tür tartışma noktasıdır.

Benim durumumda, TUSB'yi tam 500 ma istemek ve aşırı akım korumasını devre dışı bırakmak için bağladım ve her şeyi doğrudan USB 5.0v'den çalıştırdım. Bunu, hub'ı yukarı akım ana bilgisayara kendi kendini güçlendiren olarak rapor etmeye zorlayarak başardım.

Herhangi bir gerçek problem olmadan birkaç tahta yaptım, bu yüzden mükemmel bir şekilde uygulanabilir bir strateji gibi görünüyor. Ayrıca birkaç farklı bilgisayarla birlikte kullanıldığından, olduğu gibi kullanmaktan çok eminim.

Tabii ki, bu bir üretim cihazı, kişisel bir proje veya bir test koşumundan ziyade (benim durumumda olan şey), tamamen farklı bir sorunsa.

resim açıklamasını buraya girin

(Şemadaki nota bakınız)


Değeri için, çoğu modern USB bağlantı noktasını çok fazla sorun yaşamadan çoğu zaman korkunç bir şekilde kötüye kullanabilirsiniz. Birçoğu, çok fazla sorun olmadan derecelendirildikleri 500m'den çok daha fazla güç sağlayabilir.
Ayrıca, çoğu (test ettiğim, bazı dizüstü bilgisayarları yasaklayan ), tam olarak numaralandırması gereken bir cihaz olmadan tam 500mayı mutlu bir şekilde tedarik edecek.

Bununla birlikte, bu, USB ana bilgisayarının nasıl tasarlandığına bağlı olarak anakarttan anakarta değişir. Kilometreniz değişebilir.


Evet, bunu düşünüyordum, ama dediğin gibi, bu MB'den MB'ye değişir. Cihaz binlerce üretilmeyecek, ancak olabildiğince birlikte çalışabilir olması gerekiyor, bu yüzden herhangi bir bilgisayarda "Sadece çalışır". Yine de teşekkürler, pratik gözlemler de aynı derecede değerlidir :).
Ladislav

@Ladislav - USB spesifikasyonlarını en azından bir şekilde ihlal etmeden aşağı akış cihazlarını açma / kapama yeteneğine ihtiyaç duymamaktan başka bir şey olmadığını düşünüyorum.
Connor Wolf

Cihazı otobüsle çalışan bir rapor olarak bağlarsanız ve güç anahtarlamasıyla uğraşmazsanız, yine de çalışabileceğini belirtmek gerekir . Test etmeye değer olabilir. Alternatif olarak, yalnızca USB-1.1 hub IC'yi arayın.
Connor Wolf

1

Biraz kirli olabilir: TUSB2036, aşağı akış portu seçimine izin verir (p3 NPINT1-0, 10'a ayarlıdır). Ardından, 2 birimi paralel olarak çizebilmeniz için cihazınızı iki (fiziksel) bağlantı noktasına bağlayın.

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.