Pic18F4550 ile USB deneme kartı yapmak istiyorum ve yardım gerekiyor

Başlatan Seferi, 01 Mart 2012, 16:40:17

Seferi

İyi Günler. C kullanarak,  usb ile bilgisayarı haberleştirecek basit bir devre yapmak istiyorum. Ama aklıma takılan yerler var. Proteusta yapılmış birçok devreyi inceledim, ama proteusta çalışan her devre gerçekte bazen çalışmama ihtimali olduğu için size danışmak istedim. Borda usb b tipi 4 pinli konnektor kullanacağım, ve bootloaderi destekler olacak. Elinizde var mıdır denenmiş çalışan bu şekilde bir devre?

Ben bir devre buldum ama devrede anlamadığım yerler var. Devreyi aşağıdan görebilirsiniz. Devredeki ledler önemli değil , zaten o uçları boş bırakacam.
1-Bu PİC4550 nin 2 adet VDD ve VSS si var, bu fotoğrafta bi tarafa kondansator bağlamış bunun bir etkisi varmıdır? Yararı zararı? Eğer bir etkisi yoksa bu bağlama doğru mudur?(biri kutuplu biri kutupsuz)
2-USB bağlantısındaki vdd ve vss ucu boş mu olması gerekiyor yoksa birşeyler bağlamalı mıyız? Uçları boş bırakmamak gerekiyorsa nasıl bir bağlantı oluşturmalıyız. Aşağıdaki fotografta toprak ucu boşta gibi duruyor.  (PİC e beslemeyi harici vereceğim)
3-Bu devre düzgün çalışır mı?(Bootloader olarak ta kullanılır mı?)

Yardımlarınız için şimdiden çok teşekkür ediyorum. Üç soru diye bir sürü şey sordum  ;D ;D

Kabil ATICI

işlemcinin her iki tarafınada 100nF kondansatör bağlamak gerekiyor. Bunlar işlemci için filtre kondansatörleridir. Normalde zaten besleme hatlarında 10µF kondansatör olması gerekiyor. Eğer devre üzerinde yüksek güç çeken bir eleman varsa besleme hatlarının gerilim dalgalanmasını bastırır.(bazen değerini yükseltmek gerekebiliyor.)

USB hattının beslemesi için devreni bilgisayardan besleyeceksen USB Vcc hattını işlemcinin besleme hatlarına bağlaman gerekir. Yok ben işlemcini ayrı besleyeceğim dersen bu hattı ayırabilirsin. Vss veya GND hatta mutlaka bağlanması gerekir (işlemcinin ve USB arasındaki toprak uçları mutlaka bağlanmalı.) Çünkü D+ ve D- uçları bu toprak hattına göre referans alır.

Diğerleri için bir şey diyemem.
ambar7

Seferi

Hocam ben usb den değilde harici olarak güc vereceğim PİCe, o zaman usb nin toprak hattı ile pic in toprak hattını birleştirmem mi gerekiyor? Ve bu durumda usb nin vdd ucu ne olacak? Onuda  PİC e bağladığım  harici güc kaynağının artı ucunu mu bağlayacağım?

Kabil ATICI

usb ve işlemcinin toprak hatlarını mutlaka birleştireceksin. Bu şarttır. USB'nin +ucu bağlamayacaksan boşta bırakınsın. (bağlamazsan  sadece bilgisardan güç çekmemiş olursun.)

Yalnız hatırladığım kadarı ile  D+ ve D- uçlarına bir pullup veya pull down direnci takarak USB'nin hangi hızda çalışması gerektiği belirleniyordu. Şu anda hangi düzenlemede çalışıyordu tam olarak hatırlamıyorum. Eğer böyle bir pull up direnci takılacaksa burada USB'nin beslemesi kullanılarak bu dirence bağlanıyor.

Bu direnç veya dirençler varsa devre usb'ye bağlandığı zaman işlemci çalışmasa bile bilgisayar bir USB alet bulduğunu belirtiyor ama tanınamadığını veya belirlenemediğini bildiriyordu.
ambar7

NecroCapo

Alıntı YapBorda usb b tipi 4 pinli konnektor kullanacağım, ve bootloaderi destekler olacak. Elinizde var mıdır denenmiş çalışan bu şekilde bir devre?

Sabancı Üniversitesi'nin "Suboard II" adında Bootloader'lı 18F4550 deneme kartı var. Sitesinde şematik,pcb layout, parça listesi ve bootloader kodunu da bulabilirsiniz. Usb'yi kullanabilmek için D11 diyotunun kısa devre edilmesi gerekiyor. Bizzat kendim denedim, çalışıyor. Takıldığınız yer olursa yardımcı olmaya çalışırım.

http://fens.sabanciuniv.edu/suboard/

Seferi

