USB Baglantisi koptu fakat ne taraf koptu?

Başlatan z, 27 Temmuz 2014, 13:45:37

z

A ve B cihazlari usb uzerinden haberlesiyor olsunlar.

Ortamda cok fazla gurultu olsun ve nihayetinde A-B iletisimi sussun. (A ve B Islemcileri calisiyor ancak birinden birinin yada her ikisinin USB makineleri sustu)

Iletisimin sustugunu tespit ettigimiz anda acaba A mi sustu B mi sustu nasil anlariz?

A ve B islemcileri bende sorun yok karsi tarafin USB "interface"i cevap vermiyor cevabini nasil verdiririz?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

erpay

Birbirlerine sürekli artan bir sayı göndersinler söz gelim A 1 den başlayarak tek sayılar göndersin B de bunu alınca çift sayı göndersin yani A 1 derse B 2 desin bunu gören A 3 desin gibi... Bu durumda en son hangisi göndermemiş anlayabiliriz sanırım.

ErsinErce

aradaki iletişimde sorun oluyorsa sorun sende ya da bende demek ne işe yarayacak hocam?
hatta sorun varsa her iki tarafta sonuçta sorgu gönderip alamama durumuna çok rahat düşebilir.

z

#3
Bu tespit,  EMI bagisikligi icin ne tarafin devrelerinde iyilestirme yapacagimizi belirler.

Malesef USB de RS232 deki gibi loop yapamiyoruz. TI'in stellaris ailesinde benzeri bir ozellik vardi ama bildigim kadariyla STM de yok.

(Baslikta USB baglantisi koptu derken kablosu koptu anlaminda demedim)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

acemi2010

Merhaba;
Bence en sağlıklı çözüm bağımsız çalışan bir analyzer
Ucuzu PC tarafında çalışacak olan Software USB Analyzer http://www.usblyzer.com/
Ya da Hardware Analyzer, çok profesyönel olacağının yanısıra çok da pahalı olur sanırım
Buradaki link'te öneriler olmuş
http://janaxelson.com/forum/index.php?topic=1344.0

Saygılarımla
Timuçin



Icarus

Alıntı yapılan: z - 27 Temmuz 2014, 13:45:37
A ve B cihazlari usb uzerinden haberlesiyor olsunlar.

Ortamda cok fazla gurultu olsun ve nihayetinde A-B iletisimi sussun. (A ve B Islemcileri calisiyor ancak birinden birinin yada her ikisinin USB makineleri sustu)

Iletisimin sustugunu tespit ettigimiz anda acaba A mi sustu B mi sustu nasil anlariz?

A ve B islemcileri bende sorun yok karsi tarafin USB "interface"i cevap vermiyor cevabini nasil verdiririz?
Aslında USB böyle çalışmıyor ki ...

z

USB makinesi karşıdaki ile sürekli konuşma halinde. Fakat gürültüyü yiyen donanım tamamen suskun  duruma geçebilir. Yada saçmalayabilir.
Sonuçta registerleri olan bir durum makinesi.

Dolayısı ile suskunlaşan yada sapıtan taraf kimdir sorusuna cevap arıyorum.

USB kablosunun D+ D- uçlarını kısa devre edin. Yazılımınıza sorun bende değil yada bende dedirtemezmisiniz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Icarus

Alıntı yapılan: z - 02 Ağustos 2014, 17:18:28
USB makinesi karşıdaki ile sürekli konuşma halinde. Fakat gürültüyü yiyen donanım tamamen suskun  duruma geçebilir. Yada saçmalayabilir.
Sonuçta registerleri olan bir durum makinesi.

Dolayısı ile suskunlaşan yada sapıtan taraf kimdir sorusuna cevap arıyorum.
Bu problemlerin nedeni hazır library ve driver kullanmak. Çünkü gürültüden veya yanlış veriden dolayı usb bağlantısı kopmaz. (Sadece ilk takılma anında kopabilir ki iyi bir client reset isteyebilir.)

Alıntı yapılan: z - 02 Ağustos 2014, 17:18:28
USB kablosunun D+ D- uçlarını kısa devre edin. Yazılımınıza sorun bende değil yada bende dedirtemezmisiniz?
Sorun hiç kimsede değil iletim hattında olur. Fakat öyle birşey yaparsanız host zaten hatalı configurasyona geçip veri aktarımını keser.
Ama "gürültü" ile böyle bir hata yaratamazsınız sadece hattın fiziksel hasarı ile mümkün.

z


1) JTAG cihazini ARM islemcine bagla. PC de ornegin Keili calistir.
2) Herhangi bir programi debug etmeye basla.
3) Ortamda elektrik parazitleri olustur. (Fircali motor vs)

Bu durumda neler olabiliyor.

Gurultu nedeniyle Keilin debug menusunden cikilabiliyor
Tekrar debug menuye girmeye kalktiginda JTAG  cihazi bulunamadi, MCU bulunamadi mesaji alabiliyorsun yada Keil tamamen bloke olabiliyor.

Fakat ayni islemi usb kablosu bagli degilken yap PC de calismakta olan diger programlar sorun olusturmuyor. Demekki gurultu nedeniyle usb donanimi kafayi yiyebiliyor ve bunun neticesinde yazilim cakilabiliyor.

---------------------

USB engine nasil kafayi yer?

Sonucta her yer register dolu. Configurasyonla ilgili tek bir bit bile konum degistirse donanim devre disi kalir.

Sonucta usb kablosu da gurultuleri tasimak icin uygun bir arac.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Icarus

Bu daha çok JTAG'in galvanik izolasyona sahip olmaması + power distribution problemleri gibi duruyor

z

Yani her sey olabilir ama usb donanimi sacmalaz diyorsun.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Icarus

Evet abi, usb bağlantıları doğru ise, driver'lar doğru ise usb'nin sapıtması için bir neden yok.
Ama mesela bazı adamlar driver yazıyor baştan sağma, adam driver stack'i (driver'ların bir biri bağlandığı bir alan) yanlış kullanmış, suprise removal'ı windows'a bırakmış vb...

Aleti 1-2 soküp takdığında windows tanımıyor. restart yapıyorsun düzeliyor... Bunlar hep programcıların hatası.