Usb Devre Tasarımı - Part I - Usb Giriş koruma devreleri

 

usb logo
    Mikrodenetleyici içeren bir devre tasarladık, mikrodenetleyicimizin güncellemelerini yüklemek için devremize bir port 'pin header group' bırakarak, programlanmasını sağlayabiliriz, ama bu aynı zamanda devre kapalı bir kutu içerisinde olacaksa, her defasında sökmeye ve toplamaya ihtiyaç duyulacağı anlamına gelir. Programlayıcımızı da devreye dahil edip bir USB port aracılığıyla bunu yapsak daha makul olur gibi. Bunun için USB to TTL ailesinden bir devre sisteme dahil edilebilir.

    İlk adımda, bir devrede USB protokolü kullanılacaksa, gerekli koşullar nelerdir diye bir bakalım o vakit.

PN61729 usb connector

USB tip B ("USB Series B Receptacle" diye geçer)  PN61729 konnektör kullandığımızı düşünerek senaryomuzda ilerliyelim. Konnektörün dış kasasındaki metal "Shield" ismini alıyor, diğer 4 pinler ise sırasıyla, resme bakarak üst soldaki 1- 5V (Vbus), 2 sağındaki D- (DM diye de geçer) alt soldaki 3, D+ (DP) sağındaki 4, Ground olarak belirlenmiş.

    İncelediğim uygulama notların tamamında benim gördüğüm koruma önlemleri başlıca şöyle

  • Aşırı akım koruması (Usb bus üzerinden beslenen cihazlar için mutlaka) - tasarladığımız cihaz tarafında olası bir kısadevre veya bozulmadan dolayı host cihazı korumak amacıyla, ancak bazı cihazlar ilk bağlandıklarında yüksek akımlar çekebilmektedir, bu normal bir hal olmakla birlikte tasarlanacak aşırı akım korumasının, buna müsade edebilmesi de gerekir, 100µs gibi diyebiliriz.
  • Aşırı voltaj koruması, host tarafından kaynaklanan bir sıkıntıdan dolayı Vbus hattına gelebilecek olan yüksek voltaj, aslında özellikle cihazların, - usb yapısal olarak canlı,çalışan sistemler üzerinde sökülüp takılma yeteneğine sahip olasından sebeple - sökülüp takılırken neden olabileceği spike dediğimiz anlık voltaj yükselmelerine karşı da koruma sağlanmalıdır.
  • ESD, ElectroStaticDiscarge, koruması için de özellikle tüm uygulama notlarına yer verilmiş, kablo soyulmaları ya da açıkta pin olması gibi durumlarda ya da kullanıcının kasıtlı olarak pinlere dokunması sonucu host ya da cihaz tarafında sorunlara sebebiyet verebilir, biraz daha anlamak için mevzuyu :ESD testlerinde kullanılan model olan Human Body Model'e kısa bi bakalım: 100pf kondansatör 1500 ohm discharge direnci üzerinden 2kV, 4kV, 6kV,8kV gibi yüksek voltajlarla şarj edilmiş olarak boşaltılır, bu şu demek, insan kendi üzerinden bir elektronik sisteme 100pf lık bir kondansatörün 1,5K bir direnç üzerinden 2kV - 8kV arası voltajlar boşaltabilmektedir.(*1) dolayısıyla bu leveldeki bir durum göz ardı edilmemelidir.
  • Bir de son olarak eğer ki cihazımız sadece usb üzerinden beslenmeyecekse, yani dışardan bir güç kaynağı ile usb bağlamadan da çalışacaksa (ki senaryomuz usb bağlantısını sadece firmware güncellemek üzere düşünülmüş) güç kaynağı seçici tasarlamak gerekiyor, şöyle ki, hem usb hem de dış güç kaynağı bağlıyken bu kaynaklar birbirini besleme girişiminde bulunmasın.


     Aşırı Akım Koruması, için PTC, Polymer Temperature Coefficient, (PTC dirençle tam olarak aynı şey değildir.-genelde resetlenebilir sigorta diye anılır, resettable fuse) uygun bir elemandır. Cihazdan geçen akım bir nominal sınırı aştığında, polimer tabaka ısınmaya başlayacak ve katı halden sıvı hale dönecek ve bu şekilde genişleyecektir. Genleşme, polimerin içindeki iletken katmanların kırılmaya başlamasına ve böylece elemanın düşük direnç durumundan yüksek direnç durumuna geçmesine neden olur. Sonuç olarak, elemandan geçen akım akışı önemli ölçüde düşer. Arıza onarıldıktan ve akım akışı normale döndüğünde, polimer soğur ve büzülür, iletken zincirler birbiriyle tekrar temas ettikçe düşük direnç durumuna geri döner.

    Peki hangi PTC? önemli parametrelerimiz:

  1. Holding Current: "Tutma akımı" : nominal dediğimiz değer, bu değere kadar herşey normal seyrinde devam eder, usb VBUS hattı için bu akım USB specification içeriğinde 500mA max olarak belirlenmiştir.
  2. Trip Current : "Anlık Maksimum izin verilen akım" : cihazlar ilk bağlandığında anlık yüksek akım çekebilir ve buna izin vermeliyiz dediğimiz akım. 1A gibi uygun mudur?
  3. Time-Trip de bu akıma müsade edilecek zaman zarfı, bu sürenin üzerindeki bir trip current e maruz kalırsa korumaya geçer , devrenin tamamını burdan beslemeyeceğiz sadece USB to TTL dönüştürücü entegremiz ve çevre birimleri için 0.15s gibi maksimum değer fazlasıyla yeterli olacaktır.
  4. Ek olarak Voltage değerinin 5v üzerinde olduğundan emin olalım, minimum ve maksimum resiztansın da mümkün oldukça düşük olması işimize gelir, üzerindeki voltaj düşümünün az olacağını düşünürsek.


