18F452 config ayarları

Başlatan frederic, 06 Mart 2011, 23:45:36

frederic

Merhabalar,bu pic ile ilgili standart config ayarları elinde olan varsa payalaşailirse eğer çok sevinirim.Protonda bu ayarların nereden yapılacağını biliyorum fakatseçenkelerin anlamlarını bilmediğim doğru bir config kuramıyorum,iyi çalışmalar herkese.

Tagli

#1
18F452'nin config ayarları pek karışık sayılmaz. Datasheet'inin "Special Features of the CPU" bölümünde config bitlerinin görevleri açıklanmış. Eğer özellikle anlamadıkların varsa burada isimlerini ver, bildiğim kadarıyla yardımcı olmaya çalışayım.

Ekleme: Aslında ayarların bir çoğuna dokunmana gerek de olmayabilir. Mesela ben assembly'de bu ayarları kullanıyorum:
CONFIG	OSC = HS, OSCS = OFF, PWRT = ON, BOR = OFF, WDT = OFF, STVR = OFF, LVP = OFF

Gökçe Tağlıoğlu

Ankaralı

En basitinden bütün config ayarları;

Device=18F4550
XTAL=48
@CONFIG_REQ                                                                       
@__config config1l, PLLDIV_1_1 & CPUDIV_1_1            
@__CONFIG config1h, FOSC_XTPLL_XT_1 & FCMEM_OFF_1 & IESO_OFF_1  
@__CONFIG config2l, PWRT_ON_2 & BOR_OFF_2 & VREGEN_OFF_2
@__CONFIG config2h, WDT_OFF_2
@__CONFIG config3h, MCLRE_OFF_3 & LPT1OSC_OFF_3 & PBADEN_OFF_3 & CCP2MX_OFF_3
@__CONFIG config4l, STVREN_OFF_4 & LVP_OFF_4 & ICPRT_OFF_4 & XINST_OFF_4 & DEBUG_OFF_4
@__CONFIG config5l, CP0_OFF_5 & CP1_OFF_5 & CP2_OFF_5 & CP3_OFF_5
@__CONFIG config5h, CPB_OFF_5 & CPD_OFF_5
@__CONFIG config6l, WRT0_OFF_6 & WRT1_OFF_6 & WRT2_OFF_6 & WRT3_OFF_6
@__CONFIG config6h, WRTB_OFF_6 & WRTC_OFF_6 & WRTD_OFF_6
@__CONFIG config7l, EBTR0_OFF_7 & EBTR1_OFF_7 & EBTR2_OFF_7 & EBTR3_OFF_7
@__CONFIG config7h, EBTRB_OFF_7 & _DEVID1 & _DEVID2 & _IDLOC0
@ NEXYS2

frederic

İlginiz için teşekkür ederim,iki mesajdan eidndiğim bilgilere dayanarak aşağıdaki ayarları yaptım.

Şu an müdahale etmediğim seçenekler;
BORV,WDTPS,CCP2MUX,DEBUG

BU seçenkleri nasıl ayarlayacağıma dairde bir fikriniz varsa paylaşırsanız sevinirim.Şu anki ayarları aşağıda bulabilirsiniz.


Config_Start
   OSC = HS ; HS
   OSCS = OFF ; Disabled
   PWRT = On ; Enabled
   BOR = OFF ; Disabled
   WDT = OFF ; Disabled
   STVR = OFF ; Disabled
   LVP = OFF ; Disabled
   CP0 = OFF ; Disabled
   CP1 = OFF ; Disabled
   CP2 = OFF ; Disabled
   CP3 = OFF ; Disabled
   CPB = OFF ; Disabled
   CPD = OFF ; Disabled
   WRT0 = OFF ; Disabled
   WRT1 = OFF ; Disabled
   WRT2 = OFF ; Disabled
   WRT3 = OFF ; Disabled
   WRTB = OFF ; Disabled
   WRTC = OFF ; Disabled
   WRTD = OFF ; Disabled
   EBTR0 = OFF ; Disabled
   EBTR1 = OFF ; Disabled
   EBTR2 = OFF ; Disabled
   EBTR3 = OFF ; Disabled
   EBTRB = OFF ; Disabled
Config_End

Maxim


frederic

Yukarıdaki kodları bu programda yazmıştım zaten maxim hocam sağolun ilginiz için,bana 18F452 için doğru bir confagirasyon nasıl yapılır o lazımdı.

Maxim

doğru bir konfigurasyon diye birşey yoktur aslında
config ayarları duruma göre değişir çünkü, devreye - tasarıma göre değişmesi lazım onların
zaten öyle olmasaydı fabrika en doğrusunu sabit olarak programlar bize satardı.

