18F2550 C'de Kristal seçimi

Başlatan veliusta, 29 Kasım 2012, 16:35:32

veliusta

ispanyol bi siteden usb hid devresi buldum.

#include <18F2550.h> // Definición de registros internos del PIC18F2550.
#fuses NOMCLR,XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN
// NOMCLR: No vamos ha usar el PIN MCLR, el reset se hará por soft.
// XTPLL: Vamos a usar un cristal de 4.00Mhz.
// NOWDT: No vamos a usar el perro guardian.
// NOPROTECT: Memoria no protejida contra lecturas.
// NODEBUG: No utilizamos código para debugear.
// NOLVP: No utilizamos el modo de programación con bajo voltaje.
// USBDIV: signfica que el clock del usb se tomará del PLL/2 = 96Mhz/2 = 48Mhz.
// PLL1: significa que el PLL prescaler no dividirá la frecuencia del cristal. para XT = 4Mhz.
// CPUDIV1: El PLL postscaler decide la división en 2 de la frecuencia de salida del PLL de 96MHZ, si queremos 48MHZ, lo dejamos como está.
// VREGEN: habilita el regulador de 3.3 volts que usa el módulo USB.
// NOPBADEN: Deshabilitamos el módulo conversor ADC del puerto B.
#use delay(clock=48000000)


orjinal kodları yukarıdaki gibi.

48.mhz yazıyor sanırım yukarıda. onu 4milyon ve XTPLL yerine XL yazdım. devre çalıştı ama doğrumudur.

Devreyi 20Mhz kristal ile çalıştırmak istiyorum. hangi kodları değiştirmeliyim. ve 20 MHz için 2 kondansatörü 15pF , 18pf ,22pF Hangisi kullansam daha iyi olur?

Yardım eden herkezin elinden öperim.

esensoy

20MHz için 22pF uygundur fakat bu devreyi usb HID olarak kullanacaksan 12MHz kristal kullanmalısın ve XTPLL ayarını değiştirmemelisin
En tehlikeli an "zafer" anıdır.

t2

#2
18f2550 usb için kullanılacaksa kristali 20 Mhz olmalı. 12Mhz ile PLL ayarlarıyla uygun değeri tutturmak mümkün olmuyor.  20Mhz için örnekler var.  picbasic c18 fark etmez.

ayrıca 20Mhz kristal uçlarına 22pf fazla geliyor 4.7pF uygundur.


Ersin

20MHz kristal ve usb yi kullanacaksan ayarlar bunlar:

#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)

esensoy

@t2, mesajınızdan sonra birkaç  usb development board  inceledim;

Microchip Low Pin Count USB Development Kit 18FxxK50 için 12MHz ve 22pF vermiş,
Microchip PICDEM FS USB BOARD 18F4550 için 20MHz ve 22pF vermiş,
sürekli kullandığım pickit2 klon da da 18F2550 için 20MHz ve 15pF var,
Sparkfun 40 Pin PIC Development Board for PIC18F4550 with USB 18F4550 için 20 Mhz ve 20pF vermiş

Neden bilmiyorum USB çevre birim için PIC de 12MHz (PLL4 ile 48MHz) en uygun diye aklımın bir köşesinde kalmış, şimdi anlıyorum ki bu doğru değil, fakat sizin önerdiğiniz 4.7pF seviyelerinde hiç bir bord yok, 4.7pF neden öneriyorsunuz? 22pF ın neyi fazla geliyor?
En tehlikeli an "zafer" anıdır.

t2

Ben bir tarihte denemiştim 22pf fazla idi.
Calısmıyordu.

Başka usb piclerde 12Mhz kristalle usb proje oluyor fakat 2550de olmuyor diye biliyorum.  Osc yi 48Mhz yapmak icin. 12Mhz kristal uygun degildi.

muhittin_kaplan

#6


mesaj birleştirme:: 29 Kasım 2012, 18:26:50

kapasite 15pf ile 20pf taktım hepsinde çalıştı. ama genelde 4mhz kullanır ve kap. takmam.
4mhz input only yazan yere 4mhz gelecek şekilde PLLDIV i ayarlarsanız istediğiniz kristali kullanırsınız.

Ersin

20MHz kristel ile beraber 22pf bir sürü üründe kullanıldı  hiç bir sorun olmadı.
20mhz lik kristalde PLL5 kullaılır, 12mhz kullanırsanız bu ayar değişir, kullanılmaz diye bişey yok,16mhz de kullanırsınız.

t2

Pllin bölme kabiliyeti ve diger ayarlar 12 Mhz den 48 Mhz elde etmek icin bu picde uygun degil. 8olur 12 olmaz. Oluyorsa yapın. Usb icin dahili 48MHz lazım

carirt

ya şu pic te kondansatör neye göre belirleniyor
8 mhz de 22pf kullanılıyor mikroelektronikanın bütün bordlarında öyle
20 mhz de 22 pf kullansak olmazmı ideal karedalga sinyali görmek için osilaskoplamı ölçmek gerekiyor

Ersin

#10
Alıntı YapPllin bölme kabiliyeti ve diger ayarlar 12 Mhz den 48 Mhz elde etmek icin bu picde uygun değil. 8olur 12 olmaz. Oluyorsa yapın.
Bunlar nasıl çalıştırmış

http://retired.beyondlogic.org/usb/usbhard.htm
http://dangerousprototypes.com/2012/06/15/open-source-usb-demo-ported-to-the-pic18f2550-breakout-board/
http://tiktakx.wordpress.com/category/robotics/  ( Pickit2 bile yapmışlar 12mhz de ayarı değiştirin diyo )

@carirt,
Alıntı Yap20 mhz de 22 pf kullansak olmazmı ideal karedalga sinyali görmek için osilaskoplamı ölçmek gerekiyor
Yuakırda yazılanları okumuyosun galiba

Mucit23

Alıntı yapılan: t2 - 29 Kasım 2012, 18:57:01
Pllin bölme kabiliyeti ve diger ayarlar 12 Mhz den 48 Mhz elde etmek icin bu picde uygun değil. 8olur 12 olmaz. Oluyorsa yapın. Usb icin dahili 48MHz lazım

@t2,

12Mhz olur.  96Mhz Usb çarpanı sadece 4Mhz giriş ile çalışır. OSC ye 12Mhz kristal takıp, PLL bölücüsünü 3 yaparsan USB çarpanına 4Mhz girer. Yani çalışır. Ama mesela 10Mhz için Hiçbir Bölücü değeri uymuyor.

veliusta

Alıntı yapılan: Ersin - 29 Kasım 2012, 17:49:20
20MHz kristal ve usb yi kullanacaksan ayarlar bunlar:

#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)


#include <18F2550.h> // PIC18F2550 işlemcisini seçtik.
#fuses NOMCLR,HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)

Böyle yapıyorum ve 18pF lik kullanacağım. Devrede mcrl ucunda 4k7 var. onu kullanmasam sorun çıkartır mı ileride.

esensoy

Alıntı yapılan: veliusta - 29 Kasım 2012, 21:15:20
Böyle yapıyorum ve 18pF lik kullanacağım. Devrede mcrl ucunda 4k7 var. onu kullanmasam sorun çıkartır mı ileride.

Kavga çıkmasın diye ortalama aldın galiba:)
En tehlikeli an "zafer" anıdır.

Ersin

15pf ile dendiğim var sorun yok 18pf ile de sorun çıkmaz , 4k7 yi takmazsan fuses a NOMCLR eklemen lazım ama şimdilik normal tak kullan.