Şöyle Bir kaç örnek bırakabiliriz: Ozdisan'dan


    Aşırı Gerilim Koruması, için MultiLayer varistorler uygun olabilir.Varistörün direnci, terminalleri boyunca gelişen yüksek voltaj durumunda önemli ölçüde düşer. Sonuç olarak, yük, güç rayından "Power Rail" veya sinyal hattından toprağa yönlendirilir ve gerilimi çok daha düşük bir seviyeye sıkıştırarak aşağı akım devresini korur. Yarı iletken seramiklerden yapılan MLA serisi varistörler, geniş bir sıcaklık aralığında çalışır ve seramik kondansatörünkine benzeyen küçük bir pakette - genellikle plastik ambalajlı bileşenlerden çok daha küçük bir alan kaplar - iyi bir aşırı gerilim koruması sağlar.

Usb Shield "Konnektörün kasasındaki metal" ile GND arasına ve yine USB shield ile VBus arasına bağlanır, bazı devrelerde ESD koruması için D+ ve D- hatlarına bağlandıklarını da gördüm, ancak varistörlerin kapasitansı göreceli olarak (TVS diyotlara göre) daha yüksektir. (tipik olarak 600-700pF) ground ve Vbus hatları -dc olmalarından dolayı ek kapasitans kullanışlı bile olabilir, ancak data hatlarında yüksek veri transferinde kapasitans gecikmelere sebep olur.

    5V luk bir varistor kullanılabilir : CG0603MLC-05E


    ElectroStaticDischarge, için MLV :MultiLayerVaristor de kullanılabilir, ki dediğim gibi data hattı üzerinde distorsiyona ve gecikmelere sebep olur, USB 1.1 ve üzeri için TVS diyot kullanılması genellikle önerilmiş. Kapasitansları oldukça düşük: 0.05pF seviyelerinde dolayısıyla distorsiyon ya da gecikmelere asla sebep olmuyor. Data hatları ile USB Shield arasına bağlıyoruz iki adet. D- den Usb Shielde bir adet, D+ dan usb shield e bir adet. 5.5v luk TVS (Transient Voltage Suppressor) diyotlar kullanılabilir, 5.5v tercih edildiğinde, usb için tasarlanmış 2 li 4 lü paketlerde bulmak mümkün, Vbus için kulanılan MLV yerine boşta kalan bir TVS de kullanışlı.

Birkaç örnek : Ozdisan



(*1) Wikipedia: Human Body Model

SiLabs AN0046

Yorumlar

Bu blogdaki popüler yayınlar

Arduino IDE Kod Satır Numaraları Nasıl Açılır

DMD2TUR | Arduino P10 Led Panel için Türkçe Karakter Desteği | Arduino P10 Led panel Türkçe yazı yazma

P10 Led Panel Nasıl Sürülür - Arduino kod