usb hid problem

Başlatan robomaster, 15 Şubat 2014, 16:32:57

robomaster

Arkadaşlar bu güne kadar 18f4550 ile yaptığım USB denemelerinde soru  yaşamadım. Hepsi virtual usb ile simülasyon programından pc üzerindeki c sharp uygulamaları ile güzelce veri alış verilşi yaptı.

sorun 18f4550 li devreyi fiziksel olarak yapıp usb portuna bağladığımda algılanıyor ama driver istiyor.HID dtiver mı yüklüyeceğiz. yüklüyecek isek bunu neredn indiriceğiz.

Selamlar

pea

Virtual USB Proteus'un driver'ını kullanıyor.
Microchip'in driver'ını yüklemeniz lazım. Yanlış hatırlamıyorsam şu kütüphanenin içinden çıkması lazım:
http://www.microchip.com/pagehandler/en-us/devtools/mla/

robomaster

çok teşekkür.

bir de bu usb ile ürün yapınca lisans mı almak lazım ona???????????  usb için

hll

robomaster sorunu çözüldü herhalde hani konuyu başka bi yere sürüklüyo gibi olucam

ben bişey sorcaktım usb beslemesini kullanmadan devremizi başka bir kaynaktan beslemek istersek
bir sorun çıkarmı yani usb kablosundan çıkan vcc bağlamıyoruz sadece gnd bağlı d+ ve d- kablolarınada 22 ohm bağlı

pea

@robomaster
usb.org üzerinden VID ve PID almak gerekiyor diye biliyorum. Ücreti de 1000$ olması lazım. Ancak sanırım bazı mikrokontrolcü üreticileri ücretsiz lisans veriyordu gibi bir şey hatırlıyorum. Araştırmak lazım.

@hll
Datasheet'te anlatılmıştı diye hatırlıyorum. Bilgim yok o konuda.

LukeSkywalker

#5
HID cihazlar için lisans almaya gerek yok sanırım.

@hll
Şaseleri birleştirmen şart. + uca gerek yok.

t2

HID cihazınız olsa da lisans almanız gerekir. Lisans, kullanılan VID ve  PID ile ilgili.

Firmanın biri VID ve  PID kullanım hakkı verdiyse HID cihaz üründe onu kullanırsanız, lisans almanıza gerek yok.

VID, PID ?

984sami

Alıntı yapılan: robomaster - 15 Şubat 2014, 16:32:57
HID dtiver mı yüklüyeceğiz.

HID aygıtları HID yapan işletim sistemlerinin ilgili sürücülere sahip olmasıdır. Bir aygıt HID sınıfı olduğunu bildiriyorsa işletim sistemi ona ait sürücüyü otamatik olarak kurar, bunun için online bağlantıyada ihtiyaç duymaz çünkü USB-IF tarafından belirlenmiş çeşitlemeye göre gerekecek sürücüler sistem kurulurken HDD ye kopyalanır. Proteus ile ancak bir noktaya kadar USB iletişimi için simulasyon yapabilirsiniz, gerçek donanımda pek çok farklılık ortaya çıkar.

USB portu kullanacak her aygıt istisnasız benzersiz bir kimliğe sahip olmak zorundadır. Bu VendorID ile sağlanıyor ve yönetimi buradan yapılıyor. VendorID nasıl alınır, yani USB-IF üyesi nasıl olunur derseniz cevabı burada. ProductID ise VendorID sahibi tarafından istendiği gibi fakat yine benzersiz (seri no ile ayrılan bazı istisnalar mevcut olmakla birlikte) olarak belirleniyor.

Ancak belli bir sayıda üretim yapacaksanız USB modülü bulunan ürünlerin üreticileri kendi VendorID leri altında ürününüze bir ProductID verebiliyorlar. "Verebiliyorlar" çünkü görüşmeye bağlı bir durum. Tabi ürününüzün üreticisi olarak sizin firmanızın yerine çip üreticisinin adının görünmesini isterseniz.

Bu arada t2 benden önce davranmış :)

Ramiz