yukarıda sorulan BORV,WDTPS,CCP2MUX,DEBUG
özelliklerin açıklamaları şöyle

BORV:
brown-out voltajının değeri
yani BOR açık olsun dedikten sonra , pic beslemesi hangi voltajın altına düşerse reset olsun ?
4.5 voltmu, 4.2 voltmu ? ......

WDTPS:
watch dog timer açıldıktan sonra, timerın postscaler değeri ?
1:1
1:2
1:64
diye
timerın bölücüsü yani, wdt kullanılmayacaksa zaten kapatılmalıdır, o zamanda bu değerin bir espirisi kalmaz zaten.


CCP2MUX,
ccp2 girişinin hangi ayakta olması ?
portB.3 mü ? portC.1 mi ? (öyle olması lazım)


DEBUG
bunu enable edersek picin 2 ucu debug pinleri için ayrılır, sadece o iş için kullanılır
portb.6 ve portb.7 olması lazım

Maxim

#7
ayrıca 18F452 mature product görünüyor artık
yani tarih olmuş

microchip onun yerine 18F4520 tavsiye ediyor, ayak balantıları falan aynı olmalı
18F452 artık üretilmiyor heralde
o yüzden fiyatı kendii sitesinde ~6$ 18F452/IP pdip kılıfı
halbuki 18F4520 aynısı ~4$  (hemde çok daha üstün özellikleri var)

eski ürünler daha pahalı oluyor benim bildiğim.

mesela gene 16F84 var bir türlü vazgeçilmez olan, o da ~4$ falan

not: genel bilgi olsun diye yazdım .

frederic

MAXIM hocam ayrıntılı bilgileriniz için teşekkür ederim,emeğinize sağlık çok faydalı bilgiler vemişsiniz kafamdaki sorulara cevap oldu,iyi günler dilerim.

EMG81

#9
Selam arkadaşlar.

Ben şuan Proton ile PLL osc kısmında takılmış durumdayım.

Elimde 452 var. 452 ye 10Mhz kristal osc bağlı.
Config ayarlarım ;
@CONFIG_REQ
@__CONFIG Config1H, OSCS_OFF_1 & HSPLL_OSC_1        <----------- Görüneceği üzre HSPLL
@__CONFIG Config2L, BOR_OFF_2 & BORV_20_2 & PWRT_OFF_2
@__CONFIG Config2H, WDT_OFF_2 & WDTPS_128_2
@__CONFIG Config3H, CCP2MX_ON_3
@__CONFIG Config4L, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_

programlayıcım ICD2 dede kontrol ediyorum HSPLL x 4 in osc . Ama pic 40Mhz çalışmıyor.

Xtal=10Mhz ve Xtal=40Mhz tanımlamalarını denedim. Hiç bir değişim yok. Nerede hata yapıyorum acaba?

Maxim


Tagli

Alıntı yapılan: Maxim - 07 Mart 2011, 14:54:2018F452 artık üretilmiyor heralde
o yüzden fiyatı kendii sitesinde ~6$ 18F452/IP pdip kılıfı
halbuki 18F4520 aynısı ~4$  (hemde çok daha üstün özellikleri var)
INT-EL'de durum tam tersi, yani 18F452 daha ucuz. Dorukan'da ise fiyatları aynı. Diğer yerleri bilmiyorum.
Gökçe Tağlıoğlu

Ankaralı

@maxim usta;

Declare PLL_Req = On yazdığım anda.Kristal değeri 10MHz olmalı ki 4 ile çarpılsın.Ve declare işlemi göz ardı edilecektir diyor.
Bende 4Mhz XT takılı bu durumu nasıl aşarız?

Ve birde protonda 48MHz seçemiyoruz.En fazla 40Mhz.
@ NEXYS2

Tagli

18F452'nin azami hızı 40 MHz zaten, yani 48 MHz olamaz.

XTPLL diye bir seçenek olmadığını ben de yeni farkediyorum, daha önceden dikkatimi çekmemişti. Ama ben olsam 4 MHz kristali HSPLL seçeneği ile denerdim. Birkaç gün önce 18F452'yi HS ayarlı iken yanlışlıkla 4 MHz kristal ile çalıştırdım. Görünürde güzel (tabi yavaş) çalıştı ama uygulamada hassas bir zamanlama olmadığından tam doğru çalışıp çalışmadığını anlayamadım.
Gökçe Tağlıoğlu

Mucit23

Arkadaşlar Bu config ayarlarında PLL ne demek. OSC tipini XT seçince ne oluyor XTPLL yapınca ne oluyor. Yada HS ile HSPLL arasındaki fark nedir. Nasıl işler. Ne gibi durumlarda kullanılır. Beni bilgilendirirseniz sevinirim. :)