LPC1343'deki USB_CONNECT pini

Başlatan yamak, 11 Ocak 2013, 14:59:17

yamak

LPC1343'de USB_CONNECT pini ne işe yarar.Genelde aşağıdaki gibi kullanım var böyle bi kullanıma neden ihtiyaç duyulur.Yani sadece D+ pinini 1.5k ile 3.3v ye bağlasak olmuyo mu?

hgs

USBli usbsiz programlar sürekli yüklenip silinmeyecekse, sadece 1.5k yı takarak devreyi cizebilirsin.

yamak

Alıntı yapılan: gerbay - 11 Ocak 2013, 15:03:37
bazen bilgisayar (usb host tarafı) algılamaya başlamadan önce birşeyler yapmak ve hazır olmak gerekir. bu tür durumlarda o 1.5k ile pull-up yapmadan önce host tarafı porta birşey bağlandığını algılamaz ve siz hazır duruma gelirsiniz. hazır olduktan sonra da pull-up yaparsınız ve host tarafı usb portda cihaz takılı olduğunu anlar ve karşılıklı olarak işlemlere başlarsınız..

bu sadece lpc1343 içim olan bir durum değil.. o pin de özel bir pin değil zaten..
Peki hocam o transistörü ben normal bi gpio ile tetikleyemez miyim?Neden o pini mux layıp USB_CONNECT yapıyoruz.Yani USB_CONNECT'in özelliği nedir?

yamak


serhat1990

Hocam , neredeyse tüm şemalarda ve datasheet'te bu pinde yapılıyor bu bağlantı . Bende bir board çiziyorum lpc1343 ile datasheet'teki gibi bu pinden yapıyorum . Neden böyle birşey yapmış olabilirlerki normal bir gpio pini ise ? 

SpeedyX

Örneğin sadece USB HID kullanıyorsan, bağlantı sırasında birden bire bağlantıyı yazılımsal olarak koparıp örneğin mass storage olarak davranmayacaksan 1k5 i direkt bağlayabilirsin.

yamak

Yani usb-bootloader özelliğini kullanabilmek için direkt 1.5k ile pull-up yapsak yeterli mi?

haydarpasamikro

Karşı taraf kablonun ucuna takılı aygıt olduğu ve bağlanmak istediğini nasıl bilecek? USB enumaration işlemi için lazım. Aynı zamanda soft remove için de. Yoksa 1.5k tak gitsin. Hard sök tak.

Aynı zamanda USB bootloader kullancaktır. Eğer usb boot değil de Comport dan boot yapacaksanız USBVBUS bağlatısını gözden geçirin. Çünkü seçimi bu pin(pio03) yapar. USB mi uart boot mu?
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

yamak

Hocam şimdi bu USB_CONNECT pini ben chipi ISP moduna aldığımda otomatik olarak low seviyesine mi düşüyo yoksa benim bi müdahalem gerekiyo mu?

z

#9
Kablo takılı olduğu halde USB iletişim bir nedenle kesilir ve PC USB cihaz üzerineki ilgisini kaybederse, cihazın PC nin dikkatini çekmesinin tek yolu bu 1K5 direnci devreden çıkartıp geri devreye takması olacaktır.

Bu durum benim uygulamamda olmaz, olursa da kabloyu söker geri takarım diyorsanız 1K5'i porta bağlamadan doğrudan Vdd (yada Vss) e takıp kullanabilirsiniz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yamak

Hocam şimdi bu chip in kendinde HID ve MSC driver hazır olarak bulunuyo.Yani hiçbir harici bootloader a gerek kalmadan programı usb üzerinde yükleyebiliyoruz. Pc chip i 32 kb lık flash olarak görüyo biz de programımızı sürükle bırak ile içine yüklüyoruz.Aşağıdaki resim de datasheet alıntıdır.Sizin yukarıda anlattığınız durumu acaba chip içindeki driver aracılığı ile otomatik olarak mı gerçekleştiriyo?Yani bağlantı kesildiği an USB_CONNECT pini otomatik olarak  seviye değiştirip tekrardan bağlantı sağlanmış mı oluyo?
[IMG]http://img833.imageshack.us/img833/6060/ekranalntsvg.jpg[/img]

Uploaded with ImageShack.us

z

Bu çipi tanımıyorum fakat 1K5 in hikayesi anlattığım şekilde gibi.

Normalde USB cihazdaki yazılım bu direnci dilediği zaman devre dışı bırakıp devreye alıp yeni baştan USB enumeration işlemini başlatabilir.
Kullanıcının bir şey yapması gerekmiyor. USB init rutininin ilk başta yaptığı işlemlerden birisi bu.

Yazdıklarınıza göre bu çip üzerindeki yazılım çipi PC'ye usb flash disk gibi gösteriyor. Bunun için power on aşamasında enumeration başlıyor ve kendini flash olarak tanıtıyor. Siz programı sürükleyip flash diske yani çipe yüklediniz ve kodlarınız koşmaya başladı. Bu aşamadan sonra çip usb portu disk olarak değilde mesela HID olarak göstermek isterse bu isteğini ancak 1K5 direnci devreden söküp geri takarak başarabilir.

Bu işlem çip içindeki yazılımla yapılır.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yamak

Hocam bunun haricinde bu iş ile görevli iki pin daha voar P0.1 pini low seviyeye çekince chip ISP moduna giriyo.P0.3 pinini de high seviyeye çekince USB ile yani az önce anlattığım gibi boot ediliyo low seviyeye çekince ise UART üzerinden boot ediliyo.Bu iş için aşağıdaki gibi devre kullanılıyo genelde. Bu devrede USBCONNECT hattı mcu nun USB_CONNECT pinine gidiyo.USBVBUS ise yukarıda bahsettiğim P0.3 pine gidiyo.Yani bu durumda usb bağlantısını yapınca direk olarak USB boot seçimi yapılmış oluyo.
[IMG]http://img507.imageshack.us/img507/5610/ekranalntsx.jpg[/img]

Uploaded with ImageShack.us