Kim korkar USB den

Başlatan bunalmis, 14 Temmuz 2006, 21:58:58

HEXF2

Eyvallah hocam ben şimdi chip'i araştırıyorum artık bulamazsam aynı mantıkta 18F4550 ile filan yapmayı deniycem.Ama bu chip çok iyi bence herhangi bir PIC ile bağlantısı mümkün...

Birde hocam programda değşiklik yaptıysa incelemek için satırlara biraz daha açıklama yazarak son halini koyabilir misin acaba  :)

z

Linki verilen zaten programın son hali.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

HEXF2

Ok hocam sağol.Zaten programı istememin sebebi sadece register'lar ile ne yapılıyor ne olunca ne yapılıyor gibi şeylere bakmaktı ben başka bir mantıkta ve haberleşme protokolü paralel yazıyorum daha hızlı olsun diye sıkıştık mı senin rahatsız edicez artık tekrar sağol..

Macera

Diyelimki her PCde kulanabilen cihazınız var(Optik fare yada 32Mb Flash disk)
Bu cihazları laptopumdaki hangi USB girişine takarsam takıyim otomatik tanıyor.
Ama gel gelelim sürücü yüklenmesi gerekli olan cihazlar hangi USB girişinde kurulduysa sonradan o girişe takılması gerekiyor.
Eğer kurulumun yapıldığı girişten başka yere takarsam benden tekrar kurulum istiyor.
Buna K128 programlayıcı yada RS232 çeviricilerde dahil.
Geçici çözümüm cihazı tanıyana kadar tek tek fişleri denemek.
Buna PC tarafından bir çözüm varmıdır.
İlaki her fişde kurulumları tekrarlamamı gerekecek.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

HEXF2

Dostum eğer biraz da olsa (benim gibi  :D )USB konusuyla uğraşıyorsan dediğimi anlayacaksın.USB cihazlarında Künye bilgilerinde Seri numarası tanımlandıysa USB'yi hangi porta takarsan tak birkez kurulum yapıldıktan sonra bir daha kurulum sihirbazını çıkarmıyor.(Benim digital kameram öyle)ama künyede seri numarası tanımlanmamış ise port değiştirdiğinde sürücü arar.......diye okudum biryerden :)

ibo1973

çok güzel bir yazı olmış baştan sona okudum başta bunalmış hocama ve emeği geçen herkeze çok teşşekür ederim benim gibi ingilizcesi kıt olan biri için faydalı oucak bir yazı .

yanlız anlamadım neden piyasada çeşid çeşid yetenekleri iyi sayılabilen üzerinde usb  ünitesi bulunan baya geniş bir mikrokontrollerler varken neden harici bir usb çipini herhangi bir mikro kontrolere yerleştirmek isteyebiliceğimiz veya buna ne şartlar altında ihtiyaç duyabiliceğimiz hocam kesinlikle eleştirmek için yazmadım tamamen merak ettiğim için yanlış bir şey sorduysam özür dilerim

ben kendi sahşıma bu işin abc kısmını bile daha öğrenemedim öğrenmeye çalışıyorum aslında bi sürüde sorunum var neyse tekraradan yazı için teşşekür ederim.

z

Cevabi cok basit. O tarihlerde Bunalmis'in malzeme kutusundaki tek USB cipi USBN9604 du.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bayramonur

Ustadlar bir sorum olacak 18F4550 gibi microchipin usb mikrodentleyicisinde Paralel port emulasyonu yapmak mümkün müdür?
Mümkünse nasıl yapabiliriz?

z

#83
Yeni bir çip için USB Enumeration kodlarınızı yazarken sorun yaşadığınızda gelen giden paketleri gözlemek için USBLyzer gibi programlardan yararlanabilirsiniz.

Keil tarafından yazılmış örnek program, STM32F103 üzerinde koşarken PC ile yapılan max 64 bytelık paket trafiği aşağıda.
Bu paketleri yazılıma eklediğim debug kodlarla ürettim.

Kendi kodlarımı geliştirirken bu trafik sayesinde hatamı buldum.

6A60 0800 > 8006000100004000 7A60 Device Descriptor istendi
7A60 1200 < 120100020000004051C2011C000101020301 7A70  Device Descriptor yollandi

Renkli verilerin anlamı

İşlem öncesi EP0 register içeriği
İşlem sonrası EP0 register içeriği
Alınan yada gönderilen paketin boyu  L,H şeklinde ters yazılı
> PC den gelen Paket
< PC ye yolladığımız paket

KEIL CALISAN KODLAR

6A60 0800 > 8006000100004000 7A60 Device Descriptor istendi
7A60 1200 < 120100020000004051C2011C000101020301 7A70  Device Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 0005150000000000 7A60 Set Adress Komutu alindi
7A60 0000 < 7A70
6A60 0800 > 8006000100001200 7A60 Device Descriptor istendi
7A60 1200 < 120100020000004051C2011C000101020301 7A70 Device Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 8006000200000900 7A60 Config Descriptor istendi
7A60 0900 < 09022200010100803209 7A70 Config Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800600030000FF00 7A60 String Descriptor istendi
7A60 0400 < 04030904 7A70 String Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800603030904FF00 7A60 Serial Number String istendi
7A60 1A00 < 1A03300030003000310041003000300030003000300030003000 7A70 Serial Number String yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800600020000FF00 7A60 Config Descriptor istendi
7A60 2200 < 09022200010100803209040000010300000409210001000122210007058103400020 7A70 Config
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 8006000600000A00 7A60 Device Qualifier istendi (Cevap vermiyoruz)
6A60 0800 > 800600030000FF00 7A60 String Descriptor istendi
7A60 0400 < 04030904 7A70 String Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800602030904FF00 7A60 Product String istendi
7A60 2400 < 24034B00650069006C0020004D0043004200530054004D00330032002000480049004400 7A70 Product
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800600030000FF00 7A60 String Descriptor istendi
7A60 0400 < 04030904 7A70 String Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 800602030904FF00 7A60 Product String istendi
7A60 2400 < 24034B00650069006C0020004D0043004200530054004D00330032002000480049004400 7A70 Product
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 8006000100001200 7A60 Device Descriptor istendi
7A60 1200 < 120100020000004051C2011C000101020301 7A70 Device Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 8006000200000900 7A60 Config Descriptor istendi
7A60 0900 < 0902220001010080F13209 7A70 Config Descriptor yollandi
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 8006000200002200 7A60 Config Descriptor istendi
7A60 2200 < 09022200010100803209040000010300000409210001000122210007058103400020 7A70 Config
7220 0000 < 7230
2230 0000 > 3230
6A60 0800 > 0009010000000000 7A60 Set Configuration
7A60 0000 < 7A70
0621 0100 < 010013 0631
6A60 0800 > 210A000000000000 7A60 Bu komut nedir? Cevap verilmemis
7A60 0000 < 7A70
6A60 0800 > 8106002200006100 7A60 Report Descriptor istendi
7A60 2100 < 0600FF0901A101150026FF00750895010901810295010901910295010901B102C000 7A70 Report Desc
7220 0000 < 7230
2230 0000 > 3230
Bana e^st de diyebilirsiniz.   www.cncdesigner.com