Nasıl yani?!?!?!??

Şimdi,

VID:1234
PID:0001


Bu ayarları kullanan bir cihaz ürettim. Diğer pclerde bu aletimi kullanamıyormuyum?


Electrical & Electronics Engineering -> Step one

pea

O değerleri siz veremezsiniz, USB.org verir. Ya da t2'nin dediği gibi üretici lisansını kullanırsınız.
Kendi kafanıza göre girdiğiniz değeri ticari üründe kullanmak başınıza iş açar.

robomaster

Sorun çözülmedi!
Windows USB aygıtı tanımadı.
Bu bilgisayara takılı USB aygıtlarından birisi
Çalışmadığından Windows aygıtı tanıyamıyor.
Diyip duruyor. Ne yapmak lazımdır

984sami

Alıntı yapılan: robomaster - 15 Şubat 2014, 19:13:56
Sorun çözülmedi!
Windows USB aygıtı tanımadı.
Bu bilgisayara takılı USB aygıtlarından birisi
Çalışmadığından Windows aygıtı tanıyamıyor.
Diyip duruyor. Ne yapmak lazımdır

Cihazınız genel amaçlı ise ve aygıt yöneticisinde bilinmeyen aygıt olarak gözüküyorsa çok küçük ihtimal dahilinde olsada aygıt yöneticisinden sürücünün yüklenmesi problemi çözebilir, diğer olasılıklar aşağıdaki ile aynıdır.

Cihazınız HID sınıfı ise ve aygıt yöneticisinde bilinmeyen aygıt olarak gözüküyorsa olası nedenler; descriptörleriniz hatalıdır, host örneğin 8 bayt istediği halde aygıt descriptörün tümünü gönderiyordur veya gönderdiği byte sayısı bildirdiği ile eşleşmiyordur, host configuration descriptor istediğinde aygıt gerekli diğer descriptorleri eklemiyordur, aygıtta bank kullanımı yanlıştır USB data belleği yerine başka bir banktaki data gönderiliyordur vs. vs. çok fazla sebebi var yani çok büyük ihtimalle aygıt tarafı yazılım hatasıdır ihtimal dışı tutsamda çok küçük bir yüzde oranıyla donanım hatasıda olabilir. Aygıt yöneticisinde sınıfı belirlenmiş ise report descriptor hatası olabilir.

robomaster

984 sami

Güzel bilgiler vermişsiniz.

Cihaz hid sinifi ve proteus altında hiç sorun yok!

Devreyi yapıp usb portuna bağlayınca cihaz algılanamadı diyor ve bilinmeyen aygıt olarak aygıt sürücüsünde görünüyor.

984sami

Alıntı yapılan: robomaster - 16 Şubat 2014, 11:03:08
Cihaz hid sinifi ve proteus altında hiç sorun yok!

Alıntı yapılan: 984sami - 15 Şubat 2014, 18:33:59
Proteus ile ancak bir noktaya kadar USB iletişimi için simulasyon yapabilirsiniz, gerçek donanımda pek çok farklılık ortaya çıkar.

Alıntı yapılan: robomaster - 16 Şubat 2014, 11:03:08
Devreyi yapıp usb portuna bağlayınca cihaz algılanamadı diyor ve bilinmeyen aygıt olarak aygıt sürücüsünde görünüyor.

Alıntı yapılan: 984sami - 16 Şubat 2014, 00:05:19
descriptörleriniz hatalıdır, host örneğin 8 bayt istediği halde aygıt descriptörün tümünü gönderiyordur veya gönderdiği byte sayısı bildirdiği ile eşleşmiyordur, host configuration descriptor istediğinde aygıt gerekli diğer descriptorleri eklemiyordur, aygıtta bank kullanımı yanlıştır USB data belleği yerine başka bir banktaki data gönderiliyordur vs. vs. çok fazla sebebi var yani çok büyük ihtimalle aygıt tarafı yazılım hatasıdır ihtimal dışı tutsamda çok küçük bir yüzde oranıyla donanım hatasıda olabilir.