Alıntı yapılan: NecroCapo - 01 Mart 2012, 19:06:56
Sabancı Üniversitesi'nin "Suboard II" adında Bootloader'lı 18F4550 deneme kartı var. Sitesinde şematik,pcb layout, parça listesi ve bootloader kodunu da bulabilirsiniz. Usb'yi kullanabilmek için D11 diyotunun kısa devre edilmesi gerekiyor. Bizzat kendim denedim, çalışıyor. Takıldığınız yer olursa yardımcı olmaya çalışırım.

http://fens.sabanciuniv.edu/suboard/

Çok teşekkürler hocam ben şimdi inceleyim, takıldığım yer olursa sorarım tekrardan.

mdargut

USB toprağını devrenin toprağına bağlarsan sorunsuz çalışır. Hatta sana tavsiyem baskı devreyi hazırlarken bir jumper koy istediğinde harici beslemeyi, istediğinde USB beslemesini kullanabilirsin. Ambar7'nin dediği D+,D- uçlarındaki pull up ,pull down dirençlerini pic kendi içinde donanımsal olarak ayarlıyor.

Microchipin PİCDEMFSUSB boardunu incele,kataloğunda devre şeması var, bu işlemciyi kullanır ve hazır bootloaderları var. Kodlamayı C18 ile yaparsan kullanabilirsin.

Seferi

Alıntı yapılan: kim - 01 Mart 2012, 20:46:31
USB toprağını devrenin toprağına bağlarsan sorunsuz çalışır. Hatta sana tavsiyem baskı devreyi hazırlarken bir jumper koy istediğinde harici beslemeyi, istediğinde USB beslemesini kullanabilirsin. Ambar7'nin dediği D+,D- uçlarındaki pull up ,pull down dirençlerini pic kendi içinde donanımsal olarak ayarlıyor.

Microchipin PİCDEMFSUSB boardunu incele,kataloğunda devre şeması var, bu işlemciyi kullanır ve hazır bootloaderları var. Kodlamayı C18 ile yaparsan kullanabilirsin.

teşekkürler hocam, jumper kullanacağım. Dediğiniz bordu da inceleyeceğim.

Seferi

İyi günler PİC e bootloader yükledim micochip in, ama usb tanımadı diyor acaba sorun ne olabilir? Birde Ben bu PİC 18f4550 yi icsp ile programlayamadım elimde pickit2 var ama klon (serpic). Daha önce hiçbir pici denemdim icsp ile ama, forumdaki bütün konuları taradım neredeyse ama bir çözüm bulamadım. Acaba bu picler ıcsp ile nasıl programlanıyor?

mdargut

Alıntı yapılan: mmilamur - 04 Mart 2012, 12:23:19
İyi günler PİC e bootloader yükledim micochip in, ama usb tanımadı diyor acaba sorun ne olabilir? Birde Ben bu PİC 18f4550 yi icsp ile programlayamadım elimde pickit2 var ama klon (serpic). Daha önce hiçbir pici denemdim icsp ile ama, forumdaki bütün konuları taradım neredeyse ama bir çözüm bulamadım. Acaba bu picler ıcsp ile nasıl programlanıyor?

PICDEM kartının şemasındaki gibi yaptıysan bağlantıyı çalışması lazım. Ben ona göre yapmıştım. HID bootloaderı yükle. Bir butona basılı tutarak resetlediğinde çalışması lazım. Sanırım şemada 2. butondu tam hatırmlamıyorum.Ama kodu incelersen görürsün zaten. Ben JDM programlayıcı ile bootloaderı programlayıp sonra USB üzerinden programlamıştım. Orjinal pickit3 ile denedim ıcsp ile prgramlanabiliyor.

Seferi

Icsp yi çalıştıramadım. Usb ile bağlanabildim,  bootloader de çalıştı ve bootloaderle program yükleyebiliyorum, ama bir sorun var; pice usb ile ilgili bir program yüklediğimde (örn. bilgisayardan led yak söndür gibi) usb bağlantı sağlayamıyorum. Pice yüklediğim program başkaları tarafından yüklenip çalışan programlar. Bootloader olarak Microchipin Mablab C18 ile yazılmış olanı kullanıyorum.  Acaba neden böyle oluyor? Bootloaderle bağlanırken neden normal şekilde bağlanmıyor?

mdargut

Başkaları tarafıdan denenmiş dediğin programlar bootloader ile yüklenecek şekildemi yazılmış? Projeyi derlerken bootloader kodlarını ve ona uygun linker dosyasını eklemek gerekiyor.

Seferi

Hocam onu bilmiyorum :-\, zaten ben de bu durumu soracaktım. Bootloader hafızanın belli bir bölümüne yerleşiyor ve kodları ona göre yazmak gerekiyor. Ben derleyici olarak ccs c kullanıyorum ve bootloader olarak microchip in bootloaderini kullanıyorum. Program yazarken nasıl bir değişiklik yapmam gerekiyor. Ayrıca yardımlarınız için çok teşekkür ediyorum.