usb_bilgi

Usb hakkında Mükemmel bir çalışma detaylı bilgi ve USB Arabirimini kullanarak proje geliştirmenizde yardımcı olacak bilgiler Microchip PIC Serisi ile yapılmış örnek uygulamalar

Hazırlayan: Ahmet ATAR (Teşekkürler)

Anlatımı ve Uygulama Kodlarını Buradan indirebilirsiniz

Günümüzde birçok elektronik cihazın USB arabirimini içerdiğini görmekteyiz.Hiç yanımızdan ayırmadığımız MP3 çalarımız, bilgilerimizi cebimizde taşımamıza olanak sağlayan usb disklerimiz buna en güzel örnektir.Bu sebepten dolayı bizimde tasarladığımız elektronik ürünlerin eğer bilgisayar ile iletişim kurması gerekiyorsa arabirim olarak USB’yi desteklemesi kaçınılmaz olmaktadır.Çünkü günümüzde seri, paralel gibi birçok standart yerini USB’ye bırakmış durumda.Eskiden paralel veya seri porttan çalışan yazıcılarımız bile bugün USB arabirimi ile tasarlanmaktadır. Bu yüzden bu makalenin hazırlanma amacı elektronikle gerek hobi amaçlı, gerekse profosyonel olarak ilgilenen kişilere “hazır yazılım ve donanım” kullanmadan direkt kendi USB arabirimli cihazlarını en basit yoldan tasarlamaları için hazırlanmıştır.

Birçok elektronik içerikli sitede USB arabirimli cihaz tasarlamak isteyen kişiler bu gereksinimlerini ya hazır bir HEX dosyası ve donanım bulup gidermekte ya da çaresiz diğer eskiyen protokolleri kullanmakla yetinmektedir.İşte bu makalenin hazırlanış amacı elektronikçileri “hazırcı zihniyet” anlayışına iten bu etkenleri ortadan kaldırmak ve Türkiye’de bu konuda neredeyse yok denecek kadar az bulunan Türkçe döküman eksikliğini gidermektir.

Makale toplam on bölümden oluşmaktadır.Birinci bölümde USB’nin gelişim tarihi ve avantajlarına çok kısa bir şekilde giriş yapılmıştır.İkinci bölümde ise tasarım esnasında kullanılacak devre ve programlar tanıtılmaktadır.Üçüncü bölümde USB Protokolünün detayları ve elemanları kafa karıştırmayacak şekilde incelenmektedir.Dördüncü bölümde Windows’un bünyesinde bulunan HID sınıfı incelenmektedir.Çünkü ilerki bölümlerde tasarlanacak cihaz bu sınıfa uygun olacaktır.Beşinci bölümde teorik bilgiler edinildikten sonra adım adım USB cihaz tasarımına geçilmektedir.Bu bölümde tasarım bitimi listeleme süreci ve cihazın Windows’a tanıtılmasıda konu alınmıştır.

Altıncı bölümde tasarlanan cihaz ile heberleşecek uygulama yazılımı tasarlanmaya başlanmış bu konu için daha önce hazırlanmış olan USBApplication programı incelenmiştir.Bu bölümde aynı zamanda sürücü nedir ve transferin neresinde bulunur, Win32 altyapısı gibi konulara da değinilmiştir.Yedinci bölümde donanım ve yazılım tasarımı bittikten sonra test uygulamasına geçilmiş ve tasarım ilk kez test edilmiştir.Sekizinci bölümde daha önce seri protokol ile büyük tasarımlar yapmış elektronikçilerin, sadece donanımlarında ve yazılımlarında yapacakları ufak değişikliklerle ürünlerini nasıl USB arabirimine yükseltecekleri incelenmiştir.Dokuzuncu bölümde ise, USB protokolü kullanılarak geliştirilmiş toplam yedi adet uygulama, firmware ve bilgisayar yazılım açıklamaları ile yer almaktadır. Son bölüm olan onuncu bölümde ise USB güç idaresi ve kablolama hakkında bilgiler verilmiş, aynı zamanda sinyaller ve şifreleme konularınada değinilmiştir. Bu makale hazırlanırken gerek uygulamalarda, gerekse teorik konularda, okuyanların C# ve C konularına yeteri düzeyde hakim oldukları varsayılmıştır.Çünkü tüm bu konular Microchip firmasının 18xxx serisi denetleyicileri için ürettiği C18 derleyicisi kullanılarak C ile yazılmış, bilgisayar uygulamaları ise DOTNET dillerinden C# ile hazırlanmıştır.Gerekli araç ve gereçlerin konu anlatımı boyunca hangi dizinlerde yer aldığı sırası ile açıklanmıştır.
Tüm elektronikçilere faydalı olması dileği ile…. Ahmet ATAR

Bölüm 1
USB Tarihçesi 5
Avantajları ve Dezavantajları 5

Bölüm 2
USB Projesi Geliştirmek İçin Gerekli Elemanlar 6
USB Denetleyici Seçimi 6
PIC18F4550′nin USB Özellikleri 6
Derleyici Seçimi ve Programlama Dili 13
Programlayıcılar 17
Test Devresi ve Özellikleri 17
Windows Uygulaması İçin Programlama Dili 18
USB Projesi Geliştirirken Kullanılacak Test Programları 18
Device Monitoring Studio 19
USB Verify 19

Bölüm 3
USB Transferi’nin Detayları 20
Bus’taki Verinin Yönetimi 20
Transfer Elemanları 21
Uç Nokta Nedir? 21
USB Borusu Nedir? 21
Paket Tipleri ve İçerikleri 22
Transfer Türleri ve Özellikleri 25
Kontrol Transferler 25
Kesme Transferler 28
Yığın Transferler 29
İzokron Transferler 29
USB Cihazların Sisteme Tanıtılması 30
Listeleme İşlemi ve Adımları 31
Tanımlayıcılar ve İçerikleri 32
Aygıt Tanımlayıcısı 34
Konfigrasyon Tanımlayıcısı 35
Arabirim Tanımlayıcısı 36
Uçnokta Tanımlayıcısı 37
String Tanımlayıcısı 38
Kontrol Transferi’nin Detayları 41
İşlem Evreleri
İstekler